diff --git a/LANGUAGE.md b/LANGUAGE.md index 46fc5579..db24a73d 100644 --- a/LANGUAGE.md +++ b/LANGUAGE.md @@ -26,8 +26,10 @@ program Name { # plain `new`-allocated record; its use decides which model ... # a named entity KIND (bundle of properties) const ... # compile-time constants - fn ... # functions - extern fn ... # bind a C library symbol (FFI) + function ... # functions + extern function … # bind a C library symbol (FFI) + enum ... # a named set of integer values + namespace ... # a block of functions with export / internal visibility handler ... # behavior, grouped into phases } ``` @@ -42,7 +44,9 @@ program ChronoRift { } ``` -An imported file is a **fragment**: bare declarations, no `program` wrapper. Its +`import "emberdepths/*.ludic"` imports every `.ludic` file of a directory, in name +order — a game lists its modules once. An imported file is a **fragment**: bare +declarations, no `program` wrapper. Its declarations are spliced into the importing program. Imports may appear inside the `program` block or before it, they may nest (a fragment may import fragments), and each resolved path is **include-guarded**, so importing the same file twice @@ -76,6 +80,27 @@ Use `{Name}` (tag position) to filter a query by model — an model can't be *bound* to a variable since it has no fields of its own. Entity kind is part of the saved snapshot. +### Prefabs + +A **`prefab`** is a model with preset component fields, the Unity prefab in +miniature. `spawn` takes a prefab name like a model name, and the spawn's own +fields override the presets. Prefabs chain, so what several share lives once: + +```ludic +# doc-check: skip — composite: prefabs plus their spawns +prefab Foe: Creature { Faction { id: 2 }, Body { policy: BodyPolicy.TopDown } } +prefab Grunt: Foe { Stats { hp: 30, max_hp: 30 }, Weapon { def_id: WeaponId.Bite } } +prefab Boss: Foe { Stats { hp: 400, max_hp: 400 }, Sprite { scale: 4 } } + +spawn Grunt { Position { x: 40, y: 60 } } # Foe's presets, Grunt's, then this +let boss = spawn Boss { Position { x: 160, y: 40 } } # spawn is also an expression: the entity +let e = Prefab.spawn(name: kind_name) # chosen at runtime by name (-1 if none) +``` + +Field values in a prefab are ordinary expressions evaluated at each spawn, so a +preset may read a global (`Sprite { id: art.orc }`). `@OnSpawn(Model)` runs for a +prefab spawn as for any spawn of its model. + ## Text, fonts & images The 5×7 bitmap `text` stays for zero-asset programs. For real typography, load a @@ -113,6 +138,8 @@ ui MainMenu { } ``` +A widget inherits `font`, `size`, `fg` and `align` from the nearest ancestor that +sets them, so a panel states a menu's look once and a label only says what differs. Widget types: `panel` (container + optional skin/bg/border), `col` / `row` (pure stacks), `label`, `button` (focusable), `image`, `spacer`. Props are evaluated at build time, so `font: reg(R_FONT)` reads a value the program set first. @@ -133,26 +160,47 @@ handler Nav phase Update { handler Draw phase Render { clear(0x0e0e16); ui_render(); present() } ``` -See `examples/games/menu.ludic` for a complete title screen. +The frame loop ticks navigation on its own, and an activation fires the +`UiClicked { id }` event, so a menu is usually handled by one listener that can +change scene directly: + +```ludic +# doc-check: skip — illustrative +@On(UiClicked) handler MenuActions { + if id == UI_Play { become Play } + else if id == UI_Quit { quit() } +} +``` + +`Ui.open(id: UI_Menu)` activates a menu, `Ui.close()` deactivates it, and +`Ui.set_text(id: UI_Label, text: s)` updates a label. See `examples/games/menu.ludic` +for a complete title screen. ## Types | Type | Meaning | LLVM IR type | |------|---------|--------------| | `int` | 32-bit integer | `i32` | +| `countdown` | an `int` component field the engine steps toward 0 once per Update | `i32` | +| a bare `enum` | its variants, as an `int` | `i32` | +| `IVec2` | an integer (x, y) pair by value — `v.x`, `v.y`, `IVec2.make/add/sub/…` | `i64` | | `fixed` | Q16.16 fixed-point | `i32` | | `bool` | boolean | `i32` | | `entity` | entity handle | `i32` | -| `str` | string literal | `ptr` | -| `ptr` | raw address (runtime/FFI) | `ptr` | -| `byte` | pointer to bytes — `p[i]` reads/writes one byte | `ptr` | -| `words` | pointer to 32-bit words — `w[i]` reads/writes an `int` | `ptr` | +| `string` | text (a string literal, an interpolation, a concatenation) | `ptr` | +| `pointer` | raw address (runtime/FFI, records, anything untyped) | `ptr` | +| `byte` | one byte value (what `p[i]` on a `bytes` buffer reads) | `i8` | +| `bytes` | buffer of bytes — `b[i]` reads/writes one byte | `ptr` | +| `words` | buffer of 32-bit words — `w[i]` reads/writes an `int` | `ptr` | | `fixeds` | buffer of `fixed` values — `f[i]` reads/writes a `fixed` | `ptr` | -| `ptrs` | buffer of pointers — `p[i]` reads/writes a `ptr` | `ptr` | +| `pointers` | buffer of pointers — `p[i]` reads/writes a `pointer` | `ptr` | Allocate raw buffers with `bytes(n)` (n bytes) or `words(n)` (n 32-bit words); both return a pointer you index with `buf[i]` — retype the binding (`words` / -`fixeds` / `ptrs`) to pick the element size. +`fixeds` / `pointers`) to pick the element size. Use `string` for text and +`pointer` for an opaque address: the compiler treats both as one pointer type +(it is the operand kinds, not the name, that select string concatenation and +content comparison), so the name is documentation for the reader. Numeric literals: `42` and `0x1affff` are `int`; a literal with a decimal point (`1.5`) is `fixed`. Arithmetic on two `fixed` values lowers to @@ -180,6 +228,57 @@ for (a, b) in query [Pos, Vel] where a.x > 0 { ... } # one var per non-tag term Entities are integer handles; property storage and slot reuse are generated per program. `self()` yields the entity of the innermost `query` loop. +### A component by entity handle: `Prop.of(e)` / `Prop.has(e)` + +A query binds components for the entities it visits. When the handle is already +in a variable — the player, a boss, the `target` of a damage event — `Prop.of(e)` +gives the same typed binding without a loop, and its fields read and assign like +any record's: + +```ludic +# doc-check: skip — composite: declarations plus statements using them +property Hero { iframes: int = 0, roll_cooldown: int = 0 } +var player: int = -1 + +Hero.of(player).iframes = 20 # assign a field +Hero.of(player).roll_cooldown -= 1 # compound-assign one +let hero = Hero.of(player) # or bind the component once +if hero.iframes > 0 { hero.iframes -= 1 } +``` + +`Prop.of(e)` is unchecked, like a query binding: on an entity that does not carry +the property it reads that entity's zeroed slot. Guard with **`Prop.has(e)`**, +which is true only when `e` is a valid handle, alive, and carries the property — +so `-1` (no entity) and a despawned handle are both simply `false`: + +```ludic +# doc-check: skip — illustrative +if Stats.has(target) { Stats.of(target).hp -= amount } +``` + +**`Prop.count()`** is the number of live entities carrying `Prop` — the +"are there foes left?" question without a counting loop — and +**`Prop.despawn_all()`** despawns every one of them (a room teardown: +`Position.despawn_all()` clears the world and keeps the config entities). + +**Timers are a field type.** A component field declared **`countdown`** is an +`int` the engine steps toward 0 once per Update, for every live entity carrying +the component, never below 0. Set it, then test it; no handler counts it down: + +```ludic +# doc-check: skip — illustrative +property Roll { frames_left: countdown = 0, cooldown: countdown = 0 } +Roll.of(player).cooldown = 35 # …and 35 frames later it reads 0 +if Roll.of(player).cooldown == 0 { start_roll() } +``` + +Both `Prop.of` and `Prop.has` are the typed, compile-time form of the by-name reflection ABI +(`World.prop_id` / `World.field_id` / `World.get` / `World.set`), which remains +the tool for code that does not know the property name until runtime (mods, +engine systems). A package that declares a real `prop_of` / `prop_has` function +under `@Namespace(Prop)` keeps it — the sugar only applies where no such function +exists. + ## Handlers & phases ```ludic @@ -301,6 +400,26 @@ exponent, `Light.soft` shadows (penumbra), `Light.gel` colour cookies, normal-mapped surfaces (`Light.normal` + `Light.height`), and a `Light.time_of_day` day/night ramp — every one deterministic. +### Managers: the engine owns the small stuff + +Beyond the component systems, a few engine-owned managers cover what every game +otherwise hand-rolls — each a namespace, nothing to declare: + +| Manager | What it owns | +|---|---| +| `Fx.sparks` / `Fx.number` / `Fx.clear` | transient sparks and floating numbers: moved, aged, drawn after the sprites, dropped when done | +| `Audio.define(name:, path:)` then `Audio.play(name:)` / `Audio.play_music(name:)` | a sound bank by name; the handle form still works | +| `Camera.shake_for(amount:, frames:)` | a timed screen shake the engine decays | +| `Assets.enqueue` / `pump` / `progress` / `ready`, `Assets.get`, `Audio.play(name:)`, `Assets.font` | one preload queue for images, sounds and fonts, sorted by extension | +| `Prefab.spawn(name:)` | spawning a prefab chosen at runtime | +| `Map.get/set/fill/rect/border/random_cell/random_cell_far/to_tile/is_solid/is_solid_at` | the tilemap edited in place, and what is solid per the `Solids` config (projectiles die on it too) | +| `Stats { damage_pct, crit_pct, leech_pct, thorns, fire_rate_pct }`, `Stats.add`, `Stats.scale_hp` | the build stats every action game bolts on, applied by `Combat.damage` and the weapon system | +| `Dash`, `Melee` (ludic.shooter), `Dungeon.*` (ludic.dungeon), `Brain { hunt_blind }` (ludic.npcai) | the dodge roll with i-frames, the arc swing with knockback, arena rooms with exits, relentless pursuit | +| `PadButton.A/B/X/Y/…`, `CursorMode.*` | names for the input runtime's numbers | +| `TopDown { reticle }`, `Weapon.set_color`, `Sprite.draw_meter`, `Collider.center`, `Prefs.max`, `Assets.enqueue_dir` | the aim line, engine-drawn shots, icon meters, box centres, high scores, a whole asset directory | +| `Sprite { move_id, face, flash, blink }` | the run strip while moving, facing by movement, a white hit flash and an invulnerability blink — all engine-driven | +| `IVec2.distance2/within/heading/along/step`, `Angle.diff_degrees`, `List.sample`, `Input.move_i`, `Screen.bar` | the geometry, sampling, movement intent and meters every action game rewrites | + ### Input actions & deterministic replay Beyond the raw `Input.key()` (this frame's key code), gameplay can read **named @@ -388,7 +507,8 @@ boot ── @OnStart ─▶ spawn ── @OnAttach(P), @OnSpawn(M) ─▶ … the `Start` phase); `@OnQuit` runs once at shutdown, after the frame loop stops and before the process exits — the place to `save()` or clean up. - **`@OnSpawn(Model)` / `@OnDespawn(Model)`** — an *entity*. Both bind the model's - properties by name; `@OnSpawn` is a constructor, `@OnDespawn` a destructor. + properties by name, and `self()` is that entity; `@OnSpawn` is a constructor + (`@OnSpawn(Hero) handler Remember { player = self() }`), `@OnDespawn` a destructor. Despawn doesn't statically know an entity's model, so despawn hooks compile to functions dispatched on the entity's kind. `@OnDespawn` may take an optional **reason**: `@OnDespawn(Enemy, reason: r)` binds `r` to an `EndReason` the @@ -632,6 +752,25 @@ fields: `toks[i].kind = T_ID` is a single address computation. ```ludic function heal(amount: int) -> int { return amount * 2 } +``` + +A call passes arguments **positionally or by name**. A named argument is the +parameter's name, a colon, and the value; named arguments may come in any order +and are reordered to the declaration at compile time. A call is either all +positional or all named — the two do not mix. This works for every callable: +bare functions, `namespace` and `@Namespace` functions, externs, and the +builtin namespaces (`Screen.*`, `Input.*`, …): + +```ludic +# doc-check: skip — composite: a declaration plus its uses +function define_weapon(name: string, fire_rate: int, damage: int) -> int { … } + +define_weapon("pistol", 9, 14) # positional +define_weapon(name: "pistol", fire_rate: 9, damage: 14) # named, reads as a table row +Weapon.def(damage: 14, name: "pistol", fire_rate: 9) # any order, on a namespace too +``` + +```ludic extern function c_hypot(a: fixed, b: fixed) -> fixed = "hypot_fx" # bind a C symbol ``` @@ -660,6 +799,22 @@ at the top level it is module state). loop accumulators and anything that genuinely changes. - **`const NAME = e`** — a compile-time constant (folded, no storage). +A program-scope `var` may be initialized with **any expression** — a literal, an +`Enum.Variant`, a `new Record`, a call. What the compiler can fold becomes the +global's initial value; the rest runs once at startup, in declaration order, +after the runtime boots and before the `Start` phase: + +```ludic +# doc-check: skip — illustrative globals +var run: Progress = new Progress # allocated before Start +var origin: IVec2 = IVec2.zero() +var mode: HeroState = HeroState.Idle # folded +``` + +Declaring the same `var` twice is an error — including a name the spliced engine +runtime already uses, which the message says (`variable ui_font is also a +variable of the engine runtime; choose another name`). + Immutability is of the **binding**, not the object. A `let` that holds a record or slice still lets you mutate *through* it — the reference itself just cannot be repointed: @@ -725,6 +880,28 @@ is still accepted when a state needs a specific value.) A `machine ` reads value>)`. Both lower to plain branches (and `match` runs on the native LLVM backend too). +The store is usually a program-scope `var`. Declare it with an **enum type** and +the machine's states are that enum's variants, matched by name — so the rest of +the program compares the store against `HeroState.Rolling` and the machine needs +no `= value` on any state: + +```ludic +# doc-check: skip — composite: declarations plus a machine over them +enum HeroState { Idle, Rolling, Swinging } +var hero_state: HeroState = HeroState.Idle + +machine hero_state { + state Idle { if wants_roll { become Rolling } } # HeroState.Idle + state Rolling { if done { become Idle } } # HeroState.Rolling + state Swinging { … } +} +if hero_state == HeroState.Rolling { … } # readable from anywhere +``` + +A state that names no variant of the store's enum is a compile error. A bare +(payload-free) enum is an `int`-sized type wherever a type is written — a `var`, +a parameter, a field, a return. + ## Enums `enum` names a set of related integer values so a magic-number space — a menu @@ -818,7 +995,7 @@ literal; test any pointer/record/slice with `x == null` / `x != null` (an unset # text_ttf(font,x,y,utf8,color,px) text_w(font,utf8,px)->int text_h(font,px)->int # images image_load(path)->id draw_image(id,x,y) draw_image_scaled(id,x,y,w,h) # draw_9slice(id,x,y,w,h,inset) -# UI ui_build() ui_open(id) ui_tick(key) ui_render() +# UI ui_build() ui_open(id) ui_close() ui_tick(key) ui_render() # ui_clicked(id)->bool ui_set_text(id,str) ui_set_int(id,n) # ui_focus(id) ui_focused()->int ui_visible(id,bool) # assets png_load(path)->id (decodes a PNG; returns a 16x16 sprite id) @@ -963,7 +1140,27 @@ scene Overworld { - `become Name` transitions: the current scene's `on exit` runs, the active scene becomes `Name`, and its `on enter` runs. Inside a layer handler the compiler knows which scene is leaving, so a transition costs two direct calls and a - store — there is no dispatch table. + store. From code no scene owns — a global handler, an `@On(Event)` listener, a + plain function — `become` runs the *live* scene's `on exit` through one + generated dispatch (`@L_scene_leave`), so a menu can react to `UiClicked` and + `become Play` from a listener. +- **`scene Title shows TitleMenu { … }`** — the scene owns a `ui` block: the + engine frees the cursor and opens the menu on enter, draws it last in the + `Overlay` phase, and closes it on exit. The scene's own handlers stay for the + rest (`Ui.set_text` in `on enter`, a `Hud.draw()` under an overlay menu). +- **`scene Splash lasts 110 then Title { … }`** — a timed scene: the engine counts + the frames and moves on. **`scene Loading start loads then Title { … }`** — a + loading scene: the engine pumps the `Assets` queue each frame, draws a default + progress bar, fires `AssetsReady` once, and moves on when everything is in. +- **`button id: Resume text: "Resume" goto: Play`** in a `ui` block — a click + changes scene; no listener to write for the plain navigation buttons. +- Handler names inside a scene's layers are qualified by the scene (`Play_Draw`), + so two scenes may both have a `Draw`; `enable` / `disable` by the bare name + still resolves inside that scene. +- A layer handler may carry **`@Queries`** (and only that annotation), so a scene + owns its per-entity systems: `@Queries(these: [Particle]) handler AgeSparks + phase Update { … }` runs once per matching entity, only while the scene is + active. - **The active scene is snapshotted per phase.** A `become` mid-phase runs its `on exit`/`on enter` immediately, but the switch of *which layers dispatch* takes effect at the next phase boundary — so exactly one scene's layers run in diff --git a/changes/ai-seek-pathing.md b/changes/ai-seek-pathing.md new file mode 100644 index 00000000..dc003c49 --- /dev/null +++ b/changes/ai-seek-pathing.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Ai.seek` + path-aware `brain_seek` — when a Solids tilemap is present the NPC-AI routes a blocked straight line around obstacles with `Grid.a_star`, so foes flow around pillars instead of getting stuck. diff --git a/changes/audio-link-windowed.md b/changes/audio-link-windowed.md new file mode 100644 index 00000000..dc4b9696 --- /dev/null +++ b/changes/audio-link-windowed.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +A windowed build that reaches the audio runtime indirectly — through the atlas / `Assets.*` preload queue (which feeds `.wav`/`.mp3` into the sound bank) or the engine sprite-render system, without any `Audio.*` call in the game — now links the native audio backend (`audio.ll` + AVFoundation). Previously `ludicc -o` failed at link with undefined `snd_*` symbols for any windowed game declaring a `Sprite` component; the import of `runtime/native/audio.ludic` now flags the backend link itself. diff --git a/changes/become-anywhere.md b/changes/become-anywhere.md new file mode 100644 index 00000000..65b1f45a --- /dev/null +++ b/changes/become-anywhere.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +`become Scene` now works from an `@On(Event)` listener, a global handler, or a plain function (#91). Code outside a scene's own layers cannot know the leaving scene at compile time, so the compiler emits `@L_scene_leave()` — a dispatch on the live scene id that runs its `on exit` — and calls it there. Previously a listener's `become` reused the last emitted handler's scene (or crashed), and a global handler's `become` skipped the leaving scene's `on exit` entirely. diff --git a/changes/component-access.md b/changes/component-access.md new file mode 100644 index 00000000..38b35cd7 --- /dev/null +++ b/changes/component-access.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Prop.of(entity)` and `Prop.has(entity)` — typed access to one entity's component from an entity handle, the same binding a query loop makes. `Hero.of(player).iframes = 20` reads and writes fields directly (no `World.prop_id` / `World.field_id` / `World.get` reflection chain); `Prop.has(e)` is true when `e` is in range, alive, and carries the property, so `-1` is a safe "no entity". A package that declares a real `prop_of` / `prop_has` function keeps it. diff --git a/changes/countdown.md b/changes/countdown.md new file mode 100644 index 00000000..d1498358 --- /dev/null +++ b/changes/countdown.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +**`countdown` fields.** A component field declared `frames_left: countdown = 0` is an `int` the engine steps toward 0 once per Update for every live entity carrying the component (never below 0). Roll timers, invulnerability frames, hit flashes and cooldowns need no hand-written "decrement each frame" handler: set the field, test it. diff --git a/changes/cursor-confine-mode3.md b/changes/cursor-confine-mode3.md new file mode 100644 index 00000000..49f9074c --- /dev/null +++ b/changes/cursor-confine-mode3.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +cursor `mode 3` (confined) now keeps the OS cursor **associated** (absolute position preserved) and hidden, instead of dissociating it like `mode 2` (lock/relative). Only true-lock `mode 2` uses relative deltas now; `win_mouse` reports the absolute position on `mode 3` and clamps it to the framebuffer. And `mode 3` now **physically confines** the cursor: each frame the platform layer warps it back to the window's content rect (`CGWarpMouseCursorPosition`) whenever it strays past the edge, so clicks can't land outside and the window keeps focus. This lets a top-down game hide + confine the cursor while `aim_mode 0` (mouse aim) keeps resolving to where the reticle points — previously any confine/lock mode silently broke absolute mouse aim, and a confined cursor still escaped the window (#89 follow-up). diff --git a/changes/duplicate-global-diagnostic.md b/changes/duplicate-global-diagnostic.md new file mode 100644 index 00000000..dd776d45 --- /dev/null +++ b/changes/duplicate-global-diagnostic.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +A `var` declared twice — including a game `var` whose name the spliced engine runtime already uses (`ui_font`, `grid`, …) — is now a compile error naming the variable and, when it is the runtime's, saying so (`variable ui_font is also a variable of the engine runtime; choose another name`). Previously the two became one LLVM global and clang reported a redefinition in generated IR. The same check covers `property` names (`property Cell is also a property of the engine runtime; choose another name`); before, the first declaration silently won and field lookups failed with a confusing message. diff --git a/changes/engine-enums.md b/changes/engine-enums.md new file mode 100644 index 00000000..087ce264 --- /dev/null +++ b/changes/engine-enums.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +The engine's numeric parameters have names. ludic.core: `BodyPolicy { Platformer, TopDown }`, `BoundsPolicy { Clamp, Wrap, Bounce, Kill }`, `AnimMode { Loop, Once, PingPong }`; ludic.shooter: `AimMode { Mouse, RightStick, MoveDirection, NearestEnemy }`, `WeaponPattern { Single, Cone, Ring, Spiral }`; ludic.npcai: `BrainModel { StateMachine, Utility, BehaviourTree }`, `AiState { Patrol, Chase, Attack, Flee }`; ludic.gameplay: `StatKind { MaxHp, Attack, Defense, Speed }`, `ModifyOp { Flat, Percent }`; ludic.rpg: `StatusKind { Poison, Regen }`; the input runtime: `CursorMode { Normal, Hidden, Locked, Confined }`. `Body { policy: BodyPolicy.TopDown }` reads as what it is; the old integers still work. The input runtime also names the gamepad buttons: `PadButton { A, B, X, Y, LeftShoulder, RightShoulder, Back, Start }` for `Input.bind_pad(button:)`. diff --git a/changes/engine-ui-events.md b/changes/engine-ui-events.md new file mode 100644 index 00000000..cfd7a20d --- /dev/null +++ b/changes/engine-ui-events.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +engine-driven retained UI — a program with a `ui` block has its navigation ticked by the frame loop automatically (from the frame key) and an activation now emits a `UiClicked { id }` event, so scenes react with `@On(UiClicked)` instead of polling `Ui.clicked`. New `Ui.*` namespace (`Ui.open/tick/clicked/set_text/render/build`). diff --git a/changes/enum-typed-machines.md b/changes/enum-typed-machines.md new file mode 100644 index 00000000..bf01c09f --- /dev/null +++ b/changes/enum-typed-machines.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +A `machine` over an enum-typed store maps its states to the enum by name: with `enum HeroState { Idle, Rolling }` and `var hero_state: HeroState = HeroState.Idle`, `machine hero_state { state Idle { … } state Rolling { … } }` dispatches on `HeroState.Idle` / `HeroState.Rolling` — no `state Idle = HeroState.Idle` repetition, and a state that names no variant is a compile error. A bare enum is now a first-class `int`-sized type for `var`, params, fields and returns (`llty`), and `Enum.Variant` folds in a global initializer. diff --git a/changes/fmt-paren-spacing.md b/changes/fmt-paren-spacing.md new file mode 100644 index 00000000..280b8598 --- /dev/null +++ b/changes/fmt-paren-spacing.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +`ludic-fmt` no longer glues an opening parenthesis to a preceding operator: `let moving = (a or b)` stays as written instead of becoming `let moving =(a or b)`. diff --git a/changes/global-initializers.md b/changes/global-initializers.md new file mode 100644 index 00000000..730ece1e --- /dev/null +++ b/changes/global-initializers.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +A program-scope `var` may be initialized with any expression: `var run: Progress = new Progress`, `var speed: int = BASE_SPEED * 2`, `var origin: IVec2 = IVec2.zero()`. Initializers the compiler cannot fold run once at startup (`@L_init_globals`, after the runtime boots and before the `Start` phase), in declaration order. Previously such an initializer was silently replaced by `0` / `null`. diff --git a/changes/half-the-game.md b/changes/half-the-game.md new file mode 100644 index 00000000..4d8c4e1e --- /dev/null +++ b/changes/half-the-game.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +The second "write less" round, all generic. **ludic.gameplay**: `Stats` carries the build stats every action game bolts on — `damage_pct`, `crit_pct`, `leech_pct` / `leech_hp`, `thorns`, `fire_rate_pct` — and `Combat.damage` applies them itself (a `Crit` event fires; thorns never reflect thorns); `Stats.add(e, stat, amount)` changes a base stat in place and `Stats.scale_hp(e, percent)` scales hp and max_hp; `StatKind` names every code. **ludic.shooter**: `Dash { frames, speed, cooldown_frames }` with `Dash.start(e, dx, dy)` / `Dash.active(e)` — a dodge roll with i-frames the package guards; `Melee { range, half_arc, damage, knockback, frames, cooldown_frames, arc }` with `Melee.swing(e)` (hits every hostile in the arc, knocks back, fires `MeleeHit`) / `Melee.ready` / `Melee.active`; projectiles drawn by the engine in their weapon's colour (`Weapon.set_color`); `TopDown { reticle, reticle_length }` draws the aim line and a mouse cross; the weapon system honours `Stats.fire_rate_pct`. **ludic.dungeon** (new package): `Dungeon.arena / open_arena / random_style / set_exit / entry_point / opposite / at_edge`, with `Side` and `RoomStyle` — arena rooms with mirrored cover, door lanes and exits by side, built into the engine tilemap. **Compiler**: `scene Splash lasts N then Next` (a timed scene), `button … goto: Scene` (a click changes scene, no listener to write). **Runtime**: `Map.random_cell_far`, `Sprite.draw_meter` (hearts / pips), `Assets.enqueue_dir`, `Collider.center`, `Prefs.max`. Also `scene X loads then Y` (the loading scene: pumped, drawn, `AssetsReady` fired), `Prop.despawn_all()`, `Map.to_tile`, and `Brain { hunt_blind }` in ludic.npcai (seek the nearest hostile without line of sight). `Prefab.spawn_at(name:, at:)` spawns and places; `Weapon.reset(id)` restores a definition (no pierce, no homing, its fire rate). Five regression examples cover the additions (`examples/library/prefabs`, `component_access`, `scene_menus`, `managers`, `combat_kit`). `Random.weighted(weights:)` draws an index by weight; `ui` widgets inherit `font` / `size` / `fg` / `align` from their panel; the input runtime names `MouseButton { Left, Right, Middle }`. diff --git a/changes/ivec2-members.md b/changes/ivec2-members.md new file mode 100644 index 00000000..564565b1 --- /dev/null +++ b/changes/ivec2-members.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`v.x` and `v.y` read the components of an `IVec2` value (a local, a global, a record field, or a call result) — the readable form of `IVec2.x(v)` / `IVec2.y(v)`. The compiler's static typing now also follows function return types, namespace calls, `Prop.of(e)` and record fields, so `@Computed` fields expand in those positions too. diff --git a/changes/key-constants-namespaces.md b/changes/key-constants-namespaces.md new file mode 100644 index 00000000..cd9cb26e --- /dev/null +++ b/changes/key-constants-namespaces.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Key.*` compile-time key constants (`Key.Space`, `Key.Escape`, `Key.A`, `Key.Up`, ...), folded like `Color.*`; and `Font.*` / `Ui.* / File.*` namespaces so `png_load`/`font_load`/file I/O are namespaced. diff --git a/changes/layer-queries.md b/changes/layer-queries.md new file mode 100644 index 00000000..88b97710 --- /dev/null +++ b/changes/layer-queries.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +A handler inside a scene `layer` may carry `@Queries(these: […], on: Model)`, so a scene can own its per-entity systems (`@Queries(these: [Particle]) handler AgeSparks phase Update { … }` runs once per matching entity only while that scene is active). Any other annotation on a layer handler is reported. diff --git a/changes/less-to-write.md b/changes/less-to-write.md new file mode 100644 index 00000000..8467a809 --- /dev/null +++ b/changes/less-to-write.md @@ -0,0 +1,4 @@ +bump: minor +type: feat +Less to write for a game. **`Map` cell API** — `Map.get/set/fill/rect/border/random_cell/is_solid/is_solid_at/width/height`: a game edits the engine's tilemap in place and asks it what is solid (from the `Solids` config) instead of keeping its own grid. **`Sprite` does the small animation work**: `move_id` is the strip drawn while the entity moves, `face: 1` turns it toward its movement, and the `flash` / `blink` countdowns give a white hit flash and an invulnerability blink with no handler. **`scene X shows Menu`** — the engine opens the menu (and frees the cursor) on enter, draws it last in Overlay, and closes it on exit. **`import "dir/*.ludic"`** imports a directory in name order. **`IVec2.distance2/within/heading/along/step`** and **`Angle.diff_degrees`** cover the geometry every action game rewrites; **`List.sample`** draws distinct random picks; **`Input.move_i`** is the standard top-down movement intent; **`AimMode.Auto`** aims with the mouse, or the right stick while a pad is connected; **`Weapon.set_rate` / `Weapon.rate`** change a fire rate in place; projectiles now die on `Solids` tiles by themselves; **`Screen.bar`** draws a meter. +Handlers inside a scene's layers are scene-qualified (`Play_Draw`), so two scenes may both name a handler `Draw`; `enable` / `disable` of a scene's own handler by its bare name still works from inside that scene. diff --git a/changes/managers.md b/changes/managers.md new file mode 100644 index 00000000..eff1e320 --- /dev/null +++ b/changes/managers.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +Engine managers for what every action game hand-rolls: **`Fx.sparks` / `Fx.number` / `Fx.clear`** — engine-owned sparks and floating damage numbers, moved and aged each Update and drawn after the sprites, with no component, model, handler or draw call in the game; **`Audio.define(name:, path:)` + `Audio.play(name:)` / `Audio.play_music(name:)` / `Audio.named`** — a sound bank by name (the handle form still works); **`Camera.shake_for(amount:, frames:)`** — a timed shake the engine decays; **`Assets.enqueue`** now loads `.wav` / `.mp3` into the sound bank and `.ttf` / `.ttc` into a font table (**`Assets.font(name:)`**) alongside images, so one loading scene covers everything; **`Prop.count()`** — how many live entities carry a component. diff --git a/changes/namespace-named-args.md b/changes/namespace-named-args.md new file mode 100644 index 00000000..acdd6543 --- /dev/null +++ b/changes/namespace-named-args.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +Named arguments now work on namespace functions (`@Namespace(Foo)` and `namespace Foo { export function … }`), not only on builtins and bare functions: `Weapon.def(name: "pistol", fire_rate: 9, damage: 14, speed: 8, spread: 0, pellets: 1, pattern: 0)` reorders to the declared parameter order like any other call. Previously every named call on a namespace function failed with "wrong number of arguments". diff --git a/changes/overlay-phase.md b/changes/overlay-phase.md new file mode 100644 index 00000000..2ebea552 --- /dev/null +++ b/changes/overlay-phase.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Overlay` render phase — runs after the engine Render systems (sprites, lights) and before present, so a game's HUD / menus are never painted under an actor. Byte-identical when unused. diff --git a/changes/prefabs.md b/changes/prefabs.md new file mode 100644 index 00000000..6dd518dc --- /dev/null +++ b/changes/prefabs.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +**Prefabs.** `prefab Grunt: Creature { Stats { hp: 30 }, Weapon { def_id: 1 } }` names a model with preset fields; `spawn Grunt { Position { x: 40 } }` spawns it, the spawn's own fields winning over the presets. Prefabs chain (`prefab Grunt: Foe` where `Foe` is a prefab) so shared presets live once. `spawn` is now also an expression yielding the new entity (`let e = spawn Grunt { … }`), and `Prefab.spawn(name: "Grunt")` spawns one chosen at runtime by name (-1 when none matches). diff --git a/changes/prefs-package.md b/changes/prefs-package.md new file mode 100644 index 00000000..4ce0b4b2 --- /dev/null +++ b/changes/prefs-package.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`ludic.prefs` package — `Prefs.*`, a human-readable `key=value` text store for scores / options (the right tool for "remember my best run"; a whole-world `Save.write` is not). diff --git a/changes/reserved-word-functions.md b/changes/reserved-word-functions.md new file mode 100644 index 00000000..76b7271f --- /dev/null +++ b/changes/reserved-word-functions.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +reserved words (`new`, `match`, `spawn`, ...) can no longer name a function — the compiler errors instead of miscompiling. diff --git a/changes/self-in-spawn-hooks.md b/changes/self-in-spawn-hooks.md new file mode 100644 index 00000000..acc20ec2 --- /dev/null +++ b/changes/self-in-spawn-hooks.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +`self()` inside an `@OnSpawn(Model)` or `@OnAttach(Property)` body is now the entity being constructed. Previously it was the entity of the innermost query loop — or the constant 0 when the spawn happened outside any loop — so a hook such as `@OnSpawn(Hero) handler Remember { player = self() }` silently recorded entity 0. diff --git a/changes/shooter-aim-centre.md b/changes/shooter-aim-centre.md new file mode 100644 index 00000000..e063d422 --- /dev/null +++ b/changes/shooter-aim-centre.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +the shooter aims / homes / fires from a body's **centre** (Position + Collider offset + half-size) instead of the Position anchor, so auto-aim and homing target what is drawn, not a corner. diff --git a/changes/solids-solid2.md b/changes/solids-solid2.md new file mode 100644 index 00000000..25fc619c --- /dev/null +++ b/changes/solids-solid2.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Solids.solid2` — an optional second solid glyph (e.g. a closed door) the move system also blocks. diff --git a/changes/sprite-atlas-ids.md b/changes/sprite-atlas-ids.md new file mode 100644 index 00000000..57a5ad4f --- /dev/null +++ b/changes/sprite-atlas-ids.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Sprite` component draws atlas ids (#90) — `Sprite.atlas = 1` routes `esys_sprite` through `atlas_draw_ex` (scale/flip/tint) so atlas cells / multi-cell spans (tall characters) use the engine sprite-render system, not just the 16x16 table. diff --git a/changes/sprite-strip.md b/changes/sprite-strip.md new file mode 100644 index 00000000..611b1234 --- /dev/null +++ b/changes/sprite-strip.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +`Sprite.strip(sheet, col, row, count, rows)` — register N consecutive animation frames in one call (the base id for `SpriteAnim`). diff --git a/changes/tileskin-system.md b/changes/tileskin-system.md new file mode 100644 index 00000000..cccc3584 --- /dev/null +++ b/changes/tileskin-system.md @@ -0,0 +1,3 @@ +bump: minor +type: feat +engine tilemap-render system (`TileSkin`, shipped from ludic.core) — one entity per glyph paints the whole `Map.*` grid each Render frame *before* sprites, so a game stops hand-looping the map. `esys_tileskin` registered ahead of `esys_sprite`. diff --git a/changes/ui-close.md b/changes/ui-close.md new file mode 100644 index 00000000..ac4157be --- /dev/null +++ b/changes/ui-close.md @@ -0,0 +1,3 @@ +bump: patch +type: feat +`Ui.close()` — deactivate the retained UI (no menu open); the readable form of `Ui.open(id: -1)`. diff --git a/changes/ui-ids-anywhere.md b/changes/ui-ids-anywhere.md new file mode 100644 index 00000000..86001290 --- /dev/null +++ b/changes/ui-ids-anywhere.md @@ -0,0 +1,3 @@ +bump: patch +type: fix +A `UI_Name` handle can be read from any code — a plain function, an `@On(UiClicked)` listener, a global initializer — not only from handlers and scene hooks. The widget table it indexes is now built on first use instead of when `@ui_build` is emitted, which came after functions and listeners and crashed the compiler on such a reference. diff --git a/docs/language/angle/angle-diff_degrees.md b/docs/language/angle/angle-diff_degrees.md new file mode 100644 index 00000000..f2e95f6b --- /dev/null +++ b/docs/language/angle/angle-diff_degrees.md @@ -0,0 +1,19 @@ +--- +id: angle-diff_degrees +name: Angle.diff_degrees +category: angle +kind: namespace-method +tokens: Angle.diff_degrees +sig: Angle.diff_degrees(a: int, b: int) -> int +tip: The signed difference between two headings in whole degrees. +order: 20 +ns: Angle +member: diff_degrees +--- + +b - a wrapped into -180 .. 180, for integer-degree headings such as TopDown.aim_angle and IVec2.heading. + +```ludic +# doc-check: skip — illustrative +if abs(Angle.diff_degrees(a: aim, b: IVec2.heading(hero, foe))) <= 50 { hit() } +``` diff --git a/docs/language/assets/assets-enqueue_dir.md b/docs/language/assets/assets-enqueue_dir.md new file mode 100644 index 00000000..ff27566a --- /dev/null +++ b/docs/language/assets/assets-enqueue_dir.md @@ -0,0 +1,21 @@ +--- +id: assets-enqueue_dir +name: Assets.enqueue_dir +category: assets +kind: namespace-method +tokens: Assets.enqueue_dir +sig: Assets.enqueue_dir(path: dir) +tip: Enqueue every file of a directory, named by its file name. +order: 10 +ns: Assets +member: enqueue_dir +--- + +Each file is enqueued under its name without the extension (assets/audio/hit.wav → hit); the queue sorts it by extension as usual, so a sound directory becomes the sound bank in one line. + +```ludic +# doc-check: skip — illustrative +Assets.enqueue_dir(path: "assets/audio") +… +Audio.play(name: "hit") +``` diff --git a/docs/language/assets/assets-font.md b/docs/language/assets/assets-font.md new file mode 100644 index 00000000..5683beb5 --- /dev/null +++ b/docs/language/assets/assets-font.md @@ -0,0 +1,21 @@ +--- +id: assets-font +name: Assets.font +category: assets +kind: namespace-method +tokens: Assets.font +sig: Assets.font(name: s) -> int +tip: A font loaded through the preload queue, by name. +order: 9 +ns: Assets +member: font +--- + +The font handle for a .ttf / .ttc that Assets.enqueue loaded under name; 0 while it is not loaded yet. The queue sorts by extension: images become sprites (Assets.get), sounds go to the audio bank (Audio.play(name:)), fonts here. + +```ludic +# doc-check: skip — illustrative +Assets.enqueue(name: "menu", path: "assets/fonts/PixelOperator.ttf") +… +menu_font = Assets.font(name: "menu") +``` diff --git a/docs/language/audio/audio-define.md b/docs/language/audio/audio-define.md new file mode 100644 index 00000000..4fb2a6cf --- /dev/null +++ b/docs/language/audio/audio-define.md @@ -0,0 +1,20 @@ +--- +id: audio-define +name: Audio.define +category: audio +kind: namespace-method +tokens: Audio.define +sig: Audio.define(name: s, path: p) -> int +tip: Load a sound into the bank under a name. +order: 20 +ns: Audio +member: define +--- + +Loads a sound file and registers it under name, so Audio.play(name: …) and Audio.play_music(name: …) can fire it without a handle in the game's own state. Returns the handle (0 headless). Assets.enqueue does the same for a .wav / .mp3 path. + +```ludic +# doc-check: skip — illustrative +Audio.define(name: "hit", path: "assets/audio/hit.wav") +Audio.play(name: "hit") +``` diff --git a/docs/language/audio/audio-named.md b/docs/language/audio/audio-named.md new file mode 100644 index 00000000..d3deb263 --- /dev/null +++ b/docs/language/audio/audio-named.md @@ -0,0 +1,19 @@ +--- +id: audio-named +name: Audio.named +category: audio +kind: namespace-method +tokens: Audio.named +sig: Audio.named(name: s) -> int +tip: The handle registered under a name, or 0. +order: 21 +ns: Audio +member: named +--- + +Looks a sound up in the bank by the name Audio.define (or Assets.enqueue) gave it. + +```ludic +# doc-check: skip — illustrative +let hit = Audio.named(name: "hit") +``` diff --git a/docs/language/camera/camera-shake_for.md b/docs/language/camera/camera-shake_for.md new file mode 100644 index 00000000..0a14136d --- /dev/null +++ b/docs/language/camera/camera-shake_for.md @@ -0,0 +1,19 @@ +--- +id: camera-shake_for +name: Camera.shake_for +category: camera +kind: namespace-method +tokens: Camera.shake_for +sig: Camera.shake_for(amount: px, frames: n) +tip: Shake for a number of frames, then stop, with no bookkeeping. +order: 5 +ns: Camera +member: shake_for +--- + +Shakes the camera by up to ±amount pixels for frames frames; the engine re-rolls the offset each frame and clears it when the time is up. A bigger amount replaces one in flight. Camera.shake(amount: 0) still cancels the offset for the rest of a frame — useful before a HUD pass that must stay steady. + +```ludic +# doc-check: skip — illustrative +@On(Damaged) handler Hurt { if target == player { Camera.shake_for(amount: 4, frames: 8) } } +``` diff --git a/docs/language/file/_section.md b/docs/language/file/_section.md new file mode 100644 index 00000000..db8af092 --- /dev/null +++ b/docs/language/file/_section.md @@ -0,0 +1,7 @@ +--- +id: file +title: File +order: 44 +--- + +Raw file access over the C stdio calls, for programs that read and write their own formats. File.open returns a handle (or null), File.read / File.write move bytes through a bytes buffer, File.seek / File.tell position the cursor, and File.close releases the handle. For text and structured data prefer the higher-level Fs, Json and Prefs APIs. diff --git a/docs/language/file/file-close.md b/docs/language/file/file-close.md new file mode 100644 index 00000000..424b18dd --- /dev/null +++ b/docs/language/file/file-close.md @@ -0,0 +1,19 @@ +--- +id: file-close +name: File.close +category: file +kind: namespace-method +tokens: File.close +sig: File.close(file: f) +tip: Close a handle from File.open. +order: 6 +ns: File +member: close +--- + +Flushes and releases the handle. Every successful File.open pairs with one File.close. + +```ludic +# doc-check: skip — illustrative +File.close(file: f) +``` diff --git a/docs/language/file/file-open.md b/docs/language/file/file-open.md new file mode 100644 index 00000000..b02cd1c3 --- /dev/null +++ b/docs/language/file/file-open.md @@ -0,0 +1,20 @@ +--- +id: file-open +name: File.open +category: file +kind: namespace-method +tokens: File.open +sig: File.open(path: p, mode: m) -> pointer +tip: Open a file (fopen); null when it cannot be opened. +order: 1 +ns: File +member: open +--- + +Opens path with a C fopen mode string ("rb", "wb", "ab"). Returns the handle, or null when the file cannot be opened — always test for it. + +```ludic +# doc-check: skip — illustrative +let f = File.open(path: "save/best.txt", mode: "rb") +if f == null { return } +``` diff --git a/docs/language/file/file-read.md b/docs/language/file/file-read.md new file mode 100644 index 00000000..0fcad8c8 --- /dev/null +++ b/docs/language/file/file-read.md @@ -0,0 +1,20 @@ +--- +id: file-read +name: File.read +category: file +kind: namespace-method +tokens: File.read +sig: File.read(file: f, buffer: b, count: n) -> int +tip: Read up to n bytes into a buffer; returns the bytes read. +order: 2 +ns: File +member: read +--- + +Reads at most count bytes from the handle into buffer (a bytes allocation) and returns how many arrived; fewer than asked means the end of the file. + +```ludic +# doc-check: skip — illustrative +let buf = bytes(size + 1) +let got = File.read(file: f, buffer: buf, count: size) +``` diff --git a/docs/language/file/file-seek.md b/docs/language/file/file-seek.md new file mode 100644 index 00000000..dfe0cd20 --- /dev/null +++ b/docs/language/file/file-seek.md @@ -0,0 +1,21 @@ +--- +id: file-seek +name: File.seek +category: file +kind: namespace-method +tokens: File.seek +sig: File.seek(file: f, offset: o, whence: w) +tip: Move the file cursor (0 start, 1 current, 2 end). +order: 4 +ns: File +member: seek +--- + +Positions the cursor at offset bytes from whence: 0 the start, 1 the current position, 2 the end. Seeking to the end and reading File.tell measures a file. + +```ludic +# doc-check: skip — illustrative +File.seek(file: f, offset: 0, whence: 2) +let size = File.tell(file: f) +File.seek(file: f, offset: 0, whence: 0) +``` diff --git a/docs/language/file/file-tell.md b/docs/language/file/file-tell.md new file mode 100644 index 00000000..207fe544 --- /dev/null +++ b/docs/language/file/file-tell.md @@ -0,0 +1,19 @@ +--- +id: file-tell +name: File.tell +category: file +kind: namespace-method +tokens: File.tell +sig: File.tell(file: f) -> int +tip: The cursor position in bytes. +order: 5 +ns: File +member: tell +--- + +Returns the current cursor position in bytes from the start of the file. + +```ludic +# doc-check: skip — illustrative +let size = File.tell(file: f) +``` diff --git a/docs/language/file/file-write.md b/docs/language/file/file-write.md new file mode 100644 index 00000000..6ba4905e --- /dev/null +++ b/docs/language/file/file-write.md @@ -0,0 +1,20 @@ +--- +id: file-write +name: File.write +category: file +kind: namespace-method +tokens: File.write +sig: File.write(file: f, buffer: b, count: n) -> int +tip: Write n bytes from a buffer; returns the bytes written. +order: 3 +ns: File +member: write +--- + +Writes count bytes of buffer (a string or a bytes allocation) to the handle and returns how many were written. + +```ludic +# doc-check: skip — illustrative +let line = "best_floor=3\n" +File.write(file: f, buffer: line, count: len(line)) +``` diff --git a/docs/language/font/_section.md b/docs/language/font/_section.md new file mode 100644 index 00000000..c554898d --- /dev/null +++ b/docs/language/font/_section.md @@ -0,0 +1,7 @@ +--- +id: font +title: Font +order: 45 +--- + +TrueType fonts for the retained UI and for Screen.draw_text-style drawing. Font.load reads a .ttf / .ttc file and returns a handle that a ui block's font: property or a text call takes. diff --git a/docs/language/font/font-load.md b/docs/language/font/font-load.md new file mode 100644 index 00000000..f0332234 --- /dev/null +++ b/docs/language/font/font-load.md @@ -0,0 +1,23 @@ +--- +id: font-load +name: Font.load +category: font +kind: namespace-method +tokens: Font.load +sig: Font.load(path: p) -> int +tip: Load a TrueType font; returns a font handle. +order: 1 +ns: Font +member: load +--- + +Loads a TrueType font file and returns its handle. Load it before Ui.build so the menus can measure their text; the handle is what a ui block's font: reads. + +```ludic +# doc-check: skip — illustrative +var menu_font: int = 0 +handler Boot phase Start { + menu_font = Font.load(path: "assets/fonts/PixelOperator.ttf") + Ui.build() +} +``` diff --git a/docs/language/fx/_section.md b/docs/language/fx/_section.md new file mode 100644 index 00000000..b3f7885b --- /dev/null +++ b/docs/language/fx/_section.md @@ -0,0 +1,7 @@ +--- +id: fx +title: Fx +order: 46 +--- + +Engine-owned transient effects. A game asks for a burst of sparks or a floating number and the engine owns the rest: it moves and ages them every Update, draws them every Render after the sprites (through the camera, shake and clip), and drops them when they expire. Nothing is an entity, so a hit effect needs no component, model, handler or draw call. Velocities and lifetimes come from the seeded RNG, so a replay produces the same sparks. diff --git a/docs/language/fx/fx-clear.md b/docs/language/fx/fx-clear.md new file mode 100644 index 00000000..a82aab8b --- /dev/null +++ b/docs/language/fx/fx-clear.md @@ -0,0 +1,22 @@ +--- +id: fx-clear +name: Fx.clear +category: fx +kind: namespace-method +tokens: Fx.clear +sig: Fx.clear() +tip: Drop every spark and number at once. +order: 3 +ns: Fx +member: clear +--- + +Removes every effect in flight — call it when the world changes under them (a room change, a new run). + +```ludic +# doc-check: skip — illustrative +function clear_room() -> void { + for (p) in query [Position] { despawn self() } + Fx.clear() +} +``` diff --git a/docs/language/fx/fx-number.md b/docs/language/fx/fx-number.md new file mode 100644 index 00000000..741e2c52 --- /dev/null +++ b/docs/language/fx/fx-number.md @@ -0,0 +1,19 @@ +--- +id: fx-number +name: Fx.number +category: fx +kind: namespace-method +tokens: Fx.number +sig: Fx.number(x: px, y: px, value: n, color: c) +tip: A number that floats up from a point and fades. +order: 2 +ns: Fx +member: number +--- + +Shows value above (x, y) for 30 frames, rising one pixel every other frame — the damage number of every action game. + +```ludic +# doc-check: skip — illustrative +@On(Damaged) handler ShowHit { Fx.number(x: center(target).x, y: center(target).y, value: amount, color: Color.Lemon) } +``` diff --git a/docs/language/fx/fx-sparks.md b/docs/language/fx/fx-sparks.md new file mode 100644 index 00000000..96dec2f8 --- /dev/null +++ b/docs/language/fx/fx-sparks.md @@ -0,0 +1,19 @@ +--- +id: fx-sparks +name: Fx.sparks +category: fx +kind: namespace-method +tokens: Fx.sparks +sig: Fx.sparks(x: px, y: px, color: c, count: n) +tip: A burst of sparks flying out of a point. +order: 1 +ns: Fx +member: sparks +--- + +Spawns count sparks at (x, y), each with a random velocity of up to 3px per frame on each axis and a lifetime of 18 to 26 frames; they are drawn as 1 to 3 pixel squares in color. + +```ludic +# doc-check: skip — illustrative +@On(Died) handler Burst { Fx.sparks(x: center(e).x, y: center(e).y, color: Color.Crimson, count: 10) } +``` diff --git a/docs/language/input/input-move_i.md b/docs/language/input/input-move_i.md new file mode 100644 index 00000000..c482898e --- /dev/null +++ b/docs/language/input/input-move_i.md @@ -0,0 +1,20 @@ +--- +id: input-move_i +name: Input.move_i +category: input +kind: namespace-method +tokens: Input.move_i +sig: Input.move_i() -> IVec2 +tip: The standard top-down movement intent, -1/0/1 per axis. +order: 60 +ns: Input +member: move_i +--- + +WASD or the arrow keys, and the left stick of pad 0 (past a 0.35 deadzone) when one is connected, as an IVec2 of -1, 0 or 1 per axis — what a top-down mover feeds TopDown.move. + +```ludic +# doc-check: skip — illustrative +let move = Input.move_i() +TopDown.move(player, move.x, move.y) +``` diff --git a/docs/language/ivec2/ivec2-along.md b/docs/language/ivec2/ivec2-along.md new file mode 100644 index 00000000..dd0a314e --- /dev/null +++ b/docs/language/ivec2/ivec2-along.md @@ -0,0 +1,19 @@ +--- +id: ivec2-along +name: IVec2.along +category: ivec2 +kind: namespace-method +tokens: IVec2.along +sig: IVec2.along(origin, degrees, distance) -> IVec2 +tip: The point a distance along a heading. +order: 23 +ns: IVec2 +member: along +--- + +The point distance pixels from origin along degrees — the tip of an aim line, the centre of a melee arc. + +```ludic +# doc-check: skip — illustrative +let tip = IVec2.along(hero, aim, 18) +``` diff --git a/docs/language/ivec2/ivec2-distance2.md b/docs/language/ivec2/ivec2-distance2.md new file mode 100644 index 00000000..8a77518f --- /dev/null +++ b/docs/language/ivec2/ivec2-distance2.md @@ -0,0 +1,19 @@ +--- +id: ivec2-distance2 +name: IVec2.distance2 +category: ivec2 +kind: namespace-method +tokens: IVec2.distance2 +sig: IVec2.distance2(a, b) -> int +tip: The squared distance between two points. +order: 20 +ns: IVec2 +member: distance2 +--- + +dx*dx + dy*dy — compare it against a squared radius to avoid a square root. + +```ludic +# doc-check: skip — illustrative +if IVec2.distance2(hero, foe) < 24 * 24 { … } +``` diff --git a/docs/language/ivec2/ivec2-heading.md b/docs/language/ivec2/ivec2-heading.md new file mode 100644 index 00000000..86cb8c16 --- /dev/null +++ b/docs/language/ivec2/ivec2-heading.md @@ -0,0 +1,19 @@ +--- +id: ivec2-heading +name: IVec2.heading +category: ivec2 +kind: namespace-method +tokens: IVec2.heading +sig: IVec2.heading(from, to) -> int +tip: The direction from one point to another, in degrees. +order: 22 +ns: IVec2 +member: heading +--- + +The angle from from to to in whole degrees: 0 is +x, 90 is +y (screen y grows downward). Pair it with Angle.diff_degrees for an arc test. + +```ludic +# doc-check: skip — illustrative +let to_foe = IVec2.heading(hero, foe) +``` diff --git a/docs/language/ivec2/ivec2-step.md b/docs/language/ivec2/ivec2-step.md new file mode 100644 index 00000000..6964fc64 --- /dev/null +++ b/docs/language/ivec2/ivec2-step.md @@ -0,0 +1,19 @@ +--- +id: ivec2-step +name: IVec2.step +category: ivec2 +kind: namespace-method +tokens: IVec2.step +sig: IVec2.step(degrees) -> IVec2 +tip: A -1/0/1 unit step along a heading. +order: 24 +ns: IVec2 +member: step +--- + +The heading snapped to the eight compass steps: each component is -1, 0 or 1. A roll or knockback direction from an aim angle. + +```ludic +# doc-check: skip — illustrative +let direction = IVec2.step(TopDown.of(player).aim_angle) +``` diff --git a/docs/language/ivec2/ivec2-within.md b/docs/language/ivec2/ivec2-within.md new file mode 100644 index 00000000..1b9c1b24 --- /dev/null +++ b/docs/language/ivec2/ivec2-within.md @@ -0,0 +1,19 @@ +--- +id: ivec2-within +name: IVec2.within +category: ivec2 +kind: namespace-method +tokens: IVec2.within +sig: IVec2.within(a, b, radius) -> bool +tip: Are two points within a radius of each other? +order: 21 +ns: IVec2 +member: within +--- + +True when the distance between a and b is at most radius (compared squared, no square root). + +```ludic +# doc-check: skip — illustrative +if IVec2.within(hero, heart, 14) { pick_up() } +``` diff --git a/docs/language/list/list-sample.md b/docs/language/list/list-sample.md new file mode 100644 index 00000000..b8cbc522 --- /dev/null +++ b/docs/language/list/list-sample.md @@ -0,0 +1,19 @@ +--- +id: list-sample +name: List.sample +category: list +kind: namespace-method +tokens: List.sample +sig: List.sample(pool, count) -> []int +tip: Random picks from an int slice, distinct while it can. +order: 30 +ns: List +member: sample +--- + +Returns count picks from an []int, drawn from the seeded RNG. Picks are distinct while the pool has enough elements; with fewer, the spare picks repeat a valid element. An empty pool yields zeros. A relic offer, a loot roll, a random enemy roster. + +```ludic +# doc-check: skip — illustrative +relic_offer = List.sample(Relics.unowned(), 3) +``` diff --git a/docs/language/map/map-border.md b/docs/language/map/map-border.md new file mode 100644 index 00000000..9988b842 --- /dev/null +++ b/docs/language/map/map-border.md @@ -0,0 +1,20 @@ +--- +id: map-border +name: Map.border +category: map +kind: namespace-method +tokens: Map.border +sig: Map.border(glyph: g) +tip: The outermost ring of cells. +order: 14 +ns: Map +member: border +--- + +Writes glyph along the map's edge — the arena wall around a generated room. + +```ludic +# doc-check: skip — illustrative +Map.fill(glyph: '.') +Map.border(glyph: '#') +``` diff --git a/docs/language/map/map-fill.md b/docs/language/map/map-fill.md new file mode 100644 index 00000000..3500a70b --- /dev/null +++ b/docs/language/map/map-fill.md @@ -0,0 +1,20 @@ +--- +id: map-fill +name: Map.fill +category: map +kind: namespace-method +tokens: Map.fill +sig: Map.fill(glyph: g) +tip: Every cell becomes the glyph. +order: 12 +ns: Map +member: fill +--- + +Fills the whole map with one glyph — the first stroke of a generated room. + +```ludic +# doc-check: skip — illustrative +Map.size(20, 15) +Map.fill(glyph: '.') +``` diff --git a/docs/language/map/map-get.md b/docs/language/map/map-get.md new file mode 100644 index 00000000..ab0d9164 --- /dev/null +++ b/docs/language/map/map-get.md @@ -0,0 +1,19 @@ +--- +id: map-get +name: Map.get +category: map +kind: namespace-method +tokens: Map.get +sig: Map.get(x: tx, y: ty) -> int +tip: The glyph at a cell ('#' outside the map). +order: 10 +ns: Map +member: get +--- + +Reads one cell of the tilemap by tile coordinates; outside the map it answers '#', so the edge of the world reads as wall. + +```ludic +# doc-check: skip — illustrative +if Map.get(x: 3, y: 4) == '.' { … } +``` diff --git a/docs/language/map/map-height.md b/docs/language/map/map-height.md new file mode 100644 index 00000000..afddd042 --- /dev/null +++ b/docs/language/map/map-height.md @@ -0,0 +1,19 @@ +--- +id: map-height +name: Map.height +category: map +kind: namespace-method +tokens: Map.height +sig: Map.height() -> int +tip: The map's height in cells. +order: 19 +ns: Map +member: height +--- + +The height set by Map.size. + +```ludic +# doc-check: skip — illustrative +for y in 0 .. Map.height() { … } +``` diff --git a/docs/language/map/map-is_solid.md b/docs/language/map/map-is_solid.md new file mode 100644 index 00000000..af1fd789 --- /dev/null +++ b/docs/language/map/map-is_solid.md @@ -0,0 +1,19 @@ +--- +id: map-is_solid +name: Map.is_solid +category: map +kind: namespace-method +tokens: Map.is_solid +sig: Map.is_solid(x: tx, y: ty) -> bool +tip: Is a cell solid, per the Solids config? +order: 16 +ns: Map +member: is_solid +--- + +True when the cell holds one of the solid glyphs the Solids configuration names (wall, solid2), or lies outside the map. With no Solids entity nothing is solid. The move system and the projectiles use the same answer. + +```ludic +# doc-check: skip — illustrative +if Map.is_solid(x: tile.x, y: tile.y) { continue } +``` diff --git a/docs/language/map/map-is_solid_at.md b/docs/language/map/map-is_solid_at.md new file mode 100644 index 00000000..36b0b798 --- /dev/null +++ b/docs/language/map/map-is_solid_at.md @@ -0,0 +1,19 @@ +--- +id: map-is_solid_at +name: Map.is_solid_at +category: map +kind: namespace-method +tokens: Map.is_solid_at +sig: Map.is_solid_at(x: px, y: py) -> bool +tip: Is the cell under a pixel position solid? +order: 17 +ns: Map +member: is_solid_at +--- + +Map.is_solid for a pixel position, using the tile size from the Solids config. + +```ludic +# doc-check: skip — illustrative +if not Map.is_solid_at(x: pushed.x, y: pushed.y) { Position.x = pushed.x } +``` diff --git a/docs/language/map/map-random_cell.md b/docs/language/map/map-random_cell.md new file mode 100644 index 00000000..ef4881d9 --- /dev/null +++ b/docs/language/map/map-random_cell.md @@ -0,0 +1,20 @@ +--- +id: map-random_cell +name: Map.random_cell +category: map +kind: namespace-method +tokens: Map.random_cell +sig: Map.random_cell(glyph: g) -> IVec2 +tip: A random cell holding the glyph (seeded RNG). +order: 15 +ns: Map +member: random_cell +--- + +Picks a random cell whose glyph matches: random tries first, then a sweep, so a map with any such cell always yields one; (-1, -1) when none exists. Deterministic, from the seeded RNG. + +```ludic +# doc-check: skip — illustrative +let tile = Map.random_cell(glyph: '.') +Spawn.enemy(kind, IVec2.scale(tile, 16)) +``` diff --git a/docs/language/map/map-random_cell_far.md b/docs/language/map/map-random_cell_far.md new file mode 100644 index 00000000..e1c2a18c --- /dev/null +++ b/docs/language/map/map-random_cell_far.md @@ -0,0 +1,19 @@ +--- +id: map-random_cell_far +name: Map.random_cell_far +category: map +kind: namespace-method +tokens: Map.random_cell_far +sig: Map.random_cell_far(glyph:, from:, min_tiles:) -> IVec2 +tip: A random cell with the glyph, at least a distance from a point. +order: 20 +ns: Map +member: random_cell_far +--- + +Like Map.random_cell, but at least min_tiles from from when it can find one — a spawn point away from the hero. + +```ludic +# doc-check: skip — illustrative +let tile = Map.random_cell_far(glyph: '.', from: hero_tile, min_tiles: 6) +``` diff --git a/docs/language/map/map-rect.md b/docs/language/map/map-rect.md new file mode 100644 index 00000000..b4ab7d8e --- /dev/null +++ b/docs/language/map/map-rect.md @@ -0,0 +1,19 @@ +--- +id: map-rect +name: Map.rect +category: map +kind: namespace-method +tokens: Map.rect +sig: Map.rect(x: tx, y: ty, width: w, height: h, glyph: g) +tip: Fill a rectangle of cells. +order: 13 +ns: Map +member: rect +--- + +Writes glyph into every cell of the rectangle; cells outside the map are skipped. A wall slab, a carved corridor, a cleared lane. + +```ludic +# doc-check: skip — illustrative +Map.rect(x: 9, y: 1, width: 2, height: 13, glyph: '.') # a lane the cover never blocks +``` diff --git a/docs/language/map/map-set.md b/docs/language/map/map-set.md new file mode 100644 index 00000000..e13fbe4f --- /dev/null +++ b/docs/language/map/map-set.md @@ -0,0 +1,19 @@ +--- +id: map-set +name: Map.set +category: map +kind: namespace-method +tokens: Map.set +sig: Map.set(x: tx, y: ty, glyph: g) +tip: Write one cell in place. +order: 11 +ns: Map +member: set +--- + +Writes one cell of the tilemap. A game edits the engine's grid directly — carving a door, placing a pillar — instead of keeping its own copy and re-stamping rows. + +```ludic +# doc-check: skip — illustrative +Map.set(x: 9, y: 0, glyph: '.') # open the north door +``` diff --git a/docs/language/map/map-to_tile.md b/docs/language/map/map-to_tile.md new file mode 100644 index 00000000..b34bbb67 --- /dev/null +++ b/docs/language/map/map-to_tile.md @@ -0,0 +1,19 @@ +--- +id: map-to_tile +name: Map.to_tile +category: map +kind: namespace-method +tokens: Map.to_tile +sig: Map.to_tile(pixel: IVec2) -> IVec2 +tip: The tile under a pixel position. +order: 21 +ns: Map +member: to_tile +--- + +Divides a pixel position by the tile size of the Solids config. + +```ludic +# doc-check: skip — illustrative +let tile = Map.to_tile(pixel: Collider.center(player)) +``` diff --git a/docs/language/map/map-width.md b/docs/language/map/map-width.md new file mode 100644 index 00000000..b605f196 --- /dev/null +++ b/docs/language/map/map-width.md @@ -0,0 +1,19 @@ +--- +id: map-width +name: Map.width +category: map +kind: namespace-method +tokens: Map.width +sig: Map.width() -> int +tip: The map's width in cells. +order: 18 +ns: Map +member: width +--- + +The width set by Map.size. + +```ludic +# doc-check: skip — illustrative +for x in 0 .. Map.width() { … } +``` diff --git a/docs/language/prefab/_section.md b/docs/language/prefab/_section.md new file mode 100644 index 00000000..f14bacc2 --- /dev/null +++ b/docs/language/prefab/_section.md @@ -0,0 +1,7 @@ +--- +id: prefab +title: Prefab +order: 47 +--- + +A prefab is a model with preset component fields — prefab Grunt: Creature { Stats { hp: 30 }, Weapon { def_id: 1 } } — spawned with spawn Grunt { Position { x: 40 } }, where the spawn's own fields override the presets. Prefabs chain (prefab Grunt: Foe, where Foe is itself a prefab) so shared presets live once. spawn is also an expression yielding the new entity (let e = spawn Grunt { … }), and Prefab.spawn spawns a prefab chosen at runtime by name. diff --git a/docs/language/prefab/prefab-spawn.md b/docs/language/prefab/prefab-spawn.md new file mode 100644 index 00000000..440b53aa --- /dev/null +++ b/docs/language/prefab/prefab-spawn.md @@ -0,0 +1,20 @@ +--- +id: prefab-spawn +name: Prefab.spawn +category: prefab +kind: namespace-method +tokens: Prefab.spawn +sig: Prefab.spawn(name: s) -> entity +tip: Spawn a prefab chosen by name at runtime; -1 if none has that name. +order: 1 +ns: Prefab +member: spawn +--- + +Spawns the prefab whose name matches the string, with all its presets, and returns the new entity — or -1 when no prefab has that name. Set what varies per spawn afterwards through Prop.of(entity). + +```ludic +# doc-check: skip — illustrative +let e = Prefab.spawn(name: roster.roll()) +Position.of(e).x = tile.x * 16 +``` diff --git a/docs/language/prefab/prefab-spawn_at.md b/docs/language/prefab/prefab-spawn_at.md new file mode 100644 index 00000000..c0685d75 --- /dev/null +++ b/docs/language/prefab/prefab-spawn_at.md @@ -0,0 +1,19 @@ +--- +id: prefab-spawn_at +name: Prefab.spawn_at +category: prefab +kind: namespace-method +tokens: Prefab.spawn_at +sig: Prefab.spawn_at(name: s, at: IVec2) -> entity +tip: Spawn a prefab by name and place it. +order: 2 +ns: Prefab +member: spawn_at +--- + +`Prefab.spawn` followed by writing the new entity's `Position` — the common case in one call. + +```ludic +# doc-check: skip — illustrative +let foe = Prefab.spawn_at(name: "Grunt", at: IVec2.make(60, 60)) +``` diff --git a/docs/language/random/random-weighted.md b/docs/language/random/random-weighted.md new file mode 100644 index 00000000..f596f38e --- /dev/null +++ b/docs/language/random/random-weighted.md @@ -0,0 +1,19 @@ +--- +id: random-weighted +name: Random.weighted +category: random +kind: namespace-method +tokens: Random.weighted +sig: Random.weighted(weights: []int) -> int +tip: An index drawn in proportion to its weight. +order: 10 +ns: Random +member: weighted +--- + +Picks an index into `weights` with probability proportional to the weight (a weight of 0 is never picked); -1 when every weight is 0. Deterministic, from the seeded RNG. A loot table, a spawn roster, a random event. + +```ludic +# doc-check: skip — illustrative +let pick = roster[Random.weighted(weights: weights)] +``` diff --git a/docs/language/screen/screen-bar.md b/docs/language/screen/screen-bar.md new file mode 100644 index 00000000..e473d13e --- /dev/null +++ b/docs/language/screen/screen-bar.md @@ -0,0 +1,19 @@ +--- +id: screen-bar +name: Screen.bar +category: screen +kind: namespace-method +tokens: Screen.bar +sig: Screen.bar(x:, y:, width:, height:, value:, max:, color:, back:) +tip: A filled meter: value of max over a track. +order: 40 +ns: Screen +member: bar +--- + +Draws a back-coloured track and fills value / max of its width in color. Health bars, cooldowns, loading progress. + +```ludic +# doc-check: skip — illustrative +Screen.bar(x: 80, y: 228, width: 160, height: 6, value: hp, max: max_hp, color: Color.Crimson, back: Color.RaisinBlack) +``` diff --git a/docs/language/sprite/sprite-draw_meter.md b/docs/language/sprite/sprite-draw_meter.md new file mode 100644 index 00000000..602fb111 --- /dev/null +++ b/docs/language/sprite/sprite-draw_meter.md @@ -0,0 +1,19 @@ +--- +id: sprite-draw_meter +name: Sprite.draw_meter +category: sprite +kind: namespace-method +tokens: Sprite.draw_meter +sig: Sprite.draw_meter(x:, y:, value:, max:, per_icon:, spacing:, full:, half:, empty:) +tip: A value as a row of full / half / empty icons. +order: 10 +ns: Sprite +member: draw_meter +--- + +Draws max / per_icon icons, each full, half or empty according to value — hearts, stars, ammo pips. + +```ludic +# doc-check: skip — illustrative +Sprite.draw_meter(x: 8, y: 8, value: hp, max: max_hp, per_icon: 20, spacing: 15, full: heart, half: half_heart, empty: empty_heart) +``` diff --git a/docs/language/sprite/sprite-strip.md b/docs/language/sprite/sprite-strip.md new file mode 100644 index 00000000..4bbdee7c --- /dev/null +++ b/docs/language/sprite/sprite-strip.md @@ -0,0 +1,20 @@ +--- +id: sprite-strip +name: Sprite.strip +category: sprite +kind: namespace-method +tokens: Sprite.strip +sig: Sprite.strip(sheet, col, row, count, rows) -> int +tip: A run of animation frames as consecutive sprite ids. +order: 9 +ns: Sprite +member: strip +--- + +Registers count frames starting at cell (col, row), each rows cells tall, as consecutive ids and returns the first. With a SpriteAnim on the entity the engine adds the current frame to Sprite.id, so the strip's first id is all a spawn needs. + +```ludic +# doc-check: skip — illustrative +let hero_run = Sprite.strip(sheet: sheet, col: 8, row: 2, count: 8, rows: 2) +spawn Hero { Sprite { id: hero_run, atlas: 1 }, SpriteAnim { fps: 8, frames: 4 } } +``` diff --git a/docs/language/structure/kw-prefab.md b/docs/language/structure/kw-prefab.md new file mode 100644 index 00000000..99b73a29 --- /dev/null +++ b/docs/language/structure/kw-prefab.md @@ -0,0 +1,21 @@ +--- +id: kw-prefab +name: prefab +category: structure +kind: keyword +tokens: prefab +sig: prefab Name: Model { Comp { field: value }, … } +tip: A model with preset component fields — spawn it, override what varies. +order: 9 +--- + +A prefab names a model together with preset field values, so what every spawn of a kind shares is written once: prefab Grunt: Creature { Stats { hp: 30 }, Weapon { def_id: 1 } }. spawn Grunt { Position { x: 40 } } spawns the model with the prefab's presets and then the spawn's own fields on top. Prefabs chain — prefab Grunt: Foe where Foe is itself a prefab — so shared presets live in one place. Field values are ordinary expressions evaluated at each spawn (a preset may read a global such as a loaded sprite id), @OnSpawn(Model) runs as for any spawn of the model, spawn is also an expression yielding the new entity, and Prefab.spawn(name:) picks a prefab by name at runtime. + +```ludic +# doc-check: skip — composite: prefabs plus their spawns +prefab Foe: Creature { Faction { id: 2 }, Body { policy: BodyPolicy.TopDown } } +prefab Grunt: Foe { Stats { hp: 30, max_hp: 30 }, Weapon { def_id: WeaponId.Bite } } + +let grunt = spawn Grunt { Position { x: 40, y: 60 } } +let other = Prefab.spawn(name: "Grunt") +``` diff --git a/docs/language/types/type-countdown.md b/docs/language/types/type-countdown.md new file mode 100644 index 00000000..69cc0640 --- /dev/null +++ b/docs/language/types/type-countdown.md @@ -0,0 +1,20 @@ +--- +id: type-countdown +name: countdown +category: types +kind: type +tokens: countdown +sig: countdown +tip: An int component field the engine steps toward 0 once per Update. +order: 9 +--- + +`countdown` is an `int` for a component field that the engine counts down: once per Update, for every live entity carrying the component, a `countdown` field above 0 loses one (it never goes below 0). It is the timer idiom — roll frames, invulnerability frames, a hit flash, a cooldown — as a type: set the field, then test it, and no handler decrements it. Everywhere else it is an ordinary `int`. + +```ludic +# doc-check: skip — illustrative +property Roll { frames_left: countdown = 0, cooldown: countdown = 0 } + +Roll.of(player).cooldown = 35 # 35 frames later it reads 0 +if Roll.of(player).cooldown == 0 { start_roll() } +``` diff --git a/docs/language/ui/_section.md b/docs/language/ui/_section.md new file mode 100644 index 00000000..70a2bb1b --- /dev/null +++ b/docs/language/ui/_section.md @@ -0,0 +1,7 @@ +--- +id: ui +title: Ui +order: 43 +--- + +The retained-mode menu API over a ui block. Ui.build constructs every declared widget tree once (after fonts and skins are loaded); Ui.open makes one menu active and Ui.close deactivates it; the frame loop ticks navigation on its own, an activation fires the UiClicked event, and Ui.clicked is the polled form; Ui.set_text updates a label or button, and Ui.render draws the active menu (call it from an Overlay handler so it paints over the world). Every id: Name in a ui block mints a UI_Name handle. diff --git a/docs/language/ui/ui-build.md b/docs/language/ui/ui-build.md new file mode 100644 index 00000000..46f36a4c --- /dev/null +++ b/docs/language/ui/ui-build.md @@ -0,0 +1,21 @@ +--- +id: ui-build +name: Ui.build +category: ui +kind: namespace-method +tokens: Ui.build +sig: Ui.build() +tip: Construct every declared ui block (loads skins, measures fonts). +order: 1 +ns: Ui +member: build +--- + +Builds the widget trees of every ui block. Call it once, after the fonts and images the blocks reference are loaded — a loading scene's last step is the usual place. + +```ludic +# doc-check: skip — illustrative +handler Boot phase Start { + Ui.build() +} +``` diff --git a/docs/language/ui/ui-clicked.md b/docs/language/ui/ui-clicked.md new file mode 100644 index 00000000..1bd224eb --- /dev/null +++ b/docs/language/ui/ui-clicked.md @@ -0,0 +1,21 @@ +--- +id: ui-clicked +name: Ui.clicked +category: ui +kind: namespace-method +tokens: Ui.clicked +sig: Ui.clicked(id: UI_Name) -> bool +tip: Was this control activated this frame? (polled form of UiClicked) +order: 5 +ns: Ui +member: clicked +--- + +True on the frame a focused control with that id was activated (Enter, Space, or pad A). The event form is @On(UiClicked) handler … { if id == UI_Name { … } }; either can become another scene. + +```ludic +# doc-check: skip — illustrative +handler Menu phase Update { + if Ui.clicked(id: UI_Play) { become Play } +} +``` diff --git a/docs/language/ui/ui-close.md b/docs/language/ui/ui-close.md new file mode 100644 index 00000000..a2cbc4ce --- /dev/null +++ b/docs/language/ui/ui-close.md @@ -0,0 +1,21 @@ +--- +id: ui-close +name: Ui.close +category: ui +kind: namespace-method +tokens: Ui.close +sig: Ui.close() +tip: Deactivate the menu: no menu is open. +order: 3 +ns: Ui +member: close +--- + +Closes whatever menu is active, so nothing is drawn by Ui.render and no click can fire. A play scene opens with it so a menu left over from the title never lingers. + +```ludic +# doc-check: skip — illustrative +scene Play { + on enter { Ui.close() } +} +``` diff --git a/docs/language/ui/ui-open.md b/docs/language/ui/ui-open.md new file mode 100644 index 00000000..38c5ba6a --- /dev/null +++ b/docs/language/ui/ui-open.md @@ -0,0 +1,21 @@ +--- +id: ui-open +name: Ui.open +category: ui +kind: namespace-method +tokens: Ui.open +sig: Ui.open(id: UI_Name) +tip: Make one menu active and focus its first button. +order: 2 +ns: Ui +member: open +--- + +Activates the menu whose root has that id and moves keyboard focus to its first focusable control. Only one menu is active at a time; opening another replaces it. + +```ludic +# doc-check: skip — illustrative +scene Title { + on enter { Ui.open(id: UI_TitleMenu) } +} +``` diff --git a/docs/language/ui/ui-render.md b/docs/language/ui/ui-render.md new file mode 100644 index 00000000..2a87fe8a --- /dev/null +++ b/docs/language/ui/ui-render.md @@ -0,0 +1,21 @@ +--- +id: ui-render +name: Ui.render +category: ui +kind: namespace-method +tokens: Ui.render +sig: Ui.render() +tip: Draw the active menu. +order: 7 +ns: Ui +member: render +--- + +Draws the active menu at its laid-out position. Call it from a handler in the Overlay phase so the menu is painted over the engine-drawn world; it draws nothing while no menu is open. + +```ludic +# doc-check: skip — illustrative +layer Menu { + handler Draw phase Overlay { Ui.render() } +} +``` diff --git a/docs/language/ui/ui-set_text.md b/docs/language/ui/ui-set_text.md new file mode 100644 index 00000000..2ff1fd1a --- /dev/null +++ b/docs/language/ui/ui-set_text.md @@ -0,0 +1,19 @@ +--- +id: ui-set_text +name: Ui.set_text +category: ui +kind: namespace-method +tokens: Ui.set_text +sig: Ui.set_text(id: UI_Name, text: s) +tip: Replace a label's or button's text. +order: 6 +ns: Ui +member: set_text +--- + +Sets the text of the label or button with that id; the menu re-lays itself out on its next tick. Interpolated strings make run stats one line. + +```ludic +# doc-check: skip — illustrative +Ui.set_text(id: UI_Stats, text: `floor {run.floor} kills {run.kills}`) +``` diff --git a/docs/language/ui/ui-tick.md b/docs/language/ui/ui-tick.md new file mode 100644 index 00000000..b6761d87 --- /dev/null +++ b/docs/language/ui/ui-tick.md @@ -0,0 +1,21 @@ +--- +id: ui-tick +name: Ui.tick +category: ui +kind: namespace-method +tokens: Ui.tick +sig: Ui.tick(key: k) +tip: Advance navigation by one key (the frame loop does this for you). +order: 4 +ns: Ui +member: tick +--- + +Moves focus and activates controls from one key code. The frame loop calls it every frame with the frame key, so a game normally never calls it; it remains for programs that drive their own loop from entry. + +```ludic +# doc-check: skip — illustrative +entry { + Ui.tick(key: Input.key()) +} +``` diff --git a/examples/library/combat_kit.ludic b/examples/library/combat_kit.ludic new file mode 100644 index 00000000..4afce2ce --- /dev/null +++ b/examples/library/combat_kit.ludic @@ -0,0 +1,46 @@ +# combat_kit.ludic — the shooter kit over ludic.gameplay: Dash (a dodge with i-frames), +# Melee (an arc swing with knockback and MeleeHit), build stats on Stats applied by +# Combat.damage (damage_pct, crit_pct, thorns; a Crit event), Stats.add, and the +# Dungeon package (arena, exits, entry points). Prints: +# 6846 153196 31 107110 6000 5002 1 80 97 11 10 700 110 +program CombatKit { + import "ludic.core/components.ludic" + import "ludic.shooter/shooter.ludic" + import "ludic.dungeon/dungeon.ludic" + import "ludic.prefs/prefs.ludic" + property Foe { n: int = 0 } + model Hero { Position, Body, Collider, TopDown, Weapon, Faction, Stats, Dash, Melee } + model Creature { Position, Body, Collider, Faction, Stats, Foe } + model WorldRules { Solids } + var frames: int = 0 + var hero: int = -1 + @On(MeleeHit) handler H { print(5000 + target) } + @On(Crit) handler C { print(6000) } + handler Tick phase Update { + frames += 1 + if frames == 1 { + Map.size(20, 15) + Dungeon.arena(Dungeon.random_style(), '#', '.') + Dungeon.set_exit(Side.North, 'D') + spawn WorldRules { Solids { tile: 16, wall: '#', solid2: 'D' } } + print(Map.get(x: 9, y: 0) * 100 + Map.get(x: 9, y: 7)) # 6846: the sealed door, the open lane + let e = Dungeon.entry_point(Side.South, 24, 14, 20) + print(e.x * 1000 + e.y) # 153196 + print(Dungeon.opposite(Side.West) * 10 + Dungeon.at_edge(IVec2.make(0, 3))) # 31 + Weapon.def(name: "p", fire_rate: 10, damage: 10, speed: 8, spread: 0, pellets: 1, pattern: 0) + hero = spawn Hero { Position { x: 100, y: 100 }, Collider { w: 14, h: 20 }, Body { policy: 1 }, TopDown { move_speed: 4, aim_mode: AimMode.Manual, aim_angle: 0 }, Faction { id: 1 }, + Stats { hp: 100, max_hp: 100 }, Dash { frames: 3, speed: 9, cooldown_frames: 5 }, Melee { range: 30, damage: 7, knockback: 4 } } + Stats.add(hero, StatKind.CritPct, 100) + Stats.add(hero, StatKind.DamagePct, 50) + let c = Collider.center(hero); print(c.x * 1000 + c.y) # 107110 + spawn Creature { Position { x: 120, y: 100 }, Collider { w: 14, h: 20 }, Body { policy: 1 }, Faction { id: 2 }, Stats { hp: 100, max_hp: 100, thorns: 3 }, Foe { n: 1 } } + Faction.set(1, 2, 2) + print(Melee.swing(hero)) # 1 hit (after 6000 and 5002) + for (s, f) in query [Stats, Foe] { print(s.hp) } # 80: 7 * 150% doubled by the crit + print(Stats.of(hero).hp) # 97: thorns + print(Dash.start(hero, 0, 0) * 10 + Dash.active(hero)) # 11 + print(Prefs.max("best", 5) * 10 + Prefs.max("best", 3)) # 10 + } + if frames == 7 { print(700 + Dash.active(hero)); print(Position.of(hero).x); quit() } # 700 110 + } +} diff --git a/examples/library/component_access.ludic b/examples/library/component_access.ludic new file mode 100644 index 00000000..9bfa956f --- /dev/null +++ b/examples/library/component_access.ludic @@ -0,0 +1,57 @@ +# component_access.ludic — typed component access from an entity handle: +# `Prop.of(e)` reads and writes fields, `Prop.has(e)` is safe for -1 and dead +# handles, `Prop.count()` counts, `Prop.despawn_all()` clears; `countdown` fields +# tick toward 0 each Update; `Enum.Variant` typed vars and machines. Prints: +# 9 15 10 33 1 0 0 1 0 1 101 100 102 1 2 1 0 +program ComponentAccess { + import "ludic.core/components.ludic" + property Hero { roll_frames: int = 0, iframes: int = 0, flash: countdown = 0 } + property Tag { n: int = 0 } + model Player { Position, Hero } + model Thing { Position, Tag } + enum HeroState { Idle, Rolling, Swinging } + var hero_state: HeroState = HeroState.Rolling + var player: int = -1 + var frames: int = 0 + function step() -> void { + machine hero_state { + state Idle { print(100); become Swinging } + state Rolling { print(101); become Idle } + state Swinging { print(102); become Rolling } + } + } + handler Tick phase Update { + frames += 1 + if frames == 1 { + player = spawn Player { Position { x: 3, y: 4 }, Hero { roll_frames: 9, flash: 3 } } + spawn Thing { Position { x: 30, y: 40 }, Tag { n: 7 } } + print(Hero.of(player).roll_frames) # 9 + Hero.of(player).iframes = 20 + Hero.of(player).iframes -= 5 + print(Hero.of(player).iframes) # 15 + let hero = Hero.of(player) + hero.roll_frames = hero.roll_frames + 1 + print(Hero.of(player).roll_frames) # 10 + print(Position.of(player).x + Position.of(1).x) # 33 + print(Hero.has(player)) # 1 + print(Hero.has(1)) # 0 + print(Hero.has(-1)) # 0 + print(Tag.has(1)) # 1 + despawn 1 + print(Tag.has(1)) # 0 + print(Position.count()) # 1: the player + spawn Thing { Position { x: 1 } } + } + if frames == 2 { + step(); step(); step() # 101 100 102 + print(hero_state) # 1 + print(Position.count()) # 2: the player and the thing spawned after + } + if frames == 3 { + print(Hero.of(player).flash) # ticked twice: 1 + Position.despawn_all() + print(Position.count()) # 0 + quit() + } + } +} diff --git a/examples/library/managers.ludic b/examples/library/managers.ludic new file mode 100644 index 00000000..5012d49e --- /dev/null +++ b/examples/library/managers.ludic @@ -0,0 +1,42 @@ +# managers.ludic — the engine managers: the Map cell API, Sprite facing / run strip / +# flash / blink, IVec2 geometry, List.sample, Input.move_i, Fx, the audio bank, +# Camera.shake_for, timed Assets. Deterministic; prints: +# 35046 46 251 53 900 -1 20 324 0 10 102 +program Managers { + import "ludic.core/components.ludic" + import "ludic.shooter/shooter.ludic" + property Tag { n: int = 0 } + model Thing { Position, Body, Sprite, Tag, TopDown } + model WorldRules { Solids } + var frames: int = 0 + handler Tick phase Update { + frames += 1 + if frames == 1 { + Map.size(10, 8) + Map.fill(glyph: '.') + Map.border(glyph: '#') + Map.rect(x: 4, y: 3, width: 2, height: 2, glyph: '#') + spawn WorldRules { Solids { tile: 16, wall: '#' } } + print(Map.get(x: 0, y: 0) * 1000 + Map.get(x: 5, y: 5)) # 35046: '#', '.' + let cell = Map.random_cell(glyph: '.') + print(Map.get(x: cell.x, y: cell.y)) # 46 + let a = IVec2.make(0, 0); let b = IVec2.make(3, 4) + print(IVec2.distance2(a, b) * 10 + IVec2.within(a, b, 5)) # 251 + print(IVec2.heading(a, b)) # 53 + let p = IVec2.along(a, 0, 10); print(p.x * 100 + p.y) # 900 (the sine table rounds down) + print(IVec2.step(180).x) # -1 + print(Angle.diff_degrees(a: 350, b: 10)) # 20 + let pool = new []int; push(pool, 7); push(pool, 8); push(pool, 9) + let picks = List.sample(pool, 3); print(len(picks) * 100 + picks[0] + picks[1] + picks[2]) # 324 + let m = Input.move_i(); print(m.x + m.y) # 0 + Audio.define(name: "hit", path: "nope.wav") + Audio.play(name: "hit") + Camera.shake_for(amount: 3, frames: 2) + Fx.sparks(x: 10, y: 10, color: 0xffffff, count: 4) + Fx.number(x: 20, y: 20, value: 42, color: 0xffff00) + spawn Thing { Position { x: 20, y: 20 }, Sprite { id: 5, move_id: 9, face: 1, flash: 3, blink: 6 }, TopDown { want_x: -1 } } + } + if frames == 3 { print(Map.is_solid(x: 0, y: 0) * 10 + Map.is_solid_at(x: 40, y: 40)) } # 10 + if frames == 5 { for (s, t) in query [Sprite, Tag] { print(s.flip * 100 + s.flash * 10 + s.blink) }; quit() } # 102 + } +} diff --git a/examples/library/prefabs.ludic b/examples/library/prefabs.ludic new file mode 100644 index 00000000..3b518b06 --- /dev/null +++ b/examples/library/prefabs.ludic @@ -0,0 +1,25 @@ +# prefabs.ludic — prefabs: a model with preset fields, chained (`Grunt: Foe: Creature`), +# spawned by name with overrides, `spawn` as an expression, `Prefab.spawn` / `spawn_at` +# by a runtime name, and `self()` inside @OnSpawn. Deterministic; prints: +# 230159 30 0 7 44 -1 2 +program Prefabs { + import "ludic.core/components.ludic" + property Enemy { kind: int = 0, hp: int = 10, team: int = 0 } + model Creature { Position, Enemy } + prefab Foe: Creature { Enemy { team: 2, hp: 1 }, Position { y: 9 } } + prefab Grunt: Foe { Enemy { kind: 1, hp: 30 } } + var last: int = -1 + @OnSpawn(Creature) handler Remember { last = self() } + entry { + let g = spawn Grunt { Position { x: 5 } } # Foe's presets, Grunt's, then this + print(Enemy.of(g).team * 100000 + Enemy.of(g).hp * 1000 + Enemy.of(g).kind * 100 + Position.of(g).x * 10 + Position.of(g).y) + let n = Prefab.spawn(name: "Grunt") + print(Enemy.of(n).hp) + print(g) # the first entity + let placed = Prefab.spawn_at(name: "Foe", at: IVec2.make(7, 44)) + print(Position.of(placed).x) + print(Position.of(placed).y) + print(Prefab.spawn(name: "Nope")) # no such prefab + print(last) # self() in the hook: the last spawn + } +} diff --git a/examples/library/scene_menus.ludic b/examples/library/scene_menus.ludic new file mode 100644 index 00000000..c3978392 --- /dev/null +++ b/examples/library/scene_menus.ludic @@ -0,0 +1,29 @@ +# scene_menus.ludic — scenes: `become` from an @On listener, @Queries handlers inside +# a layer, `scene X shows Menu` (opened / closed by the engine), `lasts N then Y`, +# `goto:` buttons, and scene-qualified handler names. Keys drive frames. Prints: +# 100 200 201 1 202 300 6 7 8 +program SceneMenus { + import "ludic.core/components.ludic" + property Pos { x: int = 0 } + model Thing { Pos } + var menu_font: int = 0 + var frames: int = 0 + ui Menu { + panel id: Root w: 100 pad: 4 bg: Color.Gunmetal border: Color.SlateGray align: center { + button id: Go text: "Go" font: menu_font size: 16 w: 80 goto: Play + } + } + scene Splash start lasts 1 then Title { on enter { print(100) } } + scene Title shows Menu { + on enter { print(200) } + on exit { print(202) } + layer L { handler Tick phase Update { frames += 1; if frames == 1 { print(201); emit UiClicked(id: UI_Go) } } } + } + @On(UiClicked) handler Report { print(id) } # UI_Go is widget 1 (the root panel is 0) + scene Play { + on enter { print(300); spawn Thing { Pos { x: 5 } } } + layer Sim { + @Queries(these: [Pos]) handler Tick phase Update { Pos.x += 1; print(Pos.x); if Pos.x >= 8 { quit() } } + } + } +} diff --git a/examples/library/sprite_atlas.ludic b/examples/library/sprite_atlas.ludic new file mode 100644 index 00000000..1af47be2 --- /dev/null +++ b/examples/library/sprite_atlas.ludic @@ -0,0 +1,51 @@ +# sprite_atlas.ludic — the engine sprite-render system draws atlas ids (#90). +# `Sprite { id, atlas: 1 }` marks `id` as a Sprite.cell / Sprite.cell_span sprite +# (any size, here a 16x32 two-cell character) and esys_sprite routes it through +# atlas_draw_ex with scale / flip / tint, so the #81 atlas API and the #85 engine +# sprite system compose. atlas: 0 (the default) keeps `id` a 16x16 table sprite. +# Verified by pixel readback after one frame. +# +# Driven headless by one stdin key ('q' quits after the frame renders). +# printf 'q' | LUDIC_MODULES=packages bin/ludic examples/library/sprite_atlas.ludic -> 32 1 1 1 0 +program SpriteAtlas { + import "ludic.core/components.ludic" + + var TALL: int = 0 + + function bi(b: bool) -> int { if b { return 1 }; return 0 } + + @OnStart handler Boot { + let sheet = Sprite.sheet("assets/kenney/tiny-dungeon/Tilemap/tilemap_packed.png", 16, 16) + TALL = Sprite.cell_span(sheet, 0, 0, 1, 2) # a 16x32 sprite: two cells tall + spawn Tall { Position { x: 40, y: 40 }, Sprite { id: TALL, atlas: 1 } } + spawn Tinted { Position { x: 100, y: 40 }, Sprite { id: TALL, atlas: 1, tint: 0xff0000 } } + spawn Table { Position { x: 160, y: 40 }, Sprite { id: TALL } } # atlas: 0 -> the (empty) 16x16 table + } + + # An empty Render handler: the engine sprite system draws the Sprite entities. + handler Draw phase Render { } + + @OnQuit handler Report { + print(Sprite.height(TALL)) # 32 — the span is two cells tall + + var top = 0 + for yy in 40 .. 56 { for xx in 40 .. 56 { if Screen.pixel(xx, yy) != 0 { top = 1 } } } + print(top) # 1 — the upper cell drew + + var bottom = 0 + for yy in 56 .. 72 { for xx in 40 .. 56 { if Screen.pixel(xx, yy) != 0 { bottom = 1 } } } + print(bottom) # 1 — the lower cell drew too (a table sprite stops at 16px) + + var tinted = 1 + var seen = 0 + for yy in 40 .. 72 { for xx in 100 .. 116 { + let c = Screen.pixel(xx, yy) + if c != 0 { seen = 1; if c != 0xff0000 { tinted = 0 } } + } } + print(bi((seen == 1) and (tinted == 1))) # 1 — every opaque pixel took the tint + + var table = 0 + for yy in 40 .. 72 { for xx in 160 .. 176 { if Screen.pixel(xx, yy) != 0 { table = 1 } } } + print(table) # 0 — without atlas: 1 the id is a table id (nothing loaded there) + } +} diff --git a/packages/ludic.core/components.ludic b/packages/ludic.core/components.ludic index decd2caa..574e0cfd 100644 --- a/packages/ludic.core/components.ludic +++ b/packages/ludic.core/components.ludic @@ -22,6 +22,7 @@ property Position { x: int = 0, y: int = 0 } # on_ground / hit_wall / hit_ceiling and the optional contact normal hit_nx/hit_ny # are OUTPUTS: read them in a handler to raise your own landing / bonk events # (the SpriteAnim.event_fired pattern — polled flags, no engine coupling). +enum BodyPolicy { Platformer, TopDown } # Body.policy: gravity applies / no gravity property Body { vx: fixed = 0.0, vy: fixed = 0.0, gravity: fixed = 0.0, max_fall: fixed = 0.0, @@ -48,15 +49,46 @@ property Collider { # Position anchor, scale is an integer zoom (0/1 = 1:1), flip mirrors horizontally, # tint (non-zero) draws every opaque pixel in one colour (hit flash), hidden = 1 # skips it. Draw order is spawn order; a game wanting custom draw omits Sprite. -property Sprite { id: int = 0, offx: int = 0, offy: int = 0, scale: int = 1, flip: int = 0, tint: int = 0, hidden: int = 0 } +# atlas = 1 marks `id` as an atlas sprite (Sprite.cell / Sprite.cell_span — any size, +# including multi-cell characters); 0 = the 16x16 sprite table (png_load). (#90) +# move_id: the strip drawn while the entity moves (0 = always `id`); face = 1 turns +# the sprite toward its movement (TopDown intent, else Body velocity); flash and +# blink are countdowns: white tint while flash > 0, hidden every other pair of +# frames while blink > 0 (a hit flash and invulnerability blink, no handler). +property Sprite { + id: int = 0, offx: int = 0, offy: int = 0, scale: int = 1, flip: int = 0, tint: int = 0, hidden: int = 0, atlas: int = 0, + move_id: int = 0, face: int = 0, flash: countdown = 0, blink: countdown = 0 +} + +# Collider.center(e): the middle of an entity's box, from its Position and Collider +@Namespace(Collider) function collider_center(e: int) -> IVec2 { + let PP = World.prop_id("Position") + let PC = World.prop_id("Collider") + var x = 0; var y = 0; var w = 0; var h = 0 + if (PP >= 0) and (World.has(e, PP) != 0) { x = World.get(e, PP, World.field_id(PP, "x")); y = World.get(e, PP, World.field_id(PP, "y")) } + if (PC >= 0) and (World.has(e, PC) != 0) { w = World.get(e, PC, World.field_id(PC, "w")); h = World.get(e, PC, World.field_id(PC, "h")) } + return IVec2.make(x + w / 2, y + h / 2) +} # Optional single config entity that turns the tile-grid broadphase on: solids are # read from the Map.* tilemap. tile > 0 sets the tile size in px; wall is the solid # glyph; oneway is an optional one-way-platform glyph (0 = none). -property Solids { tile: int = 0, wall: int = 0, oneway: int = 0 } +# solid2 is an optional second solid glyph (0 = none) — e.g. a closed door drawn with +# its own TileSkin while it blocks movement. +property Solids { tile: int = 0, wall: int = 0, oneway: int = 0, solid2: int = 0 } + +# The engine-advanced animation clock (esys_spriteanim): `frame` is the current cell +# (0..frames-1) and the sprite system adds it to Sprite.id. mode 0 loop, 1 once, 2 pingpong. +enum AnimMode { Loop, Once, PingPong } # SpriteAnim.mode +property SpriteAnim { ticks: int = 0, fps: int = 8, frames: int = 4, mode: int = 0, frame: int = 0 } + +# One entity per map glyph: the engine tilemap-render system paints every Map.* cell +# carrying `glyph` with `sprite` (atlas id when atlas = 1), before sprites are drawn. +property TileSkin { glyph: int = 0, sprite: int = 0, atlas: int = 1, size: int = 16, scale: int = 1 } # Optional single config entity defining a world boundary / play area (#84): a rect # (x, y, w, h) and a policy the engine applies to every moving Body each frame — # 0 clamp (walls), 1 wrap (toroidal), 2 bounce (flip velocity), 3 kill (despawn when # fully outside). Off by default (no Bounds entity = open world). +enum BoundsPolicy { Clamp, Wrap, Bounce, Kill } # Bounds.policy property Bounds { x: int = 0, y: int = 0, w: int = 0, h: int = 0, policy: int = 0 } diff --git a/packages/ludic.core/package.ludic b/packages/ludic.core/package.ludic index df2f3ea6..b6b3e15d 100644 --- a/packages/ludic.core/package.ludic +++ b/packages/ludic.core/package.ludic @@ -22,3 +22,5 @@ provides "Collider" provides "Solids" provides "Sprite" provides "Bounds" +provides "SpriteAnim" +provides "TileSkin" diff --git a/packages/ludic.dungeon/dungeon.ludic b/packages/ludic.dungeon/dungeon.ludic new file mode 100644 index 00000000..a7400098 --- /dev/null +++ b/packages/ludic.dungeon/dungeon.ludic @@ -0,0 +1,124 @@ +# dungeon.ludic — `Dungeon.*`: arena rooms for a room-to-room roguelite, built +# straight into the engine tilemap (Map.*). +# +# Dungeon.arena(style, wall, floor) a walled room with mirrored cover in one of +# the RoomStyles, and the door lanes (two cells +# wide, through the centre) always open +# Dungeon.open_arena(wall, floor) the walled room alone (a boss arena) +# Dungeon.random_style() a style roll (Scatter twice as likely) +# Dungeon.set_exit(side, glyph) the two centre cells of one edge +# Dungeon.entry_point(side, inset, w, h) where a w x h body starts after entering +# Dungeon.opposite(side) the side across the room +# Dungeon.at_edge(tile) is a tile on the border? (an open doorway is +# the only border cell a body can stand in) +# +# Cover never touches the two-tile margin, and every style mirrors across both axes, +# so every quadrant stays reachable. Deterministic: the seeded RNG drives it all. + +enum Side { North, South, West, East } # opposite = side ^ 1 +enum RoomStyle { Pillars, Columns, CenterSlab, Bars, Scatter } + +const DUNGEON_MARGIN: int = 2 + +var dungeon_wall: int = '#' +var dungeon_floor: int = '.' + +function dungeon_columns() -> int { return Map.width() } +function dungeon_rows() -> int { return Map.height() } +function dungeon_door_column() -> int { return Map.width() / 2 - 1 } # the left of the two door cells +function dungeon_door_row() -> int { return Map.height() / 2 } # the top of the two door cells + +# a wall, but never in the margin so rooms stay traversable +function dungeon_place(x: int, y: int) -> void { + if (x < DUNGEON_MARGIN) or (x > dungeon_columns() - 1 - DUNGEON_MARGIN) { return } + if (y < DUNGEON_MARGIN) or (y > dungeon_rows() - 1 - DUNGEON_MARGIN) { return } + Map.set(x: x, y: y, glyph: dungeon_wall) +} +function dungeon_mirrored(x: int, y: int) -> void { + dungeon_place(x, y) + dungeon_place(dungeon_columns() - 1 - x, y) + dungeon_place(x, dungeon_rows() - 1 - y) + dungeon_place(dungeon_columns() - 1 - x, dungeon_rows() - 1 - y) +} +function dungeon_pillar(x: int, y: int) -> void { # 2x2, mirrored four ways + dungeon_mirrored(x, y) + dungeon_mirrored(x + 1, y) + dungeon_mirrored(x, y + 1) + dungeon_mirrored(x + 1, y + 1) +} + +function dungeon_style(style: int) -> void { + let cols = dungeon_columns() + let rows = dungeon_rows() + match style { + RoomStyle.Pillars => { + let x = Random.range(low: 3, high: 5) + let y = Random.range(low: 3, high: 4) + dungeon_pillar(x, y) + if Random.chance(percent: 60) { dungeon_pillar(x + 3, y + 2) } + } + RoomStyle.Columns => { + let x = Random.range(low: 4, high: 6) + for y in 3 .. rows - 3 { dungeon_mirrored(x, y) } + } + RoomStyle.CenterSlab => { Map.rect(x: 6, y: 5, width: cols - 12, height: rows - 10, glyph: dungeon_wall) } + RoomStyle.Bars => { + let y = Random.range(low: 3, high: 4) + for x in 4 .. cols - 4 { dungeon_mirrored(x, y) } + } + _ => { + for i in 0 .. Random.range(low: 3, high: 5) { + let x = Random.range(low: 3, high: cols / 2 - 1) + dungeon_place(x, Random.range(low: 3, high: rows - 4)) + dungeon_place(cols - 1 - x, Random.range(low: 3, high: rows - 4)) + } + } + } +} + +@Namespace(Dungeon) function dungeon_open_arena(wall: int, floor: int) -> void { + dungeon_wall = wall + dungeon_floor = floor + Map.fill(glyph: floor) + Map.border(glyph: wall) +} +@Namespace(Dungeon) function dungeon_arena(style: int, wall: int, floor: int) -> void { + dungeon_open_arena(wall, floor) + dungeon_style(style) + Map.rect(x: dungeon_door_column(), y: 1, width: 2, height: dungeon_rows() - 2, glyph: floor) # the door lanes + Map.rect(x: 1, y: dungeon_door_row(), width: dungeon_columns() - 2, height: 2, glyph: floor) +} +@Namespace(Dungeon) function dungeon_random_style() -> int { return Random.range(low: 0, high: 5) } + +# the first of an exit's two cells, and the step to the second +function dungeon_exit_cell(side: int) -> IVec2 { + match side { + Side.North => { return IVec2.make(dungeon_door_column(), 0) } + Side.South => { return IVec2.make(dungeon_door_column(), dungeon_rows() - 1) } + Side.West => { return IVec2.make(0, dungeon_door_row()) } + _ => { return IVec2.make(dungeon_columns() - 1, dungeon_door_row()) } + } +} +@Namespace(Dungeon) function dungeon_set_exit(side: int, glyph: int) -> void { + let first = dungeon_exit_cell(side) + var second = IVec2.add(first, IVec2.make(0, 1)) + if side <= Side.South { second = IVec2.add(first, IVec2.make(1, 0)) } + Map.set(x: first.x, y: first.y, glyph: glyph) + Map.set(x: second.x, y: second.y, glyph: glyph) +} +# where a body of w x h px starts after entering from `side`, `inset` px inside the edge +@Namespace(Dungeon) function dungeon_entry_point(side: int, inset: int, w: int, h: int) -> IVec2 { + let tile = rt_map_tile_px + let across_x = (dungeon_door_column() + 1) * tile - w / 2 + let across_y = dungeon_door_row() * tile + (2 * tile - h) / 2 + match side { + Side.North => { return IVec2.make(across_x, inset) } + Side.South => { return IVec2.make(across_x, dungeon_rows() * tile - inset - h) } + Side.West => { return IVec2.make(inset, across_y) } + _ => { return IVec2.make(dungeon_columns() * tile - inset - w, across_y) } + } +} +@Namespace(Dungeon) function dungeon_opposite(side: int) -> int { return side ^ 1 } +@Namespace(Dungeon) function dungeon_at_edge(tile: IVec2) -> bool { + return (tile.x == 0) or (tile.y == 0) or (tile.x == dungeon_columns() - 1) or (tile.y == dungeon_rows() - 1) +} diff --git a/packages/ludic.dungeon/package.ludic b/packages/ludic.dungeon/package.ludic new file mode 100644 index 00000000..f04ac1ab --- /dev/null +++ b/packages/ludic.dungeon/package.ludic @@ -0,0 +1,6 @@ +# ludic.dungeon — arena rooms for a room-to-room roguelite, built into the engine +# tilemap: mirrored cover styles, door lanes, exits by side, entry points. +package "ludic.dungeon" +version "0.1.0" +kind source +provides "Dungeon" diff --git a/packages/ludic.gameplay/combat.ludic b/packages/ludic.gameplay/combat.ludic index 1d4d4313..31551a34 100644 --- a/packages/ludic.gameplay/combat.ludic +++ b/packages/ludic.gameplay/combat.ludic @@ -21,6 +21,9 @@ event cancellable DamageAboutToApply { target: int = 0, src: int = 0, amount: in event Damaged { target: int = 0, src: int = 0, amount: int = 0 } event Died { e: int = 0, src: int = 0 } event Healed { e: int = 0, amount: int = 0 } +event Crit { target: int = 0, src: int = 0 } # the attacker's crit_pct fired + +var combat_reflecting: bool = false # thorns never reflect thorns # the mutable channel for lever 6: listeners rewrite the pending damage here. var combat_pending: int = 0 @@ -47,7 +50,11 @@ var combat_pending: int = 0 let fhp = World.field_id(P, "hp") if fhp < 0 { return 0 } - combat_pending = combat_mitigate(target, amount) + # the attacker's build: damage_pct, then a crit_pct chance to double + var raw = amount * stats_field(src, "damage_pct", 100) / 100 + let crit = stats_field(src, "crit_pct", 0) + if (crit > 0) and Random.chance(percent: crit) { raw = raw * 2; emit Crit(target: target, src: src) } + combat_pending = combat_mitigate(target, raw) if emit DamageAboutToApply(target: target, src: src, amount: combat_pending) != 0 { return 0 } var dmg = combat_pending if dmg < 0 { dmg = 0 } @@ -57,6 +64,17 @@ var combat_pending: int = 0 World.set(target, P, fhp, hp) emit Damaged(target: target, src: src, amount: dmg) if hp <= 0 { emit Died(e: target, src: src) } + # the attacker's leech, and the defender's thorns (never reflected back again) + if dmg > 0 { + let leech = stats_field(src, "leech_pct", 0) + if (leech > 0) and Random.chance(percent: leech) { combat_heal(src, stats_field(src, "leech_hp", 1)) } + let thorns = stats_field(target, "thorns", 0) + if (thorns > 0) and (src != target) and (not combat_reflecting) and (World.has(src, P) != 0) { + combat_reflecting = true + combat_damage(src, target, thorns) + combat_reflecting = false + } + } return dmg } diff --git a/packages/ludic.gameplay/stats.ludic b/packages/ludic.gameplay/stats.ludic index 51af8da2..49ca3a3a 100644 --- a/packages/ludic.gameplay/stats.ludic +++ b/packages/ludic.gameplay/stats.ludic @@ -10,11 +10,58 @@ # Stat codes (the `stat` argument everywhere below): # 0 = max_hp 1 = atk 2 = def 3 = spd 4 = max_mp +enum StatKind { MaxHp, Attack, Defense, Speed, MaxMp, DamagePct, CritPct, LeechPct, Thorns, FireRatePct } # Stats.* stat codes +enum ModifyOp { Flat, Percent } # Stats.modify op +# The build stats Combat.damage applies by itself: the attacker's damage_pct and +# crit_pct (a crit doubles), its leech_pct chance to heal leech_hp on a hit, the +# defender's thorns dealt back, and fire_rate_pct the weapon system reads. property Stats { hp: int = 0, max_hp: int = 0, mp: int = 0, max_mp: int = 0, atk: int = 0, def: int = 0, spd: int = 0, - level: int = 1, xp: int = 0 + level: int = 1, xp: int = 0, + damage_pct: int = 100, crit_pct: int = 0, leech_pct: int = 0, leech_hp: int = 1, thorns: int = 0, fire_rate_pct: int = 100 +} + +# a Stats field of an entity by name, or `fallback` when absent +function stats_field(e: int, name: pointer, fallback: int) -> int { + let P = World.prop_id("Stats") + if (P < 0) or (World.has(e, P) == 0) { return fallback } + let f = World.field_id(P, name) + if f < 0 { return fallback } + return World.get(e, P, f) +} +# the Stats field a stat code names +function stats_field_name(stat: int) -> pointer { + match stat { + StatKind.MaxHp => { return "max_hp" } + StatKind.Attack => { return "atk" } + StatKind.Defense => { return "def" } + StatKind.Speed => { return "spd" } + StatKind.MaxMp => { return "max_mp" } + StatKind.DamagePct => { return "damage_pct" } + StatKind.CritPct => { return "crit_pct" } + StatKind.LeechPct => { return "leech_pct" } + StatKind.Thorns => { return "thorns" } + _ => { return "fire_rate_pct" } + } +} +# Stats.add(e, stat, amount): change a base stat in place (a permanent upgrade) +@Namespace(Stats) function stats_add(e: int, stat: int, amount: int) -> void { + let P = World.prop_id("Stats") + if (P < 0) or (World.has(e, P) == 0) { return } + let f = World.field_id(P, stats_field_name(stat)) + if f >= 0 { World.set(e, P, f, World.get(e, P, f) + amount) } +} +# Stats.scale_hp(e, percent): hp and max_hp scaled (a floor's difficulty) +@Namespace(Stats) function stats_scale_hp(e: int, percent: int) -> void { + let P = World.prop_id("Stats") + if (P < 0) or (World.has(e, P) == 0) { return } + let fhp = World.field_id(P, "hp") + let fmax = World.field_id(P, "max_hp") + let hp = World.get(e, P, fhp) * percent / 100 + World.set(e, P, fhp, hp) + World.set(e, P, fmax, hp) } # a single timed modifier, carried on its own entity so the stack is dynamic. diff --git a/packages/ludic.npcai/npcai.ludic b/packages/ludic.npcai/npcai.ludic index d4adaeac..5648db77 100644 --- a/packages/ludic.npcai/npcai.ludic +++ b/packages/ludic.npcai/npcai.ludic @@ -23,11 +23,14 @@ property Vision { range: int = 140, fov: int = 360, scan: int = 6, scan_t: int = property Memory { has_target: int = 0, target: int = 0, last_x: int = 0, last_y: int = 0, alertness: int = 0, ttl: int = 0 } # model: 0 FSM, 1 utility, 2 behaviour-tree. state (FSM): 0 patrol,1 chase,2 attack,3 flee. +enum BrainModel { StateMachine, Utility, BehaviourTree } # Brain.model +enum AiState { Patrol, Chase, Attack, Flee } # Brain.state / DecisionMade.action property Brain { model: int = 0, state: int = 0, attack_range: int = 40, flee_pct: int = 0, intent_x: int = 0, intent_y: int = 0, want_fire: int = 0, - home_x: int = 0, home_y: int = 0, seed: int = 1 + home_x: int = 0, home_y: int = 0, seed: int = 1, + hunt_blind: int = 0 # 1 = with no target in sight, seek the nearest hostile anyway (no idle patrol) } property Follower { leader: int = 0 - 1, distance: int = 40, mode: int = 0 } # mode 0 follow,1 guard,2 aggressive property Steering { separate: int = 0, cohere: int = 0, align: int = 0, radius: int = 48 } @@ -147,9 +150,46 @@ function brain_set_state(e: int, st: int) -> void { } # steer the Brain intent toward / away from a point (8-way signed intent). +# the Solids config (tile size / wall glyph) when the game declared one, else 0 +function ai_solid_tile() -> int { + let ps = World.prop_id("Solids") + if ps < 0 { return 0 } + let se = World.query_next(ps, 0) + if se < 0 { return 0 } + let ft = World.field_id(ps, "tile") + if ft < 0 { return 0 } + return World.get(se, ps, ft) +} +function ai_solid_wall() -> int { + let ps = World.prop_id("Solids") + let se = World.query_next(ps, 0) + return World.get(se, ps, World.field_id(ps, "wall")) +} + +# move toward (tx,ty). With a tilemap, a blocked straight line is routed around +# obstacles with Grid.a_star on the tile grid: the intent points at the next +# waypoint, so bodies flow around pillars instead of pushing into them. function brain_seek(e: int, tx: int, ty: int) -> void { let px = ai_get("Position", e, "x") let py = ai_get("Position", e, "y") + let ts = ai_solid_tile() + if ts > 0 { + let wall = ai_solid_wall() + let cx = px / ts; let cy = py / ts + let gx = tx / ts; let gy = ty / ts + if (cx != gx) or (cy != gy) { + if not Grid.line_of_sight(x0: cx, y0: cy, x1: gx, y1: gy, wall: wall) { + let path = Grid.a_star(x0: cx, y0: cy, x1: gx, y1: gy, wall: wall) + if len(path) > 1 { + let nx = path[1].x * ts + ts / 2 + let ny = path[1].y * ts + ts / 2 + ai_set("Brain", e, "intent_x", sign_i(nx - (px + ts / 2))) + ai_set("Brain", e, "intent_y", sign_i(ny - (py + ts / 2))) + return + } + } + } + } ai_set("Brain", e, "intent_x", sign_i(tx - px)) ai_set("Brain", e, "intent_y", sign_i(ty - py)) } @@ -226,9 +266,36 @@ function ai_decide_fsm(e: int) -> void { } } } else { - if emit DecisionMade(e: e, action: 0) == 0 { brain_set_state(e, 0); brain_wander(e) } + let prey = brain_nearest_hostile(e) + if (ai_get("Brain", e, "hunt_blind") == 1) and (prey >= 0) { + if emit DecisionMade(e: e, action: 1) == 0 { brain_set_state(e, 1); brain_seek(e, ai_get("Position", prey, "x"), ai_get("Position", prey, "y")) } + } else { + if emit DecisionMade(e: e, action: 0) == 0 { brain_set_state(e, 0); brain_wander(e) } + } } } +# the nearest entity hostile to e (by Faction) that has a Position, or -1 +function brain_nearest_hostile(e: int) -> int { + let PF = World.prop_id("Faction") + let PP = World.prop_id("Position") + if (PF < 0) or (PP < 0) { return 0 - 1 } + let fac = Faction.id_of(e) + let px = ai_get("Position", e, "x") + let py = ai_get("Position", e, "y") + var best = 0 - 1 + var bestd = 0 + var o = World.query_next(PF, 0) + while o >= 0 { + if (o != e) and (World.has(o, PP) != 0) and (Faction.hostile(fac, Faction.id_of(o)) == 1) { + let dx = ai_get("Position", o, "x") - px + let dy = ai_get("Position", o, "y") - py + let d = dx * dx + dy * dy + if (best < 0) or (d < bestd) { best = o; bestd = d } + } + o = World.query_next(PF, o + 1) + } + return best +} # --- (b) utility AI: score each action, act on the highest --- function ai_decide_utility(e: int) -> void { @@ -386,6 +453,7 @@ function ai_decide_bt(e: int) -> void { # Ai.* convenience # --------------------------------------------------------------------------- @Namespace(Ai) function ai_set_model(e: int, model: int) -> void { ai_set("Brain", e, "model", model) } +@Namespace(Ai) function ai_seek(e: int, tx: int, ty: int) -> void { brain_seek(e, tx, ty) } # path-aware move-toward @Namespace(Ai) function ai_state(e: int) -> int { return ai_get("Brain", e, "state") } @Namespace(Ai) function ai_target(e: int) -> int { if ai_get("Memory", e, "has_target") == 1 { return ai_get("Memory", e, "target") } diff --git a/packages/ludic.prefs/package.ludic b/packages/ludic.prefs/package.ludic new file mode 100644 index 00000000..bdb97534 --- /dev/null +++ b/packages/ludic.prefs/package.ludic @@ -0,0 +1,7 @@ +# ludic.prefs — a tiny, human-readable key = value store for player preferences and +# records (high scores, options). Text file, one `key=value` per line, integers only; +# a whole-world Save.write is the wrong tool for "remember my best run". +package "ludic.prefs" +version "0.1.0" +kind source +provides "Prefs" diff --git a/packages/ludic.prefs/prefs.ludic b/packages/ludic.prefs/prefs.ludic new file mode 100644 index 00000000..7c12d670 --- /dev/null +++ b/packages/ludic.prefs/prefs.ludic @@ -0,0 +1,121 @@ +# prefs.ludic — `Prefs.*`: named integer preferences persisted as plain text. +# +# Prefs.load("save/prefs.txt") read the file if it exists (missing = empty) +# Prefs.get("best_floor", 0) an int by name, with a default +# Prefs.set("best_floor", 3) set (and remember) a value +# Prefs.save() write every key back as `key=value` lines +# +# Deterministic and dependency-free: one file, up to PREFS_MAX entries. + +const PREFS_MAX: int = 64 + +var prefs_path: pointer = null +var prefs_names: pointers = null +var prefs_vals: words = null +var prefs_n: int = 0 + +namespace Prefs { + internal function init() -> void { + if prefs_names != null { return } + prefs_names = bytes(PREFS_MAX * 8) + prefs_vals = words(PREFS_MAX) + prefs_n = 0 + } + + internal function find(key: pointer) -> int { + var i = 0 + while i < prefs_n { if prefs_names[i] == key { return i }; i = i + 1 } + return 0 - 1 + } + + export function get(key: pointer, fallback: int) -> int { + init() + let i = find(key) + if i < 0 { return fallback } + return prefs_vals[i] + } + + # keep the larger of the stored value and `value`; true when `value` is a new record + export function max(key: pointer, value: int) -> bool { + if value <= get(key, 0) { return false } + set(key, value) + return true + } + + export function set(key: pointer, value: int) -> void { + init() + var i = find(key) + if i < 0 { + if prefs_n >= PREFS_MAX { return } + i = prefs_n + prefs_names[i] = key + prefs_n = prefs_n + 1 + } + prefs_vals[i] = value + } + + # the text of a whole file, or null when it does not exist + internal function read_all(path: pointer) -> pointer { + let f = file_open(path, "rb") + if f == null { return null } + file_seek(f, 0, 2) + let size = file_tell(f) + file_seek(f, 0, 0) + let buf = bytes(size + 1) + file_read(f, buf, size) + file_close(f) + buf[size] = 0 + return buf + } + + # digits after `=` on one line -> an int (a leading '-' negates) + internal function parse_line(buf: pointer, from: int, to: int) -> void { + var eq = from + while (eq < to) and (buf[eq] != 61) { eq = eq + 1 } # '=' + if eq >= to { return } + let key = bytes(eq - from + 1) + var k = 0 + while k < eq - from { key[k] = buf[from + k]; k = k + 1 } + key[eq - from] = 0 + var v = 0 + var neg = false + var p = eq + 1 + if (p < to) and (buf[p] == 45) { neg = true; p = p + 1 } # '-' + while (p < to) and (buf[p] >= 48) and (buf[p] <= 57) { v = v * 10 + (buf[p] - 48); p = p + 1 } + if neg { v = 0 - v } + set(key, v) + } + + export function load(path: pointer) -> void { + init() + prefs_path = path + let buf = read_all(path) + if buf == null { return } + var start = 0 + var i = 0 + while buf[i] != 0 { + if buf[i] == 10 { parse_line(buf, start, i); start = i + 1 } # newline + i = i + 1 + } + if i > start { parse_line(buf, start, i) } + } + + internal function write_text(f: pointer, s: pointer) -> void { + var n = 0 + while s[n] != 0 { n = n + 1 } + file_write(f, s, n) + } + + export function save() -> void { + init() + if prefs_path == null { return } + let f = file_open(prefs_path, "wb") + if f == null { return } + var i = 0 + while i < prefs_n { + write_text(f, `{prefs_names[i]}={string(prefs_vals[i])}\n`) + i = i + 1 + } + file_close(f) + } +} diff --git a/packages/ludic.rpg/status.ludic b/packages/ludic.rpg/status.ludic index d75d4896..157f8673 100644 --- a/packages/ludic.rpg/status.ludic +++ b/packages/ludic.rpg/status.ludic @@ -11,6 +11,7 @@ import "ludic.gameplay/combat.ludic" +enum StatusKind { Poison, Regen } # Status.apply kind property Status { target: int = 0, kind: int = 0, amount: int = 0, interval: int = 30, ttl: int = 0, t: int = 0 } model StatusFx { Status } @OnSpawn(StatusFx) handler StatusFxInit { } diff --git a/packages/ludic.shooter/shooter.ludic b/packages/ludic.shooter/shooter.ludic index 74913673..7cc03e61 100644 --- a/packages/ludic.shooter/shooter.ludic +++ b/packages/ludic.shooter/shooter.ludic @@ -21,6 +21,8 @@ const WPN_MAX: int = 64 # --------------------------------------------------------------------------- # Components # --------------------------------------------------------------------------- +enum AimMode { Mouse, RightStick, MoveDirection, NearestEnemy, Manual, Auto } # TopDown.aim_mode; Auto = mouse, or the right stick while a pad is connected +enum WeaponPattern { Single, Cone, Ring, Spiral } # Weapon.def pattern property TopDown { move_speed: int = 4, # px/frame accel: int = 80, # responsiveness %, gap closed / frame @@ -32,7 +34,9 @@ property TopDown { want_x: int = 0, # -1/0/1 move intent (input OR ai writes) want_y: int = 0, want_fire: int = 0, # 1 = fire held (input OR ai writes) - policy: int = 0 + policy: int = 0, + reticle: int = 0, # a colour: the engine draws an aim line of reticle_length px (0 = none) + reticle_length: int = 18 # and a cross at the mouse while aiming with it } # a Weapon instance points at a registry entry (def_id). cooldown counts down to @@ -40,6 +44,7 @@ property TopDown { property Weapon { def_id: int = 0, ammo: int = 0 - 1, cooldown: int = 0, phase: int = 0 } property Projectile { + color: int = 0xffffff, # drawn by the engine as a 3x3 square (Weapon.set_color) vx: fixed = 0.0, vy: fixed = 0.0, rx: fixed = 0.0, ry: fixed = 0.0, dir: int = 0, # heading in degrees (drives homing without re-deriving from velocity) speed: int = 8, damage: int = 1, ttl: int = 120, @@ -71,6 +76,7 @@ var wpn_pattern: words = null var wpn_ttl: words = null var wpn_pierce: words = null var wpn_homing: words = null +var wpn_color: words = null function wpn_ensure() -> void { if wpn_reg == null { @@ -78,6 +84,7 @@ function wpn_ensure() -> void { wpn_rate = words(WPN_MAX); wpn_dmg = words(WPN_MAX); wpn_speed = words(WPN_MAX) wpn_spread = words(WPN_MAX); wpn_pellets = words(WPN_MAX); wpn_pattern = words(WPN_MAX) wpn_ttl = words(WPN_MAX); wpn_pierce = words(WPN_MAX); wpn_homing = words(WPN_MAX) + wpn_color = words(WPN_MAX); wpn_rate_base = words(WPN_MAX) } } @@ -90,6 +97,8 @@ function wpn_ensure() -> void { wpn_rate[id] = fire_rate; wpn_dmg[id] = damage; wpn_speed[id] = speed wpn_spread[id] = spread; wpn_pellets[id] = pellets; wpn_pattern[id] = pattern wpn_ttl[id] = 120 + wpn_color[id] = 0xffffff + wpn_rate_base[id] = fire_rate wpn_n = wpn_n + 1 Dict.set(wpn_reg, name, id) return id @@ -98,6 +107,23 @@ function wpn_ensure() -> void { wpn_ensure() return Dict.get_or(wpn_reg, name, 0 - 1) } +# Weapon.set_rate(id, frames) — frames between shots (a fire-rate upgrade changes it in place). +@Namespace(Weapon) function weapon_set_rate(id: int, frames: int) -> void { + wpn_ensure(); if (id >= 0) and (id < WPN_MAX) { wpn_rate[id] = frames } +} +@Namespace(Weapon) function weapon_rate(id: int) -> int { + wpn_ensure(); if (id >= 0) and (id < WPN_MAX) { return wpn_rate[id] }; return 0 +} +# Weapon.reset(id) — back to the definition: no pierce, no homing, the defined fire rate. +var wpn_rate_base: words = null +@Namespace(Weapon) function weapon_reset(id: int) -> void { + wpn_ensure(); if (id < 0) or (id >= WPN_MAX) { return } + wpn_pierce[id] = 0; wpn_homing[id] = 0; wpn_rate[id] = wpn_rate_base[id] +} +# Weapon.set_color(id, color) — the colour the engine draws this weapon's shots in. +@Namespace(Weapon) function weapon_set_color(id: int, color: int) -> void { + wpn_ensure(); if (id >= 0) and (id < WPN_MAX) { wpn_color[id] = color } +} # Weapon.set_ttl(id, frames) — projectile lifetime for a weapon (range control). @Namespace(Weapon) function weapon_set_ttl(id: int, frames: int) -> void { wpn_ensure(); if (id >= 0) and (id < WPN_MAX) { wpn_ttl[id] = frames } @@ -163,8 +189,8 @@ function sh_nearest_enemy(self_e: int, fac: int, px: int, py: int) -> int { while e >= 0 { if (e != self_e) and (World.has(e, PP) != 0) { if Faction.hostile(fac, Faction.id_of(e)) == 1 { - let dx = pos_get(e, "x") - px - let dy = pos_get(e, "y") - py + let dx = sh_cx(e) - px + let dy = sh_cy(e) - py let d = dx * dx + dy * dy if (best < 0) or (d < bestd) { best = e; bestd = d } } @@ -177,6 +203,169 @@ function sh_nearest_enemy(self_e: int, fac: int, px: int, py: int) -> int { # =========================================================================== # esys_topdown_move (FixedUpdate) — 2-axis acceleration toward the move intent. # =========================================================================== +# =========================================================================== +# Dash — the dodge roll: a burst of `speed` for `frames` frames in a fixed +# direction, invulnerable while it lasts, then `cooldown_frames` before the next. +# Dash.start(e, dx, dy) -> bool begin one (a zero direction dashes along the aim); +# false while cooling down +# Dash.active(e) -> bool mid-dash? +# esys_dash (FixedUpdate, before the mover) overrides the movement intent and the +# fire intent for the dash, restoring the walking speed when it ends. +# =========================================================================== +property Dash { + frames: int = 10, speed: int = 11, cooldown_frames: int = 35, + frames_left: countdown = 0, cooldown: countdown = 0, dx: int = 0, dy: int = 0, saved_speed: int = 0 +} +# a component field by name (the reflected accessor the Dash / Melee helpers use) +function sh_get(prop: pointer, e: int, name: pointer) -> int { + let P = World.prop_id(prop); if P < 0 { return 0 } + let f = World.field_id(P, name); if f < 0 { return 0 } + return World.get(e, P, f) +} +function sh_set(prop: pointer, e: int, name: pointer, v: int) -> void { + let P = World.prop_id(prop); if P < 0 { return } + let f = World.field_id(P, name); if f >= 0 { World.set(e, P, f, v) } +} +function dash_get(e: int, name: pointer) -> int { return sh_get("Dash", e, name) } +function dash_set(e: int, name: pointer, v: int) -> void { sh_set("Dash", e, name, v) } +@Namespace(Dash) function dash_start(e: int, dx: int, dy: int) -> bool { + if dash_get(e, "cooldown") > 0 { return false } + var d = IVec2.make(dx, dy) + if (dx == 0) and (dy == 0) { d = IVec2.step(td_get(e, "aim_angle")) } + if (d.x == 0) and (d.y == 0) { d = IVec2.make(1, 0) } + dash_set(e, "frames_left", dash_get(e, "frames")) + dash_set(e, "cooldown", dash_get(e, "cooldown_frames")) + dash_set(e, "dx", d.x) + dash_set(e, "dy", d.y) + dash_set(e, "saved_speed", td_get(e, "move_speed")) + td_set(e, "move_speed", dash_get(e, "speed")) + return true +} +@Namespace(Dash) function dash_active(e: int) -> bool { return dash_get(e, "frames_left") > 0 } +@EngineSystem(Dash, FixedUpdate) function esys_dash() -> void { + let P = World.prop_id("Dash") + if P < 0 { return } + var e = World.query_next(P, 0) + while e >= 0 { + if dash_get(e, "frames_left") > 0 { + td_set(e, "want_x", dash_get(e, "dx")) + td_set(e, "want_y", dash_get(e, "dy")) + td_set(e, "want_fire", 0) + } else { if dash_get(e, "saved_speed") > 0 { + td_set(e, "move_speed", dash_get(e, "saved_speed")) + dash_set(e, "saved_speed", 0) + } } + e = World.query_next(P, e + 1) + } +} +@On(DamageAboutToApply) handler DashGuard { if dash_active(target) { cancel } } # i-frames while dashing + +# =========================================================================== +# Melee — a swing that hits every hostile inside an arc around the aim. +# Melee.swing(e) -> int hits dealt (-1 while cooling down); each hit takes +# `damage`, is pushed `knockback` px away (never into a +# solid tile), and fires MeleeHit +# Melee.ready(e) / Melee.active(e) +# =========================================================================== +property Melee { + range: int = 24, half_arc: int = 50, damage: int = 10, knockback: int = 8, + frames: int = 8, cooldown_frames: int = 20, frames_left: countdown = 0, cooldown: countdown = 0, + arc: int = 0 # a colour: the engine draws the swing's arc while it lasts (0 = none) +} +# esys_melee_draw (Render): the swing as a circle at the reach, growing with its frames +@EngineSystem(Melee, Render) function esys_melee_draw() -> void { + let P = World.prop_id("Melee") + if P < 0 { return } + var e = World.query_next(P, 0) + while e >= 0 { + let color = melee_get(e, "arc") + let left = melee_get(e, "frames_left") + if (color != 0) and (left > 0) { + let at = IVec2.along(IVec2.make(sh_cx(e), sh_cy(e)), td_get(e, "aim_angle"), melee_get(e, "range")) + Screen.circle(x: at.x, y: at.y, radius: 6 + left, color: color) + } + e = World.query_next(P, e + 1) + } +} +event MeleeHit { attacker: int = 0, target: int = 0 } +function melee_get(e: int, name: pointer) -> int { return sh_get("Melee", e, name) } +@Namespace(Melee) function melee_ready(e: int) -> bool { return melee_get(e, "cooldown") == 0 } +@Namespace(Melee) function melee_active(e: int) -> bool { return melee_get(e, "frames_left") > 0 } +@Namespace(Melee) function melee_swing(e: int) -> int { + if melee_get(e, "cooldown") > 0 { return 0 - 1 } + sh_set("Melee", e, "frames_left", melee_get(e, "frames")) + sh_set("Melee", e, "cooldown", melee_get(e, "cooldown_frames")) + let PF = World.prop_id("Faction") + let PP = World.prop_id("Position") + if (PF < 0) or (PP < 0) { return 0 } + let me = IVec2.make(sh_cx(e), sh_cy(e)) + let aim = td_get(e, "aim_angle") + let fac = Faction.id_of(e) + var hits = 0 + var o = World.query_next(PF, 0) + while o >= 0 { + if (o != e) and (World.has(o, PP) != 0) and (Faction.hostile(fac, Faction.id_of(o)) == 1) { + let other = IVec2.make(sh_cx(o), sh_cy(o)) + let reach = melee_get(e, "range") + sh_half_w(o) + if IVec2.within(me, other, reach) { + let heading = IVec2.heading(me, other) + if abs(Angle.diff_degrees(a: aim, b: heading)) <= melee_get(e, "half_arc") { + Combat.damage(o, e, melee_get(e, "damage")) + let push = IVec2.scale(IVec2.step(heading), melee_get(e, "knockback")) + let nx = pos_get(o, "x") + push.x + let ny = pos_get(o, "y") + push.y + if not Map.is_solid_at(nx, ny) { pos_set(o, "x", nx); pos_set(o, "y", ny) } + emit MeleeHit(attacker: e, target: o) + hits = hits + 1 + } + } + } + o = World.query_next(PF, o + 1) + } + return hits +} +function sh_half_w(e: int) -> int { + let PC = World.prop_id("Collider") + if (PC < 0) or (World.has(e, PC) == 0) { return 0 } + return World.get(e, PC, World.field_id(PC, "w")) / 2 +} + +# esys_topdown_draw (Render): the aim line, and a cross at the mouse while it is the aim +@EngineSystem(TopDown, Render) function esys_topdown_draw() -> void { + let P = World.prop_id("TopDown") + if P < 0 { return } + var e = World.query_next(P, 0) + while e >= 0 { + let color = td_get(e, "reticle") + if color != 0 { + let from = IVec2.make(sh_cx(e), sh_cy(e)) + let tip = IVec2.along(from, td_get(e, "aim_angle"), td_get(e, "reticle_length")) + Screen.line(x1: from.x, y1: from.y, x2: tip.x, y2: tip.y, color: color) + var mode = td_get(e, "aim_mode") + if (mode == AimMode.Auto) and (not Input.pad_connected(0)) { mode = AimMode.Mouse } + if mode == AimMode.Mouse { + let mx = Input.mouse_x(); let my = Input.mouse_y() + Screen.line(x1: mx - 3, y1: my, x2: mx + 3, y2: my, color: 0xffffff) + Screen.line(x1: mx, y1: my - 3, x2: mx, y2: my + 3, color: 0xffffff) + } + } + e = World.query_next(P, e + 1) + } +} + +# esys_projectile_draw (Render, after the sprites): every shot as a 3x3 square in +# its weapon's colour, through the camera, so a game draws no bullets by hand. +@EngineSystem(Projectile, Render) function esys_projectile_draw() -> void { + let P = World.prop_id("Projectile") + if P < 0 { return } + let fc = World.field_id(P, "color") + var e = World.query_next(P, 0) + while e >= 0 { + if pr_get(e, "ttl") > 0 { Screen.fill_rectangle(x: pos_get(e, "x") - 1, y: pos_get(e, "y") - 1, width: 3, height: 3, color: World.get(e, P, fc)) } + e = World.query_next(P, e + 1) + } +} + @EngineSystem(TopDown, FixedUpdate) function esys_topdown_move() -> void { let P = World.prop_id("TopDown") if P < 0 { return } @@ -210,9 +399,10 @@ function sh_nearest_enemy(self_e: int, fac: int, px: int, py: int) -> int { if P < 0 { return } var e = World.query_next(P, 0) while e >= 0 { - let mode = td_get(e, "aim_mode") - let px = pos_get(e, "x") - let py = pos_get(e, "y") + var mode = td_get(e, "aim_mode") + if mode == AimMode.Auto { mode = AimMode.Mouse; if Input.pad_connected(0) { mode = AimMode.RightStick } } + let px = sh_cx(e) + let py = sh_cy(e) var target = td_get(e, "aim_angle") # default: keep current var have = 0 if mode == 0 { # mouse / point @@ -234,7 +424,7 @@ function sh_nearest_enemy(self_e: int, fac: int, px: int, py: int) -> int { if mode == 3 { # nearest enemy (auto-aim) let fac = Faction.id_of(e) let t = sh_nearest_enemy(e, fac, px, py) - if t >= 0 { target = sh_angle_to(px, py, pos_get(t, "x"), pos_get(t, "y")); have = 1 } + if t >= 0 { target = sh_angle_to(px, py, sh_cx(t), sh_cy(t)); have = 1 } } if have == 1 { let tr = td_get(e, "turn_rate") @@ -254,6 +444,23 @@ function sh_nearest_enemy(self_e: int, fac: int, px: int, py: int) -> int { # integer-degree angle helpers (built on Math trig, kept in degrees for the API) # both take small integer components (pixel deltas or -1/0/1 intent), so fixed() # stays well inside i32; results are wrapped into 0..359. +# the centre of an entity's body: Position + Collider offset + half size when it has +# a Collider (Position is a box's top-left anchor), else Position itself. +function sh_cx(e: int) -> int { + let PC = World.prop_id("Collider") + if (PC >= 0) and (World.has(e, PC) != 0) { + return pos_get(e, "x") + World.get(e, PC, World.field_id(PC, "offx")) + World.get(e, PC, World.field_id(PC, "w")) / 2 + } + return pos_get(e, "x") +} +function sh_cy(e: int) -> int { + let PC = World.prop_id("Collider") + if (PC >= 0) and (World.has(e, PC) != 0) { + return pos_get(e, "y") + World.get(e, PC, World.field_id(PC, "offy")) + World.get(e, PC, World.field_id(PC, "h")) / 2 + } + return pos_get(e, "y") +} + function sh_angle_to(ax: int, ay: int, bx: int, by: int) -> int { let r = Math.atan2(fixed(by - ay), fixed(bx - ax)) return sh_wrap_deg(floor(Math.rad_to_deg(r))) @@ -300,9 +507,11 @@ function sh_spawn_bullet(owner: int, fac: int, px: int, py: int, deg: int, speed World.set(b, PC, World.field_id(PC, "h"), 4) } # announce it: a listener may veto (cancel -> despawn) or tweak the Projectile. + pr_set(b, "color", wpn_fire_color) if emit ProjectileSpawned(proj: b, owner: owner, damage: dmg) != 0 { despawn b; return 0 - 1 } return b } +var wpn_fire_color: int = 0xffffff # the colour of the weapon being fired (sh_fire) # =========================================================================== # esys_weapon (Update) — fire-rate gating + pattern emission. Reads the owner's @@ -322,7 +531,7 @@ function sh_spawn_bullet(owner: int, fac: int, px: int, py: int, deg: int, speed let id = World.get(e, P, World.field_id(P, "def_id")) if (id >= 0) and (id < wpn_n) { sh_fire(e, id) - World.set(e, P, World.field_id(P, "cooldown"), wpn_rate[id]) + World.set(e, P, World.field_id(P, "cooldown"), wpn_rate[id] * stats_field(e, "fire_rate_pct", 100) / 100) } } e = World.query_next(P, e + 1) @@ -330,8 +539,8 @@ function sh_spawn_bullet(owner: int, fac: int, px: int, py: int, deg: int, speed } function sh_fire(owner: int, id: int) -> void { - let px = pos_get(owner, "x") - let py = pos_get(owner, "y") + let px = sh_cx(owner) + let py = sh_cy(owner) let base = td_get(owner, "aim_angle") let fac = Faction.id_of(owner) let speed = wpn_speed[id] @@ -342,6 +551,7 @@ function sh_fire(owner: int, id: int) -> void { let ttl = wpn_ttl[id] let pierce = wpn_pierce[id] let homing = wpn_homing[id] + wpn_fire_color = wpn_color[id] var pellets = pellets0; if pellets < 1 { pellets = 1 } emit WeaponFired(owner: owner, def_id: id) if pattern == 2 { # ring: pellets around 360 @@ -387,6 +597,8 @@ function sh_fire(owner: int, id: int) -> void { let ttl = pr_get(e, "ttl") - 1 if ttl <= 0 { emit ProjectileExpired(proj: e); despawn e; e = nxt; continue } pr_set(e, "ttl", ttl) + # a solid tile (the Solids config) stops a shot; with no Solids nothing is solid + if Map.is_solid_at(pos_get(e, "x"), pos_get(e, "y")) { emit ProjectileExpired(proj: e); despawn e; e = nxt; continue } # homing steer toward the nearest enemy of the projectile's faction let hom = pr_get(e, "homing") if hom > 0 { @@ -394,7 +606,7 @@ function sh_fire(owner: int, id: int) -> void { let px0 = pos_get(e, "x"); let py0 = pos_get(e, "y") let t = sh_nearest_enemy(e, fac, px0, py0) if t >= 0 { - let want = sh_angle_to(px0, py0, pos_get(t, "x"), pos_get(t, "y")) + let want = sh_angle_to(px0, py0, sh_cx(t), sh_cy(t)) let cur = pr_get(e, "dir") let d = sh_angle_diff(cur, want) var na = cur diff --git a/runtime/native/atlas.ludic b/runtime/native/atlas.ludic index c2ef0083..3ff744bc 100644 --- a/runtime/native/atlas.ludic +++ b/runtime/native/atlas.ludic @@ -47,6 +47,8 @@ var at_nname: int = 0 # bounded number per frame (Assets.pump) so a loading scene stays responsive and # a game only enters play once Assets.ready(). Deterministic: the same enqueue + # pump order loads the same assets in the same order on every run. +import "audio.ludic" # the preload queue feeds .wav/.mp3 into the sound bank + const ATLAS_MAX_QUEUE: int = 512 var at_q_name: pointers = null # name to register the loaded sprite under var at_q_path: pointers = null # file path to load @@ -228,10 +230,94 @@ function atlas_draw_scaled(id: int, dx: int, dy: int, sc: int) -> void { } } +# blit an atlas sprite with the full Sprite-component treatment (#90): integer scale, +# horizontal flip, and a solid tint (non-zero = every opaque pixel in that colour). +# This is what the engine sprite-render system calls for `Sprite { atlas: 1 }`. +function atlas_draw_ex(id: int, dx: int, dy: int, sc0: int, flip: int, tint: int) -> void { + atlas_init() + if (id < 0) or (id >= at_nspr) { return } + var sc = sc0 + if sc < 1 { sc = 1 } + let sheet = at_spr_sheet[id] + let img = at_sheet_img[sheet] + let iw = img_w[img] + let ih = img_h[img] + let s: words = img_px[img] + let sx = at_spr_sx[id] + let sy = at_spr_sy[id] + let w = at_spr_w[id] + let h = at_spr_h[id] + var y = 0 + while y < h { + let srcy = sy + y + if (srcy >= 0) and (srcy < ih) { + var x = 0 + while x < w { + var rx = x + if flip != 0 { rx = w - 1 - x } + let srcx = sx + rx + if (srcx >= 0) and (srcx < iw) { + let px = s[srcy * iw + srcx] + if ((px >> 24) & 255) >= 128 { + var col = px & 16777215 + if tint != 0 { col = tint & 16777215 } + if sc == 1 { rt_put_px(dx + x, dy + y, col) } + else { rt_fill_rect(dx + x * sc, dy + y * sc, sc, sc, col) } + } + } + x = x + 1 + } + } + y = y + 1 + } +} + +# a strip of `count` frames starting at (col,row), each `rows` cells tall, registered +# as consecutive ids so `first + SpriteAnim.frame` addresses the current frame. +function atlas_strip(sheet: int, col: int, row: int, count: int, rows: int) -> int { + var first = 0 - 1 + var i = 0 + while i < count { + let id = atlas_cell_span(sheet, col + i, row, 1, rows) + if first < 0 { first = id } + i = i + 1 + } + return first +} + # an atlas sprite's pixel size — handy for centering / layout. function atlas_width(id: int) -> int { atlas_init(); if (id < 0) or (id >= at_nspr) { return 0 }; return at_spr_w[id] } function atlas_height(id: int) -> int { atlas_init(); if (id < 0) or (id >= at_nspr) { return 0 }; return at_spr_h[id] } +# Sprite.draw_meter: `value` of `max` as a row of icons — full, half or empty per +# `per_icon` points (hearts, stars, ammo pips), `spacing` px apart +function atlas_draw_meter(x: int, y: int, value: int, max: int, per_icon: int, spacing: int, full: int, half: int, empty: int) -> void { + if per_icon <= 0 { return } + var i = 0 + while i < max / per_icon { + var id = empty + if value >= i * per_icon + per_icon / 2 { id = half } + if value >= (i + 1) * per_icon { id = full } + atlas_draw(id, x + i * spacing, y) + i = i + 1 + } +} + +# Assets.enqueue_dir: every file of a directory, named by its file name without the +# extension (assets/audio/hit.wav -> "hit"); the queue sorts by extension as usual +function assets_enqueue_dir(dir: pointer) -> void { + let names = Fs.list(dir) + if names == null { return } + var i = 0 + while i < len(names) { + let file = names[i] + var dot = len(file) - 1 + while (dot > 0) and (file[dot] != 46) { dot = dot - 1 } + if dot > 0 { assets_enqueue(file[0..dot], dir + ("/") + file) } + i = i + 1 + } +} + # ---- incremental preload (#82) -------------------------------------------- # Enqueue a named image file to load later (does not load it now). function assets_enqueue(name: pointer, path: pointer) -> void { @@ -245,17 +331,70 @@ function assets_enqueue(name: pointer, path: pointer) -> void { # Load up to `max` queued assets this frame, registering each under its name, and # return how many were loaded by this call. Call it each frame in a loading scene # (a small `max` keeps the frame short); Assets.ready() flips true when done. +event AssetsReady { } # fired once, the frame the queue finishes +var at_q_announced: bool = false function assets_pump(max: int) -> int { atlas_init() var done = 0 while (done < max) and (at_q_pos < at_q_n) { - let id = atlas_image(at_q_path[at_q_pos]) - atlas_register_name(at_q_name[at_q_pos], id) + assets_load_one(at_q_name[at_q_pos], at_q_path[at_q_pos]) at_q_pos = at_q_pos + 1 done = done + 1 } + if (at_q_pos >= at_q_n) and (not at_q_announced) { at_q_announced = true; emit AssetsReady() } return done } +# the default loading bar of a `scene X loads then Y`: centred, a fifth of the screen wide +function assets_draw_progress() -> void { + let w = rt_fbw / 2 + let x = rt_fbw / 4 + let y = rt_fbh / 2 - 4 + rt_fill_rect(x, y, w, 8, 0x303030) + rt_fill_rect(x, y, w * assets_progress() / 100, 8, 0xffcc44) +} + +# what kind of asset a path is, by its extension: sounds and fonts go to their own +# managers (Audio.play(name:), Assets.font(name)); everything else is an image +function path_has_suffix(path: pointer, suffix: pointer) -> bool { + let n = len(path) + let m = len(suffix) + if m > n { return false } + var i = 0 + while i < m { + if path[n - m + i] != suffix[i] { return false } + i = i + 1 + } + return true +} +const ATLAS_MAX_FONT: int = 16 +var at_font_name: pointers = null +var at_font_id: words = null +var at_font_n: int = 0 +function assets_load_one(name: pointer, path: pointer) -> void { + if path_has_suffix(path, ".wav") or path_has_suffix(path, ".mp3") or path_has_suffix(path, ".ogg") { + audio_define(name, path) + return + } + if path_has_suffix(path, ".ttf") or path_has_suffix(path, ".ttc") { + if at_font_name == null { at_font_name = bytes(ATLAS_MAX_FONT * 8); at_font_id = words(ATLAS_MAX_FONT) } + if at_font_n < ATLAS_MAX_FONT { + at_font_name[at_font_n] = name + at_font_id[at_font_n] = rt_font_load(path) + at_font_n = at_font_n + 1 + } + return + } + atlas_register_name(name, atlas_image(path)) +} +# the font handle registered under `name` (Assets.font), or 0 +function assets_font(name: pointer) -> int { + var i = 0 + while i < at_font_n { + if at_font_name[i] == name { return at_font_id[i] } + i = i + 1 + } + return 0 +} function assets_total() -> int { atlas_init(); return at_q_n } function assets_loaded() -> int { atlas_init(); return at_q_pos } diff --git a/runtime/native/audio.ludic b/runtime/native/audio.ludic index f3257779..7f30a7ce 100644 --- a/runtime/native/audio.ludic +++ b/runtime/native/audio.ludic @@ -24,14 +24,45 @@ var snd_tab: pointers = null # handle (1-based) -> AVAudioPlayer pointer var snd_master: fixed = 1.0 # master volume, applied to every play var snd_rate: fixed = 1.0 # playback rate / pitch (1.0 = normal) var snd_music: int = 0 # the handle currently playing as music (0 = none) +# the sound bank: sounds registered by name (Audio.define), played by name (Audio.play(name:)) +var snd_bank_name: pointers = null +var snd_bank_id: words = null +var snd_bank_n: int = 0 function audio_init() -> void { if snd_ready { return } snd_tab = bytes(AUDIO_CAP * 8) # one 8-byte pointer slot per handle fill(snd_tab, 0, AUDIO_CAP * 8) # malloc does not zero; empty slots must read null + snd_bank_name = bytes(AUDIO_CAP * 8) + snd_bank_id = words(AUDIO_CAP) snd_ready = true } +# ---- the sound bank: Audio.define(name, path) then Audio.play(name: "…") ------ +# Load a sound and remember it under a name; returns the handle (0 headless). +function audio_define(name: pointer, path: pointer) -> int { + audio_init() + let id = audio_load(path) + if snd_bank_n < AUDIO_CAP { + snd_bank_name[snd_bank_n] = name + snd_bank_id[snd_bank_n] = id + snd_bank_n = snd_bank_n + 1 + } + return id +} +# the handle registered under `name`, or 0 +function audio_named(name: pointer) -> int { + audio_init() + var i = 0 + while i < snd_bank_n { + if snd_bank_name[i] == name { return snd_bank_id[i] } + i = i + 1 + } + return 0 +} +function audio_play_named(name: pointer) -> void { audio_play(audio_named(name)) } +function audio_play_music_named(name: pointer) -> void { audio_play_music(audio_named(name)) } + # Resolve a 1-based handle to its player pointer (null if out of range / empty). function audio_get(id: int) -> pointer { audio_init() diff --git a/runtime/native/cocoa.ll b/runtime/native/cocoa.ll index c124b3f1..f7fe7006 100644 --- a/runtime/native/cocoa.ll +++ b/runtime/native/cocoa.ll @@ -45,6 +45,7 @@ declare i32 @usleep(i32) ; mouse-association / relative-delta calls. declare i32 @CGAssociateMouseAndMouseCursorPosition(i32) declare void @CGGetLastMouseDelta(ptr, ptr) +declare i32 @CGWarpMouseCursorPosition(%NSPoint) @.c_app = private unnamed_addr constant [14 x i8] c"NSApplication\00" @.c_win = private unnamed_addr constant [9 x i8] c"NSWindow\00" @@ -54,6 +55,10 @@ declare void @CGGetLastMouseDelta(ptr, ptr) @.c_gctx = private unnamed_addr constant [18 x i8] c"NSGraphicsContext\00" @.c_ludic = private unnamed_addr constant [10 x i8] c"LudicView\00" @.c_cursor = private unnamed_addr constant [9 x i8] c"NSCursor\00" +@.c_screen = private unnamed_addr constant [9 x i8] c"NSScreen\00" +@.s_cpts = private unnamed_addr constant [22 x i8] c"convertPointToScreen:\00" +@.s_main = private unnamed_addr constant [11 x i8] c"mainScreen\00" +@.s_frame = private unnamed_addr constant [6 x i8] c"frame\00" @.s_hide = private unnamed_addr constant [5 x i8] c"hide\00" @.s_unhide = private unnamed_addr constant [7 x i8] c"unhide\00" @.s_iskey = private unnamed_addr constant [12 x i8] c"isKeyWindow\00" @@ -570,12 +575,14 @@ entry: ; #51 — read the live cursor position from the window (points, origin ; bottom-left) and convert to framebuffer pixels, y-flipped so row 0 is the ; top, matching the framebuffer the game draws into. - ; #89 — in a relative mode (locked / confined) the OS cursor is dissociated, so + ; #89 — only mode 2 (true lock / FPS mouselook) dissociates the OS cursor, so its ; mouseLocation is frozen; accumulate CGGetLastMouseDelta into a virtual cursor ; (clamped to the framebuffer) so Input.mouse_dx/dy report the motion and - ; Input.mouse_x/y give a reticle position. + ; Input.mouse_x/y give a reticle position. Mode 3 (confined) keeps the cursor + ; ASSOCIATED, so it stays on the absolute path below — absolute mouse aim + ; (aim_mode 0) works in a confined-cursor game, which is the whole point. %cmode = load i32, ptr @W_cursor_mode - %isrel = icmp sge i32 %cmode, 2 + %isrel = icmp eq i32 %cmode, 2 br i1 %isrel, label %reldelta, label %abspos reldelta: %dxp = alloca i32 @@ -620,8 +627,21 @@ qpos: %fx = fdiv double %px, %scd %fyy = fdiv double %py, %scd %fy = fsub double %fbhd, %fyy - %ix = fptosi double %fx to i32 - %iy = fptosi double %fy to i32 + %ix0 = fptosi double %fx to i32 + %iy0 = fptosi double %fy to i32 + ; clamp the reported position to [0, fbw-1] x [0, fbh-1] so the reticle stays in + ; the play area even when the (hidden) OS cursor strays past the window edge. + %fbwa = load i32, ptr @W_fbw + %fbwam = sub i32 %fbwa, 1 + %fbham = sub i32 %fbh, 1 + %axlo = icmp slt i32 %ix0, 0 + %ix1 = select i1 %axlo, i32 0, i32 %ix0 + %axhi = icmp sgt i32 %ix1, %fbwam + %ix = select i1 %axhi, i32 %fbwam, i32 %ix1 + %aylo = icmp slt i32 %iy0, 0 + %iy1 = select i1 %aylo, i32 0, i32 %iy0 + %ayhi = icmp sgt i32 %iy1, %fbham + %iy = select i1 %ayhi, i32 %fbham, i32 %iy1 store i32 %ix, ptr @W_mx store i32 %iy, ptr @W_my br label %emit @@ -697,18 +717,93 @@ release: call void @cursor_apply(i32 0, i32 1) ret void keyed: - ; want_hidden when mode is 1 (hidden) or 2 (locked) + ; want_hidden for every capture mode: 1 (hidden), 2 (locked) and 3 (confined). + ; A confined-cursor game hides the OS cursor and draws its own reticle. %h1 = icmp eq i32 %mode, 1 %h2 = icmp eq i32 %mode, 2 - %wh = or i1 %h1, %h2 + %h3 = icmp eq i32 %mode, 3 + %hor = or i1 %h1, %h2 + %wh = or i1 %hor, %h3 %whi = zext i1 %wh to i32 - ; dissociate (relative) when mode is 2 (locked) or 3 (confined) + ; dissociate (relative deltas) ONLY for mode 2 (true lock / FPS mouselook). + ; Mode 3 (confined) stays associated so its absolute position stays valid. %a2 = icmp eq i32 %mode, 2 - %a3 = icmp eq i32 %mode, 3 - %dis = or i1 %a2, %a3 - %wa = xor i1 %dis, true + %wa = xor i1 %a2, true %wai = zext i1 %wa to i32 call void @cursor_apply(i32 %whi, i32 %wai) + ; mode 3 (confined): physically hold the cursor inside the window each frame. + %ism3 = icmp eq i32 %mode, 3 + br i1 %ism3, label %confine, label %noconf +confine: + call void @win_cursor_confine() + br label %noconf +noconf: + ret void +} + +; #89 — confine the (hidden) cursor to the content area in mode 3. Because mode 3 +; keeps the cursor ASSOCIATED (so absolute mouse aim works), the OS cursor is still +; free to leave the window; without this a click outside would land outside and drop +; focus. Each frame we read the window-local cursor point, and if it has strayed past +; the content rect we warp it back to the nearest inside point. Only warps when the +; cursor is actually out, so an in-window cursor is untouched. +define void @win_cursor_confine() { +entry: + %win = load ptr, ptr @W_win + %nowin = icmp eq ptr %win, null + br i1 %nowin, label %done, label %go +go: + %sel_ml = call ptr @sel_registerName(ptr @.s_mloc) + %pt = call %NSPoint (ptr, ptr) @objc_msgSend(ptr %win, ptr %sel_ml) + %px = extractvalue %NSPoint %pt, 0 + %py = extractvalue %NSPoint %pt, 1 + ; content bounds in points: [0, fbw*scale] x [0, fbh*scale] + %sc = load i32, ptr @W_scale + %scd = sitofp i32 %sc to double + %fbw = load i32, ptr @W_fbw + %fbh = load i32, ptr @W_fbh + %fbwd = sitofp i32 %fbw to double + %fbhd = sitofp i32 %fbh to double + %cw = fmul double %fbwd, %scd + %ch = fmul double %fbhd, %scd + %cwm = fsub double %cw, 1.000000e+00 + %chm = fsub double %ch, 1.000000e+00 + ; clamp px to [1, cw-1] + %pxlo = fcmp olt double %px, 1.000000e+00 + %px1 = select i1 %pxlo, double 1.000000e+00, double %px + %pxhi = fcmp ogt double %px1, %cwm + %cpx = select i1 %pxhi, double %cwm, double %px1 + ; clamp py to [1, ch-1] + %pylo = fcmp olt double %py, 1.000000e+00 + %py1 = select i1 %pylo, double 1.000000e+00, double %py + %pyhi = fcmp ogt double %py1, %chm + %cpy = select i1 %pyhi, double %chm, double %py1 + ; warp only if the cursor actually strayed + %dx = fcmp one double %cpx, %px + %dy = fcmp one double %cpy, %py + %need = or i1 %dx, %dy + br i1 %need, label %warp, label %done +warp: + ; clamped window-local point -> global screen coords (bottom-left origin, y up) + %cp0 = insertvalue %NSPoint undef, double %cpx, 0 + %cp = insertvalue %NSPoint %cp0, double %cpy, 1 + %sel_cps = call ptr @sel_registerName(ptr @.s_cpts) + %gp = call %NSPoint (ptr, ptr, %NSPoint) @objc_msgSend(ptr %win, ptr %sel_cps, %NSPoint %cp) + %gx = extractvalue %NSPoint %gp, 0 + %gy = extractvalue %NSPoint %gp, 1 + ; main screen height for the flip to CG global coords (top-left origin, y down) + %scrcls = call ptr @objc_getClass(ptr @.c_screen) + %sel_main = call ptr @sel_registerName(ptr @.s_main) + %scr = call ptr (ptr, ptr) @objc_msgSend(ptr %scrcls, ptr %sel_main) + %sel_fr = call ptr @sel_registerName(ptr @.s_frame) + %fr = call %CGRect (ptr, ptr) @objc_msgSend(ptr %scr, ptr %sel_fr) + %sh = extractvalue %CGRect %fr, 3 + %warpy = fsub double %sh, %gy + %wp0 = insertvalue %NSPoint undef, double %gx, 0 + %wp = insertvalue %NSPoint %wp0, double %warpy, 1 + %rc = call i32 @CGWarpMouseCursorPosition(%NSPoint %wp) + br label %done +done: ret void } diff --git a/runtime/native/core.ludic b/runtime/native/core.ludic index 7dbf311b..4c3b88c7 100644 --- a/runtime/native/core.ludic +++ b/runtime/native/core.ludic @@ -90,6 +90,7 @@ function rt_screen_w() -> int { return rt_fbw } function rt_screen_h() -> int { return rt_fbh } function rt_clear(c: int) -> void { + rt_camera_tick() # a timed Camera.shake_for advances once per frame let n = rt_fbw * rt_fbh for i in 0 .. n { rt_fb[i] = c @@ -328,6 +329,24 @@ function rt_camera_shake(amount: int) -> void { rt_shake_y = rt_rng_range(0 - amount, amount) } +# Camera.shake_for(amount, frames): shake by up to +/- amount pixels for `frames` +# frames, then stop — the engine re-rolls the offset at the start of every frame +# (rt_camera_tick, from the frame clear) so no handler has to count it down. A +# later call restarts the shake; a bigger amount wins over a smaller one in flight. +var rt_shake_amount: int = 0 +var rt_shake_left: int = 0 +function rt_camera_shake_for(amount: int, frames: int) -> void { + if amount >= rt_shake_amount { rt_shake_amount = amount; rt_shake_left = frames } +} +function rt_camera_tick() -> void { + if rt_shake_left > 0 { + rt_shake_left = rt_shake_left - 1 + rt_camera_shake(rt_shake_amount) + return + } + if rt_shake_amount > 0 { rt_shake_amount = 0; rt_camera_shake(0) } +} + # Restrict drawing to a screen-space rectangle (x, y, width, height). function rt_clip(x: int, y: int, width: int, height: int) -> void { rt_clip_x0 = x @@ -601,6 +620,139 @@ function rt_map_row(y: int, s: string) -> void { } } +# ---- the cell API: a game edits the grid in place instead of keeping its own copy +function rt_map_set(x: int, y: int, glyph: int) -> void { + if (x < 0) or (y < 0) or (x >= rt_mapw) or (y >= rt_maph) { return } + rt_map[y * 96 + x] = glyph +} +function rt_map_fill(glyph: int) -> void { + var y = 0 + while y < rt_maph { var x = 0; while x < rt_mapw { rt_map[y * 96 + x] = glyph; x = x + 1 }; y = y + 1 } +} +# every cell of the rectangle (x, y, w, h) +function rt_map_rect(x: int, y: int, w: int, h: int, glyph: int) -> void { + var yy = y + while yy < y + h { var xx = x; while xx < x + w { rt_map_set(xx, yy, glyph); xx = xx + 1 }; yy = yy + 1 } +} +# the outermost ring of cells +function rt_map_border(glyph: int) -> void { + rt_map_rect(0, 0, rt_mapw, 1, glyph) + rt_map_rect(0, rt_maph - 1, rt_mapw, 1, glyph) + rt_map_rect(0, 0, 1, rt_maph, glyph) + rt_map_rect(rt_mapw - 1, 0, 1, rt_maph, glyph) +} +# a random cell holding `glyph` (seeded RNG): random tries, then a sweep; (-1, -1) if none +function rt_map_random_cell(glyph: int) -> IVec2 { + var tries = 0 + while tries < 64 { + let x = rt_rng_range(0, rt_mapw - 1) + let y = rt_rng_range(0, rt_maph - 1) + if rt_tile(x, y) == glyph { return IVec2.make(x, y) } + tries = tries + 1 + } + var y2 = 0 + while y2 < rt_maph { var x2 = 0; while x2 < rt_mapw { if rt_tile(x2, y2) == glyph { return IVec2.make(x2, y2) }; x2 = x2 + 1 }; y2 = y2 + 1 } + return IVec2.make(0 - 1, 0 - 1) +} +# a random cell holding `glyph` at least `min_tiles` from `from` (tiles); falls back to any such cell +function rt_map_random_cell_far(glyph: int, from: IVec2, min_tiles: int) -> IVec2 { + var tile = rt_map_random_cell(glyph) + var tries = 0 + while tries < 40 { + if not IVec2.within(tile, from, min_tiles - 1) { return tile } + tile = rt_map_random_cell(glyph) + tries = tries + 1 + } + return tile +} +# the solid glyphs, as the move system read them from the Solids config (0 = none) +var rt_map_solid1: int = 0 +var rt_map_solid2: int = 0 +var rt_map_tile_px: int = 16 +function rt_map_is_solid(x: int, y: int) -> bool { + if rt_map_solid1 == 0 { return false } # no Solids config: nothing is solid + let g = rt_tile(x, y) + if (x < 0) or (y < 0) or (x >= rt_mapw) or (y >= rt_maph) { return true } + if (rt_map_solid1 != 0) and (g == rt_map_solid1) { return true } + if (rt_map_solid2 != 0) and (g == rt_map_solid2) { return true } + return false +} +function rt_map_is_solid_at(px: int, py: int) -> bool { return rt_map_is_solid(px / rt_map_tile_px, py / rt_map_tile_px) } +function rt_map_to_tile(pixel: IVec2) -> IVec2 { return IVec2.make(pixel.x / rt_map_tile_px, pixel.y / rt_map_tile_px) } +function rt_map_width() -> int { return rt_mapw } +function rt_map_height() -> int { return rt_maph } + +# IVec2.heading / along / step and Angle.diff_degrees — integer-degree geometry +function rt_ivec_heading(a: IVec2, b: IVec2) -> int { + return floor(Math.rad_to_deg(Math.atan2(fixed(b.y - a.y), fixed(b.x - a.x)))) +} +function rt_ivec_along(origin: IVec2, degrees: int, distance: int) -> IVec2 { + let r = Math.deg_to_rad(fixed(degrees)) + return IVec2.make(origin.x + floor(Math.cos(r) * fixed(distance)), origin.y + floor(Math.sin(r) * fixed(distance))) +} +function rt_ivec_step(degrees: int) -> IVec2 { + let p = rt_ivec_along(IVec2.zero(), degrees, 10) + return IVec2.make(Math.sign(p.x), Math.sign(p.y)) +} +function rt_angle_diff_degrees(a: int, b: int) -> int { + var d = (b - a) % 360 + if d > 180 { d = d - 360 } + if d <= 0 - 180 { d = d + 360 } + return d +} + +# Screen.bar: a filled meter — `value` of `max` in `color` over a `back` track +function rt_bar(x: int, y: int, w: int, h: int, value: int, max: int, color: int, back: int) -> void { + rt_fill_rect(x, y, w, h, back) + var filled = 0 + if max > 0 { filled = clamp(value, 0, max) * w / max } + if filled > 0 { rt_fill_rect(x, y, filled, h, color) } +} + +# Random.weighted(weights): an index drawn in proportion to its weight (0 = never); +# -1 when every weight is 0. Deterministic, from the seeded RNG. +function rt_rng_weighted(weights: []int) -> int { + var total = 0 + var i = 0 + while i < len(weights) { if weights[i] > 0 { total = total + weights[i] }; i = i + 1 } + if total <= 0 { return 0 - 1 } + var roll = rt_rng_range(0, total - 1) + i = 0 + while i < len(weights) { + if weights[i] > 0 { + if roll < weights[i] { return i } + roll = roll - weights[i] + } + i = i + 1 + } + return 0 - 1 +} + +# List.sample(pool, count): `count` picks from an int slice, distinct while the +# pool has enough, repeating a valid pick when it does not; empty in -> zeros +function rt_list_sample(pool: []int, count: int) -> []int { + let out = new []int + let n = len(pool) + var i = 0 + while i < count { + if n == 0 { push(out, 0); i = i + 1; continue } + var pick = rt_rng_range(0, n - 1) + var distinct = n > i + var tries = 0 + while distinct and (tries < 64) { + var seen = false + var j = 0 + while j < len(out) { if out[j] == pool[pick] { seen = true }; j = j + 1 } + if not seen { break } + pick = rt_rng_range(0, n - 1) + tries = tries + 1 + } + push(out, pool[pick]) + i = i + 1 + } + return out +} + function rt_tile(x: int, y: int) -> int { if x < 0 { return 35 } if y < 0 { return 35 } diff --git a/runtime/native/fx.ludic b/runtime/native/fx.ludic new file mode 100644 index 00000000..17bb9604 --- /dev/null +++ b/runtime/native/fx.ludic @@ -0,0 +1,124 @@ +# ============================================================================ +# fx.ludic — Fx.*: engine-owned transient effects. A game asks for a burst of +# sparks or a floating number and the engine owns the rest: it ages and moves +# them every Update, draws them every Render (after the sprites, before a game's +# Overlay pass, through the camera / shake / clip chokepoints), and drops them +# when they expire. Nothing is an entity, so nothing needs a component, a model, +# a handler or a draw call. Deterministic: velocities and lifetimes come from the +# seeded RNG. +# +# Fx.sparks(x, y, color, count) a burst of `count` sparks flying out of (x, y) +# Fx.number(x, y, value, color) a number that floats up from (x, y) and fades +# Fx.clear() drop every effect (a room change, a new run) +# ============================================================================ + +const FX_MAX_SPARKS: int = 512 +const FX_MAX_NUMBERS: int = 64 +const FX_SPARK_LIFE: int = 18 # frames, plus up to FX_SPARK_LIFE_JITTER +const FX_SPARK_LIFE_JITTER: int = 8 +const FX_SPARK_SPEED: int = 3 # px per frame, each axis, either way +const FX_NUMBER_LIFE: int = 30 # frames; a number rises one pixel every other frame + +var fx_ready: bool = false +var fx_sx: words = null +var fx_sy: words = null +var fx_svx: words = null +var fx_svy: words = null +var fx_slife: words = null +var fx_scolor: words = null +var fx_ssize: words = null +var fx_sn: int = 0 +var fx_nx: words = null +var fx_ny: words = null +var fx_nvalue: words = null +var fx_nlife: words = null +var fx_ncolor: words = null +var fx_nn: int = 0 + +function fx_init() -> void { + if fx_ready { return } + fx_sx = words(FX_MAX_SPARKS); fx_sy = words(FX_MAX_SPARKS) + fx_svx = words(FX_MAX_SPARKS); fx_svy = words(FX_MAX_SPARKS) + fx_slife = words(FX_MAX_SPARKS); fx_scolor = words(FX_MAX_SPARKS); fx_ssize = words(FX_MAX_SPARKS) + fx_nx = words(FX_MAX_NUMBERS); fx_ny = words(FX_MAX_NUMBERS) + fx_nvalue = words(FX_MAX_NUMBERS); fx_nlife = words(FX_MAX_NUMBERS); fx_ncolor = words(FX_MAX_NUMBERS) + fx_ready = true +} + +function fx_sparks(x: int, y: int, color: int, count: int) -> void { + fx_init() + var i = 0 + while i < count { + if fx_sn >= FX_MAX_SPARKS { return } + fx_sx[fx_sn] = x + fx_sy[fx_sn] = y + fx_svx[fx_sn] = rt_rng_range(0 - FX_SPARK_SPEED, FX_SPARK_SPEED) + fx_svy[fx_sn] = rt_rng_range(0 - FX_SPARK_SPEED, FX_SPARK_SPEED) + fx_slife[fx_sn] = FX_SPARK_LIFE + rt_rng_range(0, FX_SPARK_LIFE_JITTER) + fx_scolor[fx_sn] = color + fx_ssize[fx_sn] = 1 + rt_rng_range(0, 2) + fx_sn = fx_sn + 1 + i = i + 1 + } +} + +function fx_number(x: int, y: int, value: int, color: int) -> void { + fx_init() + if fx_nn >= FX_MAX_NUMBERS { return } + fx_nx[fx_nn] = x + fx_ny[fx_nn] = y + fx_nvalue[fx_nn] = value + fx_nlife[fx_nn] = FX_NUMBER_LIFE + fx_ncolor[fx_nn] = color + fx_nn = fx_nn + 1 +} + +function fx_clear() -> void { fx_sn = 0; fx_nn = 0 } + +# drop spark i by moving the last one into its slot +function fx_drop_spark(i: int) -> void { + let last = fx_sn - 1 + fx_sx[i] = fx_sx[last]; fx_sy[i] = fx_sy[last] + fx_svx[i] = fx_svx[last]; fx_svy[i] = fx_svy[last] + fx_slife[i] = fx_slife[last]; fx_scolor[i] = fx_scolor[last]; fx_ssize[i] = fx_ssize[last] + fx_sn = last +} +function fx_drop_number(i: int) -> void { + let last = fx_nn - 1 + fx_nx[i] = fx_nx[last]; fx_ny[i] = fx_ny[last] + fx_nvalue[i] = fx_nvalue[last]; fx_nlife[i] = fx_nlife[last]; fx_ncolor[i] = fx_ncolor[last] + fx_nn = last +} + +# once per Update: move and age everything, dropping what expired +function fx_tick() -> void { + if not fx_ready { return } + var i = 0 + while i < fx_sn { + fx_sx[i] = fx_sx[i] + fx_svx[i] + fx_sy[i] = fx_sy[i] + fx_svy[i] + fx_slife[i] = fx_slife[i] - 1 + if fx_slife[i] <= 0 { fx_drop_spark(i) } else { i = i + 1 } + } + i = 0 + while i < fx_nn { + fx_nlife[i] = fx_nlife[i] - 1 + if fx_nlife[i] % 2 == 0 { fx_ny[i] = fx_ny[i] - 1 } + if fx_nlife[i] <= 0 { fx_drop_number(i) } else { i = i + 1 } + } +} + +# once per Render, after the sprites: everything goes through the camera chokepoints +function fx_draw() -> void { + if not fx_ready { return } + var i = 0 + while i < fx_sn { + rt_fill_rect(fx_sx[i], fx_sy[i], fx_ssize[i], fx_ssize[i], fx_scolor[i]) + i = i + 1 + } + i = 0 + while i < fx_nn { + rt_text_int(fx_nx[i] - 4, fx_ny[i] - 10, fx_nvalue[i], fx_ncolor[i], 1) + i = i + 1 + } +} diff --git a/runtime/native/input.ludic b/runtime/native/input.ludic index 71b15e08..4fdd428d 100644 --- a/runtime/native/input.ludic +++ b/runtime/native/input.ludic @@ -381,6 +381,22 @@ function input_axis_i(neg: int, pos: int) -> int { if in_bit_get(in_held, neg) { v = v - 1 } return v } +# The standard top-down movement intent as -1/0/1 per axis: WASD or the arrow +# keys, and the left stick of pad 0 (past a 0.35 deadzone) when one is connected. +function input_move_i() -> IVec2 { + in_init() + var x = input_axis_i(Key.A, Key.D) + input_axis_i(Key.Left, Key.Right) + var y = input_axis_i(Key.W, Key.S) + input_axis_i(Key.Up, Key.Down) + if input_pad_connected(0) { + let sx = input_pad_axis(0, 0) + let sy = input_pad_axis(0, 1) + if sx > 0.35 { x = 1 } + if sx < -0.35 { x = 0 - 1 } + if sy > 0.35 { y = 1 } + if sy < -0.35 { y = 0 - 1 } + } + return IVec2.make(clamp(x, 0 - 1, 1), clamp(y, 0 - 1, 1)) +} # A 2D vector from four direction keys, normalized so a diagonal is not faster. function input_vector(left: int, right: int, up: int, down: int) -> Vector { in_init() @@ -412,6 +428,9 @@ function input_strength(name: pointer) -> fixed { # 3 confined — dissociated but visible; the mouse cannot leave the window. # The platform auto-releases (shows + reconnects) while the window is not key # (Cmd-Tab) and on close. Headless / non-windowed: a no-op. +enum CursorMode { Normal, Hidden, Locked, Confined } # Input.cursor_mode(mode:) +enum PadButton { A, B, X, Y, LeftShoulder, RightShoulder, Back, Start } # Input.bind_pad(button:) / pad_button +enum MouseButton { Left, Right, Middle } # Input.mouse_down(button:) function input_cursor_mode(mode: int) -> void { if is_windowed() { win_cursor_mode(mode) } } diff --git a/runtime/native/systems_move.ludic b/runtime/native/systems_move.ludic index 107e61ad..0fd4ce8b 100644 --- a/runtime/native/systems_move.ludic +++ b/runtime/native/systems_move.ludic @@ -74,6 +74,7 @@ var pm_c_layer: int = 0 - 1 var pm_c_mask: int = 0 - 1 var phys_ts: int = 0 # tile size px (0 = grid off) var phys_wall: int = 0 # solid glyph +var phys_wall2: int = 0 # optional second solid glyph (Solids.solid2), e.g. a closed door var phys_oneway: int = 0 # one-way platform glyph (0 = none) # the moving body's own layer/mask, so the solid scan can filter by them @@ -106,7 +107,9 @@ function phys_tile_solid(c: int, r: int) -> bool { if r < 0 { return true } if c >= rt_mapw { return true } if r >= rt_maph { return true } - return rt_tile(c, r) == phys_wall + let g = rt_tile(c, r) + if g == phys_wall { return true } + return (phys_wall2 != 0) and (g == phys_wall2) } # a one-way platform tile (in bounds only — the arena edge is a full wall above). function phys_tile_oneway(c: int, r: int) -> bool { @@ -395,7 +398,7 @@ function esys_move() -> void { pm_c_layer = World.field_id(pm_col, "layer") pm_c_mask = World.field_id(pm_col, "mask") } - phys_ts = 0; phys_wall = 0; phys_oneway = 0 + phys_ts = 0; phys_wall = 0; phys_wall2 = 0; phys_oneway = 0 let ps = World.prop_id("Solids") if ps >= 0 { let se = World.query_next(ps, 0) @@ -406,6 +409,10 @@ function esys_move() -> void { if f_tile >= 0 { phys_ts = World.get(se, ps, f_tile) } if f_wall >= 0 { phys_wall = World.get(se, ps, f_wall) } if f_ow >= 0 { phys_oneway = World.get(se, ps, f_ow) } + let f_w2 = World.field_id(ps, "solid2") + if f_w2 >= 0 { phys_wall2 = World.get(se, ps, f_w2) } + rt_map_solid1 = phys_wall; rt_map_solid2 = phys_wall2 # Map.is_solid reads the same config + if phys_ts > 0 { rt_map_tile_px = phys_ts } } } diff --git a/runtime/native/systems_sprite.ludic b/runtime/native/systems_sprite.ludic index 8d987b34..932762e2 100644 --- a/runtime/native/systems_sprite.ludic +++ b/runtime/native/systems_sprite.ludic @@ -23,11 +23,13 @@ # flip : int = 0 # 1 = mirror horizontally # tint : int = 0 # 0 = sprite's own colours; non-zero = solid tint (hit flash) # hidden : int = 0 # 1 = skip drawing this entity +# atlas : int = 0 # 1 = `id` is an atlas sprite (Sprite.cell / cell_span), any size (#90) # } # # Draw order is entity/query order (spawn order). Everything integer + through the # camera/zoom/clip chokepoints, so it stays deterministic and headless-identical. # ============================================================================ +import "atlas.ludic" # #90: atlas sprites draw through atlas_draw_ex # read entity `e`'s world coordinate from a Position component (x when axis==0, # y when axis==1), or 0 if it has none. @@ -52,17 +54,44 @@ function esys_sprite() -> void { let f_flip = World.field_id(P, "flip") let f_tint = World.field_id(P, "tint") let f_hidden = World.field_id(P, "hidden") + let f_atlas = World.field_id(P, "atlas") let SA = World.prop_id("SpriteAnim") var f_frame = 0 - 1 if SA >= 0 { f_frame = World.field_id(SA, "frame") } + let f_move = World.field_id(P, "move_id") + let f_face = World.field_id(P, "face") + let f_flash = World.field_id(P, "flash") + let f_blink = World.field_id(P, "blink") + let TD = World.prop_id("TopDown") + var f_wx = 0 - 1; var f_wy = 0 - 1 + if TD >= 0 { f_wx = World.field_id(TD, "want_x"); f_wy = World.field_id(TD, "want_y") } + let PB = World.prop_id("Body") + var f_vx = 0 - 1; var f_vy = 0 - 1 + if PB >= 0 { f_vx = World.field_id(PB, "vx"); f_vy = World.field_id(PB, "vy") } var e = World.query_next(P, 0) while e >= 0 { var hidden = 0 if f_hidden >= 0 { hidden = World.get(e, P, f_hidden) } + if (f_blink >= 0) and (World.get(e, P, f_blink) > 0) and (Time.frame() % 4 < 2) { hidden = 1 } if hidden == 0 { var id = World.get(e, P, f_id) + # movement, from the TopDown intent or the Body velocity: picks the move strip and the facing + var moving = 0 + var dir = 0 + if (TD >= 0) and (f_wx >= 0) and (World.has(e, TD) != 0) { + let wx = World.get(e, TD, f_wx); let wy = World.get(e, TD, f_wy) + if (wx != 0) or (wy != 0) { moving = 1 }; dir = wx + } else { if (PB >= 0) and (f_vx >= 0) and (World.has(e, PB) != 0) { + let vx = World.get(e, PB, f_vx); let vy = World.get(e, PB, f_vy) + if (vx != 0) or (vy != 0) { moving = 1 }; dir = vx + } } + if (moving == 1) and (f_move >= 0) { let mid = World.get(e, P, f_move); if mid > 0 { id = mid } } + if (f_face >= 0) and (World.get(e, P, f_face) != 0) and (dir != 0) { + var fl = 0; if dir < 0 { fl = 1 } + World.set(e, P, f_flip, fl) # written back so an idle sprite keeps facing + } # add the current animation frame when the entity also carries SpriteAnim. if (SA >= 0) and (f_frame >= 0) { if World.has(e, SA) != 0 { id = id + World.get(e, SA, f_frame) } @@ -77,7 +106,11 @@ function esys_sprite() -> void { if f_flip >= 0 { flip = World.get(e, P, f_flip) } var tint = 0 if f_tint >= 0 { tint = World.get(e, P, f_tint) } - rt_draw_sprite_ex(id, x, y, sc, flip, tint) + if (f_flash >= 0) and (World.get(e, P, f_flash) > 0) { tint = 0xffffff } + var is_atlas = 0 + if f_atlas >= 0 { is_atlas = World.get(e, P, f_atlas) } + if is_atlas != 0 { atlas_draw_ex(id, x, y, sc, flip, tint) } # #90 atlas cells / spans + else { rt_draw_sprite_ex(id, x, y, sc, flip, tint) } } e = World.query_next(P, e + 1) } diff --git a/runtime/native/systems_tileskin.ludic b/runtime/native/systems_tileskin.ludic new file mode 100644 index 00000000..d79f37f8 --- /dev/null +++ b/runtime/native/systems_tileskin.ludic @@ -0,0 +1,52 @@ +# ============================================================================ +# systems_tileskin.ludic — the engine-owned tilemap-render system. +# +# A game that builds its world with Map.row(...) used to draw it by hand — a loop over +# every cell calling a sprite draw per glyph. Declare one `TileSkin` entity per glyph +# (from ludic.core) and the engine paints the whole Map.* grid each Render frame, +# BEFORE the sprite system, so actors land on top of the floor and walls: +# +# spawn Wall { TileSkin { glyph: '#', sprite: wall_id, atlas: 1 } } +# +# Cells whose glyph has no skin are left to the clear colour (a flat floor is free). +# Runs through the same draw chokepoints as sprites (camera / zoom / clip), integer, +# deterministic. Spliced only when a game declares TileSkin. +# +# property TileSkin { glyph: int, sprite: int, atlas: int = 1, size: int = 16, scale: int = 1 } +# ============================================================================ +import "atlas.ludic" + +function esys_tileskin() -> void { + let P = World.prop_id("TileSkin") + if P < 0 { return } + let f_glyph = World.field_id(P, "glyph") + let f_sprite = World.field_id(P, "sprite") + let f_atlas = World.field_id(P, "atlas") + let f_size = World.field_id(P, "size") + let f_scale = World.field_id(P, "scale") + if (f_glyph < 0) or (f_sprite < 0) { return } + var e = World.query_next(P, 0) + while e >= 0 { + let glyph = World.get(e, P, f_glyph) + let sprite = World.get(e, P, f_sprite) + var is_atlas = 1 + if f_atlas >= 0 { is_atlas = World.get(e, P, f_atlas) } + var size = 16 + if f_size >= 0 { let sv = World.get(e, P, f_size); if sv > 0 { size = sv } } + var sc = 1 + if f_scale >= 0 { let cv = World.get(e, P, f_scale); if cv > 1 { sc = cv } } + var ty = 0 + while ty < rt_maph { + var tx = 0 + while tx < rt_mapw { + if rt_tile(tx, ty) == glyph { + if is_atlas != 0 { atlas_draw_ex(sprite, tx * size, ty * size, sc, 0, 0) } + else { rt_draw_sprite_ex(sprite, tx * size, ty * size, sc, 0, 0) } + } + tx = tx + 1 + } + ty = ty + 1 + } + e = World.query_next(P, e + 1) + } +} diff --git a/runtime/native/ui_draw.ludic b/runtime/native/ui_draw.ludic index 1c3be23d..a9242ea3 100644 --- a/runtime/native/ui_draw.ludic +++ b/runtime/native/ui_draw.ludic @@ -164,6 +164,13 @@ function ui_focusables() -> int { return n } +# a focused control was activated (Enter / Space / pad A): the event-driven form of +# ui_clicked — `@On(UiClicked) handler { if id == UI_Play { ... } }`. +event UiClicked { id: int = 0 } + +# Ui.close(): no menu is active (the same as opening root -1) +function rt_ui_close() -> void { rt_ui_open(0 - 1) } + function rt_ui_open(root: int) -> void { ui_active = root let n = ui_focusables() @@ -172,8 +179,8 @@ function rt_ui_open(root: int) -> void { } function rt_ui_tick(k: int) -> void { - if ui_active < 0 { return } - for i in 0 .. ui_n { ui_fired[i] = 0 } + for i in 0 .. ui_n { ui_fired[i] = 0 } # a closed UI clears clicks too, so a stale + if ui_active < 0 { return } # activation never leaks to the next frame/scene ui_layout() let n = ui_focusables() if n == 0 { @@ -196,9 +203,11 @@ function rt_ui_tick(k: int) -> void { cur = (cur + 1) % n ui_focus = ui_fl[cur] } - if k == 32 { ui_fired[ui_focus] = 1 } - if k == 10 { ui_fired[ui_focus] = 1 } - if k == 13 { ui_fired[ui_focus] = 1 } + var fire = 0 + if k == 32 { fire = 1 } + if k == 10 { fire = 1 } + if k == 13 { fire = 1 } + if fire == 1 { ui_fired[ui_focus] = 1; emit UiClicked(id: ui_focus) } } function rt_ui_render() -> void { diff --git a/selfhost/backend/emit_call.ludic b/selfhost/backend/emit_call.ludic index a61d32af..c236ca2e 100644 --- a/selfhost/backend/emit_call.ludic +++ b/selfhost/backend/emit_call.ludic @@ -33,7 +33,89 @@ function ns_lower(s: pointer) -> pointer { return b } +# `Prop.of(e)`: the address of entity e's Prop slot in the dense @S_ store, +# typed as Prop — exactly what a query loop binds. It is not checked: reading a +# component the entity does not carry yields its zeroed storage, like a query +# binding would. Guard with `Prop.has(e)` when the entity may lack it. +# `Prop.has(e)`: e is in range, alive, and carries Prop. Branch-free: an +# out-of-range handle is clamped to slot 0 for the loads, then masked out. +function emit_component_access(prop: pointer, meth: pointer, e: Node) -> Val { + let me = itoa(MAX_ENT) + if (meth == "despawn_all") { # `Prop.despawn_all()`: a query loop that despawns each + if len(e.kids) != 0 { perr(`{prop}.despawn_all takes no arguments`) } + let q = node(S_QUERY); q.kids = new []Node; q.c = node(N_BLOCK) + let term = node(E_ID); term.s = prop; push(q.c.kids, term) + let v = node(E_ID); v.s = "__each"; push(q.kids, v) + q.a = node(N_BLOCK); let d = node(S_DESPAWN); let sc = node(E_CALL); let sid = node(E_ID); sid.s = "self"; sc.a = sid; d.a = sc; push(q.a.kids, d) + emit_query(q) + return val("0", "void") + } + if (meth == "count") { # `Prop.count()`: live entities carrying Prop + if len(e.kids) != 0 { perr(`{prop}.count takes no arguments`) } + let ip = emit_alloca("i32"); store_at("i32", "0", ip) + let cp = emit_alloca("i32"); store_at("i32", "0", cp) + let cond = lbl("cc"); let body = lbl("cb"); let nxt = lbl("cn"); let endl = lbl("ce") + emit(" br label %"); emit(cond); emit("\n"); emit(cond); emit(":\n") + let i0 = emit_bind(`load i32, ptr {ip}`) + let ec = emit_bind("load i32, ptr @L_entc") + let lt = emit_bind(`icmp slt i32 {i0}, {ec}`) + emit(" br i1 "); emit(lt); emit(", label %"); emit(body); emit(", label %"); emit(endl); emit("\n") + emit(body); emit(":\n") + let ap = emit_bind(`getelementptr inbounds [{me} x i32], ptr @L_alive, i32 0, i32 {i0}`) + let al = emit_bind(`load i32, ptr {ap}`) + let hp = emit_bind(`getelementptr inbounds [{me} x i8], ptr @H_{prop}, i32 0, i32 {i0}`) + let hv = emit_bind(`load i8, ptr {hp}`) + let hz = emit_bind(`zext i8 {hv} to i32`) + let both = emit_bind(`and i32 {al}, {hz}`) + let c0 = emit_bind(`load i32, ptr {cp}`) + let c1 = emit_bind(`add i32 {c0}, {both}`) + store_at("i32", c1, cp) + emit(" br label %"); emit(nxt); emit("\n"); emit(nxt); emit(":\n") + let i1 = emit_bind(`add i32 {i0}, 1`) + store_at("i32", i1, ip) + emit(" br label %"); emit(cond); emit("\n"); emit(endl); emit(":\n") + return val(emit_bind(`load i32, ptr {cp}`), "int") + } + if len(e.kids) != 1 { perr(`{prop}.{meth} takes one argument: the entity`) } + let ev = emit_expr(e.kids[0]) + if (meth == "of") { + let slot = emit_bind(`getelementptr inbounds [{me} x %Cmp_{prop}], ptr @S_{prop}, i32 0, i32 {ev.code}`) + return val(slot, prop) + } + let in_range = emit_bind(`icmp ult i32 {ev.code}, {me}`) + let idx = emit_bind(`select i1 {in_range}, i32 {ev.code}, i32 0`) + let ap = emit_bind(`getelementptr inbounds [{me} x i32], ptr @L_alive, i32 0, i32 {idx}`) + let alive = emit_bind(`load i32, ptr {ap}`) + let is_alive = emit_bind(`icmp ne i32 {alive}, 0`) + let hp = emit_bind(`getelementptr inbounds [{me} x i8], ptr @H_{prop}, i32 0, i32 {idx}`) + let hv = emit_bind(`load i8, ptr {hp}`) + let carries = emit_bind(`icmp ne i8 {hv}, 0`) + let ok1 = emit_bind(`and i1 {in_range}, {is_alive}`) + let ok = emit_bind(`and i1 {ok1}, {carries}`) + return val(emit_bind(`zext i1 {ok} to i32`), "bool") +} + +# is a call's first argument text (a string literal or a string-typed expression)? +# Selects the by-name form of an overloaded builtin (Audio.play(name: "hit")). +function first_arg_is_text(e: Node) -> bool { + if len(e.kids) == 0 { return false } + var a = e.kids[0] + if a.kind == E_FINIT { if (a.s == "name") { return true }; a = a.a } + if a.kind == E_STR { return true } + let t = static_type(a) + if (t == null) { return false } + return t == "string" +} + function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { + # `Prop.of(e)` / `Prop.has(e)` — typed access to one entity's component, the + # same binding a query loop makes but for an entity handle held in a variable. + # `Prop.of(e)` yields the component (read and assign its fields directly); + # `Prop.has(e)` is true when `e` is a live entity carrying Prop. A package that + # declares a real `prop_of` / `prop_has` function keeps it. + if (find_comp(ns) != null) and ((meth == "of") or (meth == "has") or (meth == "count") or (meth == "despawn_all")) { + if find_fn(ns_lower(ns) + ("_") + meth) == null { return emit_component_access(ns, meth, e) } + } # Math.* is computed inline (deterministic fixed-point), not routed through a # bare rt_ name — so `floor`/`round`/`lerp` never leak into the bare namespace. if (ns == "Math") { @@ -168,6 +250,7 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { 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 == "bar") { bare = "bar"; push(labels, "x"); push(labels, "y"); push(labels, "width"); push(labels, "height"); push(labels, "value"); push(labels, "max"); push(labels, "color"); push(labels, "back") } 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") } @@ -200,14 +283,75 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { if (meth == "sheet") { bare = "atlas_sheet"; push(labels, "path"); push(labels, "cellw"); push(labels, "cellh") } if (meth == "cell") { bare = "atlas_cell"; push(labels, "sheet"); push(labels, "col"); push(labels, "row") } if (meth == "cell_span") { bare = "atlas_cell_span"; push(labels, "sheet"); push(labels, "col"); push(labels, "row"); push(labels, "cols"); push(labels, "rows") } + if (meth == "strip") { bare = "atlas_strip"; push(labels, "sheet"); push(labels, "col"); push(labels, "row"); push(labels, "count"); push(labels, "rows") } if (meth == "define") { bare = "atlas_define"; push(labels, "name"); push(labels, "sheet"); push(labels, "col"); push(labels, "row") } if (meth == "named") { bare = "atlas_named"; push(labels, "name") } if (meth == "draw") { bare = "atlas_draw"; push(labels, "id"); push(labels, "x"); push(labels, "y") } if (meth == "draw_scaled") { bare = "atlas_draw_scaled"; push(labels, "id"); push(labels, "x"); push(labels, "y"); push(labels, "scale") } + if (meth == "draw_meter") { bare = "atlas_draw_meter"; push(labels, "x"); push(labels, "y"); push(labels, "value"); push(labels, "max"); push(labels, "per_icon"); push(labels, "spacing"); push(labels, "full"); push(labels, "half"); push(labels, "empty") } if (meth == "width") { bare = "atlas_width"; push(labels, "id") } if (meth == "height") { bare = "atlas_height"; push(labels, "id") } } + if (ns == "Font") { + if (meth == "load") { bare = "font_load"; push(labels, "path") } + } + # Ui.* — the retained UI (ui blocks): navigation is engine-ticked (esys_ui) and + # activations arrive as UiClicked events; these are the remaining verbs. + if (ns == "Ui") { + if (meth == "build") { bare = "ui_build" } + if (meth == "open") { bare = "ui_open"; push(labels, "id") } + if (meth == "close") { bare = "ui_close" } + if (meth == "tick") { bare = "ui_tick"; push(labels, "key") } + if (meth == "clicked") { bare = "ui_clicked"; push(labels, "id") } + if (meth == "set_text") { bare = "ui_set_text"; push(labels, "id"); push(labels, "text") } + if (meth == "render") { bare = "ui_render" } + } + if (ns == "File") { + if (meth == "open") { bare = "file_open"; push(labels, "path"); push(labels, "mode") } + if (meth == "read") { bare = "file_read"; push(labels, "file"); push(labels, "buffer"); push(labels, "count") } + if (meth == "write") { bare = "file_write"; push(labels, "file"); push(labels, "buffer"); push(labels, "count") } + if (meth == "seek") { bare = "file_seek"; push(labels, "file"); push(labels, "offset"); push(labels, "whence") } + if (meth == "tell") { bare = "file_tell"; push(labels, "file") } + if (meth == "close") { bare = "file_close"; push(labels, "file") } + } + if (ns == "Fx") { # engine-owned sparks and floating numbers (fx.ludic) + if (meth == "sparks") { bare = "fx_sparks"; push(labels, "x"); push(labels, "y"); push(labels, "color"); push(labels, "count") } + if (meth == "number") { bare = "fx_number"; push(labels, "x"); push(labels, "y"); push(labels, "value"); push(labels, "color") } + if (meth == "clear") { bare = "fx_clear" } + } + if (ns == "Prefab") { # spawn a prefab by name at runtime (see emit_prefab_fns) + if (meth == "spawn_at") { # Prefab.spawn_at(name:, at: IVec2) — spawned, then placed + if not has_prefabs() { perr("Prefab.spawn_at: the program declares no prefab") } + let pos = find_comp("Position") + if (pos == null) { perr("Prefab.spawn_at needs a Position property") } + let plabels = new []pointer; push(plabels, "name"); push(plabels, "at") + reorder_named(e, plabels) + let nm = emit_expr(e.kids[0]) + let at = emit_expr(e.kids[1]) + let ent = emit_bind(`call i32 @L_spawn_prefab(ptr {nm.code})`) + let me = itoa(MAX_ENT) + let slot = emit_bind(`getelementptr inbounds [{me} x %Cmp_Position], ptr @S_Position, i32 0, i32 {ent}`) + let xa = emit_bind(`getelementptr inbounds %Cmp_Position, ptr {slot}, i32 0, i32 {itoa(field_index(pos, "x"))}`) + let ya = emit_bind(`getelementptr inbounds %Cmp_Position, ptr {slot}, i32 0, i32 {itoa(field_index(pos, "y"))}`) + let ax = vec_x(at.code) + let ay = vec_y(at.code) + emit(" store i32 "); emit(ax); emit(", ptr "); emit(xa); emit("\n") + emit(" store i32 "); emit(ay); emit(", ptr "); emit(ya); emit("\n") + return val(ent, "entity") + } + if (meth == "spawn") { + if not has_prefabs() { perr("Prefab.spawn: the program declares no prefab") } + let plabels = new []pointer; push(plabels, "name") + reorder_named(e, plabels) + if len(e.kids) != 1 { perr("Prefab.spawn takes one argument: the prefab's name") } + let nm = emit_expr(e.kids[0]) + return val(emit_bind(`call i32 @L_spawn_prefab(ptr {nm.code})`), "entity") + } + perr(`unknown builtin Prefab.{meth}`) + } if (ns == "Assets") { + if (meth == "font") { bare = "assets_font"; push(labels, "name") } # a .ttf loaded through the queue + if (meth == "enqueue_dir") { bare = "assets_enqueue_dir"; push(labels, "path") } # every file of a directory, by base name if (meth == "image") { bare = "atlas_image"; push(labels, "path") } if (meth == "load") { bare = "atlas_image"; push(labels, "path") } # alias if (meth == "get") { bare = "atlas_named"; push(labels, "name") } # alias of Sprite.named @@ -226,15 +370,30 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { if (meth == "set") { bare = "camera"; push(labels, "x"); push(labels, "y") } if (meth == "follow") { bare = "camera_follow"; push(labels, "x"); push(labels, "y"); push(labels, "lerp") } if (meth == "shake") { bare = "camera_shake"; push(labels, "amount") } + if (meth == "shake_for") { bare = "camera_shake_for"; push(labels, "amount"); push(labels, "frames") } # a timed shake the engine decays if (meth == "zoom") { bare = "camera_zoom"; push(labels, "scale") } # #78 deterministic Q16.16 zoom } 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 (meth == "get") { bare = "tile"; push(labels, "x"); push(labels, "y") } + # the cell API: edit the grid in place, ask it what is where + if (meth == "set") { bare = "map_set"; push(labels, "x"); push(labels, "y"); push(labels, "glyph") } + if (meth == "fill") { bare = "map_fill"; push(labels, "glyph") } + if (meth == "rect") { bare = "map_rect"; push(labels, "x"); push(labels, "y"); push(labels, "width"); push(labels, "height"); push(labels, "glyph") } + if (meth == "border") { bare = "map_border"; push(labels, "glyph") } + if (meth == "random_cell") { bare = "map_random_cell"; push(labels, "glyph") } + if (meth == "random_cell_far") { bare = "map_random_cell_far"; push(labels, "glyph"); push(labels, "from"); push(labels, "min_tiles") } + if (meth == "is_solid") { bare = "map_is_solid"; push(labels, "x"); push(labels, "y") } + if (meth == "is_solid_at") { bare = "map_is_solid_at"; push(labels, "x"); push(labels, "y") } + if (meth == "to_tile") { bare = "map_to_tile"; push(labels, "pixel") } + if (meth == "width") { bare = "map_width" } + if (meth == "height") { bare = "map_height" } } if (ns == "Random") { if (meth == "range") { bare = "rng_range"; push(labels, "low"); push(labels, "high") } + if (meth == "weighted") { bare = "rng_weighted"; push(labels, "weights") } # an index in proportion to its weight if (meth == "chance") { bare = "rng_chance"; push(labels, "percent") } if (meth == "seed") { bare = "seed"; push(labels, "value") } if (meth == "value") { bare = "rng_value" } @@ -245,8 +404,8 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { if (meth == "key") { bare = "key" } # action maps + deterministic record/replay (#7) — spliced runtime in # runtime/native/input.ludic, reached as ordinary @fn_input_* calls. - if (meth == "bind") { bare = "input_bind" } - if (meth == "rebind") { bare = "input_rebind" } + if (meth == "bind") { bare = "input_bind"; push(labels, "action"); push(labels, "key") } + if (meth == "rebind") { bare = "input_rebind"; push(labels, "action"); push(labels, "old"); push(labels, "new") } if (meth == "poll") { bare = "input_poll" } if (meth == "down") { bare = "input_down" } if (meth == "pressed") { bare = "input_pressed" } @@ -268,6 +427,7 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { if (meth == "release") { bare = "input_release"; push(labels, "key") } if (meth == "axis") { bare = "input_axis"; push(labels, "neg"); push(labels, "pos") } if (meth == "axis_i") { bare = "input_axis_i"; push(labels, "neg"); push(labels, "pos") } # #79 directional int (-1/0/1) + if (meth == "move_i") { bare = "input_move_i" } # WASD / arrows / left stick -> IVec2 if (meth == "vector") { bare = "input_vector"; push(labels, "left"); push(labels, "right"); push(labels, "up"); push(labels, "down") } if (meth == "strength") { bare = "input_strength"; push(labels, "action") } if (meth == "mouse_x") { bare = "input_mouse_x" } @@ -292,9 +452,12 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { # triggers are ordinary frame-driven calls, so a replay fires the same sounds. if (ns == "Audio") { if (meth == "load") { bare = "audio_load"; push(labels, "path") } - if (meth == "play") { bare = "audio_play"; push(labels, "id") } + if (meth == "define") { bare = "audio_define"; push(labels, "name"); push(labels, "path") } + if (meth == "named") { bare = "audio_named"; push(labels, "name") } + # Audio.play / play_music take a handle, or a name from the sound bank (Audio.define) + if (meth == "play") { if first_arg_is_text(e) { bare = "audio_play_named"; push(labels, "name") } else { bare = "audio_play"; push(labels, "id") } } if (meth == "play_sound") { bare = "audio_play"; push(labels, "id") } - if (meth == "play_music") { bare = "audio_play_music"; push(labels, "id") } + if (meth == "play_music") { if first_arg_is_text(e) { bare = "audio_play_music_named"; push(labels, "name") } else { bare = "audio_play_music"; push(labels, "id") } } if (meth == "stop") { bare = "audio_stop"; push(labels, "id") } if (meth == "stop_music") { bare = "audio_stop_music" } if (meth == "stop_all") { bare = "audio_stop_all" } @@ -519,6 +682,7 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { if (meth == "cos") { bare = "angle_cos"; push(labels, "a") } if (meth == "add") { bare = "angle_add"; push(labels, "a"); push(labels, "b") } if (meth == "diff") { bare = "angle_diff"; push(labels, "a"); push(labels, "b") } + if (meth == "diff_degrees") { bare = "angle_diff_degrees"; push(labels, "a"); push(labels, "b") } # signed, -180..180, ints if (meth == "lerp") { bare = "angle_lerp"; push(labels, "a"); push(labels, "b"); push(labels, "t") } } if (ns == "Percent") { @@ -716,6 +880,14 @@ function emit_ns_call(ns: pointer, meth: pointer, e: Node) -> Val { # #76: a namespace declared with a block controls its public surface — an # `internal` method is emitted but not callable as Name.method. if is_ns_block(ns) and (not ns_export_has(bare)) { perr(`{ns}.{meth} is internal to namespace {ns}`) } + # a namespace function takes named arguments like any other function: its + # labels are its parameter names, so `Weapon.def(name: "pistol", ...)` works. + let nsfn = find_fn(bare) + if (nsfn != null) { + let names = param_labels(nsfn) + var pi2 = 0 + while pi2 < len(names) { push(labels, names[pi2]); pi2 = pi2 + 1 } + } } if (bare == null) { perr(`unknown builtin {ns}.{meth}`) } reorder_named(e, labels) @@ -1121,6 +1293,7 @@ function emit_expr(e: Node) -> Val { if e.kind == E_FLOAT { return val(itoa(e.ival), "fixed") } if e.kind == E_BOOL { return val(itoa(e.ival), "bool") } if e.kind == E_NULL { return val("null", "pointer") } + if e.kind == S_SPAWN { return val(emit_spawn(e), "entity") } # `let e = spawn Model { … }` if e.kind == E_SLICE { # s[a..b] -> a fresh substring let base = emit_expr(e.a) let lo = emit_expr(e.b) @@ -1161,11 +1334,21 @@ function emit_expr(e: Node) -> Val { if (cv < 0) { perr(`unknown color Color.{e.s}`) } return val(itoa(cv), "int") } + if (e.a.s == "Key") { # `Key.Name` -> its key code, at compile time + let kv = key_lookup(e.s) + if (kv < 0) { perr(`unknown key Key.{e.s}`) } + return val(itoa(kv), "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 if (bt != null) { + if (bt == "IVec2") and ((e.s == "x") or (e.s == "y")) { # a packed vector's component + let v = emit_expr(e.a) + if (e.s == "x") { return val(vec_x(v.code), "int") } + return val(vec_y(v.code), "int") + } let cx = computed_expr(bt, e.s) if (cx != null) { return emit_expr(qualify_fields(cx, e.a)) } } diff --git a/selfhost/backend/emit_core.ludic b/selfhost/backend/emit_core.ludic index 1a3e1af6..67336b15 100644 --- a/selfhost/backend/emit_core.ludic +++ b/selfhost/backend/emit_core.ludic @@ -120,6 +120,8 @@ function lbl(pfx: pointer) -> pointer { let r = (pfx + itoa(ll_lbl)); ll_lbl = # slice) is a pointer; void is void. function llty(t: pointer) -> pointer { if (t == "int") or (t == "bool") or (t == "fixed") or (t == "entity") { return "i32" } # entity = an i32 handle (self()) + if is_bare_enum(t) { return "i32" } # a payload-free enum is an int by another name + if (t == "countdown") { return "i32" } # an int the engine counts down to 0 each Update if (t == "long") { return "i64" } # a 64-bit signed integer if (t == "Vector") { return "i64" } # a 2D vector: (x, y) fixeds packed into one i64 if (t == "IVec2") { return "i64" } # an integer 2D vector: (x, y) ints packed into one i64 @@ -192,6 +194,34 @@ function enum_ordinal(ename: pointer, vname: pointer) -> int { } return 0 - 1 } +# an enum none of whose variants carries a payload: a plain int-valued naming layer +function is_bare_enum(name: pointer) -> bool { + let en = find_enum(name) + if (en == null) { return false } + var i = 0 + while i < len(en.kids) { if len(en.kids[i].kids) > 0 { return false }; i = i + 1 } + return true +} +function find_prefab(name: pointer) -> Node { + var i = 0 + while i < len(prog) { let d = prog[i]; if d.kind == N_PREFAB and (d.s == name) { return d }; i = i + 1 } + return null +} +function has_prefabs() -> bool { + var i = 0 + while i < len(prog) { if prog[i].kind == N_PREFAB { return true }; i = i + 1 } + return false +} +# does any component declare a `countdown` field? +function has_countdowns() -> bool { + var i = 0 + while i < len(prog) { + let d = prog[i] + if d.kind == N_COMP { var f = 0; while f < len(d.kids) { if (d.kids[f].ty == "countdown") { return true }; f = f + 1 } } + i = i + 1 + } + return false +} function find_fn(name: pointer) -> Node { var i = 0 while i < len(prog) { let d = prog[i]; if d.kind == N_FN and (d.s == name) { return d }; i = i + 1 } @@ -288,7 +318,25 @@ function computed_expr(prop: pointer, field: pointer) -> Node { } # best-effort static type of an expression (for computed-field lookup; emits nothing) function static_type(e: Node) -> pointer { - if e.kind == E_ID { let li = loc_find(e.s); if li >= 0 { return loc_ty[li] } } + if e.kind == E_ID { + let li = loc_find(e.s); if li >= 0 { return loc_ty[li] } + let g = find_global(e.s); if (g != null) { return g.ty } + } + if e.kind == E_CALL { + if e.a.kind == E_ID { let f = find_fn(e.a.s); if (f != null) { return f.ty } } + if e.a.kind == E_MEMBER and e.a.a.kind == E_ID { # Ns.fn(...) / Prop.of(e) + if (find_comp(e.a.a.s) != null) and (e.a.s == "of") { return e.a.a.s } + if (e.a.a.s == "IVec2") and ((e.a.s == "make") or (e.a.s == "zero") or (e.a.s == "add") or (e.a.s == "sub") or (e.a.s == "scale") or (e.a.s == "along") or (e.a.s == "step")) { return "IVec2" } + if (e.a.a.s == "Map") and ((e.a.s == "random_cell") or (e.a.s == "random_cell_far") or (e.a.s == "to_tile")) { return "IVec2" } + if (e.a.a.s == "Collider") and (e.a.s == "center") { return "IVec2" } + if (e.a.a.s == "Input") and (e.a.s == "move_i") { return "IVec2" } + let nf = find_fn(ns_lower(e.a.a.s) + ("_") + e.a.s); if (nf != null) { return nf.ty } + } + } + if e.kind == E_MEMBER { # record.field + let bt = static_type(e.a) + if (bt != null) { let s = layout_node(bt); if (s != null) { return field_type(s, e.s) } } + } return null } diff --git a/selfhost/backend/emit_decl.ludic b/selfhost/backend/emit_decl.ludic index 150d2d78..1452a7b1 100644 --- a/selfhost/backend/emit_decl.ludic +++ b/selfhost/backend/emit_decl.ludic @@ -13,6 +13,7 @@ function emit_params_sig(d: Node) -> void { function emit_fn(d: Node) -> void { ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0 + g_cur_scene = null # a function belongs to no scene: `become` leaves the live one ret_ty = d.ty let fbody = buf_new() falloc = buf_new() @@ -57,6 +58,7 @@ function emit_main(d: Node) -> void { # its framebuffer allocated. Headless it only allocates — no window, no output — # so a non-rendering entry game is unchanged. if (find_fn("rt_init") != null) { emit(" call void @fn_rt_init()\n") } + emit(" call void @L_init_globals()\n") emit_block(d.a) if not g_term { emit(" br label %ret\n") } emit("ret:\n") @@ -106,6 +108,7 @@ function emit_test_runner() -> void { emit(" store ptr %argv, ptr @L_argv\n") emit(" %failed = alloca i32\n store i32 0, ptr %failed\n") if has_ecs() { emit(" call void @rt_init()\n") } + emit(" call void @L_init_globals()\n") i = 0 while i < len(g_tests) { let okmsg = emit_str_const(`ok - {g_tests[i].s}`) @@ -166,6 +169,7 @@ function emit_program() -> void { } i = i + 1 } + emit_global_init_fn() # @L_init_globals: the non-constant `var` initializers if len(g_events) > 0 { emit_event_fns() } # EV0: @ev_ event-dispatch functions if has_ecs() { emit_world_table() } # EV2/EV8: the mod reflection ABI (powers Query.* / Reflect.* / engine systems, and lets a binary module (#64) link against a shared world). Unused defs dead-strip at -O2, so a game that touches none is output-identical. if has_ecs() { emit_ecs_allocator(); emit_snapshot() } diff --git a/selfhost/backend/emit_head.ludic b/selfhost/backend/emit_head.ludic index 9b1fcece..86e05c9c 100644 --- a/selfhost/backend/emit_head.ludic +++ b/selfhost/backend/emit_head.ludic @@ -30,9 +30,49 @@ function global_init(d: Node) -> pointer { let e = d.a if e.kind == E_INT or e.kind == E_FLOAT or e.kind == E_BOOL { return itoa(e.ival) } if e.kind == E_UN and (e.s == ("-")) and e.a.kind == E_INT { return (("-") + itoa(e.a.ival)) } + if e.kind == E_MEMBER and e.a.kind == E_ID { # `Enum.Variant` is a compile-time int + let ord = enum_ordinal(e.a.s, e.s) + if ord >= 0 { return itoa(ord) } + } if (llty(d.ty) == "ptr") { return "null" } return "0" } +# does a global's initializer need code at startup (anything global_init cannot fold)? +function global_needs_init_code(d: Node) -> bool { + if (d.a == null) { return false } + let e = d.a + if e.kind == E_INT or e.kind == E_FLOAT or e.kind == E_BOOL or e.kind == E_NULL { return false } + if e.kind == E_UN and (e.s == ("-")) and e.a.kind == E_INT { return false } + if e.kind == E_MEMBER and e.a.kind == E_ID { if enum_ordinal(e.a.s, e.s) >= 0 { return false } } + return true +} + +# @L_init_globals(): evaluate every global initializer global_init could not fold +# (`var run: Progress = new Progress`, `var speed: int = BASE * 2`, a call), in +# declaration order, once at startup — after the runtime boots, before Start. +function emit_global_init_fn() -> void { + ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0; nself = 0 + ret_ty = "void" + let fbody = buf_new() + falloc = buf_new() + let saved = code + code = fbody + var i = 0 + while i < len(prog) { + let d = prog[i] + if d.kind == N_VAR and global_needs_init_code(d) { + let v = emit_expr(d.a) + emit(" store "); emit(llty(d.ty)); emit(" "); emit(coerce_code(v, d.ty)); emit(", ptr @g_"); emit(d.s); emit("\n") + } + i = i + 1 + } + emit(" ret void\n") + code = saved + emit("define void @L_init_globals() {\nentry:\n") + emit(buf_str(falloc)) + emit(buf_str(fbody)) + emit("}\n\n") +} function emit_header() -> void { emith("; Ludic (self-hosted) -> LLVM IR\n") @@ -103,6 +143,14 @@ function emit_header() -> void { while i < len(prog) { let d = prog[i] if d.kind == N_COMP { + var j = 0 # the same record twice would silently use the first + while j < i { + if prog[j].kind == N_COMP and (prog[j].s == d.s) { + if (j < g_prog_user_end) and (i >= g_prog_user_end) { perr(`property {d.s} is also a property of the engine runtime; choose another name`) } + perr(`property {d.s} is declared twice`) + } + j = j + 1 + } emith(layout_ty(d.s)); emith(" = type { ") if len(d.kids) == 0 { emith("i32") } var f = 0 @@ -120,6 +168,14 @@ function emit_header() -> void { while i < len(prog) { let d = prog[i] if d.kind == N_VAR { + var j = 0 # the same name twice would be one LLVM global + while j < i { + if prog[j].kind == N_VAR and (prog[j].s == d.s) { + if (j < g_prog_user_end) and (i >= g_prog_user_end) { perr(`variable {d.s} is also a variable of the engine runtime; choose another name`) } + perr(`variable {d.s} is declared twice`) + } + j = j + 1 + } emith("@g_"); emith(d.s); emith(" = internal global ") emith(llty(d.ty)); emith(" ") emith(global_init(d)) diff --git a/selfhost/backend/game/emit_game.ludic b/selfhost/backend/game/emit_game.ludic index 7de511e6..d1d91ba4 100644 --- a/selfhost/backend/game/emit_game.ludic +++ b/selfhost/backend/game/emit_game.ludic @@ -74,7 +74,116 @@ function emit_engine_systems_for_phase(phase: pointer) -> void { # Tween.* fluent handles (#48): advanced each Update tick when the game uses # them (gated on g_uses_tween_rt rather than a declared component). if g_uses_tween_rt and (find_fn("esys_tween") != null) { emit(" call void @fn_esys_tween()\n") } + if has_countdowns() { emit(" call void @L_countdowns()\n") } # `countdown` fields tick toward 0 + if g_uses_fx and (find_fn("fx_tick") != null) { emit(" call void @fn_fx_tick()\n") } # Fx.* age and move } + if (phase == "Render") { + if g_uses_fx and (find_fn("fx_draw") != null) { emit(" call void @fn_fx_draw()\n") } # Fx.* draw after the sprites + } +} + +# @L_countdowns(): every `countdown` field of every live entity that carries the +# component steps toward 0 once per Update (never below it). The timer idiom — +# "frames left" fields counted down by hand in a handler — becomes a field type. +function emit_countdown_system() -> void { + let me = itoa(MAX_ENT) + emit("define void @L_countdowns() {\nentry:\n") + emit(" %n = load i32, ptr @L_entc\n br label %loop\nloop:\n") + emit(" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\n") + emit(" %go = icmp slt i32 %i, %n\n br i1 %go, label %body, label %done\nbody:\n") + emit(" %ap = getelementptr inbounds ["); emit(me); emit(" x i32], ptr @L_alive, i32 0, i32 %i\n") + emit(" %al = load i32, ptr %ap\n %alive = icmp ne i32 %al, 0\n br i1 %alive, label %c0, label %next\n") + var k = 0 + var i = 0 + while i < len(prog) { + let d = prog[i] + if d.kind == N_COMP { + var any = false + var f = 0 + while f < len(d.kids) { if (d.kids[f].ty == "countdown") { any = true }; f = f + 1 } + if any { + let sk = itoa(k); let nk = itoa(k + 1) + emit("c"); emit(sk); emit(":\n") + emit(" %h"); emit(sk); emit(" = getelementptr inbounds ["); emit(me); emit(" x i8], ptr @H_"); emit(d.s); emit(", i32 0, i32 %i\n") + emit(" %hv"); emit(sk); emit(" = load i8, ptr %h"); emit(sk); emit("\n") + emit(" %has"); emit(sk); emit(" = icmp ne i8 %hv"); emit(sk); emit(", 0\n") + emit(" br i1 %has"); emit(sk); emit(", label %t"); emit(sk); emit(", label %c"); emit(nk); emit("\n") + emit("t"); emit(sk); emit(":\n") + emit(" %s"); emit(sk); emit(" = getelementptr inbounds ["); emit(me); emit(" x %Cmp_"); emit(d.s); emit("], ptr @S_"); emit(d.s); emit(", i32 0, i32 %i\n") + f = 0 + while f < len(d.kids) { + if (d.kids[f].ty == "countdown") { + let fk = sk + ("_") + itoa(f) + emit(" %fa"); emit(fk); emit(" = getelementptr inbounds %Cmp_"); emit(d.s); emit(", ptr %s"); emit(sk); emit(", i32 0, i32 "); emit(itoa(f)); emit("\n") + emit(" %fv"); emit(fk); emit(" = load i32, ptr %fa"); emit(fk); emit("\n") + emit(" %fp"); emit(fk); emit(" = icmp sgt i32 %fv"); emit(fk); emit(", 0\n") + emit(" %fd"); emit(fk); emit(" = sub i32 %fv"); emit(fk); emit(", 1\n") + emit(" %fn"); emit(fk); emit(" = select i1 %fp"); emit(fk); emit(", i32 %fd"); emit(fk); emit(", i32 %fv"); emit(fk); emit("\n") + emit(" store i32 %fn"); emit(fk); emit(", ptr %fa"); emit(fk); emit("\n") + } + f = f + 1 + } + emit(" br label %c"); emit(nk); emit("\n") + k = k + 1 + } + } + i = i + 1 + } + emit("c"); emit(itoa(k)); emit(":\n br label %next\n") + emit("next:\n %i1 = add i32 %i, 1\n br label %loop\ndone:\n ret void\n}\n\n") +} + +# @L_prefab_(): spawn one prefab with its presets; @L_spawn_prefab(name): +# the runtime dispatch by name that Prefab.spawn(name:) calls (-1 for no such prefab). +function emit_prefab_fn(pre: Node) -> void { + ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0; nself = 0 + g_cur_scene = null + ret_ty = "int" + let fbody = buf_new() + falloc = buf_new() + let saved = code + code = fbody + let sp = node(S_SPAWN); sp.s = pre.s + let e = emit_spawn(sp) + emit(" ret i32 "); emit(e); emit("\n") + code = saved + emit("define i32 @L_prefab_"); emit(pre.s); emit("() {\nentry:\n") + emit(buf_str(falloc)) + emit(buf_str(fbody)) + emit("}\n\n") +} +function emit_prefab_fns() -> void { + var i = 0 + while i < len(prog) { if prog[i].kind == N_PREFAB { emit_prefab_fn(prog[i]) }; i = i + 1 } + g_uses_str = true + ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0; nself = 0 + let fbody = buf_new() + falloc = buf_new() + let saved = code + code = fbody + i = 0 + while i < len(prog) { + let d = prog[i] + if d.kind == N_PREFAB { + let lit = node(E_STR); lit.s = d.s + let sv = emit_expr(lit) + let same = emit_bind(`call i32 @fn_str_eq(ptr %name, ptr {sv.code})`) + let hit = emit_bind(`icmp ne i32 {same}, 0`) + let yes = lbl("pf"); let no = lbl("pfn") + emit(" br i1 "); emit(hit); emit(", label %"); emit(yes); emit(", label %"); emit(no); emit("\n") + emit(yes); emit(":\n") + let r = emit_bind(`call i32 @L_prefab_{d.s}()`) + emit(" ret i32 "); emit(r); emit("\n") + emit(no); emit(":\n") + } + i = i + 1 + } + emit(" ret i32 -1\n") + code = saved + emit("define i32 @L_spawn_prefab(ptr %name) {\nentry:\n") + emit(buf_str(falloc)) + emit(buf_str(fbody)) + emit("}\n\n") } # Global handlers run first, then the active scene's layer handlers in @@ -101,6 +210,7 @@ function phase_id(phase: pointer) -> int { if phase == "Render" { return 4 } if phase == "Start" { return 5 } if phase == "OnQuit" { return 6 } + if phase == "Overlay" { return 7 } # HUD/UI pass after the engine drew sprites return 7 } @@ -223,18 +333,46 @@ function emit_calls_for_phase(phase: pointer) -> void { } emit_engine_systems_for_phase(phase) # engine-owned systems run after every user handler emit_dyn_systems_for_phase(phase) # #64: mod-registered systems run last + if (phase == "Overlay") { emit_scene_menu_render() } # a scene's `shows` menu paints last +} + +# the menu of the live `scene X shows Menu`, drawn on top of everything else +function emit_scene_menu_render() -> void { + var any = false + var i = 0 + while i < len(g_scenes) { if (g_scenes[i].ty != null) { any = true }; i = i + 1 } + if not any { return } + let cs = emit_bind("load i32, ptr @L_scene") + i = 0 + while i < len(g_scenes) { + let sc = g_scenes[i] + if (sc.ty != null) { + let ce = emit_bind(`icmp eq i32 {cs}, {itoa(sc.ival)}`) + let run = lbl("mrun"); let skip = lbl("mskip") + emit(" br i1 "); emit(ce); emit(", label %"); emit(run); emit(", label %"); emit(skip); emit("\n") + emit(run); emit(":\n call void @fn_rt_ui_render()\n") + emit(" br label %"); emit(skip); emit("\n"); emit(skip); emit(":\n") + } + i = i + 1 + } } # on enter / on exit compile to void functions @scene_enter_ / # @scene_exit_, called at the transition point (and enter at boot for the # start scene). Emitted for every scene, empty body when the hook is absent. -function emit_scene_fn(name: pointer, kind: pointer, body: Node) -> void { +function emit_scene_fn(name: pointer, kind: pointer, body: Node, menu: pointer) -> void { ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0; nself = 0 ret_ty = "void" let fbody = buf_new() falloc = buf_new() let saved = code code = fbody + # `scene X shows Menu`: a free cursor and the menu open on enter, closed on exit + if (menu != null) and (kind == "enter") { + if (find_fn("input_cursor_mode") != null) { emit(" call void @fn_input_cursor_mode(i32 0)\n") } + emit(" call void @fn_rt_ui_open(i32 "); emit(itoa(ui_index_of("UI_" + menu))); emit(")\n") + } + if (menu != null) and (kind == "exit") { emit(" call void @fn_rt_ui_close()\n") } if (body != null) { emit_block(body) } # EV1: a `public` scene fires scene__enter / scene__exit after its block let sev = `scene_{name}_{kind}` @@ -253,10 +391,31 @@ function emit_scene_hooks() -> void { while i < len(g_scenes) { let sc = g_scenes[i] g_cur_scene = sc - emit_scene_fn(sc.s, "enter", sc.a) - emit_scene_fn(sc.s, "exit", sc.b) + emit_scene_fn(sc.s, "enter", sc.a, sc.ty) + emit_scene_fn(sc.s, "exit", sc.b, sc.ty) i = i + 1 } + g_cur_scene = null + if len(g_scenes) > 0 { emit_scene_leave_fn() } # a program without scenes has no @L_scene +} + +# @L_scene_leave(): run the on-exit hook of whichever scene is live — what a +# `become` outside any scene's own handlers (a global handler, an @On listener, +# a plain function) calls, since it cannot know the leaving scene at compile time. +function emit_scene_leave_fn() -> void { + emit("define void @L_scene_leave() {\nentry:\n") + emit(" %s = load i32, ptr @L_scene\n") + var i = 0 + while i < len(g_scenes) { + let sc = g_scenes[i] + let k = itoa(i) + emit(" %is"); emit(k); emit(" = icmp eq i32 %s, "); emit(itoa(sc.ival)); emit("\n") + emit(" br i1 %is"); emit(k); emit(", label %leave"); emit(k); emit(", label %next"); emit(k); emit("\n") + emit("leave"); emit(k); emit(":\n call void @scene_exit_"); emit(sc.s); emit("()\n ret void\n") + emit("next"); emit(k); emit(":\n") + i = i + 1 + } + emit(" ret void\n}\n\n") } # @OnDespawn(Model) hooks compile to `@on_despawn_(entity, reason)` @@ -443,6 +602,7 @@ function emit_event_fns() -> void { # --- @ev_(payload): fire compile-time listeners, then foreign ones ll_t = 0; ll_lbl = 0; g_term = false; loc_reset(); nloop = 0; nself = 0 + g_cur_scene = null # a listener belongs to no scene: `become` leaves the live one ret_ty = "void" let fbody = buf_new() falloc = buf_new() diff --git a/selfhost/backend/game/emit_machine.ludic b/selfhost/backend/game/emit_machine.ludic index 673f677a..a1b7ce0b 100644 --- a/selfhost/backend/game/emit_machine.ludic +++ b/selfhost/backend/game/emit_machine.ludic @@ -12,6 +12,22 @@ function machine_var(a: Node) -> Node { return null } +# the value a state dispatches on: its explicit `= expr`; else, when the machine's +# store is a `var` declared with an enum type, the variant named like the state +# (`var mode: HeroState` + `state Rolling` -> HeroState.Rolling); else its ordinal. +function machine_state_value(m: Node, state: Node) -> pointer { + if (state.b != null) { return emit_expr(state.b).code } + let gv = machine_var(m.a) + if (gv != null) { + if (gv.ty != null) { + let ord = enum_ordinal(gv.ty, state.s) + if ord >= 0 { return itoa(ord) } + if (find_enum(gv.ty) != null) { perr(`machine state {state.s} is not a variant of enum {gv.ty}`) } + } + } + return itoa(state.ival) +} + function emit_machine(st: Node) -> void { let gv = machine_var(st.a) var s = "" @@ -26,8 +42,8 @@ function emit_machine(st: Node) -> void { var i = 0 while i < len(st.kids) { let state = st.kids[i] - let v = emit_expr(state.b) - let c = emit_bind(`icmp eq i32 {s}, {v.code}`) + let v = machine_state_value(st, state) + let c = emit_bind(`icmp eq i32 {s}, {v}`) let body = lbl("sbody"); let nxt = lbl("sarm") emit(" br i1 "); emit(c); emit(", label %"); emit(body); emit(", label %"); emit(nxt); emit("\n") emit(body); emit(":\n"); g_term = false @@ -53,19 +69,22 @@ function emit_become(st: Node) -> void { while i < len(m.kids) { if (m.kids[i].s == st.s) { target = m.kids[i] }; i = i + 1 } if (target != null) { let gv = machine_var(m.a) - let sv = emit_expr(target.b) + let sv = machine_state_value(m, target) if (gv != null) { - emit(" store i32 "); emit(sv.code); emit(", ptr @g_"); emit(m.a.s); emit("\n") + emit(" store i32 "); emit(sv); 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") + emit(" call void @fn_rt_set_reg(i32 "); emit(regv.code); emit(", i32 "); emit(sv); emit(")\n") } return } } let sc = find_scene(st.s) # else a scene transition if (sc == null) { perr(`become: no state or scene {st.s}`) } + # leave the scene we are in: statically known inside a scene's own handler, else + # (a global handler, an event listener, a function) whichever scene is live now if (g_cur_scene != null) { emit(" call void @scene_exit_"); emit(g_cur_scene.s); emit("()\n") } + else { emit(" call void @L_scene_leave()\n") } emit(" store i32 "); emit(itoa(sc.ival)); emit(", ptr @L_scene\n") emit(" call void @scene_enter_"); emit(sc.s); emit("()\n") } diff --git a/selfhost/backend/game/emit_spawn.ludic b/selfhost/backend/game/emit_spawn.ludic index 0e6e308b..2a2d641f 100644 --- a/selfhost/backend/game/emit_spawn.ludic +++ b/selfhost/backend/game/emit_spawn.ludic @@ -1,6 +1,16 @@ # emit_spawn.ludic — spawn / despawn / self(), and seeding a component's fields # from its declared defaults plus any per-spawn overrides. +# run a hook body with `self()` bound to entity `e` (a constructor knows its entity) +function emit_hook_with_self(e: pointer, body: Node) -> void { + let sslot = emit_alloca("i32") + emit(" store i32 "); emit(e); emit(", ptr "); emit(sslot); emit("\n") + if nself < len(self_stk) { self_stk[nself] = sslot } else { push(self_stk, sslot) } + nself = nself + 1 + emit_block(body) + nself = nself - 1 +} + function emit_init_component(e: pointer, comp: pointer, rec: Node) -> void { let me = itoa(MAX_ENT) let c = find_comp(comp) @@ -44,7 +54,7 @@ function emit_init_component(e: pointer, comp: pointer, rec: Node) -> void { let vslot = emit_alloca("ptr") emit(" store ptr "); emit(slot); emit(", ptr "); emit(vslot); emit("\n") loc_push(comp, vslot, comp) - emit_block(ab) + emit_hook_with_self(e, ab) nloc = save } # EV1: a @Public attach hook fires prop_

_attach with the entity @@ -68,33 +78,72 @@ function emit_bind_props(model: Node, e: pointer) -> void { } } +# the record for component `cn` in a spawn or prefab node (null when absent) +function spawn_record(n: Node, cn: pointer) -> Node { + if (n == null) { return null } + var i = 0 + while i < len(n.kids) { if (n.kids[i].s == cn) { return n.kids[i].a }; i = i + 1 } + return null +} +# a prefab's preset fields with the spawn's own overrides after them (later wins) +function merge_records(base: Node, over: Node) -> Node { + if (base == null) { return over } + if (over == null) { return base } + let m = node(E_REC) + var i = 0 + while i < len(base.kids) { push(m.kids, base.kids[i]); i = i + 1 } + i = 0 + while i < len(over.kids) { push(m.kids, over.kids[i]); i = i + 1 } + return m +} + +# the model behind a spawn name: a model itself, or the model at the end of a +# prefab chain (`prefab Grunt: Foe`, `prefab Foe: Creature` -> Creature) +function spawn_model(name: pointer) -> pointer { + var n = name + var depth = 0 + while true { + let p = find_prefab(n) + if (p == null) { return n } + n = p.ty + depth = depth + 1 + if depth > 16 { perr(`prefab {name}: the chain of prefabs never reaches a model`) } + } + return n +} +# the preset record for component `cn` along a prefab chain, base prefabs first +function prefab_record(name: pointer, cn: pointer) -> Node { + let p = find_prefab(name) + if (p == null) { return null } + return merge_records(prefab_record(p.ty, cn), spawn_record(p, cn)) +} + function emit_spawn(st: Node) -> pointer { let e = emit_bind("call i32 @L_alloc()") - let ak = find_arch_id(st.s) + let model = spawn_model(st.s) + let ak = find_arch_id(model) + if (find_prefab(st.s) != null) and (ak == 0) { perr(`prefab {st.s}: unknown model {model}`) } if ak > 0 { let me = itoa(MAX_ENT) let kp = nreg(); emit(" "); emit(kp); emit(" = getelementptr inbounds ["); emit(me); emit(" x i32], ptr @L_kind, i32 0, i32 "); emit(e); emit("\n") emit(" store i32 "); emit(itoa(ak)); emit(", ptr "); emit(kp); emit("\n") - let arch = find_arch(st.s) + let arch = find_arch(model) var c = 0 while c < len(arch.kids) { let cn = arch.kids[c].s - var rec = null - var i = 0 - while i < len(st.kids) { if (st.kids[i].s == cn) { rec = st.kids[i].a }; i = i + 1 } - emit_init_component(e, cn, rec) + emit_init_component(e, cn, merge_records(prefab_record(st.s, cn), spawn_record(st, cn))) c = c + 1 } - let ob = onspawn_body(st.s) # @OnSpawn(Model) hook runs after init + let ob = onspawn_body(model) # @OnSpawn(Model) hook runs after init if (ob != null) { let save = nloc emit_bind_props(arch, e) - emit_block(ob) + emit_hook_with_self(e, ob) nloc = save } # EV1: a @Public spawn hook also fires the public event model__spawn, so # mods (native or foreign, over the ABI) see the entity born. - let sev = `model_{st.s}_spawn` + let sev = `model_{model}_spawn` if (find_event(sev) != null) { emit(" call void @ev_"); emit(sev); emit("(i32 "); emit(e); emit(")\n") } } else { var i = 0 @@ -178,6 +227,11 @@ function emit_detach(st: Node) -> void { # enable/disable. `

on ` toggles a property's has-flag on an entity (its # data persists, so re-enabling restores it, and queries already skip a cleared # flag). A bare `` / `` flips a global enabled flag. +function find_sys(name: pointer) -> Node { + var i = 0 + while i < len(prog) { let d = prog[i]; if d.kind == N_SYS and (d.s == name) { return d }; i = i + 1 } + return null +} function emit_toggle(st: Node) -> void { var val = "0"; if st.ival == 1 { val = "1" } if (st.ty != null) and (st.ty == "system") { return } # `disable system ` is compile-time (handled in emit_one_engine_system); no runtime code @@ -208,6 +262,11 @@ function emit_toggle(st: Node) -> void { if (find_event(tev) != null) { emit(" call void @ev_"); emit(tev); emit("(i32 "); emit(ev.code); emit(")\n") } } else { var g = "@HE_"; if is_model(st.s) { g = "@ME_" } # model vs handler - emit(" store i32 "); emit(val); emit(", ptr "); emit(g); emit(st.s); emit("\n") + var hname = st.s + if (g == "@HE_") and (find_sys(hname) == null) and (g_cur_scene != null) { # a scene's own handler, by its bare name + let qualified = `{g_cur_scene.s}_{hname}` + if (find_sys(qualified) != null) { hname = qualified } + } + emit(" store i32 "); emit(val); emit(", ptr "); emit(g); emit(hname); emit("\n") } } diff --git a/selfhost/backend/game/emit_ui.ludic b/selfhost/backend/game/emit_ui.ludic index 1fb5c3c0..8e1c0729 100644 --- a/selfhost/backend/game/emit_ui.ludic +++ b/selfhost/backend/game/emit_ui.ludic @@ -19,6 +19,29 @@ function ui_prop(w: Node, key: pointer) -> Node { while i < len(w.b.kids) { if (w.b.kids[i].s == key) { return w.b.kids[i].a }; i = i + 1 } return null } +# a widget's props plus the text props (font, size, fg, align) it inherits from the +# nearest ancestor that sets them — so a panel states the menu's look once. +function ui_props_with_inherited(i: int) -> []Node { + let w = uiw[i] + let out = new []Node + var p = 0 + while p < len(w.b.kids) { push(out, w.b.kids[p]); p = p + 1 } + let keys = new []pointer + push(keys, "font"); push(keys, "size"); push(keys, "fg"); push(keys, "align") + var k = 0 + while k < len(keys) { + if ui_prop(w, keys[k]) == null { + var a = uiw_parent[i] + while a >= 0 { + let v = ui_prop(uiw[a], keys[k]) + if (v != null) { let fi = node(E_FINIT); fi.s = keys[k]; fi.a = v; push(out, fi); a = 0 - 1 } + else { a = uiw_parent[a] } + } + } + k = k + 1 + } + return out +} function ui_flatten(w: Node, parent: int) -> void { let idx = len(uiw) push(uiw, w); push(uiw_parent, parent) @@ -41,6 +64,7 @@ function has_ui() -> bool { # index of a UI_: a ui block's root, or a widget's id= function ui_index_of(nm: pointer) -> int { + if uiw == null { ui_flatten_all() } # a UI_ id may be read before @ui_build is emitted (a function, a listener) let s = nm[3..len(nm)] # strip "UI_" let u = 0; var bi = 0 var i = 0 @@ -86,12 +110,13 @@ function emit_ui_build() -> void { ll_ui_set(i, 0, itoa(t)) ll_ui_set(i, 1, itoa(uiw_parent[i])) if t == 4 { ll_ui_set(i, 17, "1") } + let props = ui_props_with_inherited(i) var p = 0 - while p < len(w.b.kids) { - let pr = w.b.kids[p] + while p < len(props) { + let pr = props[p] let k = pr.s let v = pr.a - if (k == "id") { p = p + 1; continue } + if (k == "id") or (k == "goto") { p = p + 1; continue } if (k == "text") { let sv = emit_expr(v) emit(" call void @fn_rt_ui_static_text(i32 "); emit(itoa(i)); emit(", ptr "); emit(sv.code); emit(")\n") diff --git a/selfhost/backend/game/emit_world.ludic b/selfhost/backend/game/emit_world.ludic index 1796c21a..b4a90352 100644 --- a/selfhost/backend/game/emit_world.ludic +++ b/selfhost/backend/game/emit_world.ludic @@ -422,6 +422,7 @@ function emit_tick_helpers() -> void { emit("define void @L_tick_render() {\nentry:\n") ll_t = 0; ll_lbl = 0 emit_calls_for_phase("Render") + emit_calls_for_phase("Overlay") emit(" ret void\n}\n\n") } @@ -433,6 +434,8 @@ function emit_game_defs() -> void { while i < len(prog) { if prog[i].kind == N_SYS { emit_system_fn(prog[i]) }; i = i + 1 } emit_despawn_hooks() emit_scene_hooks() + if has_countdowns() { emit_countdown_system() } # `countdown` fields (see emit_game.ludic) + if has_prefabs() { emit_prefab_fns() } # @L_prefab_ + @L_spawn_prefab(name) emit_tick_helpers() } @@ -443,6 +446,7 @@ function emit_game_main() -> void { emit(" store i32 %argc, ptr @L_argc\n") emit(" store ptr %argv, ptr @L_argv\n") if (find_fn("rt_init") != null) { emit(" call void @fn_rt_init()\n") } + emit(" call void @L_init_globals()\n") emit_calls_for_phase("Start") # enter the start scene once, after boot: store its id and run its on-enter. if len(g_scenes) > 0 { @@ -482,6 +486,12 @@ function emit_game_main() -> void { emit(" store i32 "); emit(k); emit(", ptr @L_key\n") } } + # a program with `ui` blocks: navigate the open UI from this frame's key and emit + # UiClicked on activation — so a scene never polls ui_tick by hand. + if has_ui() and (find_fn("rt_ui_tick") != null) { + let uk = emit_bind("load i32, ptr @L_key") + emit(" call void @fn_rt_ui_tick(i32 "); emit(uk); emit(")\n") + } emit_calls_for_phase("Input") emit_calls_for_phase("FixedUpdate") emit_calls_for_phase("Update") @@ -495,6 +505,9 @@ function emit_game_main() -> void { emit(" call void @fn_rt_clear(i32 "); emit(itoa(g_clear_color)); emit(")\n") } emit_calls_for_phase("Render") + # Overlay: HUD / menus drawn after every engine Render system (sprites, lights), so + # game UI is never painted under an actor. Presented together with the frame. + emit_calls_for_phase("Overlay") if g_has_clear_color and (find_fn("rt_present") != null) { emit(" call void @fn_rt_present()\n") } diff --git a/selfhost/backend/stdlib/emit_ivec.ludic b/selfhost/backend/stdlib/emit_ivec.ludic index 9163c019..ab209ce1 100644 --- a/selfhost/backend/stdlib/emit_ivec.ludic +++ b/selfhost/backend/stdlib/emit_ivec.ludic @@ -20,6 +20,7 @@ function is_ivec_ns(meth: pointer) -> bool { if (meth == "make") or (meth == "zero") or (meth == "x") or (meth == "y") { return true } if (meth == "add") or (meth == "sub") or (meth == "scale") or (meth == "dot") { return true } if (meth == "equal") or (meth == "manhattan") or (meth == "to_vector") { return true } + if (meth == "distance2") or (meth == "within") or (meth == "heading") or (meth == "along") or (meth == "step") { return true } return false } @@ -39,6 +40,34 @@ function emit_ivec_ns(meth: pointer, e: Node) -> Val { let v = emit_expr(e.kids[0]) return val(vec_y(v.code), "int") } + if (meth == "distance2") or (meth == "within") { # squared distance; within(a, b, radius) + let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1]) + let dx = emit_bind(`sub i32 {vec_x(b.code)}, {vec_x(a.code)}`) + let dy = emit_bind(`sub i32 {vec_y(b.code)}, {vec_y(a.code)}`) + let xx = emit_bind(`mul i32 {dx}, {dx}`) + let yy = emit_bind(`mul i32 {dy}, {dy}`) + let d2 = emit_bind(`add i32 {xx}, {yy}`) + if (meth == "distance2") { return val(d2, "int") } + let r = emit_expr(e.kids[2]) + let rr = emit_bind(`mul i32 {r.code}, {r.code}`) + let c = emit_bind(`icmp sle i32 {d2}, {rr}`) + return val(emit_bind(`zext i1 {c} to i32`), "bool") + } + if (meth == "heading") { # degrees from a to b (0 = +x, 90 = +y) + if find_fn("rt_ivec_heading") == null { perr("IVec2.heading needs the engine runtime") } + let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1]) + return val(emit_bind(`call i32 @fn_rt_ivec_heading(i64 {a.code}, i64 {b.code})`), "int") + } + if (meth == "along") { # the point `distance` along `degrees` from origin + if find_fn("rt_ivec_along") == null { perr("IVec2.along needs the engine runtime") } + let o = emit_expr(e.kids[0]); let d = emit_expr(e.kids[1]); let n = emit_expr(e.kids[2]) + return val(emit_bind(`call i64 @fn_rt_ivec_along(i64 {o.code}, i32 {d.code}, i32 {n.code})`), "IVec2") + } + if (meth == "step") { # a -1/0/1 unit step along `degrees` + if find_fn("rt_ivec_step") == null { perr("IVec2.step needs the engine runtime") } + let d = emit_expr(e.kids[0]) + return val(emit_bind(`call i64 @fn_rt_ivec_step(i32 {d.code})`), "IVec2") + } if (meth == "add") { # component-wise a + b let a = emit_expr(e.kids[0]); let b = emit_expr(e.kids[1]) let ax = vec_x(a.code); let ay = vec_y(a.code); let bx = vec_x(b.code); let by = vec_y(b.code) diff --git a/selfhost/backend/stdlib/emit_key.ludic b/selfhost/backend/stdlib/emit_key.ludic new file mode 100644 index 00000000..e79ae15b --- /dev/null +++ b/selfhost/backend/stdlib/emit_key.ludic @@ -0,0 +1,34 @@ +# emit_key.ludic — `Key.Name` -> the key code the input layer delivers, folded at +# compile time (like Color.*). Letters are the lowercase character (what the held-key +# set stores), digits their ASCII, plus the specials. Arrow keys alias WASD because the +# platform layer maps them that way; Escape is 27 (0.3, #88). +function key_lookup(name: pointer) -> int { + if (name == "Space") { return 32 } + if (name == "Enter") { return 10 } + if (name == "Return") { return 10 } + if (name == "Escape") { return 27 } + if (name == "Esc") { return 27 } + if (name == "Shift") { return 16 } + if (name == "Tab") { return 9 } + if (name == "Backspace") { return 8 } + if (name == "Up") { return 119 } + if (name == "Down") { return 115 } + if (name == "Left") { return 97 } + if (name == "Right") { return 100 } + if (name == "Digit0") { return 48 } + if (name == "Digit1") { return 49 } + if (name == "Digit2") { return 50 } + if (name == "Digit3") { return 51 } + if (name == "Digit4") { return 52 } + if (name == "Digit5") { return 53 } + if (name == "Digit6") { return 54 } + if (name == "Digit7") { return 55 } + if (name == "Digit8") { return 56 } + if (name == "Digit9") { return 57 } + # a single capital letter names that letter key: Key.A .. Key.Z + if (name[1] == 0) { + let c = name[0] + if (c >= 65) and (c <= 90) { return c + 32 } + } + return 0 - 1 +} diff --git a/selfhost/backend/stdlib/emit_list.ludic b/selfhost/backend/stdlib/emit_list.ludic index 8a8dd4ee..294288e6 100644 --- a/selfhost/backend/stdlib/emit_list.ludic +++ b/selfhost/backend/stdlib/emit_list.ludic @@ -12,7 +12,7 @@ function list_elem_addr(h: pointer, elt: pointer, idx: pointer) -> pointer { } function is_list_ns(meth: pointer) -> bool { - if (meth == "len") or (meth == "push") or (meth == "clear") { return true } + if (meth == "len") or (meth == "push") or (meth == "clear") or (meth == "sample") { return true } if (meth == "first") or (meth == "last") or (meth == "pop") or (meth == "swap") { return true } if (meth == "contains") or (meth == "index_of") or (meth == "reverse") { return true } if (meth == "insert") or (meth == "remove_at") or (meth == "remove") or (meth == "sort") { return true } @@ -228,6 +228,12 @@ function sort_fn_arg(meth: pointer, e: Node) -> pointer { function emit_list_ns(meth: pointer, e: Node) -> Val { if (meth == "len") { return emit_len(e) } # same header length as len(s) if (meth == "push") { return emit_push(e) } # same as push(s, v) + if (meth == "sample") { # count random picks from an int slice (runtime) + let pool = emit_expr(e.kids[0]) + let cnt = emit_expr(e.kids[1]) + if find_fn("rt_list_sample") == null { perr("List.sample needs the engine runtime (a game, or import ludic.core)") } + return val(emit_bind(`call ptr @fn_rt_list_sample(ptr {pool.code}, i32 {cnt.code})`), "[]int") + } let s = emit_expr(e.kids[0]) if not is_slice_ty(s.ty) { perr(`List.{meth} needs a slice`) } let el = slice_elem(s.ty) diff --git a/selfhost/frontend/ast.ludic b/selfhost/frontend/ast.ludic index 08c01ca6..9505db57 100644 --- a/selfhost/frontend/ast.ludic +++ b/selfhost/frontend/ast.ludic @@ -31,6 +31,8 @@ const S_EMIT: int = 49 # emit E(field: v, ...) — fire event E (calls const S_CANCEL: int = 50 # cancel — inside a listener, veto a `cancellable` event const N_TEST: int = 51 # test "name" { ... } — a named test block (the testing framework) # s=name a=body block line=source line of the test +const N_PREFAB: int = 53 # prefab Name: Model { Comp { field: v }, … } — a model plus preset fields + # s=name ty=model kids=E_FINIT component records (like spawn) const E_TRY: int = 52 # try EXPR else { ... } — recover a fallible result as a value (issue #46) # a=the fallible (result-typed) expression b=else block (its # trailing expression is the fallback) line=source line diff --git a/selfhost/frontend/parse.ludic b/selfhost/frontend/parse.ludic index 310d0aea..4aed6d52 100644 --- a/selfhost/frontend/parse.ludic +++ b/selfhost/frontend/parse.ludic @@ -150,6 +150,7 @@ function p_primary() -> Node { if (t.text == "false") { let n = node(E_BOOL); n.ival = 0; pi = pi + 1; return n } if (t.text == "null") { pi = pi + 1; return node(E_NULL) } if (t.text == "new") { pi = pi + 1; let n = node(E_NEW); n.s = ptype(); if is_op("{") { n.a = record() }; return n } + if (t.text == "spawn") { return parse_spawn() } # spawn as an expression: the new entity # try EXPR else { ... } — evaluate a fallible (result-typed) expression; on # `ok` the whole expression is its payload, on `err` the else block runs (with # the message bound to `error`) and its trailing expression is the fallback. @@ -196,7 +197,7 @@ function p_postfix() -> Node { if e.a.kind == E_ID and e.a.s == "Input" and (e.s == "bind" or e.s == "rebind" or e.s == "poll" or e.s == "down" or e.s == "pressed" or e.s == "record" or e.s == "replay" or e.s == "action" or e.s == "bind_pad" or e.s == "active" or e.s == "just_pressed" or e.s == "just_released") { g_uses_input = true } # #50 device layer — any of the multi-key / analog / mouse / gamepad / touch # methods also splices input.ludic (Input.key stays bare, no runtime). - if e.a.kind == E_ID and e.a.s == "Input" and (e.s == "key_down" or e.s == "key_pressed" or e.s == "key_released" or e.s == "press" or e.s == "release" or e.s == "axis" or e.s == "axis_i" or e.s == "vector" or e.s == "strength" or e.s == "mouse_x" or e.s == "mouse_y" or e.s == "mouse_dx" or e.s == "mouse_dy" or e.s == "mouse_down" or e.s == "wheel" or e.s == "set_mouse" or e.s == "pad_connected" or e.s == "pad_button" or e.s == "pad_axis" or e.s == "set_pad" or e.s == "touch_count" or e.s == "touch_x" or e.s == "touch_y" or e.s == "set_touch" or e.s == "cursor_mode") { g_uses_input = true } + if e.a.kind == E_ID and e.a.s == "Input" and (e.s == "key_down" or e.s == "key_pressed" or e.s == "key_released" or e.s == "press" or e.s == "release" or e.s == "axis" or e.s == "axis_i" or e.s == "vector" or e.s == "strength" or e.s == "mouse_x" or e.s == "mouse_y" or e.s == "mouse_dx" or e.s == "mouse_dy" or e.s == "mouse_down" or e.s == "wheel" or e.s == "set_mouse" or e.s == "pad_connected" or e.s == "pad_button" or e.s == "pad_axis" or e.s == "move_i" or e.s == "set_pad" or e.s == "touch_count" or e.s == "touch_x" or e.s == "touch_y" or e.s == "set_touch" or e.s == "cursor_mode") { g_uses_input = true } # Anim.play/clip/on_frame/fired + Motion.to (#48): the ergonomic writes over # the SpriteAnim/Motion components live in systems.ludic and use the world # table, so splice it and force the reflection ABI even if the game leaves @@ -210,6 +211,7 @@ function p_postfix() -> Node { # Tween.to/chain/delay/value/stop/parallel (#48): the fluent stateful handles # live in tween.ludic, advanced by an engine-owned system each Update tick. if e.a.kind == E_ID and e.a.s == "Tween" and (e.s == "to" or e.s == "chain" or e.s == "delay" or e.s == "value" or e.s == "stop" or e.s == "parallel") { g_uses_tween_rt = true } + if e.a.kind == E_ID and e.a.s == "Fx" { g_uses_fx = true } # Fx.* -> splice fx.ludic + tick/draw it each frame } else { if is_op("[") { pi = pi + 1; let lo = expr() if is_op("..") { pi = pi + 1; let sl = node(E_SLICE); sl.a = e; sl.b = lo; sl.c = expr(); eat_op("]"); e = sl } # s[a..b] substring @@ -340,7 +342,8 @@ function stmt_body() -> Node { let stkw = eat_id() # 'state' let s = node(S_STATE); s.s = eat_id() if is_op("=") { pi = pi + 1; s.b = expr() } # explicit value (still allowed) - else { let iv = node(E_INT); iv.ival = sidx; s.b = iv } # else its ordinal + s.ival = sidx # else: the enum variant of the same name + # when the store is enum-typed, or this ordinal skipnl(); s.a = block() push(n.kids, s); sidx = sidx + 1 } eat_op("}"); return n @@ -405,8 +408,24 @@ function parse_const() -> Node { pi = pi + 1; let n = node(N_CONST); n.s = eat_id(); eat_op(":"); n.ty = ptype(); eat_op("="); n.a = expr() return n } +# the language's statement / declaration words cannot name a function (`new`, +# `match`, `spawn` ...). Contextual words the parser only recognises in position +# (`emit`, `on`, `phase`, `start`, `export`, ...) stay usable — the compiler itself +# has a function called `emit`. +function is_reserved_word(w: pointer) -> bool { + if (w == "new") or (w == "match") or (w == "machine") or (w == "become") or (w == "spawn") or (w == "despawn") { return true } + if (w == "query") or (w == "cancel") or (w == "scene") or (w == "layer") or (w == "handler") or (w == "property") { return true } + if (w == "model") or (w == "enum") or (w == "event") or (w == "namespace") or (w == "function") or (w == "let") { return true } + if (w == "prefab") { return true } + if (w == "var") or (w == "const") or (w == "if") or (w == "else") or (w == "while") or (w == "for") or (w == "return") { return true } + if (w == "import") or (w == "program") or (w == "entry") or (w == "ui") or (w == "break") or (w == "continue") { return true } + if (w == "and") or (w == "or") or (w == "not") or (w == "true") or (w == "false") or (w == "null") { return true } + return false +} + function parse_fn() -> Node { pi = pi + 1; let n = node(N_FN); n.s = eat_id(); eat_op("(") + if is_reserved_word(n.s) { perr(`'{n.s}' is a reserved word and cannot name a function`) } while not is_op(")") { let p = node(N_PARAM); p.s = eat_id(); eat_op(":"); p.ty = ptype(); push(n.kids, p) if is_op(",") { pi = pi + 1 } @@ -487,7 +506,7 @@ function dir_of(path: pointer) -> pointer { if last < 0 { return "" } return path[0..0 + (last + 1)] } -function path_join(dir: pointer, rel: pointer) -> pointer { +function join_path(dir: pointer, rel: pointer) -> pointer { if rel[0] == 47 { return rel } # absolute return (dir + rel) } @@ -526,6 +545,7 @@ function warn_draw_sprite(name: pointer) -> void { } var g_uses_anim_rt: bool = false # Anim.play/clip/on_frame/fired or Motion.to (#48) -> splice systems.ludic + force the reflection ABI var g_uses_tween_rt: bool = false # Tween.to/chain/delay/… (#48) -> splice tween.ludic + run esys_tween each Update +var g_uses_fx: bool = false # Fx.sparks/number/clear -> splice fx.ludic; fx_tick each Update, fx_draw each Render var g_uses_audio: bool = false # Audio.* (#22) -> splice audio.ludic; a windowed build also links audio.ll + AVFoundation var g_uses_http: bool = false # Http.* (#6) -> splice http.ludic; links http.ll + Foundation (macOS) # issue #64: functions marked @System(Phase) in a prebuilt binary module — the @@ -674,6 +694,7 @@ function parse_one_decl() -> void { push(prog, m); return } if is_id("scene") { parse_scene(); return } # layers push handlers into prog; scene -> g_scenes + if is_id("prefab") { push(prog, parse_prefab()); return } # a model with preset component fields if is_id("handler") { let h = parse_system() if (role != null) { if (role == "server") { h.ival = 1 } else { h.ival = 2 } } # N5: @Server=1 / @Predicted=2 @@ -762,8 +783,43 @@ function is_runtime_path(rel: pointer) -> bool { return true } +# byte-wise `a < b`, for a stable import order of a directory's files +function str_less(a: pointer, b: pointer) -> bool { + var i = 0 + while true { + let ca = a[i]; let cb = b[i] + if ca != cb { return ca < cb } + if ca == 0 { return false } + i = i + 1 + } + return false +} +# `import "dir/*.ludic"` — every .ludic file of the directory, in name order, so +# a game lists its modules once instead of one import per file. +function do_import_dir(rel: pointer) -> void { + let dir = rel[0..len(rel) - 8] # strip "/*.ludic" + let names = Fs.list(join_path(cur_dir, dir)) + if (names == null) { perr(`import: no directory {dir}`) } + var i = 0 + while i < len(names) { # selection sort by name + var best = i + var j = i + 1 + while j < len(names) { if str_less(names[j], names[best]) { best = j }; j = j + 1 } + let t = names[i]; names[i] = names[best]; names[best] = t + i = i + 1 + } + i = 0 + while i < len(names) { + let nm = names[i] + let n = len(nm) + if (n > 6) and (nm[n - 6..n] == ".ludic") { do_import(dir + ("/") + nm) } + i = i + 1 + } +} + function do_import(rel: pointer) -> void { - var full = path_join(cur_dir, rel) + if (len(rel) > 8) and (rel[len(rel) - 8..len(rel)] == "/*.ludic") { do_import_dir(rel); return } + var full = join_path(cur_dir, rel) var src = read_file(full) # #75 — the engine runtime (runtime/native/*) ships with the toolchain, not the # project. When an auto-spliced runtime import is not found relative to the build @@ -785,6 +841,12 @@ function do_import(rel: pointer) -> void { if already_loaded(full) { return } push(loaded_paths, full) if (src == null) { perr(`cannot open import {full}`) } + # the audio runtime can arrive through atlas.ludic's own import or the Assets + # splice, not only through an Audio.* call in the game; a windowed build must + # then link audio.ll + AVFoundation for its snd_* calls, so flag it here. + let atail = "runtime/native/audio.ludic" + let fl = len(full) + if (fl >= len(atail)) and (full[fl - len(atail)..fl] == atail) { g_uses_audio = true } let saved_toks = toks; let saved_pi = pi; let saved_dir = cur_dir cur_dir = dir_of(full) lex(src) # resets the global token stream @@ -876,9 +938,18 @@ function maybe_splice_runtime() -> void { if g_uses_atlas { cur_dir = "" do_import("runtime/native/core.ludic") + do_import("runtime/native/audio.ludic") # Assets.enqueue loads .wav/.mp3 into the sound bank do_import("runtime/native/atlas.ludic") cur_dir = saved } + # Fx.* — engine-owned sparks and floating numbers; drawn through the framebuffer, + # so it links against core.ludic (do_import dedupes). + if g_uses_fx { + cur_dir = "" + do_import("runtime/native/core.ludic") + do_import("runtime/native/fx.ludic") + cur_dir = saved + } # Base64.* (#67) — base64 codec; pull in the DEFLATE inflater alongside it, so # a plain tool can run the full base64 -> zlib/gzip decode chain (inflate.ludic # is self-contained; do_import dedupes when a game already linked it via core). @@ -986,6 +1057,11 @@ function maybe_splice_runtime() -> void { do_import("runtime/native/core.ludic") do_import("runtime/native/systems_sprite.ludic") } + # TileSkin -> the engine tilemap-render system: draws the Map.* grid from glyph -> sprite skins. + if find_comp("TileSkin") != null { + do_import("runtime/native/core.ludic") + do_import("runtime/native/systems_tileskin.ludic") + } # Bounds -> the engine world-bounds system (#84). Self-contained (reflection # ABI only); its kill policy calls world_despawn, so force the @fn_world_despawn # helper to be emitted. @@ -1038,6 +1114,7 @@ function parse_program() -> void { g_uses_base64 = false g_uses_tiled = false g_uses_atlas = false + g_uses_fx = false g_uses_reflect_io = false g_tests = new []Node g_mod_sys_fn = new []pointer @@ -1051,6 +1128,7 @@ function parse_program() -> void { push(g_esys_comp, "Motion"); push(g_esys_fn, "esys_motion"); push(g_esys_phase, "Update") push(g_esys_comp, "Body"); push(g_esys_fn, "esys_move"); push(g_esys_phase, "Update") push(g_esys_comp, "Bounds"); push(g_esys_fn, "esys_bounds"); push(g_esys_phase, "LateUpdate") + push(g_esys_comp, "TileSkin"); push(g_esys_fn, "esys_tileskin"); push(g_esys_phase, "Render") push(g_esys_comp, "Sprite"); push(g_esys_fn, "esys_sprite"); push(g_esys_phase, "Render") push(g_esys_comp, "Light2D"); push(g_esys_fn, "esys_light2d"); push(g_esys_phase, "Render") g_namespaces = new []pointer diff --git a/selfhost/frontend/parse_game.ludic b/selfhost/frontend/parse_game.ludic index 5c5411af..8027180c 100644 --- a/selfhost/frontend/parse_game.ludic +++ b/selfhost/frontend/parse_game.ludic @@ -146,6 +146,11 @@ function parse_queries_anno() -> Node { function parse_spawn() -> Node { pi = pi + 1; let n = node(S_SPAWN); n.s = eat_id(); skipnl(); eat_op("{") + parse_component_records(n) + eat_op("}"); return n +} +# `Comp { field: val, ... }, Comp { ... }` — the body shared by spawn and prefab +function parse_component_records(n: Node) -> void { while true { skipnl(); if is_op("}") { break } let ci = node(E_FINIT); ci.s = eat_id() @@ -153,6 +158,13 @@ function parse_spawn() -> Node { push(n.kids, ci) if is_op(",") { pi = pi + 1 } } +} +# prefab Name: Model { Comp { field: val }, ... } — a model with preset fields. +# `spawn Name { ... }` spawns the model with the prefab's fields, then the spawn's +# own overrides on top; `Prefab.spawn(name: "Name")` does it by name at runtime. +function parse_prefab() -> Node { + pi = pi + 1; let n = node(N_PREFAB); n.s = eat_id(); eat_op(":"); n.ty = eat_id(); skipnl(); eat_op("{") + parse_component_records(n) eat_op("}"); return n } @@ -169,9 +181,15 @@ function parse_scene() -> void { # optional modifiers after the name, any order: `start` (the boot scene) and # `public` (promote its on-enter/on-exit to scene__enter / scene__exit). var is_pub = false - while is_id("start") or is_id("public") { + var lasts: Node = null # lasts N then Next: a timed scene (a banner, a splash) + var then_scene: pointer = null + var loads_then: pointer = null # loads then Next: pump the Assets queue, draw a bar, go on when ready + while is_id("start") or is_id("public") or is_id("shows") or is_id("lasts") or is_id("loads") { if is_id("start") { pi = pi + 1; g_start_scene = g_scene_count } - else { pi = pi + 1; is_pub = true } + else { if is_id("shows") { pi = pi + 1; n.ty = eat_id() } # shows Menu: the engine opens, renders and closes it + else { if is_id("lasts") { pi = pi + 1; lasts = expr(); if not is_id("then") { perr("lasts N needs `then Scene`") }; pi = pi + 1; then_scene = eat_id() } + else { if is_id("loads") { pi = pi + 1; if not is_id("then") { perr("loads needs `then Scene`") }; pi = pi + 1; loads_then = eat_id(); g_uses_atlas = true } + else { pi = pi + 1; is_pub = true } } } } } g_scene_count = g_scene_count + 1 if is_pub { ensure_event_empty(`scene_{n.s}_enter`); ensure_event_empty(`scene_{n.s}_exit`) } @@ -191,8 +209,17 @@ function parse_scene() -> void { let ltag = node(E_ID); ltag.s = lname # the layer name, tagged onto each handler while true { skipnl(); if is_op("}") { break } + var qspec: Node = null # `@Queries(...)` makes the handler run once per matching entity + while is_op("@") { + pi = pi + 1; let a = eat_id() + if (a == "Queries") { qspec = parse_queries_anno() } + else { perr(`a handler inside a layer may only carry @Queries (got @{a})`) } + skipnl() + } if not is_id("handler") { perr("expected 'handler' in layer") } let h = parse_system() # N_SYS: .s name, .ty phase, .a body + if (qspec != null) { qspec.a = h.a; let wrap = node(N_BLOCK); push(wrap.kids, qspec); h.a = wrap } + h.s = `{n.s}_{h.s}` # scene-qualified: two scenes may both have a `Draw` handler h.c = n # tag the owning scene (null = global) h.b = ltag # tag the owning layer (for enable/disable layer) push(prog, h) @@ -204,9 +231,81 @@ function parse_scene() -> void { perr("expected 'on', 'layer' or '}' in scene") } eat_op("}") + if (lasts != null) { scene_add_timer(n, lasts, then_scene) } + if (loads_then != null) { scene_add_loader(n, loads_then) } push(g_scenes, n) } +# `scene S loads then T`: an Update handler that pumps the Assets queue and +# `become`s T once it is ready, and a Render handler that draws the default bar. +function scene_add_loader(sc: Node, next: pointer) -> void { + let h = node(N_SYS); h.s = `{sc.s}_Loader`; h.ty = "Update"; h.c = sc + let body = node(N_BLOCK) + let pump = node(S_EXPR); let pc = node(E_CALL); let pm = node(E_MEMBER); let pid = node(E_ID); pid.s = "Assets"; pm.a = pid; pm.s = "pump"; pc.a = pm + let n4 = node(E_INT); n4.ival = 4; push(pc.kids, n4); pump.a = pc; push(body.kids, pump) + let go = node(S_IF); let rc = node(E_CALL); let rm = node(E_MEMBER); let rid = node(E_ID); rid.s = "Assets"; rm.a = rid; rm.s = "ready"; rc.a = rm; go.a = rc + go.b = node(N_BLOCK); let bec = node(S_BECOME); bec.s = next; push(go.b.kids, bec); push(body.kids, go) + h.a = body; push(prog, h) + let d = node(N_SYS); d.s = `{sc.s}_LoaderBar`; d.ty = "Render"; d.c = sc + let dbody = node(N_BLOCK); let dc = node(E_CALL); let did = node(E_ID); did.s = "assets_draw_progress"; dc.a = did + let ds = node(S_EXPR); ds.a = dc; push(dbody.kids, ds); d.a = dbody; push(prog, d) +} + +# `scene S lasts N then T`: a counter var, set on enter, counted down by a +# generated Update handler that `become`s T at zero — the splash / banner scene. +function scene_add_timer(sc: Node, frames: Node, next: pointer) -> void { + let counter = `scene_{sc.s}_left` + let v = node(N_VAR); v.s = counter; v.ty = "int"; push(prog, v) + if (sc.a == null) { sc.a = node(N_BLOCK) } + let set = node(S_ASSIGN); set.s = "="; let lhs = node(E_ID); lhs.s = counter; set.a = lhs; set.b = frames + let ins = new []Node; push(ins, set) + var i = 0 + while i < len(sc.a.kids) { push(ins, sc.a.kids[i]); i = i + 1 } + sc.a.kids = ins + let h = node(N_SYS); h.s = `{sc.s}_Timer`; h.ty = "Update"; h.c = sc + let body = node(N_BLOCK) + let dec = node(S_ASSIGN); dec.s = "-="; let l2 = node(E_ID); l2.s = counter; dec.a = l2; let one = node(E_INT); one.ival = 1; dec.b = one + push(body.kids, dec) + let test = node(E_BIN); test.s = "<="; let l3 = node(E_ID); l3.s = counter; test.a = l3; let zero = node(E_INT); zero.ival = 0; test.b = zero + let go = node(S_IF); go.a = test; go.b = node(N_BLOCK) + let bec = node(S_BECOME); bec.s = next; push(go.b.kids, bec) + push(body.kids, go) + h.a = body + push(prog, h) +} + +# `button id: Play goto: Scene`: a click changes scene. Every such button becomes a +# generated UiClicked listener — `if id == UI_Name { become Scene }` — the same +# code a game would write by hand. +function ui_register_gotos() -> void { + var i = 0 + while i < len(prog) { + if prog[i].kind == N_UI and prog[i].ival == 1 { ui_gotos_in(prog[i].a) } + i = i + 1 + } +} +function ui_gotos_in(w: Node) -> void { + var idn: pointer = null + var goto: pointer = null + var p = 0 + while p < len(w.b.kids) { + let pr = w.b.kids[p] + if (pr.s == "id") and (pr.a.kind == E_ID) { idn = pr.a.s } + if (pr.s == "goto") and (pr.a.kind == E_ID) { goto = pr.a.s } + p = p + 1 + } + if (idn != null) and (goto != null) { + let body = node(N_BLOCK) + let test = node(E_BIN); test.s = "=="; let l = node(E_ID); l.s = "id"; test.a = l; let r = node(E_ID); r.s = "UI_" + idn; test.b = r + let go = node(S_IF); go.a = test; go.b = node(N_BLOCK) + let bec = node(S_BECOME); bec.s = goto; push(go.b.kids, bec) + push(body.kids, go) + register_onlisten("UiClicked", body) + } + var k = 0 + while k < len(w.kids) { ui_gotos_in(w.kids[k]); k = k + 1 } +} + # enum Name { A, B, C } — named int constants; a variant's value is its index. # Accessed as `Name.A` (a compile-time int), so it names magic-int value spaces # (state ids, menu selections, mode registers) without a runtime cost. diff --git a/selfhost/ludicc.seed.ll b/selfhost/ludicc.seed.ll index 7f1678af..e60a98ef 100644 --- a/selfhost/ludicc.seed.ll +++ b/selfhost/ludicc.seed.ll @@ -90,6 +90,7 @@ declare void @hs_free(i32) @g_g_uses_world_despawn = internal global i32 0 @g_g_uses_anim_rt = internal global i32 0 @g_g_uses_tween_rt = internal global i32 0 +@g_g_uses_fx = internal global i32 0 @g_g_uses_audio = internal global i32 0 @g_g_uses_http = internal global i32 0 @g_g_mod_sys_fn = internal global ptr null @@ -199,10028 +200,10713 @@ declare void @hs_free(i32) @.str22 = private unnamed_addr constant [5 x i8] c"null\00" @.str23 = private unnamed_addr constant [4 x i8] c"new\00" @.str24 = private unnamed_addr constant [2 x i8] c"{\00" -@.str25 = private unnamed_addr constant [4 x i8] c"try\00" -@.str26 = private unnamed_addr constant [5 x i8] c"else\00" -@.str27 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" -@.str28 = private unnamed_addr constant [2 x i8] c"(\00" -@.str29 = private unnamed_addr constant [2 x i8] c")\00" -@.str30 = private unnamed_addr constant [20 x i8] c"expected expression\00" -@.str31 = private unnamed_addr constant [2 x i8] c".\00" -@.str32 = private unnamed_addr constant [6 x i8] c"Regex\00" -@.str33 = private unnamed_addr constant [7 x i8] c"BigInt\00" -@.str34 = private unnamed_addr constant [8 x i8] c"Decimal\00" -@.str35 = private unnamed_addr constant [5 x i8] c"Dict\00" -@.str36 = private unnamed_addr constant [4 x i8] c"Set\00" -@.str37 = private unnamed_addr constant [5 x i8] c"Huge\00" -@.str38 = private unnamed_addr constant [6 x i8] c"Angle\00" -@.str39 = private unnamed_addr constant [8 x i8] c"Percent\00" -@.str40 = private unnamed_addr constant [4 x i8] c"Job\00" -@.str41 = private unnamed_addr constant [8 x i8] c"Promise\00" -@.str42 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str43 = private unnamed_addr constant [6 x i8] c"Query\00" -@.str44 = private unnamed_addr constant [8 x i8] c"Reflect\00" -@.str45 = private unnamed_addr constant [6 x i8] c"Light\00" -@.str46 = private unnamed_addr constant [6 x i8] c"Value\00" -@.str47 = private unnamed_addr constant [5 x i8] c"Json\00" -@.str48 = private unnamed_addr constant [4 x i8] c"Xml\00" -@.str49 = private unnamed_addr constant [7 x i8] c"Base64\00" -@.str50 = private unnamed_addr constant [6 x i8] c"Tiled\00" -@.str51 = private unnamed_addr constant [7 x i8] c"Sprite\00" -@.str52 = private unnamed_addr constant [6 x i8] c"sheet\00" -@.str53 = private unnamed_addr constant [5 x i8] c"cell\00" -@.str54 = private unnamed_addr constant [10 x i8] c"cell_span\00" -@.str55 = private unnamed_addr constant [7 x i8] c"define\00" -@.str56 = private unnamed_addr constant [6 x i8] c"named\00" -@.str57 = private unnamed_addr constant [5 x i8] c"draw\00" -@.str58 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" -@.str59 = private unnamed_addr constant [6 x i8] c"width\00" -@.str60 = private unnamed_addr constant [7 x i8] c"height\00" -@.str61 = private unnamed_addr constant [7 x i8] c"Assets\00" -@.str62 = private unnamed_addr constant [8 x i8] c"Reflect\00" -@.str63 = private unnamed_addr constant [10 x i8] c"serialize\00" -@.str64 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str65 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str66 = private unnamed_addr constant [5 x i8] c"bind\00" -@.str67 = private unnamed_addr constant [7 x i8] c"rebind\00" -@.str68 = private unnamed_addr constant [5 x i8] c"poll\00" -@.str69 = private unnamed_addr constant [5 x i8] c"down\00" -@.str70 = private unnamed_addr constant [8 x i8] c"pressed\00" -@.str71 = private unnamed_addr constant [7 x i8] c"record\00" -@.str72 = private unnamed_addr constant [7 x i8] c"replay\00" -@.str73 = private unnamed_addr constant [7 x i8] c"action\00" -@.str74 = private unnamed_addr constant [9 x i8] c"bind_pad\00" -@.str75 = private unnamed_addr constant [7 x i8] c"active\00" -@.str76 = private unnamed_addr constant [13 x i8] c"just_pressed\00" -@.str77 = private unnamed_addr constant [14 x i8] c"just_released\00" -@.str78 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str79 = private unnamed_addr constant [9 x i8] c"key_down\00" -@.str80 = private unnamed_addr constant [12 x i8] c"key_pressed\00" -@.str81 = private unnamed_addr constant [13 x i8] c"key_released\00" -@.str82 = private unnamed_addr constant [6 x i8] c"press\00" -@.str83 = private unnamed_addr constant [8 x i8] c"release\00" -@.str84 = private unnamed_addr constant [5 x i8] c"axis\00" -@.str85 = private unnamed_addr constant [7 x i8] c"axis_i\00" -@.str86 = private unnamed_addr constant [7 x i8] c"vector\00" -@.str87 = private unnamed_addr constant [9 x i8] c"strength\00" -@.str88 = private unnamed_addr constant [8 x i8] c"mouse_x\00" -@.str89 = private unnamed_addr constant [8 x i8] c"mouse_y\00" -@.str90 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" -@.str91 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" -@.str92 = private unnamed_addr constant [11 x i8] c"mouse_down\00" -@.str93 = private unnamed_addr constant [6 x i8] c"wheel\00" -@.str94 = private unnamed_addr constant [10 x i8] c"set_mouse\00" -@.str95 = private unnamed_addr constant [14 x i8] c"pad_connected\00" -@.str96 = private unnamed_addr constant [11 x i8] c"pad_button\00" -@.str97 = private unnamed_addr constant [9 x i8] c"pad_axis\00" -@.str98 = private unnamed_addr constant [8 x i8] c"set_pad\00" -@.str99 = private unnamed_addr constant [12 x i8] c"touch_count\00" -@.str100 = private unnamed_addr constant [8 x i8] c"touch_x\00" -@.str101 = private unnamed_addr constant [8 x i8] c"touch_y\00" -@.str102 = private unnamed_addr constant [10 x i8] c"set_touch\00" -@.str103 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" -@.str104 = private unnamed_addr constant [5 x i8] c"Anim\00" -@.str105 = private unnamed_addr constant [5 x i8] c"play\00" -@.str106 = private unnamed_addr constant [5 x i8] c"clip\00" -@.str107 = private unnamed_addr constant [9 x i8] c"on_frame\00" -@.str108 = private unnamed_addr constant [6 x i8] c"fired\00" -@.str109 = private unnamed_addr constant [7 x i8] c"Motion\00" -@.str110 = private unnamed_addr constant [3 x i8] c"to\00" -@.str111 = private unnamed_addr constant [6 x i8] c"Audio\00" -@.str112 = private unnamed_addr constant [5 x i8] c"Http\00" -@.str113 = private unnamed_addr constant [6 x i8] c"Tween\00" -@.str114 = private unnamed_addr constant [3 x i8] c"to\00" -@.str115 = private unnamed_addr constant [6 x i8] c"chain\00" -@.str116 = private unnamed_addr constant [6 x i8] c"delay\00" -@.str117 = private unnamed_addr constant [6 x i8] c"value\00" -@.str118 = private unnamed_addr constant [5 x i8] c"stop\00" -@.str119 = private unnamed_addr constant [9 x i8] c"parallel\00" -@.str120 = private unnamed_addr constant [2 x i8] c"[\00" -@.str121 = private unnamed_addr constant [3 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 [12 x i8] c"draw_sprite\00" -@.str126 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\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 [2 x i8] c"~\00" -@.str130 = private unnamed_addr constant [2 x i8] c"~\00" -@.str131 = private unnamed_addr constant [4 x i8] c"not\00" -@.str132 = private unnamed_addr constant [4 x i8] c"not\00" -@.str133 = private unnamed_addr constant [2 x i8] c"*\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 [3 x i8] c"<<\00" -@.str137 = private unnamed_addr constant [3 x i8] c">>\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 [2 x i8] c"-\00" -@.str141 = private unnamed_addr constant [2 x i8] c"|\00" -@.str142 = private unnamed_addr constant [2 x i8] c"^\00" -@.str143 = private unnamed_addr constant [2 x i8] c"<\00" -@.str144 = private unnamed_addr constant [3 x i8] c"<=\00" -@.str145 = private unnamed_addr constant [2 x i8] c">\00" -@.str146 = private unnamed_addr constant [3 x i8] c">=\00" -@.str147 = private unnamed_addr constant [3 x i8] c"==\00" -@.str148 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str149 = private unnamed_addr constant [4 x i8] c"and\00" -@.str150 = private unnamed_addr constant [4 x i8] c"and\00" -@.str151 = private unnamed_addr constant [3 x i8] c"or\00" -@.str152 = private unnamed_addr constant [3 x i8] c"or\00" -@.str153 = private unnamed_addr constant [2 x i8] c"{\00" -@.str154 = private unnamed_addr constant [2 x i8] c"}\00" -@.str155 = private unnamed_addr constant [2 x i8] c":\00" -@.str156 = private unnamed_addr constant [2 x i8] c",\00" +@.str25 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str26 = private unnamed_addr constant [4 x i8] c"try\00" +@.str27 = private unnamed_addr constant [5 x i8] c"else\00" +@.str28 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" +@.str29 = private unnamed_addr constant [2 x i8] c"(\00" +@.str30 = private unnamed_addr constant [2 x i8] c")\00" +@.str31 = private unnamed_addr constant [20 x i8] c"expected expression\00" +@.str32 = private unnamed_addr constant [2 x i8] c".\00" +@.str33 = private unnamed_addr constant [6 x i8] c"Regex\00" +@.str34 = private unnamed_addr constant [7 x i8] c"BigInt\00" +@.str35 = private unnamed_addr constant [8 x i8] c"Decimal\00" +@.str36 = private unnamed_addr constant [5 x i8] c"Dict\00" +@.str37 = private unnamed_addr constant [4 x i8] c"Set\00" +@.str38 = private unnamed_addr constant [5 x i8] c"Huge\00" +@.str39 = private unnamed_addr constant [6 x i8] c"Angle\00" +@.str40 = private unnamed_addr constant [8 x i8] c"Percent\00" +@.str41 = private unnamed_addr constant [4 x i8] c"Job\00" +@.str42 = private unnamed_addr constant [8 x i8] c"Promise\00" +@.str43 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str44 = private unnamed_addr constant [6 x i8] c"Query\00" +@.str45 = private unnamed_addr constant [8 x i8] c"Reflect\00" +@.str46 = private unnamed_addr constant [6 x i8] c"Light\00" +@.str47 = private unnamed_addr constant [6 x i8] c"Value\00" +@.str48 = private unnamed_addr constant [5 x i8] c"Json\00" +@.str49 = private unnamed_addr constant [4 x i8] c"Xml\00" +@.str50 = private unnamed_addr constant [7 x i8] c"Base64\00" +@.str51 = private unnamed_addr constant [6 x i8] c"Tiled\00" +@.str52 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str53 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str54 = private unnamed_addr constant [5 x i8] c"cell\00" +@.str55 = private unnamed_addr constant [10 x i8] c"cell_span\00" +@.str56 = private unnamed_addr constant [7 x i8] c"define\00" +@.str57 = private unnamed_addr constant [6 x i8] c"named\00" +@.str58 = private unnamed_addr constant [5 x i8] c"draw\00" +@.str59 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" +@.str60 = private unnamed_addr constant [6 x i8] c"width\00" +@.str61 = private unnamed_addr constant [7 x i8] c"height\00" +@.str62 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str63 = private unnamed_addr constant [8 x i8] c"Reflect\00" +@.str64 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str65 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str66 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str67 = private unnamed_addr constant [5 x i8] c"bind\00" +@.str68 = private unnamed_addr constant [7 x i8] c"rebind\00" +@.str69 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str70 = private unnamed_addr constant [5 x i8] c"down\00" +@.str71 = private unnamed_addr constant [8 x i8] c"pressed\00" +@.str72 = private unnamed_addr constant [7 x i8] c"record\00" +@.str73 = private unnamed_addr constant [7 x i8] c"replay\00" +@.str74 = private unnamed_addr constant [7 x i8] c"action\00" +@.str75 = private unnamed_addr constant [9 x i8] c"bind_pad\00" +@.str76 = private unnamed_addr constant [7 x i8] c"active\00" +@.str77 = private unnamed_addr constant [13 x i8] c"just_pressed\00" +@.str78 = private unnamed_addr constant [14 x i8] c"just_released\00" +@.str79 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str80 = private unnamed_addr constant [9 x i8] c"key_down\00" +@.str81 = private unnamed_addr constant [12 x i8] c"key_pressed\00" +@.str82 = private unnamed_addr constant [13 x i8] c"key_released\00" +@.str83 = private unnamed_addr constant [6 x i8] c"press\00" +@.str84 = private unnamed_addr constant [8 x i8] c"release\00" +@.str85 = private unnamed_addr constant [5 x i8] c"axis\00" +@.str86 = private unnamed_addr constant [7 x i8] c"axis_i\00" +@.str87 = private unnamed_addr constant [7 x i8] c"vector\00" +@.str88 = private unnamed_addr constant [9 x i8] c"strength\00" +@.str89 = private unnamed_addr constant [8 x i8] c"mouse_x\00" +@.str90 = private unnamed_addr constant [8 x i8] c"mouse_y\00" +@.str91 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" +@.str92 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" +@.str93 = private unnamed_addr constant [11 x i8] c"mouse_down\00" +@.str94 = private unnamed_addr constant [6 x i8] c"wheel\00" +@.str95 = private unnamed_addr constant [10 x i8] c"set_mouse\00" +@.str96 = private unnamed_addr constant [14 x i8] c"pad_connected\00" +@.str97 = private unnamed_addr constant [11 x i8] c"pad_button\00" +@.str98 = private unnamed_addr constant [9 x i8] c"pad_axis\00" +@.str99 = private unnamed_addr constant [7 x i8] c"move_i\00" +@.str100 = private unnamed_addr constant [8 x i8] c"set_pad\00" +@.str101 = private unnamed_addr constant [12 x i8] c"touch_count\00" +@.str102 = private unnamed_addr constant [8 x i8] c"touch_x\00" +@.str103 = private unnamed_addr constant [8 x i8] c"touch_y\00" +@.str104 = private unnamed_addr constant [10 x i8] c"set_touch\00" +@.str105 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" +@.str106 = private unnamed_addr constant [5 x i8] c"Anim\00" +@.str107 = private unnamed_addr constant [5 x i8] c"play\00" +@.str108 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str109 = private unnamed_addr constant [9 x i8] c"on_frame\00" +@.str110 = private unnamed_addr constant [6 x i8] c"fired\00" +@.str111 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str112 = private unnamed_addr constant [3 x i8] c"to\00" +@.str113 = private unnamed_addr constant [6 x i8] c"Audio\00" +@.str114 = private unnamed_addr constant [5 x i8] c"Http\00" +@.str115 = private unnamed_addr constant [6 x i8] c"Tween\00" +@.str116 = private unnamed_addr constant [3 x i8] c"to\00" +@.str117 = private unnamed_addr constant [6 x i8] c"chain\00" +@.str118 = private unnamed_addr constant [6 x i8] c"delay\00" +@.str119 = private unnamed_addr constant [6 x i8] c"value\00" +@.str120 = private unnamed_addr constant [5 x i8] c"stop\00" +@.str121 = private unnamed_addr constant [9 x i8] c"parallel\00" +@.str122 = private unnamed_addr constant [3 x i8] c"Fx\00" +@.str123 = private unnamed_addr constant [2 x i8] c"[\00" +@.str124 = private unnamed_addr constant [3 x i8] c"..\00" +@.str125 = private unnamed_addr constant [2 x i8] c"]\00" +@.str126 = private unnamed_addr constant [2 x i8] c"]\00" +@.str127 = private unnamed_addr constant [2 x i8] c"(\00" +@.str128 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" +@.str129 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" +@.str130 = private unnamed_addr constant [2 x i8] c"-\00" +@.str131 = private unnamed_addr constant [2 x i8] c"-\00" +@.str132 = private unnamed_addr constant [2 x i8] c"~\00" +@.str133 = private unnamed_addr constant [2 x i8] c"~\00" +@.str134 = private unnamed_addr constant [4 x i8] c"not\00" +@.str135 = private unnamed_addr constant [4 x i8] c"not\00" +@.str136 = private unnamed_addr constant [2 x i8] c"*\00" +@.str137 = private unnamed_addr constant [2 x i8] c"/\00" +@.str138 = private unnamed_addr constant [2 x i8] c"%\00" +@.str139 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str140 = private unnamed_addr constant [3 x i8] c">>\00" +@.str141 = private unnamed_addr constant [2 x i8] c"&\00" +@.str142 = private unnamed_addr constant [2 x i8] c"+\00" +@.str143 = private unnamed_addr constant [2 x i8] c"-\00" +@.str144 = private unnamed_addr constant [2 x i8] c"|\00" +@.str145 = private unnamed_addr constant [2 x i8] c"^\00" +@.str146 = private unnamed_addr constant [2 x i8] c"<\00" +@.str147 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str148 = private unnamed_addr constant [2 x i8] c">\00" +@.str149 = private unnamed_addr constant [3 x i8] c">=\00" +@.str150 = private unnamed_addr constant [3 x i8] c"==\00" +@.str151 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str152 = private unnamed_addr constant [4 x i8] c"and\00" +@.str153 = private unnamed_addr constant [4 x i8] c"and\00" +@.str154 = private unnamed_addr constant [3 x i8] c"or\00" +@.str155 = private unnamed_addr constant [3 x i8] c"or\00" +@.str156 = private unnamed_addr constant [2 x i8] c"{\00" @.str157 = private unnamed_addr constant [2 x i8] c"}\00" -@.str158 = private unnamed_addr constant [2 x i8] c"{\00" -@.str159 = private unnamed_addr constant [2 x i8] c"}\00" +@.str158 = private unnamed_addr constant [2 x i8] c":\00" +@.str159 = private unnamed_addr constant [2 x i8] c",\00" @.str160 = private unnamed_addr constant [2 x i8] c"}\00" -@.str161 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" +@.str161 = private unnamed_addr constant [2 x i8] c"{\00" @.str162 = private unnamed_addr constant [2 x i8] c"}\00" -@.str163 = private unnamed_addr constant [4 x i8] c"let\00" -@.str164 = private unnamed_addr constant [4 x i8] c"var\00" -@.str165 = private unnamed_addr constant [4 x i8] c"var\00" -@.str166 = private unnamed_addr constant [2 x i8] c":\00" -@.str167 = private unnamed_addr constant [2 x i8] c"=\00" -@.str168 = private unnamed_addr constant [7 x i8] c"return\00" -@.str169 = private unnamed_addr constant [2 x i8] c"}\00" -@.str170 = private unnamed_addr constant [3 x i8] c"if\00" -@.str171 = private unnamed_addr constant [5 x i8] c"else\00" -@.str172 = private unnamed_addr constant [3 x i8] c"if\00" -@.str173 = private unnamed_addr constant [6 x i8] c"while\00" -@.str174 = private unnamed_addr constant [4 x i8] c"for\00" -@.str175 = private unnamed_addr constant [2 x i8] c"(\00" -@.str176 = private unnamed_addr constant [3 x i8] c"..\00" -@.str177 = private unnamed_addr constant [6 x i8] c"spawn\00" -@.str178 = private unnamed_addr constant [8 x i8] c"machine\00" -@.str179 = private unnamed_addr constant [2 x i8] c"{\00" -@.str180 = private unnamed_addr constant [2 x i8] c"}\00" -@.str181 = private unnamed_addr constant [2 x i8] c"=\00" -@.str182 = private unnamed_addr constant [2 x i8] c"}\00" -@.str183 = private unnamed_addr constant [5 x i8] c"emit\00" -@.str184 = private unnamed_addr constant [7 x i8] c"become\00" -@.str185 = private unnamed_addr constant [8 x i8] c"despawn\00" -@.str186 = private unnamed_addr constant [7 x i8] c"enable\00" -@.str187 = private unnamed_addr constant [8 x i8] c"disable\00" -@.str188 = private unnamed_addr constant [7 x i8] c"enable\00" -@.str189 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str190 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str191 = private unnamed_addr constant [7 x i8] c"system\00" -@.str192 = private unnamed_addr constant [7 x i8] c"system\00" -@.str193 = private unnamed_addr constant [3 x i8] c"on\00" -@.str194 = private unnamed_addr constant [7 x i8] c"attach\00" -@.str195 = private unnamed_addr constant [3 x i8] c"on\00" -@.str196 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" -@.str197 = private unnamed_addr constant [2 x i8] c"{\00" -@.str198 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str199 = private unnamed_addr constant [3 x i8] c"on\00" -@.str200 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" -@.str201 = private unnamed_addr constant [6 x i8] c"break\00" -@.str202 = private unnamed_addr constant [9 x i8] c"continue\00" -@.str203 = private unnamed_addr constant [7 x i8] c"cancel\00" -@.str204 = private unnamed_addr constant [6 x i8] c"match\00" -@.str205 = private unnamed_addr constant [2 x i8] c"{\00" -@.str206 = private unnamed_addr constant [2 x i8] c"}\00" -@.str207 = private unnamed_addr constant [2 x i8] c",\00" -@.str208 = private unnamed_addr constant [3 x i8] c"=>\00" -@.str209 = private unnamed_addr constant [2 x i8] c"{\00" -@.str210 = private unnamed_addr constant [2 x i8] c"}\00" -@.str211 = private unnamed_addr constant [2 x i8] c"=\00" -@.str212 = private unnamed_addr constant [3 x i8] c"+=\00" -@.str213 = private unnamed_addr constant [3 x i8] c"-=\00" -@.str214 = private unnamed_addr constant [3 x i8] c"*=\00" -@.str215 = private unnamed_addr constant [3 x i8] c"/=\00" -@.str216 = private unnamed_addr constant [2 x i8] c":\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 [2 x i8] c"(\00" -@.str221 = private unnamed_addr constant [2 x i8] c")\00" -@.str222 = private unnamed_addr constant [2 x i8] c":\00" -@.str223 = private unnamed_addr constant [2 x i8] c",\00" -@.str224 = private unnamed_addr constant [2 x i8] c")\00" -@.str225 = private unnamed_addr constant [5 x i8] c"void\00" -@.str226 = private unnamed_addr constant [3 x i8] c"->\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 [7 x i8] c"export\00" -@.str230 = private unnamed_addr constant [9 x i8] c"internal\00" -@.str231 = private unnamed_addr constant [9 x i8] c"function\00" -@.str232 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\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 [1 x i8] c"\00" -@.str236 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" -@.str237 = private unnamed_addr constant [139 x i8] c"(...) is deprecated (#85) \E2\80\94 use Screen.sprite / Screen.sprite_scaled, or declare a Sprite component for the engine sprite-render system\0A\00" -@.str238 = private unnamed_addr constant [2 x i8] c"@\00" -@.str239 = private unnamed_addr constant [7 x i8] c"export\00" -@.str240 = private unnamed_addr constant [7 x i8] c"Public\00" -@.str241 = private unnamed_addr constant [3 x i8] c"On\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 [8 x i8] c"Queries\00" -@.str245 = private unnamed_addr constant [8 x i8] c"OnSpawn\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 [10 x i8] c"OnDespawn\00" -@.str249 = 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 [2 x i8] c")\00" -@.str253 = private unnamed_addr constant [9 x i8] c"OnAttach\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 [9 x i8] c"OnDetach\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 [9 x i8] c"OnEnable\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 [10 x i8] c"OnDisable\00" -@.str263 = private unnamed_addr constant [2 x i8] c"(\00" +@.str163 = private unnamed_addr constant [2 x i8] c"}\00" +@.str164 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" +@.str165 = private unnamed_addr constant [2 x i8] c"}\00" +@.str166 = private unnamed_addr constant [4 x i8] c"let\00" +@.str167 = private unnamed_addr constant [4 x i8] c"var\00" +@.str168 = private unnamed_addr constant [4 x i8] c"var\00" +@.str169 = private unnamed_addr constant [2 x i8] c":\00" +@.str170 = private unnamed_addr constant [2 x i8] c"=\00" +@.str171 = private unnamed_addr constant [7 x i8] c"return\00" +@.str172 = private unnamed_addr constant [2 x i8] c"}\00" +@.str173 = private unnamed_addr constant [3 x i8] c"if\00" +@.str174 = private unnamed_addr constant [5 x i8] c"else\00" +@.str175 = private unnamed_addr constant [3 x i8] c"if\00" +@.str176 = private unnamed_addr constant [6 x i8] c"while\00" +@.str177 = private unnamed_addr constant [4 x i8] c"for\00" +@.str178 = private unnamed_addr constant [2 x i8] c"(\00" +@.str179 = private unnamed_addr constant [3 x i8] c"..\00" +@.str180 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str181 = private unnamed_addr constant [8 x i8] c"machine\00" +@.str182 = private unnamed_addr constant [2 x i8] c"{\00" +@.str183 = private unnamed_addr constant [2 x i8] c"}\00" +@.str184 = private unnamed_addr constant [2 x i8] c"=\00" +@.str185 = private unnamed_addr constant [2 x i8] c"}\00" +@.str186 = private unnamed_addr constant [5 x i8] c"emit\00" +@.str187 = private unnamed_addr constant [7 x i8] c"become\00" +@.str188 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str189 = private unnamed_addr constant [7 x i8] c"enable\00" +@.str190 = private unnamed_addr constant [8 x i8] c"disable\00" +@.str191 = private unnamed_addr constant [7 x i8] c"enable\00" +@.str192 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str193 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str194 = private unnamed_addr constant [7 x i8] c"system\00" +@.str195 = private unnamed_addr constant [7 x i8] c"system\00" +@.str196 = private unnamed_addr constant [3 x i8] c"on\00" +@.str197 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str198 = private unnamed_addr constant [3 x i8] c"on\00" +@.str199 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" +@.str200 = private unnamed_addr constant [2 x i8] c"{\00" +@.str201 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str202 = private unnamed_addr constant [3 x i8] c"on\00" +@.str203 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" +@.str204 = private unnamed_addr constant [6 x i8] c"break\00" +@.str205 = private unnamed_addr constant [9 x i8] c"continue\00" +@.str206 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str207 = private unnamed_addr constant [6 x i8] c"match\00" +@.str208 = private unnamed_addr constant [2 x i8] c"{\00" +@.str209 = private unnamed_addr constant [2 x i8] c"}\00" +@.str210 = private unnamed_addr constant [2 x i8] c",\00" +@.str211 = private unnamed_addr constant [3 x i8] c"=>\00" +@.str212 = private unnamed_addr constant [2 x i8] c"{\00" +@.str213 = private unnamed_addr constant [2 x i8] c"}\00" +@.str214 = private unnamed_addr constant [2 x i8] c"=\00" +@.str215 = private unnamed_addr constant [3 x i8] c"+=\00" +@.str216 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str217 = private unnamed_addr constant [3 x i8] c"*=\00" +@.str218 = private unnamed_addr constant [3 x i8] c"/=\00" +@.str219 = private unnamed_addr constant [2 x i8] c":\00" +@.str220 = private unnamed_addr constant [2 x i8] c"=\00" +@.str221 = private unnamed_addr constant [2 x i8] c":\00" +@.str222 = private unnamed_addr constant [2 x i8] c"=\00" +@.str223 = private unnamed_addr constant [4 x i8] c"new\00" +@.str224 = private unnamed_addr constant [6 x i8] c"match\00" +@.str225 = private unnamed_addr constant [8 x i8] c"machine\00" +@.str226 = private unnamed_addr constant [7 x i8] c"become\00" +@.str227 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str228 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str229 = private unnamed_addr constant [6 x i8] c"query\00" +@.str230 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str231 = private unnamed_addr constant [6 x i8] c"scene\00" +@.str232 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str233 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str234 = private unnamed_addr constant [9 x i8] c"property\00" +@.str235 = private unnamed_addr constant [6 x i8] c"model\00" +@.str236 = private unnamed_addr constant [5 x i8] c"enum\00" +@.str237 = private unnamed_addr constant [6 x i8] c"event\00" +@.str238 = private unnamed_addr constant [10 x i8] c"namespace\00" +@.str239 = private unnamed_addr constant [9 x i8] c"function\00" +@.str240 = private unnamed_addr constant [4 x i8] c"let\00" +@.str241 = private unnamed_addr constant [7 x i8] c"prefab\00" +@.str242 = private unnamed_addr constant [4 x i8] c"var\00" +@.str243 = private unnamed_addr constant [6 x i8] c"const\00" +@.str244 = private unnamed_addr constant [3 x i8] c"if\00" +@.str245 = private unnamed_addr constant [5 x i8] c"else\00" +@.str246 = private unnamed_addr constant [6 x i8] c"while\00" +@.str247 = private unnamed_addr constant [4 x i8] c"for\00" +@.str248 = private unnamed_addr constant [7 x i8] c"return\00" +@.str249 = private unnamed_addr constant [7 x i8] c"import\00" +@.str250 = private unnamed_addr constant [8 x i8] c"program\00" +@.str251 = private unnamed_addr constant [6 x i8] c"entry\00" +@.str252 = private unnamed_addr constant [3 x i8] c"ui\00" +@.str253 = private unnamed_addr constant [6 x i8] c"break\00" +@.str254 = private unnamed_addr constant [9 x i8] c"continue\00" +@.str255 = private unnamed_addr constant [4 x i8] c"and\00" +@.str256 = private unnamed_addr constant [3 x i8] c"or\00" +@.str257 = private unnamed_addr constant [4 x i8] c"not\00" +@.str258 = private unnamed_addr constant [5 x i8] c"true\00" +@.str259 = private unnamed_addr constant [6 x i8] c"false\00" +@.str260 = private unnamed_addr constant [5 x i8] c"null\00" +@.str261 = private unnamed_addr constant [2 x i8] c"(\00" +@.str262 = private unnamed_addr constant [2 x i8] c"'\00" +@.str263 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" @.str264 = private unnamed_addr constant [2 x i8] c")\00" -@.str265 = private unnamed_addr constant [8 x i8] c"OnStart\00" -@.str266 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str267 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str268 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str269 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str270 = private unnamed_addr constant [6 x i8] c"Owned\00" -@.str271 = private unnamed_addr constant [7 x i8] c"Server\00" -@.str272 = private unnamed_addr constant [7 x i8] c"server\00" -@.str273 = private unnamed_addr constant [10 x i8] c"Predicted\00" -@.str274 = private unnamed_addr constant [10 x i8] c"predicted\00" -@.str275 = private unnamed_addr constant [9 x i8] c"ToServer\00" -@.str276 = private unnamed_addr constant [9 x i8] c"toserver\00" -@.str277 = private unnamed_addr constant [10 x i8] c"ToClients\00" -@.str278 = private unnamed_addr constant [10 x i8] c"toclients\00" -@.str279 = private unnamed_addr constant [7 x i8] c"System\00" -@.str280 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str281 = private unnamed_addr constant [2 x i8] c"(\00" -@.str282 = private unnamed_addr constant [2 x i8] c")\00" -@.str283 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" -@.str284 = private unnamed_addr constant [2 x i8] c"(\00" -@.str285 = private unnamed_addr constant [2 x i8] c",\00" +@.str265 = private unnamed_addr constant [2 x i8] c":\00" +@.str266 = private unnamed_addr constant [2 x i8] c",\00" +@.str267 = private unnamed_addr constant [2 x i8] c")\00" +@.str268 = private unnamed_addr constant [5 x i8] c"void\00" +@.str269 = private unnamed_addr constant [3 x i8] c"->\00" +@.str270 = private unnamed_addr constant [2 x i8] c"{\00" +@.str271 = private unnamed_addr constant [2 x i8] c"}\00" +@.str272 = private unnamed_addr constant [7 x i8] c"export\00" +@.str273 = private unnamed_addr constant [9 x i8] c"internal\00" +@.str274 = private unnamed_addr constant [9 x i8] c"function\00" +@.str275 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" +@.str276 = private unnamed_addr constant [2 x i8] c"}\00" +@.str277 = private unnamed_addr constant [2 x i8] c"_\00" +@.str278 = private unnamed_addr constant [1 x i8] c"\00" +@.str279 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" +@.str280 = private unnamed_addr constant [139 x i8] c"(...) is deprecated (#85) \E2\80\94 use Screen.sprite / Screen.sprite_scaled, or declare a Sprite component for the engine sprite-render system\0A\00" +@.str281 = private unnamed_addr constant [2 x i8] c"@\00" +@.str282 = private unnamed_addr constant [7 x i8] c"export\00" +@.str283 = private unnamed_addr constant [7 x i8] c"Public\00" +@.str284 = private unnamed_addr constant [3 x i8] c"On\00" +@.str285 = private unnamed_addr constant [2 x i8] c"(\00" @.str286 = private unnamed_addr constant [2 x i8] c")\00" -@.str287 = private unnamed_addr constant [10 x i8] c"Namespace\00" -@.str288 = private unnamed_addr constant [2 x i8] c"(\00" -@.str289 = private unnamed_addr constant [2 x i8] c")\00" -@.str290 = private unnamed_addr constant [11 x i8] c"ClearColor\00" -@.str291 = private unnamed_addr constant [2 x i8] c"(\00" -@.str292 = private unnamed_addr constant [66 x i8] c"@ClearColor expects an integer colour, e.g. @ClearColor(0x101018)\00" -@.str293 = private unnamed_addr constant [2 x i8] c")\00" -@.str294 = private unnamed_addr constant [2 x i8] c"(\00" -@.str295 = private unnamed_addr constant [2 x i8] c"(\00" -@.str296 = private unnamed_addr constant [2 x i8] c")\00" -@.str297 = private unnamed_addr constant [7 x i8] c"import\00" -@.str298 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" -@.str299 = private unnamed_addr constant [5 x i8] c"enum\00" -@.str300 = private unnamed_addr constant [6 x i8] c"event\00" -@.str301 = private unnamed_addr constant [9 x i8] c"property\00" -@.str302 = private unnamed_addr constant [6 x i8] c"model\00" -@.str303 = private unnamed_addr constant [6 x i8] c"scene\00" -@.str304 = private unnamed_addr constant [8 x i8] c"handler\00" -@.str305 = private unnamed_addr constant [7 x i8] c"server\00" -@.str306 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str307 = private unnamed_addr constant [7 x i8] c"_spawn\00" -@.str308 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str309 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str310 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str311 = private unnamed_addr constant [8 x i8] c"_attach\00" -@.str312 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str313 = private unnamed_addr constant [8 x i8] c"_detach\00" -@.str314 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str315 = private unnamed_addr constant [8 x i8] c"_enable\00" -@.str316 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str317 = private unnamed_addr constant [9 x i8] c"_disable\00" -@.str318 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str319 = private unnamed_addr constant [14 x i8] c"program_start\00" -@.str320 = private unnamed_addr constant [13 x i8] c"program_quit\00" -@.str321 = private unnamed_addr constant [3 x i8] c"ui\00" -@.str322 = private unnamed_addr constant [10 x i8] c"namespace\00" -@.str323 = private unnamed_addr constant [4 x i8] c"var\00" -@.str324 = private unnamed_addr constant [6 x i8] c"const\00" -@.str325 = private unnamed_addr constant [9 x i8] c"function\00" -@.str326 = private unnamed_addr constant [7 x i8] c"extern\00" -@.str327 = private unnamed_addr constant [6 x i8] c"entry\00" -@.str328 = private unnamed_addr constant [5 x i8] c"test\00" -@.str329 = private unnamed_addr constant [21 x i8] c"expected declaration\00" -@.str330 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" -@.str331 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" -@.str332 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" -@.str333 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" -@.str334 = private unnamed_addr constant [20 x i8] c"cannot open import \00" -@.str335 = private unnamed_addr constant [1 x i8] c"\00" -@.str336 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str337 = private unnamed_addr constant [1 x i8] c"\00" -@.str338 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" -@.str339 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" -@.str340 = private unnamed_addr constant [1 x i8] c"\00" -@.str341 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" -@.str342 = private unnamed_addr constant [1 x i8] c"\00" -@.str343 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" -@.str344 = private unnamed_addr constant [1 x i8] c"\00" -@.str345 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" -@.str346 = private unnamed_addr constant [1 x i8] c"\00" -@.str347 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" -@.str348 = private unnamed_addr constant [1 x i8] c"\00" -@.str349 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" -@.str350 = private unnamed_addr constant [1 x i8] c"\00" -@.str351 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" -@.str352 = private unnamed_addr constant [1 x i8] c"\00" -@.str353 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" -@.str354 = private unnamed_addr constant [1 x i8] c"\00" -@.str355 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" -@.str356 = private unnamed_addr constant [1 x i8] c"\00" -@.str357 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str358 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" -@.str359 = private unnamed_addr constant [1 x i8] c"\00" -@.str360 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" -@.str361 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" -@.str362 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" -@.str363 = private unnamed_addr constant [1 x i8] c"\00" -@.str364 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str365 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" -@.str366 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" -@.str367 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" -@.str368 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" -@.str369 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" -@.str370 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" -@.str371 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" -@.str372 = private unnamed_addr constant [1 x i8] c"\00" -@.str373 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" -@.str374 = private unnamed_addr constant [1 x i8] c"\00" -@.str375 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str376 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" -@.str377 = private unnamed_addr constant [1 x i8] c"\00" -@.str378 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str379 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" -@.str380 = private unnamed_addr constant [1 x i8] c"\00" -@.str381 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" -@.str382 = private unnamed_addr constant [1 x i8] c"\00" -@.str383 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" +@.str287 = private unnamed_addr constant [8 x i8] c"Queries\00" +@.str288 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" +@.str289 = private unnamed_addr constant [2 x i8] c"(\00" +@.str290 = private unnamed_addr constant [2 x i8] c")\00" +@.str291 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" +@.str292 = private unnamed_addr constant [2 x i8] c"(\00" +@.str293 = private unnamed_addr constant [2 x i8] c",\00" +@.str294 = private unnamed_addr constant [2 x i8] c":\00" +@.str295 = private unnamed_addr constant [2 x i8] c")\00" +@.str296 = private unnamed_addr constant [9 x i8] c"OnAttach\00" +@.str297 = private unnamed_addr constant [2 x i8] c"(\00" +@.str298 = private unnamed_addr constant [2 x i8] c")\00" +@.str299 = private unnamed_addr constant [9 x i8] c"OnDetach\00" +@.str300 = private unnamed_addr constant [2 x i8] c"(\00" +@.str301 = private unnamed_addr constant [2 x i8] c")\00" +@.str302 = private unnamed_addr constant [9 x i8] c"OnEnable\00" +@.str303 = private unnamed_addr constant [2 x i8] c"(\00" +@.str304 = private unnamed_addr constant [2 x i8] c")\00" +@.str305 = private unnamed_addr constant [10 x i8] c"OnDisable\00" +@.str306 = private unnamed_addr constant [2 x i8] c"(\00" +@.str307 = private unnamed_addr constant [2 x i8] c")\00" +@.str308 = private unnamed_addr constant [8 x i8] c"OnStart\00" +@.str309 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str310 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str311 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str312 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str313 = private unnamed_addr constant [6 x i8] c"Owned\00" +@.str314 = private unnamed_addr constant [7 x i8] c"Server\00" +@.str315 = private unnamed_addr constant [7 x i8] c"server\00" +@.str316 = private unnamed_addr constant [10 x i8] c"Predicted\00" +@.str317 = private unnamed_addr constant [10 x i8] c"predicted\00" +@.str318 = private unnamed_addr constant [9 x i8] c"ToServer\00" +@.str319 = private unnamed_addr constant [9 x i8] c"toserver\00" +@.str320 = private unnamed_addr constant [10 x i8] c"ToClients\00" +@.str321 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str322 = private unnamed_addr constant [7 x i8] c"System\00" +@.str323 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str324 = private unnamed_addr constant [2 x i8] c"(\00" +@.str325 = private unnamed_addr constant [2 x i8] c")\00" +@.str326 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" +@.str327 = private unnamed_addr constant [2 x i8] c"(\00" +@.str328 = private unnamed_addr constant [2 x i8] c",\00" +@.str329 = private unnamed_addr constant [2 x i8] c")\00" +@.str330 = private unnamed_addr constant [10 x i8] c"Namespace\00" +@.str331 = private unnamed_addr constant [2 x i8] c"(\00" +@.str332 = private unnamed_addr constant [2 x i8] c")\00" +@.str333 = private unnamed_addr constant [11 x i8] c"ClearColor\00" +@.str334 = private unnamed_addr constant [2 x i8] c"(\00" +@.str335 = private unnamed_addr constant [66 x i8] c"@ClearColor expects an integer colour, e.g. @ClearColor(0x101018)\00" +@.str336 = private unnamed_addr constant [2 x i8] c")\00" +@.str337 = private unnamed_addr constant [2 x i8] c"(\00" +@.str338 = private unnamed_addr constant [2 x i8] c"(\00" +@.str339 = private unnamed_addr constant [2 x i8] c")\00" +@.str340 = private unnamed_addr constant [7 x i8] c"import\00" +@.str341 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" +@.str342 = private unnamed_addr constant [5 x i8] c"enum\00" +@.str343 = private unnamed_addr constant [6 x i8] c"event\00" +@.str344 = private unnamed_addr constant [9 x i8] c"property\00" +@.str345 = private unnamed_addr constant [6 x i8] c"model\00" +@.str346 = private unnamed_addr constant [6 x i8] c"scene\00" +@.str347 = private unnamed_addr constant [7 x i8] c"prefab\00" +@.str348 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str349 = private unnamed_addr constant [7 x i8] c"server\00" +@.str350 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str351 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str352 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str353 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str354 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str355 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str356 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str357 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str358 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str359 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str360 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str361 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str362 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str363 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str364 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str365 = private unnamed_addr constant [3 x i8] c"ui\00" +@.str366 = private unnamed_addr constant [10 x i8] c"namespace\00" +@.str367 = private unnamed_addr constant [4 x i8] c"var\00" +@.str368 = private unnamed_addr constant [6 x i8] c"const\00" +@.str369 = private unnamed_addr constant [9 x i8] c"function\00" +@.str370 = private unnamed_addr constant [7 x i8] c"extern\00" +@.str371 = private unnamed_addr constant [6 x i8] c"entry\00" +@.str372 = private unnamed_addr constant [5 x i8] c"test\00" +@.str373 = private unnamed_addr constant [21 x i8] c"expected declaration\00" +@.str374 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" +@.str375 = private unnamed_addr constant [22 x i8] c"import: no directory \00" +@.str376 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str377 = private unnamed_addr constant [2 x i8] c"/\00" +@.str378 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" +@.str379 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" +@.str380 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" +@.str381 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" +@.str382 = private unnamed_addr constant [20 x i8] c"cannot open import \00" +@.str383 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str384 = private unnamed_addr constant [1 x i8] c"\00" @.str385 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str386 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" -@.str387 = private unnamed_addr constant [1 x i8] c"\00" -@.str388 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" -@.str389 = private unnamed_addr constant [7 x i8] c"Motion\00" -@.str390 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" -@.str391 = private unnamed_addr constant [5 x i8] c"Body\00" -@.str392 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str393 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" -@.str394 = private unnamed_addr constant [7 x i8] c"Sprite\00" -@.str395 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" -@.str396 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" -@.str397 = private unnamed_addr constant [7 x i8] c"Bounds\00" -@.str398 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" -@.str399 = private unnamed_addr constant [8 x i8] c"Light2D\00" -@.str400 = private unnamed_addr constant [9 x i8] c"Occluder\00" -@.str401 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" -@.str402 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" -@.str403 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" -@.str404 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" -@.str405 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str406 = private unnamed_addr constant [7 x i8] c"Motion\00" -@.str407 = private unnamed_addr constant [12 x i8] c"esys_motion\00" -@.str408 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str409 = private unnamed_addr constant [5 x i8] c"Body\00" -@.str410 = private unnamed_addr constant [10 x i8] c"esys_move\00" -@.str411 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str412 = private unnamed_addr constant [7 x i8] c"Bounds\00" -@.str413 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" -@.str414 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str415 = private unnamed_addr constant [7 x i8] c"Sprite\00" -@.str416 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" -@.str417 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str418 = private unnamed_addr constant [8 x i8] c"Light2D\00" -@.str419 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" -@.str420 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str421 = private unnamed_addr constant [6 x i8] c"Ludic\00" -@.str422 = private unnamed_addr constant [7 x i8] c"import\00" -@.str423 = private unnamed_addr constant [2 x i8] c"@\00" -@.str424 = private unnamed_addr constant [2 x i8] c"(\00" -@.str425 = private unnamed_addr constant [2 x i8] c"(\00" -@.str426 = private unnamed_addr constant [2 x i8] c")\00" -@.str427 = private unnamed_addr constant [8 x i8] c"program\00" -@.str428 = private unnamed_addr constant [2 x i8] c"{\00" -@.str429 = private unnamed_addr constant [2 x i8] c"}\00" -@.str430 = private unnamed_addr constant [2 x i8] c"{\00" -@.str431 = private unnamed_addr constant [2 x i8] c"}\00" -@.str432 = private unnamed_addr constant [2 x i8] c"@\00" -@.str433 = private unnamed_addr constant [9 x i8] c"Computed\00" -@.str434 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str435 = private unnamed_addr constant [2 x i8] c":\00" -@.str436 = private unnamed_addr constant [2 x i8] c"=\00" -@.str437 = private unnamed_addr constant [2 x i8] c",\00" -@.str438 = private unnamed_addr constant [2 x i8] c"}\00" -@.str439 = private unnamed_addr constant [12 x i8] c"cancellable\00" -@.str440 = private unnamed_addr constant [2 x i8] c"{\00" -@.str441 = private unnamed_addr constant [2 x i8] c"}\00" -@.str442 = private unnamed_addr constant [2 x i8] c":\00" -@.str443 = private unnamed_addr constant [2 x i8] c"=\00" -@.str444 = private unnamed_addr constant [2 x i8] c",\00" -@.str445 = private unnamed_addr constant [2 x i8] c"}\00" -@.str446 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str447 = private unnamed_addr constant [2 x i8] c"@\00" -@.str448 = private unnamed_addr constant [2 x i8] c"(\00" -@.str449 = private unnamed_addr constant [2 x i8] c"(\00" -@.str450 = private unnamed_addr constant [2 x i8] c")\00" -@.str451 = private unnamed_addr constant [6 x i8] c"phase\00" -@.str452 = private unnamed_addr constant [2 x i8] c"[\00" -@.str453 = private unnamed_addr constant [2 x i8] c"]\00" -@.str454 = private unnamed_addr constant [2 x i8] c"{\00" -@.str455 = private unnamed_addr constant [2 x i8] c"}\00" -@.str456 = private unnamed_addr constant [2 x i8] c",\00" -@.str457 = private unnamed_addr constant [2 x i8] c"]\00" -@.str458 = private unnamed_addr constant [6 x i8] c"where\00" -@.str459 = private unnamed_addr constant [2 x i8] c"(\00" -@.str460 = private unnamed_addr constant [2 x i8] c")\00" -@.str461 = private unnamed_addr constant [2 x i8] c",\00" -@.str462 = private unnamed_addr constant [2 x i8] c")\00" -@.str463 = private unnamed_addr constant [6 x i8] c"query\00" -@.str464 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" -@.str465 = private unnamed_addr constant [4 x i8] c"and\00" -@.str466 = private unnamed_addr constant [2 x i8] c"(\00" -@.str467 = private unnamed_addr constant [2 x i8] c")\00" -@.str468 = private unnamed_addr constant [2 x i8] c")\00" -@.str469 = private unnamed_addr constant [2 x i8] c":\00" -@.str470 = private unnamed_addr constant [6 x i8] c"these\00" -@.str471 = private unnamed_addr constant [2 x i8] c"[\00" -@.str472 = private unnamed_addr constant [2 x i8] c"]\00" -@.str473 = private unnamed_addr constant [2 x i8] c"{\00" -@.str474 = private unnamed_addr constant [2 x i8] c"}\00" -@.str475 = private unnamed_addr constant [2 x i8] c",\00" -@.str476 = private unnamed_addr constant [2 x i8] c"]\00" -@.str477 = private unnamed_addr constant [3 x i8] c"on\00" -@.str478 = private unnamed_addr constant [2 x i8] c",\00" -@.str479 = private unnamed_addr constant [2 x i8] c")\00" -@.str480 = private unnamed_addr constant [2 x i8] c"{\00" -@.str481 = private unnamed_addr constant [2 x i8] c"}\00" -@.str482 = private unnamed_addr constant [2 x i8] c",\00" -@.str483 = private unnamed_addr constant [2 x i8] c"}\00" -@.str484 = private unnamed_addr constant [6 x i8] c"start\00" -@.str485 = private unnamed_addr constant [7 x i8] c"public\00" -@.str486 = private unnamed_addr constant [6 x i8] c"start\00" -@.str487 = private unnamed_addr constant [7 x i8] c"scene_\00" -@.str488 = private unnamed_addr constant [7 x i8] c"_enter\00" -@.str489 = private unnamed_addr constant [7 x i8] c"scene_\00" -@.str490 = private unnamed_addr constant [6 x i8] c"_exit\00" -@.str491 = private unnamed_addr constant [2 x i8] c"{\00" -@.str492 = private unnamed_addr constant [2 x i8] c"}\00" -@.str493 = private unnamed_addr constant [3 x i8] c"on\00" -@.str494 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str495 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str496 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" -@.str497 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str498 = private unnamed_addr constant [7 x i8] c"public\00" -@.str499 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str500 = private unnamed_addr constant [6 x i8] c"_show\00" -@.str501 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str502 = private unnamed_addr constant [6 x i8] c"_hide\00" -@.str503 = private unnamed_addr constant [2 x i8] c"{\00" +@.str386 = private unnamed_addr constant [1 x i8] c"\00" +@.str387 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" +@.str388 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" +@.str389 = private unnamed_addr constant [1 x i8] c"\00" +@.str390 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" +@.str391 = private unnamed_addr constant [1 x i8] c"\00" +@.str392 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" +@.str393 = private unnamed_addr constant [1 x i8] c"\00" +@.str394 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" +@.str395 = private unnamed_addr constant [1 x i8] c"\00" +@.str396 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" +@.str397 = private unnamed_addr constant [1 x i8] c"\00" +@.str398 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" +@.str399 = private unnamed_addr constant [1 x i8] c"\00" +@.str400 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" +@.str401 = private unnamed_addr constant [1 x i8] c"\00" +@.str402 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" +@.str403 = private unnamed_addr constant [1 x i8] c"\00" +@.str404 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" +@.str405 = private unnamed_addr constant [1 x i8] c"\00" +@.str406 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str407 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" +@.str408 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" +@.str409 = private unnamed_addr constant [1 x i8] c"\00" +@.str410 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str411 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" +@.str412 = private unnamed_addr constant [1 x i8] c"\00" +@.str413 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" +@.str414 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" +@.str415 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" +@.str416 = private unnamed_addr constant [1 x i8] c"\00" +@.str417 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str418 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" +@.str419 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" +@.str420 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" +@.str421 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" +@.str422 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" +@.str423 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" +@.str424 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" +@.str425 = private unnamed_addr constant [1 x i8] c"\00" +@.str426 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" +@.str427 = private unnamed_addr constant [1 x i8] c"\00" +@.str428 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str429 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" +@.str430 = private unnamed_addr constant [1 x i8] c"\00" +@.str431 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str432 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" +@.str433 = private unnamed_addr constant [1 x i8] c"\00" +@.str434 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" +@.str435 = private unnamed_addr constant [1 x i8] c"\00" +@.str436 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" +@.str437 = private unnamed_addr constant [1 x i8] c"\00" +@.str438 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str439 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" +@.str440 = private unnamed_addr constant [1 x i8] c"\00" +@.str441 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" +@.str442 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str443 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" +@.str444 = private unnamed_addr constant [5 x i8] c"Body\00" +@.str445 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str446 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" +@.str447 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str448 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str449 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" +@.str450 = private unnamed_addr constant [9 x i8] c"TileSkin\00" +@.str451 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str452 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" +@.str453 = private unnamed_addr constant [7 x i8] c"Bounds\00" +@.str454 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" +@.str455 = private unnamed_addr constant [8 x i8] c"Light2D\00" +@.str456 = private unnamed_addr constant [9 x i8] c"Occluder\00" +@.str457 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" +@.str458 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" +@.str459 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" +@.str460 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" +@.str461 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str462 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str463 = private unnamed_addr constant [12 x i8] c"esys_motion\00" +@.str464 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str465 = private unnamed_addr constant [5 x i8] c"Body\00" +@.str466 = private unnamed_addr constant [10 x i8] c"esys_move\00" +@.str467 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str468 = private unnamed_addr constant [7 x i8] c"Bounds\00" +@.str469 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" +@.str470 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str471 = private unnamed_addr constant [9 x i8] c"TileSkin\00" +@.str472 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" +@.str473 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str474 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str475 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" +@.str476 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str477 = private unnamed_addr constant [8 x i8] c"Light2D\00" +@.str478 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" +@.str479 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str480 = private unnamed_addr constant [6 x i8] c"Ludic\00" +@.str481 = private unnamed_addr constant [7 x i8] c"import\00" +@.str482 = private unnamed_addr constant [2 x i8] c"@\00" +@.str483 = private unnamed_addr constant [2 x i8] c"(\00" +@.str484 = private unnamed_addr constant [2 x i8] c"(\00" +@.str485 = private unnamed_addr constant [2 x i8] c")\00" +@.str486 = private unnamed_addr constant [8 x i8] c"program\00" +@.str487 = private unnamed_addr constant [2 x i8] c"{\00" +@.str488 = private unnamed_addr constant [2 x i8] c"}\00" +@.str489 = private unnamed_addr constant [2 x i8] c"{\00" +@.str490 = private unnamed_addr constant [2 x i8] c"}\00" +@.str491 = private unnamed_addr constant [2 x i8] c"@\00" +@.str492 = private unnamed_addr constant [9 x i8] c"Computed\00" +@.str493 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str494 = private unnamed_addr constant [2 x i8] c":\00" +@.str495 = private unnamed_addr constant [2 x i8] c"=\00" +@.str496 = private unnamed_addr constant [2 x i8] c",\00" +@.str497 = private unnamed_addr constant [2 x i8] c"}\00" +@.str498 = private unnamed_addr constant [12 x i8] c"cancellable\00" +@.str499 = private unnamed_addr constant [2 x i8] c"{\00" +@.str500 = private unnamed_addr constant [2 x i8] c"}\00" +@.str501 = private unnamed_addr constant [2 x i8] c":\00" +@.str502 = private unnamed_addr constant [2 x i8] c"=\00" +@.str503 = private unnamed_addr constant [2 x i8] c",\00" @.str504 = private unnamed_addr constant [2 x i8] c"}\00" -@.str505 = private unnamed_addr constant [8 x i8] c"handler\00" -@.str506 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" -@.str507 = private unnamed_addr constant [2 x i8] c"}\00" -@.str508 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" -@.str509 = private unnamed_addr constant [2 x i8] c"}\00" -@.str510 = private unnamed_addr constant [2 x i8] c"{\00" -@.str511 = private unnamed_addr constant [2 x i8] c"}\00" -@.str512 = private unnamed_addr constant [2 x i8] c"(\00" -@.str513 = private unnamed_addr constant [2 x i8] c")\00" -@.str514 = private unnamed_addr constant [2 x i8] c",\00" -@.str515 = private unnamed_addr constant [2 x i8] c")\00" -@.str516 = private unnamed_addr constant [2 x i8] c",\00" -@.str517 = private unnamed_addr constant [2 x i8] c"}\00" -@.str518 = private unnamed_addr constant [2 x i8] c"{\00" -@.str519 = private unnamed_addr constant [2 x i8] c"}\00" -@.str520 = private unnamed_addr constant [2 x i8] c"@\00" -@.str521 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str522 = private unnamed_addr constant [2 x i8] c",\00" -@.str523 = private unnamed_addr constant [2 x i8] c"}\00" -@.str524 = private unnamed_addr constant [2 x i8] c"(\00" -@.str525 = private unnamed_addr constant [2 x i8] c")\00" -@.str526 = private unnamed_addr constant [2 x i8] c":\00" -@.str527 = private unnamed_addr constant [2 x i8] c",\00" -@.str528 = private unnamed_addr constant [2 x i8] c")\00" -@.str529 = private unnamed_addr constant [5 x i8] c"void\00" -@.str530 = private unnamed_addr constant [3 x i8] c"->\00" -@.str531 = private unnamed_addr constant [2 x i8] c"=\00" -@.str532 = private unnamed_addr constant [2 x i8] c":\00" -@.str533 = private unnamed_addr constant [2 x i8] c":\00" -@.str534 = private unnamed_addr constant [2 x i8] c"{\00" -@.str535 = private unnamed_addr constant [2 x i8] c"}\00" -@.str536 = private unnamed_addr constant [2 x i8] c"}\00" -@.str537 = private unnamed_addr constant [2 x i8] c"{\00" -@.str538 = private unnamed_addr constant [2 x i8] c"}\00" -@.str539 = private unnamed_addr constant [3 x i8] c" \00" -@.str540 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" -@.str541 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str542 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str543 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str544 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str545 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str546 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str547 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str548 = private unnamed_addr constant [3 x i8] c"%t\00" -@.str549 = private unnamed_addr constant [3 x i8] c" \00" -@.str550 = private unnamed_addr constant [11 x i8] c" = alloca \00" -@.str551 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str552 = private unnamed_addr constant [3 x i8] c"%t\00" -@.str553 = private unnamed_addr constant [4 x i8] c"int\00" -@.str554 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str555 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str556 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str557 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str558 = private unnamed_addr constant [5 x i8] c"long\00" -@.str559 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str560 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str561 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str562 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str563 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str564 = private unnamed_addr constant [5 x i8] c"Rect\00" -@.str565 = private unnamed_addr constant [5 x i8] c"i128\00" -@.str566 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str567 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str568 = private unnamed_addr constant [6 x i8] c"words\00" -@.str569 = private unnamed_addr constant [7 x i8] c"fixeds\00" -@.str570 = private unnamed_addr constant [9 x i8] c"pointers\00" -@.str571 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str572 = private unnamed_addr constant [5 x i8] c"void\00" -@.str573 = private unnamed_addr constant [5 x i8] c"void\00" -@.str574 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str575 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" -@.str576 = private unnamed_addr constant [4 x i8] c"int\00" -@.str577 = private unnamed_addr constant [10 x i8] c"EndReason\00" -@.str578 = private unnamed_addr constant [10 x i8] c"Despawned\00" -@.str579 = private unnamed_addr constant [10 x i8] c"SceneExit\00" -@.str580 = private unnamed_addr constant [5 x i8] c"Quit\00" -@.str581 = private unnamed_addr constant [2 x i8] c".\00" -@.str582 = private unnamed_addr constant [2 x i8] c".\00" -@.str583 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str584 = private unnamed_addr constant [4 x i8] c"int\00" -@.str585 = private unnamed_addr constant [7 x i8] c"reason\00" -@.str586 = private unnamed_addr constant [4 x i8] c"int\00" -@.str587 = private unnamed_addr constant [6 x i8] c"@.str\00" -@.str588 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" -@.str589 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" -@.str590 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" -@.str591 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str592 = private unnamed_addr constant [5 x i8] c"null\00" -@.str593 = private unnamed_addr constant [2 x i8] c"0\00" -@.str594 = private unnamed_addr constant [2 x i8] c"-\00" -@.str595 = private unnamed_addr constant [2 x i8] c"-\00" -@.str596 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str597 = private unnamed_addr constant [5 x i8] c"null\00" -@.str598 = private unnamed_addr constant [2 x i8] c"0\00" -@.str599 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" -@.str600 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" -@.str601 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" -@.str602 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" -@.str603 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" -@.str604 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" -@.str605 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" -@.str606 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" -@.str607 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" -@.str608 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" -@.str609 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" -@.str610 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" -@.str611 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" -@.str612 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" -@.str613 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" -@.str614 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" -@.str615 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" -@.str616 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" -@.str617 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" -@.str618 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" -@.str619 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" -@.str620 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" -@.str621 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" -@.str622 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" -@.str623 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" -@.str624 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" -@.str625 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" -@.str626 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" -@.str627 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" -@.str628 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" -@.str629 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" -@.str630 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" -@.str631 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" -@.str632 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" -@.str633 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" -@.str634 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" -@.str635 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" -@.str636 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" -@.str637 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" -@.str638 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" -@.str639 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" -@.str640 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" -@.str641 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" -@.str642 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" -@.str643 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" -@.str644 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" -@.str645 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" -@.str646 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" -@.str647 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" -@.str648 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" -@.str649 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" -@.str650 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" -@.str651 = 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" -@.str652 = private unnamed_addr constant [67 x i8] c"@.fmt_long = private unnamed_addr constant [6 x i8] c\22%lld\5C0A\5C00\22\0A\00" -@.str653 = 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" -@.str654 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" -@.str655 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" -@.str656 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" -@.str657 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" -@.str658 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" -@.str659 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" -@.str660 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" -@.str661 = private unnamed_addr constant [11 x i8] c" = type { \00" -@.str662 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str663 = private unnamed_addr constant [3 x i8] c", \00" -@.str664 = private unnamed_addr constant [4 x i8] c" }\0A\00" -@.str665 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str666 = private unnamed_addr constant [20 x i8] c" = internal global \00" -@.str667 = private unnamed_addr constant [2 x i8] c" \00" -@.str668 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str669 = private unnamed_addr constant [9 x i8] c"declare \00" -@.str670 = private unnamed_addr constant [3 x i8] c" @\00" -@.str671 = private unnamed_addr constant [2 x i8] c"(\00" -@.str672 = private unnamed_addr constant [3 x i8] c", \00" -@.str673 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str674 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00" -@.str675 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" -@.str676 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" -@.str677 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" -@.str678 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" -@.str679 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" -@.str680 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" -@.str681 = 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" -@.str682 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" -@.str683 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" -@.str684 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00" -@.str685 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" -@.str686 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" -@.str687 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" -@.str688 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" -@.str689 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" -@.str690 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" -@.str691 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" -@.str692 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" -@.str693 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" -@.str694 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" -@.str695 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" -@.str696 = 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" -@.str697 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" -@.str698 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" -@.str699 = 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" -@.str700 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" -@.str701 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" -@.str702 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" -@.str703 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" -@.str704 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" -@.str705 = 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" -@.str706 = 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" -@.str707 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" -@.str708 = 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" -@.str709 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00" -@.str710 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" -@.str711 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" -@.str712 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" -@.str713 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" -@.str714 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" -@.str715 = 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" -@.str716 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" -@.str717 = 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" -@.str718 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" -@.str719 = 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" -@.str720 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" -@.str721 = 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" -@.str722 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" -@.str723 = 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" -@.str724 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" -@.str725 = 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" -@.str726 = private unnamed_addr constant [36 x i8] c"define ptr @fn_long_str(i64 %n0) {\0A\00" -@.str727 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" -@.str728 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" -@.str729 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" -@.str730 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" -@.str731 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" -@.str732 = 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" -@.str733 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" -@.str734 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i64 [ %n, %dl ], [ %cur2, %dbody ]\0A\00" -@.str735 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" -@.str736 = private unnamed_addr constant [116 x i8] c"dbody:\0A %d = urem i64 %cur, 10\0A %d32 = trunc i64 %d to i32\0A %ch = add i32 %d32, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" -@.str737 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" -@.str738 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i64 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00" -@.str739 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" -@.str740 = 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" -@.str741 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" -@.str742 = 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" -@.str743 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" -@.str744 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" -@.str745 = 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" -@.str746 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" -@.str747 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" -@.str748 = 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" -@.str749 = 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" -@.str750 = 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" -@.str751 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" -@.str752 = private unnamed_addr constant [15 x i8] c"no such field \00" -@.str753 = private unnamed_addr constant [3 x i8] c" \00" -@.str754 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str755 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str756 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str757 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str758 = private unnamed_addr constant [6 x i8] c"words\00" -@.str759 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" -@.str760 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str761 = private unnamed_addr constant [4 x i8] c"int\00" -@.str762 = private unnamed_addr constant [7 x i8] c"fixeds\00" -@.str763 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" -@.str764 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str765 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str766 = private unnamed_addr constant [9 x i8] c"pointers\00" -@.str767 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" -@.str768 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str769 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str770 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" -@.str771 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str772 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str773 = private unnamed_addr constant [3 x i8] c" \00" -@.str774 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str775 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" -@.str776 = private unnamed_addr constant [3 x i8] c" \00" -@.str777 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" -@.str778 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str779 = private unnamed_addr constant [3 x i8] c" \00" -@.str780 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str781 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str782 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str783 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str784 = private unnamed_addr constant [7 x i8] c"resize\00" -@.str785 = private unnamed_addr constant [10 x i8] c"file_open\00" -@.str786 = private unnamed_addr constant [10 x i8] c"file_read\00" -@.str787 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str788 = private unnamed_addr constant [10 x i8] c"file_seek\00" -@.str789 = private unnamed_addr constant [10 x i8] c"file_tell\00" -@.str790 = private unnamed_addr constant [11 x i8] c"file_close\00" -@.str791 = private unnamed_addr constant [10 x i8] c"arg_count\00" -@.str792 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str793 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str794 = private unnamed_addr constant [12 x i8] c"file_stderr\00" -@.str795 = private unnamed_addr constant [12 x i8] c"file_stdout\00" -@.str796 = private unnamed_addr constant [4 x i8] c"run\00" -@.str797 = private unnamed_addr constant [7 x i8] c"getenv\00" -@.str798 = private unnamed_addr constant [14 x i8] c"world_despawn\00" -@.str799 = private unnamed_addr constant [3 x i8] c" \00" -@.str800 = private unnamed_addr constant [4 x i8] c" = \00" -@.str801 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str802 = private unnamed_addr constant [7 x i8] c"resize\00" -@.str803 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str804 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str805 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" -@.str806 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str807 = private unnamed_addr constant [2 x i8] c")\00" -@.str808 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str809 = private unnamed_addr constant [10 x i8] c"file_open\00" -@.str810 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00" -@.str811 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str812 = private unnamed_addr constant [2 x i8] c")\00" -@.str813 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str814 = private unnamed_addr constant [10 x i8] c"file_read\00" -@.str815 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str816 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str817 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str818 = private unnamed_addr constant [7 x i8] c"@fread\00" -@.str819 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str820 = private unnamed_addr constant [8 x i8] c"@fwrite\00" -@.str821 = private unnamed_addr constant [10 x i8] c"call i64 \00" -@.str822 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str823 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str824 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str825 = private unnamed_addr constant [2 x i8] c")\00" -@.str826 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str827 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str828 = private unnamed_addr constant [4 x i8] c"int\00" -@.str829 = private unnamed_addr constant [10 x i8] c"file_seek\00" -@.str830 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str831 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str832 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" -@.str833 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str834 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str835 = private unnamed_addr constant [2 x i8] c")\00" -@.str836 = private unnamed_addr constant [4 x i8] c"int\00" -@.str837 = private unnamed_addr constant [10 x i8] c"file_tell\00" -@.str838 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" -@.str839 = private unnamed_addr constant [2 x i8] c")\00" -@.str840 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str841 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str842 = private unnamed_addr constant [4 x i8] c"int\00" -@.str843 = private unnamed_addr constant [11 x i8] c"file_close\00" -@.str844 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" -@.str845 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str846 = private unnamed_addr constant [2 x i8] c"0\00" -@.str847 = private unnamed_addr constant [5 x i8] c"void\00" -@.str848 = private unnamed_addr constant [14 x i8] c"world_despawn\00" -@.str849 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" -@.str850 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str851 = private unnamed_addr constant [2 x i8] c"0\00" -@.str852 = private unnamed_addr constant [5 x i8] c"void\00" -@.str853 = private unnamed_addr constant [10 x i8] c"arg_count\00" -@.str854 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" -@.str855 = private unnamed_addr constant [4 x i8] c"int\00" -@.str856 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str857 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" -@.str858 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" -@.str859 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str860 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str861 = private unnamed_addr constant [7 x i8] c"string\00" -@.str862 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str863 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" -@.str864 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str865 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" -@.str866 = private unnamed_addr constant [2 x i8] c"0\00" -@.str867 = private unnamed_addr constant [5 x i8] c"void\00" -@.str868 = private unnamed_addr constant [12 x i8] c"file_stderr\00" -@.str869 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" -@.str870 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str871 = private unnamed_addr constant [12 x i8] c"file_stdout\00" -@.str872 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" -@.str873 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str874 = private unnamed_addr constant [4 x i8] c"run\00" -@.str875 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" -@.str876 = private unnamed_addr constant [2 x i8] c")\00" -@.str877 = private unnamed_addr constant [4 x i8] c"int\00" -@.str878 = private unnamed_addr constant [7 x i8] c"getenv\00" -@.str879 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" -@.str880 = private unnamed_addr constant [2 x i8] c")\00" -@.str881 = private unnamed_addr constant [7 x i8] c"string\00" -@.str882 = private unnamed_addr constant [2 x i8] c"0\00" -@.str883 = private unnamed_addr constant [5 x i8] c"void\00" -@.str884 = private unnamed_addr constant [5 x i8] c"free\00" -@.str885 = private unnamed_addr constant [5 x i8] c"fill\00" -@.str886 = private unnamed_addr constant [7 x i8] c"offset\00" -@.str887 = private unnamed_addr constant [10 x i8] c"read_char\00" -@.str888 = private unnamed_addr constant [9 x i8] c"as_fixed\00" -@.str889 = private unnamed_addr constant [7 x i8] c"as_int\00" -@.str890 = private unnamed_addr constant [12 x i8] c"is_windowed\00" -@.str891 = private unnamed_addr constant [11 x i8] c"game_title\00" -@.str892 = private unnamed_addr constant [9 x i8] c"win_open\00" -@.str893 = private unnamed_addr constant [9 x i8] c"win_poll\00" -@.str894 = private unnamed_addr constant [12 x i8] c"win_present\00" -@.str895 = private unnamed_addr constant [12 x i8] c"win_running\00" -@.str896 = private unnamed_addr constant [10 x i8] c"win_close\00" -@.str897 = private unnamed_addr constant [9 x i8] c"win_held\00" -@.str898 = private unnamed_addr constant [10 x i8] c"win_mouse\00" -@.str899 = private unnamed_addr constant [8 x i8] c"win_pad\00" -@.str900 = private unnamed_addr constant [10 x i8] c"win_touch\00" -@.str901 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" -@.str902 = private unnamed_addr constant [9 x i8] c"snd_load\00" -@.str903 = private unnamed_addr constant [9 x i8] c"snd_play\00" -@.str904 = private unnamed_addr constant [9 x i8] c"snd_stop\00" -@.str905 = private unnamed_addr constant [12 x i8] c"snd_playing\00" -@.str906 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" -@.str907 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" -@.str908 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" -@.str909 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" -@.str910 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" -@.str911 = private unnamed_addr constant [8 x i8] c"hs_send\00" -@.str912 = private unnamed_addr constant [8 x i8] c"hs_done\00" -@.str913 = private unnamed_addr constant [10 x i8] c"hs_status\00" -@.str914 = private unnamed_addr constant [8 x i8] c"hs_body\00" -@.str915 = private unnamed_addr constant [8 x i8] c"hs_blen\00" -@.str916 = private unnamed_addr constant [10 x i8] c"hs_header\00" -@.str917 = private unnamed_addr constant [8 x i8] c"hs_free\00" -@.str918 = private unnamed_addr constant [5 x i8] c"free\00" -@.str919 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" -@.str920 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str921 = private unnamed_addr constant [2 x i8] c"0\00" -@.str922 = private unnamed_addr constant [5 x i8] c"void\00" -@.str923 = private unnamed_addr constant [5 x i8] c"fill\00" -@.str924 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str925 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str926 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" -@.str927 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str928 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str929 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str930 = private unnamed_addr constant [2 x i8] c"0\00" -@.str931 = private unnamed_addr constant [5 x i8] c"void\00" -@.str932 = private unnamed_addr constant [7 x i8] c"offset\00" -@.str933 = private unnamed_addr constant [3 x i8] c" \00" -@.str934 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" -@.str935 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str936 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str937 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str938 = private unnamed_addr constant [10 x i8] c"read_char\00" -@.str939 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" -@.str940 = private unnamed_addr constant [4 x i8] c"int\00" -@.str941 = private unnamed_addr constant [9 x i8] c"as_fixed\00" -@.str942 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str943 = private unnamed_addr constant [7 x i8] c"as_int\00" -@.str944 = private unnamed_addr constant [4 x i8] c"int\00" -@.str945 = private unnamed_addr constant [12 x i8] c"is_windowed\00" -@.str946 = private unnamed_addr constant [2 x i8] c"1\00" -@.str947 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str948 = private unnamed_addr constant [2 x i8] c"0\00" -@.str949 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str950 = private unnamed_addr constant [11 x i8] c"game_title\00" -@.str951 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" -@.str952 = private unnamed_addr constant [7 x i8] c"string\00" -@.str953 = private unnamed_addr constant [9 x i8] c"win_poll\00" -@.str954 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" -@.str955 = private unnamed_addr constant [4 x i8] c"int\00" -@.str956 = private unnamed_addr constant [12 x i8] c"win_running\00" -@.str957 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" -@.str958 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str959 = private unnamed_addr constant [9 x i8] c"win_open\00" -@.str960 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" -@.str961 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str962 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str963 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str964 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str965 = private unnamed_addr constant [2 x i8] c"0\00" -@.str966 = private unnamed_addr constant [5 x i8] c"void\00" -@.str967 = private unnamed_addr constant [12 x i8] c"win_present\00" -@.str968 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" -@.str969 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str970 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str971 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str972 = private unnamed_addr constant [2 x i8] c"0\00" -@.str973 = private unnamed_addr constant [5 x i8] c"void\00" -@.str974 = private unnamed_addr constant [10 x i8] c"win_close\00" -@.str975 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" -@.str976 = private unnamed_addr constant [2 x i8] c"0\00" -@.str977 = private unnamed_addr constant [5 x i8] c"void\00" -@.str978 = private unnamed_addr constant [9 x i8] c"win_held\00" -@.str979 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" -@.str980 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str981 = private unnamed_addr constant [2 x i8] c"0\00" -@.str982 = private unnamed_addr constant [5 x i8] c"void\00" -@.str983 = private unnamed_addr constant [10 x i8] c"win_mouse\00" -@.str984 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" -@.str985 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str986 = private unnamed_addr constant [2 x i8] c"0\00" -@.str987 = private unnamed_addr constant [5 x i8] c"void\00" -@.str988 = private unnamed_addr constant [8 x i8] c"win_pad\00" -@.str989 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" -@.str990 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str991 = private unnamed_addr constant [2 x i8] c"0\00" -@.str992 = private unnamed_addr constant [5 x i8] c"void\00" -@.str993 = private unnamed_addr constant [10 x i8] c"win_touch\00" -@.str994 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" -@.str995 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str996 = private unnamed_addr constant [2 x i8] c"0\00" -@.str997 = private unnamed_addr constant [5 x i8] c"void\00" -@.str998 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" -@.str999 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" -@.str1000 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1001 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1002 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1003 = private unnamed_addr constant [9 x i8] c"snd_load\00" -@.str1004 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" -@.str1005 = private unnamed_addr constant [2 x i8] c")\00" -@.str1006 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str1007 = private unnamed_addr constant [9 x i8] c"snd_play\00" -@.str1008 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" -@.str1009 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1010 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1011 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1012 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1013 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1014 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1015 = private unnamed_addr constant [9 x i8] c"snd_stop\00" -@.str1016 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" -@.str1017 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1018 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1019 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1020 = private unnamed_addr constant [12 x i8] c"snd_playing\00" -@.str1021 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" -@.str1022 = private unnamed_addr constant [2 x i8] c")\00" -@.str1023 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1024 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" -@.str1025 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" -@.str1026 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1027 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1028 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1029 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1030 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" -@.str1031 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" -@.str1032 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1033 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1034 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1035 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1036 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" -@.str1037 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" -@.str1038 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1039 = private unnamed_addr constant [2 x i8] c")\00" -@.str1040 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str1041 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" -@.str1042 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" -@.str1043 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1044 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1045 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1046 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1047 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1048 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" -@.str1049 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" -@.str1050 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1051 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1052 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1053 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1054 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1055 = private unnamed_addr constant [8 x i8] c"hs_send\00" -@.str1056 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" -@.str1057 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1058 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1059 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1060 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1061 = private unnamed_addr constant [8 x i8] c"hs_done\00" -@.str1062 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" -@.str1063 = private unnamed_addr constant [2 x i8] c")\00" -@.str1064 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1065 = private unnamed_addr constant [10 x i8] c"hs_status\00" -@.str1066 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" -@.str1067 = private unnamed_addr constant [2 x i8] c")\00" -@.str1068 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1069 = private unnamed_addr constant [8 x i8] c"hs_body\00" -@.str1070 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" -@.str1071 = private unnamed_addr constant [2 x i8] c")\00" -@.str1072 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str1073 = private unnamed_addr constant [8 x i8] c"hs_blen\00" -@.str1074 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" -@.str1075 = private unnamed_addr constant [2 x i8] c")\00" -@.str1076 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1077 = private unnamed_addr constant [10 x i8] c"hs_header\00" -@.str1078 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" -@.str1079 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1080 = private unnamed_addr constant [2 x i8] c")\00" -@.str1081 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str1082 = private unnamed_addr constant [8 x i8] c"hs_free\00" -@.str1083 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" -@.str1084 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str1085 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1086 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1087 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1088 = private unnamed_addr constant [5 x i8] c"void\00" -@.str1089 = private unnamed_addr constant [4 x i8] c"min\00" -@.str1090 = private unnamed_addr constant [4 x i8] c"max\00" -@.str1091 = private unnamed_addr constant [4 x i8] c"abs\00" -@.str1092 = private unnamed_addr constant [6 x i8] c"clamp\00" -@.str1093 = private unnamed_addr constant [4 x i8] c"abs\00" -@.str1094 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1095 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1096 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str1097 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1098 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1099 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1100 = private unnamed_addr constant [4 x i8] c"min\00" -@.str1101 = private unnamed_addr constant [4 x i8] c"max\00" -@.str1102 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1103 = private unnamed_addr constant [4 x i8] c"max\00" -@.str1104 = private unnamed_addr constant [4 x i8] c"sgt\00" -@.str1105 = private unnamed_addr constant [6 x i8] c"icmp \00" -@.str1106 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str1107 = private unnamed_addr constant [3 x i8] c", \00" -@.str1108 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1109 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1110 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1111 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1112 = private unnamed_addr constant [3 x i8] c", \00" -@.str1113 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1114 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1115 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1116 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str1117 = private unnamed_addr constant [3 x i8] c", \00" -@.str1118 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1119 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1120 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1121 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str1122 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1123 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str1124 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1125 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str1126 = private unnamed_addr constant [3 x i8] c", \00" -@.str1127 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" -@.str1128 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1129 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1130 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1131 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str1132 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1133 = private unnamed_addr constant [9 x i8] c"shl i64 \00" -@.str1134 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1135 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str1136 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1137 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" -@.str1138 = private unnamed_addr constant [3 x i8] c", \00" -@.str1139 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1140 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1141 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1142 = private unnamed_addr constant [3 x i8] c", \00" -@.str1143 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1144 = private unnamed_addr constant [3 x i8] c", \00" -@.str1145 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1146 = private unnamed_addr constant [3 x i8] c", \00" -@.str1147 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1148 = private unnamed_addr constant [3 x i8] c", \00" -@.str1149 = private unnamed_addr constant [4 x i8] c"min\00" -@.str1150 = private unnamed_addr constant [4 x i8] c"max\00" -@.str1151 = private unnamed_addr constant [4 x i8] c"abs\00" -@.str1152 = private unnamed_addr constant [6 x i8] c"clamp\00" -@.str1153 = private unnamed_addr constant [5 x i8] c"sign\00" -@.str1154 = private unnamed_addr constant [6 x i8] c"floor\00" -@.str1155 = private unnamed_addr constant [5 x i8] c"ceil\00" -@.str1156 = private unnamed_addr constant [6 x i8] c"round\00" -@.str1157 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str1158 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" -@.str1159 = private unnamed_addr constant [6 x i8] c"remap\00" -@.str1160 = private unnamed_addr constant [5 x i8] c"sqrt\00" -@.str1161 = private unnamed_addr constant [4 x i8] c"sin\00" -@.str1162 = private unnamed_addr constant [4 x i8] c"cos\00" -@.str1163 = private unnamed_addr constant [4 x i8] c"tan\00" -@.str1164 = private unnamed_addr constant [6 x i8] c"hypot\00" -@.str1165 = private unnamed_addr constant [6 x i8] c"atan2\00" -@.str1166 = private unnamed_addr constant [5 x i8] c"asin\00" -@.str1167 = private unnamed_addr constant [5 x i8] c"acos\00" -@.str1168 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" -@.str1169 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" -@.str1170 = private unnamed_addr constant [7 x i8] c"posmod\00" -@.str1171 = private unnamed_addr constant [5 x i8] c"wrap\00" -@.str1172 = private unnamed_addr constant [10 x i8] c"ping_pong\00" -@.str1173 = private unnamed_addr constant [8 x i8] c"snapped\00" -@.str1174 = private unnamed_addr constant [12 x i8] c"move_toward\00" -@.str1175 = private unnamed_addr constant [11 x i8] c"smoothstep\00" -@.str1176 = private unnamed_addr constant [5 x i8] c"dist\00" -@.str1177 = private unnamed_addr constant [6 x i8] c"dist2\00" -@.str1178 = private unnamed_addr constant [4 x i8] c"exp\00" -@.str1179 = private unnamed_addr constant [4 x i8] c"log\00" -@.str1180 = private unnamed_addr constant [4 x i8] c"pow\00" -@.str1181 = private unnamed_addr constant [4 x i8] c"min\00" -@.str1182 = private unnamed_addr constant [4 x i8] c"max\00" -@.str1183 = private unnamed_addr constant [4 x i8] c"abs\00" -@.str1184 = private unnamed_addr constant [6 x i8] c"clamp\00" -@.str1185 = private unnamed_addr constant [5 x i8] c"sign\00" -@.str1186 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str1187 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1188 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1189 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1190 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1191 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" -@.str1192 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1193 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" -@.str1194 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1195 = private unnamed_addr constant [6 x i8] c"floor\00" -@.str1196 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1197 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1198 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1199 = private unnamed_addr constant [5 x i8] c"ceil\00" -@.str1200 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1201 = private unnamed_addr constant [8 x i8] c", 65535\00" -@.str1202 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1203 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1204 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1205 = private unnamed_addr constant [6 x i8] c"round\00" -@.str1206 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1207 = private unnamed_addr constant [8 x i8] c", 32768\00" -@.str1208 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1209 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1210 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1211 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str1212 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1213 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" -@.str1214 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1215 = private unnamed_addr constant [5 x i8] c"sqrt\00" -@.str1216 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1217 = private unnamed_addr constant [2 x i8] c")\00" -@.str1218 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1219 = private unnamed_addr constant [4 x i8] c"sin\00" -@.str1220 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1221 = private unnamed_addr constant [2 x i8] c")\00" -@.str1222 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1223 = private unnamed_addr constant [4 x i8] c"cos\00" -@.str1224 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1225 = private unnamed_addr constant [9 x i8] c", 102944\00" -@.str1226 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1227 = private unnamed_addr constant [2 x i8] c")\00" -@.str1228 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1229 = private unnamed_addr constant [4 x i8] c"tan\00" -@.str1230 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1231 = private unnamed_addr constant [2 x i8] c")\00" -@.str1232 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1233 = private unnamed_addr constant [9 x i8] c", 102944\00" -@.str1234 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1235 = private unnamed_addr constant [2 x i8] c")\00" -@.str1236 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1237 = private unnamed_addr constant [6 x i8] c"atan2\00" -@.str1238 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" -@.str1239 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1240 = private unnamed_addr constant [2 x i8] c")\00" -@.str1241 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1242 = private unnamed_addr constant [5 x i8] c"asin\00" -@.str1243 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" -@.str1244 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1245 = private unnamed_addr constant [2 x i8] c")\00" -@.str1246 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" -@.str1247 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1248 = private unnamed_addr constant [2 x i8] c")\00" -@.str1249 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1250 = private unnamed_addr constant [5 x i8] c"acos\00" -@.str1251 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" -@.str1252 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1253 = private unnamed_addr constant [2 x i8] c")\00" -@.str1254 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" -@.str1255 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1256 = private unnamed_addr constant [2 x i8] c")\00" -@.str1257 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1258 = private unnamed_addr constant [6 x i8] c"hypot\00" -@.str1259 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str505 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str506 = private unnamed_addr constant [2 x i8] c"@\00" +@.str507 = private unnamed_addr constant [2 x i8] c"(\00" +@.str508 = private unnamed_addr constant [2 x i8] c"(\00" +@.str509 = private unnamed_addr constant [2 x i8] c")\00" +@.str510 = private unnamed_addr constant [6 x i8] c"phase\00" +@.str511 = private unnamed_addr constant [2 x i8] c"[\00" +@.str512 = private unnamed_addr constant [2 x i8] c"]\00" +@.str513 = private unnamed_addr constant [2 x i8] c"{\00" +@.str514 = private unnamed_addr constant [2 x i8] c"}\00" +@.str515 = private unnamed_addr constant [2 x i8] c",\00" +@.str516 = private unnamed_addr constant [2 x i8] c"]\00" +@.str517 = private unnamed_addr constant [6 x i8] c"where\00" +@.str518 = private unnamed_addr constant [2 x i8] c"(\00" +@.str519 = private unnamed_addr constant [2 x i8] c")\00" +@.str520 = private unnamed_addr constant [2 x i8] c",\00" +@.str521 = private unnamed_addr constant [2 x i8] c")\00" +@.str522 = private unnamed_addr constant [6 x i8] c"query\00" +@.str523 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" +@.str524 = private unnamed_addr constant [4 x i8] c"and\00" +@.str525 = private unnamed_addr constant [2 x i8] c"(\00" +@.str526 = private unnamed_addr constant [2 x i8] c")\00" +@.str527 = private unnamed_addr constant [2 x i8] c")\00" +@.str528 = private unnamed_addr constant [2 x i8] c":\00" +@.str529 = private unnamed_addr constant [6 x i8] c"these\00" +@.str530 = private unnamed_addr constant [2 x i8] c"[\00" +@.str531 = private unnamed_addr constant [2 x i8] c"]\00" +@.str532 = private unnamed_addr constant [2 x i8] c"{\00" +@.str533 = private unnamed_addr constant [2 x i8] c"}\00" +@.str534 = private unnamed_addr constant [2 x i8] c",\00" +@.str535 = private unnamed_addr constant [2 x i8] c"]\00" +@.str536 = private unnamed_addr constant [3 x i8] c"on\00" +@.str537 = private unnamed_addr constant [2 x i8] c",\00" +@.str538 = private unnamed_addr constant [2 x i8] c")\00" +@.str539 = private unnamed_addr constant [2 x i8] c"{\00" +@.str540 = private unnamed_addr constant [2 x i8] c"}\00" +@.str541 = private unnamed_addr constant [2 x i8] c"}\00" +@.str542 = private unnamed_addr constant [2 x i8] c",\00" +@.str543 = private unnamed_addr constant [2 x i8] c":\00" +@.str544 = private unnamed_addr constant [2 x i8] c"{\00" +@.str545 = private unnamed_addr constant [2 x i8] c"}\00" +@.str546 = private unnamed_addr constant [6 x i8] c"start\00" +@.str547 = private unnamed_addr constant [7 x i8] c"public\00" +@.str548 = private unnamed_addr constant [6 x i8] c"shows\00" +@.str549 = private unnamed_addr constant [6 x i8] c"lasts\00" +@.str550 = private unnamed_addr constant [6 x i8] c"loads\00" +@.str551 = private unnamed_addr constant [6 x i8] c"start\00" +@.str552 = private unnamed_addr constant [6 x i8] c"shows\00" +@.str553 = private unnamed_addr constant [6 x i8] c"lasts\00" +@.str554 = private unnamed_addr constant [5 x i8] c"then\00" +@.str555 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" +@.str556 = private unnamed_addr constant [6 x i8] c"loads\00" +@.str557 = private unnamed_addr constant [5 x i8] c"then\00" +@.str558 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" +@.str559 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str560 = private unnamed_addr constant [7 x i8] c"_enter\00" +@.str561 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str562 = private unnamed_addr constant [6 x i8] c"_exit\00" +@.str563 = private unnamed_addr constant [2 x i8] c"{\00" +@.str564 = private unnamed_addr constant [2 x i8] c"}\00" +@.str565 = private unnamed_addr constant [3 x i8] c"on\00" +@.str566 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str567 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str568 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" +@.str569 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str570 = private unnamed_addr constant [7 x i8] c"public\00" +@.str571 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str572 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str573 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str574 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str575 = private unnamed_addr constant [2 x i8] c"{\00" +@.str576 = private unnamed_addr constant [2 x i8] c"}\00" +@.str577 = private unnamed_addr constant [2 x i8] c"@\00" +@.str578 = private unnamed_addr constant [8 x i8] c"Queries\00" +@.str579 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" +@.str580 = private unnamed_addr constant [2 x i8] c")\00" +@.str581 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str582 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" +@.str583 = private unnamed_addr constant [2 x i8] c"_\00" +@.str584 = private unnamed_addr constant [2 x i8] c"}\00" +@.str585 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" +@.str586 = private unnamed_addr constant [2 x i8] c"}\00" +@.str587 = private unnamed_addr constant [8 x i8] c"_Loader\00" +@.str588 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str589 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str590 = private unnamed_addr constant [5 x i8] c"pump\00" +@.str591 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str592 = private unnamed_addr constant [6 x i8] c"ready\00" +@.str593 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" +@.str594 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str595 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" +@.str596 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str597 = private unnamed_addr constant [6 x i8] c"_left\00" +@.str598 = private unnamed_addr constant [4 x i8] c"int\00" +@.str599 = private unnamed_addr constant [2 x i8] c"=\00" +@.str600 = private unnamed_addr constant [7 x i8] c"_Timer\00" +@.str601 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str602 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str603 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str604 = private unnamed_addr constant [3 x i8] c"id\00" +@.str605 = private unnamed_addr constant [5 x i8] c"goto\00" +@.str606 = private unnamed_addr constant [3 x i8] c"==\00" +@.str607 = private unnamed_addr constant [3 x i8] c"id\00" +@.str608 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str609 = private unnamed_addr constant [10 x i8] c"UiClicked\00" +@.str610 = private unnamed_addr constant [2 x i8] c"{\00" +@.str611 = private unnamed_addr constant [2 x i8] c"}\00" +@.str612 = private unnamed_addr constant [2 x i8] c"(\00" +@.str613 = private unnamed_addr constant [2 x i8] c")\00" +@.str614 = private unnamed_addr constant [2 x i8] c",\00" +@.str615 = private unnamed_addr constant [2 x i8] c")\00" +@.str616 = private unnamed_addr constant [2 x i8] c",\00" +@.str617 = private unnamed_addr constant [2 x i8] c"}\00" +@.str618 = private unnamed_addr constant [2 x i8] c"{\00" +@.str619 = private unnamed_addr constant [2 x i8] c"}\00" +@.str620 = private unnamed_addr constant [2 x i8] c"@\00" +@.str621 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str622 = private unnamed_addr constant [2 x i8] c",\00" +@.str623 = private unnamed_addr constant [2 x i8] c"}\00" +@.str624 = private unnamed_addr constant [2 x i8] c"(\00" +@.str625 = private unnamed_addr constant [2 x i8] c")\00" +@.str626 = private unnamed_addr constant [2 x i8] c":\00" +@.str627 = private unnamed_addr constant [2 x i8] c",\00" +@.str628 = private unnamed_addr constant [2 x i8] c")\00" +@.str629 = private unnamed_addr constant [5 x i8] c"void\00" +@.str630 = private unnamed_addr constant [3 x i8] c"->\00" +@.str631 = private unnamed_addr constant [2 x i8] c"=\00" +@.str632 = private unnamed_addr constant [2 x i8] c":\00" +@.str633 = private unnamed_addr constant [2 x i8] c":\00" +@.str634 = private unnamed_addr constant [2 x i8] c"{\00" +@.str635 = private unnamed_addr constant [2 x i8] c"}\00" +@.str636 = private unnamed_addr constant [2 x i8] c"}\00" +@.str637 = private unnamed_addr constant [2 x i8] c"{\00" +@.str638 = private unnamed_addr constant [2 x i8] c"}\00" +@.str639 = private unnamed_addr constant [3 x i8] c" \00" +@.str640 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" +@.str641 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str642 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str643 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str644 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str645 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str646 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str647 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str648 = private unnamed_addr constant [3 x i8] c"%t\00" +@.str649 = private unnamed_addr constant [3 x i8] c" \00" +@.str650 = private unnamed_addr constant [11 x i8] c" = alloca \00" +@.str651 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str652 = private unnamed_addr constant [3 x i8] c"%t\00" +@.str653 = private unnamed_addr constant [4 x i8] c"int\00" +@.str654 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str655 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str656 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str657 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str658 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str659 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str660 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str661 = private unnamed_addr constant [5 x i8] c"long\00" +@.str662 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str663 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str664 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str665 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str666 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str667 = private unnamed_addr constant [5 x i8] c"Rect\00" +@.str668 = private unnamed_addr constant [5 x i8] c"i128\00" +@.str669 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str670 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str671 = private unnamed_addr constant [6 x i8] c"words\00" +@.str672 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str673 = private unnamed_addr constant [9 x i8] c"pointers\00" +@.str674 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str675 = private unnamed_addr constant [5 x i8] c"void\00" +@.str676 = private unnamed_addr constant [5 x i8] c"void\00" +@.str677 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str678 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" +@.str679 = private unnamed_addr constant [4 x i8] c"int\00" +@.str680 = private unnamed_addr constant [10 x i8] c"EndReason\00" +@.str681 = private unnamed_addr constant [10 x i8] c"Despawned\00" +@.str682 = private unnamed_addr constant [10 x i8] c"SceneExit\00" +@.str683 = private unnamed_addr constant [5 x i8] c"Quit\00" +@.str684 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str685 = private unnamed_addr constant [2 x i8] c".\00" +@.str686 = private unnamed_addr constant [2 x i8] c".\00" +@.str687 = private unnamed_addr constant [3 x i8] c"of\00" +@.str688 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str689 = private unnamed_addr constant [5 x i8] c"make\00" +@.str690 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str691 = private unnamed_addr constant [4 x i8] c"add\00" +@.str692 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str693 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str694 = private unnamed_addr constant [6 x i8] c"along\00" +@.str695 = private unnamed_addr constant [5 x i8] c"step\00" +@.str696 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str697 = private unnamed_addr constant [4 x i8] c"Map\00" +@.str698 = private unnamed_addr constant [12 x i8] c"random_cell\00" +@.str699 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" +@.str700 = private unnamed_addr constant [8 x i8] c"to_tile\00" +@.str701 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str702 = private unnamed_addr constant [9 x i8] c"Collider\00" +@.str703 = private unnamed_addr constant [7 x i8] c"center\00" +@.str704 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str705 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str706 = private unnamed_addr constant [7 x i8] c"move_i\00" +@.str707 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str708 = private unnamed_addr constant [2 x i8] c"_\00" +@.str709 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str710 = private unnamed_addr constant [4 x i8] c"int\00" +@.str711 = private unnamed_addr constant [7 x i8] c"reason\00" +@.str712 = private unnamed_addr constant [4 x i8] c"int\00" +@.str713 = private unnamed_addr constant [6 x i8] c"@.str\00" +@.str714 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" +@.str715 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" +@.str716 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" +@.str717 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str718 = private unnamed_addr constant [5 x i8] c"null\00" +@.str719 = private unnamed_addr constant [2 x i8] c"0\00" +@.str720 = private unnamed_addr constant [2 x i8] c"-\00" +@.str721 = private unnamed_addr constant [2 x i8] c"-\00" +@.str722 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str723 = private unnamed_addr constant [5 x i8] c"null\00" +@.str724 = private unnamed_addr constant [2 x i8] c"0\00" +@.str725 = private unnamed_addr constant [2 x i8] c"-\00" +@.str726 = private unnamed_addr constant [5 x i8] c"void\00" +@.str727 = private unnamed_addr constant [9 x i8] c" store \00" +@.str728 = private unnamed_addr constant [2 x i8] c" \00" +@.str729 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str730 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str731 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str732 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" +@.str733 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str734 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" +@.str735 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" +@.str736 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" +@.str737 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" +@.str738 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" +@.str739 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" +@.str740 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" +@.str741 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" +@.str742 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" +@.str743 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" +@.str744 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" +@.str745 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" +@.str746 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" +@.str747 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" +@.str748 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" +@.str749 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" +@.str750 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" +@.str751 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" +@.str752 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" +@.str753 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" +@.str754 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" +@.str755 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" +@.str756 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" +@.str757 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" +@.str758 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" +@.str759 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" +@.str760 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" +@.str761 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" +@.str762 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" +@.str763 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" +@.str764 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" +@.str765 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" +@.str766 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" +@.str767 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" +@.str768 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" +@.str769 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" +@.str770 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" +@.str771 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" +@.str772 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" +@.str773 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" +@.str774 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" +@.str775 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" +@.str776 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" +@.str777 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" +@.str778 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" +@.str779 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" +@.str780 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" +@.str781 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" +@.str782 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" +@.str783 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" +@.str784 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" +@.str785 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" +@.str786 = private unnamed_addr constant [64 x i8] c"@.fmt_int = private unnamed_addr constant [4 x i8] c\22%d\5C0A\5C00\22\0A\00" +@.str787 = private unnamed_addr constant [67 x i8] c"@.fmt_long = private unnamed_addr constant [6 x i8] c\22%lld\5C0A\5C00\22\0A\00" +@.str788 = private unnamed_addr constant [65 x i8] c"@.fmt_line = private unnamed_addr constant [4 x i8] c\22%s\5C0A\5C00\22\0A\00" +@.str789 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" +@.str790 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" +@.str791 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" +@.str792 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" +@.str793 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" +@.str794 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" +@.str795 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" +@.str796 = private unnamed_addr constant [10 x i8] c"property \00" +@.str797 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" +@.str798 = private unnamed_addr constant [10 x i8] c"property \00" +@.str799 = private unnamed_addr constant [19 x i8] c" is declared twice\00" +@.str800 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str801 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str802 = private unnamed_addr constant [3 x i8] c", \00" +@.str803 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str804 = private unnamed_addr constant [10 x i8] c"variable \00" +@.str805 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" +@.str806 = private unnamed_addr constant [10 x i8] c"variable \00" +@.str807 = private unnamed_addr constant [19 x i8] c" is declared twice\00" +@.str808 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str809 = private unnamed_addr constant [20 x i8] c" = internal global \00" +@.str810 = private unnamed_addr constant [2 x i8] c" \00" +@.str811 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str812 = private unnamed_addr constant [9 x i8] c"declare \00" +@.str813 = private unnamed_addr constant [3 x i8] c" @\00" +@.str814 = private unnamed_addr constant [2 x i8] c"(\00" +@.str815 = private unnamed_addr constant [3 x i8] c", \00" +@.str816 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str817 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00" +@.str818 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" +@.str819 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str820 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" +@.str821 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" +@.str822 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" +@.str823 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" +@.str824 = private unnamed_addr constant [70 x i8] c"chk:\0A %zt = icmp eq i8 %ca, 0\0A br i1 %zt, label %ret1, label %cont\0A\00" +@.str825 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str826 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" +@.str827 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00" +@.str828 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" +@.str829 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" +@.str830 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" +@.str831 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" +@.str832 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" +@.str833 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" +@.str834 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" +@.str835 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" +@.str836 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" +@.str837 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" +@.str838 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" +@.str839 = private unnamed_addr constant [83 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %c1\0A\00" +@.str840 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" +@.str841 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" +@.str842 = private unnamed_addr constant [81 x i8] c"c1b:\0A %s1 = getelementptr inbounds i8, ptr %a, i32 %i\0A %v1 = load i8, ptr %s1\0A\00" +@.str843 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" +@.str844 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" +@.str845 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" +@.str846 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" +@.str847 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" +@.str848 = private unnamed_addr constant [81 x i8] c"c2b:\0A %s2 = getelementptr inbounds i8, ptr %b, i32 %j\0A %v2 = load i8, ptr %s2\0A\00" +@.str849 = private unnamed_addr constant [102 x i8] c" %oj = add i32 %ia, %j\0A %o2 = getelementptr inbounds i8, ptr %out, i32 %oj\0A store i8 %v2, ptr %o2\0A\00" +@.str850 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" +@.str851 = private unnamed_addr constant [99 x i8] c"fin:\0A %pe = getelementptr inbounds i8, ptr %out, i32 %sum\0A store i8 0, ptr %pe\0A ret ptr %out\0A}\0A\00" +@.str852 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00" +@.str853 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" +@.str854 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" +@.str855 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" +@.str856 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" +@.str857 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" +@.str858 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00" +@.str859 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" +@.str860 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ]\0A\00" +@.str861 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" +@.str862 = private unnamed_addr constant [85 x i8] c"dbody:\0A %d = urem i32 %cur, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" +@.str863 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" +@.str864 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i32 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00" +@.str865 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" +@.str866 = private unnamed_addr constant [128 x i8] c"addneg:\0A %sp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 45, ptr %sp\0A %posn = sub i32 %pos, 1\0A br label %fin\0A\00" +@.str867 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" +@.str868 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00" +@.str869 = private unnamed_addr constant [36 x i8] c"define ptr @fn_long_str(i64 %n0) {\0A\00" +@.str870 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" +@.str871 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" +@.str872 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" +@.str873 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" +@.str874 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" +@.str875 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00" +@.str876 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" +@.str877 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i64 [ %n, %dl ], [ %cur2, %dbody ]\0A\00" +@.str878 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" +@.str879 = private unnamed_addr constant [116 x i8] c"dbody:\0A %d = urem i64 %cur, 10\0A %d32 = trunc i64 %d to i32\0A %ch = add i32 %d32, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" +@.str880 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" +@.str881 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i64 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00" +@.str882 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" +@.str883 = private unnamed_addr constant [128 x i8] c"addneg:\0A %sp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 45, ptr %sp\0A %posn = sub i32 %pos, 1\0A br label %fin\0A\00" +@.str884 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" +@.str885 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00" +@.str886 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" +@.str887 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" +@.str888 = private unnamed_addr constant [85 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %loop\0A\00" +@.str889 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" +@.str890 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" +@.str891 = private unnamed_addr constant [109 x i8] c"body:\0A %si = add i32 %start, %i\0A %sp = getelementptr inbounds i8, ptr %s, i32 %si\0A %c = load i8, ptr %sp\0A\00" +@.str892 = private unnamed_addr constant [115 x i8] c" %op = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %c, ptr %op\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str893 = private unnamed_addr constant [99 x i8] c"fin:\0A %tp = getelementptr inbounds i8, ptr %out, i32 %len\0A store i8 0, ptr %tp\0A ret ptr %out\0A}\0A\00" +@.str894 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" +@.str895 = private unnamed_addr constant [15 x i8] c"no such field \00" +@.str896 = private unnamed_addr constant [3 x i8] c" \00" +@.str897 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str898 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str899 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str900 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str901 = private unnamed_addr constant [6 x i8] c"words\00" +@.str902 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" +@.str903 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str904 = private unnamed_addr constant [4 x i8] c"int\00" +@.str905 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str906 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" +@.str907 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str908 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str909 = private unnamed_addr constant [9 x i8] c"pointers\00" +@.str910 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" +@.str911 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str912 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str913 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str914 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str915 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str916 = private unnamed_addr constant [3 x i8] c" \00" +@.str917 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str918 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" +@.str919 = private unnamed_addr constant [3 x i8] c" \00" +@.str920 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" +@.str921 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str922 = private unnamed_addr constant [3 x i8] c" \00" +@.str923 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str924 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str925 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str926 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str927 = private unnamed_addr constant [7 x i8] c"resize\00" +@.str928 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str929 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str930 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str931 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str932 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str933 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str934 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str935 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str936 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str937 = private unnamed_addr constant [12 x i8] c"file_stderr\00" +@.str938 = private unnamed_addr constant [12 x i8] c"file_stdout\00" +@.str939 = private unnamed_addr constant [4 x i8] c"run\00" +@.str940 = private unnamed_addr constant [7 x i8] c"getenv\00" +@.str941 = private unnamed_addr constant [14 x i8] c"world_despawn\00" +@.str942 = private unnamed_addr constant [3 x i8] c" \00" +@.str943 = private unnamed_addr constant [4 x i8] c" = \00" +@.str944 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str945 = private unnamed_addr constant [7 x i8] c"resize\00" +@.str946 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str947 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str948 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str949 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str950 = private unnamed_addr constant [2 x i8] c")\00" +@.str951 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str952 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str953 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00" +@.str954 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str955 = private unnamed_addr constant [2 x i8] c")\00" +@.str956 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str957 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str958 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str959 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str960 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str961 = private unnamed_addr constant [7 x i8] c"@fread\00" +@.str962 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str963 = private unnamed_addr constant [8 x i8] c"@fwrite\00" +@.str964 = private unnamed_addr constant [10 x i8] c"call i64 \00" +@.str965 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str966 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str967 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str968 = private unnamed_addr constant [2 x i8] c")\00" +@.str969 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str970 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str971 = private unnamed_addr constant [4 x i8] c"int\00" +@.str972 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str973 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str974 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str975 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" +@.str976 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str977 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str978 = private unnamed_addr constant [2 x i8] c")\00" +@.str979 = private unnamed_addr constant [4 x i8] c"int\00" +@.str980 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str981 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" +@.str982 = private unnamed_addr constant [2 x i8] c")\00" +@.str983 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str984 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str985 = private unnamed_addr constant [4 x i8] c"int\00" +@.str986 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str987 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" +@.str988 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str989 = private unnamed_addr constant [2 x i8] c"0\00" +@.str990 = private unnamed_addr constant [5 x i8] c"void\00" +@.str991 = private unnamed_addr constant [14 x i8] c"world_despawn\00" +@.str992 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" +@.str993 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str994 = private unnamed_addr constant [2 x i8] c"0\00" +@.str995 = private unnamed_addr constant [5 x i8] c"void\00" +@.str996 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str997 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" +@.str998 = private unnamed_addr constant [4 x i8] c"int\00" +@.str999 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str1000 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" +@.str1001 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" +@.str1002 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1003 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str1004 = private unnamed_addr constant [7 x i8] c"string\00" +@.str1005 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str1006 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" +@.str1007 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1008 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" +@.str1009 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1010 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1011 = private unnamed_addr constant [12 x i8] c"file_stderr\00" +@.str1012 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" +@.str1013 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1014 = private unnamed_addr constant [12 x i8] c"file_stdout\00" +@.str1015 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" +@.str1016 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1017 = private unnamed_addr constant [4 x i8] c"run\00" +@.str1018 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" +@.str1019 = private unnamed_addr constant [2 x i8] c")\00" +@.str1020 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1021 = private unnamed_addr constant [7 x i8] c"getenv\00" +@.str1022 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str1023 = private unnamed_addr constant [2 x i8] c")\00" +@.str1024 = private unnamed_addr constant [7 x i8] c"string\00" +@.str1025 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1026 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1027 = private unnamed_addr constant [5 x i8] c"free\00" +@.str1028 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str1029 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str1030 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str1031 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str1032 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str1033 = private unnamed_addr constant [12 x i8] c"is_windowed\00" +@.str1034 = private unnamed_addr constant [11 x i8] c"game_title\00" +@.str1035 = private unnamed_addr constant [9 x i8] c"win_open\00" +@.str1036 = private unnamed_addr constant [9 x i8] c"win_poll\00" +@.str1037 = private unnamed_addr constant [12 x i8] c"win_present\00" +@.str1038 = private unnamed_addr constant [12 x i8] c"win_running\00" +@.str1039 = private unnamed_addr constant [10 x i8] c"win_close\00" +@.str1040 = private unnamed_addr constant [9 x i8] c"win_held\00" +@.str1041 = private unnamed_addr constant [10 x i8] c"win_mouse\00" +@.str1042 = private unnamed_addr constant [8 x i8] c"win_pad\00" +@.str1043 = private unnamed_addr constant [10 x i8] c"win_touch\00" +@.str1044 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" +@.str1045 = private unnamed_addr constant [9 x i8] c"snd_load\00" +@.str1046 = private unnamed_addr constant [9 x i8] c"snd_play\00" +@.str1047 = private unnamed_addr constant [9 x i8] c"snd_stop\00" +@.str1048 = private unnamed_addr constant [12 x i8] c"snd_playing\00" +@.str1049 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" +@.str1050 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" +@.str1051 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" +@.str1052 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" +@.str1053 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" +@.str1054 = private unnamed_addr constant [8 x i8] c"hs_send\00" +@.str1055 = private unnamed_addr constant [8 x i8] c"hs_done\00" +@.str1056 = private unnamed_addr constant [10 x i8] c"hs_status\00" +@.str1057 = private unnamed_addr constant [8 x i8] c"hs_body\00" +@.str1058 = private unnamed_addr constant [8 x i8] c"hs_blen\00" +@.str1059 = private unnamed_addr constant [10 x i8] c"hs_header\00" +@.str1060 = private unnamed_addr constant [8 x i8] c"hs_free\00" +@.str1061 = private unnamed_addr constant [5 x i8] c"free\00" +@.str1062 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" +@.str1063 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1064 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1065 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1066 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str1067 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1068 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1069 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" +@.str1070 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1071 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1072 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1073 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1074 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1075 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str1076 = private unnamed_addr constant [3 x i8] c" \00" +@.str1077 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str1078 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1079 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1080 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1081 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str1082 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" +@.str1083 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1084 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str1085 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1086 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str1087 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1088 = private unnamed_addr constant [12 x i8] c"is_windowed\00" +@.str1089 = private unnamed_addr constant [2 x i8] c"1\00" +@.str1090 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1091 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1092 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1093 = private unnamed_addr constant [11 x i8] c"game_title\00" +@.str1094 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" +@.str1095 = private unnamed_addr constant [7 x i8] c"string\00" +@.str1096 = private unnamed_addr constant [9 x i8] c"win_poll\00" +@.str1097 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" +@.str1098 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1099 = private unnamed_addr constant [12 x i8] c"win_running\00" +@.str1100 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" +@.str1101 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1102 = private unnamed_addr constant [9 x i8] c"win_open\00" +@.str1103 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" +@.str1104 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1105 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1106 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1107 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1108 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1109 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1110 = private unnamed_addr constant [12 x i8] c"win_present\00" +@.str1111 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" +@.str1112 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1113 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1114 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1115 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1116 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1117 = private unnamed_addr constant [10 x i8] c"win_close\00" +@.str1118 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" +@.str1119 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1120 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1121 = private unnamed_addr constant [9 x i8] c"win_held\00" +@.str1122 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" +@.str1123 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1124 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1125 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1126 = private unnamed_addr constant [10 x i8] c"win_mouse\00" +@.str1127 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" +@.str1128 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1129 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1130 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1131 = private unnamed_addr constant [8 x i8] c"win_pad\00" +@.str1132 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" +@.str1133 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1134 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1135 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1136 = private unnamed_addr constant [10 x i8] c"win_touch\00" +@.str1137 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" +@.str1138 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1139 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1140 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1141 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" +@.str1142 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" +@.str1143 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1144 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1145 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1146 = private unnamed_addr constant [9 x i8] c"snd_load\00" +@.str1147 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" +@.str1148 = private unnamed_addr constant [2 x i8] c")\00" +@.str1149 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1150 = private unnamed_addr constant [9 x i8] c"snd_play\00" +@.str1151 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" +@.str1152 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1153 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1154 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1155 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1156 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1157 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1158 = private unnamed_addr constant [9 x i8] c"snd_stop\00" +@.str1159 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" +@.str1160 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1161 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1162 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1163 = private unnamed_addr constant [12 x i8] c"snd_playing\00" +@.str1164 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" +@.str1165 = private unnamed_addr constant [2 x i8] c")\00" +@.str1166 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1167 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" +@.str1168 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" +@.str1169 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1170 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1171 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1172 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1173 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" +@.str1174 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" +@.str1175 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1176 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1177 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1178 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1179 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" +@.str1180 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" +@.str1181 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1182 = private unnamed_addr constant [2 x i8] c")\00" +@.str1183 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1184 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" +@.str1185 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" +@.str1186 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1187 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1188 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1189 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1190 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1191 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" +@.str1192 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" +@.str1193 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1194 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1195 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1196 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1197 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1198 = private unnamed_addr constant [8 x i8] c"hs_send\00" +@.str1199 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" +@.str1200 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1201 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1202 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1203 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1204 = private unnamed_addr constant [8 x i8] c"hs_done\00" +@.str1205 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" +@.str1206 = private unnamed_addr constant [2 x i8] c")\00" +@.str1207 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1208 = private unnamed_addr constant [10 x i8] c"hs_status\00" +@.str1209 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" +@.str1210 = private unnamed_addr constant [2 x i8] c")\00" +@.str1211 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1212 = private unnamed_addr constant [8 x i8] c"hs_body\00" +@.str1213 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" +@.str1214 = private unnamed_addr constant [2 x i8] c")\00" +@.str1215 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1216 = private unnamed_addr constant [8 x i8] c"hs_blen\00" +@.str1217 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" +@.str1218 = private unnamed_addr constant [2 x i8] c")\00" +@.str1219 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1220 = private unnamed_addr constant [10 x i8] c"hs_header\00" +@.str1221 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" +@.str1222 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1223 = private unnamed_addr constant [2 x i8] c")\00" +@.str1224 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1225 = private unnamed_addr constant [8 x i8] c"hs_free\00" +@.str1226 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" +@.str1227 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1228 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1229 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1230 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1231 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1232 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1233 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1234 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1235 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str1236 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1237 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1238 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1239 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1240 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1241 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1242 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1243 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1244 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1245 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1246 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1247 = private unnamed_addr constant [4 x i8] c"sgt\00" +@.str1248 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str1249 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1250 = private unnamed_addr constant [3 x i8] c", \00" +@.str1251 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1252 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1253 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1254 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1255 = private unnamed_addr constant [3 x i8] c", \00" +@.str1256 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1257 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1258 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1259 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str1260 = private unnamed_addr constant [3 x i8] c", \00" -@.str1261 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1262 = private unnamed_addr constant [2 x i8] c")\00" -@.str1263 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1264 = private unnamed_addr constant [6 x i8] c"dist2\00" -@.str1265 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1266 = private unnamed_addr constant [3 x i8] c", \00" -@.str1267 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1268 = private unnamed_addr constant [3 x i8] c", \00" -@.str1269 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1270 = private unnamed_addr constant [3 x i8] c", \00" -@.str1271 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1272 = private unnamed_addr constant [5 x i8] c"dist\00" -@.str1273 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1274 = private unnamed_addr constant [3 x i8] c", \00" -@.str1275 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1276 = private unnamed_addr constant [3 x i8] c", \00" -@.str1277 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1278 = private unnamed_addr constant [3 x i8] c", \00" -@.str1279 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1280 = private unnamed_addr constant [2 x i8] c")\00" -@.str1281 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1282 = private unnamed_addr constant [4 x i8] c"exp\00" -@.str1283 = private unnamed_addr constant [6 x i8] c"94548\00" -@.str1284 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00" -@.str1285 = private unnamed_addr constant [2 x i8] c")\00" -@.str1286 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1287 = private unnamed_addr constant [4 x i8] c"log\00" -@.str1288 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00" -@.str1289 = private unnamed_addr constant [2 x i8] c")\00" -@.str1290 = private unnamed_addr constant [6 x i8] c"45426\00" -@.str1291 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1292 = private unnamed_addr constant [4 x i8] c"pow\00" -@.str1293 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00" -@.str1294 = private unnamed_addr constant [2 x i8] c")\00" -@.str1295 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00" -@.str1296 = private unnamed_addr constant [2 x i8] c")\00" -@.str1297 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1298 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" -@.str1299 = private unnamed_addr constant [5 x i8] c"1144\00" -@.str1300 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1301 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" -@.str1302 = private unnamed_addr constant [8 x i8] c"3754936\00" -@.str1303 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1304 = private unnamed_addr constant [7 x i8] c"posmod\00" -@.str1305 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str1306 = private unnamed_addr constant [3 x i8] c", \00" -@.str1307 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1308 = private unnamed_addr constant [3 x i8] c", \00" -@.str1309 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str1310 = private unnamed_addr constant [3 x i8] c", \00" -@.str1311 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1312 = private unnamed_addr constant [5 x i8] c"wrap\00" -@.str1313 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1314 = private unnamed_addr constant [3 x i8] c", \00" -@.str1315 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1316 = private unnamed_addr constant [3 x i8] c", \00" -@.str1317 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str1318 = private unnamed_addr constant [3 x i8] c", \00" -@.str1319 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1320 = private unnamed_addr constant [3 x i8] c", \00" -@.str1321 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str1322 = private unnamed_addr constant [3 x i8] c", \00" -@.str1323 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1324 = private unnamed_addr constant [3 x i8] c", \00" -@.str1325 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1326 = private unnamed_addr constant [10 x i8] c"ping_pong\00" -@.str1327 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1328 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str1329 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str1330 = private unnamed_addr constant [3 x i8] c", \00" -@.str1331 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1332 = private unnamed_addr constant [3 x i8] c", \00" -@.str1333 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str1334 = private unnamed_addr constant [3 x i8] c", \00" -@.str1335 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1336 = private unnamed_addr constant [3 x i8] c", \00" -@.str1337 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str1338 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1339 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1340 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1341 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1342 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1343 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1344 = private unnamed_addr constant [3 x i8] c", \00" -@.str1345 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1346 = private unnamed_addr constant [8 x i8] c"snapped\00" -@.str1347 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1348 = private unnamed_addr constant [8 x i8] c", 32768\00" -@.str1349 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1350 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1351 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1352 = private unnamed_addr constant [3 x i8] c", \00" -@.str1353 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1354 = private unnamed_addr constant [12 x i8] c"move_toward\00" -@.str1355 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1356 = private unnamed_addr constant [3 x i8] c", \00" -@.str1357 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str1358 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1359 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1360 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1361 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1362 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1363 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str1364 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1365 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1366 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1367 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1368 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" -@.str1369 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1370 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" -@.str1371 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1372 = private unnamed_addr constant [3 x i8] c", \00" -@.str1373 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1374 = private unnamed_addr constant [3 x i8] c", \00" -@.str1375 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" -@.str1376 = private unnamed_addr constant [3 x i8] c", \00" -@.str1377 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1378 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1379 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1380 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1381 = private unnamed_addr constant [11 x i8] c"smoothstep\00" -@.str1382 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1383 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1384 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1385 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str1386 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str1387 = private unnamed_addr constant [8 x i8] c", 65536\00" -@.str1388 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1389 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" -@.str1390 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1391 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str1392 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" -@.str1393 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1394 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1395 = private unnamed_addr constant [2968 x i8] c"@L_sin_tab = private unnamed_addr constant [256 x i32] [i32 0, i32 1608, i32 3216, i32 4821, i32 6424, i32 8022, i32 9616, i32 11204, i32 12785, i32 14359, i32 15924, i32 17479, i32 19024, i32 20557, i32 22078, i32 23586, i32 25080, i32 26558, i32 28020, i32 29466, i32 30893, i32 32303, i32 33692, i32 35062, i32 36410, i32 37736, i32 39040, i32 40320, i32 41576, i32 42806, i32 44011, i32 45190, i32 46341, i32 47464, i32 48559, i32 49624, i32 50660, i32 51665, i32 52639, i32 53581, i32 54491, i32 55368, i32 56212, i32 57022, i32 57798, i32 58538, i32 59244, i32 59914, i32 60547, i32 61145, i32 61705, i32 62228, i32 62714, i32 63162, i32 63572, i32 63944, i32 64277, i32 64571, i32 64827, i32 65043, i32 65220, i32 65358, i32 65457, i32 65516, i32 65536, i32 65516, i32 65457, i32 65358, i32 65220, i32 65043, i32 64827, i32 64571, i32 64277, i32 63944, i32 63572, i32 63162, i32 62714, i32 62228, i32 61705, i32 61145, i32 60547, i32 59914, i32 59244, i32 58538, i32 57798, i32 57022, i32 56212, i32 55368, i32 54491, i32 53581, i32 52639, i32 51665, i32 50660, i32 49624, i32 48559, i32 47464, i32 46341, i32 45190, i32 44011, i32 42806, i32 41576, i32 40320, i32 39040, i32 37736, i32 36410, i32 35062, i32 33692, i32 32303, i32 30893, i32 29466, i32 28020, i32 26558, i32 25080, i32 23586, i32 22078, i32 20557, i32 19024, i32 17479, i32 15924, i32 14359, i32 12785, i32 11204, i32 9616, i32 8022, i32 6424, i32 4821, i32 3216, i32 1608, i32 0, i32 -1608, i32 -3216, i32 -4821, i32 -6424, i32 -8022, i32 -9616, i32 -11204, i32 -12785, i32 -14359, i32 -15924, i32 -17479, i32 -19024, i32 -20557, i32 -22078, i32 -23586, i32 -25080, i32 -26558, i32 -28020, i32 -29466, i32 -30893, i32 -32303, i32 -33692, i32 -35062, i32 -36410, i32 -37736, i32 -39040, i32 -40320, i32 -41576, i32 -42806, i32 -44011, i32 -45190, i32 -46341, i32 -47464, i32 -48559, i32 -49624, i32 -50660, i32 -51665, i32 -52639, i32 -53581, i32 -54491, i32 -55368, i32 -56212, i32 -57022, i32 -57798, i32 -58538, i32 -59244, i32 -59914, i32 -60547, i32 -61145, i32 -61705, i32 -62228, i32 -62714, i32 -63162, i32 -63572, i32 -63944, i32 -64277, i32 -64571, i32 -64827, i32 -65043, i32 -65220, i32 -65358, i32 -65457, i32 -65516, i32 -65536, i32 -65516, i32 -65457, i32 -65358, i32 -65220, i32 -65043, i32 -64827, i32 -64571, i32 -64277, i32 -63944, i32 -63572, i32 -63162, i32 -62714, i32 -62228, i32 -61705, i32 -61145, i32 -60547, i32 -59914, i32 -59244, i32 -58538, i32 -57798, i32 -57022, i32 -56212, i32 -55368, i32 -54491, i32 -53581, i32 -52639, i32 -51665, i32 -50660, i32 -49624, i32 -48559, i32 -47464, i32 -46341, i32 -45190, i32 -44011, i32 -42806, i32 -41576, i32 -40320, i32 -39040, i32 -37736, i32 -36410, i32 -35062, i32 -33692, i32 -32303, i32 -30893, i32 -29466, i32 -28020, i32 -26558, i32 -25080, i32 -23586, i32 -22078, i32 -20557, i32 -19024, i32 -17479, i32 -15924, i32 -14359, i32 -12785, i32 -11204, i32 -9616, i32 -8022, i32 -6424, i32 -4821, i32 -3216, i32 -1608]\0A\00" -@.str1396 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_sqrt(i32 %x) {\0A\00" -@.str1397 = private unnamed_addr constant [73 x i8] c"entry:\0A %neg = icmp slt i32 %x, 0\0A br i1 %neg, label %ret0, label %go\0A\00" -@.str1398 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" -@.str1399 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" -@.str1400 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" -@.str1401 = private unnamed_addr constant [106 x i8] c" store i64 %n0, ptr %np\0A store i64 0, ptr %rp\0A store i64 4611686018427387904, ptr %bp\0A br label %adj\0A\00" -@.str1402 = private unnamed_addr constant [126 x i8] c"adj:\0A %b1 = load i64, ptr %bp\0A %n1 = load i64, ptr %np\0A %tb = icmp ugt i64 %b1, %n1\0A br i1 %tb, label %adjb, label %loop\0A\00" -@.str1403 = private unnamed_addr constant [72 x i8] c"adjb:\0A %b2 = lshr i64 %b1, 2\0A store i64 %b2, ptr %bp\0A br label %adj\0A\00" -@.str1404 = private unnamed_addr constant [98 x i8] c"loop:\0A %b3 = load i64, ptr %bp\0A %bz = icmp eq i64 %b3, 0\0A br i1 %bz, label %done, label %body\0A\00" -@.str1405 = private unnamed_addr constant [152 x i8] c"body:\0A %r1 = load i64, ptr %rp\0A %n2 = load i64, ptr %np\0A %rb = add i64 %r1, %b3\0A %ge = icmp uge i64 %n2, %rb\0A br i1 %ge, label %sub, label %shift\0A\00" -@.str1406 = private unnamed_addr constant [153 x i8] c"sub:\0A %n3 = sub i64 %n2, %rb\0A store i64 %n3, ptr %np\0A %rsh = lshr i64 %r1, 1\0A %rnew = add i64 %rsh, %b3\0A store i64 %rnew, ptr %rp\0A br label %next\0A\00" -@.str1407 = private unnamed_addr constant [78 x i8] c"shift:\0A %rsh2 = lshr i64 %r1, 1\0A store i64 %rsh2, ptr %rp\0A br label %next\0A\00" -@.str1408 = private unnamed_addr constant [73 x i8] c"next:\0A %b4 = lshr i64 %b3, 2\0A store i64 %b4, ptr %bp\0A br label %loop\0A\00" -@.str1409 = private unnamed_addr constant [80 x i8] c"done:\0A %rf = load i64, ptr %rp\0A %r32 = trunc i64 %rf to i32\0A ret i32 %r32\0A}\0A\00" -@.str1410 = private unnamed_addr constant [33 x i8] c"define i32 @fn_fx_sin(i32 %x) {\0A\00" -@.str1411 = private unnamed_addr constant [82 x i8] c" %xe = sext i32 %x to i64\0A %m = mul i64 %xe, 2670177\0A %idxf = ashr i64 %m, 16\0A\00" -@.str1412 = private unnamed_addr constant [85 x i8] c" %i0 = ashr i64 %idxf, 16\0A %i0m = and i64 %i0, 255\0A %frac = and i64 %idxf, 65535\0A\00" -@.str1413 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" -@.str1414 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i0m\0A %v0 = load i32, ptr %p0\0A\00" -@.str1415 = private unnamed_addr constant [94 x i8] c" %p1 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i1m\0A %v1 = load i32, ptr %p1\0A\00" -@.str1416 = private unnamed_addr constant [184 x i8] c" %d = sub i32 %v1, %v0\0A %de = sext i32 %d to i64\0A %dm = mul i64 %de, %frac\0A %dsh = ashr i64 %dm, 16\0A %dsh32 = trunc i64 %dsh to i32\0A %res = add i32 %v0, %dsh32\0A ret i32 %res\0A}\0A\00" -@.str1417 = private unnamed_addr constant [43 x i8] c"define i32 @fn_fx_atan2(i32 %y, i32 %x) {\0A\00" -@.str1418 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str1419 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" -@.str1420 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" -@.str1421 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" -@.str1422 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" -@.str1423 = private unnamed_addr constant [4 x i8] c"z:\0A\00" -@.str1424 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" -@.str1425 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str1426 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" -@.str1427 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" -@.str1428 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" -@.str1429 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" -@.str1430 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" -@.str1431 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" -@.str1432 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" -@.str1433 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" -@.str1434 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" -@.str1435 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" -@.str1436 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" -@.str1437 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" -@.str1438 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" -@.str1439 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" -@.str1440 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" -@.str1441 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" -@.str1442 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" -@.str1443 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" -@.str1444 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" -@.str1445 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" -@.str1446 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" -@.str1447 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" -@.str1448 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" -@.str1449 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" -@.str1450 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" -@.str1451 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" -@.str1452 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" -@.str1453 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" -@.str1454 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" -@.str1455 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" -@.str1456 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" -@.str1457 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" -@.str1458 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" -@.str1459 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" -@.str1460 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" -@.str1461 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" -@.str1462 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" -@.str1463 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" -@.str1464 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" -@.str1465 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" -@.str1466 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" -@.str1467 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" -@.str1468 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" -@.str1469 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" -@.str1470 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" -@.str1471 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" -@.str1472 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str1473 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_exp2(i32 %x) {\0A\00" -@.str1474 = private unnamed_addr constant [76 x i8] c" %i = ashr i32 %x, 16\0A %f = and i32 %x, 65535\0A %fe = sext i32 %f to i64\0A\00" -@.str1475 = private unnamed_addr constant [75 x i8] c" %m5 = mul i64 %fe, 87\0A %s5 = ashr i64 %m5, 16\0A %p5 = add i64 %s5, 630\0A\00" -@.str1476 = private unnamed_addr constant [77 x i8] c" %m4 = mul i64 %fe, %p5\0A %s4 = ashr i64 %m4, 16\0A %p4 = add i64 %s4, 3638\0A\00" -@.str1477 = private unnamed_addr constant [78 x i8] c" %m3 = mul i64 %fe, %p4\0A %s3 = ashr i64 %m3, 16\0A %p3 = add i64 %s3, 15744\0A\00" -@.str1478 = private unnamed_addr constant [78 x i8] c" %m2 = mul i64 %fe, %p3\0A %s2 = ashr i64 %m2, 16\0A %p2 = add i64 %s2, 45426\0A\00" -@.str1479 = private unnamed_addr constant [78 x i8] c" %m1 = mul i64 %fe, %p2\0A %s1 = ashr i64 %m1, 16\0A %p1 = add i64 %s1, 65536\0A\00" -@.str1480 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" -@.str1481 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" -@.str1482 = private unnamed_addr constant [115 x i8] c" %sa0 = select i1 %ipos, i32 %i, i32 0\0A %sahi = icmp sgt i32 %sa0, 30\0A %sa = select i1 %sahi, i32 30, i32 %sa0\0A\00" -@.str1483 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" -@.str1484 = private unnamed_addr constant [138 x i8] c" %ni = sub i32 0, %i\0A %ra0 = select i1 %ipos, i32 0, i32 %ni\0A %rahi = icmp sgt i32 %ra0, 31\0A %ra = select i1 %rahi, i32 31, i32 %ra0\0A\00" -@.str1485 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" -@.str1486 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" -@.str1487 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" -@.str1488 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_log2(i32 %x) {\0A\00" -@.str1489 = private unnamed_addr constant [72 x i8] c"entry:\0A %pos = icmp sgt i32 %x, 0\0A br i1 %pos, label %go, label %neg\0A\00" -@.str1490 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" -@.str1491 = private unnamed_addr constant [80 x i8] c"go:\0A %lz = call i32 @llvm.ctlz.i32(i32 %x, i1 true)\0A %pmsb = sub i32 31, %lz\0A\00" -@.str1492 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" -@.str1493 = private unnamed_addr constant [82 x i8] c" %sh = sub i32 16, %pmsb\0A %shpos = icmp sge i32 %sh, 0\0A %nsh = sub i32 0, %sh\0A\00" -@.str1494 = private unnamed_addr constant [93 x i8] c" %mL = shl i32 %x, %sh\0A %mR = ashr i32 %x, %nsh\0A %m = select i1 %shpos, i32 %mL, i32 %mR\0A\00" -@.str1495 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" -@.str1496 = private unnamed_addr constant [147 x i8] c" %n64 = sext i32 %num to i64\0A %nshl = shl i64 %n64, 16\0A %d64 = sext i32 %den to i64\0A %rdv = sdiv i64 %nshl, %d64\0A %r = trunc i64 %rdv to i32\0A\00" -@.str1497 = private unnamed_addr constant [78 x i8] c" %re = sext i32 %r to i64\0A %rr = mul i64 %re, %re\0A %r2 = ashr i64 %rr, 16\0A\00" -@.str1498 = private unnamed_addr constant [81 x i8] c" %c3 = mul i64 %r2, 9362\0A %c3s = ashr i64 %c3, 16\0A %q3 = add i64 %c3s, 13107\0A\00" -@.str1499 = private unnamed_addr constant [80 x i8] c" %c2 = mul i64 %r2, %q3\0A %c2s = ashr i64 %c2, 16\0A %q2 = add i64 %c2s, 21845\0A\00" -@.str1500 = private unnamed_addr constant [80 x i8] c" %c1 = mul i64 %r2, %q2\0A %c1s = ashr i64 %c1, 16\0A %q1 = add i64 %c1s, 65536\0A\00" -@.str1501 = private unnamed_addr constant [77 x i8] c" %rp = mul i64 %re, %q1\0A %rps = ashr i64 %rp, 16\0A %lnm = shl i64 %rps, 1\0A\00" -@.str1502 = private unnamed_addr constant [86 x i8] c" %lm = mul i64 %lnm, 94548\0A %lms = ashr i64 %lm, 16\0A %l2m = trunc i64 %lms to i32\0A\00" -@.str1503 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" -@.str1504 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str1505 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1506 = private unnamed_addr constant [9 x i8] c"shl i64 \00" -@.str1507 = private unnamed_addr constant [5 x i8] c", 32\00" -@.str1508 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1509 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1510 = private unnamed_addr constant [8 x i8] c"or i64 \00" -@.str1511 = private unnamed_addr constant [3 x i8] c", \00" -@.str1512 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" -@.str1513 = private unnamed_addr constant [5 x i8] c", 32\00" -@.str1514 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1515 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1516 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1517 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1518 = private unnamed_addr constant [5 x i8] c"make\00" -@.str1519 = private unnamed_addr constant [5 x i8] c"zero\00" -@.str1520 = private unnamed_addr constant [2 x i8] c"x\00" -@.str1521 = private unnamed_addr constant [2 x i8] c"y\00" -@.str1522 = private unnamed_addr constant [4 x i8] c"add\00" -@.str1523 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str1524 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str1525 = private unnamed_addr constant [4 x i8] c"dot\00" -@.str1526 = private unnamed_addr constant [7 x i8] c"length\00" -@.str1527 = private unnamed_addr constant [9 x i8] c"distance\00" -@.str1528 = private unnamed_addr constant [10 x i8] c"normalize\00" -@.str1529 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str1530 = private unnamed_addr constant [7 x i8] c"rotate\00" -@.str1531 = private unnamed_addr constant [6 x i8] c"angle\00" -@.str1532 = private unnamed_addr constant [11 x i8] c"from_angle\00" -@.str1533 = private unnamed_addr constant [5 x i8] c"zero\00" -@.str1534 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1535 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1536 = private unnamed_addr constant [5 x i8] c"make\00" -@.str1537 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1538 = private unnamed_addr constant [2 x i8] c"x\00" -@.str1539 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1540 = private unnamed_addr constant [2 x i8] c"y\00" -@.str1541 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1542 = private unnamed_addr constant [4 x i8] c"add\00" -@.str1543 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1544 = private unnamed_addr constant [3 x i8] c", \00" -@.str1545 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1546 = private unnamed_addr constant [3 x i8] c", \00" -@.str1547 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1548 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str1549 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1550 = private unnamed_addr constant [3 x i8] c", \00" -@.str1551 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1552 = private unnamed_addr constant [3 x i8] c", \00" -@.str1553 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1554 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str1555 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1556 = private unnamed_addr constant [4 x i8] c"dot\00" -@.str1557 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1558 = private unnamed_addr constant [3 x i8] c", \00" -@.str1559 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1560 = private unnamed_addr constant [7 x i8] c"length\00" -@.str1561 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1562 = private unnamed_addr constant [3 x i8] c", \00" -@.str1563 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1564 = private unnamed_addr constant [2 x i8] c")\00" -@.str1565 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1566 = private unnamed_addr constant [9 x i8] c"distance\00" -@.str1567 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1568 = private unnamed_addr constant [3 x i8] c", \00" -@.str1569 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1570 = private unnamed_addr constant [3 x i8] c", \00" -@.str1571 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1572 = private unnamed_addr constant [3 x i8] c", \00" -@.str1573 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1574 = private unnamed_addr constant [2 x i8] c")\00" -@.str1575 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1576 = private unnamed_addr constant [10 x i8] c"normalize\00" -@.str1577 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1578 = private unnamed_addr constant [3 x i8] c", \00" -@.str1579 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" -@.str1580 = private unnamed_addr constant [2 x i8] c")\00" -@.str1581 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1582 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1583 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1584 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" -@.str1585 = private unnamed_addr constant [6 x i8] c"65536\00" -@.str1586 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1587 = private unnamed_addr constant [7 x i8] c"rotate\00" -@.str1588 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1589 = private unnamed_addr constant [2 x i8] c")\00" -@.str1590 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1591 = private unnamed_addr constant [9 x i8] c", 102944\00" -@.str1592 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1593 = private unnamed_addr constant [2 x i8] c")\00" -@.str1594 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1595 = private unnamed_addr constant [3 x i8] c", \00" -@.str1596 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1597 = private unnamed_addr constant [3 x i8] c", \00" -@.str1598 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1599 = private unnamed_addr constant [6 x i8] c"angle\00" -@.str1600 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" -@.str1601 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1602 = private unnamed_addr constant [2 x i8] c")\00" -@.str1603 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1604 = private unnamed_addr constant [11 x i8] c"from_angle\00" -@.str1605 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1606 = private unnamed_addr constant [2 x i8] c")\00" -@.str1607 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1608 = private unnamed_addr constant [9 x i8] c", 102944\00" -@.str1609 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str1610 = private unnamed_addr constant [2 x i8] c")\00" -@.str1611 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1612 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1613 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str1614 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str1615 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1616 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1617 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1618 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1619 = private unnamed_addr constant [5 x i8] c"make\00" -@.str1620 = private unnamed_addr constant [5 x i8] c"zero\00" -@.str1621 = private unnamed_addr constant [2 x i8] c"x\00" -@.str1622 = private unnamed_addr constant [2 x i8] c"y\00" -@.str1623 = private unnamed_addr constant [4 x i8] c"add\00" -@.str1624 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str1625 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str1626 = private unnamed_addr constant [4 x i8] c"dot\00" -@.str1627 = private unnamed_addr constant [6 x i8] c"equal\00" -@.str1628 = private unnamed_addr constant [10 x i8] c"manhattan\00" -@.str1629 = private unnamed_addr constant [10 x i8] c"to_vector\00" -@.str1630 = private unnamed_addr constant [5 x i8] c"zero\00" -@.str1631 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1632 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str1633 = private unnamed_addr constant [5 x i8] c"make\00" -@.str1634 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str1635 = private unnamed_addr constant [2 x i8] c"x\00" -@.str1636 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1637 = private unnamed_addr constant [2 x i8] c"y\00" -@.str1638 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1639 = private unnamed_addr constant [4 x i8] c"add\00" -@.str1640 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1641 = private unnamed_addr constant [3 x i8] c", \00" -@.str1642 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1643 = private unnamed_addr constant [3 x i8] c", \00" -@.str1644 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str1645 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str1646 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1647 = private unnamed_addr constant [3 x i8] c", \00" -@.str1648 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1649 = private unnamed_addr constant [3 x i8] c", \00" -@.str1650 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str1651 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str1652 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1653 = private unnamed_addr constant [3 x i8] c", \00" -@.str1654 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1655 = private unnamed_addr constant [3 x i8] c", \00" -@.str1656 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str1657 = private unnamed_addr constant [4 x i8] c"dot\00" -@.str1658 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1659 = private unnamed_addr constant [3 x i8] c", \00" -@.str1660 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str1661 = private unnamed_addr constant [3 x i8] c", \00" -@.str1662 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1663 = private unnamed_addr constant [3 x i8] c", \00" -@.str1664 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1665 = private unnamed_addr constant [6 x i8] c"equal\00" -@.str1666 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" -@.str1667 = private unnamed_addr constant [3 x i8] c", \00" -@.str1668 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1669 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1670 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1671 = private unnamed_addr constant [10 x i8] c"manhattan\00" -@.str1672 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1673 = private unnamed_addr constant [3 x i8] c", \00" -@.str1674 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str1675 = private unnamed_addr constant [3 x i8] c", \00" -@.str1676 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1677 = private unnamed_addr constant [3 x i8] c", \00" -@.str1678 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1679 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str1680 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1681 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str1682 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str1683 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1684 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1685 = private unnamed_addr constant [9 x i8] c" to i128\00" -@.str1686 = private unnamed_addr constant [10 x i8] c"shl i128 \00" -@.str1687 = private unnamed_addr constant [5 x i8] c", 96\00" -@.str1688 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1689 = private unnamed_addr constant [9 x i8] c" to i128\00" -@.str1690 = private unnamed_addr constant [10 x i8] c"shl i128 \00" -@.str1691 = private unnamed_addr constant [5 x i8] c", 64\00" -@.str1692 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1693 = private unnamed_addr constant [9 x i8] c" to i128\00" -@.str1694 = private unnamed_addr constant [10 x i8] c"shl i128 \00" -@.str1695 = private unnamed_addr constant [5 x i8] c", 32\00" -@.str1696 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str1697 = private unnamed_addr constant [9 x i8] c" to i128\00" -@.str1698 = private unnamed_addr constant [9 x i8] c"or i128 \00" -@.str1699 = private unnamed_addr constant [3 x i8] c", \00" -@.str1700 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1261 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1262 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1263 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1264 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1265 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1266 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1267 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1268 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str1269 = private unnamed_addr constant [3 x i8] c", \00" +@.str1270 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str1271 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1272 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1273 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1274 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1275 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1276 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str1277 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1278 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1279 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1280 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" +@.str1281 = private unnamed_addr constant [3 x i8] c", \00" +@.str1282 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1283 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1284 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1285 = private unnamed_addr constant [3 x i8] c", \00" +@.str1286 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1287 = private unnamed_addr constant [3 x i8] c", \00" +@.str1288 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1289 = private unnamed_addr constant [3 x i8] c", \00" +@.str1290 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1291 = private unnamed_addr constant [3 x i8] c", \00" +@.str1292 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1293 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1294 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1295 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str1296 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str1297 = private unnamed_addr constant [6 x i8] c"floor\00" +@.str1298 = private unnamed_addr constant [5 x i8] c"ceil\00" +@.str1299 = private unnamed_addr constant [6 x i8] c"round\00" +@.str1300 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str1301 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" +@.str1302 = private unnamed_addr constant [6 x i8] c"remap\00" +@.str1303 = private unnamed_addr constant [5 x i8] c"sqrt\00" +@.str1304 = private unnamed_addr constant [4 x i8] c"sin\00" +@.str1305 = private unnamed_addr constant [4 x i8] c"cos\00" +@.str1306 = private unnamed_addr constant [4 x i8] c"tan\00" +@.str1307 = private unnamed_addr constant [6 x i8] c"hypot\00" +@.str1308 = private unnamed_addr constant [6 x i8] c"atan2\00" +@.str1309 = private unnamed_addr constant [5 x i8] c"asin\00" +@.str1310 = private unnamed_addr constant [5 x i8] c"acos\00" +@.str1311 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" +@.str1312 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" +@.str1313 = private unnamed_addr constant [7 x i8] c"posmod\00" +@.str1314 = private unnamed_addr constant [5 x i8] c"wrap\00" +@.str1315 = private unnamed_addr constant [10 x i8] c"ping_pong\00" +@.str1316 = private unnamed_addr constant [8 x i8] c"snapped\00" +@.str1317 = private unnamed_addr constant [12 x i8] c"move_toward\00" +@.str1318 = private unnamed_addr constant [11 x i8] c"smoothstep\00" +@.str1319 = private unnamed_addr constant [5 x i8] c"dist\00" +@.str1320 = private unnamed_addr constant [6 x i8] c"dist2\00" +@.str1321 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str1322 = private unnamed_addr constant [4 x i8] c"log\00" +@.str1323 = private unnamed_addr constant [4 x i8] c"pow\00" +@.str1324 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1325 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1326 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1327 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str1328 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str1329 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1330 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1331 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1332 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1333 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1334 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" +@.str1335 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1336 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str1337 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1338 = private unnamed_addr constant [6 x i8] c"floor\00" +@.str1339 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1340 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1341 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1342 = private unnamed_addr constant [5 x i8] c"ceil\00" +@.str1343 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1344 = private unnamed_addr constant [8 x i8] c", 65535\00" +@.str1345 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1346 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1347 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1348 = private unnamed_addr constant [6 x i8] c"round\00" +@.str1349 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1350 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str1351 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1352 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1353 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1354 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str1355 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1356 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" +@.str1357 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1358 = private unnamed_addr constant [5 x i8] c"sqrt\00" +@.str1359 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1360 = private unnamed_addr constant [2 x i8] c")\00" +@.str1361 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1362 = private unnamed_addr constant [4 x i8] c"sin\00" +@.str1363 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1364 = private unnamed_addr constant [2 x i8] c")\00" +@.str1365 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1366 = private unnamed_addr constant [4 x i8] c"cos\00" +@.str1367 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1368 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1369 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1370 = private unnamed_addr constant [2 x i8] c")\00" +@.str1371 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1372 = private unnamed_addr constant [4 x i8] c"tan\00" +@.str1373 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1374 = private unnamed_addr constant [2 x i8] c")\00" +@.str1375 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1376 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1377 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1378 = private unnamed_addr constant [2 x i8] c")\00" +@.str1379 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1380 = private unnamed_addr constant [6 x i8] c"atan2\00" +@.str1381 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" +@.str1382 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1383 = private unnamed_addr constant [2 x i8] c")\00" +@.str1384 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1385 = private unnamed_addr constant [5 x i8] c"asin\00" +@.str1386 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" +@.str1387 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1388 = private unnamed_addr constant [2 x i8] c")\00" +@.str1389 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" +@.str1390 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1391 = private unnamed_addr constant [2 x i8] c")\00" +@.str1392 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1393 = private unnamed_addr constant [5 x i8] c"acos\00" +@.str1394 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" +@.str1395 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1396 = private unnamed_addr constant [2 x i8] c")\00" +@.str1397 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" +@.str1398 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1399 = private unnamed_addr constant [2 x i8] c")\00" +@.str1400 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1401 = private unnamed_addr constant [6 x i8] c"hypot\00" +@.str1402 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1403 = private unnamed_addr constant [3 x i8] c", \00" +@.str1404 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1405 = private unnamed_addr constant [2 x i8] c")\00" +@.str1406 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1407 = private unnamed_addr constant [6 x i8] c"dist2\00" +@.str1408 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1409 = private unnamed_addr constant [3 x i8] c", \00" +@.str1410 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1411 = private unnamed_addr constant [3 x i8] c", \00" +@.str1412 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1413 = private unnamed_addr constant [3 x i8] c", \00" +@.str1414 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1415 = private unnamed_addr constant [5 x i8] c"dist\00" +@.str1416 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1417 = private unnamed_addr constant [3 x i8] c", \00" +@.str1418 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1419 = private unnamed_addr constant [3 x i8] c", \00" +@.str1420 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1421 = private unnamed_addr constant [3 x i8] c", \00" +@.str1422 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1423 = private unnamed_addr constant [2 x i8] c")\00" +@.str1424 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1425 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str1426 = private unnamed_addr constant [6 x i8] c"94548\00" +@.str1427 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00" +@.str1428 = private unnamed_addr constant [2 x i8] c")\00" +@.str1429 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1430 = private unnamed_addr constant [4 x i8] c"log\00" +@.str1431 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00" +@.str1432 = private unnamed_addr constant [2 x i8] c")\00" +@.str1433 = private unnamed_addr constant [6 x i8] c"45426\00" +@.str1434 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1435 = private unnamed_addr constant [4 x i8] c"pow\00" +@.str1436 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00" +@.str1437 = private unnamed_addr constant [2 x i8] c")\00" +@.str1438 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00" +@.str1439 = private unnamed_addr constant [2 x i8] c")\00" +@.str1440 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1441 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" +@.str1442 = private unnamed_addr constant [5 x i8] c"1144\00" +@.str1443 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1444 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" +@.str1445 = private unnamed_addr constant [8 x i8] c"3754936\00" +@.str1446 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1447 = private unnamed_addr constant [7 x i8] c"posmod\00" +@.str1448 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1449 = private unnamed_addr constant [3 x i8] c", \00" +@.str1450 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1451 = private unnamed_addr constant [3 x i8] c", \00" +@.str1452 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1453 = private unnamed_addr constant [3 x i8] c", \00" +@.str1454 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1455 = private unnamed_addr constant [5 x i8] c"wrap\00" +@.str1456 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1457 = private unnamed_addr constant [3 x i8] c", \00" +@.str1458 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1459 = private unnamed_addr constant [3 x i8] c", \00" +@.str1460 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1461 = private unnamed_addr constant [3 x i8] c", \00" +@.str1462 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1463 = private unnamed_addr constant [3 x i8] c", \00" +@.str1464 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1465 = private unnamed_addr constant [3 x i8] c", \00" +@.str1466 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1467 = private unnamed_addr constant [3 x i8] c", \00" +@.str1468 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1469 = private unnamed_addr constant [10 x i8] c"ping_pong\00" +@.str1470 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1471 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str1472 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1473 = private unnamed_addr constant [3 x i8] c", \00" +@.str1474 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1475 = private unnamed_addr constant [3 x i8] c", \00" +@.str1476 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1477 = private unnamed_addr constant [3 x i8] c", \00" +@.str1478 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1479 = private unnamed_addr constant [3 x i8] c", \00" +@.str1480 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1481 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1482 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1483 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1484 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1485 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1486 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1487 = private unnamed_addr constant [3 x i8] c", \00" +@.str1488 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1489 = private unnamed_addr constant [8 x i8] c"snapped\00" +@.str1490 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1491 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str1492 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1493 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1494 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1495 = private unnamed_addr constant [3 x i8] c", \00" +@.str1496 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1497 = private unnamed_addr constant [12 x i8] c"move_toward\00" +@.str1498 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1499 = private unnamed_addr constant [3 x i8] c", \00" +@.str1500 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1501 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1502 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1503 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1504 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1505 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1506 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1507 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1508 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1509 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1510 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1511 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" +@.str1512 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1513 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str1514 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1515 = private unnamed_addr constant [3 x i8] c", \00" +@.str1516 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1517 = private unnamed_addr constant [3 x i8] c", \00" +@.str1518 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str1519 = private unnamed_addr constant [3 x i8] c", \00" +@.str1520 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1521 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1522 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1523 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1524 = private unnamed_addr constant [11 x i8] c"smoothstep\00" +@.str1525 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1526 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1527 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1528 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1529 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1530 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str1531 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1532 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" +@.str1533 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1534 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str1535 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" +@.str1536 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1537 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1538 = private unnamed_addr constant [2968 x i8] c"@L_sin_tab = private unnamed_addr constant [256 x i32] [i32 0, i32 1608, i32 3216, i32 4821, i32 6424, i32 8022, i32 9616, i32 11204, i32 12785, i32 14359, i32 15924, i32 17479, i32 19024, i32 20557, i32 22078, i32 23586, i32 25080, i32 26558, i32 28020, i32 29466, i32 30893, i32 32303, i32 33692, i32 35062, i32 36410, i32 37736, i32 39040, i32 40320, i32 41576, i32 42806, i32 44011, i32 45190, i32 46341, i32 47464, i32 48559, i32 49624, i32 50660, i32 51665, i32 52639, i32 53581, i32 54491, i32 55368, i32 56212, i32 57022, i32 57798, i32 58538, i32 59244, i32 59914, i32 60547, i32 61145, i32 61705, i32 62228, i32 62714, i32 63162, i32 63572, i32 63944, i32 64277, i32 64571, i32 64827, i32 65043, i32 65220, i32 65358, i32 65457, i32 65516, i32 65536, i32 65516, i32 65457, i32 65358, i32 65220, i32 65043, i32 64827, i32 64571, i32 64277, i32 63944, i32 63572, i32 63162, i32 62714, i32 62228, i32 61705, i32 61145, i32 60547, i32 59914, i32 59244, i32 58538, i32 57798, i32 57022, i32 56212, i32 55368, i32 54491, i32 53581, i32 52639, i32 51665, i32 50660, i32 49624, i32 48559, i32 47464, i32 46341, i32 45190, i32 44011, i32 42806, i32 41576, i32 40320, i32 39040, i32 37736, i32 36410, i32 35062, i32 33692, i32 32303, i32 30893, i32 29466, i32 28020, i32 26558, i32 25080, i32 23586, i32 22078, i32 20557, i32 19024, i32 17479, i32 15924, i32 14359, i32 12785, i32 11204, i32 9616, i32 8022, i32 6424, i32 4821, i32 3216, i32 1608, i32 0, i32 -1608, i32 -3216, i32 -4821, i32 -6424, i32 -8022, i32 -9616, i32 -11204, i32 -12785, i32 -14359, i32 -15924, i32 -17479, i32 -19024, i32 -20557, i32 -22078, i32 -23586, i32 -25080, i32 -26558, i32 -28020, i32 -29466, i32 -30893, i32 -32303, i32 -33692, i32 -35062, i32 -36410, i32 -37736, i32 -39040, i32 -40320, i32 -41576, i32 -42806, i32 -44011, i32 -45190, i32 -46341, i32 -47464, i32 -48559, i32 -49624, i32 -50660, i32 -51665, i32 -52639, i32 -53581, i32 -54491, i32 -55368, i32 -56212, i32 -57022, i32 -57798, i32 -58538, i32 -59244, i32 -59914, i32 -60547, i32 -61145, i32 -61705, i32 -62228, i32 -62714, i32 -63162, i32 -63572, i32 -63944, i32 -64277, i32 -64571, i32 -64827, i32 -65043, i32 -65220, i32 -65358, i32 -65457, i32 -65516, i32 -65536, i32 -65516, i32 -65457, i32 -65358, i32 -65220, i32 -65043, i32 -64827, i32 -64571, i32 -64277, i32 -63944, i32 -63572, i32 -63162, i32 -62714, i32 -62228, i32 -61705, i32 -61145, i32 -60547, i32 -59914, i32 -59244, i32 -58538, i32 -57798, i32 -57022, i32 -56212, i32 -55368, i32 -54491, i32 -53581, i32 -52639, i32 -51665, i32 -50660, i32 -49624, i32 -48559, i32 -47464, i32 -46341, i32 -45190, i32 -44011, i32 -42806, i32 -41576, i32 -40320, i32 -39040, i32 -37736, i32 -36410, i32 -35062, i32 -33692, i32 -32303, i32 -30893, i32 -29466, i32 -28020, i32 -26558, i32 -25080, i32 -23586, i32 -22078, i32 -20557, i32 -19024, i32 -17479, i32 -15924, i32 -14359, i32 -12785, i32 -11204, i32 -9616, i32 -8022, i32 -6424, i32 -4821, i32 -3216, i32 -1608]\0A\00" +@.str1539 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_sqrt(i32 %x) {\0A\00" +@.str1540 = private unnamed_addr constant [73 x i8] c"entry:\0A %neg = icmp slt i32 %x, 0\0A br i1 %neg, label %ret0, label %go\0A\00" +@.str1541 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" +@.str1542 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" +@.str1543 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" +@.str1544 = private unnamed_addr constant [106 x i8] c" store i64 %n0, ptr %np\0A store i64 0, ptr %rp\0A store i64 4611686018427387904, ptr %bp\0A br label %adj\0A\00" +@.str1545 = private unnamed_addr constant [126 x i8] c"adj:\0A %b1 = load i64, ptr %bp\0A %n1 = load i64, ptr %np\0A %tb = icmp ugt i64 %b1, %n1\0A br i1 %tb, label %adjb, label %loop\0A\00" +@.str1546 = private unnamed_addr constant [72 x i8] c"adjb:\0A %b2 = lshr i64 %b1, 2\0A store i64 %b2, ptr %bp\0A br label %adj\0A\00" +@.str1547 = private unnamed_addr constant [98 x i8] c"loop:\0A %b3 = load i64, ptr %bp\0A %bz = icmp eq i64 %b3, 0\0A br i1 %bz, label %done, label %body\0A\00" +@.str1548 = private unnamed_addr constant [152 x i8] c"body:\0A %r1 = load i64, ptr %rp\0A %n2 = load i64, ptr %np\0A %rb = add i64 %r1, %b3\0A %ge = icmp uge i64 %n2, %rb\0A br i1 %ge, label %sub, label %shift\0A\00" +@.str1549 = private unnamed_addr constant [153 x i8] c"sub:\0A %n3 = sub i64 %n2, %rb\0A store i64 %n3, ptr %np\0A %rsh = lshr i64 %r1, 1\0A %rnew = add i64 %rsh, %b3\0A store i64 %rnew, ptr %rp\0A br label %next\0A\00" +@.str1550 = private unnamed_addr constant [78 x i8] c"shift:\0A %rsh2 = lshr i64 %r1, 1\0A store i64 %rsh2, ptr %rp\0A br label %next\0A\00" +@.str1551 = private unnamed_addr constant [73 x i8] c"next:\0A %b4 = lshr i64 %b3, 2\0A store i64 %b4, ptr %bp\0A br label %loop\0A\00" +@.str1552 = private unnamed_addr constant [80 x i8] c"done:\0A %rf = load i64, ptr %rp\0A %r32 = trunc i64 %rf to i32\0A ret i32 %r32\0A}\0A\00" +@.str1553 = private unnamed_addr constant [33 x i8] c"define i32 @fn_fx_sin(i32 %x) {\0A\00" +@.str1554 = private unnamed_addr constant [82 x i8] c" %xe = sext i32 %x to i64\0A %m = mul i64 %xe, 2670177\0A %idxf = ashr i64 %m, 16\0A\00" +@.str1555 = private unnamed_addr constant [85 x i8] c" %i0 = ashr i64 %idxf, 16\0A %i0m = and i64 %i0, 255\0A %frac = and i64 %idxf, 65535\0A\00" +@.str1556 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" +@.str1557 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i0m\0A %v0 = load i32, ptr %p0\0A\00" +@.str1558 = private unnamed_addr constant [94 x i8] c" %p1 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i1m\0A %v1 = load i32, ptr %p1\0A\00" +@.str1559 = private unnamed_addr constant [184 x i8] c" %d = sub i32 %v1, %v0\0A %de = sext i32 %d to i64\0A %dm = mul i64 %de, %frac\0A %dsh = ashr i64 %dm, 16\0A %dsh32 = trunc i64 %dsh to i32\0A %res = add i32 %v0, %dsh32\0A ret i32 %res\0A}\0A\00" +@.str1560 = private unnamed_addr constant [43 x i8] c"define i32 @fn_fx_atan2(i32 %y, i32 %x) {\0A\00" +@.str1561 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str1562 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" +@.str1563 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" +@.str1564 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" +@.str1565 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" +@.str1566 = private unnamed_addr constant [4 x i8] c"z:\0A\00" +@.str1567 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str1568 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str1569 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" +@.str1570 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" +@.str1571 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" +@.str1572 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" +@.str1573 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" +@.str1574 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" +@.str1575 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" +@.str1576 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" +@.str1577 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" +@.str1578 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" +@.str1579 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" +@.str1580 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" +@.str1581 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" +@.str1582 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" +@.str1583 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" +@.str1584 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" +@.str1585 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" +@.str1586 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" +@.str1587 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" +@.str1588 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" +@.str1589 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" +@.str1590 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" +@.str1591 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" +@.str1592 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" +@.str1593 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" +@.str1594 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" +@.str1595 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" +@.str1596 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" +@.str1597 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" +@.str1598 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" +@.str1599 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" +@.str1600 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" +@.str1601 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" +@.str1602 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" +@.str1603 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" +@.str1604 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" +@.str1605 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" +@.str1606 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" +@.str1607 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" +@.str1608 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" +@.str1609 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" +@.str1610 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" +@.str1611 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" +@.str1612 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" +@.str1613 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" +@.str1614 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" +@.str1615 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str1616 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_exp2(i32 %x) {\0A\00" +@.str1617 = private unnamed_addr constant [76 x i8] c" %i = ashr i32 %x, 16\0A %f = and i32 %x, 65535\0A %fe = sext i32 %f to i64\0A\00" +@.str1618 = private unnamed_addr constant [75 x i8] c" %m5 = mul i64 %fe, 87\0A %s5 = ashr i64 %m5, 16\0A %p5 = add i64 %s5, 630\0A\00" +@.str1619 = private unnamed_addr constant [77 x i8] c" %m4 = mul i64 %fe, %p5\0A %s4 = ashr i64 %m4, 16\0A %p4 = add i64 %s4, 3638\0A\00" +@.str1620 = private unnamed_addr constant [78 x i8] c" %m3 = mul i64 %fe, %p4\0A %s3 = ashr i64 %m3, 16\0A %p3 = add i64 %s3, 15744\0A\00" +@.str1621 = private unnamed_addr constant [78 x i8] c" %m2 = mul i64 %fe, %p3\0A %s2 = ashr i64 %m2, 16\0A %p2 = add i64 %s2, 45426\0A\00" +@.str1622 = private unnamed_addr constant [78 x i8] c" %m1 = mul i64 %fe, %p2\0A %s1 = ashr i64 %m1, 16\0A %p1 = add i64 %s1, 65536\0A\00" +@.str1623 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" +@.str1624 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" +@.str1625 = private unnamed_addr constant [115 x i8] c" %sa0 = select i1 %ipos, i32 %i, i32 0\0A %sahi = icmp sgt i32 %sa0, 30\0A %sa = select i1 %sahi, i32 30, i32 %sa0\0A\00" +@.str1626 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" +@.str1627 = private unnamed_addr constant [138 x i8] c" %ni = sub i32 0, %i\0A %ra0 = select i1 %ipos, i32 0, i32 %ni\0A %rahi = icmp sgt i32 %ra0, 31\0A %ra = select i1 %rahi, i32 31, i32 %ra0\0A\00" +@.str1628 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" +@.str1629 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" +@.str1630 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" +@.str1631 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_log2(i32 %x) {\0A\00" +@.str1632 = private unnamed_addr constant [72 x i8] c"entry:\0A %pos = icmp sgt i32 %x, 0\0A br i1 %pos, label %go, label %neg\0A\00" +@.str1633 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" +@.str1634 = private unnamed_addr constant [80 x i8] c"go:\0A %lz = call i32 @llvm.ctlz.i32(i32 %x, i1 true)\0A %pmsb = sub i32 31, %lz\0A\00" +@.str1635 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" +@.str1636 = private unnamed_addr constant [82 x i8] c" %sh = sub i32 16, %pmsb\0A %shpos = icmp sge i32 %sh, 0\0A %nsh = sub i32 0, %sh\0A\00" +@.str1637 = private unnamed_addr constant [93 x i8] c" %mL = shl i32 %x, %sh\0A %mR = ashr i32 %x, %nsh\0A %m = select i1 %shpos, i32 %mL, i32 %mR\0A\00" +@.str1638 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" +@.str1639 = private unnamed_addr constant [147 x i8] c" %n64 = sext i32 %num to i64\0A %nshl = shl i64 %n64, 16\0A %d64 = sext i32 %den to i64\0A %rdv = sdiv i64 %nshl, %d64\0A %r = trunc i64 %rdv to i32\0A\00" +@.str1640 = private unnamed_addr constant [78 x i8] c" %re = sext i32 %r to i64\0A %rr = mul i64 %re, %re\0A %r2 = ashr i64 %rr, 16\0A\00" +@.str1641 = private unnamed_addr constant [81 x i8] c" %c3 = mul i64 %r2, 9362\0A %c3s = ashr i64 %c3, 16\0A %q3 = add i64 %c3s, 13107\0A\00" +@.str1642 = private unnamed_addr constant [80 x i8] c" %c2 = mul i64 %r2, %q3\0A %c2s = ashr i64 %c2, 16\0A %q2 = add i64 %c2s, 21845\0A\00" +@.str1643 = private unnamed_addr constant [80 x i8] c" %c1 = mul i64 %r2, %q2\0A %c1s = ashr i64 %c1, 16\0A %q1 = add i64 %c1s, 65536\0A\00" +@.str1644 = private unnamed_addr constant [77 x i8] c" %rp = mul i64 %re, %q1\0A %rps = ashr i64 %rp, 16\0A %lnm = shl i64 %rps, 1\0A\00" +@.str1645 = private unnamed_addr constant [86 x i8] c" %lm = mul i64 %lnm, 94548\0A %lms = ashr i64 %lm, 16\0A %l2m = trunc i64 %lms to i32\0A\00" +@.str1646 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" +@.str1647 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1648 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1649 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str1650 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str1651 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1652 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1653 = private unnamed_addr constant [8 x i8] c"or i64 \00" +@.str1654 = private unnamed_addr constant [3 x i8] c", \00" +@.str1655 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str1656 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str1657 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1658 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1659 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1660 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1661 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1662 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1663 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1664 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1665 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1666 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1667 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1668 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1669 = private unnamed_addr constant [7 x i8] c"length\00" +@.str1670 = private unnamed_addr constant [9 x i8] c"distance\00" +@.str1671 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str1672 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str1673 = private unnamed_addr constant [7 x i8] c"rotate\00" +@.str1674 = private unnamed_addr constant [6 x i8] c"angle\00" +@.str1675 = private unnamed_addr constant [11 x i8] c"from_angle\00" +@.str1676 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1677 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1678 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1679 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1680 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1681 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1682 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1683 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1684 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1685 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1686 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1687 = private unnamed_addr constant [3 x i8] c", \00" +@.str1688 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1689 = private unnamed_addr constant [3 x i8] c", \00" +@.str1690 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1691 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1692 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1693 = private unnamed_addr constant [3 x i8] c", \00" +@.str1694 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1695 = private unnamed_addr constant [3 x i8] c", \00" +@.str1696 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1697 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1698 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1699 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1700 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1701 = private unnamed_addr constant [3 x i8] c", \00" -@.str1702 = private unnamed_addr constant [9 x i8] c"or i128 \00" -@.str1703 = private unnamed_addr constant [3 x i8] c", \00" -@.str1704 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" -@.str1705 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1706 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" -@.str1707 = private unnamed_addr constant [3 x i8] c", \00" -@.str1708 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" -@.str1709 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1710 = private unnamed_addr constant [6 x i8] c"icmp \00" -@.str1711 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str1712 = private unnamed_addr constant [3 x i8] c", \00" -@.str1713 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1714 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1715 = private unnamed_addr constant [5 x i8] c"make\00" -@.str1716 = private unnamed_addr constant [2 x i8] c"x\00" -@.str1717 = private unnamed_addr constant [2 x i8] c"y\00" -@.str1718 = private unnamed_addr constant [2 x i8] c"w\00" -@.str1719 = private unnamed_addr constant [2 x i8] c"h\00" -@.str1720 = private unnamed_addr constant [6 x i8] c"right\00" -@.str1721 = private unnamed_addr constant [7 x i8] c"bottom\00" -@.str1722 = private unnamed_addr constant [7 x i8] c"center\00" -@.str1723 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str1724 = private unnamed_addr constant [11 x i8] c"intersects\00" -@.str1725 = private unnamed_addr constant [5 x i8] c"make\00" -@.str1726 = private unnamed_addr constant [5 x i8] c"Rect\00" -@.str1727 = private unnamed_addr constant [2 x i8] c"x\00" -@.str1728 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1729 = private unnamed_addr constant [2 x i8] c"y\00" -@.str1730 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1731 = private unnamed_addr constant [2 x i8] c"w\00" -@.str1732 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1733 = private unnamed_addr constant [2 x i8] c"h\00" -@.str1734 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1735 = private unnamed_addr constant [6 x i8] c"right\00" -@.str1736 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1737 = private unnamed_addr constant [3 x i8] c", \00" -@.str1738 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1739 = private unnamed_addr constant [7 x i8] c"bottom\00" -@.str1740 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1741 = private unnamed_addr constant [3 x i8] c", \00" -@.str1742 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str1743 = private unnamed_addr constant [7 x i8] c"center\00" -@.str1744 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1745 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1746 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str1747 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str1748 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1749 = private unnamed_addr constant [3 x i8] c", \00" +@.str1702 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1703 = private unnamed_addr constant [7 x i8] c"length\00" +@.str1704 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1705 = private unnamed_addr constant [3 x i8] c", \00" +@.str1706 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1707 = private unnamed_addr constant [2 x i8] c")\00" +@.str1708 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1709 = private unnamed_addr constant [9 x i8] c"distance\00" +@.str1710 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1711 = private unnamed_addr constant [3 x i8] c", \00" +@.str1712 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1713 = private unnamed_addr constant [3 x i8] c", \00" +@.str1714 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1715 = private unnamed_addr constant [3 x i8] c", \00" +@.str1716 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1717 = private unnamed_addr constant [2 x i8] c")\00" +@.str1718 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1719 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str1720 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1721 = private unnamed_addr constant [3 x i8] c", \00" +@.str1722 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00" +@.str1723 = private unnamed_addr constant [2 x i8] c")\00" +@.str1724 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1725 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1726 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1727 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" +@.str1728 = private unnamed_addr constant [6 x i8] c"65536\00" +@.str1729 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1730 = private unnamed_addr constant [7 x i8] c"rotate\00" +@.str1731 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1732 = private unnamed_addr constant [2 x i8] c")\00" +@.str1733 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1734 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1735 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1736 = private unnamed_addr constant [2 x i8] c")\00" +@.str1737 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1738 = private unnamed_addr constant [3 x i8] c", \00" +@.str1739 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1740 = private unnamed_addr constant [3 x i8] c", \00" +@.str1741 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1742 = private unnamed_addr constant [6 x i8] c"angle\00" +@.str1743 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00" +@.str1744 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1745 = private unnamed_addr constant [2 x i8] c")\00" +@.str1746 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1747 = private unnamed_addr constant [11 x i8] c"from_angle\00" +@.str1748 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1749 = private unnamed_addr constant [2 x i8] c")\00" @.str1750 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1751 = private unnamed_addr constant [3 x i8] c", \00" -@.str1752 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str1753 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str1754 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1755 = private unnamed_addr constant [3 x i8] c", \00" -@.str1756 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1757 = private unnamed_addr constant [3 x i8] c", \00" -@.str1758 = private unnamed_addr constant [4 x i8] c"sge\00" -@.str1759 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1760 = private unnamed_addr constant [4 x i8] c"sge\00" -@.str1761 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1762 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str1763 = private unnamed_addr constant [3 x i8] c", \00" -@.str1764 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str1765 = private unnamed_addr constant [3 x i8] c", \00" -@.str1766 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str1767 = private unnamed_addr constant [3 x i8] c", \00" -@.str1768 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1769 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1770 = private unnamed_addr constant [3 x i8] c", \00" -@.str1771 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1772 = private unnamed_addr constant [3 x i8] c", \00" -@.str1773 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1774 = private unnamed_addr constant [3 x i8] c", \00" -@.str1775 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str1776 = private unnamed_addr constant [3 x i8] c", \00" -@.str1777 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1778 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1779 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1780 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str1781 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str1782 = private unnamed_addr constant [3 x i8] c", \00" -@.str1783 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str1784 = private unnamed_addr constant [3 x i8] c", \00" -@.str1785 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str1786 = private unnamed_addr constant [3 x i8] c", \00" -@.str1787 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1788 = private unnamed_addr constant [7 x i8] c"length\00" -@.str1789 = private unnamed_addr constant [8 x i8] c"char_at\00" -@.str1790 = private unnamed_addr constant [6 x i8] c"slice\00" -@.str1791 = private unnamed_addr constant [7 x i8] c"equals\00" -@.str1792 = private unnamed_addr constant [7 x i8] c"concat\00" -@.str1793 = private unnamed_addr constant [7 x i8] c"to_int\00" -@.str1794 = private unnamed_addr constant [9 x i8] c"from_int\00" -@.str1795 = private unnamed_addr constant [12 x i8] c"starts_with\00" -@.str1796 = private unnamed_addr constant [10 x i8] c"ends_with\00" -@.str1797 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str1798 = private unnamed_addr constant [9 x i8] c"index_of\00" -@.str1799 = private unnamed_addr constant [6 x i8] c"upper\00" -@.str1800 = private unnamed_addr constant [6 x i8] c"lower\00" -@.str1801 = private unnamed_addr constant [5 x i8] c"trim\00" -@.str1802 = private unnamed_addr constant [7 x i8] c"repeat\00" -@.str1803 = private unnamed_addr constant [9 x i8] c"pad_left\00" -@.str1804 = private unnamed_addr constant [10 x i8] c"pad_right\00" -@.str1805 = private unnamed_addr constant [6 x i8] c"split\00" -@.str1806 = private unnamed_addr constant [5 x i8] c"join\00" -@.str1807 = private unnamed_addr constant [8 x i8] c"replace\00" -@.str1808 = private unnamed_addr constant [9 x i8] c"from_int\00" -@.str1809 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" -@.str1810 = private unnamed_addr constant [2 x i8] c")\00" -@.str1811 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1812 = private unnamed_addr constant [6 x i8] c"slice\00" -@.str1813 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00" -@.str1814 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1815 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1816 = private unnamed_addr constant [2 x i8] c")\00" -@.str1817 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1818 = private unnamed_addr constant [7 x i8] c"equals\00" -@.str1819 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00" -@.str1820 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1751 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1752 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str1753 = private unnamed_addr constant [2 x i8] c")\00" +@.str1754 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1755 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1756 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1757 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1758 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1759 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1760 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1761 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1762 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1763 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1764 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1765 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1766 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1767 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1768 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1769 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1770 = private unnamed_addr constant [6 x i8] c"equal\00" +@.str1771 = private unnamed_addr constant [10 x i8] c"manhattan\00" +@.str1772 = private unnamed_addr constant [10 x i8] c"to_vector\00" +@.str1773 = private unnamed_addr constant [10 x i8] c"distance2\00" +@.str1774 = private unnamed_addr constant [7 x i8] c"within\00" +@.str1775 = private unnamed_addr constant [8 x i8] c"heading\00" +@.str1776 = private unnamed_addr constant [6 x i8] c"along\00" +@.str1777 = private unnamed_addr constant [5 x i8] c"step\00" +@.str1778 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1779 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1780 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1781 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1782 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1783 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1784 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1785 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1786 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1787 = private unnamed_addr constant [10 x i8] c"distance2\00" +@.str1788 = private unnamed_addr constant [7 x i8] c"within\00" +@.str1789 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1790 = private unnamed_addr constant [3 x i8] c", \00" +@.str1791 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1792 = private unnamed_addr constant [3 x i8] c", \00" +@.str1793 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1794 = private unnamed_addr constant [3 x i8] c", \00" +@.str1795 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1796 = private unnamed_addr constant [3 x i8] c", \00" +@.str1797 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1798 = private unnamed_addr constant [3 x i8] c", \00" +@.str1799 = private unnamed_addr constant [10 x i8] c"distance2\00" +@.str1800 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1801 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1802 = private unnamed_addr constant [3 x i8] c", \00" +@.str1803 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str1804 = private unnamed_addr constant [3 x i8] c", \00" +@.str1805 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1806 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1807 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1808 = private unnamed_addr constant [8 x i8] c"heading\00" +@.str1809 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" +@.str1810 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" +@.str1811 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" +@.str1812 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1813 = private unnamed_addr constant [2 x i8] c")\00" +@.str1814 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1815 = private unnamed_addr constant [6 x i8] c"along\00" +@.str1816 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" +@.str1817 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" +@.str1818 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" +@.str1819 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1820 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1821 = private unnamed_addr constant [2 x i8] c")\00" -@.str1822 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1823 = private unnamed_addr constant [7 x i8] c"concat\00" -@.str1824 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" -@.str1825 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1826 = private unnamed_addr constant [2 x i8] c")\00" -@.str1827 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1828 = private unnamed_addr constant [7 x i8] c"length\00" -@.str1829 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str1830 = private unnamed_addr constant [2 x i8] c")\00" -@.str1831 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1832 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1833 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1834 = private unnamed_addr constant [8 x i8] c"char_at\00" -@.str1835 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" -@.str1836 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1837 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str1838 = private unnamed_addr constant [9 x i8] c"zext i8 \00" -@.str1839 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1840 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1841 = private unnamed_addr constant [7 x i8] c"to_int\00" -@.str1842 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" -@.str1843 = private unnamed_addr constant [2 x i8] c")\00" -@.str1844 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1845 = private unnamed_addr constant [6 x i8] c"upper\00" -@.str1846 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_upper(ptr \00" -@.str1847 = private unnamed_addr constant [2 x i8] c")\00" -@.str1848 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1849 = private unnamed_addr constant [6 x i8] c"lower\00" -@.str1850 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_lower(ptr \00" -@.str1851 = private unnamed_addr constant [2 x i8] c")\00" -@.str1852 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1853 = private unnamed_addr constant [5 x i8] c"trim\00" -@.str1854 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_trim(ptr \00" -@.str1855 = private unnamed_addr constant [2 x i8] c")\00" -@.str1856 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1857 = private unnamed_addr constant [7 x i8] c"repeat\00" -@.str1858 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_repeat(ptr \00" -@.str1859 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1860 = private unnamed_addr constant [2 x i8] c")\00" -@.str1861 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1862 = private unnamed_addr constant [9 x i8] c"pad_left\00" -@.str1863 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00" -@.str1864 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1865 = private unnamed_addr constant [8 x i8] c", i1 1)\00" -@.str1866 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1867 = private unnamed_addr constant [10 x i8] c"pad_right\00" -@.str1868 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00" -@.str1869 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str1870 = private unnamed_addr constant [8 x i8] c", i1 0)\00" -@.str1871 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1872 = private unnamed_addr constant [8 x i8] c"replace\00" -@.str1873 = private unnamed_addr constant [30 x i8] c"call ptr @fn_str_replace(ptr \00" -@.str1874 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1875 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1876 = private unnamed_addr constant [2 x i8] c")\00" -@.str1877 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1878 = private unnamed_addr constant [6 x i8] c"split\00" -@.str1879 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_split(ptr \00" -@.str1880 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1881 = private unnamed_addr constant [2 x i8] c")\00" -@.str1882 = private unnamed_addr constant [9 x i8] c"[]string\00" -@.str1883 = private unnamed_addr constant [5 x i8] c"join\00" -@.str1884 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_join(ptr \00" -@.str1885 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1886 = private unnamed_addr constant [2 x i8] c")\00" -@.str1887 = private unnamed_addr constant [7 x i8] c"string\00" -@.str1888 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str1889 = private unnamed_addr constant [9 x i8] c"index_of\00" -@.str1890 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" -@.str1891 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1892 = private unnamed_addr constant [2 x i8] c")\00" -@.str1893 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str1894 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" -@.str1895 = private unnamed_addr constant [7 x i8] c", null\00" -@.str1896 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1897 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1898 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1899 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str1900 = private unnamed_addr constant [7 x i8] c", null\00" -@.str1901 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" -@.str1902 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1903 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" -@.str1904 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str1905 = private unnamed_addr constant [9 x i8] c"sub i64 \00" -@.str1906 = private unnamed_addr constant [3 x i8] c", \00" -@.str1907 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str1908 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1909 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str1910 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" -@.str1911 = private unnamed_addr constant [4 x i8] c"int\00" -@.str1912 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str1913 = private unnamed_addr constant [2 x i8] c")\00" -@.str1914 = private unnamed_addr constant [12 x i8] c"starts_with\00" -@.str1915 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" -@.str1916 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1917 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str1918 = private unnamed_addr constant [2 x i8] c")\00" -@.str1919 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1920 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1921 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1922 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1923 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1924 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str1925 = private unnamed_addr constant [2 x i8] c")\00" -@.str1926 = private unnamed_addr constant [9 x i8] c"sub i64 \00" +@.str1822 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1823 = private unnamed_addr constant [5 x i8] c"step\00" +@.str1824 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" +@.str1825 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" +@.str1826 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" +@.str1827 = private unnamed_addr constant [2 x i8] c")\00" +@.str1828 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1829 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1830 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1831 = private unnamed_addr constant [3 x i8] c", \00" +@.str1832 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1833 = private unnamed_addr constant [3 x i8] c", \00" +@.str1834 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1835 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1836 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1837 = private unnamed_addr constant [3 x i8] c", \00" +@.str1838 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1839 = private unnamed_addr constant [3 x i8] c", \00" +@.str1840 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1841 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1842 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1843 = private unnamed_addr constant [3 x i8] c", \00" +@.str1844 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1845 = private unnamed_addr constant [3 x i8] c", \00" +@.str1846 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1847 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1848 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1849 = private unnamed_addr constant [3 x i8] c", \00" +@.str1850 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1851 = private unnamed_addr constant [3 x i8] c", \00" +@.str1852 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1853 = private unnamed_addr constant [3 x i8] c", \00" +@.str1854 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1855 = private unnamed_addr constant [6 x i8] c"equal\00" +@.str1856 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" +@.str1857 = private unnamed_addr constant [3 x i8] c", \00" +@.str1858 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1859 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1860 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1861 = private unnamed_addr constant [10 x i8] c"manhattan\00" +@.str1862 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1863 = private unnamed_addr constant [3 x i8] c", \00" +@.str1864 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1865 = private unnamed_addr constant [3 x i8] c", \00" +@.str1866 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1867 = private unnamed_addr constant [3 x i8] c", \00" +@.str1868 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1869 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str1870 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1871 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str1872 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1873 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1874 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1875 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1876 = private unnamed_addr constant [10 x i8] c"shl i128 \00" +@.str1877 = private unnamed_addr constant [5 x i8] c", 96\00" +@.str1878 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1879 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1880 = private unnamed_addr constant [10 x i8] c"shl i128 \00" +@.str1881 = private unnamed_addr constant [5 x i8] c", 64\00" +@.str1882 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1883 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1884 = private unnamed_addr constant [10 x i8] c"shl i128 \00" +@.str1885 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str1886 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1887 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1888 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1889 = private unnamed_addr constant [3 x i8] c", \00" +@.str1890 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1891 = private unnamed_addr constant [3 x i8] c", \00" +@.str1892 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1893 = private unnamed_addr constant [3 x i8] c", \00" +@.str1894 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" +@.str1895 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1896 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" +@.str1897 = private unnamed_addr constant [3 x i8] c", \00" +@.str1898 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" +@.str1899 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1900 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str1901 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1902 = private unnamed_addr constant [3 x i8] c", \00" +@.str1903 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1904 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1905 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1906 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1907 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1908 = private unnamed_addr constant [2 x i8] c"w\00" +@.str1909 = private unnamed_addr constant [2 x i8] c"h\00" +@.str1910 = private unnamed_addr constant [6 x i8] c"right\00" +@.str1911 = private unnamed_addr constant [7 x i8] c"bottom\00" +@.str1912 = private unnamed_addr constant [7 x i8] c"center\00" +@.str1913 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str1914 = private unnamed_addr constant [11 x i8] c"intersects\00" +@.str1915 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1916 = private unnamed_addr constant [5 x i8] c"Rect\00" +@.str1917 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1918 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1919 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1920 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1921 = private unnamed_addr constant [2 x i8] c"w\00" +@.str1922 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1923 = private unnamed_addr constant [2 x i8] c"h\00" +@.str1924 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1925 = private unnamed_addr constant [6 x i8] c"right\00" +@.str1926 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str1927 = private unnamed_addr constant [3 x i8] c", \00" -@.str1928 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1929 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1930 = private unnamed_addr constant [2 x i8] c"0\00" -@.str1931 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" -@.str1932 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1933 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" -@.str1934 = private unnamed_addr constant [7 x i8] c"ew_end\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 [3 x i8] c":\0A\00" -@.str1940 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" -@.str1941 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str1942 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" -@.str1943 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str1944 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str1945 = private unnamed_addr constant [2 x i8] c")\00" -@.str1946 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str1947 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str1948 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str1949 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str1950 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str1951 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str1952 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str1953 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str1954 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str1955 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str1956 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_upper(ptr %s) {\0A\00" -@.str1957 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str1958 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" -@.str1959 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" -@.str1960 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" -@.str1961 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str1962 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str1963 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str1964 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str1965 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str1966 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" -@.str1967 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" -@.str1968 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str1969 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" -@.str1970 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" -@.str1971 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" -@.str1972 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" -@.str1973 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" -@.str1974 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" -@.str1975 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" -@.str1976 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" -@.str1977 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" -@.str1978 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str1979 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str1980 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str1981 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" -@.str1982 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" -@.str1983 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" -@.str1984 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str1985 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str1986 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_lower(ptr %s) {\0A\00" -@.str1987 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str1988 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" -@.str1989 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" -@.str1990 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" -@.str1991 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str1992 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str1993 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str1994 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str1995 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str1996 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" -@.str1997 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" -@.str1998 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str1999 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" -@.str2000 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" -@.str2001 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" -@.str2002 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" -@.str2003 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" -@.str2004 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" -@.str2005 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" -@.str2006 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" -@.str2007 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" -@.str2008 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2009 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2010 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2011 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" -@.str2012 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" -@.str2013 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" -@.str2014 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str2015 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2016 = private unnamed_addr constant [35 x i8] c"define ptr @fn_str_trim(ptr %s) {\0A\00" -@.str2017 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2018 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" -@.str2019 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" -@.str2020 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" -@.str2021 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" -@.str2022 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" -@.str2023 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" -@.str2024 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" -@.str2025 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" -@.str2026 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" -@.str2027 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" -@.str2028 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" -@.str2029 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" -@.str2030 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" -@.str2031 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" -@.str2032 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @fn_is_ws(i8 %c0)\0A\00" -@.str2033 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" -@.str2034 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" -@.str2035 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" -@.str2036 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" -@.str2037 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" -@.str2038 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" -@.str2039 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" -@.str2040 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" -@.str2041 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" -@.str2042 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" -@.str2043 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" -@.str2044 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" -@.str2045 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" -@.str2046 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" -@.str2047 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @fn_is_ws(i8 %c1)\0A\00" -@.str2048 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" -@.str2049 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" -@.str2050 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" -@.str2051 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" -@.str2052 = private unnamed_addr constant [8 x i8] c"build:\0A\00" -@.str2053 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" -@.str2054 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" -@.str2055 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" -@.str2056 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" -@.str2057 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" -@.str2058 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" -@.str2059 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" -@.str2060 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" -@.str2061 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" -@.str2062 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str2063 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2064 = private unnamed_addr constant [30 x i8] c"define i1 @fn_is_ws(i8 %c) {\0A\00" -@.str2065 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" -@.str2066 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" -@.str2067 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" -@.str2068 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" -@.str2069 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" -@.str2070 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" -@.str2071 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" -@.str2072 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" -@.str2073 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2074 = private unnamed_addr constant [47 x i8] c"define ptr @fn_str_repeat(ptr %s, i32 %n32) {\0A\00" -@.str2075 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2076 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" -@.str2077 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" -@.str2078 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" -@.str2079 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" -@.str2080 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" -@.str2081 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" -@.str2082 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" -@.str2083 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str2084 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2085 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2086 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str2087 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2088 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" -@.str2089 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" -@.str2090 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str2091 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" -@.str2092 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" -@.str2093 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" -@.str2094 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2095 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2096 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2097 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" -@.str2098 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" -@.str2099 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" -@.str2100 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str2101 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2102 = private unnamed_addr constant [54 x i8] c"define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" -@.str2103 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2104 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" -@.str2105 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" -@.str2106 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" -@.str2107 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" -@.str2108 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" -@.str2109 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" -@.str2110 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" -@.str2111 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" -@.str2112 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" -@.str2113 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" -@.str2114 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" -@.str2115 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" -@.str2116 = private unnamed_addr constant [5 x i8] c"do:\0A\00" -@.str2117 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" -@.str2118 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" -@.str2119 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" -@.str2120 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" -@.str2121 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" -@.str2122 = private unnamed_addr constant [52 x i8] c" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" -@.str2123 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" -@.str2124 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" -@.str2125 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" -@.str2126 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" -@.str2127 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" -@.str2128 = private unnamed_addr constant [53 x i8] c" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" -@.str2129 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" -@.str2130 = private unnamed_addr constant [7 x i8] c"term:\0A\00" -@.str2131 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" -@.str2132 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" -@.str2133 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str2134 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2135 = private unnamed_addr constant [61 x i8] c"define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" -@.str2136 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2137 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str2138 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2139 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2140 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str2141 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2142 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" -@.str2143 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" -@.str2144 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str2145 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" -@.str2146 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" -@.str2147 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" -@.str2148 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2149 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2150 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2151 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str2152 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str2153 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2154 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" -@.str2155 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2156 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" -@.str2157 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" -@.str2158 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" -@.str2159 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" -@.str2160 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" -@.str2161 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" -@.str2162 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" -@.str2163 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" -@.str2164 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" -@.str2165 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" -@.str2166 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" -@.str2167 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" -@.str2168 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" -@.str2169 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" -@.str2170 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" -@.str2171 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" -@.str2172 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" -@.str2173 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" -@.str2174 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" -@.str2175 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" -@.str2176 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" -@.str2177 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" -@.str2178 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" -@.str2179 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" -@.str2180 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" -@.str2181 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" -@.str2182 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" -@.str2183 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" -@.str2184 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" -@.str2185 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" -@.str2186 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" -@.str2187 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" -@.str2188 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" -@.str2189 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" -@.str2190 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" -@.str2191 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" -@.str2192 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" -@.str2193 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" -@.str2194 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" -@.str2195 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" -@.str2196 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" -@.str2197 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" -@.str2198 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" -@.str2199 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" -@.str2200 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" -@.str2201 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" -@.str2202 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" -@.str2203 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" -@.str2204 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" -@.str2205 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" -@.str2206 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" -@.str2207 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" -@.str2208 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" -@.str2209 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" -@.str2210 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" -@.str2211 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" -@.str2212 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" -@.str2213 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" -@.str2214 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" -@.str2215 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" -@.str2216 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" -@.str2217 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" -@.str2218 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" -@.str2219 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" -@.str2220 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" -@.str2221 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str2222 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2223 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_join(ptr %h, ptr %sep) {\0A\00" -@.str2224 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2225 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" -@.str2226 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" -@.str2227 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" -@.str2228 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" -@.str2229 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" -@.str2230 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" -@.str2231 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" -@.str2232 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" -@.str2233 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str2234 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2235 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" -@.str2236 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" -@.str2237 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2238 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" -@.str2239 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" -@.str2240 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" -@.str2241 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" -@.str2242 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" -@.str2243 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" -@.str2244 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" -@.str2245 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" -@.str2246 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" -@.str2247 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2248 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2249 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" -@.str2250 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" -@.str2251 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" -@.str2252 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" -@.str2253 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" -@.str2254 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" -@.str2255 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" -@.str2256 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" -@.str2257 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" -@.str2258 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" -@.str2259 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" -@.str2260 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" -@.str2261 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" -@.str2262 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" -@.str2263 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" -@.str2264 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" -@.str2265 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" -@.str2266 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" -@.str2267 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" -@.str2268 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" -@.str2269 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" -@.str2270 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" -@.str2271 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" -@.str2272 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" -@.str2273 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" -@.str2274 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" -@.str2275 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" -@.str2276 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" -@.str2277 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" -@.str2278 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" -@.str2279 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" -@.str2280 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" -@.str2281 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" -@.str2282 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" -@.str2283 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" -@.str2284 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" -@.str2285 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" -@.str2286 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" -@.str2287 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" -@.str2288 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" -@.str2289 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" -@.str2290 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" -@.str2291 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" -@.str2292 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2293 = private unnamed_addr constant [46 x i8] c"define ptr @fn_str_split(ptr %s, ptr %sep) {\0A\00" -@.str2294 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2295 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" -@.str2296 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" -@.str2297 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" -@.str2298 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" -@.str2299 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" -@.str2300 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" -@.str2301 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" -@.str2302 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" -@.str2303 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" -@.str2304 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" -@.str2305 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" -@.str2306 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" -@.str2307 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" -@.str2308 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" -@.str2309 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" -@.str2310 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" -@.str2311 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" -@.str2312 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" -@.str2313 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" -@.str2314 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" -@.str2315 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" -@.str2316 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" -@.str2317 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" -@.str2318 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" -@.str2319 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" -@.str2320 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" -@.str2321 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" -@.str2322 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" -@.str2323 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" -@.str2324 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" -@.str2325 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" -@.str2326 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" +@.str1928 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1929 = private unnamed_addr constant [7 x i8] c"bottom\00" +@.str1930 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1931 = private unnamed_addr constant [3 x i8] c", \00" +@.str1932 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1933 = private unnamed_addr constant [7 x i8] c"center\00" +@.str1934 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1935 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1936 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1937 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1938 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1939 = private unnamed_addr constant [3 x i8] c", \00" +@.str1940 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1941 = private unnamed_addr constant [3 x i8] c", \00" +@.str1942 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1943 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str1944 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1945 = private unnamed_addr constant [3 x i8] c", \00" +@.str1946 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1947 = private unnamed_addr constant [3 x i8] c", \00" +@.str1948 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str1949 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1950 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str1951 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1952 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str1953 = private unnamed_addr constant [3 x i8] c", \00" +@.str1954 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str1955 = private unnamed_addr constant [3 x i8] c", \00" +@.str1956 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str1957 = private unnamed_addr constant [3 x i8] c", \00" +@.str1958 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1959 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1960 = private unnamed_addr constant [3 x i8] c", \00" +@.str1961 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1962 = private unnamed_addr constant [3 x i8] c", \00" +@.str1963 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1964 = private unnamed_addr constant [3 x i8] c", \00" +@.str1965 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1966 = private unnamed_addr constant [3 x i8] c", \00" +@.str1967 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1968 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1969 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1970 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1971 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str1972 = private unnamed_addr constant [3 x i8] c", \00" +@.str1973 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str1974 = private unnamed_addr constant [3 x i8] c", \00" +@.str1975 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str1976 = private unnamed_addr constant [3 x i8] c", \00" +@.str1977 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1978 = private unnamed_addr constant [7 x i8] c"length\00" +@.str1979 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str1980 = private unnamed_addr constant [6 x i8] c"slice\00" +@.str1981 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str1982 = private unnamed_addr constant [7 x i8] c"concat\00" +@.str1983 = private unnamed_addr constant [7 x i8] c"to_int\00" +@.str1984 = private unnamed_addr constant [9 x i8] c"from_int\00" +@.str1985 = private unnamed_addr constant [12 x i8] c"starts_with\00" +@.str1986 = private unnamed_addr constant [10 x i8] c"ends_with\00" +@.str1987 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str1988 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str1989 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str1990 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str1991 = private unnamed_addr constant [5 x i8] c"trim\00" +@.str1992 = private unnamed_addr constant [7 x i8] c"repeat\00" +@.str1993 = private unnamed_addr constant [9 x i8] c"pad_left\00" +@.str1994 = private unnamed_addr constant [10 x i8] c"pad_right\00" +@.str1995 = private unnamed_addr constant [6 x i8] c"split\00" +@.str1996 = private unnamed_addr constant [5 x i8] c"join\00" +@.str1997 = private unnamed_addr constant [8 x i8] c"replace\00" +@.str1998 = private unnamed_addr constant [9 x i8] c"from_int\00" +@.str1999 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" +@.str2000 = private unnamed_addr constant [2 x i8] c")\00" +@.str2001 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2002 = private unnamed_addr constant [6 x i8] c"slice\00" +@.str2003 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00" +@.str2004 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2005 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2006 = private unnamed_addr constant [2 x i8] c")\00" +@.str2007 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2008 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str2009 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00" +@.str2010 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2011 = private unnamed_addr constant [2 x i8] c")\00" +@.str2012 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2013 = private unnamed_addr constant [7 x i8] c"concat\00" +@.str2014 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" +@.str2015 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2016 = private unnamed_addr constant [2 x i8] c")\00" +@.str2017 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2018 = private unnamed_addr constant [7 x i8] c"length\00" +@.str2019 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str2020 = private unnamed_addr constant [2 x i8] c")\00" +@.str2021 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str2022 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2023 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2024 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str2025 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str2026 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2027 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str2028 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str2029 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2030 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2031 = private unnamed_addr constant [7 x i8] c"to_int\00" +@.str2032 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" +@.str2033 = private unnamed_addr constant [2 x i8] c")\00" +@.str2034 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2035 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str2036 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_upper(ptr \00" +@.str2037 = private unnamed_addr constant [2 x i8] c")\00" +@.str2038 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2039 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str2040 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_lower(ptr \00" +@.str2041 = private unnamed_addr constant [2 x i8] c")\00" +@.str2042 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2043 = private unnamed_addr constant [5 x i8] c"trim\00" +@.str2044 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_trim(ptr \00" +@.str2045 = private unnamed_addr constant [2 x i8] c")\00" +@.str2046 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2047 = private unnamed_addr constant [7 x i8] c"repeat\00" +@.str2048 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_repeat(ptr \00" +@.str2049 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2050 = private unnamed_addr constant [2 x i8] c")\00" +@.str2051 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2052 = private unnamed_addr constant [9 x i8] c"pad_left\00" +@.str2053 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00" +@.str2054 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2055 = private unnamed_addr constant [8 x i8] c", i1 1)\00" +@.str2056 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2057 = private unnamed_addr constant [10 x i8] c"pad_right\00" +@.str2058 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00" +@.str2059 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2060 = private unnamed_addr constant [8 x i8] c", i1 0)\00" +@.str2061 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2062 = private unnamed_addr constant [8 x i8] c"replace\00" +@.str2063 = private unnamed_addr constant [30 x i8] c"call ptr @fn_str_replace(ptr \00" +@.str2064 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2065 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2066 = private unnamed_addr constant [2 x i8] c")\00" +@.str2067 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2068 = private unnamed_addr constant [6 x i8] c"split\00" +@.str2069 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_split(ptr \00" +@.str2070 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2071 = private unnamed_addr constant [2 x i8] c")\00" +@.str2072 = private unnamed_addr constant [9 x i8] c"[]string\00" +@.str2073 = private unnamed_addr constant [5 x i8] c"join\00" +@.str2074 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_join(ptr \00" +@.str2075 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2076 = private unnamed_addr constant [2 x i8] c")\00" +@.str2077 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2078 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str2079 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str2080 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" +@.str2081 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2082 = private unnamed_addr constant [2 x i8] c")\00" +@.str2083 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str2084 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" +@.str2085 = private unnamed_addr constant [7 x i8] c", null\00" +@.str2086 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str2087 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2088 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2089 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str2090 = private unnamed_addr constant [7 x i8] c", null\00" +@.str2091 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" +@.str2092 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str2093 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" +@.str2094 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str2095 = private unnamed_addr constant [9 x i8] c"sub i64 \00" +@.str2096 = private unnamed_addr constant [3 x i8] c", \00" +@.str2097 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str2098 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2099 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str2100 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" +@.str2101 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2102 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str2103 = private unnamed_addr constant [2 x i8] c")\00" +@.str2104 = private unnamed_addr constant [12 x i8] c"starts_with\00" +@.str2105 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" +@.str2106 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2107 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2108 = private unnamed_addr constant [2 x i8] c")\00" +@.str2109 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2110 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2111 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str2112 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2113 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2114 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str2115 = private unnamed_addr constant [2 x i8] c")\00" +@.str2116 = private unnamed_addr constant [9 x i8] c"sub i64 \00" +@.str2117 = private unnamed_addr constant [3 x i8] c", \00" +@.str2118 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2119 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2120 = private unnamed_addr constant [2 x i8] c"0\00" +@.str2121 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" +@.str2122 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2123 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" +@.str2124 = private unnamed_addr constant [7 x i8] c"ew_end\00" +@.str2125 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2126 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2127 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2128 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2129 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2130 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str2131 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2132 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" +@.str2133 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2134 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2135 = private unnamed_addr constant [2 x i8] c")\00" +@.str2136 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2137 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2138 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str2139 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2140 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2141 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2142 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2143 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2144 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str2145 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2146 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_upper(ptr %s) {\0A\00" +@.str2147 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2148 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" +@.str2149 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" +@.str2150 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2151 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2152 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2153 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2154 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2155 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2156 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" +@.str2157 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" +@.str2158 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2159 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2160 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" +@.str2161 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" +@.str2162 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" +@.str2163 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" +@.str2164 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" +@.str2165 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" +@.str2166 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" +@.str2167 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" +@.str2168 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2169 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2170 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2171 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" +@.str2172 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" +@.str2173 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2174 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2175 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2176 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_lower(ptr %s) {\0A\00" +@.str2177 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2178 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" +@.str2179 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" +@.str2180 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2181 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2182 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2183 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2184 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2185 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2186 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" +@.str2187 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" +@.str2188 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2189 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2190 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" +@.str2191 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" +@.str2192 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" +@.str2193 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" +@.str2194 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" +@.str2195 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" +@.str2196 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" +@.str2197 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" +@.str2198 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2199 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2200 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2201 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" +@.str2202 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" +@.str2203 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2204 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2205 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2206 = private unnamed_addr constant [35 x i8] c"define ptr @fn_str_trim(ptr %s) {\0A\00" +@.str2207 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2208 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" +@.str2209 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" +@.str2210 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" +@.str2211 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" +@.str2212 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" +@.str2213 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" +@.str2214 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" +@.str2215 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" +@.str2216 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" +@.str2217 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" +@.str2218 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" +@.str2219 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" +@.str2220 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" +@.str2221 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" +@.str2222 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @fn_is_ws(i8 %c0)\0A\00" +@.str2223 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" +@.str2224 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" +@.str2225 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" +@.str2226 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" +@.str2227 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" +@.str2228 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" +@.str2229 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" +@.str2230 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" +@.str2231 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" +@.str2232 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" +@.str2233 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" +@.str2234 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" +@.str2235 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" +@.str2236 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" +@.str2237 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @fn_is_ws(i8 %c1)\0A\00" +@.str2238 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" +@.str2239 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" +@.str2240 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" +@.str2241 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" +@.str2242 = private unnamed_addr constant [8 x i8] c"build:\0A\00" +@.str2243 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" +@.str2244 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" +@.str2245 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" +@.str2246 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" +@.str2247 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2248 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" +@.str2249 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" +@.str2250 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" +@.str2251 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2252 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2253 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2254 = private unnamed_addr constant [30 x i8] c"define i1 @fn_is_ws(i8 %c) {\0A\00" +@.str2255 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" +@.str2256 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" +@.str2257 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" +@.str2258 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" +@.str2259 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" +@.str2260 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" +@.str2261 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" +@.str2262 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" +@.str2263 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2264 = private unnamed_addr constant [47 x i8] c"define ptr @fn_str_repeat(ptr %s, i32 %n32) {\0A\00" +@.str2265 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2266 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" +@.str2267 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" +@.str2268 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" +@.str2269 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" +@.str2270 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" +@.str2271 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" +@.str2272 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2273 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2274 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2275 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2276 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2277 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2278 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" +@.str2279 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" +@.str2280 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2281 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" +@.str2282 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" +@.str2283 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" +@.str2284 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2285 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2286 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2287 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" +@.str2288 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" +@.str2289 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2290 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2291 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2292 = private unnamed_addr constant [54 x i8] c"define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" +@.str2293 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2294 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" +@.str2295 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" +@.str2296 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" +@.str2297 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" +@.str2298 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" +@.str2299 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" +@.str2300 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" +@.str2301 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" +@.str2302 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" +@.str2303 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" +@.str2304 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" +@.str2305 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" +@.str2306 = private unnamed_addr constant [5 x i8] c"do:\0A\00" +@.str2307 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" +@.str2308 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" +@.str2309 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2310 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" +@.str2311 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" +@.str2312 = private unnamed_addr constant [52 x i8] c" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" +@.str2313 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" +@.str2314 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" +@.str2315 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" +@.str2316 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" +@.str2317 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" +@.str2318 = private unnamed_addr constant [53 x i8] c" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" +@.str2319 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" +@.str2320 = private unnamed_addr constant [7 x i8] c"term:\0A\00" +@.str2321 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" +@.str2322 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2323 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2324 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2325 = private unnamed_addr constant [61 x i8] c"define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" +@.str2326 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2327 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str2328 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2329 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" -@.str2330 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" +@.str2329 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2330 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str2331 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2332 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" -@.str2333 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" -@.str2334 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" -@.str2335 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" -@.str2336 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" -@.str2337 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" -@.str2338 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" -@.str2339 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" -@.str2340 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" -@.str2341 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" -@.str2342 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" -@.str2343 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" -@.str2344 = private unnamed_addr constant [7 x i8] c"last:\0A\00" -@.str2345 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" -@.str2346 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" -@.str2347 = private unnamed_addr constant [8 x i8] c"store:\0A\00" -@.str2348 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" -@.str2349 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" -@.str2350 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" -@.str2351 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" -@.str2352 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" -@.str2353 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" -@.str2354 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" -@.str2355 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" -@.str2356 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" -@.str2357 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" -@.str2358 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" -@.str2359 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2360 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2361 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" -@.str2362 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str2363 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" -@.str2364 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2365 = private unnamed_addr constant [3 x i8] c"of\00" -@.str2366 = private unnamed_addr constant [6 x i8] c"fnv1a\00" -@.str2367 = private unnamed_addr constant [6 x i8] c"crc32\00" -@.str2368 = private unnamed_addr constant [4 x i8] c"mix\00" -@.str2369 = private unnamed_addr constant [8 x i8] c"combine\00" -@.str2370 = private unnamed_addr constant [5 x i8] c"of64\00" -@.str2371 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" -@.str2372 = private unnamed_addr constant [6 x i8] c"mix64\00" -@.str2373 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" -@.str2374 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str2375 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str2376 = private unnamed_addr constant [3 x i8] c", \00" -@.str2377 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str2378 = private unnamed_addr constant [14 x i8] c", -2048144789\00" -@.str2379 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" -@.str2380 = private unnamed_addr constant [5 x i8] c", 13\00" -@.str2381 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str2382 = private unnamed_addr constant [3 x i8] c", \00" -@.str2383 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str2384 = private unnamed_addr constant [14 x i8] c", -1028477387\00" -@.str2385 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" -@.str2386 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str2387 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str2388 = private unnamed_addr constant [3 x i8] c", \00" -@.str2389 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" -@.str2390 = private unnamed_addr constant [5 x i8] c", 33\00" -@.str2391 = private unnamed_addr constant [9 x i8] c"xor i64 \00" -@.str2392 = private unnamed_addr constant [3 x i8] c", \00" -@.str2393 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str2394 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" -@.str2395 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" -@.str2396 = private unnamed_addr constant [5 x i8] c", 33\00" -@.str2397 = private unnamed_addr constant [9 x i8] c"xor i64 \00" -@.str2398 = private unnamed_addr constant [3 x i8] c", \00" -@.str2399 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str2400 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" -@.str2401 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" -@.str2402 = private unnamed_addr constant [5 x i8] c", 33\00" -@.str2403 = private unnamed_addr constant [9 x i8] c"xor i64 \00" -@.str2404 = private unnamed_addr constant [3 x i8] c", \00" -@.str2405 = private unnamed_addr constant [3 x i8] c"of\00" -@.str2406 = private unnamed_addr constant [6 x i8] c"fnv1a\00" -@.str2407 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_fnv1a(ptr \00" -@.str2408 = private unnamed_addr constant [2 x i8] c")\00" -@.str2409 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2410 = private unnamed_addr constant [5 x i8] c"of64\00" -@.str2411 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" -@.str2412 = private unnamed_addr constant [32 x i8] c"call i64 @fn_hash_fnv1a_64(ptr \00" -@.str2413 = private unnamed_addr constant [2 x i8] c")\00" -@.str2414 = private unnamed_addr constant [5 x i8] c"long\00" -@.str2415 = private unnamed_addr constant [6 x i8] c"mix64\00" -@.str2416 = private unnamed_addr constant [5 x i8] c"long\00" -@.str2417 = private unnamed_addr constant [6 x i8] c"crc32\00" -@.str2418 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_crc32(ptr \00" -@.str2419 = private unnamed_addr constant [2 x i8] c")\00" -@.str2420 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2421 = private unnamed_addr constant [4 x i8] c"mix\00" -@.str2422 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2423 = private unnamed_addr constant [2 x i8] c"0\00" -@.str2424 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str2425 = private unnamed_addr constant [14 x i8] c", -1640531527\00" -@.str2426 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str2427 = private unnamed_addr constant [4 x i8] c", 6\00" -@.str2428 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" -@.str2429 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str2430 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str2431 = private unnamed_addr constant [3 x i8] c", \00" -@.str2432 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str2433 = private unnamed_addr constant [3 x i8] c", \00" -@.str2434 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str2435 = private unnamed_addr constant [3 x i8] c", \00" -@.str2436 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2437 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_fnv1a(ptr %s) {\0A\00" -@.str2438 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2439 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" -@.str2440 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" -@.str2441 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str2442 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2443 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2444 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str2445 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2446 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" -@.str2447 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" -@.str2448 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" -@.str2449 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" -@.str2450 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str2451 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" -@.str2452 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" -@.str2453 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" -@.str2454 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" -@.str2455 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" -@.str2456 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2457 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2458 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2459 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str2460 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" -@.str2461 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" -@.str2462 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2463 = private unnamed_addr constant [40 x i8] c"define i64 @fn_hash_fnv1a_64(ptr %s) {\0A\00" -@.str2464 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2465 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" -@.str2466 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" -@.str2467 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str2468 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2469 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2470 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str2471 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2472 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" -@.str2473 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" -@.str2474 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" -@.str2475 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" -@.str2476 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str2477 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" -@.str2478 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" -@.str2479 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" -@.str2480 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" -@.str2481 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" -@.str2482 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2483 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2484 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2485 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str2486 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" -@.str2487 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" -@.str2488 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2489 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_crc32(ptr %s) {\0A\00" -@.str2490 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2491 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" -@.str2492 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" -@.str2493 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" -@.str2494 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" -@.str2495 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" -@.str2496 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2497 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" -@.str2498 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" -@.str2499 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" -@.str2500 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" -@.str2501 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" -@.str2502 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" -@.str2503 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str2504 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" -@.str2505 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" -@.str2506 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" -@.str2507 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" -@.str2508 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" -@.str2509 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" -@.str2510 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" -@.str2511 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str2512 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" -@.str2513 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" -@.str2514 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" -@.str2515 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" -@.str2516 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" -@.str2517 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" -@.str2518 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" -@.str2519 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" -@.str2520 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" -@.str2521 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" -@.str2522 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" -@.str2523 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" -@.str2524 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" -@.str2525 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" -@.str2526 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" -@.str2527 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" -@.str2528 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" -@.str2529 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str2530 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" -@.str2531 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" -@.str2532 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" -@.str2533 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str2534 = private unnamed_addr constant [7 x i8] c"sha256\00" -@.str2535 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" -@.str2536 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" -@.str2537 = private unnamed_addr constant [4 x i8] c"hex\00" -@.str2538 = private unnamed_addr constant [9 x i8] c"ct_equal\00" -@.str2539 = private unnamed_addr constant [13 x i8] c"random_bytes\00" -@.str2540 = private unnamed_addr constant [11 x i8] c"random_hex\00" -@.str2541 = private unnamed_addr constant [11 x i8] c"random_u32\00" -@.str2542 = private unnamed_addr constant [7 x i8] c"base64\00" -@.str2543 = private unnamed_addr constant [7 x i8] c"sha256\00" -@.str2544 = private unnamed_addr constant [29 x i8] c"call ptr @fn_sha256_hex(ptr \00" -@.str2545 = private unnamed_addr constant [2 x i8] c")\00" -@.str2546 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2547 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" -@.str2548 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00" -@.str2549 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2550 = private unnamed_addr constant [2 x i8] c")\00" -@.str2551 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2552 = private unnamed_addr constant [4 x i8] c"hex\00" -@.str2553 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_hex(ptr \00" -@.str2554 = private unnamed_addr constant [2 x i8] c")\00" -@.str2555 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2556 = private unnamed_addr constant [9 x i8] c"ct_equal\00" -@.str2557 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00" -@.str2558 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2559 = private unnamed_addr constant [2 x i8] c")\00" -@.str2560 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str2561 = private unnamed_addr constant [13 x i8] c"random_bytes\00" -@.str2562 = private unnamed_addr constant [11 x i8] c"random_hex\00" -@.str2563 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str2564 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str2565 = private unnamed_addr constant [29 x i8] c"call ptr @fn_random_hex(i64 \00" -@.str2566 = private unnamed_addr constant [2 x i8] c")\00" -@.str2567 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2568 = private unnamed_addr constant [11 x i8] c"random_u32\00" -@.str2569 = private unnamed_addr constant [26 x i8] c"call i32 @fn_random_u32()\00" -@.str2570 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2571 = private unnamed_addr constant [7 x i8] c"base64\00" -@.str2572 = private unnamed_addr constant [25 x i8] c"call ptr @fn_base64(ptr \00" -@.str2573 = private unnamed_addr constant [2 x i8] c")\00" -@.str2574 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2575 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00" -@.str2576 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2577 = private unnamed_addr constant [2 x i8] c")\00" -@.str2578 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00" -@.str2579 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2580 = private unnamed_addr constant [2 x i8] c")\00" -@.str2581 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str2582 = private unnamed_addr constant [1083 x i8] c"@sha256_K = private unnamed_addr constant [64 x i32] [i32 1116352408, i32 1899447441, i32 -1245643825, i32 -373957723, i32 961987163, i32 1508970993, i32 -1841331548, i32 -1424204075, i32 -670586216, i32 310598401, i32 607225278, i32 1426881987, i32 1925078388, i32 -2132889090, i32 -1680079193, i32 -1046744716, i32 -459576895, i32 -272742522, i32 264347078, i32 604807628, i32 770255983, i32 1249150122, i32 1555081692, i32 1996064986, i32 -1740746414, i32 -1473132947, i32 -1341970488, i32 -1084653625, i32 -958395405, i32 -710438585, i32 113926993, i32 338241895, i32 666307205, i32 773529912, i32 1294757372, i32 1396182291, i32 1695183700, i32 1986661051, i32 -2117940946, i32 -1838011259, i32 -1564481375, i32 -1474664885, i32 -1035236496, i32 -949202525, i32 -778901479, i32 -694614492, i32 -200395387, i32 275423344, i32 430227734, i32 506948616, i32 659060556, i32 883997877, i32 958139571, i32 1322822218, i32 1537002063, i32 1747873779, i32 1955562222, i32 2024104815, i32 -2067236844, i32 -1933114872, i32 -1866530822, i32 -1538233109, i32 -1090935817, i32 -965641998]\0A\00" -@.str2583 = private unnamed_addr constant [41 x i8] c"define i32 @fn_rotr32(i32 %x, i32 %n) {\0A\00" -@.str2584 = private unnamed_addr constant [104 x i8] c" %r = lshr i32 %x, %n\0A %m = sub i32 32, %n\0A %l = shl i32 %x, %m\0A %o = or i32 %r, %l\0A ret i32 %o\0A}\0A\00" -@.str2585 = private unnamed_addr constant [60 x i8] c"define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" -@.str2586 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2587 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" -@.str2588 = private unnamed_addr constant [145 x i8] c" %a = alloca i32\0A %b = alloca i32\0A %c = alloca i32\0A %d = alloca i32\0A %e = alloca i32\0A %f = alloca i32\0A %g = alloca i32\0A %h = alloca i32\0A\00" -@.str2589 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" -@.str2590 = private unnamed_addr constant [95 x i8] c" %e0 = add i64 %len, 8\0A %e1 = lshr i64 %e0, 6\0A %e2 = add i64 %e1, 1\0A %pl = shl i64 %e2, 6\0A\00" -@.str2591 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" -@.str2592 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" -@.str2593 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" -@.str2594 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" -@.str2595 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" -@.str2596 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" -@.str2597 = private unnamed_addr constant [104 x i8] c"lenc:\0A %lj = load i64, ptr %ip\0A %ljlt = icmp slt i64 %lj, 8\0A br i1 %ljlt, label %lenb, label %hinit\0A\00" -@.str2598 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" -@.str2599 = private unnamed_addr constant [113 x i8] c" %lj8 = mul i64 %lj, 8\0A %lsh = sub i64 56, %lj8\0A %lbsh = lshr i64 %bits, %lsh\0A %lbb = trunc i64 %lbsh to i8\0A\00" -@.str2600 = private unnamed_addr constant [128 x i8] c" %lpm8 = sub i64 %pl, 8\0A %lpos = add i64 %lpm8, %lj\0A %lpp = getelementptr i8, ptr %buf, i64 %lpos\0A store i8 %lbb, ptr %lpp\0A\00" -@.str2601 = private unnamed_addr constant [68 x i8] c" %lj1 = add i64 %lj, 1\0A store i64 %lj1, ptr %ip\0A br label %lenc\0A\00" -@.str2602 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" -@.str2603 = private unnamed_addr constant [87 x i8] c" %H0 = getelementptr [8 x i32], ptr %H, i64 0, i64 0\0A store i32 1779033703, ptr %H0\0A\00" -@.str2604 = private unnamed_addr constant [88 x i8] c" %H1 = getelementptr [8 x i32], ptr %H, i64 0, i64 1\0A store i32 -1150833019, ptr %H1\0A\00" -@.str2605 = private unnamed_addr constant [87 x i8] c" %H2 = getelementptr [8 x i32], ptr %H, i64 0, i64 2\0A store i32 1013904242, ptr %H2\0A\00" -@.str2606 = private unnamed_addr constant [88 x i8] c" %H3 = getelementptr [8 x i32], ptr %H, i64 0, i64 3\0A store i32 -1521486534, ptr %H3\0A\00" -@.str2607 = private unnamed_addr constant [87 x i8] c" %H4 = getelementptr [8 x i32], ptr %H, i64 0, i64 4\0A store i32 1359893119, ptr %H4\0A\00" -@.str2608 = private unnamed_addr constant [88 x i8] c" %H5 = getelementptr [8 x i32], ptr %H, i64 0, i64 5\0A store i32 -1694144372, ptr %H5\0A\00" -@.str2609 = private unnamed_addr constant [86 x i8] c" %H6 = getelementptr [8 x i32], ptr %H, i64 0, i64 6\0A store i32 528734635, ptr %H6\0A\00" -@.str2610 = private unnamed_addr constant [87 x i8] c" %H7 = getelementptr [8 x i32], ptr %H, i64 0, i64 7\0A store i32 1541459225, ptr %H7\0A\00" -@.str2611 = private unnamed_addr constant [65 x i8] c" %nb = lshr i64 %pl, 6\0A store i64 0, ptr %bp\0A br label %blkc\0A\00" -@.str2612 = private unnamed_addr constant [103 x i8] c"blkc:\0A %bi = load i64, ptr %bp\0A %blt = icmp ult i64 %bi, %nb\0A br i1 %blt, label %blkb, label %outp\0A\00" -@.str2613 = private unnamed_addr constant [80 x i8] c"blkb:\0A %bi64 = shl i64 %bi, 6\0A %base = getelementptr i8, ptr %buf, i64 %bi64\0A\00" -@.str2614 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" -@.str2615 = private unnamed_addr constant [104 x i8] c"w1c:\0A %wi = load i64, ptr %ip\0A %wilt = icmp slt i64 %wi, 16\0A br i1 %wilt, label %w1b, label %w2init\0A\00" -@.str2616 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" -@.str2617 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" -@.str2618 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" -@.str2619 = private unnamed_addr constant [100 x i8] c" %wo1 = add i64 %wi4, 1\0A %wp1 = getelementptr i8, ptr %base, i64 %wo1\0A %wc1 = load i8, ptr %wp1\0A\00" -@.str2620 = private unnamed_addr constant [100 x i8] c" %wo2 = add i64 %wi4, 2\0A %wp2 = getelementptr i8, ptr %base, i64 %wo2\0A %wc2 = load i8, ptr %wp2\0A\00" -@.str2621 = private unnamed_addr constant [100 x i8] c" %wo3 = add i64 %wi4, 3\0A %wp3 = getelementptr i8, ptr %base, i64 %wo3\0A %wc3 = load i8, ptr %wp3\0A\00" -@.str2622 = private unnamed_addr constant [117 x i8] c" %wz0 = zext i8 %wc0 to i32\0A %wz1 = zext i8 %wc1 to i32\0A %wz2 = zext i8 %wc2 to i32\0A %wz3 = zext i8 %wc3 to i32\0A\00" -@.str2623 = private unnamed_addr constant [80 x i8] c" %ws24 = shl i32 %wz0, 24\0A %ws16 = shl i32 %wz1, 16\0A %ws8 = shl i32 %wz2, 8\0A\00" -@.str2624 = private unnamed_addr constant [89 x i8] c" %wor1 = or i32 %ws24, %ws16\0A %wor2 = or i32 %wor1, %ws8\0A %word = or i32 %wor2, %wz3\0A\00" -@.str2625 = private unnamed_addr constant [87 x i8] c" %wwp = getelementptr [64 x i32], ptr %W, i64 0, i64 %wi\0A store i32 %word, ptr %wwp\0A\00" -@.str2626 = private unnamed_addr constant [67 x i8] c" %wi1 = add i64 %wi, 1\0A store i64 %wi1, ptr %ip\0A br label %w1c\0A\00" -@.str2627 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" -@.str2628 = private unnamed_addr constant [106 x i8] c"w2c:\0A %xi = load i64, ptr %ip\0A %xilt = icmp slt i64 %xi, 64\0A br i1 %xilt, label %w2b, label %compinit\0A\00" -@.str2629 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" -@.str2630 = private unnamed_addr constant [117 x i8] c" %im15 = sub i64 %xi, 15\0A %pm15 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im15\0A %w15 = load i32, ptr %pm15\0A\00" -@.str2631 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @fn_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @fn_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00" -@.str2632 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" -@.str2633 = private unnamed_addr constant [112 x i8] c" %im2 = sub i64 %xi, 2\0A %pm2 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im2\0A %w2v = load i32, ptr %pm2\0A\00" -@.str2634 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @fn_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @fn_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00" -@.str2635 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" -@.str2636 = private unnamed_addr constant [117 x i8] c" %im16 = sub i64 %xi, 16\0A %pm16 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im16\0A %w16 = load i32, ptr %pm16\0A\00" -@.str2637 = private unnamed_addr constant [111 x i8] c" %im7 = sub i64 %xi, 7\0A %pm7 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im7\0A %w7 = load i32, ptr %pm7\0A\00" -@.str2638 = private unnamed_addr constant [81 x i8] c" %wa1 = add i32 %w16, %s0\0A %wa2 = add i32 %wa1, %w7\0A %wv = add i32 %wa2, %s1\0A\00" -@.str2639 = private unnamed_addr constant [85 x i8] c" %wpi = getelementptr [64 x i32], ptr %W, i64 0, i64 %xi\0A store i32 %wv, ptr %wpi\0A\00" -@.str2640 = private unnamed_addr constant [67 x i8] c" %xi1 = add i64 %xi, 1\0A store i64 %xi1, ptr %ip\0A br label %w2c\0A\00" -@.str2641 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" -@.str2642 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" -@.str2643 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" -@.str2644 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" -@.str2645 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" -@.str2646 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" -@.str2647 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" -@.str2648 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" -@.str2649 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" -@.str2650 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" -@.str2651 = private unnamed_addr constant [98 x i8] c"rc:\0A %ri = load i64, ptr %ip\0A %rlt = icmp slt i64 %ri, 64\0A br i1 %rlt, label %rb, label %addH\0A\00" -@.str2652 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" -@.str2653 = private unnamed_addr constant [102 x i8] c" %av = load i32, ptr %a\0A %bv = load i32, ptr %b\0A %cvv = load i32, ptr %c\0A %dv = load i32, ptr %d\0A\00" -@.str2654 = private unnamed_addr constant [101 x i8] c" %ev = load i32, ptr %e\0A %fv = load i32, ptr %f\0A %gv = load i32, ptr %g\0A %hv = load i32, ptr %h\0A\00" -@.str2655 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @fn_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @fn_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @fn_rotr32(i32 %ev, i32 25)\0A\00" -@.str2656 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" -@.str2657 = private unnamed_addr constant [102 x i8] c" %ef = and i32 %ev, %fv\0A %ne = xor i32 %ev, -1\0A %neg = and i32 %ne, %gv\0A %ch = xor i32 %ef, %neg\0A\00" -@.str2658 = private unnamed_addr constant [91 x i8] c" %kp = getelementptr [64 x i32], ptr @sha256_K, i64 0, i64 %ri\0A %kv = load i32, ptr %kp\0A\00" -@.str2659 = private unnamed_addr constant [87 x i8] c" %wpr = getelementptr [64 x i32], ptr %W, i64 0, i64 %ri\0A %wvr = load i32, ptr %wpr\0A\00" -@.str2660 = private unnamed_addr constant [111 x i8] c" %t1a = add i32 %hv, %S1\0A %t1b = add i32 %t1a, %ch\0A %t1c = add i32 %t1b, %kv\0A %temp1 = add i32 %t1c, %wvr\0A\00" -@.str2661 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @fn_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @fn_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @fn_rotr32(i32 %av, i32 22)\0A\00" -@.str2662 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" -@.str2663 = private unnamed_addr constant [131 x i8] c" %ab = and i32 %av, %bv\0A %ac = and i32 %av, %cvv\0A %bc = and i32 %bv, %cvv\0A %mj1 = xor i32 %ab, %ac\0A %maj = xor i32 %mj1, %bc\0A\00" -@.str2664 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" -@.str2665 = private unnamed_addr constant [73 x i8] c" store i32 %gv, ptr %h\0A store i32 %fv, ptr %g\0A store i32 %ev, ptr %f\0A\00" -@.str2666 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" -@.str2667 = private unnamed_addr constant [74 x i8] c" store i32 %cvv, ptr %d\0A store i32 %bv, ptr %c\0A store i32 %av, ptr %b\0A\00" -@.str2668 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" -@.str2669 = private unnamed_addr constant [66 x i8] c" %rin = add i64 %ri, 1\0A store i64 %rin, ptr %ip\0A br label %rc\0A\00" -@.str2670 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" -@.str2671 = private unnamed_addr constant [106 x i8] c" %fa = load i32, ptr %a\0A %lH0 = load i32, ptr %H0\0A %nH0 = add i32 %lH0, %fa\0A store i32 %nH0, ptr %H0\0A\00" -@.str2672 = private unnamed_addr constant [106 x i8] c" %fb = load i32, ptr %b\0A %lH1 = load i32, ptr %H1\0A %nH1 = add i32 %lH1, %fb\0A store i32 %nH1, ptr %H1\0A\00" -@.str2673 = private unnamed_addr constant [106 x i8] c" %fc = load i32, ptr %c\0A %lH2 = load i32, ptr %H2\0A %nH2 = add i32 %lH2, %fc\0A store i32 %nH2, ptr %H2\0A\00" -@.str2674 = private unnamed_addr constant [106 x i8] c" %fd = load i32, ptr %d\0A %lH3 = load i32, ptr %H3\0A %nH3 = add i32 %lH3, %fd\0A store i32 %nH3, ptr %H3\0A\00" -@.str2675 = private unnamed_addr constant [106 x i8] c" %fe = load i32, ptr %e\0A %lH4 = load i32, ptr %H4\0A %nH4 = add i32 %lH4, %fe\0A store i32 %nH4, ptr %H4\0A\00" -@.str2676 = private unnamed_addr constant [106 x i8] c" %ff = load i32, ptr %f\0A %lH5 = load i32, ptr %H5\0A %nH5 = add i32 %lH5, %ff\0A store i32 %nH5, ptr %H5\0A\00" -@.str2677 = private unnamed_addr constant [106 x i8] c" %fg = load i32, ptr %g\0A %lH6 = load i32, ptr %H6\0A %nH6 = add i32 %lH6, %fg\0A store i32 %nH6, ptr %H6\0A\00" -@.str2678 = private unnamed_addr constant [106 x i8] c" %fh = load i32, ptr %h\0A %lH7 = load i32, ptr %H7\0A %nH7 = add i32 %lH7, %fh\0A store i32 %nH7, ptr %H7\0A\00" -@.str2679 = private unnamed_addr constant [70 x i8] c" %binc = add i64 %bi, 1\0A store i64 %binc, ptr %bp\0A br label %blkc\0A\00" -@.str2680 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" -@.str2681 = private unnamed_addr constant [98 x i8] c"oc:\0A %oi = load i64, ptr %ip\0A %olt = icmp slt i64 %oi, 8\0A br i1 %olt, label %ob, label %freeb\0A\00" -@.str2682 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" -@.str2683 = private unnamed_addr constant [111 x i8] c" %hpp = getelementptr [8 x i32], ptr %H, i64 0, i64 %oi\0A %hval = load i32, ptr %hpp\0A %oi4 = shl i64 %oi, 2\0A\00" -@.str2684 = private unnamed_addr constant [137 x i8] c" %ob24 = lshr i32 %hval, 24\0A %obb24 = trunc i32 %ob24 to i8\0A %op0 = getelementptr i8, ptr %out, i64 %oi4\0A store i8 %obb24, ptr %op0\0A\00" -@.str2685 = private unnamed_addr constant [162 x i8] c" %ob16 = lshr i32 %hval, 16\0A %obb16 = trunc i32 %ob16 to i8\0A %oo1 = add i64 %oi4, 1\0A %op1 = getelementptr i8, ptr %out, i64 %oo1\0A store i8 %obb16, ptr %op1\0A\00" -@.str2686 = private unnamed_addr constant [157 x i8] c" %ob8 = lshr i32 %hval, 8\0A %obb8 = trunc i32 %ob8 to i8\0A %oo2 = add i64 %oi4, 2\0A %op2 = getelementptr i8, ptr %out, i64 %oo2\0A store i8 %obb8, ptr %op2\0A\00" -@.str2687 = private unnamed_addr constant [131 x i8] c" %obb0 = trunc i32 %hval to i8\0A %oo3 = add i64 %oi4, 3\0A %op3 = getelementptr i8, ptr %out, i64 %oo3\0A store i8 %obb0, ptr %op3\0A\00" -@.str2688 = private unnamed_addr constant [66 x i8] c" %oin = add i64 %oi, 1\0A store i64 %oin, ptr %ip\0A br label %oc\0A\00" -@.str2689 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" -@.str2690 = private unnamed_addr constant [35 x i8] c"define i8 @fn_hex_digit(i32 %d) {\0A\00" -@.str2691 = private unnamed_addr constant [134 x i8] c" %lt = icmp ult i32 %d, 10\0A %base = select i1 %lt, i32 48, i32 87\0A %v = add i32 %base, %d\0A %c = trunc i32 %v to i8\0A ret i8 %c\0A}\0A\00" -@.str2692 = private unnamed_addr constant [46 x i8] c"define ptr @fn_hex_encode(ptr %in, i64 %n) {\0A\00" -@.str2693 = private unnamed_addr constant [152 x i8] c"entry:\0A %ip = alloca i64\0A %olen = shl i64 %n, 1\0A %olen1 = add i64 %olen, 1\0A %s = call ptr @malloc(i64 %olen1)\0A store i64 0, ptr %ip\0A br label %c\0A\00" -@.str2694 = private unnamed_addr constant [94 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %n\0A br i1 %lt, label %bdy, label %done\0A\00" -@.str2695 = private unnamed_addr constant [104 x i8] c"bdy:\0A %pp = getelementptr i8, ptr %in, i64 %i\0A %byte = load i8, ptr %pp\0A %bz = zext i8 %byte to i32\0A\00" -@.str2696 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @fn_hex_digit(i32 %hi)\0A %lc = call i8 @fn_hex_digit(i32 %lo)\0A\00" -@.str2697 = private unnamed_addr constant [180 x i8] c" %oi = shl i64 %i, 1\0A %o0 = getelementptr i8, ptr %s, i64 %oi\0A store i8 %hc, ptr %o0\0A %oi1 = add i64 %oi, 1\0A %o1 = getelementptr i8, ptr %s, i64 %oi1\0A store i8 %lc, ptr %o1\0A\00" -@.str2698 = private unnamed_addr constant [64 x i8] c" %in1 = add i64 %i, 1\0A store i64 %in1, ptr %ip\0A br label %c\0A\00" -@.str2699 = private unnamed_addr constant [88 x i8] c"done:\0A %tp = getelementptr i8, ptr %s, i64 %olen\0A store i8 0, ptr %tp\0A ret ptr %s\0A}\0A\00" -@.str2700 = private unnamed_addr constant [37 x i8] c"define ptr @fn_sha256_hex(ptr %s) {\0A\00" -@.str2701 = private unnamed_addr constant [124 x i8] c"entry:\0A %dig = alloca [32 x i8]\0A %len = call i64 @strlen(ptr %s)\0A %dp = getelementptr [32 x i8], ptr %dig, i64 0, i64 0\0A\00" -@.str2702 = private unnamed_addr constant [122 x i8] c" call void @fn_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @fn_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00" -@.str2703 = private unnamed_addr constant [34 x i8] c"define ptr @fn_str_hex(ptr %s) {\0A\00" -@.str2704 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @fn_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00" -@.str2705 = private unnamed_addr constant [55 x i8] c"define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" -@.str2706 = private unnamed_addr constant [64 x i8] c"entry:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %c\0A\00" -@.str2707 = private unnamed_addr constant [89 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 64\0A br i1 %lt, label %b, label %d\0A\00" -@.str2708 = private unnamed_addr constant [281 x i8] c"b:\0A %sp = getelementptr i8, ptr %src, i64 %i\0A %sv = load i8, ptr %sp\0A %sz = zext i8 %sv to i32\0A %xr = xor i32 %sz, %pad\0A %xb = trunc i32 %xr to i8\0A %dp = getelementptr i8, ptr %dst, i64 %i\0A store i8 %xb, ptr %dp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00" -@.str2709 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" -@.str2710 = private unnamed_addr constant [54 x i8] c"define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" -@.str2711 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" -@.str2712 = private unnamed_addr constant [109 x i8] c" %k0 = alloca [64 x i8]\0A %inner = alloca [32 x i8]\0A %outbuf = alloca [96 x i8]\0A %fin = alloca [32 x i8]\0A\00" -@.str2713 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" -@.str2714 = private unnamed_addr constant [101 x i8] c" %k0p = getelementptr [64 x i8], ptr %k0, i64 0, i64 0\0A call ptr @memset(ptr %k0p, i32 0, i64 64)\0A\00" -@.str2715 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" -@.str2716 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @fn_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00" -@.str2717 = private unnamed_addr constant [75 x i8] c"copyk:\0A call ptr @memcpy(ptr %k0p, ptr %key, i64 %klen)\0A br label %pads\0A\00" -@.str2718 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" -@.str2719 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" -@.str2720 = private unnamed_addr constant [53 x i8] c" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" -@.str2721 = private unnamed_addr constant [101 x i8] c" %inmsg = getelementptr i8, ptr %inbuf, i64 64\0A call ptr @memcpy(ptr %inmsg, ptr %msg, i64 %mlen)\0A\00" -@.str2722 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00" -@.str2723 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @fn_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00" -@.str2724 = private unnamed_addr constant [104 x i8] c" %outmsg = getelementptr i8, ptr %outbuf, i64 64\0A call ptr @memcpy(ptr %outmsg, ptr %innerp, i64 32)\0A\00" -@.str2725 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00" -@.str2726 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @fn_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00" -@.str2727 = private unnamed_addr constant [43 x i8] c"define i32 @fn_ct_streq(ptr %a, ptr %b) {\0A\00" -@.str2728 = private unnamed_addr constant [183 x i8] c"entry:\0A %accp = alloca i32\0A %ip = alloca i64\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eqlen = icmp eq i64 %la, %lb\0A br i1 %eqlen, label %go, label %ne\0A\00" -@.str2729 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" -@.str2730 = private unnamed_addr constant [67 x i8] c"go:\0A store i32 0, ptr %accp\0A store i64 0, ptr %ip\0A br label %c\0A\00" -@.str2731 = private unnamed_addr constant [92 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %bdy, label %d\0A\00" -@.str2732 = private unnamed_addr constant [327 x i8] c"bdy:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %va = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %vb = load i8, ptr %pb\0A %x = xor i8 %va, %vb\0A %xz = zext i8 %x to i32\0A %ac = load i32, ptr %accp\0A %ao = or i32 %ac, %xz\0A store i32 %ao, ptr %accp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00" -@.str2733 = private unnamed_addr constant [102 x i8] c"d:\0A %finv = load i32, ptr %accp\0A %z = icmp eq i32 %finv, 0\0A %r = zext i1 %z to i32\0A ret i32 %r\0A}\0A\00" -@.str2734 = private unnamed_addr constant [78 x i8] c"@.ludic_urandom = private unnamed_addr constant [13 x i8] c\22/dev/urandom\5C00\22\0A\00" -@.str2735 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" -@.str2736 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" -@.str2737 = private unnamed_addr constant [50 x i8] c"define void @fn_secure_bytes(ptr %out, i64 %n) {\0A\00" -@.str2738 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" -@.str2739 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" -@.str2740 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" -@.str2741 = private unnamed_addr constant [108 x i8] c"ok:\0A %rd = call i64 @fread(ptr %out, i64 1, i64 %n, ptr %fp)\0A %cl = call i32 @fclose(ptr %fp)\0A ret void\0A\00" -@.str2742 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" -@.str2743 = private unnamed_addr constant [37 x i8] c"define ptr @fn_random_hex(i64 %n) {\0A\00" -@.str2744 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @fn_secure_bytes(ptr %buf, i64 %n)\0A\00" -@.str2745 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @fn_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00" -@.str2746 = private unnamed_addr constant [31 x i8] c"define i32 @fn_random_u32() {\0A\00" -@.str2747 = private unnamed_addr constant [129 x i8] c"entry:\0A %b = alloca [4 x i8]\0A %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 4)\0A\00" -@.str2748 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr i8, ptr %bp, i64 0\0A %c0 = load i8, ptr %p0\0A %z0 = zext i8 %c0 to i32\0A\00" -@.str2749 = private unnamed_addr constant [117 x i8] c" %p1 = getelementptr i8, ptr %bp, i64 1\0A %c1 = load i8, ptr %p1\0A %z1 = zext i8 %c1 to i32\0A %s1 = shl i32 %z1, 8\0A\00" -@.str2750 = private unnamed_addr constant [118 x i8] c" %p2 = getelementptr i8, ptr %bp, i64 2\0A %c2 = load i8, ptr %p2\0A %z2 = zext i8 %c2 to i32\0A %s2 = shl i32 %z2, 16\0A\00" -@.str2751 = private unnamed_addr constant [118 x i8] c" %p3 = getelementptr i8, ptr %bp, i64 3\0A %c3 = load i8, ptr %p3\0A %z3 = zext i8 %c3 to i32\0A %s3 = shl i32 %z3, 24\0A\00" -@.str2752 = private unnamed_addr constant [89 x i8] c" %o1 = or i32 %z0, %s1\0A %o2 = or i32 %o1, %s2\0A %o3 = or i32 %o2, %s3\0A ret i32 %o3\0A}\0A\00" -@.str2753 = private unnamed_addr constant [33 x i8] c"define ptr @fn_base64(ptr %s) {\0A\00" -@.str2754 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" -@.str2755 = private unnamed_addr constant [74 x i8] c" %n2 = add i64 %n, 2\0A %grp = udiv i64 %n2, 3\0A %bufn = mul i64 %grp, 3\0A\00" -@.str2756 = private unnamed_addr constant [93 x i8] c" %olen = mul i64 %grp, 4\0A %olen1 = add i64 %olen, 1\0A %out = call ptr @malloc(i64 %olen1)\0A\00" -@.str2757 = private unnamed_addr constant [136 x i8] c" %inbuf = call ptr @malloc(i64 %bufn)\0A call ptr @memset(ptr %inbuf, i32 0, i64 %bufn)\0A call ptr @memcpy(ptr %inbuf, ptr %s, i64 %n)\0A\00" -@.str2758 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" -@.str2759 = private unnamed_addr constant [101 x i8] c"cond:\0A %gi = load i64, ptr %gp\0A %lt = icmp ult i64 %gi, %grp\0A br i1 %lt, label %body, label %pad\0A\00" -@.str2760 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" -@.str2761 = private unnamed_addr constant [103 x i8] c" %ip0 = getelementptr i8, ptr %inbuf, i64 %i3\0A %bv0 = load i8, ptr %ip0\0A %b0 = zext i8 %bv0 to i32\0A\00" -@.str2762 = private unnamed_addr constant [128 x i8] c" %i3a = add i64 %i3, 1\0A %ip1 = getelementptr i8, ptr %inbuf, i64 %i3a\0A %bv1 = load i8, ptr %ip1\0A %b1 = zext i8 %bv1 to i32\0A\00" -@.str2763 = private unnamed_addr constant [128 x i8] c" %i3b = add i64 %i3, 2\0A %ip2 = getelementptr i8, ptr %inbuf, i64 %i3b\0A %bv2 = load i8, ptr %ip2\0A %b2 = zext i8 %bv2 to i32\0A\00" -@.str2764 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" -@.str2765 = private unnamed_addr constant [101 x i8] c" %b0l = and i32 %b0, 3\0A %b0s = shl i32 %b0l, 4\0A %b1h = lshr i32 %b1, 4\0A %e1 = or i32 %b0s, %b1h\0A\00" -@.str2766 = private unnamed_addr constant [102 x i8] c" %b1l = and i32 %b1, 15\0A %b1s = shl i32 %b1l, 2\0A %b2h = lshr i32 %b2, 6\0A %e2 = or i32 %b1s, %b2h\0A\00" -@.str2767 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" -@.str2768 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" -@.str2769 = private unnamed_addr constant [117 x i8] c" %e0z = zext i32 %e0 to i64\0A %e1z = zext i32 %e1 to i64\0A %e2z = zext i32 %e2 to i64\0A %e3z = zext i32 %e3 to i64\0A\00" -@.str2770 = private unnamed_addr constant [167 x i8] c" %g0 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e0z\0A %ch0 = load i8, ptr %g0\0A %op0 = getelementptr i8, ptr %out, i64 %o4\0A store i8 %ch0, ptr %op0\0A\00" -@.str2771 = private unnamed_addr constant [192 x i8] c" %o4a = add i64 %o4, 1\0A %g1 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e1z\0A %ch1 = load i8, ptr %g1\0A %op1 = getelementptr i8, ptr %out, i64 %o4a\0A store i8 %ch1, ptr %op1\0A\00" -@.str2772 = private unnamed_addr constant [192 x i8] c" %o4b = add i64 %o4, 2\0A %g2 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e2z\0A %ch2 = load i8, ptr %g2\0A %op2 = getelementptr i8, ptr %out, i64 %o4b\0A store i8 %ch2, ptr %op2\0A\00" -@.str2773 = private unnamed_addr constant [192 x i8] c" %o4c = add i64 %o4, 3\0A %g3 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e3z\0A %ch3 = load i8, ptr %g3\0A %op3 = getelementptr i8, ptr %out, i64 %o4c\0A store i8 %ch3, ptr %op3\0A\00" -@.str2774 = private unnamed_addr constant [68 x i8] c" %gin = add i64 %gi, 1\0A store i64 %gin, ptr %gp\0A br label %cond\0A\00" -@.str2775 = private unnamed_addr constant [86 x i8] c"pad:\0A %rem = urem i64 %n, 3\0A %r1 = icmp eq i64 %rem, 1\0A %r2 = icmp eq i64 %rem, 2\0A\00" -@.str2776 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" -@.str2777 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" -@.str2778 = private unnamed_addr constant [216 x i8] c"pad1:\0A %pm1 = sub i64 %olen, 1\0A %pp1 = getelementptr i8, ptr %out, i64 %pm1\0A store i8 61, ptr %pp1\0A %pm2 = sub i64 %olen, 2\0A %pp2 = getelementptr i8, ptr %out, i64 %pm2\0A store i8 61, ptr %pp2\0A br label %done\0A\00" -@.str2779 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" -@.str2780 = private unnamed_addr constant [120 x i8] c"pad2:\0A %qm1 = sub i64 %olen, 1\0A %qp1 = getelementptr i8, ptr %out, i64 %qm1\0A store i8 61, ptr %qp1\0A br label %done\0A\00" -@.str2781 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" -@.str2782 = private unnamed_addr constant [4 x i8] c"new\00" -@.str2783 = private unnamed_addr constant [3 x i8] c"v4\00" -@.str2784 = private unnamed_addr constant [7 x i8] c"new_v7\00" -@.str2785 = private unnamed_addr constant [3 x i8] c"v7\00" -@.str2786 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str2787 = private unnamed_addr constant [9 x i8] c"is_valid\00" -@.str2788 = private unnamed_addr constant [8 x i8] c"to_text\00" -@.str2789 = private unnamed_addr constant [7 x i8] c"equals\00" -@.str2790 = private unnamed_addr constant [4 x i8] c"nil\00" -@.str2791 = private unnamed_addr constant [4 x i8] c"new\00" -@.str2792 = private unnamed_addr constant [3 x i8] c"v4\00" -@.str2793 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v4()\00" -@.str2794 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2795 = private unnamed_addr constant [7 x i8] c"new_v7\00" -@.str2796 = private unnamed_addr constant [3 x i8] c"v7\00" -@.str2797 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v7()\00" -@.str2798 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2799 = private unnamed_addr constant [4 x i8] c"nil\00" -@.str2800 = private unnamed_addr constant [24 x i8] c"call ptr @fn_uuid_nil()\00" -@.str2801 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2802 = private unnamed_addr constant [9 x i8] c"is_valid\00" -@.str2803 = private unnamed_addr constant [29 x i8] c"call i32 @fn_uuid_valid(ptr \00" -@.str2804 = private unnamed_addr constant [2 x i8] c")\00" -@.str2805 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str2806 = private unnamed_addr constant [8 x i8] c"to_text\00" -@.str2807 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2808 = private unnamed_addr constant [7 x i8] c"equals\00" -@.str2809 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uuid_eq(ptr \00" -@.str2810 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str2811 = private unnamed_addr constant [2 x i8] c")\00" -@.str2812 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str2813 = private unnamed_addr constant [29 x i8] c"call ptr @fn_uuid_parse(ptr \00" -@.str2814 = private unnamed_addr constant [2 x i8] c")\00" -@.str2815 = private unnamed_addr constant [7 x i8] c"string\00" -@.str2816 = private unnamed_addr constant [40 x i8] c"define ptr @fn_uuid_format(ptr %b16) {\0A\00" -@.str2817 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @fn_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00" -@.str2818 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" -@.str2819 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" -@.str2820 = private unnamed_addr constant [129 x i8] c" %h8 = getelementptr i8, ptr %hex, i64 8\0A %o9 = getelementptr i8, ptr %out, i64 9\0A call ptr @memcpy(ptr %o9, ptr %h8, i64 4)\0A\00" -@.str2821 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" -@.str2822 = private unnamed_addr constant [135 x i8] c" %h12 = getelementptr i8, ptr %hex, i64 12\0A %o14 = getelementptr i8, ptr %out, i64 14\0A call ptr @memcpy(ptr %o14, ptr %h12, i64 4)\0A\00" -@.str2823 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" -@.str2824 = private unnamed_addr constant [135 x i8] c" %h16 = getelementptr i8, ptr %hex, i64 16\0A %o19 = getelementptr i8, ptr %out, i64 19\0A call ptr @memcpy(ptr %o19, ptr %h16, i64 4)\0A\00" -@.str2825 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" -@.str2826 = private unnamed_addr constant [136 x i8] c" %h20 = getelementptr i8, ptr %hex, i64 20\0A %o24 = getelementptr i8, ptr %out, i64 24\0A call ptr @memcpy(ptr %o24, ptr %h20, i64 12)\0A\00" -@.str2827 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" -@.str2828 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" -@.str2829 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v4() {\0A\00" -@.str2830 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00" -@.str2831 = private unnamed_addr constant [140 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 64\0A store i8 %v6b, ptr %p6\0A\00" -@.str2832 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00" -@.str2833 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" -@.str2834 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v7() {\0A\00" -@.str2835 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00" -@.str2836 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" -@.str2837 = private unnamed_addr constant [121 x i8] c" %s40 = lshr i64 %ms, 40\0A %t0 = trunc i64 %s40 to i8\0A %q0 = getelementptr i8, ptr %bp, i64 0\0A store i8 %t0, ptr %q0\0A\00" -@.str2838 = private unnamed_addr constant [121 x i8] c" %s32 = lshr i64 %ms, 32\0A %t1 = trunc i64 %s32 to i8\0A %q1 = getelementptr i8, ptr %bp, i64 1\0A store i8 %t1, ptr %q1\0A\00" -@.str2839 = private unnamed_addr constant [121 x i8] c" %s24 = lshr i64 %ms, 24\0A %t2 = trunc i64 %s24 to i8\0A %q2 = getelementptr i8, ptr %bp, i64 2\0A store i8 %t2, ptr %q2\0A\00" -@.str2840 = private unnamed_addr constant [121 x i8] c" %s16 = lshr i64 %ms, 16\0A %t3 = trunc i64 %s16 to i8\0A %q3 = getelementptr i8, ptr %bp, i64 3\0A store i8 %t3, ptr %q3\0A\00" -@.str2841 = private unnamed_addr constant [118 x i8] c" %s8 = lshr i64 %ms, 8\0A %t4 = trunc i64 %s8 to i8\0A %q4 = getelementptr i8, ptr %bp, i64 4\0A store i8 %t4, ptr %q4\0A\00" -@.str2842 = private unnamed_addr constant [94 x i8] c" %t5 = trunc i64 %ms to i8\0A %q5 = getelementptr i8, ptr %bp, i64 5\0A store i8 %t5, ptr %q5\0A\00" -@.str2843 = private unnamed_addr constant [141 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 112\0A store i8 %v6b, ptr %p6\0A\00" -@.str2844 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00" -@.str2845 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" -@.str2846 = private unnamed_addr constant [29 x i8] c"define ptr @fn_uuid_nil() {\0A\00" -@.str2847 = private unnamed_addr constant [87 x i8] c"entry:\0A %out = call ptr @malloc(i64 37)\0A call ptr @memset(ptr %out, i32 48, i64 36)\0A\00" -@.str2848 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" -@.str2849 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" -@.str2850 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" -@.str2851 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" -@.str2852 = private unnamed_addr constant [85 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A}\0A\00" -@.str2853 = private unnamed_addr constant [37 x i8] c"define i32 @fn_uuid_valid(ptr %s) {\0A\00" -@.str2854 = private unnamed_addr constant [102 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A %ne = icmp eq i64 %n, 36\0A br i1 %ne, label %go, label %bad\0A\00" -@.str2855 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" -@.str2856 = private unnamed_addr constant [98 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %good\0A\00" -@.str2857 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00" -@.str2858 = private unnamed_addr constant [111 x i8] c" %h8 = icmp eq i64 %i, 8\0A %h13 = icmp eq i64 %i, 13\0A %h18 = icmp eq i64 %i, 18\0A %h23 = icmp eq i64 %i, 23\0A\00" -@.str2859 = private unnamed_addr constant [118 x i8] c" %hx = or i1 %h8, %h13\0A %hy = or i1 %hx, %h18\0A %hyph = or i1 %hy, %h23\0A br i1 %hyph, label %ckhyph, label %ckhex\0A\00" -@.str2860 = private unnamed_addr constant [74 x i8] c"ckhyph:\0A %ish = icmp eq i8 %c, 45\0A br i1 %ish, label %next, label %bad\0A\00" -@.str2861 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" -@.str2862 = private unnamed_addr constant [86 x i8] c" %ge0 = icmp uge i8 %c, 48\0A %le9 = icmp ule i8 %c, 57\0A %isdig = and i1 %ge0, %le9\0A\00" -@.str2863 = private unnamed_addr constant [86 x i8] c" %gea = icmp uge i8 %c, 97\0A %lef = icmp ule i8 %c, 102\0A %islo = and i1 %gea, %lef\0A\00" -@.str2864 = private unnamed_addr constant [85 x i8] c" %geA = icmp uge i8 %c, 65\0A %leF = icmp ule i8 %c, 70\0A %ishi = and i1 %geA, %leF\0A\00" -@.str2865 = private unnamed_addr constant [99 x i8] c" %hx1 = or i1 %isdig, %islo\0A %ishex = or i1 %hx1, %ishi\0A br i1 %ishex, label %next, label %bad\0A\00" -@.str2866 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" -@.str2867 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" -@.str2868 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" -@.str2869 = private unnamed_addr constant [42 x i8] c"define i32 @fn_uuid_eq(ptr %a, ptr %b) {\0A\00" -@.str2870 = private unnamed_addr constant [137 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eq = icmp eq i64 %la, %lb\0A br i1 %eq, label %go, label %ne\0A\00" -@.str2871 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" -@.str2872 = private unnamed_addr constant [100 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %body, label %eqret\0A\00" -@.str2873 = private unnamed_addr constant [139 x i8] c"body:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %ca = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %cb = load i8, ptr %pb\0A\00" -@.str2874 = private unnamed_addr constant [155 x i8] c" %caA = icmp uge i8 %ca, 65\0A %caZ = icmp ule i8 %ca, 90\0A %caup = and i1 %caA, %caZ\0A %ca32 = add i8 %ca, 32\0A %cal = select i1 %caup, i8 %ca32, i8 %ca\0A\00" -@.str2875 = private unnamed_addr constant [155 x i8] c" %cbA = icmp uge i8 %cb, 65\0A %cbZ = icmp ule i8 %cb, 90\0A %cbup = and i1 %cbA, %cbZ\0A %cb32 = add i8 %cb, 32\0A %cbl = select i1 %cbup, i8 %cb32, i8 %cb\0A\00" -@.str2876 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" -@.str2877 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" -@.str2878 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" -@.str2879 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" -@.str2880 = private unnamed_addr constant [37 x i8] c"define ptr @fn_uuid_parse(ptr %s) {\0A\00" -@.str2881 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @fn_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00" -@.str2882 = private unnamed_addr constant [99 x i8] c"dup:\0A %out = call ptr @malloc(i64 37)\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" -@.str2883 = private unnamed_addr constant [97 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %fin\0A\00" -@.str2884 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00" -@.str2885 = private unnamed_addr constant [142 x i8] c" %cA = icmp uge i8 %c, 65\0A %cZ = icmp ule i8 %c, 90\0A %cup = and i1 %cA, %cZ\0A %c32 = add i8 %c, 32\0A %cl = select i1 %cup, i8 %c32, i8 %c\0A\00" -@.str2886 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" -@.str2887 = private unnamed_addr constant [65 x i8] c" %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" -@.str2888 = private unnamed_addr constant [88 x i8] c"fin:\0A %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A\00" -@.str2889 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @fn_uuid_nil()\0A ret ptr %nn\0A}\0A\00" -@.str2890 = private unnamed_addr constant [7 x i8] c"value2\00" -@.str2891 = private unnamed_addr constant [8 x i8] c"perlin2\00" -@.str2892 = private unnamed_addr constant [9 x i8] c"simplex2\00" -@.str2893 = private unnamed_addr constant [5 x i8] c"fbm2\00" -@.str2894 = private unnamed_addr constant [10 x i8] c"cellular2\00" -@.str2895 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" -@.str2896 = private unnamed_addr constant [5 x i8] c"unit\00" -@.str2897 = private unnamed_addr constant [5 x i8] c"unit\00" -@.str2898 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str2899 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str2900 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str2901 = private unnamed_addr constant [8 x i8] c", 32768\00" -@.str2902 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str2903 = private unnamed_addr constant [7 x i8] c"value2\00" -@.str2904 = private unnamed_addr constant [31 x i8] c"call i32 @fn_noise_value2(i32 \00" -@.str2905 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2906 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2907 = private unnamed_addr constant [2 x i8] c")\00" -@.str2908 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str2909 = private unnamed_addr constant [8 x i8] c"perlin2\00" -@.str2910 = private unnamed_addr constant [32 x i8] c"call i32 @fn_noise_perlin2(i32 \00" -@.str2911 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2912 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2913 = private unnamed_addr constant [2 x i8] c")\00" -@.str2914 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str2915 = private unnamed_addr constant [9 x i8] c"simplex2\00" -@.str2916 = private unnamed_addr constant [33 x i8] c"call i32 @fn_noise_simplex2(i32 \00" -@.str2917 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2918 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2919 = private unnamed_addr constant [2 x i8] c")\00" -@.str2920 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str2921 = private unnamed_addr constant [5 x i8] c"fbm2\00" -@.str2922 = private unnamed_addr constant [29 x i8] c"call i32 @fn_noise_fbm2(i32 \00" -@.str2923 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2924 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2925 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2926 = private unnamed_addr constant [2 x i8] c")\00" -@.str2927 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str2928 = private unnamed_addr constant [10 x i8] c"cellular2\00" -@.str2929 = private unnamed_addr constant [34 x i8] c"call i32 @fn_noise_cellular2(i32 \00" -@.str2930 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2931 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2932 = private unnamed_addr constant [2 x i8] c")\00" -@.str2933 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str2934 = private unnamed_addr constant [37 x i8] c"call i32 @fn_noise_cellular2_id(i32 \00" -@.str2935 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2936 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str2937 = private unnamed_addr constant [2 x i8] c")\00" -@.str2938 = private unnamed_addr constant [4 x i8] c"int\00" -@.str2939 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_mul(i32 %a, i32 %b) {\0A\00" -@.str2940 = private unnamed_addr constant [148 x i8] c" %a64 = sext i32 %a to i64\0A %b64 = sext i32 %b to i64\0A %m = mul i64 %a64, %b64\0A %s = ashr i64 %m, 16\0A %r = trunc i64 %s to i32\0A ret i32 %r\0A}\0A\00" -@.str2941 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_div(i32 %a, i32 %b) {\0A\00" -@.str2942 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" -@.str2943 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" -@.str2944 = private unnamed_addr constant [156 x i8] c"go:\0A %a64 = sext i32 %a to i64\0A %ash = shl i64 %a64, 16\0A %b64 = sext i32 %b to i64\0A %d = sdiv i64 %ash, %b64\0A %r = trunc i64 %d to i32\0A ret i32 %r\0A}\0A\00" -@.str2945 = private unnamed_addr constant [51 x i8] c"define i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" -@.str2946 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @fn_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00" -@.str2947 = private unnamed_addr constant [38 x i8] c"define i32 @fn_noise_clamp(i32 %v) {\0A\00" -@.str2948 = private unnamed_addr constant [163 x i8] c" %hi = icmp sgt i32 %v, 65536\0A %v1 = select i1 %hi, i32 65536, i32 %v\0A %lo = icmp slt i32 %v1, -65536\0A %r = select i1 %lo, i32 -65536, i32 %v1\0A ret i32 %r\0A}\0A\00" -@.str2949 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" -@.str2950 = private unnamed_addr constant [111 x i8] c" %a = mul i32 %xi, 374761393\0A %b = mul i32 %yi, -1028477387\0A %c = add i32 %seed, %a\0A %d0 = add i32 %c, %b\0A\00" -@.str2951 = private unnamed_addr constant [79 x i8] c" %e = lshr i32 %d0, 16\0A %f = xor i32 %d0, %e\0A %g = mul i32 %f, -2048144789\0A\00" -@.str2952 = private unnamed_addr constant [77 x i8] c" %h = lshr i32 %g, 13\0A %i = xor i32 %g, %h\0A %j = mul i32 %i, -1028477387\0A\00" -@.str2953 = private unnamed_addr constant [61 x i8] c" %k = lshr i32 %j, 16\0A %l = xor i32 %j, %k\0A ret i32 %l\0A}\0A\00" -@.str2954 = private unnamed_addr constant [37 x i8] c"define i32 @fn_noise_fade(i32 %t) {\0A\00" -@.str2955 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @fn_nfx_mul(i32 %t2, i32 %t)\0A\00" -@.str2956 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @fn_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @fn_nfx_mul(i32 %t4, i32 %t)\0A\00" -@.str2957 = private unnamed_addr constant [74 x i8] c" %c6 = mul i32 %t5, 6\0A %c15 = mul i32 %t4, 15\0A %c10 = mul i32 %t3, 10\0A\00" -@.str2958 = private unnamed_addr constant [67 x i8] c" %s1 = sub i32 %c6, %c15\0A %r = add i32 %s1, %c10\0A ret i32 %r\0A}\0A\00" -@.str2959 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" -@.str2960 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00" -@.str2961 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00" -@.str2962 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" -@.str2963 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00" -@.str2964 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00" -@.str2965 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00" -@.str2966 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00" -@.str2967 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00" -@.str2968 = private unnamed_addr constant [109 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @fn_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00" -@.str2969 = private unnamed_addr constant [224 x i8] c"@noise_grad2 = private unnamed_addr constant [16 x i32] [i32 65536, i32 0, i32 -65536, i32 0, i32 0, i32 65536, i32 0, i32 -65536, i32 46341, i32 46341, i32 -46341, i32 46341, i32 46341, i32 -46341, i32 -46341, i32 -46341]\0A\00" -@.str2970 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" -@.str2971 = private unnamed_addr constant [80 x i8] c" %h = and i32 %hash, 7\0A %idx = shl i32 %h, 1\0A %idx64 = sext i32 %idx to i64\0A\00" -@.str2972 = private unnamed_addr constant [99 x i8] c" %gxp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idx64\0A %gx = load i32, ptr %gxp\0A\00" -@.str2973 = private unnamed_addr constant [156 x i8] c" %idy = add i32 %idx, 1\0A %idy64 = sext i32 %idy to i64\0A %gyp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idy64\0A %gy = load i32, ptr %gyp\0A\00" -@.str2974 = private unnamed_addr constant [134 x i8] c" %px = call i32 @fn_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @fn_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00" -@.str2975 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" -@.str2976 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00" -@.str2977 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" -@.str2978 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00" -@.str2979 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" -@.str2980 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00" -@.str2981 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00" -@.str2982 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @fn_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @fn_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00" -@.str2983 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @fn_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @fn_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00" -@.str2984 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00" -@.str2985 = private unnamed_addr constant [158 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @fn_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" -@.str2986 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" -@.str2987 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @fn_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @fn_nfx_mul(i32 %dy, i32 %dy)\0A\00" -@.str2988 = private unnamed_addr constant [117 x i8] c" %s0 = sub i32 32768, %xx\0A %t = sub i32 %s0, %yy\0A %neg = icmp sle i32 %t, 0\0A br i1 %neg, label %zero, label %go\0A\00" -@.str2989 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" -@.str2990 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @fn_nfx_mul(i32 %t2, i32 %t2)\0A\00" -@.str2991 = private unnamed_addr constant [122 x i8] c" %g = call i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @fn_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00" -@.str2992 = private unnamed_addr constant [60 x i8] c"define i32 @fn_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" -@.str2993 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @fn_nfx_mul(i32 %sum0, i32 23994)\0A\00" -@.str2994 = private unnamed_addr constant [101 x i8] c" %xs = add i32 %x, %skew\0A %ys = add i32 %y, %skew\0A %i = ashr i32 %xs, 16\0A %j = ashr i32 %ys, 16\0A\00" -@.str2995 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" -@.str2996 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" -@.str2997 = private unnamed_addr constant [101 x i8] c" %X0 = sub i32 %if0, %tt\0A %Y0 = sub i32 %jf0, %tt\0A %x0 = sub i32 %x, %X0\0A %y0 = sub i32 %y, %Y0\0A\00" -@.str2998 = private unnamed_addr constant [103 x i8] c" %gt = icmp sgt i32 %x0, %y0\0A %i1 = select i1 %gt, i32 1, i32 0\0A %j1 = select i1 %gt, i32 0, i32 1\0A\00" -@.str2999 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" -@.str3000 = private unnamed_addr constant [111 x i8] c" %x1a = sub i32 %x0, %i1f\0A %x1 = add i32 %x1a, 13849\0A %y1a = sub i32 %y0, %j1f\0A %y1 = add i32 %y1a, 13849\0A\00" -@.str3001 = private unnamed_addr constant [113 x i8] c" %x2a = sub i32 %x0, 65536\0A %x2 = add i32 %x2a, 27698\0A %y2a = sub i32 %y0, 65536\0A %y2 = add i32 %y2a, 27698\0A\00" -@.str3002 = private unnamed_addr constant [95 x i8] c" %i1p = add i32 %i, %i1\0A %j1p = add i32 %j, %j1\0A %i2 = add i32 %i, 1\0A %j2 = add i32 %j, 1\0A\00" -@.str3003 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @fn_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @fn_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @fn_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00" -@.str3004 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @fn_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @fn_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @fn_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00" -@.str3005 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" -@.str3006 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" -@.str3007 = private unnamed_addr constant [66 x i8] c"define i32 @fn_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" -@.str3008 = private unnamed_addr constant [113 x i8] c"entry:\0A %sump = alloca i32\0A %normp = alloca i32\0A %ampp = alloca i32\0A %freqp = alloca i32\0A %op = alloca i32\0A\00" -@.str3009 = private unnamed_addr constant [151 x i8] c" store i32 0, ptr %sump\0A store i32 0, ptr %normp\0A store i32 65536, ptr %ampp\0A store i32 65536, ptr %freqp\0A store i32 0, ptr %op\0A br label %cond\0A\00" -@.str3010 = private unnamed_addr constant [100 x i8] c"cond:\0A %o = load i32, ptr %op\0A %lt = icmp slt i32 %o, %oct\0A br i1 %lt, label %body, label %done\0A\00" -@.str3011 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" -@.str3012 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @fn_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @fn_nfx_mul(i32 %y, i32 %freq)\0A\00" -@.str3013 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @fn_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00" -@.str3014 = private unnamed_addr constant [134 x i8] c" %na = call i32 @fn_nfx_mul(i32 %n, i32 %amp)\0A %sum = load i32, ptr %sump\0A %sum2 = add i32 %sum, %na\0A store i32 %sum2, ptr %sump\0A\00" -@.str3015 = private unnamed_addr constant [94 x i8] c" %norm = load i32, ptr %normp\0A %norm2 = add i32 %norm, %amp\0A store i32 %norm2, ptr %normp\0A\00" -@.str3016 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @fn_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00" -@.str3017 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @fn_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00" -@.str3018 = private unnamed_addr constant [65 x i8] c" %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A br label %cond\0A\00" -@.str3019 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" -@.str3020 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" -@.str3021 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" -@.str3022 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @fn_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @fn_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00" -@.str3023 = private unnamed_addr constant [86 x i8] c"define void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00" -@.str3024 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" -@.str3025 = private unnamed_addr constant [83 x i8] c" %bestp = alloca i32\0A %idp = alloca i32\0A %dyp = alloca i32\0A %dxp = alloca i32\0A\00" -@.str3026 = private unnamed_addr constant [100 x i8] c" store i32 2147483647, ptr %bestp\0A store i32 0, ptr %idp\0A store i32 -1, ptr %dyp\0A br label %yc\0A\00" -@.str3027 = private unnamed_addr constant [99 x i8] c"yc:\0A %oy = load i32, ptr %dyp\0A %yok = icmp sle i32 %oy, 1\0A br i1 %yok, label %yb, label %ydone\0A\00" -@.str3028 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" -@.str3029 = private unnamed_addr constant [99 x i8] c"xc:\0A %ox = load i32, ptr %dxp\0A %xok = icmp sle i32 %ox, 1\0A br i1 %xok, label %xb, label %xdone\0A\00" -@.str3030 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" -@.str3031 = private unnamed_addr constant [61 x i8] c" %h = call i32 @fn_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" -@.str3032 = private unnamed_addr constant [80 x i8] c" %fxr = and i32 %h, 65535\0A %hs = lshr i32 %h, 16\0A %fyr = and i32 %hs, 65535\0A\00" -@.str3033 = private unnamed_addr constant [107 x i8] c" %cxf = shl i32 %cx, 16\0A %cyf = shl i32 %cy, 16\0A %pxr = add i32 %cxf, %fxr\0A %pyr = add i32 %cyf, %fyr\0A\00" -@.str3034 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" -@.str3035 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @fn_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @fn_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00" -@.str3036 = private unnamed_addr constant [105 x i8] c" %best = load i32, ptr %bestp\0A %less = icmp slt i32 %d2, %best\0A br i1 %less, label %upd, label %skip\0A\00" -@.str3037 = private unnamed_addr constant [76 x i8] c"upd:\0A store i32 %d2, ptr %bestp\0A store i32 %h, ptr %idp\0A br label %skip\0A\00" -@.str3038 = private unnamed_addr constant [73 x i8] c"skip:\0A %ox1 = add i32 %ox, 1\0A store i32 %ox1, ptr %dxp\0A br label %xc\0A\00" -@.str3039 = private unnamed_addr constant [74 x i8] c"xdone:\0A %oy1 = add i32 %oy, 1\0A store i32 %oy1, ptr %dyp\0A br label %yc\0A\00" -@.str3040 = private unnamed_addr constant [133 x i8] c"ydone:\0A %fb = load i32, ptr %bestp\0A store i32 %fb, ptr %d2out\0A %fi = load i32, ptr %idp\0A store i32 %fi, ptr %idout\0A ret void\0A}\0A\00" -@.str3041 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" -@.str3042 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" -@.str3043 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @fn_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00" -@.str3044 = private unnamed_addr constant [64 x i8] c"define i32 @fn_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" -@.str3045 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" -@.str3046 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" -@.str3047 = private unnamed_addr constant [6 x i8] c"trace\00" -@.str3048 = private unnamed_addr constant [6 x i8] c"debug\00" -@.str3049 = private unnamed_addr constant [5 x i8] c"info\00" -@.str3050 = private unnamed_addr constant [5 x i8] c"warn\00" -@.str3051 = private unnamed_addr constant [6 x i8] c"error\00" -@.str3052 = private unnamed_addr constant [10 x i8] c"set_level\00" -@.str3053 = private unnamed_addr constant [6 x i8] c"level\00" -@.str3054 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str3055 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str3056 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00" -@.str3057 = private unnamed_addr constant [2 x i8] c")\00" -@.str3058 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" -@.str3059 = private unnamed_addr constant [2 x i8] c")\00" -@.str3060 = private unnamed_addr constant [10 x i8] c"set_level\00" -@.str3061 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str3062 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" -@.str3063 = private unnamed_addr constant [2 x i8] c"0\00" -@.str3064 = private unnamed_addr constant [5 x i8] c"void\00" -@.str3065 = private unnamed_addr constant [6 x i8] c"level\00" -@.str3066 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" -@.str3067 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3068 = private unnamed_addr constant [2 x i8] c"2\00" -@.str3069 = private unnamed_addr constant [8 x i8] c"[INFO] \00" -@.str3070 = private unnamed_addr constant [6 x i8] c"trace\00" -@.str3071 = private unnamed_addr constant [2 x i8] c"0\00" -@.str3072 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" -@.str3073 = private unnamed_addr constant [6 x i8] c"debug\00" -@.str3074 = private unnamed_addr constant [2 x i8] c"1\00" -@.str3075 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" -@.str3076 = private unnamed_addr constant [5 x i8] c"warn\00" -@.str3077 = private unnamed_addr constant [2 x i8] c"3\00" -@.str3078 = private unnamed_addr constant [8 x i8] c"[WARN] \00" -@.str3079 = private unnamed_addr constant [6 x i8] c"error\00" -@.str3080 = private unnamed_addr constant [2 x i8] c"4\00" -@.str3081 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" -@.str3082 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3083 = private unnamed_addr constant [2 x i8] c"+\00" -@.str3084 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3085 = private unnamed_addr constant [2 x i8] c"+\00" -@.str3086 = private unnamed_addr constant [2 x i8] c" \00" -@.str3087 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3088 = private unnamed_addr constant [2 x i8] c"+\00" -@.str3089 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3090 = private unnamed_addr constant [2 x i8] c"+\00" -@.str3091 = private unnamed_addr constant [2 x i8] c"=\00" -@.str3092 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3093 = private unnamed_addr constant [2 x i8] c"+\00" -@.str3094 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3095 = private unnamed_addr constant [30 x i8] c" call void @fn_log_emit(i32 \00" -@.str3096 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3097 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str3098 = private unnamed_addr constant [2 x i8] c"0\00" -@.str3099 = private unnamed_addr constant [5 x i8] c"void\00" -@.str3100 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" -@.str3101 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" -@.str3102 = private unnamed_addr constant [46 x i8] c"define void @fn_log_emit(i32 %lvl, ptr %s) {\0A\00" -@.str3103 = private unnamed_addr constant [114 x i8] c"entry:\0A %th = load i32, ptr @L_log_level\0A %skip = icmp slt i32 %lvl, %th\0A br i1 %skip, label %done, label %go\0A\00" -@.str3104 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00" -@.str3105 = private unnamed_addr constant [134 x i8] c" %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %e)\0A %w2 = call i64 @fwrite(ptr @.log_nl, i64 1, i64 1, ptr %e)\0A br label %done\0A\00" -@.str3106 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" -@.str3107 = private unnamed_addr constant [5 x i8] c"args\00" -@.str3108 = private unnamed_addr constant [10 x i8] c"arg_count\00" -@.str3109 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str3110 = private unnamed_addr constant [4 x i8] c"env\00" -@.str3111 = private unnamed_addr constant [7 x i8] c"env_or\00" -@.str3112 = private unnamed_addr constant [8 x i8] c"has_env\00" -@.str3113 = private unnamed_addr constant [8 x i8] c"set_env\00" -@.str3114 = private unnamed_addr constant [10 x i8] c"unset_env\00" -@.str3115 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str3116 = private unnamed_addr constant [9 x i8] c"platform\00" -@.str3117 = private unnamed_addr constant [5 x i8] c"arch\00" -@.str3118 = private unnamed_addr constant [13 x i8] c"stdout_write\00" -@.str3119 = private unnamed_addr constant [13 x i8] c"stderr_write\00" -@.str3120 = private unnamed_addr constant [9 x i8] c"save_dir\00" -@.str3121 = private unnamed_addr constant [11 x i8] c"config_dir\00" -@.str3122 = private unnamed_addr constant [10 x i8] c"cache_dir\00" -@.str3123 = private unnamed_addr constant [9 x i8] c"temp_dir\00" -@.str3124 = private unnamed_addr constant [10 x i8] c"arg_count\00" -@.str3125 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" -@.str3126 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3127 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str3128 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" -@.str3129 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" -@.str3130 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3131 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str3132 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3133 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str3134 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" -@.str3135 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str3136 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" -@.str3137 = private unnamed_addr constant [2 x i8] c"0\00" -@.str3138 = private unnamed_addr constant [5 x i8] c"void\00" -@.str3139 = private unnamed_addr constant [4 x i8] c"env\00" -@.str3140 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" -@.str3141 = private unnamed_addr constant [2 x i8] c")\00" -@.str3142 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3143 = private unnamed_addr constant [8 x i8] c"has_env\00" -@.str3144 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" -@.str3145 = private unnamed_addr constant [2 x i8] c")\00" -@.str3146 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" -@.str3147 = private unnamed_addr constant [7 x i8] c", null\00" -@.str3148 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str3149 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str3150 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3151 = private unnamed_addr constant [13 x i8] c"stdout_write\00" -@.str3152 = private unnamed_addr constant [13 x i8] c"stderr_write\00" -@.str3153 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00" -@.str3154 = private unnamed_addr constant [13 x i8] c"stderr_write\00" -@.str3155 = private unnamed_addr constant [11 x i8] c"@__stderrp\00" -@.str3156 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str3157 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str3158 = private unnamed_addr constant [2 x i8] c")\00" -@.str3159 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" -@.str3160 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str3161 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3162 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str3163 = private unnamed_addr constant [2 x i8] c"0\00" -@.str3164 = private unnamed_addr constant [5 x i8] c"void\00" -@.str3165 = private unnamed_addr constant [5 x i8] c"args\00" -@.str3166 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_args()\00" -@.str3167 = private unnamed_addr constant [9 x i8] c"[]string\00" -@.str3168 = private unnamed_addr constant [7 x i8] c"env_or\00" -@.str3169 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_getenv_or(ptr \00" -@.str3170 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3171 = private unnamed_addr constant [2 x i8] c")\00" -@.str3172 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3173 = private unnamed_addr constant [8 x i8] c"set_env\00" -@.str3174 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" -@.str3175 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3176 = private unnamed_addr constant [9 x i8] c", i32 1)\00" -@.str3177 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str3178 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str3179 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str3180 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str3181 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3182 = private unnamed_addr constant [10 x i8] c"unset_env\00" -@.str3183 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" -@.str3184 = private unnamed_addr constant [2 x i8] c")\00" -@.str3185 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str3186 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str3187 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str3188 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str3189 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3190 = private unnamed_addr constant [9 x i8] c"platform\00" -@.str3191 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_platform()\00" -@.str3192 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3193 = private unnamed_addr constant [5 x i8] c"arch\00" -@.str3194 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_arch()\00" -@.str3195 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3196 = private unnamed_addr constant [9 x i8] c"save_dir\00" -@.str3197 = private unnamed_addr constant [30 x i8] c"call ptr @fn_os_save_dir(ptr \00" -@.str3198 = private unnamed_addr constant [2 x i8] c")\00" -@.str3199 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3200 = private unnamed_addr constant [11 x i8] c"config_dir\00" -@.str3201 = private unnamed_addr constant [32 x i8] c"call ptr @fn_os_config_dir(ptr \00" -@.str3202 = private unnamed_addr constant [2 x i8] c")\00" -@.str3203 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3204 = private unnamed_addr constant [10 x i8] c"cache_dir\00" -@.str3205 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_cache_dir(ptr \00" -@.str3206 = private unnamed_addr constant [2 x i8] c")\00" -@.str3207 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3208 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_temp_dir()\00" -@.str3209 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3210 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" -@.str3211 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" -@.str3212 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" -@.str3213 = private unnamed_addr constant [5 x i8] c"HOME\00" -@.str3214 = private unnamed_addr constant [2 x i8] c".\00" -@.str3215 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" -@.str3216 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" -@.str3217 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" -@.str3218 = private unnamed_addr constant [5 x i8] c"/tmp\00" -@.str3219 = private unnamed_addr constant [7 x i8] c"Darwin\00" -@.str3220 = private unnamed_addr constant [6 x i8] c"macos\00" -@.str3221 = private unnamed_addr constant [6 x i8] c"Linux\00" -@.str3222 = private unnamed_addr constant [6 x i8] c"linux\00" -@.str3223 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_getenv_or(ptr %name, ptr %fb) {\0A\00" -@.str3224 = private unnamed_addr constant [106 x i8] c"entry:\0A %r = call ptr @getenv(ptr %name)\0A %z = icmp eq ptr %r, null\0A br i1 %z, label %use, label %got\0A\00" -@.str3225 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" -@.str3226 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" -@.str3227 = private unnamed_addr constant [43 x i8] c"define ptr @fn_os_join2(ptr %a, ptr %b) {\0A\00" -@.str3228 = private unnamed_addr constant [74 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A\00" -@.str3229 = private unnamed_addr constant [86 x i8] c" %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00" -@.str3230 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" -@.str3231 = private unnamed_addr constant [88 x i8] c" %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A\00" -@.str3232 = private unnamed_addr constant [83 x i8] c" %end = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00" -@.str3233 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" -@.str3234 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @fn_os_join2(ptr %a, ptr %b)\0A %r = call ptr @fn_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00" -@.str3235 = private unnamed_addr constant [65 x i8] c"define ptr @fn_os_home() {\0A %r = call ptr @fn_os_getenv_or(ptr \00" -@.str3236 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3237 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" -@.str3238 = private unnamed_addr constant [111 x i8] c"define ptr @fn_os_save_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00" -@.str3239 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" -@.str3240 = private unnamed_addr constant [113 x i8] c"define ptr @fn_os_config_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00" -@.str3241 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" -@.str3242 = private unnamed_addr constant [112 x i8] c"define ptr @fn_os_cache_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00" -@.str3243 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" -@.str3244 = private unnamed_addr constant [69 x i8] c"define ptr @fn_os_temp_dir() {\0A %r = call ptr @fn_os_getenv_or(ptr \00" -@.str3245 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3246 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" -@.str3247 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_args() {\0A\00" -@.str3248 = private unnamed_addr constant [66 x i8] c"entry:\0A %c = load i32, ptr @L_argc\0A %v = load ptr, ptr @L_argv\0A\00" -@.str3249 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" -@.str3250 = private unnamed_addr constant [86 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %v, ptr %d0\0A\00" -@.str3251 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %c, ptr %d1\0A\00" -@.str3252 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %c, ptr %d2\0A\00" -@.str3253 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" -@.str3254 = private unnamed_addr constant [32 x i8] c"define ptr @fn_os_platform() {\0A\00" -@.str3255 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" -@.str3256 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" -@.str3257 = private unnamed_addr constant [76 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A br i1 %isd, label %mac, label %chkl\0A\00" -@.str3258 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" -@.str3259 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3260 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" -@.str3261 = private unnamed_addr constant [77 x i8] c", i64 5)\0A %isl = icmp eq i32 %cl, 0\0A br i1 %isl, label %lin, label %other\0A\00" -@.str3262 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" -@.str3263 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3264 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" -@.str3265 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_arch() {\0A\00" -@.str3266 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" -@.str3267 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" -@.str3268 = private unnamed_addr constant [4 x i8] c"len\00" -@.str3269 = private unnamed_addr constant [9 x i8] c"byte_len\00" -@.str3270 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" -@.str3271 = private unnamed_addr constant [8 x i8] c"char_at\00" -@.str3272 = private unnamed_addr constant [6 x i8] c"chars\00" -@.str3273 = private unnamed_addr constant [6 x i8] c"upper\00" -@.str3274 = private unnamed_addr constant [6 x i8] c"lower\00" -@.str3275 = private unnamed_addr constant [9 x i8] c"truncate\00" -@.str3276 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" -@.str3277 = private unnamed_addr constant [9 x i8] c"byte_len\00" -@.str3278 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str3279 = private unnamed_addr constant [2 x i8] c")\00" -@.str3280 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str3281 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str3282 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3283 = private unnamed_addr constant [4 x i8] c"len\00" -@.str3284 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uni_len(ptr \00" -@.str3285 = private unnamed_addr constant [2 x i8] c")\00" -@.str3286 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3287 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" -@.str3288 = private unnamed_addr constant [28 x i8] c"call i32 @fn_uni_valid(ptr \00" -@.str3289 = private unnamed_addr constant [2 x i8] c")\00" -@.str3290 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3291 = private unnamed_addr constant [8 x i8] c"char_at\00" -@.str3292 = private unnamed_addr constant [30 x i8] c"call i32 @fn_uni_char_at(ptr \00" -@.str3293 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3294 = private unnamed_addr constant [2 x i8] c")\00" -@.str3295 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3296 = private unnamed_addr constant [6 x i8] c"chars\00" -@.str3297 = private unnamed_addr constant [28 x i8] c"call ptr @fn_uni_chars(ptr \00" -@.str3298 = private unnamed_addr constant [2 x i8] c")\00" -@.str3299 = private unnamed_addr constant [6 x i8] c"[]int\00" -@.str3300 = private unnamed_addr constant [6 x i8] c"upper\00" -@.str3301 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00" -@.str3302 = private unnamed_addr constant [9 x i8] c", i32 1)\00" -@.str3303 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3304 = private unnamed_addr constant [6 x i8] c"lower\00" -@.str3305 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00" -@.str3306 = private unnamed_addr constant [9 x i8] c", i32 0)\00" -@.str3307 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3308 = private unnamed_addr constant [9 x i8] c"truncate\00" -@.str3309 = private unnamed_addr constant [31 x i8] c"call ptr @fn_uni_truncate(ptr \00" -@.str3310 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3311 = private unnamed_addr constant [2 x i8] c")\00" -@.str3312 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3313 = private unnamed_addr constant [35 x i8] c"call i32 @fn_uni_grapheme_len(ptr \00" -@.str3314 = private unnamed_addr constant [2 x i8] c")\00" -@.str3315 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3316 = private unnamed_addr constant [34 x i8] c"define i32 @fn_uni_len(ptr %s) {\0A\00" -@.str3317 = private unnamed_addr constant [107 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %np\0A br label %lp\0A\00" -@.str3318 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3319 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3320 = private unnamed_addr constant [99 x i8] c"go:\0A %m = and i32 %c, 192\0A %cont = icmp eq i32 %m, 128\0A br i1 %cont, label %skip, label %count\0A\00" -@.str3321 = private unnamed_addr constant [97 x i8] c"count:\0A %n = load i32, ptr %np\0A %n1 = add i32 %n, 1\0A store i32 %n1, ptr %np\0A br label %skip\0A\00" -@.str3322 = private unnamed_addr constant [69 x i8] c"skip:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" -@.str3323 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" -@.str3324 = private unnamed_addr constant [57 x i8] c"define i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" -@.str3325 = private unnamed_addr constant [101 x i8] c"entry:\0A %p0 = getelementptr i8, ptr %s, i32 %i\0A %b0 = load i8, ptr %p0\0A %c0 = zext i8 %b0 to i32\0A\00" -@.str3326 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" -@.str3327 = private unnamed_addr constant [70 x i8] c"one:\0A store i32 %c0, ptr %cpout\0A %oi = add i32 %i, 1\0A ret i32 %oi\0A\00" -@.str3328 = private unnamed_addr constant [99 x i8] c"multi:\0A %h2 = and i32 %c0, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %two, label %c3\0A\00" -@.str3329 = private unnamed_addr constant [98 x i8] c"c3:\0A %h3 = and i32 %c0, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %three, label %c4\0A\00" -@.str3330 = private unnamed_addr constant [98 x i8] c"c4:\0A %h4 = and i32 %c0, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %four, label %bad\0A\00" -@.str3331 = private unnamed_addr constant [70 x i8] c"bad:\0A store i32 %c0, ptr %cpout\0A %bi = add i32 %i, 1\0A ret i32 %bi\0A\00" -@.str3332 = private unnamed_addr constant [128 x i8] c"two:\0A %t1i = add i32 %i, 1\0A %t1p = getelementptr i8, ptr %s, i32 %t1i\0A %t1b = load i8, ptr %t1p\0A %t1 = zext i8 %t1b to i32\0A\00" -@.str3333 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" -@.str3334 = private unnamed_addr constant [73 x i8] c"tbad:\0A store i32 %c0, ptr %cpout\0A %tbi = add i32 %i, 1\0A ret i32 %tbi\0A\00" -@.str3335 = private unnamed_addr constant [169 x i8] c"tok:\0A %tm = and i32 %c0, 31\0A %tsh = shl i32 %tm, 6\0A %tl = and i32 %t1, 63\0A %tcp = or i32 %tsh, %tl\0A store i32 %tcp, ptr %cpout\0A %ti = add i32 %i, 2\0A ret i32 %ti\0A\00" -@.str3336 = private unnamed_addr constant [130 x i8] c"three:\0A %r1i = add i32 %i, 1\0A %r1p = getelementptr i8, ptr %s, i32 %r1i\0A %r1b = load i8, ptr %r1p\0A %r1 = zext i8 %r1b to i32\0A\00" -@.str3337 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" -@.str3338 = private unnamed_addr constant [73 x i8] c"rbad:\0A store i32 %c0, ptr %cpout\0A %rbi = add i32 %i, 1\0A ret i32 %rbi\0A\00" -@.str3339 = private unnamed_addr constant [128 x i8] c"rc2:\0A %r2i = add i32 %i, 2\0A %r2p = getelementptr i8, ptr %s, i32 %r2i\0A %r2b = load i8, ptr %r2p\0A %r2 = zext i8 %r2b to i32\0A\00" -@.str3340 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" -@.str3341 = private unnamed_addr constant [131 x i8] c"rok:\0A %rm = and i32 %c0, 15\0A %rsh = shl i32 %rm, 12\0A %ram = and i32 %r1, 63\0A %rash = shl i32 %ram, 6\0A %rbm = and i32 %r2, 63\0A\00" -@.str3342 = private unnamed_addr constant [121 x i8] c" %rp1 = or i32 %rsh, %rash\0A %rcp = or i32 %rp1, %rbm\0A store i32 %rcp, ptr %cpout\0A %ri = add i32 %i, 3\0A ret i32 %ri\0A\00" -@.str3343 = private unnamed_addr constant [129 x i8] c"four:\0A %f1i = add i32 %i, 1\0A %f1p = getelementptr i8, ptr %s, i32 %f1i\0A %f1b = load i8, ptr %f1p\0A %f1 = zext i8 %f1b to i32\0A\00" -@.str3344 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" -@.str3345 = private unnamed_addr constant [73 x i8] c"fbad:\0A store i32 %c0, ptr %cpout\0A %fbi = add i32 %i, 1\0A ret i32 %fbi\0A\00" -@.str3346 = private unnamed_addr constant [128 x i8] c"fc2:\0A %f2i = add i32 %i, 2\0A %f2p = getelementptr i8, ptr %s, i32 %f2i\0A %f2b = load i8, ptr %f2p\0A %f2 = zext i8 %f2b to i32\0A\00" -@.str3347 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" -@.str3348 = private unnamed_addr constant [128 x i8] c"fc3:\0A %f3i = add i32 %i, 3\0A %f3p = getelementptr i8, ptr %s, i32 %f3i\0A %f3b = load i8, ptr %f3p\0A %f3 = zext i8 %f3b to i32\0A\00" -@.str3349 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" -@.str3350 = private unnamed_addr constant [106 x i8] c"fok:\0A %fm = and i32 %c0, 7\0A %fsh = shl i32 %fm, 18\0A %fam = and i32 %f1, 63\0A %fash = shl i32 %fam, 12\0A\00" -@.str3351 = private unnamed_addr constant [77 x i8] c" %fbm = and i32 %f2, 63\0A %fbsh = shl i32 %fbm, 6\0A %fcm = and i32 %f3, 63\0A\00" -@.str3352 = private unnamed_addr constant [151 x i8] c" %fp1 = or i32 %fsh, %fash\0A %fp2 = or i32 %fp1, %fbsh\0A %fcp = or i32 %fp2, %fcm\0A store i32 %fcp, ptr %cpout\0A %fi = add i32 %i, 4\0A ret i32 %fi\0A}\0A\00" -@.str3353 = private unnamed_addr constant [36 x i8] c"define i32 @fn_uni_valid(ptr %s) {\0A\00" -@.str3354 = private unnamed_addr constant [65 x i8] c"entry:\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" -@.str3355 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3356 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" -@.str3357 = private unnamed_addr constant [69 x i8] c"g:\0A %a1 = icmp ult i32 %c, 128\0A br i1 %a1, label %adv1, label %m2\0A\00" -@.str3358 = private unnamed_addr constant [69 x i8] c"adv1:\0A %n1 = add i32 %i, 1\0A store i32 %n1, ptr %ip\0A br label %lp\0A\00" -@.str3359 = private unnamed_addr constant [95 x i8] c"m2:\0A %h2 = and i32 %c, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %do2, label %m3\0A\00" -@.str3360 = private unnamed_addr constant [95 x i8] c"m3:\0A %h3 = and i32 %c, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %do3, label %m4\0A\00" -@.str3361 = private unnamed_addr constant [96 x i8] c"m4:\0A %h4 = and i32 %c, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %do4, label %bad\0A\00" -@.str3362 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" -@.str3363 = private unnamed_addr constant [128 x i8] c"do2:\0A %v1i = add i32 %i, 1\0A %v1p = getelementptr i8, ptr %s, i32 %v1i\0A %v1b = load i8, ptr %v1p\0A %v1 = zext i8 %v1b to i32\0A\00" -@.str3364 = private unnamed_addr constant [98 x i8] c" %v1m = and i32 %v1, 192\0A %v1ok = icmp eq i32 %v1m, 128\0A br i1 %v1ok, label %do2b, label %bad\0A\00" -@.str3365 = private unnamed_addr constant [108 x i8] c"do2b:\0A %q2m = and i32 %c, 31\0A %q2s = shl i32 %q2m, 6\0A %q2l = and i32 %v1, 63\0A %cp2 = or i32 %q2s, %q2l\0A\00" -@.str3366 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" -@.str3367 = private unnamed_addr constant [69 x i8] c"adv2:\0A %n2 = add i32 %i, 2\0A store i32 %n2, ptr %ip\0A br label %lp\0A\00" -@.str3368 = private unnamed_addr constant [128 x i8] c"do3:\0A %w1i = add i32 %i, 1\0A %w1p = getelementptr i8, ptr %s, i32 %w1i\0A %w1b = load i8, ptr %w1p\0A %w1 = zext i8 %w1b to i32\0A\00" -@.str3369 = private unnamed_addr constant [98 x i8] c" %w1m = and i32 %w1, 192\0A %w1ok = icmp eq i32 %w1m, 128\0A br i1 %w1ok, label %do3b, label %bad\0A\00" -@.str3370 = private unnamed_addr constant [129 x i8] c"do3b:\0A %w2i = add i32 %i, 2\0A %w2p = getelementptr i8, ptr %s, i32 %w2i\0A %w2b = load i8, ptr %w2p\0A %w2 = zext i8 %w2b to i32\0A\00" -@.str3371 = private unnamed_addr constant [98 x i8] c" %w2m = and i32 %w2, 192\0A %w2ok = icmp eq i32 %w2m, 128\0A br i1 %w2ok, label %do3c, label %bad\0A\00" -@.str3372 = private unnamed_addr constant [136 x i8] c"do3c:\0A %e3m = and i32 %c, 15\0A %e3s = shl i32 %e3m, 12\0A %e3am = and i32 %w1, 63\0A %e3as = shl i32 %e3am, 6\0A %e3bm = and i32 %w2, 63\0A\00" -@.str3373 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" -@.str3374 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" -@.str3375 = private unnamed_addr constant [138 x i8] c"do3d:\0A %sg1 = icmp uge i32 %cp3, 55296\0A %sg2 = icmp ule i32 %cp3, 57343\0A %sg = and i1 %sg1, %sg2\0A br i1 %sg, label %bad, label %adv3\0A\00" -@.str3376 = private unnamed_addr constant [69 x i8] c"adv3:\0A %n3 = add i32 %i, 3\0A store i32 %n3, ptr %ip\0A br label %lp\0A\00" -@.str3377 = private unnamed_addr constant [128 x i8] c"do4:\0A %x1i = add i32 %i, 1\0A %x1p = getelementptr i8, ptr %s, i32 %x1i\0A %x1b = load i8, ptr %x1p\0A %x1 = zext i8 %x1b to i32\0A\00" -@.str3378 = private unnamed_addr constant [98 x i8] c" %x1m = and i32 %x1, 192\0A %x1ok = icmp eq i32 %x1m, 128\0A br i1 %x1ok, label %do4b, label %bad\0A\00" -@.str3379 = private unnamed_addr constant [129 x i8] c"do4b:\0A %x2i = add i32 %i, 2\0A %x2p = getelementptr i8, ptr %s, i32 %x2i\0A %x2b = load i8, ptr %x2p\0A %x2 = zext i8 %x2b to i32\0A\00" -@.str3380 = private unnamed_addr constant [98 x i8] c" %x2m = and i32 %x2, 192\0A %x2ok = icmp eq i32 %x2m, 128\0A br i1 %x2ok, label %do4c, label %bad\0A\00" -@.str3381 = private unnamed_addr constant [129 x i8] c"do4c:\0A %x3i = add i32 %i, 3\0A %x3p = getelementptr i8, ptr %s, i32 %x3i\0A %x3b = load i8, ptr %x3p\0A %x3 = zext i8 %x3b to i32\0A\00" -@.str3382 = private unnamed_addr constant [98 x i8] c" %x3m = and i32 %x3, 192\0A %x3ok = icmp eq i32 %x3m, 128\0A br i1 %x3ok, label %do4d, label %bad\0A\00" -@.str3383 = private unnamed_addr constant [180 x i8] c"do4d:\0A %y0 = and i32 %c, 7\0A %y0s = shl i32 %y0, 18\0A %y1m = and i32 %x1, 63\0A %y1s = shl i32 %y1m, 12\0A %y2m = and i32 %x2, 63\0A %y2s = shl i32 %y2m, 6\0A %y3m = and i32 %x3, 63\0A\00" -@.str3384 = private unnamed_addr constant [86 x i8] c" %cp4p = or i32 %y0s, %y1s\0A %cp4q = or i32 %cp4p, %y2s\0A %cp4 = or i32 %cp4q, %y3m\0A\00" -@.str3385 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" -@.str3386 = private unnamed_addr constant [81 x i8] c"do4e:\0A %hi4 = icmp ugt i32 %cp4, 1114111\0A br i1 %hi4, label %bad, label %adv4\0A\00" -@.str3387 = private unnamed_addr constant [69 x i8] c"adv4:\0A %n4 = add i32 %i, 4\0A store i32 %n4, ptr %ip\0A br label %lp\0A\00" -@.str3388 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" -@.str3389 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_upcp(i32 %c) {\0A\00" -@.str3390 = private unnamed_addr constant [83 x i8] c" %la = icmp uge i32 %c, 97\0A %lb = icmp ule i32 %c, 122\0A %asc = and i1 %la, %lb\0A\00" -@.str3391 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 224\0A %db = icmp ule i32 %c, 254\0A %dd = icmp ne i32 %c, 247\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00" -@.str3392 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %up = sub i32 %c, 32\0A %r = select i1 %map, i32 %up, i32 %c\0A ret i32 %r\0A}\0A\00" -@.str3393 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_locp(i32 %c) {\0A\00" -@.str3394 = private unnamed_addr constant [82 x i8] c" %ua = icmp uge i32 %c, 65\0A %ub = icmp ule i32 %c, 90\0A %asc = and i1 %ua, %ub\0A\00" -@.str3395 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 192\0A %db = icmp ule i32 %c, 222\0A %dd = icmp ne i32 %c, 215\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00" -@.str3396 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %lo = add i32 %c, 32\0A %r = select i1 %map, i32 %lo, i32 %c\0A ret i32 %r\0A}\0A\00" -@.str3397 = private unnamed_addr constant [39 x i8] c"define i32 @fn_uni_cpwidth(i32 %cp) {\0A\00" -@.str3398 = private unnamed_addr constant [91 x i8] c" %a = icmp ult i32 %cp, 128\0A %b = icmp ult i32 %cp, 2048\0A %c = icmp ult i32 %cp, 65536\0A\00" -@.str3399 = private unnamed_addr constant [130 x i8] c" %w34 = select i1 %c, i32 3, i32 4\0A %w234 = select i1 %b, i32 2, i32 %w34\0A %w = select i1 %a, i32 1, i32 %w234\0A ret i32 %w\0A}\0A\00" -@.str3400 = private unnamed_addr constant [58 x i8] c"define i32 @fn_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" -@.str3401 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @fn_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00" -@.str3402 = private unnamed_addr constant [140 x i8] c"e1:\0A %d0 = getelementptr i8, ptr %dst, i32 %off\0A %b0 = trunc i32 %cp to i8\0A store i8 %b0, ptr %d0\0A %o1 = add i32 %off, 1\0A ret i32 %o1\0A\00" -@.str3403 = private unnamed_addr constant [67 x i8] c"k2:\0A %is2 = icmp eq i32 %w, 2\0A br i1 %is2, label %e2, label %k3\0A\00" -@.str3404 = private unnamed_addr constant [107 x i8] c"e2:\0A %hi2 = lshr i32 %cp, 6\0A %by0 = or i32 %hi2, 192\0A %lo2 = and i32 %cp, 63\0A %by1 = or i32 %lo2, 128\0A\00" -@.str3405 = private unnamed_addr constant [103 x i8] c" %p20 = getelementptr i8, ptr %dst, i32 %off\0A %t20 = trunc i32 %by0 to i8\0A store i8 %t20, ptr %p20\0A\00" -@.str3406 = private unnamed_addr constant [166 x i8] c" %o21 = add i32 %off, 1\0A %p21 = getelementptr i8, ptr %dst, i32 %o21\0A %t21 = trunc i32 %by1 to i8\0A store i8 %t21, ptr %p21\0A %o2 = add i32 %off, 2\0A ret i32 %o2\0A\00" -@.str3407 = private unnamed_addr constant [67 x i8] c"k3:\0A %is3 = icmp eq i32 %w, 3\0A br i1 %is3, label %e3, label %e4\0A\00" -@.str3408 = private unnamed_addr constant [190 x i8] c"e3:\0A %hi3 = lshr i32 %cp, 12\0A %by30 = or i32 %hi3, 224\0A %m31 = lshr i32 %cp, 6\0A %m31b = and i32 %m31, 63\0A %by31 = or i32 %m31b, 128\0A %m32 = and i32 %cp, 63\0A %by32 = or i32 %m32, 128\0A\00" -@.str3409 = private unnamed_addr constant [104 x i8] c" %p30 = getelementptr i8, ptr %dst, i32 %off\0A %t30 = trunc i32 %by30 to i8\0A store i8 %t30, ptr %p30\0A\00" -@.str3410 = private unnamed_addr constant [129 x i8] c" %o31 = add i32 %off, 1\0A %p31 = getelementptr i8, ptr %dst, i32 %o31\0A %t31 = trunc i32 %by31 to i8\0A store i8 %t31, ptr %p31\0A\00" -@.str3411 = private unnamed_addr constant [167 x i8] c" %o32 = add i32 %off, 2\0A %p32 = getelementptr i8, ptr %dst, i32 %o32\0A %t32 = trunc i32 %by32 to i8\0A store i8 %t32, ptr %p32\0A %o3 = add i32 %off, 3\0A ret i32 %o3\0A\00" -@.str3412 = private unnamed_addr constant [139 x i8] c"e4:\0A %hi4 = lshr i32 %cp, 18\0A %by40 = or i32 %hi4, 240\0A %m41 = lshr i32 %cp, 12\0A %m41b = and i32 %m41, 63\0A %by41 = or i32 %m41b, 128\0A\00" -@.str3413 = private unnamed_addr constant [133 x i8] c" %m42 = lshr i32 %cp, 6\0A %m42b = and i32 %m42, 63\0A %by42 = or i32 %m42b, 128\0A %m43 = and i32 %cp, 63\0A %by43 = or i32 %m43, 128\0A\00" -@.str3414 = private unnamed_addr constant [104 x i8] c" %p40 = getelementptr i8, ptr %dst, i32 %off\0A %t40 = trunc i32 %by40 to i8\0A store i8 %t40, ptr %p40\0A\00" -@.str3415 = private unnamed_addr constant [129 x i8] c" %o41 = add i32 %off, 1\0A %p41 = getelementptr i8, ptr %dst, i32 %o41\0A %t41 = trunc i32 %by41 to i8\0A store i8 %t41, ptr %p41\0A\00" -@.str3416 = private unnamed_addr constant [129 x i8] c" %o42 = add i32 %off, 2\0A %p42 = getelementptr i8, ptr %dst, i32 %o42\0A %t42 = trunc i32 %by42 to i8\0A store i8 %t42, ptr %p42\0A\00" -@.str3417 = private unnamed_addr constant [169 x i8] c" %o43 = add i32 %off, 3\0A %p43 = getelementptr i8, ptr %dst, i32 %o43\0A %t43 = trunc i32 %by43 to i8\0A store i8 %t43, ptr %p43\0A %o4 = add i32 %off, 4\0A ret i32 %o4\0A}\0A\00" -@.str3418 = private unnamed_addr constant [40 x i8] c"define i32 @fn_uni_is_extend(i32 %c) {\0A\00" -@.str3419 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @fn_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" -@.str3420 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @fn_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" -@.str3421 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @fn_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" -@.str3422 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @fn_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" -@.str3423 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @fn_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" -@.str3424 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @fn_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" -@.str3425 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @fn_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" -@.str3426 = private unnamed_addr constant [161 x i8] c" %o1 = or i32 %r1, %r2\0A %o2 = or i32 %o1, %r3\0A %o3 = or i32 %o2, %r4\0A %o4 = or i32 %o3, %r5\0A %o5 = or i32 %o4, %r6\0A %o6 = or i32 %o5, %r7\0A ret i32 %o6\0A}\0A\00" -@.str3427 = private unnamed_addr constant [56 x i8] c"define i32 @fn_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" -@.str3428 = private unnamed_addr constant [118 x i8] c" %a = icmp uge i32 %c, %lo\0A %b = icmp ule i32 %c, %hi\0A %x = and i1 %a, %b\0A %r = zext i1 %x to i32\0A ret i32 %r\0A}\0A\00" -@.str3429 = private unnamed_addr constant [48 x i8] c"define i32 @fn_uni_char_at(ptr %s, i32 %idx) {\0A\00" -@.str3430 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" -@.str3431 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3432 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" -@.str3433 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k = load i32, ptr %kp\0A %hit = icmp eq i32 %k, %idx\0A br i1 %hit, label %found, label %next\0A\00" -@.str3434 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" -@.str3435 = private unnamed_addr constant [94 x i8] c"next:\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" -@.str3436 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" -@.str3437 = private unnamed_addr constant [36 x i8] c"define ptr @fn_uni_chars(ptr %s) {\0A\00" -@.str3438 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @fn_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00" -@.str3439 = private unnamed_addr constant [93 x i8] c" %nz = zext i32 %n to i64\0A %bytes = mul i64 %nz, 4\0A %data = call ptr @malloc(i64 %bytes)\0A\00" -@.str3440 = private unnamed_addr constant [89 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %data, ptr %d0\0A\00" -@.str3441 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %n, ptr %d1\0A\00" -@.str3442 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %n, ptr %d2\0A\00" -@.str3443 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" -@.str3444 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3445 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3446 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00" -@.str3447 = private unnamed_addr constant [161 x i8] c" %slot = getelementptr i32, ptr %data, i32 %k\0A store i32 %v, ptr %slot\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" -@.str3448 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" -@.str3449 = private unnamed_addr constant [44 x i8] c"define ptr @fn_uni_case(ptr %s, i32 %up) {\0A\00" -@.str3450 = private unnamed_addr constant [128 x i8] c"entry:\0A %bl = call i64 @strlen(ptr %s)\0A %cap0 = mul i64 %bl, 4\0A %cap = add i64 %cap0, 4\0A %out = call ptr @malloc(i64 %cap)\0A\00" -@.str3451 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00" -@.str3452 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3453 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3454 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00" -@.str3455 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @fn_uni_upcp(i32 %v)\0A %ml = call i32 @fn_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00" -@.str3456 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @fn_uni_encode(ptr %out, i32 %o, i32 %m)\0A store i32 %no, ptr %op\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" -@.str3457 = private unnamed_addr constant [120 x i8] c"done:\0A %fo = load i32, ptr %op\0A %endp = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00" -@.str3458 = private unnamed_addr constant [47 x i8] c"define ptr @fn_uni_truncate(ptr %s, i32 %n) {\0A\00" -@.str3459 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" -@.str3460 = private unnamed_addr constant [102 x i8] c"lp:\0A %k = load i32, ptr %kp\0A %enough = icmp sge i32 %k, %n\0A br i1 %enough, label %cut, label %chk\0A\00" -@.str3461 = private unnamed_addr constant [119 x i8] c"chk:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3462 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" -@.str3463 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" -@.str3464 = private unnamed_addr constant [199 x i8] c"cut:\0A %len = load i32, ptr %ip\0A %lz = zext i32 %len to i64\0A %cap = add i64 %lz, 1\0A %out = call ptr @malloc(i64 %cap)\0A %lz2 = zext i32 %len to i64\0A call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\0A\00" -@.str3465 = private unnamed_addr constant [89 x i8] c" %endp = getelementptr i8, ptr %out, i32 %len\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00" -@.str3466 = private unnamed_addr constant [43 x i8] c"define i32 @fn_uni_grapheme_len(ptr %s) {\0A\00" -@.str3467 = private unnamed_addr constant [103 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A %zp = alloca i32\0A %rp = alloca i32\0A %cp = alloca i32\0A\00" -@.str3468 = private unnamed_addr constant [108 x i8] c" store i32 0, ptr %ip\0A store i32 0, ptr %np\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" -@.str3469 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3470 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3471 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00" -@.str3472 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" -@.str3473 = private unnamed_addr constant [142 x i8] c"zwj:\0A %n0 = load i32, ptr %np\0A %n0z = icmp eq i32 %n0, 0\0A %n0b = zext i1 %n0z to i32\0A %n0n = add i32 %n0, %n0b\0A store i32 %n0n, ptr %np\0A\00" -@.str3474 = private unnamed_addr constant [62 x i8] c" store i32 1, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" -@.str3475 = private unnamed_addr constant [104 x i8] c"notzwj:\0A %n = load i32, ptr %np\0A %first = icmp eq i32 %n, 0\0A br i1 %first, label %open, label %cont\0A\00" -@.str3476 = private unnamed_addr constant [160 x i8] c"open:\0A store i32 1, ptr %np\0A store i32 0, ptr %zp\0A %ri0 = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00" -@.str3477 = private unnamed_addr constant [109 x i8] c"cont:\0A %zj = load i32, ptr %zp\0A %afterz = icmp ne i32 %zj, 0\0A br i1 %afterz, label %joinz, label %chkext\0A\00" -@.str3478 = private unnamed_addr constant [69 x i8] c"joinz:\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" -@.str3479 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @fn_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00" -@.str3480 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" -@.str3481 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A %isri = icmp ne i32 %ri, 0\0A %ropen = load i32, ptr %rp\0A %ropenb = icmp ne i32 %ropen, 0\0A %pair = and i1 %isri, %ropenb\0A br i1 %pair, label %joinri, label %newcl\0A\00" -@.str3482 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" -@.str3483 = private unnamed_addr constant [191 x i8] c"newcl:\0A %nn = load i32, ptr %np\0A %nn1 = add i32 %nn, 1\0A store i32 %nn1, ptr %np\0A store i32 0, ptr %zp\0A %riset = select i1 %isri, i32 1, i32 0\0A store i32 %riset, ptr %rp\0A br label %lp\0A\00" -@.str3484 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" -@.str3485 = private unnamed_addr constant [7 x i8] c"exists\00" -@.str3486 = private unnamed_addr constant [7 x i8] c"is_dir\00" -@.str3487 = private unnamed_addr constant [10 x i8] c"read_text\00" -@.str3488 = private unnamed_addr constant [11 x i8] c"write_text\00" -@.str3489 = private unnamed_addr constant [12 x i8] c"append_text\00" -@.str3490 = private unnamed_addr constant [7 x i8] c"remove\00" -@.str3491 = private unnamed_addr constant [5 x i8] c"size\00" -@.str3492 = private unnamed_addr constant [6 x i8] c"mkdir\00" -@.str3493 = private unnamed_addr constant [5 x i8] c"copy\00" -@.str3494 = private unnamed_addr constant [5 x i8] c"list\00" -@.str3495 = private unnamed_addr constant [5 x i8] c"join\00" -@.str3496 = private unnamed_addr constant [4 x i8] c"dir\00" -@.str3497 = private unnamed_addr constant [5 x i8] c"base\00" -@.str3498 = private unnamed_addr constant [4 x i8] c"ext\00" -@.str3499 = private unnamed_addr constant [5 x i8] c"stem\00" -@.str3500 = private unnamed_addr constant [10 x i8] c"normalize\00" -@.str3501 = private unnamed_addr constant [3 x i8] c"of\00" -@.str3502 = private unnamed_addr constant [6 x i8] c"sniff\00" -@.str3503 = private unnamed_addr constant [7 x i8] c"exists\00" -@.str3504 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_exists(ptr \00" -@.str3505 = private unnamed_addr constant [2 x i8] c")\00" -@.str3506 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3507 = private unnamed_addr constant [7 x i8] c"is_dir\00" -@.str3508 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_is_dir(ptr \00" -@.str3509 = private unnamed_addr constant [2 x i8] c")\00" -@.str3510 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3511 = private unnamed_addr constant [10 x i8] c"read_text\00" -@.str3512 = private unnamed_addr constant [31 x i8] c"call ptr @fn_fs_read_text(ptr \00" -@.str3513 = private unnamed_addr constant [2 x i8] c")\00" -@.str3514 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3515 = private unnamed_addr constant [7 x i8] c"remove\00" -@.str3516 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_remove(ptr \00" -@.str3517 = private unnamed_addr constant [2 x i8] c")\00" -@.str3518 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3519 = private unnamed_addr constant [5 x i8] c"size\00" -@.str3520 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_size(ptr \00" -@.str3521 = private unnamed_addr constant [2 x i8] c")\00" -@.str3522 = private unnamed_addr constant [4 x i8] c"int\00" -@.str3523 = private unnamed_addr constant [6 x i8] c"mkdir\00" -@.str3524 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fs_mkdir(ptr \00" -@.str3525 = private unnamed_addr constant [2 x i8] c")\00" -@.str3526 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3527 = private unnamed_addr constant [5 x i8] c"list\00" -@.str3528 = private unnamed_addr constant [26 x i8] c"call ptr @fn_fs_list(ptr \00" -@.str3529 = private unnamed_addr constant [2 x i8] c")\00" -@.str3530 = private unnamed_addr constant [9 x i8] c"[]string\00" -@.str3531 = private unnamed_addr constant [11 x i8] c"write_text\00" -@.str3532 = private unnamed_addr constant [32 x i8] c"call i32 @fn_fs_write_text(ptr \00" -@.str3533 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3534 = private unnamed_addr constant [2 x i8] c")\00" -@.str3535 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3536 = private unnamed_addr constant [12 x i8] c"append_text\00" -@.str3537 = private unnamed_addr constant [33 x i8] c"call i32 @fn_fs_append_text(ptr \00" -@.str3538 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3539 = private unnamed_addr constant [2 x i8] c")\00" -@.str3540 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3541 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_copy(ptr \00" -@.str3542 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3543 = private unnamed_addr constant [2 x i8] c")\00" -@.str3544 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str3545 = private unnamed_addr constant [4 x i8] c"dir\00" -@.str3546 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_dir(ptr \00" -@.str3547 = private unnamed_addr constant [2 x i8] c")\00" -@.str3548 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3549 = private unnamed_addr constant [5 x i8] c"base\00" -@.str3550 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_base(ptr \00" -@.str3551 = private unnamed_addr constant [2 x i8] c")\00" -@.str3552 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3553 = private unnamed_addr constant [4 x i8] c"ext\00" -@.str3554 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_ext(ptr \00" -@.str3555 = private unnamed_addr constant [2 x i8] c")\00" -@.str3556 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3557 = private unnamed_addr constant [5 x i8] c"stem\00" -@.str3558 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_stem(ptr \00" -@.str3559 = private unnamed_addr constant [2 x i8] c")\00" -@.str3560 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3561 = private unnamed_addr constant [10 x i8] c"normalize\00" -@.str3562 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_norm(ptr \00" -@.str3563 = private unnamed_addr constant [2 x i8] c")\00" -@.str3564 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3565 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_join(ptr \00" -@.str3566 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3567 = private unnamed_addr constant [2 x i8] c")\00" -@.str3568 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3569 = private unnamed_addr constant [6 x i8] c"sniff\00" -@.str3570 = private unnamed_addr constant [29 x i8] c"call ptr @fn_mime_sniff(ptr \00" -@.str3571 = private unnamed_addr constant [2 x i8] c")\00" -@.str3572 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3573 = private unnamed_addr constant [26 x i8] c"call ptr @fn_mime_of(ptr \00" -@.str3574 = private unnamed_addr constant [2 x i8] c")\00" -@.str3575 = private unnamed_addr constant [7 x i8] c"string\00" -@.str3576 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" -@.str3577 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" -@.str3578 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" -@.str3579 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" -@.str3580 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" -@.str3581 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" -@.str3582 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" -@.str3583 = private unnamed_addr constant [41 x i8] c"define ptr @fn_fs_dup(ptr %s, i32 %n) {\0A\00" -@.str3584 = private unnamed_addr constant [133 x i8] c"entry:\0A %nz = zext i32 %n to i64\0A %t = add i64 %nz, 1\0A %m = call ptr @malloc(i64 %t)\0A call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\0A\00" -@.str3585 = private unnamed_addr constant [81 x i8] c" %end = getelementptr i8, ptr %m, i32 %n\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00" -@.str3586 = private unnamed_addr constant [36 x i8] c"define ptr @fn_fs_strdup(ptr %s) {\0A\00" -@.str3587 = private unnamed_addr constant [127 x i8] c"entry:\0A %l = call i64 @strlen(ptr %s)\0A %li = trunc i64 %l to i32\0A %r = call ptr @fn_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00" -@.str3588 = private unnamed_addr constant [39 x i8] c"define i32 @fn_fs_lastslash(ptr %s) {\0A\00" -@.str3589 = private unnamed_addr constant [108 x i8] c"entry:\0A %ip = alloca i32\0A %rp = alloca i32\0A store i32 0, ptr %ip\0A store i32 -1, ptr %rp\0A br label %lp\0A\00" -@.str3590 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" -@.str3591 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3592 = private unnamed_addr constant [67 x i8] c"go:\0A %sl = icmp eq i32 %c, 47\0A br i1 %sl, label %set, label %nx\0A\00" -@.str3593 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" -@.str3594 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" -@.str3595 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" -@.str3596 = private unnamed_addr constant [44 x i8] c"define ptr @fn_path_join(ptr %a, ptr %b) {\0A\00" -@.str3597 = private unnamed_addr constant [140 x i8] c"entry:\0A %la64 = call i64 @strlen(ptr %a)\0A %la = trunc i64 %la64 to i32\0A %lb64 = call i64 @strlen(ptr %b)\0A %lb = trunc i64 %lb64 to i32\0A\00" -@.str3598 = private unnamed_addr constant [122 x i8] c" %b0 = load i8, ptr %b\0A %b0i = zext i8 %b0 to i32\0A %babs = icmp eq i32 %b0i, 47\0A br i1 %babs, label %retb, label %ka\0A\00" -@.str3599 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" -@.str3600 = private unnamed_addr constant [73 x i8] c"ka:\0A %aemp = icmp eq i32 %la, 0\0A br i1 %aemp, label %retb2, label %kb\0A\00" -@.str3601 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" -@.str3602 = private unnamed_addr constant [73 x i8] c"kb:\0A %bemp = icmp eq i32 %lb, 0\0A br i1 %bemp, label %reta, label %chk\0A\00" -@.str3603 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @fn_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" -@.str3604 = private unnamed_addr constant [159 x i8] c"chk:\0A %lam1 = sub i32 %la, 1\0A %pe = getelementptr i8, ptr %a, i32 %lam1\0A %ae = load i8, ptr %pe\0A %aei = zext i8 %ae to i32\0A %ends = icmp eq i32 %aei, 47\0A\00" -@.str3605 = private unnamed_addr constant [189 x i8] c" %sep = select i1 %ends, i32 0, i32 1\0A %tot = add i32 %la, %lb\0A %tot2 = add i32 %tot, %sep\0A %tot3 = add i32 %tot2, 1\0A %totz = zext i32 %tot3 to i64\0A %m = call ptr @malloc(i64 %totz)\0A\00" -@.str3606 = private unnamed_addr constant [75 x i8] c" %laz = zext i32 %la to i64\0A call ptr @memcpy(ptr %m, ptr %a, i64 %laz)\0A\00" -@.str3607 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" -@.str3608 = private unnamed_addr constant [90 x i8] c"wsep:\0A %sp = getelementptr i8, ptr %m, i32 %la\0A store i8 47, ptr %sp\0A br label %after\0A\00" -@.str3609 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" -@.str3610 = private unnamed_addr constant [155 x i8] c"after:\0A %boff = add i32 %la, %sep\0A %dp = getelementptr i8, ptr %m, i32 %boff\0A %lbz = zext i32 %lb to i64\0A call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz)\0A\00" -@.str3611 = private unnamed_addr constant [115 x i8] c" %endoff = add i32 %boff, %lb\0A %ep = getelementptr i8, ptr %m, i32 %endoff\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00" -@.str3612 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_base(ptr %s) {\0A\00" -@.str3613 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00" -@.str3614 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @fn_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" -@.str3615 = private unnamed_addr constant [126 x i8] c"tail:\0A %st = add i32 %ls, 1\0A %p = getelementptr i8, ptr %s, i32 %st\0A %r2 = call ptr @fn_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00" -@.str3616 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_dir(ptr %s) {\0A\00" -@.str3617 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00" -@.str3618 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @fn_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00" -@.str3619 = private unnamed_addr constant [79 x i8] c"chk0:\0A %isroot = icmp eq i32 %ls, 0\0A br i1 %isroot, label %root, label %cut\0A\00" -@.str3620 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @fn_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00" -@.str3621 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00" -@.str3622 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_ext(ptr %s) {\0A\00" -@.str3623 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00" -@.str3624 = private unnamed_addr constant [107 x i8] c" %dp = alloca i32\0A %ip = alloca i32\0A store i32 -1, ptr %dp\0A store i32 %bstart, ptr %ip\0A br label %lp\0A\00" -@.str3625 = private unnamed_addr constant [178 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3626 = private unnamed_addr constant [68 x i8] c"go:\0A %dot = icmp eq i32 %c, 46\0A br i1 %dot, label %sd, label %nx\0A\00" -@.str3627 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" -@.str3628 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" -@.str3629 = private unnamed_addr constant [102 x i8] c"done:\0A %d = load i32, ptr %dp\0A %nod = icmp eq i32 %d, -1\0A br i1 %nod, label %empty, label %chkpos\0A\00" -@.str3630 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00" -@.str3631 = private unnamed_addr constant [91 x i8] c"chkpos:\0A %atstart = icmp eq i32 %d, %bstart\0A br i1 %atstart, label %empty2, label %take\0A\00" -@.str3632 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00" -@.str3633 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @fn_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00" -@.str3634 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_stem(ptr %s) {\0A\00" -@.str3635 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @fn_path_base(ptr %s)\0A %ext = call ptr @fn_path_ext(ptr %s)\0A\00" -@.str3636 = private unnamed_addr constant [138 x i8] c" %bl64 = call i64 @strlen(ptr %base)\0A %bl = trunc i64 %bl64 to i32\0A %el64 = call i64 @strlen(ptr %ext)\0A %el = trunc i64 %el64 to i32\0A\00" -@.str3637 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @fn_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00" -@.str3638 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_norm(ptr %s) {\0A\00" -@.str3639 = private unnamed_addr constant [133 x i8] c"entry:\0A %len64 = call i64 @strlen(ptr %s)\0A %len = trunc i64 %len64 to i32\0A %cap = add i32 %len, 2\0A %capz = zext i32 %cap to i64\0A\00" -@.str3640 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" -@.str3641 = private unnamed_addr constant [96 x i8] c" %stz = mul i32 %cap, 4\0A %stzz = zext i32 %stz to i64\0A %segst = call ptr @malloc(i64 %stzz)\0A\00" -@.str3642 = private unnamed_addr constant [83 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %abs = icmp eq i32 %b0i, 47\0A\00" -@.str3643 = private unnamed_addr constant [106 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %scp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %scp\0A\00" -@.str3644 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" -@.str3645 = private unnamed_addr constant [69 x i8] c"ldr:\0A store i8 47, ptr %out\0A store i32 1, ptr %op\0A br label %seg\0A\00" -@.str3646 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" -@.str3647 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" -@.str3648 = private unnamed_addr constant [200 x i8] c"sksl:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %cc = load i8, ptr %pp\0A %cci = zext i8 %cc to i32\0A %issl = icmp eq i32 %cci, 47\0A br i1 %issl, label %adv, label %segstart\0A\00" -@.str3649 = private unnamed_addr constant [70 x i8] c"adv:\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %sksl\0A\00" -@.str3650 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" -@.str3651 = private unnamed_addr constant [260 x i8] c"scan:\0A %j = load i32, ptr %ip\0A %pj = getelementptr i8, ptr %s, i32 %j\0A %cj = load i8, ptr %pj\0A %cji = zext i8 %cj to i32\0A %endc = icmp eq i32 %cji, 0\0A %slc = icmp eq i32 %cji, 47\0A %stop = or i1 %endc, %slc\0A br i1 %stop, label %seghave, label %scanadv\0A\00" -@.str3652 = private unnamed_addr constant [74 x i8] c"scanadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %ip\0A br label %scan\0A\00" -@.str3653 = private unnamed_addr constant [147 x i8] c"seghave:\0A %se = load i32, ptr %ip\0A %slen = sub i32 %se, %ss\0A %emptyseg = icmp eq i32 %slen, 0\0A br i1 %emptyseg, label %atend, label %classify\0A\00" -@.str3654 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" -@.str3655 = private unnamed_addr constant [244 x i8] c" %is1 = icmp eq i32 %slen, 1\0A %c0p = getelementptr i8, ptr %s, i32 %ss\0A %c0 = load i8, ptr %c0p\0A %c0i = zext i8 %c0 to i32\0A %isdotchar = icmp eq i32 %c0i, 46\0A %isdot = and i1 %is1, %isdotchar\0A br i1 %isdot, label %contseg, label %chkdd\0A\00" -@.str3656 = private unnamed_addr constant [257 x i8] c"chkdd:\0A %is2 = icmp eq i32 %slen, 2\0A %d0p = getelementptr i8, ptr %s, i32 %ss\0A %d0 = load i8, ptr %d0p\0A %d0i = zext i8 %d0 to i32\0A %d1o = add i32 %ss, 1\0A %d1p = getelementptr i8, ptr %s, i32 %d1o\0A %d1 = load i8, ptr %d1p\0A %d1i = zext i8 %d1 to i32\0A\00" -@.str3657 = private unnamed_addr constant [161 x i8] c" %dd0 = icmp eq i32 %d0i, 46\0A %dd1 = icmp eq i32 %d1i, 46\0A %ddx = and i1 %dd0, %dd1\0A %isdd = and i1 %is2, %ddx\0A br i1 %isdd, label %dotdot, label %keepseg\0A\00" -@.str3658 = private unnamed_addr constant [105 x i8] c"dotdot:\0A %sc = load i32, ptr %scp\0A %has = icmp sgt i32 %sc, 0\0A br i1 %has, label %pop, label %chkrel\0A\00" -@.str3659 = private unnamed_addr constant [184 x i8] c"pop:\0A %sc1 = sub i32 %sc, 1\0A %stp = getelementptr i32, ptr %segst, i32 %sc1\0A %newop = load i32, ptr %stp\0A store i32 %newop, ptr %op\0A store i32 %sc1, ptr %scp\0A br label %contseg\0A\00" -@.str3660 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" -@.str3661 = private unnamed_addr constant [195 x i8] c"keepseg:\0A %sc2 = load i32, ptr %scp\0A %o0 = load i32, ptr %op\0A %stp2 = getelementptr i32, ptr %segst, i32 %sc2\0A store i32 %o0, ptr %stp2\0A %sc2n = add i32 %sc2, 1\0A store i32 %sc2n, ptr %scp\0A\00" -@.str3662 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" -@.str3663 = private unnamed_addr constant [102 x i8] c"cpy:\0A %k = load i32, ptr %cpp\0A %klt = icmp slt i32 %k, %se\0A br i1 %klt, label %cpyb, label %cpysl\0A\00" -@.str3664 = private unnamed_addr constant [285 x i8] c"cpyb:\0A %skp = getelementptr i8, ptr %s, i32 %k\0A %sk = load i8, ptr %skp\0A %oo = load i32, ptr %op\0A %dkp = getelementptr i8, ptr %out, i32 %oo\0A store i8 %sk, ptr %dkp\0A %oo1 = add i32 %oo, 1\0A store i32 %oo1, ptr %op\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %cpp\0A br label %cpy\0A\00" -@.str3665 = private unnamed_addr constant [175 x i8] c"cpysl:\0A %oc = load i32, ptr %op\0A %scp3 = getelementptr i8, ptr %out, i32 %oc\0A store i8 47, ptr %scp3\0A %oc1 = add i32 %oc, 1\0A store i32 %oc1, ptr %op\0A br label %contseg\0A\00" -@.str3666 = private unnamed_addr constant [206 x i8] c"contseg:\0A %ci = load i32, ptr %ip\0A %cip = getelementptr i8, ptr %s, i32 %ci\0A %cic = load i8, ptr %cip\0A %cici = zext i8 %cic to i32\0A %atz = icmp eq i32 %cici, 0\0A br i1 %atz, label %finish, label %seg\0A\00" -@.str3667 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" -@.str3668 = private unnamed_addr constant [110 x i8] c"finish:\0A %fo = load i32, ptr %op\0A %gt1 = icmp sgt i32 %fo, 1\0A br i1 %gt1, label %trimchk, label %fdefault\0A\00" -@.str3669 = private unnamed_addr constant [211 x i8] c"trimchk:\0A %lasto = sub i32 %fo, 1\0A %lop = getelementptr i8, ptr %out, i32 %lasto\0A %lc = load i8, ptr %lop\0A %lci = zext i8 %lc to i32\0A %istsl = icmp eq i32 %lci, 47\0A br i1 %istsl, label %trim, label %term\0A\00" -@.str3670 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" -@.str3671 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" -@.str3672 = private unnamed_addr constant [104 x i8] c"term:\0A %eo = load i32, ptr %op\0A %ez = icmp eq i32 %eo, 0\0A br i1 %ez, label %emptyout, label %putnul\0A\00" -@.str3673 = private unnamed_addr constant [114 x i8] c"emptyout:\0A store i8 46, ptr %out\0A %e1 = getelementptr i8, ptr %out, i32 1\0A store i8 0, ptr %e1\0A ret ptr %out\0A\00" -@.str3674 = private unnamed_addr constant [92 x i8] c"putnul:\0A %ep = getelementptr i8, ptr %out, i32 %eo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00" -@.str3675 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_exists(ptr %p) {\0A\00" -@.str3676 = private unnamed_addr constant [114 x i8] c"entry:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" -@.str3677 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_is_dir(ptr %p) {\0A\00" -@.str3678 = private unnamed_addr constant [105 x i8] c"entry:\0A %d = call ptr @opendir(ptr %p)\0A %nz = icmp ne ptr %d, null\0A br i1 %nz, label %yes, label %no\0A\00" -@.str3679 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" -@.str3680 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" -@.str3681 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fs_size(ptr %p) {\0A\00" -@.str3682 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" -@.str3683 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" -@.str3684 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n = call i64 @ftell(ptr %f)\0A call i32 @fclose(ptr %f)\0A %ni = trunc i64 %n to i32\0A ret i32 %ni\0A}\0A\00" -@.str3685 = private unnamed_addr constant [50 x i8] c"define ptr @fn_fs_readall(ptr %p, ptr %lenout) {\0A\00" -@.str3686 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" -@.str3687 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" -@.str3688 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A call i32 @fseek(ptr %f, i64 0, i32 0)\0A %n = trunc i64 %n64 to i32\0A\00" -@.str3689 = private unnamed_addr constant [144 x i8] c" %cap = add i64 %n64, 1\0A %m = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" -@.str3690 = private unnamed_addr constant [145 x i8] c" %rdi = trunc i64 %rd to i32\0A %endp = getelementptr i8, ptr %m, i32 %rdi\0A store i8 0, ptr %endp\0A store i32 %rdi, ptr %lenout\0A ret ptr %m\0A}\0A\00" -@.str3691 = private unnamed_addr constant [39 x i8] c"define ptr @fn_fs_read_text(ptr %p) {\0A\00" -@.str3692 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00" -@.str3693 = private unnamed_addr constant [48 x i8] c"define i32 @fn_fs_write_text(ptr %p, ptr %s) {\0A\00" -@.str3694 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" -@.str3695 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" -@.str3696 = private unnamed_addr constant [119 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" -@.str3697 = private unnamed_addr constant [114 x i8] c" %rr = call i32 @rename(ptr %tmp, ptr %p)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" -@.str3698 = private unnamed_addr constant [48 x i8] c"define ptr @fn_path_join_ext(ptr %a, ptr %b) {\0A\00" -@.str3699 = private unnamed_addr constant [159 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00" -@.str3700 = private unnamed_addr constant [212 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A %ep = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00" -@.str3701 = private unnamed_addr constant [49 x i8] c"define i32 @fn_fs_append_text(ptr %p, ptr %s) {\0A\00" -@.str3702 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_ab)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" -@.str3703 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" -@.str3704 = private unnamed_addr constant [128 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\00" -@.str3705 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_remove(ptr %p) {\0A\00" -@.str3706 = private unnamed_addr constant [107 x i8] c"entry:\0A %r = call i32 @remove(ptr %p)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" -@.str3707 = private unnamed_addr constant [46 x i8] c"define i32 @fn_fs_copy(ptr %src, ptr %dst) {\0A\00" -@.str3708 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00" -@.str3709 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" -@.str3710 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00" -@.str3711 = private unnamed_addr constant [255 x i8] c"w:\0A %n = load i32, ptr %lp\0A %nz64 = zext i32 %n to i64\0A call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rr = call i32 @rename(ptr %tmp, ptr %dst)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" -@.str3712 = private unnamed_addr constant [35 x i8] c"define i32 @fn_fs_mkdir(ptr %p) {\0A\00" -@.str3713 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @fn_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00" -@.str3714 = private unnamed_addr constant [183 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %dup, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %fin, label %go\0A\00" -@.str3715 = private unnamed_addr constant [68 x i8] c"go:\0A %sl = icmp eq i32 %ci, 47\0A br i1 %sl, label %cut, label %nx\0A\00" -@.str3716 = private unnamed_addr constant [103 x i8] c"cut:\0A store i8 0, ptr %pp\0A call i32 @mkdir(ptr %dup, i32 493)\0A store i8 47, ptr %pp\0A br label %nx\0A\00" -@.str3717 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" -@.str3718 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @fn_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00" -@.str3719 = private unnamed_addr constant [37 x i8] c"define ptr @fn_fs_list(ptr %path) {\0A\00" -@.str3720 = private unnamed_addr constant [223 x i8] c"entry:\0A %h = call ptr @malloc(i64 16)\0A %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A\00" -@.str3721 = private unnamed_addr constant [182 x i8] c" %datap = alloca ptr\0A %cntp = alloca i32\0A %capp = alloca i32\0A %init = call ptr @malloc(i64 128)\0A store ptr %init, ptr %datap\0A store i32 0, ptr %cntp\0A store i32 16, ptr %capp\0A\00" -@.str3722 = private unnamed_addr constant [109 x i8] c" %dir = call ptr @opendir(ptr %path)\0A %dnz = icmp ne ptr %dir, null\0A br i1 %dnz, label %rd, label %empty\0A\00" -@.str3723 = private unnamed_addr constant [114 x i8] c"rd:\0A %de = call ptr @readdir(ptr %dir)\0A %denz = icmp ne ptr %de, null\0A br i1 %denz, label %ent, label %closed\0A\00" -@.str3724 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" -@.str3725 = private unnamed_addr constant [135 x i8] c" %n0 = load i8, ptr %namep\0A %n0i = zext i8 %n0 to i32\0A %isdot0 = icmp eq i32 %n0i, 46\0A br i1 %isdot0, label %chkdots, label %keep\0A\00" -@.str3726 = private unnamed_addr constant [176 x i8] c"chkdots:\0A %n1p = getelementptr i8, ptr %namep, i32 1\0A %n1 = load i8, ptr %n1p\0A %n1i = zext i8 %n1 to i32\0A %n1z = icmp eq i32 %n1i, 0\0A br i1 %n1z, label %rd, label %chkdd\0A\00" -@.str3727 = private unnamed_addr constant [85 x i8] c"chkdd:\0A %isdot1 = icmp eq i32 %n1i, 46\0A br i1 %isdot1, label %chkdd2, label %keep\0A\00" -@.str3728 = private unnamed_addr constant [174 x i8] c"chkdd2:\0A %n2p = getelementptr i8, ptr %namep, i32 2\0A %n2 = load i8, ptr %n2p\0A %n2i = zext i8 %n2 to i32\0A %n2z = icmp eq i32 %n2i, 0\0A br i1 %n2z, label %rd, label %keep\0A\00" -@.str3729 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @fn_fs_strdup(ptr %namep)\0A\00" -@.str3730 = private unnamed_addr constant [132 x i8] c" %cnt = load i32, ptr %cntp\0A %cap = load i32, ptr %capp\0A %full = icmp sge i32 %cnt, %cap\0A br i1 %full, label %grow, label %put\0A\00" -@.str3731 = private unnamed_addr constant [232 x i8] c"grow:\0A %nc = mul i32 %cap, 2\0A store i32 %nc, ptr %capp\0A %ncz = zext i32 %nc to i64\0A %nb = mul i64 %ncz, 8\0A %old = load ptr, ptr %datap\0A %new = call ptr @realloc(ptr %old, i64 %nb)\0A store ptr %new, ptr %datap\0A br label %put\0A\00" -@.str3732 = private unnamed_addr constant [215 x i8] c"put:\0A %data = load ptr, ptr %datap\0A %cnt2 = load i32, ptr %cntp\0A %slot = getelementptr ptr, ptr %data, i32 %cnt2\0A store ptr %nm, ptr %slot\0A %cnt3 = add i32 %cnt2, 1\0A store i32 %cnt3, ptr %cntp\0A br label %rd\0A\00" -@.str3733 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" -@.str3734 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" -@.str3735 = private unnamed_addr constant [130 x i8] c"sortit:\0A %fdata = load ptr, ptr %datap\0A %fcnt = load i32, ptr %cntp\0A %aip = alloca i32\0A store i32 1, ptr %aip\0A br label %so\0A\00" -@.str3736 = private unnamed_addr constant [104 x i8] c"so:\0A %ai = load i32, ptr %aip\0A %ailt = icmp slt i32 %ai, %fcnt\0A br i1 %ailt, label %sob, label %sod\0A\00" -@.str3737 = private unnamed_addr constant [166 x i8] c"sob:\0A %kp = getelementptr ptr, ptr %fdata, i32 %ai\0A %key = load ptr, ptr %kp\0A %jp = alloca i32\0A %aim1 = sub i32 %ai, 1\0A store i32 %aim1, ptr %jp\0A br label %si\0A\00" -@.str3738 = private unnamed_addr constant [98 x i8] c"si:\0A %jj = load i32, ptr %jp\0A %jge = icmp sge i32 %jj, 0\0A br i1 %jge, label %sic, label %sins\0A\00" -@.str3739 = private unnamed_addr constant [194 x i8] c"sic:\0A %ejp = getelementptr ptr, ptr %fdata, i32 %jj\0A %ej = load ptr, ptr %ejp\0A %cmp = call i32 @strcmp(ptr %ej, ptr %key)\0A %gt = icmp sgt i32 %cmp, 0\0A br i1 %gt, label %shift, label %sins\0A\00" -@.str3740 = private unnamed_addr constant [168 x i8] c"shift:\0A %j1 = add i32 %jj, 1\0A %dp1 = getelementptr ptr, ptr %fdata, i32 %j1\0A store ptr %ej, ptr %dp1\0A %jm = sub i32 %jj, 1\0A store i32 %jm, ptr %jp\0A br label %si\0A\00" -@.str3741 = private unnamed_addr constant [201 x i8] c"sins:\0A %jf = load i32, ptr %jp\0A %jf1 = add i32 %jf, 1\0A %insp = getelementptr ptr, ptr %fdata, i32 %jf1\0A store ptr %key, ptr %insp\0A %ai1 = add i32 %ai, 1\0A store i32 %ai1, ptr %aip\0A br label %so\0A\00" -@.str3742 = private unnamed_addr constant [103 x i8] c"sod:\0A store ptr %fdata, ptr %d0\0A store i32 %fcnt, ptr %d1\0A store i32 %fcnt, ptr %d2\0A ret ptr %h\0A}\0A\00" -@.str3743 = private unnamed_addr constant [4 x i8] c"png\00" -@.str3744 = private unnamed_addr constant [10 x i8] c"image/png\00" -@.str3745 = private unnamed_addr constant [4 x i8] c"jpg\00" -@.str3746 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str3747 = private unnamed_addr constant [5 x i8] c"jpeg\00" -@.str3748 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str3749 = private unnamed_addr constant [4 x i8] c"gif\00" -@.str3750 = private unnamed_addr constant [10 x i8] c"image/gif\00" -@.str3751 = private unnamed_addr constant [4 x i8] c"bmp\00" -@.str3752 = private unnamed_addr constant [10 x i8] c"image/bmp\00" -@.str3753 = private unnamed_addr constant [5 x i8] c"webp\00" -@.str3754 = private unnamed_addr constant [11 x i8] c"image/webp\00" -@.str3755 = private unnamed_addr constant [4 x i8] c"svg\00" -@.str3756 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" -@.str3757 = private unnamed_addr constant [4 x i8] c"txt\00" -@.str3758 = private unnamed_addr constant [11 x i8] c"text/plain\00" -@.str3759 = private unnamed_addr constant [3 x i8] c"md\00" -@.str3760 = private unnamed_addr constant [14 x i8] c"text/markdown\00" -@.str3761 = private unnamed_addr constant [4 x i8] c"csv\00" -@.str3762 = private unnamed_addr constant [9 x i8] c"text/csv\00" -@.str3763 = private unnamed_addr constant [5 x i8] c"html\00" -@.str3764 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str3765 = private unnamed_addr constant [4 x i8] c"htm\00" -@.str3766 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str3767 = private unnamed_addr constant [4 x i8] c"css\00" -@.str3768 = private unnamed_addr constant [9 x i8] c"text/css\00" -@.str3769 = private unnamed_addr constant [3 x i8] c"js\00" -@.str3770 = private unnamed_addr constant [16 x i8] c"text/javascript\00" -@.str3771 = private unnamed_addr constant [5 x i8] c"json\00" -@.str3772 = private unnamed_addr constant [17 x i8] c"application/json\00" -@.str3773 = private unnamed_addr constant [4 x i8] c"xml\00" -@.str3774 = private unnamed_addr constant [16 x i8] c"application/xml\00" -@.str3775 = private unnamed_addr constant [4 x i8] c"zip\00" -@.str3776 = private unnamed_addr constant [16 x i8] c"application/zip\00" -@.str3777 = private unnamed_addr constant [4 x i8] c"pdf\00" -@.str3778 = private unnamed_addr constant [16 x i8] c"application/pdf\00" -@.str3779 = private unnamed_addr constant [4 x i8] c"wav\00" -@.str3780 = private unnamed_addr constant [10 x i8] c"audio/wav\00" -@.str3781 = private unnamed_addr constant [4 x i8] c"ogg\00" -@.str3782 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" -@.str3783 = private unnamed_addr constant [4 x i8] c"mp3\00" -@.str3784 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" -@.str3785 = private unnamed_addr constant [4 x i8] c"ttf\00" -@.str3786 = private unnamed_addr constant [9 x i8] c"font/ttf\00" -@.str3787 = private unnamed_addr constant [4 x i8] c"otf\00" -@.str3788 = private unnamed_addr constant [9 x i8] c"font/otf\00" -@.str3789 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str3790 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" -@.str3791 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" -@.str3792 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" -@.str3793 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" -@.str3794 = private unnamed_addr constant [3 x i8] c", \00" -@.str3795 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" -@.str3796 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3797 = private unnamed_addr constant [3 x i8] c" }\00" -@.str3798 = private unnamed_addr constant [3 x i8] c"]\0A\00" -@.str3799 = private unnamed_addr constant [37 x i8] c"define ptr @fn_mime_of(ptr %path) {\0A\00" -@.str3800 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @fn_path_ext(ptr %path)\0A %lc = call ptr @fn_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" -@.str3801 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" -@.str3802 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" -@.str3803 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" -@.str3804 = private unnamed_addr constant [182 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0\0A %k = load ptr, ptr %kp\0A %c = call i32 @strcmp(ptr %lc, ptr %k)\0A %eq = icmp eq i32 %c, 0\0A br i1 %eq, label %hit, label %nx\0A\00" -@.str3805 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" -@.str3806 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @fn_fs_strdup(ptr %v)\0A ret ptr %r\0A\00" -@.str3807 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" -@.str3808 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @fn_fs_strdup(ptr \00" -@.str3809 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" -@.str3810 = private unnamed_addr constant [34 x i8] c"define ptr @fn_mime_lc(ptr %s) {\0A\00" -@.str3811 = private unnamed_addr constant [132 x i8] c"entry:\0A %l64 = call i64 @strlen(ptr %s)\0A %l = trunc i64 %l64 to i32\0A %cap = add i64 %l64, 1\0A %out = call ptr @malloc(i64 %cap)\0A\00" -@.str3812 = private unnamed_addr constant [127 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %isdot = icmp eq i32 %b0i, 46\0A %start = select i1 %isdot, i32 1, i32 0\0A\00" -@.str3813 = private unnamed_addr constant [105 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A store i32 %start, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00" -@.str3814 = private unnamed_addr constant [182 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %done, label %go\0A\00" -@.str3815 = private unnamed_addr constant [378 x i8] c"go:\0A %ua = icmp uge i32 %ci, 65\0A %ub = icmp ule i32 %ci, 90\0A %up = and i1 %ua, %ub\0A %lo = add i32 %ci, 32\0A %m = select i1 %up, i32 %lo, i32 %ci\0A %mt = trunc i32 %m to i8\0A %o = load i32, ptr %op\0A %dp = getelementptr i8, ptr %out, i32 %o\0A store i8 %mt, ptr %dp\0A %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" -@.str3816 = private unnamed_addr constant [116 x i8] c"done:\0A %fo = load i32, ptr %op\0A %ep = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00" -@.str3817 = private unnamed_addr constant [40 x i8] c"define ptr @fn_mime_sniff(ptr %path) {\0A\00" -@.str3818 = private unnamed_addr constant [127 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %fallback\0A\00" -@.str3819 = private unnamed_addr constant [226 x i8] c"ok:\0A %buf = call ptr @malloc(i64 16)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rdi = trunc i64 %rd to i32\0A %has4 = icmp sge i32 %rdi, 4\0A br i1 %has4, label %chk, label %fallback\0A\00" -@.str3820 = private unnamed_addr constant [394 x i8] c"chk:\0A %b0p = getelementptr i8, ptr %buf, i32 0\0A %b0 = load i8, ptr %b0p\0A %b0i = zext i8 %b0 to i32\0A %b1p = getelementptr i8, ptr %buf, i32 1\0A %b1 = load i8, ptr %b1p\0A %b1i = zext i8 %b1 to i32\0A %b2p = getelementptr i8, ptr %buf, i32 2\0A %b2 = load i8, ptr %b2p\0A %b2i = zext i8 %b2 to i32\0A %b3p = getelementptr i8, ptr %buf, i32 3\0A %b3 = load i8, ptr %b3p\0A %b3i = zext i8 %b3 to i32\0A\00" -@.str3821 = private unnamed_addr constant [225 x i8] c" %p0 = icmp eq i32 %b0i, 137\0A %p1 = icmp eq i32 %b1i, 80\0A %p2 = icmp eq i32 %b2i, 78\0A %p3 = icmp eq i32 %b3i, 71\0A %pa = and i1 %p0, %p1\0A %pb = and i1 %pa, %p2\0A %pc = and i1 %pb, %p3\0A br i1 %pc, label %png, label %cj\0A\00" -@.str3822 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00" -@.str3823 = private unnamed_addr constant [178 x i8] c"cj:\0A %j0 = icmp eq i32 %b0i, 255\0A %j1 = icmp eq i32 %b1i, 216\0A %j2 = icmp eq i32 %b2i, 255\0A %ja = and i1 %j0, %j1\0A %jb = and i1 %ja, %j2\0A br i1 %jb, label %jpg, label %cg\0A\00" -@.str3824 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00" -@.str3825 = private unnamed_addr constant [175 x i8] c"cg:\0A %g0 = icmp eq i32 %b0i, 71\0A %g1 = icmp eq i32 %b1i, 73\0A %g2 = icmp eq i32 %b2i, 70\0A %ga = and i1 %g0, %g1\0A %gb = and i1 %ga, %g2\0A br i1 %gb, label %gif, label %cp\0A\00" -@.str3826 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00" -@.str3827 = private unnamed_addr constant [234 x i8] c"cp:\0A %q0 = icmp eq i32 %b0i, 37\0A %q1 = icmp eq i32 %b1i, 80\0A %q2 = icmp eq i32 %b2i, 68\0A %q3 = icmp eq i32 %b3i, 70\0A %qa = and i1 %q0, %q1\0A %qb = and i1 %qa, %q2\0A %qc = and i1 %qb, %q3\0A br i1 %qc, label %pdf, label %fallback\0A\00" -@.str3828 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00" -@.str3829 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @fn_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00" -@.str3830 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" -@.str3831 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" -@.str3832 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" -@.str3833 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" -@.str3834 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" -@.str3835 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" -@.str3836 = private unnamed_addr constant [68 x i8] c"@fn_str_dottmp = private unnamed_addr constant [5 x i8] c\22.tmp\5C00\22\0A\00" -@.str3837 = private unnamed_addr constant [71 x i8] c"@fn_sig_png = private unnamed_addr constant [10 x i8] c\22image/png\5C00\22\0A\00" -@.str3838 = private unnamed_addr constant [72 x i8] c"@fn_sig_jpg = private unnamed_addr constant [11 x i8] c\22image/jpeg\5C00\22\0A\00" -@.str3839 = private unnamed_addr constant [71 x i8] c"@fn_sig_gif = private unnamed_addr constant [10 x i8] c\22image/gif\5C00\22\0A\00" -@.str3840 = private unnamed_addr constant [77 x i8] c"@fn_sig_pdf = private unnamed_addr constant [16 x i8] c\22application/pdf\5C00\22\0A\00" -@.str3841 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str3842 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" -@.str3843 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3844 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3845 = private unnamed_addr constant [4 x i8] c"len\00" -@.str3846 = private unnamed_addr constant [5 x i8] c"push\00" -@.str3847 = private unnamed_addr constant [6 x i8] c"clear\00" -@.str3848 = private unnamed_addr constant [6 x i8] c"first\00" -@.str3849 = private unnamed_addr constant [5 x i8] c"last\00" -@.str3850 = private unnamed_addr constant [4 x i8] c"pop\00" -@.str3851 = private unnamed_addr constant [5 x i8] c"swap\00" -@.str3852 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str3853 = private unnamed_addr constant [9 x i8] c"index_of\00" -@.str3854 = private unnamed_addr constant [8 x i8] c"reverse\00" -@.str3855 = private unnamed_addr constant [7 x i8] c"insert\00" -@.str3856 = private unnamed_addr constant [10 x i8] c"remove_at\00" -@.str3857 = private unnamed_addr constant [7 x i8] c"remove\00" -@.str3858 = private unnamed_addr constant [5 x i8] c"sort\00" -@.str3859 = private unnamed_addr constant [8 x i8] c"sort_by\00" -@.str3860 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" -@.str3861 = private unnamed_addr constant [10 x i8] c"sort_with\00" -@.str3862 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3863 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3864 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str3865 = private unnamed_addr constant [3 x i8] c", \00" -@.str3866 = private unnamed_addr constant [3 x i8] c"ig\00" -@.str3867 = private unnamed_addr constant [4 x i8] c"igd\00" -@.str3868 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str3869 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str3870 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str3871 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3872 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3873 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str3874 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str3875 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str3876 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str3877 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str3878 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" -@.str3879 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str3880 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str3881 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str3882 = private unnamed_addr constant [3 x i8] c", \00" -@.str3883 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str3884 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" -@.str3885 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str3886 = private unnamed_addr constant [2 x i8] c")\00" -@.str3887 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str3888 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3889 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3890 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str3891 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3892 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3893 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str3894 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3895 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3896 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" -@.str3897 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str3898 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3899 = private unnamed_addr constant [10 x i8] c"icmp slt \00" -@.str3900 = private unnamed_addr constant [2 x i8] c" \00" -@.str3901 = private unnamed_addr constant [3 x i8] c", \00" -@.str3902 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" -@.str3903 = private unnamed_addr constant [2 x i8] c"(\00" -@.str3904 = private unnamed_addr constant [2 x i8] c" \00" -@.str3905 = private unnamed_addr constant [3 x i8] c", \00" -@.str3906 = private unnamed_addr constant [2 x i8] c" \00" -@.str3907 = private unnamed_addr constant [2 x i8] c")\00" -@.str3908 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str3909 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str3910 = private unnamed_addr constant [6 x i8] c"call \00" -@.str3911 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str3912 = private unnamed_addr constant [2 x i8] c"(\00" -@.str3913 = private unnamed_addr constant [2 x i8] c" \00" -@.str3914 = private unnamed_addr constant [2 x i8] c")\00" -@.str3915 = private unnamed_addr constant [6 x i8] c"call \00" -@.str3916 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str3917 = private unnamed_addr constant [2 x i8] c"(\00" -@.str3918 = private unnamed_addr constant [2 x i8] c" \00" -@.str3919 = private unnamed_addr constant [2 x i8] c")\00" -@.str3920 = private unnamed_addr constant [10 x i8] c"icmp slt \00" -@.str3921 = private unnamed_addr constant [2 x i8] c" \00" -@.str3922 = private unnamed_addr constant [3 x i8] c", \00" -@.str3923 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" -@.str3924 = private unnamed_addr constant [2 x i8] c" \00" -@.str3925 = private unnamed_addr constant [3 x i8] c", \00" -@.str3926 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str3927 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3928 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str3929 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str3930 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str3931 = private unnamed_addr constant [3 x i8] c", \00" -@.str3932 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str3933 = private unnamed_addr constant [2 x i8] c")\00" -@.str3934 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3935 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3936 = private unnamed_addr constant [2 x i8] c"1\00" -@.str3937 = private unnamed_addr constant [6 x i8] c"ms_wc\00" -@.str3938 = private unnamed_addr constant [6 x i8] c"ms_wb\00" -@.str3939 = private unnamed_addr constant [6 x i8] c"ms_we\00" -@.str3940 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str3941 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3942 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3943 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3944 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str3945 = private unnamed_addr constant [3 x i8] c", \00" -@.str3946 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str3947 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str3948 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str3949 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3950 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3951 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str3952 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str3953 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3954 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3955 = private unnamed_addr constant [2 x i8] c"0\00" -@.str3956 = private unnamed_addr constant [6 x i8] c"ms_ic\00" -@.str3957 = private unnamed_addr constant [6 x i8] c"ms_ib\00" -@.str3958 = private unnamed_addr constant [6 x i8] c"ms_ie\00" -@.str3959 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str3960 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3961 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3962 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3963 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str3964 = private unnamed_addr constant [3 x i8] c", \00" -@.str3965 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str3966 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str3967 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str3968 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3969 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3970 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str3971 = private unnamed_addr constant [3 x i8] c", \00" -@.str3972 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str3973 = private unnamed_addr constant [3 x i8] c", \00" -@.str3974 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str3975 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3976 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3977 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str3978 = private unnamed_addr constant [3 x i8] c", \00" -@.str3979 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str3980 = private unnamed_addr constant [3 x i8] c", \00" -@.str3981 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str3982 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3983 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str3984 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3985 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3986 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3987 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3988 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3989 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str3990 = private unnamed_addr constant [6 x i8] c"ms_mc\00" -@.str3991 = private unnamed_addr constant [6 x i8] c"ms_mb\00" -@.str3992 = private unnamed_addr constant [8 x i8] c"ms_mend\00" -@.str3993 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str3994 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str3995 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str3996 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3997 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str3998 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str3999 = private unnamed_addr constant [3 x i8] c", \00" -@.str4000 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4001 = private unnamed_addr constant [3 x i8] c", \00" -@.str4002 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4003 = private unnamed_addr constant [3 x i8] c", \00" -@.str4004 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4005 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4006 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4007 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4008 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4009 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4010 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4011 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4012 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4013 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4014 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" -@.str4015 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" -@.str4016 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" -@.str4017 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4018 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4019 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4020 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4021 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4022 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4023 = private unnamed_addr constant [2 x i8] c" \00" -@.str4024 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4025 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4026 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4027 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4028 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4029 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4030 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4031 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4032 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4033 = private unnamed_addr constant [2 x i8] c" \00" -@.str4034 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4035 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4036 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4037 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4038 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4039 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4040 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4041 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4042 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4043 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4044 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4045 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4046 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4047 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4048 = private unnamed_addr constant [7 x i8] c"ms_dac\00" -@.str4049 = private unnamed_addr constant [7 x i8] c"ms_dab\00" -@.str4050 = private unnamed_addr constant [7 x i8] c"ms_dae\00" -@.str4051 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4052 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4053 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2332 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" +@.str2333 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" +@.str2334 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2335 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" +@.str2336 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" +@.str2337 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" +@.str2338 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2339 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2340 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2341 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2342 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2343 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2344 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" +@.str2345 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2346 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" +@.str2347 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" +@.str2348 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" +@.str2349 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" +@.str2350 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" +@.str2351 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" +@.str2352 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" +@.str2353 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" +@.str2354 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" +@.str2355 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" +@.str2356 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" +@.str2357 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" +@.str2358 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" +@.str2359 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" +@.str2360 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" +@.str2361 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" +@.str2362 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2363 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" +@.str2364 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" +@.str2365 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" +@.str2366 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" +@.str2367 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" +@.str2368 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" +@.str2369 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" +@.str2370 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" +@.str2371 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" +@.str2372 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" +@.str2373 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" +@.str2374 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2375 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" +@.str2376 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" +@.str2377 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" +@.str2378 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" +@.str2379 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" +@.str2380 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" +@.str2381 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" +@.str2382 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" +@.str2383 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" +@.str2384 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" +@.str2385 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" +@.str2386 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" +@.str2387 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" +@.str2388 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" +@.str2389 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" +@.str2390 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" +@.str2391 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" +@.str2392 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" +@.str2393 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" +@.str2394 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" +@.str2395 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" +@.str2396 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" +@.str2397 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" +@.str2398 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" +@.str2399 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" +@.str2400 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" +@.str2401 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" +@.str2402 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" +@.str2403 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" +@.str2404 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" +@.str2405 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" +@.str2406 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" +@.str2407 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" +@.str2408 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" +@.str2409 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" +@.str2410 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" +@.str2411 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2412 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2413 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_join(ptr %h, ptr %sep) {\0A\00" +@.str2414 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2415 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" +@.str2416 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" +@.str2417 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" +@.str2418 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" +@.str2419 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" +@.str2420 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" +@.str2421 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" +@.str2422 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" +@.str2423 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2424 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2425 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" +@.str2426 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" +@.str2427 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2428 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" +@.str2429 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" +@.str2430 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" +@.str2431 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" +@.str2432 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" +@.str2433 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" +@.str2434 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" +@.str2435 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" +@.str2436 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" +@.str2437 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2438 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2439 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" +@.str2440 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" +@.str2441 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" +@.str2442 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" +@.str2443 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" +@.str2444 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" +@.str2445 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" +@.str2446 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" +@.str2447 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" +@.str2448 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" +@.str2449 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" +@.str2450 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" +@.str2451 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" +@.str2452 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" +@.str2453 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" +@.str2454 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" +@.str2455 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" +@.str2456 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" +@.str2457 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" +@.str2458 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" +@.str2459 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" +@.str2460 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" +@.str2461 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" +@.str2462 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" +@.str2463 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" +@.str2464 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" +@.str2465 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" +@.str2466 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" +@.str2467 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" +@.str2468 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" +@.str2469 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" +@.str2470 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" +@.str2471 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" +@.str2472 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" +@.str2473 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" +@.str2474 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" +@.str2475 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" +@.str2476 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" +@.str2477 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" +@.str2478 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" +@.str2479 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" +@.str2480 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" +@.str2481 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2482 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2483 = private unnamed_addr constant [46 x i8] c"define ptr @fn_str_split(ptr %s, ptr %sep) {\0A\00" +@.str2484 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2485 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" +@.str2486 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" +@.str2487 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" +@.str2488 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" +@.str2489 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" +@.str2490 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2491 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" +@.str2492 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" +@.str2493 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" +@.str2494 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" +@.str2495 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" +@.str2496 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" +@.str2497 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" +@.str2498 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" +@.str2499 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" +@.str2500 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" +@.str2501 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" +@.str2502 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2503 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" +@.str2504 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" +@.str2505 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" +@.str2506 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" +@.str2507 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" +@.str2508 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" +@.str2509 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" +@.str2510 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" +@.str2511 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" +@.str2512 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" +@.str2513 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" +@.str2514 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" +@.str2515 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" +@.str2516 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" +@.str2517 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2518 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2519 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" +@.str2520 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" +@.str2521 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2522 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" +@.str2523 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" +@.str2524 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" +@.str2525 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" +@.str2526 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" +@.str2527 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" +@.str2528 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" +@.str2529 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" +@.str2530 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" +@.str2531 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" +@.str2532 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" +@.str2533 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" +@.str2534 = private unnamed_addr constant [7 x i8] c"last:\0A\00" +@.str2535 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" +@.str2536 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" +@.str2537 = private unnamed_addr constant [8 x i8] c"store:\0A\00" +@.str2538 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" +@.str2539 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" +@.str2540 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" +@.str2541 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" +@.str2542 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" +@.str2543 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" +@.str2544 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2545 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" +@.str2546 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" +@.str2547 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" +@.str2548 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" +@.str2549 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2550 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2551 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" +@.str2552 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2553 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" +@.str2554 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2555 = private unnamed_addr constant [3 x i8] c"of\00" +@.str2556 = private unnamed_addr constant [6 x i8] c"fnv1a\00" +@.str2557 = private unnamed_addr constant [6 x i8] c"crc32\00" +@.str2558 = private unnamed_addr constant [4 x i8] c"mix\00" +@.str2559 = private unnamed_addr constant [8 x i8] c"combine\00" +@.str2560 = private unnamed_addr constant [5 x i8] c"of64\00" +@.str2561 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" +@.str2562 = private unnamed_addr constant [6 x i8] c"mix64\00" +@.str2563 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2564 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str2565 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2566 = private unnamed_addr constant [3 x i8] c", \00" +@.str2567 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str2568 = private unnamed_addr constant [14 x i8] c", -2048144789\00" +@.str2569 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2570 = private unnamed_addr constant [5 x i8] c", 13\00" +@.str2571 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2572 = private unnamed_addr constant [3 x i8] c", \00" +@.str2573 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str2574 = private unnamed_addr constant [14 x i8] c", -1028477387\00" +@.str2575 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2576 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str2577 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2578 = private unnamed_addr constant [3 x i8] c", \00" +@.str2579 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str2580 = private unnamed_addr constant [5 x i8] c", 33\00" +@.str2581 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str2582 = private unnamed_addr constant [3 x i8] c", \00" +@.str2583 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str2584 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" +@.str2585 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str2586 = private unnamed_addr constant [5 x i8] c", 33\00" +@.str2587 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str2588 = private unnamed_addr constant [3 x i8] c", \00" +@.str2589 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str2590 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" +@.str2591 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str2592 = private unnamed_addr constant [5 x i8] c", 33\00" +@.str2593 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str2594 = private unnamed_addr constant [3 x i8] c", \00" +@.str2595 = private unnamed_addr constant [3 x i8] c"of\00" +@.str2596 = private unnamed_addr constant [6 x i8] c"fnv1a\00" +@.str2597 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_fnv1a(ptr \00" +@.str2598 = private unnamed_addr constant [2 x i8] c")\00" +@.str2599 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2600 = private unnamed_addr constant [5 x i8] c"of64\00" +@.str2601 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" +@.str2602 = private unnamed_addr constant [32 x i8] c"call i64 @fn_hash_fnv1a_64(ptr \00" +@.str2603 = private unnamed_addr constant [2 x i8] c")\00" +@.str2604 = private unnamed_addr constant [5 x i8] c"long\00" +@.str2605 = private unnamed_addr constant [6 x i8] c"mix64\00" +@.str2606 = private unnamed_addr constant [5 x i8] c"long\00" +@.str2607 = private unnamed_addr constant [6 x i8] c"crc32\00" +@.str2608 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_crc32(ptr \00" +@.str2609 = private unnamed_addr constant [2 x i8] c")\00" +@.str2610 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2611 = private unnamed_addr constant [4 x i8] c"mix\00" +@.str2612 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2613 = private unnamed_addr constant [2 x i8] c"0\00" +@.str2614 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2615 = private unnamed_addr constant [14 x i8] c", -1640531527\00" +@.str2616 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str2617 = private unnamed_addr constant [4 x i8] c", 6\00" +@.str2618 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2619 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str2620 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2621 = private unnamed_addr constant [3 x i8] c", \00" +@.str2622 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2623 = private unnamed_addr constant [3 x i8] c", \00" +@.str2624 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2625 = private unnamed_addr constant [3 x i8] c", \00" +@.str2626 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2627 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_fnv1a(ptr %s) {\0A\00" +@.str2628 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2629 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" +@.str2630 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" +@.str2631 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2632 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2633 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2634 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2635 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2636 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2637 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" +@.str2638 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" +@.str2639 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" +@.str2640 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2641 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" +@.str2642 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" +@.str2643 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" +@.str2644 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" +@.str2645 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" +@.str2646 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2647 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2648 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2649 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2650 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" +@.str2651 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" +@.str2652 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2653 = private unnamed_addr constant [40 x i8] c"define i64 @fn_hash_fnv1a_64(ptr %s) {\0A\00" +@.str2654 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2655 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" +@.str2656 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" +@.str2657 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2658 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2659 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2660 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2661 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2662 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2663 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" +@.str2664 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" +@.str2665 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" +@.str2666 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2667 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" +@.str2668 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" +@.str2669 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" +@.str2670 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" +@.str2671 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" +@.str2672 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2673 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2674 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2675 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2676 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" +@.str2677 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" +@.str2678 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2679 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_crc32(ptr %s) {\0A\00" +@.str2680 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2681 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" +@.str2682 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" +@.str2683 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2684 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2685 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" +@.str2686 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2687 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2688 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2689 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2690 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" +@.str2691 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" +@.str2692 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" +@.str2693 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2694 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" +@.str2695 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" +@.str2696 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" +@.str2697 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" +@.str2698 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" +@.str2699 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" +@.str2700 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" +@.str2701 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str2702 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" +@.str2703 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" +@.str2704 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" +@.str2705 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" +@.str2706 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" +@.str2707 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" +@.str2708 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" +@.str2709 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" +@.str2710 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" +@.str2711 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" +@.str2712 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" +@.str2713 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" +@.str2714 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" +@.str2715 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" +@.str2716 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2717 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2718 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2719 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2720 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" +@.str2721 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" +@.str2722 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" +@.str2723 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2724 = private unnamed_addr constant [7 x i8] c"sha256\00" +@.str2725 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" +@.str2726 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" +@.str2727 = private unnamed_addr constant [4 x i8] c"hex\00" +@.str2728 = private unnamed_addr constant [9 x i8] c"ct_equal\00" +@.str2729 = private unnamed_addr constant [13 x i8] c"random_bytes\00" +@.str2730 = private unnamed_addr constant [11 x i8] c"random_hex\00" +@.str2731 = private unnamed_addr constant [11 x i8] c"random_u32\00" +@.str2732 = private unnamed_addr constant [7 x i8] c"base64\00" +@.str2733 = private unnamed_addr constant [7 x i8] c"sha256\00" +@.str2734 = private unnamed_addr constant [29 x i8] c"call ptr @fn_sha256_hex(ptr \00" +@.str2735 = private unnamed_addr constant [2 x i8] c")\00" +@.str2736 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2737 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" +@.str2738 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00" +@.str2739 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2740 = private unnamed_addr constant [2 x i8] c")\00" +@.str2741 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2742 = private unnamed_addr constant [4 x i8] c"hex\00" +@.str2743 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_hex(ptr \00" +@.str2744 = private unnamed_addr constant [2 x i8] c")\00" +@.str2745 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2746 = private unnamed_addr constant [9 x i8] c"ct_equal\00" +@.str2747 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00" +@.str2748 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2749 = private unnamed_addr constant [2 x i8] c")\00" +@.str2750 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2751 = private unnamed_addr constant [13 x i8] c"random_bytes\00" +@.str2752 = private unnamed_addr constant [11 x i8] c"random_hex\00" +@.str2753 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str2754 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str2755 = private unnamed_addr constant [29 x i8] c"call ptr @fn_random_hex(i64 \00" +@.str2756 = private unnamed_addr constant [2 x i8] c")\00" +@.str2757 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2758 = private unnamed_addr constant [11 x i8] c"random_u32\00" +@.str2759 = private unnamed_addr constant [26 x i8] c"call i32 @fn_random_u32()\00" +@.str2760 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2761 = private unnamed_addr constant [7 x i8] c"base64\00" +@.str2762 = private unnamed_addr constant [25 x i8] c"call ptr @fn_base64(ptr \00" +@.str2763 = private unnamed_addr constant [2 x i8] c")\00" +@.str2764 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2765 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00" +@.str2766 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2767 = private unnamed_addr constant [2 x i8] c")\00" +@.str2768 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00" +@.str2769 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2770 = private unnamed_addr constant [2 x i8] c")\00" +@.str2771 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2772 = private unnamed_addr constant [1083 x i8] c"@sha256_K = private unnamed_addr constant [64 x i32] [i32 1116352408, i32 1899447441, i32 -1245643825, i32 -373957723, i32 961987163, i32 1508970993, i32 -1841331548, i32 -1424204075, i32 -670586216, i32 310598401, i32 607225278, i32 1426881987, i32 1925078388, i32 -2132889090, i32 -1680079193, i32 -1046744716, i32 -459576895, i32 -272742522, i32 264347078, i32 604807628, i32 770255983, i32 1249150122, i32 1555081692, i32 1996064986, i32 -1740746414, i32 -1473132947, i32 -1341970488, i32 -1084653625, i32 -958395405, i32 -710438585, i32 113926993, i32 338241895, i32 666307205, i32 773529912, i32 1294757372, i32 1396182291, i32 1695183700, i32 1986661051, i32 -2117940946, i32 -1838011259, i32 -1564481375, i32 -1474664885, i32 -1035236496, i32 -949202525, i32 -778901479, i32 -694614492, i32 -200395387, i32 275423344, i32 430227734, i32 506948616, i32 659060556, i32 883997877, i32 958139571, i32 1322822218, i32 1537002063, i32 1747873779, i32 1955562222, i32 2024104815, i32 -2067236844, i32 -1933114872, i32 -1866530822, i32 -1538233109, i32 -1090935817, i32 -965641998]\0A\00" +@.str2773 = private unnamed_addr constant [41 x i8] c"define i32 @fn_rotr32(i32 %x, i32 %n) {\0A\00" +@.str2774 = private unnamed_addr constant [104 x i8] c" %r = lshr i32 %x, %n\0A %m = sub i32 32, %n\0A %l = shl i32 %x, %m\0A %o = or i32 %r, %l\0A ret i32 %o\0A}\0A\00" +@.str2775 = private unnamed_addr constant [60 x i8] c"define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" +@.str2776 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2777 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" +@.str2778 = private unnamed_addr constant [145 x i8] c" %a = alloca i32\0A %b = alloca i32\0A %c = alloca i32\0A %d = alloca i32\0A %e = alloca i32\0A %f = alloca i32\0A %g = alloca i32\0A %h = alloca i32\0A\00" +@.str2779 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" +@.str2780 = private unnamed_addr constant [95 x i8] c" %e0 = add i64 %len, 8\0A %e1 = lshr i64 %e0, 6\0A %e2 = add i64 %e1, 1\0A %pl = shl i64 %e2, 6\0A\00" +@.str2781 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" +@.str2782 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" +@.str2783 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" +@.str2784 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" +@.str2785 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" +@.str2786 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" +@.str2787 = private unnamed_addr constant [104 x i8] c"lenc:\0A %lj = load i64, ptr %ip\0A %ljlt = icmp slt i64 %lj, 8\0A br i1 %ljlt, label %lenb, label %hinit\0A\00" +@.str2788 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" +@.str2789 = private unnamed_addr constant [113 x i8] c" %lj8 = mul i64 %lj, 8\0A %lsh = sub i64 56, %lj8\0A %lbsh = lshr i64 %bits, %lsh\0A %lbb = trunc i64 %lbsh to i8\0A\00" +@.str2790 = private unnamed_addr constant [128 x i8] c" %lpm8 = sub i64 %pl, 8\0A %lpos = add i64 %lpm8, %lj\0A %lpp = getelementptr i8, ptr %buf, i64 %lpos\0A store i8 %lbb, ptr %lpp\0A\00" +@.str2791 = private unnamed_addr constant [68 x i8] c" %lj1 = add i64 %lj, 1\0A store i64 %lj1, ptr %ip\0A br label %lenc\0A\00" +@.str2792 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" +@.str2793 = private unnamed_addr constant [87 x i8] c" %H0 = getelementptr [8 x i32], ptr %H, i64 0, i64 0\0A store i32 1779033703, ptr %H0\0A\00" +@.str2794 = private unnamed_addr constant [88 x i8] c" %H1 = getelementptr [8 x i32], ptr %H, i64 0, i64 1\0A store i32 -1150833019, ptr %H1\0A\00" +@.str2795 = private unnamed_addr constant [87 x i8] c" %H2 = getelementptr [8 x i32], ptr %H, i64 0, i64 2\0A store i32 1013904242, ptr %H2\0A\00" +@.str2796 = private unnamed_addr constant [88 x i8] c" %H3 = getelementptr [8 x i32], ptr %H, i64 0, i64 3\0A store i32 -1521486534, ptr %H3\0A\00" +@.str2797 = private unnamed_addr constant [87 x i8] c" %H4 = getelementptr [8 x i32], ptr %H, i64 0, i64 4\0A store i32 1359893119, ptr %H4\0A\00" +@.str2798 = private unnamed_addr constant [88 x i8] c" %H5 = getelementptr [8 x i32], ptr %H, i64 0, i64 5\0A store i32 -1694144372, ptr %H5\0A\00" +@.str2799 = private unnamed_addr constant [86 x i8] c" %H6 = getelementptr [8 x i32], ptr %H, i64 0, i64 6\0A store i32 528734635, ptr %H6\0A\00" +@.str2800 = private unnamed_addr constant [87 x i8] c" %H7 = getelementptr [8 x i32], ptr %H, i64 0, i64 7\0A store i32 1541459225, ptr %H7\0A\00" +@.str2801 = private unnamed_addr constant [65 x i8] c" %nb = lshr i64 %pl, 6\0A store i64 0, ptr %bp\0A br label %blkc\0A\00" +@.str2802 = private unnamed_addr constant [103 x i8] c"blkc:\0A %bi = load i64, ptr %bp\0A %blt = icmp ult i64 %bi, %nb\0A br i1 %blt, label %blkb, label %outp\0A\00" +@.str2803 = private unnamed_addr constant [80 x i8] c"blkb:\0A %bi64 = shl i64 %bi, 6\0A %base = getelementptr i8, ptr %buf, i64 %bi64\0A\00" +@.str2804 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" +@.str2805 = private unnamed_addr constant [104 x i8] c"w1c:\0A %wi = load i64, ptr %ip\0A %wilt = icmp slt i64 %wi, 16\0A br i1 %wilt, label %w1b, label %w2init\0A\00" +@.str2806 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" +@.str2807 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" +@.str2808 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" +@.str2809 = private unnamed_addr constant [100 x i8] c" %wo1 = add i64 %wi4, 1\0A %wp1 = getelementptr i8, ptr %base, i64 %wo1\0A %wc1 = load i8, ptr %wp1\0A\00" +@.str2810 = private unnamed_addr constant [100 x i8] c" %wo2 = add i64 %wi4, 2\0A %wp2 = getelementptr i8, ptr %base, i64 %wo2\0A %wc2 = load i8, ptr %wp2\0A\00" +@.str2811 = private unnamed_addr constant [100 x i8] c" %wo3 = add i64 %wi4, 3\0A %wp3 = getelementptr i8, ptr %base, i64 %wo3\0A %wc3 = load i8, ptr %wp3\0A\00" +@.str2812 = private unnamed_addr constant [117 x i8] c" %wz0 = zext i8 %wc0 to i32\0A %wz1 = zext i8 %wc1 to i32\0A %wz2 = zext i8 %wc2 to i32\0A %wz3 = zext i8 %wc3 to i32\0A\00" +@.str2813 = private unnamed_addr constant [80 x i8] c" %ws24 = shl i32 %wz0, 24\0A %ws16 = shl i32 %wz1, 16\0A %ws8 = shl i32 %wz2, 8\0A\00" +@.str2814 = private unnamed_addr constant [89 x i8] c" %wor1 = or i32 %ws24, %ws16\0A %wor2 = or i32 %wor1, %ws8\0A %word = or i32 %wor2, %wz3\0A\00" +@.str2815 = private unnamed_addr constant [87 x i8] c" %wwp = getelementptr [64 x i32], ptr %W, i64 0, i64 %wi\0A store i32 %word, ptr %wwp\0A\00" +@.str2816 = private unnamed_addr constant [67 x i8] c" %wi1 = add i64 %wi, 1\0A store i64 %wi1, ptr %ip\0A br label %w1c\0A\00" +@.str2817 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" +@.str2818 = private unnamed_addr constant [106 x i8] c"w2c:\0A %xi = load i64, ptr %ip\0A %xilt = icmp slt i64 %xi, 64\0A br i1 %xilt, label %w2b, label %compinit\0A\00" +@.str2819 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" +@.str2820 = private unnamed_addr constant [117 x i8] c" %im15 = sub i64 %xi, 15\0A %pm15 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im15\0A %w15 = load i32, ptr %pm15\0A\00" +@.str2821 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @fn_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @fn_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00" +@.str2822 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" +@.str2823 = private unnamed_addr constant [112 x i8] c" %im2 = sub i64 %xi, 2\0A %pm2 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im2\0A %w2v = load i32, ptr %pm2\0A\00" +@.str2824 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @fn_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @fn_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00" +@.str2825 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" +@.str2826 = private unnamed_addr constant [117 x i8] c" %im16 = sub i64 %xi, 16\0A %pm16 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im16\0A %w16 = load i32, ptr %pm16\0A\00" +@.str2827 = private unnamed_addr constant [111 x i8] c" %im7 = sub i64 %xi, 7\0A %pm7 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im7\0A %w7 = load i32, ptr %pm7\0A\00" +@.str2828 = private unnamed_addr constant [81 x i8] c" %wa1 = add i32 %w16, %s0\0A %wa2 = add i32 %wa1, %w7\0A %wv = add i32 %wa2, %s1\0A\00" +@.str2829 = private unnamed_addr constant [85 x i8] c" %wpi = getelementptr [64 x i32], ptr %W, i64 0, i64 %xi\0A store i32 %wv, ptr %wpi\0A\00" +@.str2830 = private unnamed_addr constant [67 x i8] c" %xi1 = add i64 %xi, 1\0A store i64 %xi1, ptr %ip\0A br label %w2c\0A\00" +@.str2831 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" +@.str2832 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" +@.str2833 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" +@.str2834 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" +@.str2835 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" +@.str2836 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" +@.str2837 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" +@.str2838 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" +@.str2839 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" +@.str2840 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" +@.str2841 = private unnamed_addr constant [98 x i8] c"rc:\0A %ri = load i64, ptr %ip\0A %rlt = icmp slt i64 %ri, 64\0A br i1 %rlt, label %rb, label %addH\0A\00" +@.str2842 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" +@.str2843 = private unnamed_addr constant [102 x i8] c" %av = load i32, ptr %a\0A %bv = load i32, ptr %b\0A %cvv = load i32, ptr %c\0A %dv = load i32, ptr %d\0A\00" +@.str2844 = private unnamed_addr constant [101 x i8] c" %ev = load i32, ptr %e\0A %fv = load i32, ptr %f\0A %gv = load i32, ptr %g\0A %hv = load i32, ptr %h\0A\00" +@.str2845 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @fn_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @fn_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @fn_rotr32(i32 %ev, i32 25)\0A\00" +@.str2846 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" +@.str2847 = private unnamed_addr constant [102 x i8] c" %ef = and i32 %ev, %fv\0A %ne = xor i32 %ev, -1\0A %neg = and i32 %ne, %gv\0A %ch = xor i32 %ef, %neg\0A\00" +@.str2848 = private unnamed_addr constant [91 x i8] c" %kp = getelementptr [64 x i32], ptr @sha256_K, i64 0, i64 %ri\0A %kv = load i32, ptr %kp\0A\00" +@.str2849 = private unnamed_addr constant [87 x i8] c" %wpr = getelementptr [64 x i32], ptr %W, i64 0, i64 %ri\0A %wvr = load i32, ptr %wpr\0A\00" +@.str2850 = private unnamed_addr constant [111 x i8] c" %t1a = add i32 %hv, %S1\0A %t1b = add i32 %t1a, %ch\0A %t1c = add i32 %t1b, %kv\0A %temp1 = add i32 %t1c, %wvr\0A\00" +@.str2851 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @fn_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @fn_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @fn_rotr32(i32 %av, i32 22)\0A\00" +@.str2852 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" +@.str2853 = private unnamed_addr constant [131 x i8] c" %ab = and i32 %av, %bv\0A %ac = and i32 %av, %cvv\0A %bc = and i32 %bv, %cvv\0A %mj1 = xor i32 %ab, %ac\0A %maj = xor i32 %mj1, %bc\0A\00" +@.str2854 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" +@.str2855 = private unnamed_addr constant [73 x i8] c" store i32 %gv, ptr %h\0A store i32 %fv, ptr %g\0A store i32 %ev, ptr %f\0A\00" +@.str2856 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" +@.str2857 = private unnamed_addr constant [74 x i8] c" store i32 %cvv, ptr %d\0A store i32 %bv, ptr %c\0A store i32 %av, ptr %b\0A\00" +@.str2858 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" +@.str2859 = private unnamed_addr constant [66 x i8] c" %rin = add i64 %ri, 1\0A store i64 %rin, ptr %ip\0A br label %rc\0A\00" +@.str2860 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" +@.str2861 = private unnamed_addr constant [106 x i8] c" %fa = load i32, ptr %a\0A %lH0 = load i32, ptr %H0\0A %nH0 = add i32 %lH0, %fa\0A store i32 %nH0, ptr %H0\0A\00" +@.str2862 = private unnamed_addr constant [106 x i8] c" %fb = load i32, ptr %b\0A %lH1 = load i32, ptr %H1\0A %nH1 = add i32 %lH1, %fb\0A store i32 %nH1, ptr %H1\0A\00" +@.str2863 = private unnamed_addr constant [106 x i8] c" %fc = load i32, ptr %c\0A %lH2 = load i32, ptr %H2\0A %nH2 = add i32 %lH2, %fc\0A store i32 %nH2, ptr %H2\0A\00" +@.str2864 = private unnamed_addr constant [106 x i8] c" %fd = load i32, ptr %d\0A %lH3 = load i32, ptr %H3\0A %nH3 = add i32 %lH3, %fd\0A store i32 %nH3, ptr %H3\0A\00" +@.str2865 = private unnamed_addr constant [106 x i8] c" %fe = load i32, ptr %e\0A %lH4 = load i32, ptr %H4\0A %nH4 = add i32 %lH4, %fe\0A store i32 %nH4, ptr %H4\0A\00" +@.str2866 = private unnamed_addr constant [106 x i8] c" %ff = load i32, ptr %f\0A %lH5 = load i32, ptr %H5\0A %nH5 = add i32 %lH5, %ff\0A store i32 %nH5, ptr %H5\0A\00" +@.str2867 = private unnamed_addr constant [106 x i8] c" %fg = load i32, ptr %g\0A %lH6 = load i32, ptr %H6\0A %nH6 = add i32 %lH6, %fg\0A store i32 %nH6, ptr %H6\0A\00" +@.str2868 = private unnamed_addr constant [106 x i8] c" %fh = load i32, ptr %h\0A %lH7 = load i32, ptr %H7\0A %nH7 = add i32 %lH7, %fh\0A store i32 %nH7, ptr %H7\0A\00" +@.str2869 = private unnamed_addr constant [70 x i8] c" %binc = add i64 %bi, 1\0A store i64 %binc, ptr %bp\0A br label %blkc\0A\00" +@.str2870 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" +@.str2871 = private unnamed_addr constant [98 x i8] c"oc:\0A %oi = load i64, ptr %ip\0A %olt = icmp slt i64 %oi, 8\0A br i1 %olt, label %ob, label %freeb\0A\00" +@.str2872 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" +@.str2873 = private unnamed_addr constant [111 x i8] c" %hpp = getelementptr [8 x i32], ptr %H, i64 0, i64 %oi\0A %hval = load i32, ptr %hpp\0A %oi4 = shl i64 %oi, 2\0A\00" +@.str2874 = private unnamed_addr constant [137 x i8] c" %ob24 = lshr i32 %hval, 24\0A %obb24 = trunc i32 %ob24 to i8\0A %op0 = getelementptr i8, ptr %out, i64 %oi4\0A store i8 %obb24, ptr %op0\0A\00" +@.str2875 = private unnamed_addr constant [162 x i8] c" %ob16 = lshr i32 %hval, 16\0A %obb16 = trunc i32 %ob16 to i8\0A %oo1 = add i64 %oi4, 1\0A %op1 = getelementptr i8, ptr %out, i64 %oo1\0A store i8 %obb16, ptr %op1\0A\00" +@.str2876 = private unnamed_addr constant [157 x i8] c" %ob8 = lshr i32 %hval, 8\0A %obb8 = trunc i32 %ob8 to i8\0A %oo2 = add i64 %oi4, 2\0A %op2 = getelementptr i8, ptr %out, i64 %oo2\0A store i8 %obb8, ptr %op2\0A\00" +@.str2877 = private unnamed_addr constant [131 x i8] c" %obb0 = trunc i32 %hval to i8\0A %oo3 = add i64 %oi4, 3\0A %op3 = getelementptr i8, ptr %out, i64 %oo3\0A store i8 %obb0, ptr %op3\0A\00" +@.str2878 = private unnamed_addr constant [66 x i8] c" %oin = add i64 %oi, 1\0A store i64 %oin, ptr %ip\0A br label %oc\0A\00" +@.str2879 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" +@.str2880 = private unnamed_addr constant [35 x i8] c"define i8 @fn_hex_digit(i32 %d) {\0A\00" +@.str2881 = private unnamed_addr constant [134 x i8] c" %lt = icmp ult i32 %d, 10\0A %base = select i1 %lt, i32 48, i32 87\0A %v = add i32 %base, %d\0A %c = trunc i32 %v to i8\0A ret i8 %c\0A}\0A\00" +@.str2882 = private unnamed_addr constant [46 x i8] c"define ptr @fn_hex_encode(ptr %in, i64 %n) {\0A\00" +@.str2883 = private unnamed_addr constant [152 x i8] c"entry:\0A %ip = alloca i64\0A %olen = shl i64 %n, 1\0A %olen1 = add i64 %olen, 1\0A %s = call ptr @malloc(i64 %olen1)\0A store i64 0, ptr %ip\0A br label %c\0A\00" +@.str2884 = private unnamed_addr constant [94 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %n\0A br i1 %lt, label %bdy, label %done\0A\00" +@.str2885 = private unnamed_addr constant [104 x i8] c"bdy:\0A %pp = getelementptr i8, ptr %in, i64 %i\0A %byte = load i8, ptr %pp\0A %bz = zext i8 %byte to i32\0A\00" +@.str2886 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @fn_hex_digit(i32 %hi)\0A %lc = call i8 @fn_hex_digit(i32 %lo)\0A\00" +@.str2887 = private unnamed_addr constant [180 x i8] c" %oi = shl i64 %i, 1\0A %o0 = getelementptr i8, ptr %s, i64 %oi\0A store i8 %hc, ptr %o0\0A %oi1 = add i64 %oi, 1\0A %o1 = getelementptr i8, ptr %s, i64 %oi1\0A store i8 %lc, ptr %o1\0A\00" +@.str2888 = private unnamed_addr constant [64 x i8] c" %in1 = add i64 %i, 1\0A store i64 %in1, ptr %ip\0A br label %c\0A\00" +@.str2889 = private unnamed_addr constant [88 x i8] c"done:\0A %tp = getelementptr i8, ptr %s, i64 %olen\0A store i8 0, ptr %tp\0A ret ptr %s\0A}\0A\00" +@.str2890 = private unnamed_addr constant [37 x i8] c"define ptr @fn_sha256_hex(ptr %s) {\0A\00" +@.str2891 = private unnamed_addr constant [124 x i8] c"entry:\0A %dig = alloca [32 x i8]\0A %len = call i64 @strlen(ptr %s)\0A %dp = getelementptr [32 x i8], ptr %dig, i64 0, i64 0\0A\00" +@.str2892 = private unnamed_addr constant [122 x i8] c" call void @fn_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @fn_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00" +@.str2893 = private unnamed_addr constant [34 x i8] c"define ptr @fn_str_hex(ptr %s) {\0A\00" +@.str2894 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @fn_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00" +@.str2895 = private unnamed_addr constant [55 x i8] c"define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" +@.str2896 = private unnamed_addr constant [64 x i8] c"entry:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %c\0A\00" +@.str2897 = private unnamed_addr constant [89 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 64\0A br i1 %lt, label %b, label %d\0A\00" +@.str2898 = private unnamed_addr constant [281 x i8] c"b:\0A %sp = getelementptr i8, ptr %src, i64 %i\0A %sv = load i8, ptr %sp\0A %sz = zext i8 %sv to i32\0A %xr = xor i32 %sz, %pad\0A %xb = trunc i32 %xr to i8\0A %dp = getelementptr i8, ptr %dst, i64 %i\0A store i8 %xb, ptr %dp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00" +@.str2899 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" +@.str2900 = private unnamed_addr constant [54 x i8] c"define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" +@.str2901 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2902 = private unnamed_addr constant [109 x i8] c" %k0 = alloca [64 x i8]\0A %inner = alloca [32 x i8]\0A %outbuf = alloca [96 x i8]\0A %fin = alloca [32 x i8]\0A\00" +@.str2903 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" +@.str2904 = private unnamed_addr constant [101 x i8] c" %k0p = getelementptr [64 x i8], ptr %k0, i64 0, i64 0\0A call ptr @memset(ptr %k0p, i32 0, i64 64)\0A\00" +@.str2905 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" +@.str2906 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @fn_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00" +@.str2907 = private unnamed_addr constant [75 x i8] c"copyk:\0A call ptr @memcpy(ptr %k0p, ptr %key, i64 %klen)\0A br label %pads\0A\00" +@.str2908 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" +@.str2909 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" +@.str2910 = private unnamed_addr constant [53 x i8] c" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" +@.str2911 = private unnamed_addr constant [101 x i8] c" %inmsg = getelementptr i8, ptr %inbuf, i64 64\0A call ptr @memcpy(ptr %inmsg, ptr %msg, i64 %mlen)\0A\00" +@.str2912 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00" +@.str2913 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @fn_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00" +@.str2914 = private unnamed_addr constant [104 x i8] c" %outmsg = getelementptr i8, ptr %outbuf, i64 64\0A call ptr @memcpy(ptr %outmsg, ptr %innerp, i64 32)\0A\00" +@.str2915 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00" +@.str2916 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @fn_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00" +@.str2917 = private unnamed_addr constant [43 x i8] c"define i32 @fn_ct_streq(ptr %a, ptr %b) {\0A\00" +@.str2918 = private unnamed_addr constant [183 x i8] c"entry:\0A %accp = alloca i32\0A %ip = alloca i64\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eqlen = icmp eq i64 %la, %lb\0A br i1 %eqlen, label %go, label %ne\0A\00" +@.str2919 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" +@.str2920 = private unnamed_addr constant [67 x i8] c"go:\0A store i32 0, ptr %accp\0A store i64 0, ptr %ip\0A br label %c\0A\00" +@.str2921 = private unnamed_addr constant [92 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %bdy, label %d\0A\00" +@.str2922 = private unnamed_addr constant [327 x i8] c"bdy:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %va = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %vb = load i8, ptr %pb\0A %x = xor i8 %va, %vb\0A %xz = zext i8 %x to i32\0A %ac = load i32, ptr %accp\0A %ao = or i32 %ac, %xz\0A store i32 %ao, ptr %accp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00" +@.str2923 = private unnamed_addr constant [102 x i8] c"d:\0A %finv = load i32, ptr %accp\0A %z = icmp eq i32 %finv, 0\0A %r = zext i1 %z to i32\0A ret i32 %r\0A}\0A\00" +@.str2924 = private unnamed_addr constant [78 x i8] c"@.ludic_urandom = private unnamed_addr constant [13 x i8] c\22/dev/urandom\5C00\22\0A\00" +@.str2925 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str2926 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" +@.str2927 = private unnamed_addr constant [50 x i8] c"define void @fn_secure_bytes(ptr %out, i64 %n) {\0A\00" +@.str2928 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" +@.str2929 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" +@.str2930 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" +@.str2931 = private unnamed_addr constant [108 x i8] c"ok:\0A %rd = call i64 @fread(ptr %out, i64 1, i64 %n, ptr %fp)\0A %cl = call i32 @fclose(ptr %fp)\0A ret void\0A\00" +@.str2932 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" +@.str2933 = private unnamed_addr constant [37 x i8] c"define ptr @fn_random_hex(i64 %n) {\0A\00" +@.str2934 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @fn_secure_bytes(ptr %buf, i64 %n)\0A\00" +@.str2935 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @fn_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00" +@.str2936 = private unnamed_addr constant [31 x i8] c"define i32 @fn_random_u32() {\0A\00" +@.str2937 = private unnamed_addr constant [129 x i8] c"entry:\0A %b = alloca [4 x i8]\0A %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 4)\0A\00" +@.str2938 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr i8, ptr %bp, i64 0\0A %c0 = load i8, ptr %p0\0A %z0 = zext i8 %c0 to i32\0A\00" +@.str2939 = private unnamed_addr constant [117 x i8] c" %p1 = getelementptr i8, ptr %bp, i64 1\0A %c1 = load i8, ptr %p1\0A %z1 = zext i8 %c1 to i32\0A %s1 = shl i32 %z1, 8\0A\00" +@.str2940 = private unnamed_addr constant [118 x i8] c" %p2 = getelementptr i8, ptr %bp, i64 2\0A %c2 = load i8, ptr %p2\0A %z2 = zext i8 %c2 to i32\0A %s2 = shl i32 %z2, 16\0A\00" +@.str2941 = private unnamed_addr constant [118 x i8] c" %p3 = getelementptr i8, ptr %bp, i64 3\0A %c3 = load i8, ptr %p3\0A %z3 = zext i8 %c3 to i32\0A %s3 = shl i32 %z3, 24\0A\00" +@.str2942 = private unnamed_addr constant [89 x i8] c" %o1 = or i32 %z0, %s1\0A %o2 = or i32 %o1, %s2\0A %o3 = or i32 %o2, %s3\0A ret i32 %o3\0A}\0A\00" +@.str2943 = private unnamed_addr constant [33 x i8] c"define ptr @fn_base64(ptr %s) {\0A\00" +@.str2944 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" +@.str2945 = private unnamed_addr constant [74 x i8] c" %n2 = add i64 %n, 2\0A %grp = udiv i64 %n2, 3\0A %bufn = mul i64 %grp, 3\0A\00" +@.str2946 = private unnamed_addr constant [93 x i8] c" %olen = mul i64 %grp, 4\0A %olen1 = add i64 %olen, 1\0A %out = call ptr @malloc(i64 %olen1)\0A\00" +@.str2947 = private unnamed_addr constant [136 x i8] c" %inbuf = call ptr @malloc(i64 %bufn)\0A call ptr @memset(ptr %inbuf, i32 0, i64 %bufn)\0A call ptr @memcpy(ptr %inbuf, ptr %s, i64 %n)\0A\00" +@.str2948 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" +@.str2949 = private unnamed_addr constant [101 x i8] c"cond:\0A %gi = load i64, ptr %gp\0A %lt = icmp ult i64 %gi, %grp\0A br i1 %lt, label %body, label %pad\0A\00" +@.str2950 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" +@.str2951 = private unnamed_addr constant [103 x i8] c" %ip0 = getelementptr i8, ptr %inbuf, i64 %i3\0A %bv0 = load i8, ptr %ip0\0A %b0 = zext i8 %bv0 to i32\0A\00" +@.str2952 = private unnamed_addr constant [128 x i8] c" %i3a = add i64 %i3, 1\0A %ip1 = getelementptr i8, ptr %inbuf, i64 %i3a\0A %bv1 = load i8, ptr %ip1\0A %b1 = zext i8 %bv1 to i32\0A\00" +@.str2953 = private unnamed_addr constant [128 x i8] c" %i3b = add i64 %i3, 2\0A %ip2 = getelementptr i8, ptr %inbuf, i64 %i3b\0A %bv2 = load i8, ptr %ip2\0A %b2 = zext i8 %bv2 to i32\0A\00" +@.str2954 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" +@.str2955 = private unnamed_addr constant [101 x i8] c" %b0l = and i32 %b0, 3\0A %b0s = shl i32 %b0l, 4\0A %b1h = lshr i32 %b1, 4\0A %e1 = or i32 %b0s, %b1h\0A\00" +@.str2956 = private unnamed_addr constant [102 x i8] c" %b1l = and i32 %b1, 15\0A %b1s = shl i32 %b1l, 2\0A %b2h = lshr i32 %b2, 6\0A %e2 = or i32 %b1s, %b2h\0A\00" +@.str2957 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" +@.str2958 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" +@.str2959 = private unnamed_addr constant [117 x i8] c" %e0z = zext i32 %e0 to i64\0A %e1z = zext i32 %e1 to i64\0A %e2z = zext i32 %e2 to i64\0A %e3z = zext i32 %e3 to i64\0A\00" +@.str2960 = private unnamed_addr constant [167 x i8] c" %g0 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e0z\0A %ch0 = load i8, ptr %g0\0A %op0 = getelementptr i8, ptr %out, i64 %o4\0A store i8 %ch0, ptr %op0\0A\00" +@.str2961 = private unnamed_addr constant [192 x i8] c" %o4a = add i64 %o4, 1\0A %g1 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e1z\0A %ch1 = load i8, ptr %g1\0A %op1 = getelementptr i8, ptr %out, i64 %o4a\0A store i8 %ch1, ptr %op1\0A\00" +@.str2962 = private unnamed_addr constant [192 x i8] c" %o4b = add i64 %o4, 2\0A %g2 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e2z\0A %ch2 = load i8, ptr %g2\0A %op2 = getelementptr i8, ptr %out, i64 %o4b\0A store i8 %ch2, ptr %op2\0A\00" +@.str2963 = private unnamed_addr constant [192 x i8] c" %o4c = add i64 %o4, 3\0A %g3 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e3z\0A %ch3 = load i8, ptr %g3\0A %op3 = getelementptr i8, ptr %out, i64 %o4c\0A store i8 %ch3, ptr %op3\0A\00" +@.str2964 = private unnamed_addr constant [68 x i8] c" %gin = add i64 %gi, 1\0A store i64 %gin, ptr %gp\0A br label %cond\0A\00" +@.str2965 = private unnamed_addr constant [86 x i8] c"pad:\0A %rem = urem i64 %n, 3\0A %r1 = icmp eq i64 %rem, 1\0A %r2 = icmp eq i64 %rem, 2\0A\00" +@.str2966 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" +@.str2967 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" +@.str2968 = private unnamed_addr constant [216 x i8] c"pad1:\0A %pm1 = sub i64 %olen, 1\0A %pp1 = getelementptr i8, ptr %out, i64 %pm1\0A store i8 61, ptr %pp1\0A %pm2 = sub i64 %olen, 2\0A %pp2 = getelementptr i8, ptr %out, i64 %pm2\0A store i8 61, ptr %pp2\0A br label %done\0A\00" +@.str2969 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" +@.str2970 = private unnamed_addr constant [120 x i8] c"pad2:\0A %qm1 = sub i64 %olen, 1\0A %qp1 = getelementptr i8, ptr %out, i64 %qm1\0A store i8 61, ptr %qp1\0A br label %done\0A\00" +@.str2971 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" +@.str2972 = private unnamed_addr constant [4 x i8] c"new\00" +@.str2973 = private unnamed_addr constant [3 x i8] c"v4\00" +@.str2974 = private unnamed_addr constant [7 x i8] c"new_v7\00" +@.str2975 = private unnamed_addr constant [3 x i8] c"v7\00" +@.str2976 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str2977 = private unnamed_addr constant [9 x i8] c"is_valid\00" +@.str2978 = private unnamed_addr constant [8 x i8] c"to_text\00" +@.str2979 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str2980 = private unnamed_addr constant [4 x i8] c"nil\00" +@.str2981 = private unnamed_addr constant [4 x i8] c"new\00" +@.str2982 = private unnamed_addr constant [3 x i8] c"v4\00" +@.str2983 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v4()\00" +@.str2984 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2985 = private unnamed_addr constant [7 x i8] c"new_v7\00" +@.str2986 = private unnamed_addr constant [3 x i8] c"v7\00" +@.str2987 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v7()\00" +@.str2988 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2989 = private unnamed_addr constant [4 x i8] c"nil\00" +@.str2990 = private unnamed_addr constant [24 x i8] c"call ptr @fn_uuid_nil()\00" +@.str2991 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2992 = private unnamed_addr constant [9 x i8] c"is_valid\00" +@.str2993 = private unnamed_addr constant [29 x i8] c"call i32 @fn_uuid_valid(ptr \00" +@.str2994 = private unnamed_addr constant [2 x i8] c")\00" +@.str2995 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2996 = private unnamed_addr constant [8 x i8] c"to_text\00" +@.str2997 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2998 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str2999 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uuid_eq(ptr \00" +@.str3000 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3001 = private unnamed_addr constant [2 x i8] c")\00" +@.str3002 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3003 = private unnamed_addr constant [29 x i8] c"call ptr @fn_uuid_parse(ptr \00" +@.str3004 = private unnamed_addr constant [2 x i8] c")\00" +@.str3005 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3006 = private unnamed_addr constant [40 x i8] c"define ptr @fn_uuid_format(ptr %b16) {\0A\00" +@.str3007 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @fn_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00" +@.str3008 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" +@.str3009 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" +@.str3010 = private unnamed_addr constant [129 x i8] c" %h8 = getelementptr i8, ptr %hex, i64 8\0A %o9 = getelementptr i8, ptr %out, i64 9\0A call ptr @memcpy(ptr %o9, ptr %h8, i64 4)\0A\00" +@.str3011 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" +@.str3012 = private unnamed_addr constant [135 x i8] c" %h12 = getelementptr i8, ptr %hex, i64 12\0A %o14 = getelementptr i8, ptr %out, i64 14\0A call ptr @memcpy(ptr %o14, ptr %h12, i64 4)\0A\00" +@.str3013 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" +@.str3014 = private unnamed_addr constant [135 x i8] c" %h16 = getelementptr i8, ptr %hex, i64 16\0A %o19 = getelementptr i8, ptr %out, i64 19\0A call ptr @memcpy(ptr %o19, ptr %h16, i64 4)\0A\00" +@.str3015 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" +@.str3016 = private unnamed_addr constant [136 x i8] c" %h20 = getelementptr i8, ptr %hex, i64 20\0A %o24 = getelementptr i8, ptr %out, i64 24\0A call ptr @memcpy(ptr %o24, ptr %h20, i64 12)\0A\00" +@.str3017 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" +@.str3018 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" +@.str3019 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v4() {\0A\00" +@.str3020 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00" +@.str3021 = private unnamed_addr constant [140 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 64\0A store i8 %v6b, ptr %p6\0A\00" +@.str3022 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00" +@.str3023 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" +@.str3024 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v7() {\0A\00" +@.str3025 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @fn_secure_bytes(ptr %bp, i64 16)\0A\00" +@.str3026 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" +@.str3027 = private unnamed_addr constant [121 x i8] c" %s40 = lshr i64 %ms, 40\0A %t0 = trunc i64 %s40 to i8\0A %q0 = getelementptr i8, ptr %bp, i64 0\0A store i8 %t0, ptr %q0\0A\00" +@.str3028 = private unnamed_addr constant [121 x i8] c" %s32 = lshr i64 %ms, 32\0A %t1 = trunc i64 %s32 to i8\0A %q1 = getelementptr i8, ptr %bp, i64 1\0A store i8 %t1, ptr %q1\0A\00" +@.str3029 = private unnamed_addr constant [121 x i8] c" %s24 = lshr i64 %ms, 24\0A %t2 = trunc i64 %s24 to i8\0A %q2 = getelementptr i8, ptr %bp, i64 2\0A store i8 %t2, ptr %q2\0A\00" +@.str3030 = private unnamed_addr constant [121 x i8] c" %s16 = lshr i64 %ms, 16\0A %t3 = trunc i64 %s16 to i8\0A %q3 = getelementptr i8, ptr %bp, i64 3\0A store i8 %t3, ptr %q3\0A\00" +@.str3031 = private unnamed_addr constant [118 x i8] c" %s8 = lshr i64 %ms, 8\0A %t4 = trunc i64 %s8 to i8\0A %q4 = getelementptr i8, ptr %bp, i64 4\0A store i8 %t4, ptr %q4\0A\00" +@.str3032 = private unnamed_addr constant [94 x i8] c" %t5 = trunc i64 %ms to i8\0A %q5 = getelementptr i8, ptr %bp, i64 5\0A store i8 %t5, ptr %q5\0A\00" +@.str3033 = private unnamed_addr constant [141 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 112\0A store i8 %v6b, ptr %p6\0A\00" +@.str3034 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00" +@.str3035 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" +@.str3036 = private unnamed_addr constant [29 x i8] c"define ptr @fn_uuid_nil() {\0A\00" +@.str3037 = private unnamed_addr constant [87 x i8] c"entry:\0A %out = call ptr @malloc(i64 37)\0A call ptr @memset(ptr %out, i32 48, i64 36)\0A\00" +@.str3038 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" +@.str3039 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" +@.str3040 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" +@.str3041 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" +@.str3042 = private unnamed_addr constant [85 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A}\0A\00" +@.str3043 = private unnamed_addr constant [37 x i8] c"define i32 @fn_uuid_valid(ptr %s) {\0A\00" +@.str3044 = private unnamed_addr constant [102 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A %ne = icmp eq i64 %n, 36\0A br i1 %ne, label %go, label %bad\0A\00" +@.str3045 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" +@.str3046 = private unnamed_addr constant [98 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %good\0A\00" +@.str3047 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00" +@.str3048 = private unnamed_addr constant [111 x i8] c" %h8 = icmp eq i64 %i, 8\0A %h13 = icmp eq i64 %i, 13\0A %h18 = icmp eq i64 %i, 18\0A %h23 = icmp eq i64 %i, 23\0A\00" +@.str3049 = private unnamed_addr constant [118 x i8] c" %hx = or i1 %h8, %h13\0A %hy = or i1 %hx, %h18\0A %hyph = or i1 %hy, %h23\0A br i1 %hyph, label %ckhyph, label %ckhex\0A\00" +@.str3050 = private unnamed_addr constant [74 x i8] c"ckhyph:\0A %ish = icmp eq i8 %c, 45\0A br i1 %ish, label %next, label %bad\0A\00" +@.str3051 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" +@.str3052 = private unnamed_addr constant [86 x i8] c" %ge0 = icmp uge i8 %c, 48\0A %le9 = icmp ule i8 %c, 57\0A %isdig = and i1 %ge0, %le9\0A\00" +@.str3053 = private unnamed_addr constant [86 x i8] c" %gea = icmp uge i8 %c, 97\0A %lef = icmp ule i8 %c, 102\0A %islo = and i1 %gea, %lef\0A\00" +@.str3054 = private unnamed_addr constant [85 x i8] c" %geA = icmp uge i8 %c, 65\0A %leF = icmp ule i8 %c, 70\0A %ishi = and i1 %geA, %leF\0A\00" +@.str3055 = private unnamed_addr constant [99 x i8] c" %hx1 = or i1 %isdig, %islo\0A %ishex = or i1 %hx1, %ishi\0A br i1 %ishex, label %next, label %bad\0A\00" +@.str3056 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" +@.str3057 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" +@.str3058 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" +@.str3059 = private unnamed_addr constant [42 x i8] c"define i32 @fn_uuid_eq(ptr %a, ptr %b) {\0A\00" +@.str3060 = private unnamed_addr constant [137 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eq = icmp eq i64 %la, %lb\0A br i1 %eq, label %go, label %ne\0A\00" +@.str3061 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" +@.str3062 = private unnamed_addr constant [100 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %body, label %eqret\0A\00" +@.str3063 = private unnamed_addr constant [139 x i8] c"body:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %ca = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %cb = load i8, ptr %pb\0A\00" +@.str3064 = private unnamed_addr constant [155 x i8] c" %caA = icmp uge i8 %ca, 65\0A %caZ = icmp ule i8 %ca, 90\0A %caup = and i1 %caA, %caZ\0A %ca32 = add i8 %ca, 32\0A %cal = select i1 %caup, i8 %ca32, i8 %ca\0A\00" +@.str3065 = private unnamed_addr constant [155 x i8] c" %cbA = icmp uge i8 %cb, 65\0A %cbZ = icmp ule i8 %cb, 90\0A %cbup = and i1 %cbA, %cbZ\0A %cb32 = add i8 %cb, 32\0A %cbl = select i1 %cbup, i8 %cb32, i8 %cb\0A\00" +@.str3066 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" +@.str3067 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" +@.str3068 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" +@.str3069 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" +@.str3070 = private unnamed_addr constant [37 x i8] c"define ptr @fn_uuid_parse(ptr %s) {\0A\00" +@.str3071 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @fn_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00" +@.str3072 = private unnamed_addr constant [99 x i8] c"dup:\0A %out = call ptr @malloc(i64 37)\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" +@.str3073 = private unnamed_addr constant [97 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %fin\0A\00" +@.str3074 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00" +@.str3075 = private unnamed_addr constant [142 x i8] c" %cA = icmp uge i8 %c, 65\0A %cZ = icmp ule i8 %c, 90\0A %cup = and i1 %cA, %cZ\0A %c32 = add i8 %c, 32\0A %cl = select i1 %cup, i8 %c32, i8 %c\0A\00" +@.str3076 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" +@.str3077 = private unnamed_addr constant [65 x i8] c" %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" +@.str3078 = private unnamed_addr constant [88 x i8] c"fin:\0A %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A\00" +@.str3079 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @fn_uuid_nil()\0A ret ptr %nn\0A}\0A\00" +@.str3080 = private unnamed_addr constant [7 x i8] c"value2\00" +@.str3081 = private unnamed_addr constant [8 x i8] c"perlin2\00" +@.str3082 = private unnamed_addr constant [9 x i8] c"simplex2\00" +@.str3083 = private unnamed_addr constant [5 x i8] c"fbm2\00" +@.str3084 = private unnamed_addr constant [10 x i8] c"cellular2\00" +@.str3085 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" +@.str3086 = private unnamed_addr constant [5 x i8] c"unit\00" +@.str3087 = private unnamed_addr constant [5 x i8] c"unit\00" +@.str3088 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str3089 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str3090 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str3091 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str3092 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3093 = private unnamed_addr constant [7 x i8] c"value2\00" +@.str3094 = private unnamed_addr constant [31 x i8] c"call i32 @fn_noise_value2(i32 \00" +@.str3095 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3096 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3097 = private unnamed_addr constant [2 x i8] c")\00" +@.str3098 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3099 = private unnamed_addr constant [8 x i8] c"perlin2\00" +@.str3100 = private unnamed_addr constant [32 x i8] c"call i32 @fn_noise_perlin2(i32 \00" +@.str3101 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3102 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3103 = private unnamed_addr constant [2 x i8] c")\00" +@.str3104 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3105 = private unnamed_addr constant [9 x i8] c"simplex2\00" +@.str3106 = private unnamed_addr constant [33 x i8] c"call i32 @fn_noise_simplex2(i32 \00" +@.str3107 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3108 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3109 = private unnamed_addr constant [2 x i8] c")\00" +@.str3110 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3111 = private unnamed_addr constant [5 x i8] c"fbm2\00" +@.str3112 = private unnamed_addr constant [29 x i8] c"call i32 @fn_noise_fbm2(i32 \00" +@.str3113 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3114 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3115 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3116 = private unnamed_addr constant [2 x i8] c")\00" +@.str3117 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3118 = private unnamed_addr constant [10 x i8] c"cellular2\00" +@.str3119 = private unnamed_addr constant [34 x i8] c"call i32 @fn_noise_cellular2(i32 \00" +@.str3120 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3121 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3122 = private unnamed_addr constant [2 x i8] c")\00" +@.str3123 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3124 = private unnamed_addr constant [37 x i8] c"call i32 @fn_noise_cellular2_id(i32 \00" +@.str3125 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3126 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3127 = private unnamed_addr constant [2 x i8] c")\00" +@.str3128 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3129 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_mul(i32 %a, i32 %b) {\0A\00" +@.str3130 = private unnamed_addr constant [148 x i8] c" %a64 = sext i32 %a to i64\0A %b64 = sext i32 %b to i64\0A %m = mul i64 %a64, %b64\0A %s = ashr i64 %m, 16\0A %r = trunc i64 %s to i32\0A ret i32 %r\0A}\0A\00" +@.str3131 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_div(i32 %a, i32 %b) {\0A\00" +@.str3132 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" +@.str3133 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" +@.str3134 = private unnamed_addr constant [156 x i8] c"go:\0A %a64 = sext i32 %a to i64\0A %ash = shl i64 %a64, 16\0A %b64 = sext i32 %b to i64\0A %d = sdiv i64 %ash, %b64\0A %r = trunc i64 %d to i32\0A ret i32 %r\0A}\0A\00" +@.str3135 = private unnamed_addr constant [51 x i8] c"define i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" +@.str3136 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @fn_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00" +@.str3137 = private unnamed_addr constant [38 x i8] c"define i32 @fn_noise_clamp(i32 %v) {\0A\00" +@.str3138 = private unnamed_addr constant [163 x i8] c" %hi = icmp sgt i32 %v, 65536\0A %v1 = select i1 %hi, i32 65536, i32 %v\0A %lo = icmp slt i32 %v1, -65536\0A %r = select i1 %lo, i32 -65536, i32 %v1\0A ret i32 %r\0A}\0A\00" +@.str3139 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" +@.str3140 = private unnamed_addr constant [111 x i8] c" %a = mul i32 %xi, 374761393\0A %b = mul i32 %yi, -1028477387\0A %c = add i32 %seed, %a\0A %d0 = add i32 %c, %b\0A\00" +@.str3141 = private unnamed_addr constant [79 x i8] c" %e = lshr i32 %d0, 16\0A %f = xor i32 %d0, %e\0A %g = mul i32 %f, -2048144789\0A\00" +@.str3142 = private unnamed_addr constant [77 x i8] c" %h = lshr i32 %g, 13\0A %i = xor i32 %g, %h\0A %j = mul i32 %i, -1028477387\0A\00" +@.str3143 = private unnamed_addr constant [61 x i8] c" %k = lshr i32 %j, 16\0A %l = xor i32 %j, %k\0A ret i32 %l\0A}\0A\00" +@.str3144 = private unnamed_addr constant [37 x i8] c"define i32 @fn_noise_fade(i32 %t) {\0A\00" +@.str3145 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @fn_nfx_mul(i32 %t2, i32 %t)\0A\00" +@.str3146 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @fn_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @fn_nfx_mul(i32 %t4, i32 %t)\0A\00" +@.str3147 = private unnamed_addr constant [74 x i8] c" %c6 = mul i32 %t5, 6\0A %c15 = mul i32 %t4, 15\0A %c10 = mul i32 %t3, 10\0A\00" +@.str3148 = private unnamed_addr constant [67 x i8] c" %s1 = sub i32 %c6, %c15\0A %r = add i32 %s1, %c10\0A ret i32 %r\0A}\0A\00" +@.str3149 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3150 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00" +@.str3151 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00" +@.str3152 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" +@.str3153 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00" +@.str3154 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00" +@.str3155 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00" +@.str3156 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00" +@.str3157 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00" +@.str3158 = private unnamed_addr constant [109 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @fn_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00" +@.str3159 = private unnamed_addr constant [224 x i8] c"@noise_grad2 = private unnamed_addr constant [16 x i32] [i32 65536, i32 0, i32 -65536, i32 0, i32 0, i32 65536, i32 0, i32 -65536, i32 46341, i32 46341, i32 -46341, i32 46341, i32 46341, i32 -46341, i32 -46341, i32 -46341]\0A\00" +@.str3160 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" +@.str3161 = private unnamed_addr constant [80 x i8] c" %h = and i32 %hash, 7\0A %idx = shl i32 %h, 1\0A %idx64 = sext i32 %idx to i64\0A\00" +@.str3162 = private unnamed_addr constant [99 x i8] c" %gxp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idx64\0A %gx = load i32, ptr %gxp\0A\00" +@.str3163 = private unnamed_addr constant [156 x i8] c" %idy = add i32 %idx, 1\0A %idy64 = sext i32 %idy to i64\0A %gyp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idy64\0A %gy = load i32, ptr %gyp\0A\00" +@.str3164 = private unnamed_addr constant [134 x i8] c" %px = call i32 @fn_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @fn_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00" +@.str3165 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3166 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00" +@.str3167 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" +@.str3168 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00" +@.str3169 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" +@.str3170 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00" +@.str3171 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00" +@.str3172 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @fn_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @fn_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00" +@.str3173 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @fn_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @fn_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00" +@.str3174 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00" +@.str3175 = private unnamed_addr constant [158 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @fn_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" +@.str3176 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" +@.str3177 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @fn_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @fn_nfx_mul(i32 %dy, i32 %dy)\0A\00" +@.str3178 = private unnamed_addr constant [117 x i8] c" %s0 = sub i32 32768, %xx\0A %t = sub i32 %s0, %yy\0A %neg = icmp sle i32 %t, 0\0A br i1 %neg, label %zero, label %go\0A\00" +@.str3179 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" +@.str3180 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @fn_nfx_mul(i32 %t2, i32 %t2)\0A\00" +@.str3181 = private unnamed_addr constant [122 x i8] c" %g = call i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @fn_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00" +@.str3182 = private unnamed_addr constant [60 x i8] c"define i32 @fn_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3183 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @fn_nfx_mul(i32 %sum0, i32 23994)\0A\00" +@.str3184 = private unnamed_addr constant [101 x i8] c" %xs = add i32 %x, %skew\0A %ys = add i32 %y, %skew\0A %i = ashr i32 %xs, 16\0A %j = ashr i32 %ys, 16\0A\00" +@.str3185 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" +@.str3186 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" +@.str3187 = private unnamed_addr constant [101 x i8] c" %X0 = sub i32 %if0, %tt\0A %Y0 = sub i32 %jf0, %tt\0A %x0 = sub i32 %x, %X0\0A %y0 = sub i32 %y, %Y0\0A\00" +@.str3188 = private unnamed_addr constant [103 x i8] c" %gt = icmp sgt i32 %x0, %y0\0A %i1 = select i1 %gt, i32 1, i32 0\0A %j1 = select i1 %gt, i32 0, i32 1\0A\00" +@.str3189 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" +@.str3190 = private unnamed_addr constant [111 x i8] c" %x1a = sub i32 %x0, %i1f\0A %x1 = add i32 %x1a, 13849\0A %y1a = sub i32 %y0, %j1f\0A %y1 = add i32 %y1a, 13849\0A\00" +@.str3191 = private unnamed_addr constant [113 x i8] c" %x2a = sub i32 %x0, 65536\0A %x2 = add i32 %x2a, 27698\0A %y2a = sub i32 %y0, 65536\0A %y2 = add i32 %y2a, 27698\0A\00" +@.str3192 = private unnamed_addr constant [95 x i8] c" %i1p = add i32 %i, %i1\0A %j1p = add i32 %j, %j1\0A %i2 = add i32 %i, 1\0A %j2 = add i32 %j, 1\0A\00" +@.str3193 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @fn_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @fn_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @fn_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00" +@.str3194 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @fn_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @fn_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @fn_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00" +@.str3195 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" +@.str3196 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" +@.str3197 = private unnamed_addr constant [66 x i8] c"define i32 @fn_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" +@.str3198 = private unnamed_addr constant [113 x i8] c"entry:\0A %sump = alloca i32\0A %normp = alloca i32\0A %ampp = alloca i32\0A %freqp = alloca i32\0A %op = alloca i32\0A\00" +@.str3199 = private unnamed_addr constant [151 x i8] c" store i32 0, ptr %sump\0A store i32 0, ptr %normp\0A store i32 65536, ptr %ampp\0A store i32 65536, ptr %freqp\0A store i32 0, ptr %op\0A br label %cond\0A\00" +@.str3200 = private unnamed_addr constant [100 x i8] c"cond:\0A %o = load i32, ptr %op\0A %lt = icmp slt i32 %o, %oct\0A br i1 %lt, label %body, label %done\0A\00" +@.str3201 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" +@.str3202 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @fn_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @fn_nfx_mul(i32 %y, i32 %freq)\0A\00" +@.str3203 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @fn_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00" +@.str3204 = private unnamed_addr constant [134 x i8] c" %na = call i32 @fn_nfx_mul(i32 %n, i32 %amp)\0A %sum = load i32, ptr %sump\0A %sum2 = add i32 %sum, %na\0A store i32 %sum2, ptr %sump\0A\00" +@.str3205 = private unnamed_addr constant [94 x i8] c" %norm = load i32, ptr %normp\0A %norm2 = add i32 %norm, %amp\0A store i32 %norm2, ptr %normp\0A\00" +@.str3206 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @fn_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00" +@.str3207 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @fn_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00" +@.str3208 = private unnamed_addr constant [65 x i8] c" %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A br label %cond\0A\00" +@.str3209 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" +@.str3210 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" +@.str3211 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" +@.str3212 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @fn_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @fn_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00" +@.str3213 = private unnamed_addr constant [86 x i8] c"define void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00" +@.str3214 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" +@.str3215 = private unnamed_addr constant [83 x i8] c" %bestp = alloca i32\0A %idp = alloca i32\0A %dyp = alloca i32\0A %dxp = alloca i32\0A\00" +@.str3216 = private unnamed_addr constant [100 x i8] c" store i32 2147483647, ptr %bestp\0A store i32 0, ptr %idp\0A store i32 -1, ptr %dyp\0A br label %yc\0A\00" +@.str3217 = private unnamed_addr constant [99 x i8] c"yc:\0A %oy = load i32, ptr %dyp\0A %yok = icmp sle i32 %oy, 1\0A br i1 %yok, label %yb, label %ydone\0A\00" +@.str3218 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" +@.str3219 = private unnamed_addr constant [99 x i8] c"xc:\0A %ox = load i32, ptr %dxp\0A %xok = icmp sle i32 %ox, 1\0A br i1 %xok, label %xb, label %xdone\0A\00" +@.str3220 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" +@.str3221 = private unnamed_addr constant [61 x i8] c" %h = call i32 @fn_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" +@.str3222 = private unnamed_addr constant [80 x i8] c" %fxr = and i32 %h, 65535\0A %hs = lshr i32 %h, 16\0A %fyr = and i32 %hs, 65535\0A\00" +@.str3223 = private unnamed_addr constant [107 x i8] c" %cxf = shl i32 %cx, 16\0A %cyf = shl i32 %cy, 16\0A %pxr = add i32 %cxf, %fxr\0A %pyr = add i32 %cyf, %fyr\0A\00" +@.str3224 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" +@.str3225 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @fn_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @fn_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00" +@.str3226 = private unnamed_addr constant [105 x i8] c" %best = load i32, ptr %bestp\0A %less = icmp slt i32 %d2, %best\0A br i1 %less, label %upd, label %skip\0A\00" +@.str3227 = private unnamed_addr constant [76 x i8] c"upd:\0A store i32 %d2, ptr %bestp\0A store i32 %h, ptr %idp\0A br label %skip\0A\00" +@.str3228 = private unnamed_addr constant [73 x i8] c"skip:\0A %ox1 = add i32 %ox, 1\0A store i32 %ox1, ptr %dxp\0A br label %xc\0A\00" +@.str3229 = private unnamed_addr constant [74 x i8] c"xdone:\0A %oy1 = add i32 %oy, 1\0A store i32 %oy1, ptr %dyp\0A br label %yc\0A\00" +@.str3230 = private unnamed_addr constant [133 x i8] c"ydone:\0A %fb = load i32, ptr %bestp\0A store i32 %fb, ptr %d2out\0A %fi = load i32, ptr %idp\0A store i32 %fi, ptr %idout\0A ret void\0A}\0A\00" +@.str3231 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3232 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" +@.str3233 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @fn_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00" +@.str3234 = private unnamed_addr constant [64 x i8] c"define i32 @fn_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3235 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" +@.str3236 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" +@.str3237 = private unnamed_addr constant [6 x i8] c"trace\00" +@.str3238 = private unnamed_addr constant [6 x i8] c"debug\00" +@.str3239 = private unnamed_addr constant [5 x i8] c"info\00" +@.str3240 = private unnamed_addr constant [5 x i8] c"warn\00" +@.str3241 = private unnamed_addr constant [6 x i8] c"error\00" +@.str3242 = private unnamed_addr constant [10 x i8] c"set_level\00" +@.str3243 = private unnamed_addr constant [6 x i8] c"level\00" +@.str3244 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str3245 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str3246 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00" +@.str3247 = private unnamed_addr constant [2 x i8] c")\00" +@.str3248 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" +@.str3249 = private unnamed_addr constant [2 x i8] c")\00" +@.str3250 = private unnamed_addr constant [10 x i8] c"set_level\00" +@.str3251 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str3252 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" +@.str3253 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3254 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3255 = private unnamed_addr constant [6 x i8] c"level\00" +@.str3256 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" +@.str3257 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3258 = private unnamed_addr constant [2 x i8] c"2\00" +@.str3259 = private unnamed_addr constant [8 x i8] c"[INFO] \00" +@.str3260 = private unnamed_addr constant [6 x i8] c"trace\00" +@.str3261 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3262 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" +@.str3263 = private unnamed_addr constant [6 x i8] c"debug\00" +@.str3264 = private unnamed_addr constant [2 x i8] c"1\00" +@.str3265 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" +@.str3266 = private unnamed_addr constant [5 x i8] c"warn\00" +@.str3267 = private unnamed_addr constant [2 x i8] c"3\00" +@.str3268 = private unnamed_addr constant [8 x i8] c"[WARN] \00" +@.str3269 = private unnamed_addr constant [6 x i8] c"error\00" +@.str3270 = private unnamed_addr constant [2 x i8] c"4\00" +@.str3271 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" +@.str3272 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3273 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3274 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3275 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3276 = private unnamed_addr constant [2 x i8] c" \00" +@.str3277 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3278 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3279 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3280 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3281 = private unnamed_addr constant [2 x i8] c"=\00" +@.str3282 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3283 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3284 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3285 = private unnamed_addr constant [30 x i8] c" call void @fn_log_emit(i32 \00" +@.str3286 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3287 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3288 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3289 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3290 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" +@.str3291 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" +@.str3292 = private unnamed_addr constant [46 x i8] c"define void @fn_log_emit(i32 %lvl, ptr %s) {\0A\00" +@.str3293 = private unnamed_addr constant [114 x i8] c"entry:\0A %th = load i32, ptr @L_log_level\0A %skip = icmp slt i32 %lvl, %th\0A br i1 %skip, label %done, label %go\0A\00" +@.str3294 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00" +@.str3295 = private unnamed_addr constant [134 x i8] c" %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %e)\0A %w2 = call i64 @fwrite(ptr @.log_nl, i64 1, i64 1, ptr %e)\0A br label %done\0A\00" +@.str3296 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" +@.str3297 = private unnamed_addr constant [5 x i8] c"args\00" +@.str3298 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str3299 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str3300 = private unnamed_addr constant [4 x i8] c"env\00" +@.str3301 = private unnamed_addr constant [7 x i8] c"env_or\00" +@.str3302 = private unnamed_addr constant [8 x i8] c"has_env\00" +@.str3303 = private unnamed_addr constant [8 x i8] c"set_env\00" +@.str3304 = private unnamed_addr constant [10 x i8] c"unset_env\00" +@.str3305 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str3306 = private unnamed_addr constant [9 x i8] c"platform\00" +@.str3307 = private unnamed_addr constant [5 x i8] c"arch\00" +@.str3308 = private unnamed_addr constant [13 x i8] c"stdout_write\00" +@.str3309 = private unnamed_addr constant [13 x i8] c"stderr_write\00" +@.str3310 = private unnamed_addr constant [9 x i8] c"save_dir\00" +@.str3311 = private unnamed_addr constant [11 x i8] c"config_dir\00" +@.str3312 = private unnamed_addr constant [10 x i8] c"cache_dir\00" +@.str3313 = private unnamed_addr constant [9 x i8] c"temp_dir\00" +@.str3314 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str3315 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" +@.str3316 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3317 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str3318 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" +@.str3319 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" +@.str3320 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3321 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str3322 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3323 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str3324 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" +@.str3325 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3326 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" +@.str3327 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3328 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3329 = private unnamed_addr constant [4 x i8] c"env\00" +@.str3330 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str3331 = private unnamed_addr constant [2 x i8] c")\00" +@.str3332 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3333 = private unnamed_addr constant [8 x i8] c"has_env\00" +@.str3334 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str3335 = private unnamed_addr constant [2 x i8] c")\00" +@.str3336 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" +@.str3337 = private unnamed_addr constant [7 x i8] c", null\00" +@.str3338 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str3339 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3340 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3341 = private unnamed_addr constant [13 x i8] c"stdout_write\00" +@.str3342 = private unnamed_addr constant [13 x i8] c"stderr_write\00" +@.str3343 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00" +@.str3344 = private unnamed_addr constant [13 x i8] c"stderr_write\00" +@.str3345 = private unnamed_addr constant [11 x i8] c"@__stderrp\00" +@.str3346 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str3347 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str3348 = private unnamed_addr constant [2 x i8] c")\00" +@.str3349 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" +@.str3350 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str3351 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3352 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3353 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3354 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3355 = private unnamed_addr constant [5 x i8] c"args\00" +@.str3356 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_args()\00" +@.str3357 = private unnamed_addr constant [9 x i8] c"[]string\00" +@.str3358 = private unnamed_addr constant [7 x i8] c"env_or\00" +@.str3359 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_getenv_or(ptr \00" +@.str3360 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3361 = private unnamed_addr constant [2 x i8] c")\00" +@.str3362 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3363 = private unnamed_addr constant [8 x i8] c"set_env\00" +@.str3364 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" +@.str3365 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3366 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str3367 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str3368 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str3369 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str3370 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3371 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3372 = private unnamed_addr constant [10 x i8] c"unset_env\00" +@.str3373 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" +@.str3374 = private unnamed_addr constant [2 x i8] c")\00" +@.str3375 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str3376 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str3377 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str3378 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3379 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3380 = private unnamed_addr constant [9 x i8] c"platform\00" +@.str3381 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_platform()\00" +@.str3382 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3383 = private unnamed_addr constant [5 x i8] c"arch\00" +@.str3384 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_arch()\00" +@.str3385 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3386 = private unnamed_addr constant [9 x i8] c"save_dir\00" +@.str3387 = private unnamed_addr constant [30 x i8] c"call ptr @fn_os_save_dir(ptr \00" +@.str3388 = private unnamed_addr constant [2 x i8] c")\00" +@.str3389 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3390 = private unnamed_addr constant [11 x i8] c"config_dir\00" +@.str3391 = private unnamed_addr constant [32 x i8] c"call ptr @fn_os_config_dir(ptr \00" +@.str3392 = private unnamed_addr constant [2 x i8] c")\00" +@.str3393 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3394 = private unnamed_addr constant [10 x i8] c"cache_dir\00" +@.str3395 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_cache_dir(ptr \00" +@.str3396 = private unnamed_addr constant [2 x i8] c")\00" +@.str3397 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3398 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_temp_dir()\00" +@.str3399 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3400 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" +@.str3401 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" +@.str3402 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" +@.str3403 = private unnamed_addr constant [5 x i8] c"HOME\00" +@.str3404 = private unnamed_addr constant [2 x i8] c".\00" +@.str3405 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" +@.str3406 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" +@.str3407 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" +@.str3408 = private unnamed_addr constant [5 x i8] c"/tmp\00" +@.str3409 = private unnamed_addr constant [7 x i8] c"Darwin\00" +@.str3410 = private unnamed_addr constant [6 x i8] c"macos\00" +@.str3411 = private unnamed_addr constant [6 x i8] c"Linux\00" +@.str3412 = private unnamed_addr constant [6 x i8] c"linux\00" +@.str3413 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_getenv_or(ptr %name, ptr %fb) {\0A\00" +@.str3414 = private unnamed_addr constant [106 x i8] c"entry:\0A %r = call ptr @getenv(ptr %name)\0A %z = icmp eq ptr %r, null\0A br i1 %z, label %use, label %got\0A\00" +@.str3415 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" +@.str3416 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" +@.str3417 = private unnamed_addr constant [43 x i8] c"define ptr @fn_os_join2(ptr %a, ptr %b) {\0A\00" +@.str3418 = private unnamed_addr constant [74 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A\00" +@.str3419 = private unnamed_addr constant [86 x i8] c" %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00" +@.str3420 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" +@.str3421 = private unnamed_addr constant [88 x i8] c" %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A\00" +@.str3422 = private unnamed_addr constant [83 x i8] c" %end = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00" +@.str3423 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" +@.str3424 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @fn_os_join2(ptr %a, ptr %b)\0A %r = call ptr @fn_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00" +@.str3425 = private unnamed_addr constant [65 x i8] c"define ptr @fn_os_home() {\0A %r = call ptr @fn_os_getenv_or(ptr \00" +@.str3426 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3427 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3428 = private unnamed_addr constant [111 x i8] c"define ptr @fn_os_save_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00" +@.str3429 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" +@.str3430 = private unnamed_addr constant [113 x i8] c"define ptr @fn_os_config_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00" +@.str3431 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" +@.str3432 = private unnamed_addr constant [112 x i8] c"define ptr @fn_os_cache_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00" +@.str3433 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" +@.str3434 = private unnamed_addr constant [69 x i8] c"define ptr @fn_os_temp_dir() {\0A %r = call ptr @fn_os_getenv_or(ptr \00" +@.str3435 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3436 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3437 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_args() {\0A\00" +@.str3438 = private unnamed_addr constant [66 x i8] c"entry:\0A %c = load i32, ptr @L_argc\0A %v = load ptr, ptr @L_argv\0A\00" +@.str3439 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" +@.str3440 = private unnamed_addr constant [86 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %v, ptr %d0\0A\00" +@.str3441 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %c, ptr %d1\0A\00" +@.str3442 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %c, ptr %d2\0A\00" +@.str3443 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" +@.str3444 = private unnamed_addr constant [32 x i8] c"define ptr @fn_os_platform() {\0A\00" +@.str3445 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" +@.str3446 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" +@.str3447 = private unnamed_addr constant [76 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A br i1 %isd, label %mac, label %chkl\0A\00" +@.str3448 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" +@.str3449 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3450 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" +@.str3451 = private unnamed_addr constant [77 x i8] c", i64 5)\0A %isl = icmp eq i32 %cl, 0\0A br i1 %isl, label %lin, label %other\0A\00" +@.str3452 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" +@.str3453 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3454 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" +@.str3455 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_arch() {\0A\00" +@.str3456 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" +@.str3457 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" +@.str3458 = private unnamed_addr constant [4 x i8] c"len\00" +@.str3459 = private unnamed_addr constant [9 x i8] c"byte_len\00" +@.str3460 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" +@.str3461 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str3462 = private unnamed_addr constant [6 x i8] c"chars\00" +@.str3463 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str3464 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str3465 = private unnamed_addr constant [9 x i8] c"truncate\00" +@.str3466 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" +@.str3467 = private unnamed_addr constant [9 x i8] c"byte_len\00" +@.str3468 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str3469 = private unnamed_addr constant [2 x i8] c")\00" +@.str3470 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str3471 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3472 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3473 = private unnamed_addr constant [4 x i8] c"len\00" +@.str3474 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uni_len(ptr \00" +@.str3475 = private unnamed_addr constant [2 x i8] c")\00" +@.str3476 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3477 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" +@.str3478 = private unnamed_addr constant [28 x i8] c"call i32 @fn_uni_valid(ptr \00" +@.str3479 = private unnamed_addr constant [2 x i8] c")\00" +@.str3480 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3481 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str3482 = private unnamed_addr constant [30 x i8] c"call i32 @fn_uni_char_at(ptr \00" +@.str3483 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3484 = private unnamed_addr constant [2 x i8] c")\00" +@.str3485 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3486 = private unnamed_addr constant [6 x i8] c"chars\00" +@.str3487 = private unnamed_addr constant [28 x i8] c"call ptr @fn_uni_chars(ptr \00" +@.str3488 = private unnamed_addr constant [2 x i8] c")\00" +@.str3489 = private unnamed_addr constant [6 x i8] c"[]int\00" +@.str3490 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str3491 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00" +@.str3492 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str3493 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3494 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str3495 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00" +@.str3496 = private unnamed_addr constant [9 x i8] c", i32 0)\00" +@.str3497 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3498 = private unnamed_addr constant [9 x i8] c"truncate\00" +@.str3499 = private unnamed_addr constant [31 x i8] c"call ptr @fn_uni_truncate(ptr \00" +@.str3500 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3501 = private unnamed_addr constant [2 x i8] c")\00" +@.str3502 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3503 = private unnamed_addr constant [35 x i8] c"call i32 @fn_uni_grapheme_len(ptr \00" +@.str3504 = private unnamed_addr constant [2 x i8] c")\00" +@.str3505 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3506 = private unnamed_addr constant [34 x i8] c"define i32 @fn_uni_len(ptr %s) {\0A\00" +@.str3507 = private unnamed_addr constant [107 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %np\0A br label %lp\0A\00" +@.str3508 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3509 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3510 = private unnamed_addr constant [99 x i8] c"go:\0A %m = and i32 %c, 192\0A %cont = icmp eq i32 %m, 128\0A br i1 %cont, label %skip, label %count\0A\00" +@.str3511 = private unnamed_addr constant [97 x i8] c"count:\0A %n = load i32, ptr %np\0A %n1 = add i32 %n, 1\0A store i32 %n1, ptr %np\0A br label %skip\0A\00" +@.str3512 = private unnamed_addr constant [69 x i8] c"skip:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str3513 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" +@.str3514 = private unnamed_addr constant [57 x i8] c"define i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" +@.str3515 = private unnamed_addr constant [101 x i8] c"entry:\0A %p0 = getelementptr i8, ptr %s, i32 %i\0A %b0 = load i8, ptr %p0\0A %c0 = zext i8 %b0 to i32\0A\00" +@.str3516 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" +@.str3517 = private unnamed_addr constant [70 x i8] c"one:\0A store i32 %c0, ptr %cpout\0A %oi = add i32 %i, 1\0A ret i32 %oi\0A\00" +@.str3518 = private unnamed_addr constant [99 x i8] c"multi:\0A %h2 = and i32 %c0, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %two, label %c3\0A\00" +@.str3519 = private unnamed_addr constant [98 x i8] c"c3:\0A %h3 = and i32 %c0, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %three, label %c4\0A\00" +@.str3520 = private unnamed_addr constant [98 x i8] c"c4:\0A %h4 = and i32 %c0, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %four, label %bad\0A\00" +@.str3521 = private unnamed_addr constant [70 x i8] c"bad:\0A store i32 %c0, ptr %cpout\0A %bi = add i32 %i, 1\0A ret i32 %bi\0A\00" +@.str3522 = private unnamed_addr constant [128 x i8] c"two:\0A %t1i = add i32 %i, 1\0A %t1p = getelementptr i8, ptr %s, i32 %t1i\0A %t1b = load i8, ptr %t1p\0A %t1 = zext i8 %t1b to i32\0A\00" +@.str3523 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" +@.str3524 = private unnamed_addr constant [73 x i8] c"tbad:\0A store i32 %c0, ptr %cpout\0A %tbi = add i32 %i, 1\0A ret i32 %tbi\0A\00" +@.str3525 = private unnamed_addr constant [169 x i8] c"tok:\0A %tm = and i32 %c0, 31\0A %tsh = shl i32 %tm, 6\0A %tl = and i32 %t1, 63\0A %tcp = or i32 %tsh, %tl\0A store i32 %tcp, ptr %cpout\0A %ti = add i32 %i, 2\0A ret i32 %ti\0A\00" +@.str3526 = private unnamed_addr constant [130 x i8] c"three:\0A %r1i = add i32 %i, 1\0A %r1p = getelementptr i8, ptr %s, i32 %r1i\0A %r1b = load i8, ptr %r1p\0A %r1 = zext i8 %r1b to i32\0A\00" +@.str3527 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" +@.str3528 = private unnamed_addr constant [73 x i8] c"rbad:\0A store i32 %c0, ptr %cpout\0A %rbi = add i32 %i, 1\0A ret i32 %rbi\0A\00" +@.str3529 = private unnamed_addr constant [128 x i8] c"rc2:\0A %r2i = add i32 %i, 2\0A %r2p = getelementptr i8, ptr %s, i32 %r2i\0A %r2b = load i8, ptr %r2p\0A %r2 = zext i8 %r2b to i32\0A\00" +@.str3530 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" +@.str3531 = private unnamed_addr constant [131 x i8] c"rok:\0A %rm = and i32 %c0, 15\0A %rsh = shl i32 %rm, 12\0A %ram = and i32 %r1, 63\0A %rash = shl i32 %ram, 6\0A %rbm = and i32 %r2, 63\0A\00" +@.str3532 = private unnamed_addr constant [121 x i8] c" %rp1 = or i32 %rsh, %rash\0A %rcp = or i32 %rp1, %rbm\0A store i32 %rcp, ptr %cpout\0A %ri = add i32 %i, 3\0A ret i32 %ri\0A\00" +@.str3533 = private unnamed_addr constant [129 x i8] c"four:\0A %f1i = add i32 %i, 1\0A %f1p = getelementptr i8, ptr %s, i32 %f1i\0A %f1b = load i8, ptr %f1p\0A %f1 = zext i8 %f1b to i32\0A\00" +@.str3534 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" +@.str3535 = private unnamed_addr constant [73 x i8] c"fbad:\0A store i32 %c0, ptr %cpout\0A %fbi = add i32 %i, 1\0A ret i32 %fbi\0A\00" +@.str3536 = private unnamed_addr constant [128 x i8] c"fc2:\0A %f2i = add i32 %i, 2\0A %f2p = getelementptr i8, ptr %s, i32 %f2i\0A %f2b = load i8, ptr %f2p\0A %f2 = zext i8 %f2b to i32\0A\00" +@.str3537 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" +@.str3538 = private unnamed_addr constant [128 x i8] c"fc3:\0A %f3i = add i32 %i, 3\0A %f3p = getelementptr i8, ptr %s, i32 %f3i\0A %f3b = load i8, ptr %f3p\0A %f3 = zext i8 %f3b to i32\0A\00" +@.str3539 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" +@.str3540 = private unnamed_addr constant [106 x i8] c"fok:\0A %fm = and i32 %c0, 7\0A %fsh = shl i32 %fm, 18\0A %fam = and i32 %f1, 63\0A %fash = shl i32 %fam, 12\0A\00" +@.str3541 = private unnamed_addr constant [77 x i8] c" %fbm = and i32 %f2, 63\0A %fbsh = shl i32 %fbm, 6\0A %fcm = and i32 %f3, 63\0A\00" +@.str3542 = private unnamed_addr constant [151 x i8] c" %fp1 = or i32 %fsh, %fash\0A %fp2 = or i32 %fp1, %fbsh\0A %fcp = or i32 %fp2, %fcm\0A store i32 %fcp, ptr %cpout\0A %fi = add i32 %i, 4\0A ret i32 %fi\0A}\0A\00" +@.str3543 = private unnamed_addr constant [36 x i8] c"define i32 @fn_uni_valid(ptr %s) {\0A\00" +@.str3544 = private unnamed_addr constant [65 x i8] c"entry:\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" +@.str3545 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3546 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" +@.str3547 = private unnamed_addr constant [69 x i8] c"g:\0A %a1 = icmp ult i32 %c, 128\0A br i1 %a1, label %adv1, label %m2\0A\00" +@.str3548 = private unnamed_addr constant [69 x i8] c"adv1:\0A %n1 = add i32 %i, 1\0A store i32 %n1, ptr %ip\0A br label %lp\0A\00" +@.str3549 = private unnamed_addr constant [95 x i8] c"m2:\0A %h2 = and i32 %c, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %do2, label %m3\0A\00" +@.str3550 = private unnamed_addr constant [95 x i8] c"m3:\0A %h3 = and i32 %c, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %do3, label %m4\0A\00" +@.str3551 = private unnamed_addr constant [96 x i8] c"m4:\0A %h4 = and i32 %c, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %do4, label %bad\0A\00" +@.str3552 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3553 = private unnamed_addr constant [128 x i8] c"do2:\0A %v1i = add i32 %i, 1\0A %v1p = getelementptr i8, ptr %s, i32 %v1i\0A %v1b = load i8, ptr %v1p\0A %v1 = zext i8 %v1b to i32\0A\00" +@.str3554 = private unnamed_addr constant [98 x i8] c" %v1m = and i32 %v1, 192\0A %v1ok = icmp eq i32 %v1m, 128\0A br i1 %v1ok, label %do2b, label %bad\0A\00" +@.str3555 = private unnamed_addr constant [108 x i8] c"do2b:\0A %q2m = and i32 %c, 31\0A %q2s = shl i32 %q2m, 6\0A %q2l = and i32 %v1, 63\0A %cp2 = or i32 %q2s, %q2l\0A\00" +@.str3556 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" +@.str3557 = private unnamed_addr constant [69 x i8] c"adv2:\0A %n2 = add i32 %i, 2\0A store i32 %n2, ptr %ip\0A br label %lp\0A\00" +@.str3558 = private unnamed_addr constant [128 x i8] c"do3:\0A %w1i = add i32 %i, 1\0A %w1p = getelementptr i8, ptr %s, i32 %w1i\0A %w1b = load i8, ptr %w1p\0A %w1 = zext i8 %w1b to i32\0A\00" +@.str3559 = private unnamed_addr constant [98 x i8] c" %w1m = and i32 %w1, 192\0A %w1ok = icmp eq i32 %w1m, 128\0A br i1 %w1ok, label %do3b, label %bad\0A\00" +@.str3560 = private unnamed_addr constant [129 x i8] c"do3b:\0A %w2i = add i32 %i, 2\0A %w2p = getelementptr i8, ptr %s, i32 %w2i\0A %w2b = load i8, ptr %w2p\0A %w2 = zext i8 %w2b to i32\0A\00" +@.str3561 = private unnamed_addr constant [98 x i8] c" %w2m = and i32 %w2, 192\0A %w2ok = icmp eq i32 %w2m, 128\0A br i1 %w2ok, label %do3c, label %bad\0A\00" +@.str3562 = private unnamed_addr constant [136 x i8] c"do3c:\0A %e3m = and i32 %c, 15\0A %e3s = shl i32 %e3m, 12\0A %e3am = and i32 %w1, 63\0A %e3as = shl i32 %e3am, 6\0A %e3bm = and i32 %w2, 63\0A\00" +@.str3563 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" +@.str3564 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" +@.str3565 = private unnamed_addr constant [138 x i8] c"do3d:\0A %sg1 = icmp uge i32 %cp3, 55296\0A %sg2 = icmp ule i32 %cp3, 57343\0A %sg = and i1 %sg1, %sg2\0A br i1 %sg, label %bad, label %adv3\0A\00" +@.str3566 = private unnamed_addr constant [69 x i8] c"adv3:\0A %n3 = add i32 %i, 3\0A store i32 %n3, ptr %ip\0A br label %lp\0A\00" +@.str3567 = private unnamed_addr constant [128 x i8] c"do4:\0A %x1i = add i32 %i, 1\0A %x1p = getelementptr i8, ptr %s, i32 %x1i\0A %x1b = load i8, ptr %x1p\0A %x1 = zext i8 %x1b to i32\0A\00" +@.str3568 = private unnamed_addr constant [98 x i8] c" %x1m = and i32 %x1, 192\0A %x1ok = icmp eq i32 %x1m, 128\0A br i1 %x1ok, label %do4b, label %bad\0A\00" +@.str3569 = private unnamed_addr constant [129 x i8] c"do4b:\0A %x2i = add i32 %i, 2\0A %x2p = getelementptr i8, ptr %s, i32 %x2i\0A %x2b = load i8, ptr %x2p\0A %x2 = zext i8 %x2b to i32\0A\00" +@.str3570 = private unnamed_addr constant [98 x i8] c" %x2m = and i32 %x2, 192\0A %x2ok = icmp eq i32 %x2m, 128\0A br i1 %x2ok, label %do4c, label %bad\0A\00" +@.str3571 = private unnamed_addr constant [129 x i8] c"do4c:\0A %x3i = add i32 %i, 3\0A %x3p = getelementptr i8, ptr %s, i32 %x3i\0A %x3b = load i8, ptr %x3p\0A %x3 = zext i8 %x3b to i32\0A\00" +@.str3572 = private unnamed_addr constant [98 x i8] c" %x3m = and i32 %x3, 192\0A %x3ok = icmp eq i32 %x3m, 128\0A br i1 %x3ok, label %do4d, label %bad\0A\00" +@.str3573 = private unnamed_addr constant [180 x i8] c"do4d:\0A %y0 = and i32 %c, 7\0A %y0s = shl i32 %y0, 18\0A %y1m = and i32 %x1, 63\0A %y1s = shl i32 %y1m, 12\0A %y2m = and i32 %x2, 63\0A %y2s = shl i32 %y2m, 6\0A %y3m = and i32 %x3, 63\0A\00" +@.str3574 = private unnamed_addr constant [86 x i8] c" %cp4p = or i32 %y0s, %y1s\0A %cp4q = or i32 %cp4p, %y2s\0A %cp4 = or i32 %cp4q, %y3m\0A\00" +@.str3575 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" +@.str3576 = private unnamed_addr constant [81 x i8] c"do4e:\0A %hi4 = icmp ugt i32 %cp4, 1114111\0A br i1 %hi4, label %bad, label %adv4\0A\00" +@.str3577 = private unnamed_addr constant [69 x i8] c"adv4:\0A %n4 = add i32 %i, 4\0A store i32 %n4, ptr %ip\0A br label %lp\0A\00" +@.str3578 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" +@.str3579 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_upcp(i32 %c) {\0A\00" +@.str3580 = private unnamed_addr constant [83 x i8] c" %la = icmp uge i32 %c, 97\0A %lb = icmp ule i32 %c, 122\0A %asc = and i1 %la, %lb\0A\00" +@.str3581 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 224\0A %db = icmp ule i32 %c, 254\0A %dd = icmp ne i32 %c, 247\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00" +@.str3582 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %up = sub i32 %c, 32\0A %r = select i1 %map, i32 %up, i32 %c\0A ret i32 %r\0A}\0A\00" +@.str3583 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_locp(i32 %c) {\0A\00" +@.str3584 = private unnamed_addr constant [82 x i8] c" %ua = icmp uge i32 %c, 65\0A %ub = icmp ule i32 %c, 90\0A %asc = and i1 %ua, %ub\0A\00" +@.str3585 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 192\0A %db = icmp ule i32 %c, 222\0A %dd = icmp ne i32 %c, 215\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00" +@.str3586 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %lo = add i32 %c, 32\0A %r = select i1 %map, i32 %lo, i32 %c\0A ret i32 %r\0A}\0A\00" +@.str3587 = private unnamed_addr constant [39 x i8] c"define i32 @fn_uni_cpwidth(i32 %cp) {\0A\00" +@.str3588 = private unnamed_addr constant [91 x i8] c" %a = icmp ult i32 %cp, 128\0A %b = icmp ult i32 %cp, 2048\0A %c = icmp ult i32 %cp, 65536\0A\00" +@.str3589 = private unnamed_addr constant [130 x i8] c" %w34 = select i1 %c, i32 3, i32 4\0A %w234 = select i1 %b, i32 2, i32 %w34\0A %w = select i1 %a, i32 1, i32 %w234\0A ret i32 %w\0A}\0A\00" +@.str3590 = private unnamed_addr constant [58 x i8] c"define i32 @fn_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" +@.str3591 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @fn_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00" +@.str3592 = private unnamed_addr constant [140 x i8] c"e1:\0A %d0 = getelementptr i8, ptr %dst, i32 %off\0A %b0 = trunc i32 %cp to i8\0A store i8 %b0, ptr %d0\0A %o1 = add i32 %off, 1\0A ret i32 %o1\0A\00" +@.str3593 = private unnamed_addr constant [67 x i8] c"k2:\0A %is2 = icmp eq i32 %w, 2\0A br i1 %is2, label %e2, label %k3\0A\00" +@.str3594 = private unnamed_addr constant [107 x i8] c"e2:\0A %hi2 = lshr i32 %cp, 6\0A %by0 = or i32 %hi2, 192\0A %lo2 = and i32 %cp, 63\0A %by1 = or i32 %lo2, 128\0A\00" +@.str3595 = private unnamed_addr constant [103 x i8] c" %p20 = getelementptr i8, ptr %dst, i32 %off\0A %t20 = trunc i32 %by0 to i8\0A store i8 %t20, ptr %p20\0A\00" +@.str3596 = private unnamed_addr constant [166 x i8] c" %o21 = add i32 %off, 1\0A %p21 = getelementptr i8, ptr %dst, i32 %o21\0A %t21 = trunc i32 %by1 to i8\0A store i8 %t21, ptr %p21\0A %o2 = add i32 %off, 2\0A ret i32 %o2\0A\00" +@.str3597 = private unnamed_addr constant [67 x i8] c"k3:\0A %is3 = icmp eq i32 %w, 3\0A br i1 %is3, label %e3, label %e4\0A\00" +@.str3598 = private unnamed_addr constant [190 x i8] c"e3:\0A %hi3 = lshr i32 %cp, 12\0A %by30 = or i32 %hi3, 224\0A %m31 = lshr i32 %cp, 6\0A %m31b = and i32 %m31, 63\0A %by31 = or i32 %m31b, 128\0A %m32 = and i32 %cp, 63\0A %by32 = or i32 %m32, 128\0A\00" +@.str3599 = private unnamed_addr constant [104 x i8] c" %p30 = getelementptr i8, ptr %dst, i32 %off\0A %t30 = trunc i32 %by30 to i8\0A store i8 %t30, ptr %p30\0A\00" +@.str3600 = private unnamed_addr constant [129 x i8] c" %o31 = add i32 %off, 1\0A %p31 = getelementptr i8, ptr %dst, i32 %o31\0A %t31 = trunc i32 %by31 to i8\0A store i8 %t31, ptr %p31\0A\00" +@.str3601 = private unnamed_addr constant [167 x i8] c" %o32 = add i32 %off, 2\0A %p32 = getelementptr i8, ptr %dst, i32 %o32\0A %t32 = trunc i32 %by32 to i8\0A store i8 %t32, ptr %p32\0A %o3 = add i32 %off, 3\0A ret i32 %o3\0A\00" +@.str3602 = private unnamed_addr constant [139 x i8] c"e4:\0A %hi4 = lshr i32 %cp, 18\0A %by40 = or i32 %hi4, 240\0A %m41 = lshr i32 %cp, 12\0A %m41b = and i32 %m41, 63\0A %by41 = or i32 %m41b, 128\0A\00" +@.str3603 = private unnamed_addr constant [133 x i8] c" %m42 = lshr i32 %cp, 6\0A %m42b = and i32 %m42, 63\0A %by42 = or i32 %m42b, 128\0A %m43 = and i32 %cp, 63\0A %by43 = or i32 %m43, 128\0A\00" +@.str3604 = private unnamed_addr constant [104 x i8] c" %p40 = getelementptr i8, ptr %dst, i32 %off\0A %t40 = trunc i32 %by40 to i8\0A store i8 %t40, ptr %p40\0A\00" +@.str3605 = private unnamed_addr constant [129 x i8] c" %o41 = add i32 %off, 1\0A %p41 = getelementptr i8, ptr %dst, i32 %o41\0A %t41 = trunc i32 %by41 to i8\0A store i8 %t41, ptr %p41\0A\00" +@.str3606 = private unnamed_addr constant [129 x i8] c" %o42 = add i32 %off, 2\0A %p42 = getelementptr i8, ptr %dst, i32 %o42\0A %t42 = trunc i32 %by42 to i8\0A store i8 %t42, ptr %p42\0A\00" +@.str3607 = private unnamed_addr constant [169 x i8] c" %o43 = add i32 %off, 3\0A %p43 = getelementptr i8, ptr %dst, i32 %o43\0A %t43 = trunc i32 %by43 to i8\0A store i8 %t43, ptr %p43\0A %o4 = add i32 %off, 4\0A ret i32 %o4\0A}\0A\00" +@.str3608 = private unnamed_addr constant [40 x i8] c"define i32 @fn_uni_is_extend(i32 %c) {\0A\00" +@.str3609 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @fn_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" +@.str3610 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @fn_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" +@.str3611 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @fn_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" +@.str3612 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @fn_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" +@.str3613 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @fn_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" +@.str3614 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @fn_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" +@.str3615 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @fn_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" +@.str3616 = private unnamed_addr constant [161 x i8] c" %o1 = or i32 %r1, %r2\0A %o2 = or i32 %o1, %r3\0A %o3 = or i32 %o2, %r4\0A %o4 = or i32 %o3, %r5\0A %o5 = or i32 %o4, %r6\0A %o6 = or i32 %o5, %r7\0A ret i32 %o6\0A}\0A\00" +@.str3617 = private unnamed_addr constant [56 x i8] c"define i32 @fn_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" +@.str3618 = private unnamed_addr constant [118 x i8] c" %a = icmp uge i32 %c, %lo\0A %b = icmp ule i32 %c, %hi\0A %x = and i1 %a, %b\0A %r = zext i1 %x to i32\0A ret i32 %r\0A}\0A\00" +@.str3619 = private unnamed_addr constant [48 x i8] c"define i32 @fn_uni_char_at(ptr %s, i32 %idx) {\0A\00" +@.str3620 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" +@.str3621 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3622 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" +@.str3623 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k = load i32, ptr %kp\0A %hit = icmp eq i32 %k, %idx\0A br i1 %hit, label %found, label %next\0A\00" +@.str3624 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" +@.str3625 = private unnamed_addr constant [94 x i8] c"next:\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" +@.str3626 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" +@.str3627 = private unnamed_addr constant [36 x i8] c"define ptr @fn_uni_chars(ptr %s) {\0A\00" +@.str3628 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @fn_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00" +@.str3629 = private unnamed_addr constant [93 x i8] c" %nz = zext i32 %n to i64\0A %bytes = mul i64 %nz, 4\0A %data = call ptr @malloc(i64 %bytes)\0A\00" +@.str3630 = private unnamed_addr constant [89 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %data, ptr %d0\0A\00" +@.str3631 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %n, ptr %d1\0A\00" +@.str3632 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %n, ptr %d2\0A\00" +@.str3633 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" +@.str3634 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3635 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3636 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00" +@.str3637 = private unnamed_addr constant [161 x i8] c" %slot = getelementptr i32, ptr %data, i32 %k\0A store i32 %v, ptr %slot\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" +@.str3638 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" +@.str3639 = private unnamed_addr constant [44 x i8] c"define ptr @fn_uni_case(ptr %s, i32 %up) {\0A\00" +@.str3640 = private unnamed_addr constant [128 x i8] c"entry:\0A %bl = call i64 @strlen(ptr %s)\0A %cap0 = mul i64 %bl, 4\0A %cap = add i64 %cap0, 4\0A %out = call ptr @malloc(i64 %cap)\0A\00" +@.str3641 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00" +@.str3642 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3643 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3644 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00" +@.str3645 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @fn_uni_upcp(i32 %v)\0A %ml = call i32 @fn_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00" +@.str3646 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @fn_uni_encode(ptr %out, i32 %o, i32 %m)\0A store i32 %no, ptr %op\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" +@.str3647 = private unnamed_addr constant [120 x i8] c"done:\0A %fo = load i32, ptr %op\0A %endp = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00" +@.str3648 = private unnamed_addr constant [47 x i8] c"define ptr @fn_uni_truncate(ptr %s, i32 %n) {\0A\00" +@.str3649 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" +@.str3650 = private unnamed_addr constant [102 x i8] c"lp:\0A %k = load i32, ptr %kp\0A %enough = icmp sge i32 %k, %n\0A br i1 %enough, label %cut, label %chk\0A\00" +@.str3651 = private unnamed_addr constant [119 x i8] c"chk:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3652 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" +@.str3653 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" +@.str3654 = private unnamed_addr constant [199 x i8] c"cut:\0A %len = load i32, ptr %ip\0A %lz = zext i32 %len to i64\0A %cap = add i64 %lz, 1\0A %out = call ptr @malloc(i64 %cap)\0A %lz2 = zext i32 %len to i64\0A call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\0A\00" +@.str3655 = private unnamed_addr constant [89 x i8] c" %endp = getelementptr i8, ptr %out, i32 %len\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00" +@.str3656 = private unnamed_addr constant [43 x i8] c"define i32 @fn_uni_grapheme_len(ptr %s) {\0A\00" +@.str3657 = private unnamed_addr constant [103 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A %zp = alloca i32\0A %rp = alloca i32\0A %cp = alloca i32\0A\00" +@.str3658 = private unnamed_addr constant [108 x i8] c" store i32 0, ptr %ip\0A store i32 0, ptr %np\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3659 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3660 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3661 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00" +@.str3662 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" +@.str3663 = private unnamed_addr constant [142 x i8] c"zwj:\0A %n0 = load i32, ptr %np\0A %n0z = icmp eq i32 %n0, 0\0A %n0b = zext i1 %n0z to i32\0A %n0n = add i32 %n0, %n0b\0A store i32 %n0n, ptr %np\0A\00" +@.str3664 = private unnamed_addr constant [62 x i8] c" store i32 1, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3665 = private unnamed_addr constant [104 x i8] c"notzwj:\0A %n = load i32, ptr %np\0A %first = icmp eq i32 %n, 0\0A br i1 %first, label %open, label %cont\0A\00" +@.str3666 = private unnamed_addr constant [160 x i8] c"open:\0A store i32 1, ptr %np\0A store i32 0, ptr %zp\0A %ri0 = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00" +@.str3667 = private unnamed_addr constant [109 x i8] c"cont:\0A %zj = load i32, ptr %zp\0A %afterz = icmp ne i32 %zj, 0\0A br i1 %afterz, label %joinz, label %chkext\0A\00" +@.str3668 = private unnamed_addr constant [69 x i8] c"joinz:\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3669 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @fn_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00" +@.str3670 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3671 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A %isri = icmp ne i32 %ri, 0\0A %ropen = load i32, ptr %rp\0A %ropenb = icmp ne i32 %ropen, 0\0A %pair = and i1 %isri, %ropenb\0A br i1 %pair, label %joinri, label %newcl\0A\00" +@.str3672 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3673 = private unnamed_addr constant [191 x i8] c"newcl:\0A %nn = load i32, ptr %np\0A %nn1 = add i32 %nn, 1\0A store i32 %nn1, ptr %np\0A store i32 0, ptr %zp\0A %riset = select i1 %isri, i32 1, i32 0\0A store i32 %riset, ptr %rp\0A br label %lp\0A\00" +@.str3674 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" +@.str3675 = private unnamed_addr constant [7 x i8] c"exists\00" +@.str3676 = private unnamed_addr constant [7 x i8] c"is_dir\00" +@.str3677 = private unnamed_addr constant [10 x i8] c"read_text\00" +@.str3678 = private unnamed_addr constant [11 x i8] c"write_text\00" +@.str3679 = private unnamed_addr constant [12 x i8] c"append_text\00" +@.str3680 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str3681 = private unnamed_addr constant [5 x i8] c"size\00" +@.str3682 = private unnamed_addr constant [6 x i8] c"mkdir\00" +@.str3683 = private unnamed_addr constant [5 x i8] c"copy\00" +@.str3684 = private unnamed_addr constant [5 x i8] c"list\00" +@.str3685 = private unnamed_addr constant [5 x i8] c"join\00" +@.str3686 = private unnamed_addr constant [4 x i8] c"dir\00" +@.str3687 = private unnamed_addr constant [5 x i8] c"base\00" +@.str3688 = private unnamed_addr constant [4 x i8] c"ext\00" +@.str3689 = private unnamed_addr constant [5 x i8] c"stem\00" +@.str3690 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str3691 = private unnamed_addr constant [3 x i8] c"of\00" +@.str3692 = private unnamed_addr constant [6 x i8] c"sniff\00" +@.str3693 = private unnamed_addr constant [7 x i8] c"exists\00" +@.str3694 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_exists(ptr \00" +@.str3695 = private unnamed_addr constant [2 x i8] c")\00" +@.str3696 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3697 = private unnamed_addr constant [7 x i8] c"is_dir\00" +@.str3698 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_is_dir(ptr \00" +@.str3699 = private unnamed_addr constant [2 x i8] c")\00" +@.str3700 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3701 = private unnamed_addr constant [10 x i8] c"read_text\00" +@.str3702 = private unnamed_addr constant [31 x i8] c"call ptr @fn_fs_read_text(ptr \00" +@.str3703 = private unnamed_addr constant [2 x i8] c")\00" +@.str3704 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3705 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str3706 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_remove(ptr \00" +@.str3707 = private unnamed_addr constant [2 x i8] c")\00" +@.str3708 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3709 = private unnamed_addr constant [5 x i8] c"size\00" +@.str3710 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_size(ptr \00" +@.str3711 = private unnamed_addr constant [2 x i8] c")\00" +@.str3712 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3713 = private unnamed_addr constant [6 x i8] c"mkdir\00" +@.str3714 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fs_mkdir(ptr \00" +@.str3715 = private unnamed_addr constant [2 x i8] c")\00" +@.str3716 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3717 = private unnamed_addr constant [5 x i8] c"list\00" +@.str3718 = private unnamed_addr constant [26 x i8] c"call ptr @fn_fs_list(ptr \00" +@.str3719 = private unnamed_addr constant [2 x i8] c")\00" +@.str3720 = private unnamed_addr constant [9 x i8] c"[]string\00" +@.str3721 = private unnamed_addr constant [11 x i8] c"write_text\00" +@.str3722 = private unnamed_addr constant [32 x i8] c"call i32 @fn_fs_write_text(ptr \00" +@.str3723 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3724 = private unnamed_addr constant [2 x i8] c")\00" +@.str3725 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3726 = private unnamed_addr constant [12 x i8] c"append_text\00" +@.str3727 = private unnamed_addr constant [33 x i8] c"call i32 @fn_fs_append_text(ptr \00" +@.str3728 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3729 = private unnamed_addr constant [2 x i8] c")\00" +@.str3730 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3731 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_copy(ptr \00" +@.str3732 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3733 = private unnamed_addr constant [2 x i8] c")\00" +@.str3734 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3735 = private unnamed_addr constant [4 x i8] c"dir\00" +@.str3736 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_dir(ptr \00" +@.str3737 = private unnamed_addr constant [2 x i8] c")\00" +@.str3738 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3739 = private unnamed_addr constant [5 x i8] c"base\00" +@.str3740 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_base(ptr \00" +@.str3741 = private unnamed_addr constant [2 x i8] c")\00" +@.str3742 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3743 = private unnamed_addr constant [4 x i8] c"ext\00" +@.str3744 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_ext(ptr \00" +@.str3745 = private unnamed_addr constant [2 x i8] c")\00" +@.str3746 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3747 = private unnamed_addr constant [5 x i8] c"stem\00" +@.str3748 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_stem(ptr \00" +@.str3749 = private unnamed_addr constant [2 x i8] c")\00" +@.str3750 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3751 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str3752 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_norm(ptr \00" +@.str3753 = private unnamed_addr constant [2 x i8] c")\00" +@.str3754 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3755 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_join(ptr \00" +@.str3756 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3757 = private unnamed_addr constant [2 x i8] c")\00" +@.str3758 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3759 = private unnamed_addr constant [6 x i8] c"sniff\00" +@.str3760 = private unnamed_addr constant [29 x i8] c"call ptr @fn_mime_sniff(ptr \00" +@.str3761 = private unnamed_addr constant [2 x i8] c")\00" +@.str3762 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3763 = private unnamed_addr constant [26 x i8] c"call ptr @fn_mime_of(ptr \00" +@.str3764 = private unnamed_addr constant [2 x i8] c")\00" +@.str3765 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3766 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" +@.str3767 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" +@.str3768 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" +@.str3769 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" +@.str3770 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" +@.str3771 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" +@.str3772 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" +@.str3773 = private unnamed_addr constant [41 x i8] c"define ptr @fn_fs_dup(ptr %s, i32 %n) {\0A\00" +@.str3774 = private unnamed_addr constant [133 x i8] c"entry:\0A %nz = zext i32 %n to i64\0A %t = add i64 %nz, 1\0A %m = call ptr @malloc(i64 %t)\0A call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\0A\00" +@.str3775 = private unnamed_addr constant [81 x i8] c" %end = getelementptr i8, ptr %m, i32 %n\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00" +@.str3776 = private unnamed_addr constant [36 x i8] c"define ptr @fn_fs_strdup(ptr %s) {\0A\00" +@.str3777 = private unnamed_addr constant [127 x i8] c"entry:\0A %l = call i64 @strlen(ptr %s)\0A %li = trunc i64 %l to i32\0A %r = call ptr @fn_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00" +@.str3778 = private unnamed_addr constant [39 x i8] c"define i32 @fn_fs_lastslash(ptr %s) {\0A\00" +@.str3779 = private unnamed_addr constant [108 x i8] c"entry:\0A %ip = alloca i32\0A %rp = alloca i32\0A store i32 0, ptr %ip\0A store i32 -1, ptr %rp\0A br label %lp\0A\00" +@.str3780 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" +@.str3781 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3782 = private unnamed_addr constant [67 x i8] c"go:\0A %sl = icmp eq i32 %c, 47\0A br i1 %sl, label %set, label %nx\0A\00" +@.str3783 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" +@.str3784 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str3785 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" +@.str3786 = private unnamed_addr constant [44 x i8] c"define ptr @fn_path_join(ptr %a, ptr %b) {\0A\00" +@.str3787 = private unnamed_addr constant [140 x i8] c"entry:\0A %la64 = call i64 @strlen(ptr %a)\0A %la = trunc i64 %la64 to i32\0A %lb64 = call i64 @strlen(ptr %b)\0A %lb = trunc i64 %lb64 to i32\0A\00" +@.str3788 = private unnamed_addr constant [122 x i8] c" %b0 = load i8, ptr %b\0A %b0i = zext i8 %b0 to i32\0A %babs = icmp eq i32 %b0i, 47\0A br i1 %babs, label %retb, label %ka\0A\00" +@.str3789 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" +@.str3790 = private unnamed_addr constant [73 x i8] c"ka:\0A %aemp = icmp eq i32 %la, 0\0A br i1 %aemp, label %retb2, label %kb\0A\00" +@.str3791 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" +@.str3792 = private unnamed_addr constant [73 x i8] c"kb:\0A %bemp = icmp eq i32 %lb, 0\0A br i1 %bemp, label %reta, label %chk\0A\00" +@.str3793 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @fn_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" +@.str3794 = private unnamed_addr constant [159 x i8] c"chk:\0A %lam1 = sub i32 %la, 1\0A %pe = getelementptr i8, ptr %a, i32 %lam1\0A %ae = load i8, ptr %pe\0A %aei = zext i8 %ae to i32\0A %ends = icmp eq i32 %aei, 47\0A\00" +@.str3795 = private unnamed_addr constant [189 x i8] c" %sep = select i1 %ends, i32 0, i32 1\0A %tot = add i32 %la, %lb\0A %tot2 = add i32 %tot, %sep\0A %tot3 = add i32 %tot2, 1\0A %totz = zext i32 %tot3 to i64\0A %m = call ptr @malloc(i64 %totz)\0A\00" +@.str3796 = private unnamed_addr constant [75 x i8] c" %laz = zext i32 %la to i64\0A call ptr @memcpy(ptr %m, ptr %a, i64 %laz)\0A\00" +@.str3797 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" +@.str3798 = private unnamed_addr constant [90 x i8] c"wsep:\0A %sp = getelementptr i8, ptr %m, i32 %la\0A store i8 47, ptr %sp\0A br label %after\0A\00" +@.str3799 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" +@.str3800 = private unnamed_addr constant [155 x i8] c"after:\0A %boff = add i32 %la, %sep\0A %dp = getelementptr i8, ptr %m, i32 %boff\0A %lbz = zext i32 %lb to i64\0A call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz)\0A\00" +@.str3801 = private unnamed_addr constant [115 x i8] c" %endoff = add i32 %boff, %lb\0A %ep = getelementptr i8, ptr %m, i32 %endoff\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00" +@.str3802 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_base(ptr %s) {\0A\00" +@.str3803 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00" +@.str3804 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @fn_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" +@.str3805 = private unnamed_addr constant [126 x i8] c"tail:\0A %st = add i32 %ls, 1\0A %p = getelementptr i8, ptr %s, i32 %st\0A %r2 = call ptr @fn_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00" +@.str3806 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_dir(ptr %s) {\0A\00" +@.str3807 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00" +@.str3808 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @fn_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00" +@.str3809 = private unnamed_addr constant [79 x i8] c"chk0:\0A %isroot = icmp eq i32 %ls, 0\0A br i1 %isroot, label %root, label %cut\0A\00" +@.str3810 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @fn_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00" +@.str3811 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00" +@.str3812 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_ext(ptr %s) {\0A\00" +@.str3813 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00" +@.str3814 = private unnamed_addr constant [107 x i8] c" %dp = alloca i32\0A %ip = alloca i32\0A store i32 -1, ptr %dp\0A store i32 %bstart, ptr %ip\0A br label %lp\0A\00" +@.str3815 = private unnamed_addr constant [178 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3816 = private unnamed_addr constant [68 x i8] c"go:\0A %dot = icmp eq i32 %c, 46\0A br i1 %dot, label %sd, label %nx\0A\00" +@.str3817 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" +@.str3818 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str3819 = private unnamed_addr constant [102 x i8] c"done:\0A %d = load i32, ptr %dp\0A %nod = icmp eq i32 %d, -1\0A br i1 %nod, label %empty, label %chkpos\0A\00" +@.str3820 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00" +@.str3821 = private unnamed_addr constant [91 x i8] c"chkpos:\0A %atstart = icmp eq i32 %d, %bstart\0A br i1 %atstart, label %empty2, label %take\0A\00" +@.str3822 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00" +@.str3823 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @fn_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00" +@.str3824 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_stem(ptr %s) {\0A\00" +@.str3825 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @fn_path_base(ptr %s)\0A %ext = call ptr @fn_path_ext(ptr %s)\0A\00" +@.str3826 = private unnamed_addr constant [138 x i8] c" %bl64 = call i64 @strlen(ptr %base)\0A %bl = trunc i64 %bl64 to i32\0A %el64 = call i64 @strlen(ptr %ext)\0A %el = trunc i64 %el64 to i32\0A\00" +@.str3827 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @fn_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00" +@.str3828 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_norm(ptr %s) {\0A\00" +@.str3829 = private unnamed_addr constant [133 x i8] c"entry:\0A %len64 = call i64 @strlen(ptr %s)\0A %len = trunc i64 %len64 to i32\0A %cap = add i32 %len, 2\0A %capz = zext i32 %cap to i64\0A\00" +@.str3830 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" +@.str3831 = private unnamed_addr constant [96 x i8] c" %stz = mul i32 %cap, 4\0A %stzz = zext i32 %stz to i64\0A %segst = call ptr @malloc(i64 %stzz)\0A\00" +@.str3832 = private unnamed_addr constant [83 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %abs = icmp eq i32 %b0i, 47\0A\00" +@.str3833 = private unnamed_addr constant [106 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %scp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %scp\0A\00" +@.str3834 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" +@.str3835 = private unnamed_addr constant [69 x i8] c"ldr:\0A store i8 47, ptr %out\0A store i32 1, ptr %op\0A br label %seg\0A\00" +@.str3836 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" +@.str3837 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" +@.str3838 = private unnamed_addr constant [200 x i8] c"sksl:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %cc = load i8, ptr %pp\0A %cci = zext i8 %cc to i32\0A %issl = icmp eq i32 %cci, 47\0A br i1 %issl, label %adv, label %segstart\0A\00" +@.str3839 = private unnamed_addr constant [70 x i8] c"adv:\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %sksl\0A\00" +@.str3840 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" +@.str3841 = private unnamed_addr constant [260 x i8] c"scan:\0A %j = load i32, ptr %ip\0A %pj = getelementptr i8, ptr %s, i32 %j\0A %cj = load i8, ptr %pj\0A %cji = zext i8 %cj to i32\0A %endc = icmp eq i32 %cji, 0\0A %slc = icmp eq i32 %cji, 47\0A %stop = or i1 %endc, %slc\0A br i1 %stop, label %seghave, label %scanadv\0A\00" +@.str3842 = private unnamed_addr constant [74 x i8] c"scanadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %ip\0A br label %scan\0A\00" +@.str3843 = private unnamed_addr constant [147 x i8] c"seghave:\0A %se = load i32, ptr %ip\0A %slen = sub i32 %se, %ss\0A %emptyseg = icmp eq i32 %slen, 0\0A br i1 %emptyseg, label %atend, label %classify\0A\00" +@.str3844 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" +@.str3845 = private unnamed_addr constant [244 x i8] c" %is1 = icmp eq i32 %slen, 1\0A %c0p = getelementptr i8, ptr %s, i32 %ss\0A %c0 = load i8, ptr %c0p\0A %c0i = zext i8 %c0 to i32\0A %isdotchar = icmp eq i32 %c0i, 46\0A %isdot = and i1 %is1, %isdotchar\0A br i1 %isdot, label %contseg, label %chkdd\0A\00" +@.str3846 = private unnamed_addr constant [257 x i8] c"chkdd:\0A %is2 = icmp eq i32 %slen, 2\0A %d0p = getelementptr i8, ptr %s, i32 %ss\0A %d0 = load i8, ptr %d0p\0A %d0i = zext i8 %d0 to i32\0A %d1o = add i32 %ss, 1\0A %d1p = getelementptr i8, ptr %s, i32 %d1o\0A %d1 = load i8, ptr %d1p\0A %d1i = zext i8 %d1 to i32\0A\00" +@.str3847 = private unnamed_addr constant [161 x i8] c" %dd0 = icmp eq i32 %d0i, 46\0A %dd1 = icmp eq i32 %d1i, 46\0A %ddx = and i1 %dd0, %dd1\0A %isdd = and i1 %is2, %ddx\0A br i1 %isdd, label %dotdot, label %keepseg\0A\00" +@.str3848 = private unnamed_addr constant [105 x i8] c"dotdot:\0A %sc = load i32, ptr %scp\0A %has = icmp sgt i32 %sc, 0\0A br i1 %has, label %pop, label %chkrel\0A\00" +@.str3849 = private unnamed_addr constant [184 x i8] c"pop:\0A %sc1 = sub i32 %sc, 1\0A %stp = getelementptr i32, ptr %segst, i32 %sc1\0A %newop = load i32, ptr %stp\0A store i32 %newop, ptr %op\0A store i32 %sc1, ptr %scp\0A br label %contseg\0A\00" +@.str3850 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" +@.str3851 = private unnamed_addr constant [195 x i8] c"keepseg:\0A %sc2 = load i32, ptr %scp\0A %o0 = load i32, ptr %op\0A %stp2 = getelementptr i32, ptr %segst, i32 %sc2\0A store i32 %o0, ptr %stp2\0A %sc2n = add i32 %sc2, 1\0A store i32 %sc2n, ptr %scp\0A\00" +@.str3852 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" +@.str3853 = private unnamed_addr constant [102 x i8] c"cpy:\0A %k = load i32, ptr %cpp\0A %klt = icmp slt i32 %k, %se\0A br i1 %klt, label %cpyb, label %cpysl\0A\00" +@.str3854 = private unnamed_addr constant [285 x i8] c"cpyb:\0A %skp = getelementptr i8, ptr %s, i32 %k\0A %sk = load i8, ptr %skp\0A %oo = load i32, ptr %op\0A %dkp = getelementptr i8, ptr %out, i32 %oo\0A store i8 %sk, ptr %dkp\0A %oo1 = add i32 %oo, 1\0A store i32 %oo1, ptr %op\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %cpp\0A br label %cpy\0A\00" +@.str3855 = private unnamed_addr constant [175 x i8] c"cpysl:\0A %oc = load i32, ptr %op\0A %scp3 = getelementptr i8, ptr %out, i32 %oc\0A store i8 47, ptr %scp3\0A %oc1 = add i32 %oc, 1\0A store i32 %oc1, ptr %op\0A br label %contseg\0A\00" +@.str3856 = private unnamed_addr constant [206 x i8] c"contseg:\0A %ci = load i32, ptr %ip\0A %cip = getelementptr i8, ptr %s, i32 %ci\0A %cic = load i8, ptr %cip\0A %cici = zext i8 %cic to i32\0A %atz = icmp eq i32 %cici, 0\0A br i1 %atz, label %finish, label %seg\0A\00" +@.str3857 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" +@.str3858 = private unnamed_addr constant [110 x i8] c"finish:\0A %fo = load i32, ptr %op\0A %gt1 = icmp sgt i32 %fo, 1\0A br i1 %gt1, label %trimchk, label %fdefault\0A\00" +@.str3859 = private unnamed_addr constant [211 x i8] c"trimchk:\0A %lasto = sub i32 %fo, 1\0A %lop = getelementptr i8, ptr %out, i32 %lasto\0A %lc = load i8, ptr %lop\0A %lci = zext i8 %lc to i32\0A %istsl = icmp eq i32 %lci, 47\0A br i1 %istsl, label %trim, label %term\0A\00" +@.str3860 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" +@.str3861 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" +@.str3862 = private unnamed_addr constant [104 x i8] c"term:\0A %eo = load i32, ptr %op\0A %ez = icmp eq i32 %eo, 0\0A br i1 %ez, label %emptyout, label %putnul\0A\00" +@.str3863 = private unnamed_addr constant [114 x i8] c"emptyout:\0A store i8 46, ptr %out\0A %e1 = getelementptr i8, ptr %out, i32 1\0A store i8 0, ptr %e1\0A ret ptr %out\0A\00" +@.str3864 = private unnamed_addr constant [92 x i8] c"putnul:\0A %ep = getelementptr i8, ptr %out, i32 %eo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00" +@.str3865 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_exists(ptr %p) {\0A\00" +@.str3866 = private unnamed_addr constant [114 x i8] c"entry:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" +@.str3867 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_is_dir(ptr %p) {\0A\00" +@.str3868 = private unnamed_addr constant [105 x i8] c"entry:\0A %d = call ptr @opendir(ptr %p)\0A %nz = icmp ne ptr %d, null\0A br i1 %nz, label %yes, label %no\0A\00" +@.str3869 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" +@.str3870 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" +@.str3871 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fs_size(ptr %p) {\0A\00" +@.str3872 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3873 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" +@.str3874 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n = call i64 @ftell(ptr %f)\0A call i32 @fclose(ptr %f)\0A %ni = trunc i64 %n to i32\0A ret i32 %ni\0A}\0A\00" +@.str3875 = private unnamed_addr constant [50 x i8] c"define ptr @fn_fs_readall(ptr %p, ptr %lenout) {\0A\00" +@.str3876 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3877 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" +@.str3878 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A call i32 @fseek(ptr %f, i64 0, i32 0)\0A %n = trunc i64 %n64 to i32\0A\00" +@.str3879 = private unnamed_addr constant [144 x i8] c" %cap = add i64 %n64, 1\0A %m = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" +@.str3880 = private unnamed_addr constant [145 x i8] c" %rdi = trunc i64 %rd to i32\0A %endp = getelementptr i8, ptr %m, i32 %rdi\0A store i8 0, ptr %endp\0A store i32 %rdi, ptr %lenout\0A ret ptr %m\0A}\0A\00" +@.str3881 = private unnamed_addr constant [39 x i8] c"define ptr @fn_fs_read_text(ptr %p) {\0A\00" +@.str3882 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00" +@.str3883 = private unnamed_addr constant [48 x i8] c"define i32 @fn_fs_write_text(ptr %p, ptr %s) {\0A\00" +@.str3884 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3885 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3886 = private unnamed_addr constant [119 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" +@.str3887 = private unnamed_addr constant [114 x i8] c" %rr = call i32 @rename(ptr %tmp, ptr %p)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" +@.str3888 = private unnamed_addr constant [48 x i8] c"define ptr @fn_path_join_ext(ptr %a, ptr %b) {\0A\00" +@.str3889 = private unnamed_addr constant [159 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00" +@.str3890 = private unnamed_addr constant [212 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A %ep = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00" +@.str3891 = private unnamed_addr constant [49 x i8] c"define i32 @fn_fs_append_text(ptr %p, ptr %s) {\0A\00" +@.str3892 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_ab)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3893 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3894 = private unnamed_addr constant [128 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\00" +@.str3895 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_remove(ptr %p) {\0A\00" +@.str3896 = private unnamed_addr constant [107 x i8] c"entry:\0A %r = call i32 @remove(ptr %p)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" +@.str3897 = private unnamed_addr constant [46 x i8] c"define i32 @fn_fs_copy(ptr %src, ptr %dst) {\0A\00" +@.str3898 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3899 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3900 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00" +@.str3901 = private unnamed_addr constant [255 x i8] c"w:\0A %n = load i32, ptr %lp\0A %nz64 = zext i32 %n to i64\0A call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rr = call i32 @rename(ptr %tmp, ptr %dst)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" +@.str3902 = private unnamed_addr constant [35 x i8] c"define i32 @fn_fs_mkdir(ptr %p) {\0A\00" +@.str3903 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @fn_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00" +@.str3904 = private unnamed_addr constant [183 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %dup, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %fin, label %go\0A\00" +@.str3905 = private unnamed_addr constant [68 x i8] c"go:\0A %sl = icmp eq i32 %ci, 47\0A br i1 %sl, label %cut, label %nx\0A\00" +@.str3906 = private unnamed_addr constant [103 x i8] c"cut:\0A store i8 0, ptr %pp\0A call i32 @mkdir(ptr %dup, i32 493)\0A store i8 47, ptr %pp\0A br label %nx\0A\00" +@.str3907 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str3908 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @fn_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00" +@.str3909 = private unnamed_addr constant [37 x i8] c"define ptr @fn_fs_list(ptr %path) {\0A\00" +@.str3910 = private unnamed_addr constant [223 x i8] c"entry:\0A %h = call ptr @malloc(i64 16)\0A %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A\00" +@.str3911 = private unnamed_addr constant [182 x i8] c" %datap = alloca ptr\0A %cntp = alloca i32\0A %capp = alloca i32\0A %init = call ptr @malloc(i64 128)\0A store ptr %init, ptr %datap\0A store i32 0, ptr %cntp\0A store i32 16, ptr %capp\0A\00" +@.str3912 = private unnamed_addr constant [109 x i8] c" %dir = call ptr @opendir(ptr %path)\0A %dnz = icmp ne ptr %dir, null\0A br i1 %dnz, label %rd, label %empty\0A\00" +@.str3913 = private unnamed_addr constant [114 x i8] c"rd:\0A %de = call ptr @readdir(ptr %dir)\0A %denz = icmp ne ptr %de, null\0A br i1 %denz, label %ent, label %closed\0A\00" +@.str3914 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" +@.str3915 = private unnamed_addr constant [135 x i8] c" %n0 = load i8, ptr %namep\0A %n0i = zext i8 %n0 to i32\0A %isdot0 = icmp eq i32 %n0i, 46\0A br i1 %isdot0, label %chkdots, label %keep\0A\00" +@.str3916 = private unnamed_addr constant [176 x i8] c"chkdots:\0A %n1p = getelementptr i8, ptr %namep, i32 1\0A %n1 = load i8, ptr %n1p\0A %n1i = zext i8 %n1 to i32\0A %n1z = icmp eq i32 %n1i, 0\0A br i1 %n1z, label %rd, label %chkdd\0A\00" +@.str3917 = private unnamed_addr constant [85 x i8] c"chkdd:\0A %isdot1 = icmp eq i32 %n1i, 46\0A br i1 %isdot1, label %chkdd2, label %keep\0A\00" +@.str3918 = private unnamed_addr constant [174 x i8] c"chkdd2:\0A %n2p = getelementptr i8, ptr %namep, i32 2\0A %n2 = load i8, ptr %n2p\0A %n2i = zext i8 %n2 to i32\0A %n2z = icmp eq i32 %n2i, 0\0A br i1 %n2z, label %rd, label %keep\0A\00" +@.str3919 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @fn_fs_strdup(ptr %namep)\0A\00" +@.str3920 = private unnamed_addr constant [132 x i8] c" %cnt = load i32, ptr %cntp\0A %cap = load i32, ptr %capp\0A %full = icmp sge i32 %cnt, %cap\0A br i1 %full, label %grow, label %put\0A\00" +@.str3921 = private unnamed_addr constant [232 x i8] c"grow:\0A %nc = mul i32 %cap, 2\0A store i32 %nc, ptr %capp\0A %ncz = zext i32 %nc to i64\0A %nb = mul i64 %ncz, 8\0A %old = load ptr, ptr %datap\0A %new = call ptr @realloc(ptr %old, i64 %nb)\0A store ptr %new, ptr %datap\0A br label %put\0A\00" +@.str3922 = private unnamed_addr constant [215 x i8] c"put:\0A %data = load ptr, ptr %datap\0A %cnt2 = load i32, ptr %cntp\0A %slot = getelementptr ptr, ptr %data, i32 %cnt2\0A store ptr %nm, ptr %slot\0A %cnt3 = add i32 %cnt2, 1\0A store i32 %cnt3, ptr %cntp\0A br label %rd\0A\00" +@.str3923 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" +@.str3924 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" +@.str3925 = private unnamed_addr constant [130 x i8] c"sortit:\0A %fdata = load ptr, ptr %datap\0A %fcnt = load i32, ptr %cntp\0A %aip = alloca i32\0A store i32 1, ptr %aip\0A br label %so\0A\00" +@.str3926 = private unnamed_addr constant [104 x i8] c"so:\0A %ai = load i32, ptr %aip\0A %ailt = icmp slt i32 %ai, %fcnt\0A br i1 %ailt, label %sob, label %sod\0A\00" +@.str3927 = private unnamed_addr constant [166 x i8] c"sob:\0A %kp = getelementptr ptr, ptr %fdata, i32 %ai\0A %key = load ptr, ptr %kp\0A %jp = alloca i32\0A %aim1 = sub i32 %ai, 1\0A store i32 %aim1, ptr %jp\0A br label %si\0A\00" +@.str3928 = private unnamed_addr constant [98 x i8] c"si:\0A %jj = load i32, ptr %jp\0A %jge = icmp sge i32 %jj, 0\0A br i1 %jge, label %sic, label %sins\0A\00" +@.str3929 = private unnamed_addr constant [194 x i8] c"sic:\0A %ejp = getelementptr ptr, ptr %fdata, i32 %jj\0A %ej = load ptr, ptr %ejp\0A %cmp = call i32 @strcmp(ptr %ej, ptr %key)\0A %gt = icmp sgt i32 %cmp, 0\0A br i1 %gt, label %shift, label %sins\0A\00" +@.str3930 = private unnamed_addr constant [168 x i8] c"shift:\0A %j1 = add i32 %jj, 1\0A %dp1 = getelementptr ptr, ptr %fdata, i32 %j1\0A store ptr %ej, ptr %dp1\0A %jm = sub i32 %jj, 1\0A store i32 %jm, ptr %jp\0A br label %si\0A\00" +@.str3931 = private unnamed_addr constant [201 x i8] c"sins:\0A %jf = load i32, ptr %jp\0A %jf1 = add i32 %jf, 1\0A %insp = getelementptr ptr, ptr %fdata, i32 %jf1\0A store ptr %key, ptr %insp\0A %ai1 = add i32 %ai, 1\0A store i32 %ai1, ptr %aip\0A br label %so\0A\00" +@.str3932 = private unnamed_addr constant [103 x i8] c"sod:\0A store ptr %fdata, ptr %d0\0A store i32 %fcnt, ptr %d1\0A store i32 %fcnt, ptr %d2\0A ret ptr %h\0A}\0A\00" +@.str3933 = private unnamed_addr constant [4 x i8] c"png\00" +@.str3934 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str3935 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str3936 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str3937 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str3938 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str3939 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str3940 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str3941 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str3942 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str3943 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str3944 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str3945 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str3946 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str3947 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str3948 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str3949 = private unnamed_addr constant [3 x i8] c"md\00" +@.str3950 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str3951 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str3952 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str3953 = private unnamed_addr constant [5 x i8] c"html\00" +@.str3954 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str3955 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str3956 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str3957 = private unnamed_addr constant [4 x i8] c"css\00" +@.str3958 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str3959 = private unnamed_addr constant [3 x i8] c"js\00" +@.str3960 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str3961 = private unnamed_addr constant [5 x i8] c"json\00" +@.str3962 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str3963 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str3964 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str3965 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str3966 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str3967 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str3968 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str3969 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str3970 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str3971 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str3972 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str3973 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str3974 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str3975 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str3976 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str3977 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str3978 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str3979 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str3980 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str3981 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" +@.str3982 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" +@.str3983 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" +@.str3984 = private unnamed_addr constant [3 x i8] c", \00" +@.str3985 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" +@.str3986 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3987 = private unnamed_addr constant [3 x i8] c" }\00" +@.str3988 = private unnamed_addr constant [3 x i8] c"]\0A\00" +@.str3989 = private unnamed_addr constant [37 x i8] c"define ptr @fn_mime_of(ptr %path) {\0A\00" +@.str3990 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @fn_path_ext(ptr %path)\0A %lc = call ptr @fn_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" +@.str3991 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" +@.str3992 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" +@.str3993 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" +@.str3994 = private unnamed_addr constant [182 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0\0A %k = load ptr, ptr %kp\0A %c = call i32 @strcmp(ptr %lc, ptr %k)\0A %eq = icmp eq i32 %c, 0\0A br i1 %eq, label %hit, label %nx\0A\00" +@.str3995 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" +@.str3996 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @fn_fs_strdup(ptr %v)\0A ret ptr %r\0A\00" +@.str3997 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str3998 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @fn_fs_strdup(ptr \00" +@.str3999 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" +@.str4000 = private unnamed_addr constant [34 x i8] c"define ptr @fn_mime_lc(ptr %s) {\0A\00" +@.str4001 = private unnamed_addr constant [132 x i8] c"entry:\0A %l64 = call i64 @strlen(ptr %s)\0A %l = trunc i64 %l64 to i32\0A %cap = add i64 %l64, 1\0A %out = call ptr @malloc(i64 %cap)\0A\00" +@.str4002 = private unnamed_addr constant [127 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %isdot = icmp eq i32 %b0i, 46\0A %start = select i1 %isdot, i32 1, i32 0\0A\00" +@.str4003 = private unnamed_addr constant [105 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A store i32 %start, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00" +@.str4004 = private unnamed_addr constant [182 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str4005 = private unnamed_addr constant [378 x i8] c"go:\0A %ua = icmp uge i32 %ci, 65\0A %ub = icmp ule i32 %ci, 90\0A %up = and i1 %ua, %ub\0A %lo = add i32 %ci, 32\0A %m = select i1 %up, i32 %lo, i32 %ci\0A %mt = trunc i32 %m to i8\0A %o = load i32, ptr %op\0A %dp = getelementptr i8, ptr %out, i32 %o\0A store i8 %mt, ptr %dp\0A %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str4006 = private unnamed_addr constant [116 x i8] c"done:\0A %fo = load i32, ptr %op\0A %ep = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00" +@.str4007 = private unnamed_addr constant [40 x i8] c"define ptr @fn_mime_sniff(ptr %path) {\0A\00" +@.str4008 = private unnamed_addr constant [127 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %fallback\0A\00" +@.str4009 = private unnamed_addr constant [226 x i8] c"ok:\0A %buf = call ptr @malloc(i64 16)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rdi = trunc i64 %rd to i32\0A %has4 = icmp sge i32 %rdi, 4\0A br i1 %has4, label %chk, label %fallback\0A\00" +@.str4010 = private unnamed_addr constant [394 x i8] c"chk:\0A %b0p = getelementptr i8, ptr %buf, i32 0\0A %b0 = load i8, ptr %b0p\0A %b0i = zext i8 %b0 to i32\0A %b1p = getelementptr i8, ptr %buf, i32 1\0A %b1 = load i8, ptr %b1p\0A %b1i = zext i8 %b1 to i32\0A %b2p = getelementptr i8, ptr %buf, i32 2\0A %b2 = load i8, ptr %b2p\0A %b2i = zext i8 %b2 to i32\0A %b3p = getelementptr i8, ptr %buf, i32 3\0A %b3 = load i8, ptr %b3p\0A %b3i = zext i8 %b3 to i32\0A\00" +@.str4011 = private unnamed_addr constant [225 x i8] c" %p0 = icmp eq i32 %b0i, 137\0A %p1 = icmp eq i32 %b1i, 80\0A %p2 = icmp eq i32 %b2i, 78\0A %p3 = icmp eq i32 %b3i, 71\0A %pa = and i1 %p0, %p1\0A %pb = and i1 %pa, %p2\0A %pc = and i1 %pb, %p3\0A br i1 %pc, label %png, label %cj\0A\00" +@.str4012 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00" +@.str4013 = private unnamed_addr constant [178 x i8] c"cj:\0A %j0 = icmp eq i32 %b0i, 255\0A %j1 = icmp eq i32 %b1i, 216\0A %j2 = icmp eq i32 %b2i, 255\0A %ja = and i1 %j0, %j1\0A %jb = and i1 %ja, %j2\0A br i1 %jb, label %jpg, label %cg\0A\00" +@.str4014 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00" +@.str4015 = private unnamed_addr constant [175 x i8] c"cg:\0A %g0 = icmp eq i32 %b0i, 71\0A %g1 = icmp eq i32 %b1i, 73\0A %g2 = icmp eq i32 %b2i, 70\0A %ga = and i1 %g0, %g1\0A %gb = and i1 %ga, %g2\0A br i1 %gb, label %gif, label %cp\0A\00" +@.str4016 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00" +@.str4017 = private unnamed_addr constant [234 x i8] c"cp:\0A %q0 = icmp eq i32 %b0i, 37\0A %q1 = icmp eq i32 %b1i, 80\0A %q2 = icmp eq i32 %b2i, 68\0A %q3 = icmp eq i32 %b3i, 70\0A %qa = and i1 %q0, %q1\0A %qb = and i1 %qa, %q2\0A %qc = and i1 %qb, %q3\0A br i1 %qc, label %pdf, label %fallback\0A\00" +@.str4018 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00" +@.str4019 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @fn_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00" +@.str4020 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str4021 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str4022 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" +@.str4023 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" +@.str4024 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" +@.str4025 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" +@.str4026 = private unnamed_addr constant [68 x i8] c"@fn_str_dottmp = private unnamed_addr constant [5 x i8] c\22.tmp\5C00\22\0A\00" +@.str4027 = private unnamed_addr constant [71 x i8] c"@fn_sig_png = private unnamed_addr constant [10 x i8] c\22image/png\5C00\22\0A\00" +@.str4028 = private unnamed_addr constant [72 x i8] c"@fn_sig_jpg = private unnamed_addr constant [11 x i8] c\22image/jpeg\5C00\22\0A\00" +@.str4029 = private unnamed_addr constant [71 x i8] c"@fn_sig_gif = private unnamed_addr constant [10 x i8] c\22image/gif\5C00\22\0A\00" +@.str4030 = private unnamed_addr constant [77 x i8] c"@fn_sig_pdf = private unnamed_addr constant [16 x i8] c\22application/pdf\5C00\22\0A\00" +@.str4031 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str4032 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" +@.str4033 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4034 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4035 = private unnamed_addr constant [4 x i8] c"len\00" +@.str4036 = private unnamed_addr constant [5 x i8] c"push\00" +@.str4037 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str4038 = private unnamed_addr constant [7 x i8] c"sample\00" +@.str4039 = private unnamed_addr constant [6 x i8] c"first\00" +@.str4040 = private unnamed_addr constant [5 x i8] c"last\00" +@.str4041 = private unnamed_addr constant [4 x i8] c"pop\00" +@.str4042 = private unnamed_addr constant [5 x i8] c"swap\00" +@.str4043 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str4044 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str4045 = private unnamed_addr constant [8 x i8] c"reverse\00" +@.str4046 = private unnamed_addr constant [7 x i8] c"insert\00" +@.str4047 = private unnamed_addr constant [10 x i8] c"remove_at\00" +@.str4048 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str4049 = private unnamed_addr constant [5 x i8] c"sort\00" +@.str4050 = private unnamed_addr constant [8 x i8] c"sort_by\00" +@.str4051 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" +@.str4052 = private unnamed_addr constant [10 x i8] c"sort_with\00" +@.str4053 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str4054 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4055 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4055 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str4056 = private unnamed_addr constant [3 x i8] c", \00" -@.str4057 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4058 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4059 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4060 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4061 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4062 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4063 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4064 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4065 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4066 = private unnamed_addr constant [2 x i8] c" \00" -@.str4067 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4068 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4069 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4070 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4071 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4072 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4073 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4074 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4075 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4076 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4077 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4078 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" -@.str4079 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" -@.str4080 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" -@.str4081 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4082 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4083 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4084 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4085 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4086 = private unnamed_addr constant [3 x i8] c", \00" -@.str4087 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4088 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4089 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4090 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4091 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4092 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4093 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4094 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4095 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4096 = private unnamed_addr constant [2 x i8] c" \00" -@.str4097 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4098 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4099 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4100 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4101 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4102 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4103 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4104 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4105 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4106 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4107 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4108 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4109 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4110 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" -@.str4111 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" -@.str4112 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" -@.str4113 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4114 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4115 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4116 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4117 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4118 = private unnamed_addr constant [3 x i8] c", \00" -@.str4119 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4120 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4121 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4122 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4123 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4124 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4125 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4126 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4127 = private unnamed_addr constant [2 x i8] c" \00" -@.str4128 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4129 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4130 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4131 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4132 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4133 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4134 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4135 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4136 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4137 = private unnamed_addr constant [3 x i8] c", \00" -@.str4138 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4139 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4057 = private unnamed_addr constant [3 x i8] c"ig\00" +@.str4058 = private unnamed_addr constant [4 x i8] c"igd\00" +@.str4059 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4060 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4061 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4062 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4063 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4064 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4065 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4066 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str4067 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4068 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4069 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" +@.str4070 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str4071 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4072 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4073 = private unnamed_addr constant [3 x i8] c", \00" +@.str4074 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str4075 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str4076 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str4077 = private unnamed_addr constant [2 x i8] c")\00" +@.str4078 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str4079 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4080 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4081 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4082 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4083 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4084 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4085 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4086 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4087 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" +@.str4088 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4089 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4090 = private unnamed_addr constant [10 x i8] c"icmp slt \00" +@.str4091 = private unnamed_addr constant [2 x i8] c" \00" +@.str4092 = private unnamed_addr constant [3 x i8] c", \00" +@.str4093 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" +@.str4094 = private unnamed_addr constant [2 x i8] c"(\00" +@.str4095 = private unnamed_addr constant [2 x i8] c" \00" +@.str4096 = private unnamed_addr constant [3 x i8] c", \00" +@.str4097 = private unnamed_addr constant [2 x i8] c" \00" +@.str4098 = private unnamed_addr constant [2 x i8] c")\00" +@.str4099 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4100 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4101 = private unnamed_addr constant [6 x i8] c"call \00" +@.str4102 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str4103 = private unnamed_addr constant [2 x i8] c"(\00" +@.str4104 = private unnamed_addr constant [2 x i8] c" \00" +@.str4105 = private unnamed_addr constant [2 x i8] c")\00" +@.str4106 = private unnamed_addr constant [6 x i8] c"call \00" +@.str4107 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str4108 = private unnamed_addr constant [2 x i8] c"(\00" +@.str4109 = private unnamed_addr constant [2 x i8] c" \00" +@.str4110 = private unnamed_addr constant [2 x i8] c")\00" +@.str4111 = private unnamed_addr constant [10 x i8] c"icmp slt \00" +@.str4112 = private unnamed_addr constant [2 x i8] c" \00" +@.str4113 = private unnamed_addr constant [3 x i8] c", \00" +@.str4114 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" +@.str4115 = private unnamed_addr constant [2 x i8] c" \00" +@.str4116 = private unnamed_addr constant [3 x i8] c", \00" +@.str4117 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str4118 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4119 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str4120 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4121 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4122 = private unnamed_addr constant [3 x i8] c", \00" +@.str4123 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str4124 = private unnamed_addr constant [2 x i8] c")\00" +@.str4125 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4126 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4127 = private unnamed_addr constant [2 x i8] c"1\00" +@.str4128 = private unnamed_addr constant [6 x i8] c"ms_wc\00" +@.str4129 = private unnamed_addr constant [6 x i8] c"ms_wb\00" +@.str4130 = private unnamed_addr constant [6 x i8] c"ms_we\00" +@.str4131 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4132 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4133 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4134 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4135 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4136 = private unnamed_addr constant [3 x i8] c", \00" +@.str4137 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4138 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4139 = private unnamed_addr constant [10 x i8] c", label %\00" @.str4140 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4141 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4142 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4143 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4144 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4145 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4146 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" -@.str4147 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str4148 = private unnamed_addr constant [6 x i8] c"List.\00" -@.str4149 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" -@.str4150 = private unnamed_addr constant [6 x i8] c"List.\00" -@.str4151 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" -@.str4152 = private unnamed_addr constant [6 x i8] c"List.\00" -@.str4153 = private unnamed_addr constant [22 x i8] c": no function named '\00" -@.str4154 = private unnamed_addr constant [2 x i8] c"'\00" -@.str4155 = private unnamed_addr constant [4 x i8] c"len\00" -@.str4156 = private unnamed_addr constant [5 x i8] c"push\00" -@.str4157 = private unnamed_addr constant [6 x i8] c"List.\00" -@.str4158 = private unnamed_addr constant [15 x i8] c" needs a slice\00" -@.str4159 = private unnamed_addr constant [6 x i8] c"clear\00" -@.str4160 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str4161 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4162 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4163 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4164 = private unnamed_addr constant [6 x i8] c"first\00" -@.str4165 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4166 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4167 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4168 = private unnamed_addr constant [5 x i8] c"last\00" -@.str4169 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4170 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4171 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4172 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4173 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4174 = private unnamed_addr constant [4 x i8] c"pop\00" -@.str4175 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4176 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4177 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4178 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4179 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4180 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str4181 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4182 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4183 = private unnamed_addr constant [5 x i8] c"swap\00" -@.str4184 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4185 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4186 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4187 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4188 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4189 = private unnamed_addr constant [2 x i8] c" \00" -@.str4190 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4191 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4192 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4193 = private unnamed_addr constant [2 x i8] c" \00" -@.str4194 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4195 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4196 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4197 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4198 = private unnamed_addr constant [9 x i8] c"contains\00" -@.str4199 = private unnamed_addr constant [9 x i8] c"index_of\00" -@.str4200 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4201 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4202 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4203 = private unnamed_addr constant [3 x i8] c"-1\00" -@.str4204 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4205 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4206 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4207 = private unnamed_addr constant [8 x i8] c"lc_cond\00" -@.str4208 = private unnamed_addr constant [8 x i8] c"lc_body\00" -@.str4209 = private unnamed_addr constant [7 x i8] c"lc_hit\00" -@.str4210 = private unnamed_addr constant [8 x i8] c"lc_next\00" -@.str4211 = private unnamed_addr constant [7 x i8] c"lc_end\00" -@.str4212 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4213 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4214 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4215 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4216 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4217 = private unnamed_addr constant [3 x i8] c", \00" -@.str4218 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4219 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4220 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4142 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4143 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4144 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4145 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4146 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4147 = private unnamed_addr constant [6 x i8] c"ms_ic\00" +@.str4148 = private unnamed_addr constant [6 x i8] c"ms_ib\00" +@.str4149 = private unnamed_addr constant [6 x i8] c"ms_ie\00" +@.str4150 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4151 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4152 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4153 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4154 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4155 = private unnamed_addr constant [3 x i8] c", \00" +@.str4156 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4157 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4158 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4159 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4160 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4161 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4162 = private unnamed_addr constant [3 x i8] c", \00" +@.str4163 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4164 = private unnamed_addr constant [3 x i8] c", \00" +@.str4165 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4166 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4167 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4168 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4169 = private unnamed_addr constant [3 x i8] c", \00" +@.str4170 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4171 = private unnamed_addr constant [3 x i8] c", \00" +@.str4172 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4173 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4174 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4175 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4176 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4177 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4178 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4179 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4180 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4181 = private unnamed_addr constant [6 x i8] c"ms_mc\00" +@.str4182 = private unnamed_addr constant [6 x i8] c"ms_mb\00" +@.str4183 = private unnamed_addr constant [8 x i8] c"ms_mend\00" +@.str4184 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4185 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4186 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4187 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4188 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4189 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4190 = private unnamed_addr constant [3 x i8] c", \00" +@.str4191 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4192 = private unnamed_addr constant [3 x i8] c", \00" +@.str4193 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4194 = private unnamed_addr constant [3 x i8] c", \00" +@.str4195 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4196 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4197 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4198 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4199 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4200 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4201 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4202 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4203 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4204 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4205 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" +@.str4206 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" +@.str4207 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" +@.str4208 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4209 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4210 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4211 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4212 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4213 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4214 = private unnamed_addr constant [2 x i8] c" \00" +@.str4215 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4216 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4217 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4218 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4219 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4220 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4221 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4222 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4223 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4224 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4225 = private unnamed_addr constant [9 x i8] c"icmp eq \00" -@.str4226 = private unnamed_addr constant [2 x i8] c" \00" -@.str4227 = private unnamed_addr constant [3 x i8] c", \00" -@.str4228 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4229 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4230 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4223 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4224 = private unnamed_addr constant [2 x i8] c" \00" +@.str4225 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4226 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4227 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4228 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4229 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4230 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4231 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4232 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4233 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4234 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4235 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4236 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4237 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4238 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4239 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4240 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4241 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4242 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4243 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4244 = private unnamed_addr constant [9 x i8] c"index_of\00" -@.str4245 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4246 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4247 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4248 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4249 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4250 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4251 = private unnamed_addr constant [7 x i8] c"insert\00" -@.str4252 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4253 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4254 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4255 = private unnamed_addr constant [5 x i8] c"li_c\00" -@.str4256 = private unnamed_addr constant [5 x i8] c"li_b\00" -@.str4257 = private unnamed_addr constant [5 x i8] c"li_e\00" -@.str4258 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4233 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4234 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4235 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4236 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4237 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4238 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4239 = private unnamed_addr constant [7 x i8] c"ms_dac\00" +@.str4240 = private unnamed_addr constant [7 x i8] c"ms_dab\00" +@.str4241 = private unnamed_addr constant [7 x i8] c"ms_dae\00" +@.str4242 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4243 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4244 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4245 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4246 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4247 = private unnamed_addr constant [3 x i8] c", \00" +@.str4248 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4249 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4250 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4251 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4252 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4253 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4254 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4255 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4256 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4257 = private unnamed_addr constant [2 x i8] c" \00" +@.str4258 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4259 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4260 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4261 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4262 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str4263 = private unnamed_addr constant [3 x i8] c", \00" -@.str4264 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4265 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4266 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4260 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4261 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4262 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4263 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4264 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4265 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4266 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str4267 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4268 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4269 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4270 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4271 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4272 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4273 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4274 = private unnamed_addr constant [2 x i8] c" \00" -@.str4275 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4276 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4277 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4278 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4279 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4280 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4281 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4282 = private unnamed_addr constant [2 x i8] c" \00" -@.str4283 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4284 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4285 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4286 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4287 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4269 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" +@.str4270 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" +@.str4271 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" +@.str4272 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4273 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4274 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4275 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4276 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4277 = private unnamed_addr constant [3 x i8] c", \00" +@.str4278 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4279 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4280 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4281 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4282 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4283 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4284 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4285 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4286 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4287 = private unnamed_addr constant [2 x i8] c" \00" @.str4288 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4289 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4290 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4291 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4292 = private unnamed_addr constant [10 x i8] c"remove_at\00" -@.str4293 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4294 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4295 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4296 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4297 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4298 = private unnamed_addr constant [5 x i8] c"lr_c\00" -@.str4299 = private unnamed_addr constant [5 x i8] c"lr_b\00" -@.str4300 = private unnamed_addr constant [5 x i8] c"lr_e\00" -@.str4301 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4302 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4303 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4304 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4305 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4306 = private unnamed_addr constant [3 x i8] c", \00" -@.str4307 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4308 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4309 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4310 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4311 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4312 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4313 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4314 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4315 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4316 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4317 = private unnamed_addr constant [2 x i8] c" \00" -@.str4318 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4319 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4320 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4321 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4322 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4323 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4324 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str4325 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4326 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4327 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4328 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4329 = private unnamed_addr constant [7 x i8] c"remove\00" -@.str4330 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4331 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4332 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4333 = private unnamed_addr constant [3 x i8] c"-1\00" -@.str4334 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4335 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4336 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4337 = private unnamed_addr constant [5 x i8] c"lv_c\00" -@.str4338 = private unnamed_addr constant [5 x i8] c"lv_b\00" -@.str4339 = private unnamed_addr constant [5 x i8] c"lv_h\00" -@.str4340 = private unnamed_addr constant [5 x i8] c"lv_n\00" -@.str4341 = private unnamed_addr constant [5 x i8] c"lv_e\00" -@.str4342 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4343 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4344 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4345 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4346 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4347 = private unnamed_addr constant [3 x i8] c", \00" -@.str4348 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4349 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4350 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4351 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4352 = private unnamed_addr constant [3 x i8] c", \00" -@.str4353 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4354 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4355 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4356 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4357 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4358 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4359 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4360 = private unnamed_addr constant [9 x i8] c"icmp eq \00" -@.str4361 = private unnamed_addr constant [2 x i8] c" \00" -@.str4362 = private unnamed_addr constant [3 x i8] c", \00" -@.str4363 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4364 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4365 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4366 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4367 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4368 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4369 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4370 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4371 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4372 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4373 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4374 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4375 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4376 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4377 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4378 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4379 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4380 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4381 = private unnamed_addr constant [6 x i8] c"lv_do\00" -@.str4382 = private unnamed_addr constant [7 x i8] c"lv_end\00" -@.str4383 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4384 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4385 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4386 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4387 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4388 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4389 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4390 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4391 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4392 = private unnamed_addr constant [6 x i8] c"lv_dc\00" -@.str4393 = private unnamed_addr constant [6 x i8] c"lv_db\00" -@.str4394 = private unnamed_addr constant [6 x i8] c"lv_de\00" -@.str4395 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4396 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4397 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4290 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4291 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4292 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4293 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4294 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4295 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4296 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4297 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4298 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4299 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4300 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4301 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" +@.str4302 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" +@.str4303 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" +@.str4304 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4305 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4306 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4307 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4308 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4309 = private unnamed_addr constant [3 x i8] c", \00" +@.str4310 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4311 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4312 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4313 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4314 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4315 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4316 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4317 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4318 = private unnamed_addr constant [2 x i8] c" \00" +@.str4319 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4320 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4321 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4322 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4323 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4324 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4325 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4326 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4327 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4328 = private unnamed_addr constant [3 x i8] c", \00" +@.str4329 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4330 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4331 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4332 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4333 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4334 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4335 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4336 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4337 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" +@.str4338 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str4339 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4340 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" +@.str4341 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4342 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" +@.str4343 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4344 = private unnamed_addr constant [22 x i8] c": no function named '\00" +@.str4345 = private unnamed_addr constant [2 x i8] c"'\00" +@.str4346 = private unnamed_addr constant [4 x i8] c"len\00" +@.str4347 = private unnamed_addr constant [5 x i8] c"push\00" +@.str4348 = private unnamed_addr constant [7 x i8] c"sample\00" +@.str4349 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" +@.str4350 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" +@.str4351 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" +@.str4352 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4353 = private unnamed_addr constant [2 x i8] c")\00" +@.str4354 = private unnamed_addr constant [6 x i8] c"[]int\00" +@.str4355 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4356 = private unnamed_addr constant [15 x i8] c" needs a slice\00" +@.str4357 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str4358 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str4359 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4360 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4361 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4362 = private unnamed_addr constant [6 x i8] c"first\00" +@.str4363 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4364 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4365 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4366 = private unnamed_addr constant [5 x i8] c"last\00" +@.str4367 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4368 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4369 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4370 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4371 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4372 = private unnamed_addr constant [4 x i8] c"pop\00" +@.str4373 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4374 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4375 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4376 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4377 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4378 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4379 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4380 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4381 = private unnamed_addr constant [5 x i8] c"swap\00" +@.str4382 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4383 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4384 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4385 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4386 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4387 = private unnamed_addr constant [2 x i8] c" \00" +@.str4388 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4389 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4390 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4391 = private unnamed_addr constant [2 x i8] c" \00" +@.str4392 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4393 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4394 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4395 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4396 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str4397 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str4398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4399 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4400 = private unnamed_addr constant [3 x i8] c", \00" -@.str4401 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4402 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4403 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4404 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4405 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4406 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4407 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4408 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4409 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4410 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4411 = private unnamed_addr constant [2 x i8] c" \00" -@.str4412 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4413 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4414 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4415 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4416 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4417 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4418 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str4419 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4420 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4421 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4422 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4423 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4424 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4425 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4426 = private unnamed_addr constant [5 x i8] c"sort\00" -@.str4427 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4428 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4429 = private unnamed_addr constant [5 x i8] c", 32\00" -@.str4430 = private unnamed_addr constant [9 x i8] c"sort_ins\00" -@.str4431 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" -@.str4432 = private unnamed_addr constant [9 x i8] c"sort_end\00" -@.str4433 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4434 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4435 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4436 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4437 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4438 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4439 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4440 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4441 = private unnamed_addr constant [2 x i8] c"1\00" -@.str4442 = private unnamed_addr constant [6 x i8] c"ls_oc\00" -@.str4443 = private unnamed_addr constant [6 x i8] c"ls_ob\00" -@.str4444 = private unnamed_addr constant [6 x i8] c"ls_oe\00" -@.str4445 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4446 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4447 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4448 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4449 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4450 = private unnamed_addr constant [3 x i8] c", \00" -@.str4451 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4452 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4453 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4454 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4455 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4456 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4457 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4458 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4459 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4460 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4461 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4462 = private unnamed_addr constant [6 x i8] c"ls_ic\00" -@.str4463 = private unnamed_addr constant [6 x i8] c"ls_ib\00" -@.str4464 = private unnamed_addr constant [6 x i8] c"ls_ie\00" -@.str4465 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4466 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4467 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4468 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4469 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4470 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4471 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4472 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4473 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" -@.str4474 = private unnamed_addr constant [2 x i8] c" \00" -@.str4475 = private unnamed_addr constant [3 x i8] c", \00" -@.str4476 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4477 = private unnamed_addr constant [3 x i8] c", \00" -@.str4478 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4479 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4480 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4481 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4482 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4399 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4400 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4401 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str4402 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4403 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4404 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4405 = private unnamed_addr constant [8 x i8] c"lc_cond\00" +@.str4406 = private unnamed_addr constant [8 x i8] c"lc_body\00" +@.str4407 = private unnamed_addr constant [7 x i8] c"lc_hit\00" +@.str4408 = private unnamed_addr constant [8 x i8] c"lc_next\00" +@.str4409 = private unnamed_addr constant [7 x i8] c"lc_end\00" +@.str4410 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4411 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4412 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4413 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4414 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4415 = private unnamed_addr constant [3 x i8] c", \00" +@.str4416 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4417 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4418 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4419 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4420 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4421 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4422 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4423 = private unnamed_addr constant [9 x i8] c"icmp eq \00" +@.str4424 = private unnamed_addr constant [2 x i8] c" \00" +@.str4425 = private unnamed_addr constant [3 x i8] c", \00" +@.str4426 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4427 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4428 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4429 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4430 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4431 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4432 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4433 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4434 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4435 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4436 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4437 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4438 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4439 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4440 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4441 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4442 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str4443 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4444 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4445 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4446 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str4447 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4448 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str4449 = private unnamed_addr constant [7 x i8] c"insert\00" +@.str4450 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4451 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4452 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4453 = private unnamed_addr constant [5 x i8] c"li_c\00" +@.str4454 = private unnamed_addr constant [5 x i8] c"li_b\00" +@.str4455 = private unnamed_addr constant [5 x i8] c"li_e\00" +@.str4456 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4457 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4458 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4459 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4460 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4461 = private unnamed_addr constant [3 x i8] c", \00" +@.str4462 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4463 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4464 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4465 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4466 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4467 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4468 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4469 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4470 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4471 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4472 = private unnamed_addr constant [2 x i8] c" \00" +@.str4473 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4474 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4475 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4476 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4477 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4478 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4479 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4480 = private unnamed_addr constant [2 x i8] c" \00" +@.str4481 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4482 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4483 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4484 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4485 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4486 = private unnamed_addr constant [2 x i8] c" \00" -@.str4487 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4488 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4489 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4490 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4491 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4492 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4493 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4494 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4495 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4496 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4497 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4498 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4499 = private unnamed_addr constant [2 x i8] c" \00" -@.str4500 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4501 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4502 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4503 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4504 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4505 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4506 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4507 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4508 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4509 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4510 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4511 = private unnamed_addr constant [1 x i8] c"\00" -@.str4512 = private unnamed_addr constant [1 x i8] c"\00" -@.str4513 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4514 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4515 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4516 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4517 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4518 = private unnamed_addr constant [10 x i8] c"sort_with\00" -@.str4519 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" -@.str4520 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" -@.str4521 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4522 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4523 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4524 = private unnamed_addr constant [8 x i8] c"sort_by\00" -@.str4525 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" -@.str4526 = private unnamed_addr constant [6 x i8] c"List.\00" -@.str4527 = private unnamed_addr constant [8 x i8] c": key '\00" -@.str4528 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" -@.str4529 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str4530 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4531 = private unnamed_addr constant [6 x i8] c"List.\00" -@.str4532 = private unnamed_addr constant [8 x i8] c": key '\00" -@.str4533 = private unnamed_addr constant [23 x i8] c"' must return a number\00" -@.str4534 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" -@.str4535 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4536 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4537 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4538 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4539 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4540 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4541 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4542 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4543 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4544 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4545 = private unnamed_addr constant [8 x i8] c"lr_cond\00" -@.str4546 = private unnamed_addr constant [8 x i8] c"lr_body\00" -@.str4547 = private unnamed_addr constant [7 x i8] c"lr_end\00" -@.str4548 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4549 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4550 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4551 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4552 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str4553 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4554 = private unnamed_addr constant [3 x i8] c", \00" -@.str4555 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str4556 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4557 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str4558 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4559 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4560 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4561 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4562 = private unnamed_addr constant [6 x i8] c"load \00" -@.str4563 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4564 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4565 = private unnamed_addr constant [2 x i8] c" \00" -@.str4566 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4567 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4568 = private unnamed_addr constant [9 x i8] c" store \00" -@.str4569 = private unnamed_addr constant [2 x i8] c" \00" -@.str4570 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4571 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4572 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4573 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4574 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4575 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4576 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4577 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str4578 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str4579 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4580 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str4581 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4582 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4583 = private unnamed_addr constant [3 x i8] c"in\00" -@.str4584 = private unnamed_addr constant [4 x i8] c"out\00" -@.str4585 = private unnamed_addr constant [7 x i8] c"in_out\00" -@.str4586 = private unnamed_addr constant [5 x i8] c"back\00" -@.str4587 = private unnamed_addr constant [7 x i8] c"bounce\00" -@.str4588 = private unnamed_addr constant [8 x i8] c"elastic\00" -@.str4589 = private unnamed_addr constant [7 x i8] c"495616\00" -@.str4590 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4591 = private unnamed_addr constant [8 x i8] c", 35747\00" -@.str4592 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4593 = private unnamed_addr constant [8 x i8] c", 49152\00" -@.str4594 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4595 = private unnamed_addr constant [8 x i8] c", 53620\00" -@.str4596 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4597 = private unnamed_addr constant [8 x i8] c", 61440\00" -@.str4598 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4599 = private unnamed_addr constant [8 x i8] c", 62557\00" -@.str4600 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4601 = private unnamed_addr constant [8 x i8] c", 64512\00" -@.str4602 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4603 = private unnamed_addr constant [8 x i8] c", 59578\00" -@.str4604 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4605 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4606 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4607 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4608 = private unnamed_addr constant [8 x i8] c", 47663\00" -@.str4609 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4610 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4611 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4612 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4613 = private unnamed_addr constant [8 x i8] c", 23831\00" -@.str4614 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4615 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4616 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4617 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" -@.str4618 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4619 = private unnamed_addr constant [4 x i8] c", 3\00" -@.str4620 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4621 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str4622 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4623 = private unnamed_addr constant [3 x i8] c", \00" -@.str4624 = private unnamed_addr constant [7 x i8] c"177051\00" -@.str4625 = private unnamed_addr constant [7 x i8] c"111515\00" -@.str4626 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4627 = private unnamed_addr constant [3 x i8] c", \00" -@.str4628 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4629 = private unnamed_addr constant [5 x i8] c", 10\00" -@.str4630 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str4631 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00" -@.str4632 = private unnamed_addr constant [2 x i8] c")\00" -@.str4633 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4634 = private unnamed_addr constant [8 x i8] c", 49152\00" -@.str4635 = private unnamed_addr constant [7 x i8] c"137258\00" -@.str4636 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" -@.str4637 = private unnamed_addr constant [2 x i8] c")\00" -@.str4638 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4639 = private unnamed_addr constant [8 x i8] c", 65536\00" -@.str4640 = private unnamed_addr constant [3 x i8] c"in\00" -@.str4641 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4642 = private unnamed_addr constant [4 x i8] c"out\00" -@.str4643 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4644 = private unnamed_addr constant [7 x i8] c"in_out\00" -@.str4645 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4646 = private unnamed_addr constant [5 x i8] c"back\00" -@.str4647 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4648 = private unnamed_addr constant [8 x i8] c"elastic\00" -@.str4649 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4650 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4651 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str4652 = private unnamed_addr constant [5 x i8] c"once\00" -@.str4653 = private unnamed_addr constant [9 x i8] c"pingpong\00" -@.str4654 = private unnamed_addr constant [9 x i8] c"finished\00" -@.str4655 = private unnamed_addr constant [9 x i8] c"duration\00" -@.str4656 = private unnamed_addr constant [7 x i8] c"cell_x\00" -@.str4657 = private unnamed_addr constant [7 x i8] c"cell_y\00" -@.str4658 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4659 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4660 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4661 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4662 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str4663 = private unnamed_addr constant [3 x i8] c", \00" -@.str4664 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" -@.str4665 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str4666 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str4667 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4668 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4669 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4670 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4671 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" -@.str4672 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str4673 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str4674 = private unnamed_addr constant [3 x i8] c", \00" -@.str4675 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4676 = private unnamed_addr constant [5 x i8] c"once\00" -@.str4677 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4678 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str4679 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4680 = private unnamed_addr constant [3 x i8] c", \00" -@.str4681 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4682 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4683 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4684 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4685 = private unnamed_addr constant [9 x i8] c"pingpong\00" -@.str4686 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4687 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str4688 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4689 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str4690 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str4691 = private unnamed_addr constant [3 x i8] c", \00" -@.str4692 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4693 = private unnamed_addr constant [3 x i8] c", \00" -@.str4694 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4695 = private unnamed_addr constant [3 x i8] c", \00" -@.str4696 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4697 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4698 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4699 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4700 = private unnamed_addr constant [9 x i8] c"finished\00" -@.str4701 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4702 = private unnamed_addr constant [3 x i8] c", \00" -@.str4703 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4704 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4705 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4706 = private unnamed_addr constant [9 x i8] c"duration\00" -@.str4707 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str4708 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str4709 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str4710 = private unnamed_addr constant [3 x i8] c", \00" -@.str4711 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4712 = private unnamed_addr constant [7 x i8] c"cell_x\00" -@.str4713 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str4714 = private unnamed_addr constant [3 x i8] c", \00" -@.str4715 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4716 = private unnamed_addr constant [3 x i8] c", \00" -@.str4717 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4718 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str4719 = private unnamed_addr constant [3 x i8] c", \00" -@.str4720 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4721 = private unnamed_addr constant [3 x i8] c", \00" -@.str4722 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4723 = private unnamed_addr constant [9 x i8] c"progress\00" -@.str4724 = private unnamed_addr constant [5 x i8] c"loop\00" -@.str4725 = private unnamed_addr constant [5 x i8] c"yoyo\00" -@.str4726 = private unnamed_addr constant [5 x i8] c"done\00" -@.str4727 = private unnamed_addr constant [5 x i8] c"ease\00" -@.str4728 = private unnamed_addr constant [7 x i8] c"number\00" -@.str4729 = private unnamed_addr constant [6 x i8] c"round\00" -@.str4730 = private unnamed_addr constant [6 x i8] c"point\00" -@.str4731 = private unnamed_addr constant [5 x i8] c"tint\00" -@.str4732 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str4733 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4734 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4735 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4736 = private unnamed_addr constant [12 x i8] c", i32 65536\00" -@.str4737 = private unnamed_addr constant [9 x i8] c"progress\00" -@.str4738 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str4739 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4740 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4741 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4742 = private unnamed_addr constant [12 x i8] c", i32 65536\00" -@.str4743 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4744 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str4745 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4746 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str4747 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str4748 = private unnamed_addr constant [8 x i8] c", 65536\00" -@.str4749 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4750 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" -@.str4751 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4752 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4753 = private unnamed_addr constant [12 x i8] c", i32 65536\00" -@.str4754 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4755 = private unnamed_addr constant [5 x i8] c"loop\00" -@.str4756 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str4757 = private unnamed_addr constant [8 x i8] c", 65535\00" -@.str4758 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4759 = private unnamed_addr constant [5 x i8] c"yoyo\00" -@.str4760 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str4761 = private unnamed_addr constant [9 x i8] c", 131072\00" -@.str4762 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" -@.str4763 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" -@.str4764 = private unnamed_addr constant [8 x i8] c", 65536\00" -@.str4765 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4766 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4767 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4768 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4769 = private unnamed_addr constant [5 x i8] c"done\00" -@.str4770 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" -@.str4771 = private unnamed_addr constant [2 x i8] c")\00" -@.str4772 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4773 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4774 = private unnamed_addr constant [3 x i8] c", \00" -@.str4775 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4776 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4777 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4778 = private unnamed_addr constant [5 x i8] c"ease\00" -@.str4779 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" -@.str4780 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4781 = private unnamed_addr constant [7 x i8] c"number\00" -@.str4782 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4783 = private unnamed_addr constant [6 x i8] c"round\00" -@.str4784 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4785 = private unnamed_addr constant [3 x i8] c", \00" -@.str4786 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4787 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4788 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4789 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4790 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str4791 = private unnamed_addr constant [3 x i8] c", \00" -@.str4792 = private unnamed_addr constant [9 x i8] c"add i64 \00" -@.str4793 = private unnamed_addr constant [8 x i8] c", 32768\00" -@.str4794 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" -@.str4795 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str4796 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str4797 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4485 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4486 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4487 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4488 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4489 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4490 = private unnamed_addr constant [10 x i8] c"remove_at\00" +@.str4491 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4492 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4493 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4494 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4495 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4496 = private unnamed_addr constant [5 x i8] c"lr_c\00" +@.str4497 = private unnamed_addr constant [5 x i8] c"lr_b\00" +@.str4498 = private unnamed_addr constant [5 x i8] c"lr_e\00" +@.str4499 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4500 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4501 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4502 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4503 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4504 = private unnamed_addr constant [3 x i8] c", \00" +@.str4505 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4506 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4507 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4508 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4509 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4510 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4511 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4512 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4513 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4514 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4515 = private unnamed_addr constant [2 x i8] c" \00" +@.str4516 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4517 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4518 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4519 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4520 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4521 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4522 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4523 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4524 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4525 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4526 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4527 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str4528 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4529 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4530 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4531 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str4532 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4533 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4534 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4535 = private unnamed_addr constant [5 x i8] c"lv_c\00" +@.str4536 = private unnamed_addr constant [5 x i8] c"lv_b\00" +@.str4537 = private unnamed_addr constant [5 x i8] c"lv_h\00" +@.str4538 = private unnamed_addr constant [5 x i8] c"lv_n\00" +@.str4539 = private unnamed_addr constant [5 x i8] c"lv_e\00" +@.str4540 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4541 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4542 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4543 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4544 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4545 = private unnamed_addr constant [3 x i8] c", \00" +@.str4546 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4547 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4548 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4549 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4550 = private unnamed_addr constant [3 x i8] c", \00" +@.str4551 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4552 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4553 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4554 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4555 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4556 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4557 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4558 = private unnamed_addr constant [9 x i8] c"icmp eq \00" +@.str4559 = private unnamed_addr constant [2 x i8] c" \00" +@.str4560 = private unnamed_addr constant [3 x i8] c", \00" +@.str4561 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4562 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4563 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4564 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4565 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4566 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4567 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4568 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4569 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4570 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4571 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4572 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4573 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4574 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4575 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4576 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4577 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4578 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4579 = private unnamed_addr constant [6 x i8] c"lv_do\00" +@.str4580 = private unnamed_addr constant [7 x i8] c"lv_end\00" +@.str4581 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4582 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4583 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4584 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4585 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4586 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4587 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4588 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4589 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4590 = private unnamed_addr constant [6 x i8] c"lv_dc\00" +@.str4591 = private unnamed_addr constant [6 x i8] c"lv_db\00" +@.str4592 = private unnamed_addr constant [6 x i8] c"lv_de\00" +@.str4593 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4594 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4595 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4596 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4597 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4598 = private unnamed_addr constant [3 x i8] c", \00" +@.str4599 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4600 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4601 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4602 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4603 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4604 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4605 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4606 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4607 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4608 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4609 = private unnamed_addr constant [2 x i8] c" \00" +@.str4610 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4611 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4612 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4613 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4614 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4615 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4616 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4617 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4618 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4619 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4620 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4621 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4622 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4623 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4624 = private unnamed_addr constant [5 x i8] c"sort\00" +@.str4625 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4626 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4627 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str4628 = private unnamed_addr constant [9 x i8] c"sort_ins\00" +@.str4629 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" +@.str4630 = private unnamed_addr constant [9 x i8] c"sort_end\00" +@.str4631 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4632 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4633 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4634 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4635 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4636 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4637 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4638 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4639 = private unnamed_addr constant [2 x i8] c"1\00" +@.str4640 = private unnamed_addr constant [6 x i8] c"ls_oc\00" +@.str4641 = private unnamed_addr constant [6 x i8] c"ls_ob\00" +@.str4642 = private unnamed_addr constant [6 x i8] c"ls_oe\00" +@.str4643 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4644 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4645 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4646 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4647 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4648 = private unnamed_addr constant [3 x i8] c", \00" +@.str4649 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4650 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4651 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4652 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4653 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4654 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4655 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4656 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4657 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4658 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4659 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4660 = private unnamed_addr constant [6 x i8] c"ls_ic\00" +@.str4661 = private unnamed_addr constant [6 x i8] c"ls_ib\00" +@.str4662 = private unnamed_addr constant [6 x i8] c"ls_ie\00" +@.str4663 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4664 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4665 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4666 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4667 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4668 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4669 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4670 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4671 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" +@.str4672 = private unnamed_addr constant [2 x i8] c" \00" +@.str4673 = private unnamed_addr constant [3 x i8] c", \00" +@.str4674 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4675 = private unnamed_addr constant [3 x i8] c", \00" +@.str4676 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4677 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4678 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4679 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4680 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4681 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4682 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4683 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4684 = private unnamed_addr constant [2 x i8] c" \00" +@.str4685 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4686 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4687 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4688 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4689 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4690 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4691 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4692 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4693 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4694 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4695 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4696 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4697 = private unnamed_addr constant [2 x i8] c" \00" +@.str4698 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4699 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4700 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4701 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4702 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4703 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4704 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4705 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4706 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4707 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4708 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4709 = private unnamed_addr constant [1 x i8] c"\00" +@.str4710 = private unnamed_addr constant [1 x i8] c"\00" +@.str4711 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4712 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4713 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4714 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4715 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4716 = private unnamed_addr constant [10 x i8] c"sort_with\00" +@.str4717 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" +@.str4718 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" +@.str4719 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4720 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4721 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4722 = private unnamed_addr constant [8 x i8] c"sort_by\00" +@.str4723 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" +@.str4724 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4725 = private unnamed_addr constant [8 x i8] c": key '\00" +@.str4726 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" +@.str4727 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str4728 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4729 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4730 = private unnamed_addr constant [8 x i8] c": key '\00" +@.str4731 = private unnamed_addr constant [23 x i8] c"' must return a number\00" +@.str4732 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" +@.str4733 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4734 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4735 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4736 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4737 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4738 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4739 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4740 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4741 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4742 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4743 = private unnamed_addr constant [8 x i8] c"lr_cond\00" +@.str4744 = private unnamed_addr constant [8 x i8] c"lr_body\00" +@.str4745 = private unnamed_addr constant [7 x i8] c"lr_end\00" +@.str4746 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4747 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4748 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4749 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4750 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4751 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4752 = private unnamed_addr constant [3 x i8] c", \00" +@.str4753 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4754 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4755 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4756 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4757 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4758 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4759 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4760 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4761 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4762 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4763 = private unnamed_addr constant [2 x i8] c" \00" +@.str4764 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4765 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4766 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4767 = private unnamed_addr constant [2 x i8] c" \00" +@.str4768 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4769 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4770 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4771 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4772 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4773 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4774 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4775 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4776 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4777 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4778 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4779 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4780 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4781 = private unnamed_addr constant [3 x i8] c"in\00" +@.str4782 = private unnamed_addr constant [4 x i8] c"out\00" +@.str4783 = private unnamed_addr constant [7 x i8] c"in_out\00" +@.str4784 = private unnamed_addr constant [5 x i8] c"back\00" +@.str4785 = private unnamed_addr constant [7 x i8] c"bounce\00" +@.str4786 = private unnamed_addr constant [8 x i8] c"elastic\00" +@.str4787 = private unnamed_addr constant [7 x i8] c"495616\00" +@.str4788 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4789 = private unnamed_addr constant [8 x i8] c", 35747\00" +@.str4790 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4791 = private unnamed_addr constant [8 x i8] c", 49152\00" +@.str4792 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4793 = private unnamed_addr constant [8 x i8] c", 53620\00" +@.str4794 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4795 = private unnamed_addr constant [8 x i8] c", 61440\00" +@.str4796 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4797 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str4798 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4799 = private unnamed_addr constant [3 x i8] c", \00" -@.str4800 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4801 = private unnamed_addr constant [6 x i8] c"point\00" -@.str4802 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str4803 = private unnamed_addr constant [3 x i8] c"16\00" -@.str4804 = private unnamed_addr constant [3 x i8] c"16\00" -@.str4805 = private unnamed_addr constant [2 x i8] c"8\00" -@.str4806 = private unnamed_addr constant [2 x i8] c"8\00" -@.str4807 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4808 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4809 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4810 = private unnamed_addr constant [6 x i8] c"rects\00" -@.str4811 = private unnamed_addr constant [11 x i8] c"point_rect\00" -@.str4812 = private unnamed_addr constant [8 x i8] c"circles\00" -@.str4813 = private unnamed_addr constant [12 x i8] c"rect_circle\00" -@.str4814 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4815 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4816 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4817 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4818 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str4819 = private unnamed_addr constant [3 x i8] c", \00" -@.str4820 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4799 = private unnamed_addr constant [8 x i8] c", 64512\00" +@.str4800 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4801 = private unnamed_addr constant [8 x i8] c", 59578\00" +@.str4802 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4803 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4804 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4805 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4806 = private unnamed_addr constant [8 x i8] c", 47663\00" +@.str4807 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4808 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4809 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4810 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4811 = private unnamed_addr constant [8 x i8] c", 23831\00" +@.str4812 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4813 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4814 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4815 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" +@.str4816 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4817 = private unnamed_addr constant [4 x i8] c", 3\00" +@.str4818 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4819 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4820 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4821 = private unnamed_addr constant [3 x i8] c", \00" -@.str4822 = private unnamed_addr constant [9 x i8] c"add i64 \00" -@.str4823 = private unnamed_addr constant [3 x i8] c", \00" -@.str4824 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4822 = private unnamed_addr constant [7 x i8] c"177051\00" +@.str4823 = private unnamed_addr constant [7 x i8] c"111515\00" +@.str4824 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str4825 = private unnamed_addr constant [3 x i8] c", \00" -@.str4826 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4827 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4828 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4829 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" -@.str4830 = private unnamed_addr constant [3 x i8] c", \00" -@.str4831 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str4832 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4833 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4834 = private unnamed_addr constant [6 x i8] c"rects\00" -@.str4835 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4836 = private unnamed_addr constant [3 x i8] c", \00" -@.str4837 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4838 = private unnamed_addr constant [3 x i8] c", \00" -@.str4839 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4840 = private unnamed_addr constant [3 x i8] c", \00" -@.str4841 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4842 = private unnamed_addr constant [3 x i8] c", \00" -@.str4843 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4844 = private unnamed_addr constant [3 x i8] c", \00" -@.str4845 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4846 = private unnamed_addr constant [3 x i8] c", \00" -@.str4847 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4848 = private unnamed_addr constant [3 x i8] c", \00" -@.str4849 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4850 = private unnamed_addr constant [3 x i8] c", \00" -@.str4851 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4852 = private unnamed_addr constant [3 x i8] c", \00" -@.str4853 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4854 = private unnamed_addr constant [3 x i8] c", \00" -@.str4855 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4856 = private unnamed_addr constant [3 x i8] c", \00" -@.str4857 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4858 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4859 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4860 = private unnamed_addr constant [11 x i8] c"point_rect\00" -@.str4861 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4862 = private unnamed_addr constant [3 x i8] c", \00" -@.str4863 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4864 = private unnamed_addr constant [3 x i8] c", \00" -@.str4865 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4866 = private unnamed_addr constant [3 x i8] c", \00" -@.str4867 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str4868 = private unnamed_addr constant [3 x i8] c", \00" -@.str4869 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str4870 = private unnamed_addr constant [3 x i8] c", \00" -@.str4871 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4826 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4827 = private unnamed_addr constant [5 x i8] c", 10\00" +@.str4828 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str4829 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00" +@.str4830 = private unnamed_addr constant [2 x i8] c")\00" +@.str4831 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4832 = private unnamed_addr constant [8 x i8] c", 49152\00" +@.str4833 = private unnamed_addr constant [7 x i8] c"137258\00" +@.str4834 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00" +@.str4835 = private unnamed_addr constant [2 x i8] c")\00" +@.str4836 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4837 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str4838 = private unnamed_addr constant [3 x i8] c"in\00" +@.str4839 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4840 = private unnamed_addr constant [4 x i8] c"out\00" +@.str4841 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4842 = private unnamed_addr constant [7 x i8] c"in_out\00" +@.str4843 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4844 = private unnamed_addr constant [5 x i8] c"back\00" +@.str4845 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4846 = private unnamed_addr constant [8 x i8] c"elastic\00" +@.str4847 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4848 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4849 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str4850 = private unnamed_addr constant [5 x i8] c"once\00" +@.str4851 = private unnamed_addr constant [9 x i8] c"pingpong\00" +@.str4852 = private unnamed_addr constant [9 x i8] c"finished\00" +@.str4853 = private unnamed_addr constant [9 x i8] c"duration\00" +@.str4854 = private unnamed_addr constant [7 x i8] c"cell_x\00" +@.str4855 = private unnamed_addr constant [7 x i8] c"cell_y\00" +@.str4856 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str4857 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4858 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str4859 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4860 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4861 = private unnamed_addr constant [3 x i8] c", \00" +@.str4862 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str4863 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str4864 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str4865 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4866 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4867 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4868 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4869 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str4870 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str4871 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str4872 = private unnamed_addr constant [3 x i8] c", \00" -@.str4873 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4874 = private unnamed_addr constant [3 x i8] c", \00" -@.str4875 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str4876 = private unnamed_addr constant [3 x i8] c", \00" -@.str4877 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4873 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4874 = private unnamed_addr constant [5 x i8] c"once\00" +@.str4875 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4876 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4877 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str4878 = private unnamed_addr constant [3 x i8] c", \00" -@.str4879 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4880 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4881 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4882 = private unnamed_addr constant [8 x i8] c"circles\00" -@.str4883 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4884 = private unnamed_addr constant [3 x i8] c", \00" -@.str4885 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4886 = private unnamed_addr constant [3 x i8] c", \00" -@.str4887 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4888 = private unnamed_addr constant [3 x i8] c", \00" -@.str4889 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4890 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4891 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str4892 = private unnamed_addr constant [3 x i8] c", \00" -@.str4893 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" -@.str4894 = private unnamed_addr constant [3 x i8] c", \00" -@.str4895 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4896 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4897 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4898 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4899 = private unnamed_addr constant [3 x i8] c", \00" -@.str4900 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str4901 = private unnamed_addr constant [3 x i8] c", \00" -@.str4902 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4903 = private unnamed_addr constant [3 x i8] c", \00" -@.str4904 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4905 = private unnamed_addr constant [3 x i8] c", \00" -@.str4906 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str4907 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4908 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str4909 = private unnamed_addr constant [3 x i8] c", \00" -@.str4910 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" -@.str4911 = private unnamed_addr constant [3 x i8] c", \00" -@.str4912 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str4913 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4914 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str4915 = private unnamed_addr constant [6 x i8] c"bytes\00" -@.str4916 = private unnamed_addr constant [6 x i8] c"words\00" -@.str4917 = private unnamed_addr constant [5 x i8] c"copy\00" -@.str4918 = private unnamed_addr constant [5 x i8] c"fill\00" -@.str4919 = private unnamed_addr constant [5 x i8] c"peek\00" -@.str4920 = private unnamed_addr constant [5 x i8] c"poke\00" -@.str4921 = private unnamed_addr constant [6 x i8] c"bytes\00" -@.str4922 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str4923 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4924 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str4925 = private unnamed_addr constant [2 x i8] c")\00" -@.str4926 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str4927 = private unnamed_addr constant [6 x i8] c"words\00" -@.str4928 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4929 = private unnamed_addr constant [4 x i8] c", 4\00" -@.str4930 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str4931 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4932 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str4933 = private unnamed_addr constant [2 x i8] c")\00" -@.str4934 = private unnamed_addr constant [6 x i8] c"words\00" -@.str4935 = private unnamed_addr constant [5 x i8] c"copy\00" -@.str4936 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str4937 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4938 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str4939 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4940 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str4941 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str4942 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4943 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4944 = private unnamed_addr constant [5 x i8] c"fill\00" -@.str4945 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str4946 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str4947 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" -@.str4948 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4949 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str4950 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str4951 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4952 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4953 = private unnamed_addr constant [5 x i8] c"peek\00" -@.str4954 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" -@.str4955 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4956 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str4957 = private unnamed_addr constant [9 x i8] c"zext i8 \00" -@.str4958 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4959 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4960 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" -@.str4961 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str4962 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" -@.str4963 = private unnamed_addr constant [7 x i8] c" to i8\00" -@.str4964 = private unnamed_addr constant [12 x i8] c" store i8 \00" -@.str4965 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str4966 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str4967 = private unnamed_addr constant [2 x i8] c"0\00" -@.str4968 = private unnamed_addr constant [5 x i8] c"void\00" -@.str4969 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str4970 = private unnamed_addr constant [6 x i8] c"delta\00" -@.str4971 = private unnamed_addr constant [8 x i8] c"elapsed\00" -@.str4972 = private unnamed_addr constant [4 x i8] c"now\00" -@.str4973 = private unnamed_addr constant [6 x i8] c"since\00" -@.str4974 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str4975 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" -@.str4976 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4977 = private unnamed_addr constant [6 x i8] c"delta\00" -@.str4978 = private unnamed_addr constant [5 x i8] c"1092\00" -@.str4979 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4980 = private unnamed_addr constant [8 x i8] c"elapsed\00" -@.str4981 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" -@.str4982 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str4983 = private unnamed_addr constant [7 x i8] c", 1092\00" -@.str4984 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str4985 = private unnamed_addr constant [6 x i8] c"since\00" -@.str4986 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" -@.str4987 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str4988 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4989 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str4990 = private unnamed_addr constant [3 x i8] c", \00" -@.str4991 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4992 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" -@.str4993 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str4994 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str4995 = private unnamed_addr constant [4 x i8] c"int\00" -@.str4996 = private unnamed_addr constant [8 x i8] c"seconds\00" -@.str4997 = private unnamed_addr constant [8 x i8] c"minutes\00" -@.str4998 = private unnamed_addr constant [6 x i8] c"hours\00" -@.str4999 = private unnamed_addr constant [5 x i8] c"days\00" -@.str5000 = private unnamed_addr constant [11 x i8] c"as_seconds\00" -@.str5001 = private unnamed_addr constant [11 x i8] c"as_minutes\00" -@.str5002 = private unnamed_addr constant [9 x i8] c"as_hours\00" -@.str5003 = private unnamed_addr constant [8 x i8] c"as_days\00" -@.str5004 = private unnamed_addr constant [8 x i8] c"seconds\00" -@.str5005 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5006 = private unnamed_addr constant [8 x i8] c"minutes\00" -@.str5007 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5008 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5009 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5010 = private unnamed_addr constant [6 x i8] c"hours\00" -@.str5011 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5012 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5013 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5014 = private unnamed_addr constant [5 x i8] c"days\00" -@.str5015 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5016 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5017 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5018 = private unnamed_addr constant [11 x i8] c"as_seconds\00" -@.str5019 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5020 = private unnamed_addr constant [11 x i8] c"as_minutes\00" -@.str5021 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5022 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5023 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5024 = private unnamed_addr constant [9 x i8] c"as_hours\00" -@.str5025 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5026 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5027 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5028 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5029 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5030 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5031 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5032 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5033 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5034 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00" -@.str5035 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5036 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5037 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5038 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str5039 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5040 = private unnamed_addr constant [4 x i8] c"new\00" -@.str5041 = private unnamed_addr constant [5 x i8] c"year\00" -@.str5042 = private unnamed_addr constant [6 x i8] c"month\00" -@.str5043 = private unnamed_addr constant [4 x i8] c"day\00" -@.str5044 = private unnamed_addr constant [8 x i8] c"weekday\00" -@.str5045 = private unnamed_addr constant [8 x i8] c"is_leap\00" -@.str5046 = private unnamed_addr constant [14 x i8] c"days_in_month\00" -@.str5047 = private unnamed_addr constant [9 x i8] c"to_epoch\00" -@.str5048 = private unnamed_addr constant [9 x i8] c"add_days\00" -@.str5049 = private unnamed_addr constant [10 x i8] c"diff_days\00" -@.str5050 = private unnamed_addr constant [4 x i8] c"new\00" -@.str5051 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" -@.str5052 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5053 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5054 = private unnamed_addr constant [2 x i8] c")\00" -@.str5055 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5056 = private unnamed_addr constant [5 x i8] c"year\00" -@.str5057 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5058 = private unnamed_addr constant [6 x i8] c"month\00" -@.str5059 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5060 = private unnamed_addr constant [4 x i8] c"day\00" -@.str5061 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5062 = private unnamed_addr constant [8 x i8] c"weekday\00" -@.str5063 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5064 = private unnamed_addr constant [4 x i8] c", 4\00" -@.str5065 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5066 = private unnamed_addr constant [4 x i8] c", 7\00" -@.str5067 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5068 = private unnamed_addr constant [4 x i8] c", 7\00" -@.str5069 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5070 = private unnamed_addr constant [4 x i8] c", 7\00" -@.str5071 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5072 = private unnamed_addr constant [8 x i8] c"is_leap\00" -@.str5073 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5074 = private unnamed_addr constant [4 x i8] c", 4\00" -@.str5075 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str5076 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5077 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5078 = private unnamed_addr constant [6 x i8] c", 100\00" -@.str5079 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str5080 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5081 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5082 = private unnamed_addr constant [6 x i8] c", 400\00" -@.str5083 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str5084 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5085 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4879 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4880 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4881 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4882 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4883 = private unnamed_addr constant [9 x i8] c"pingpong\00" +@.str4884 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4885 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4886 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4887 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4888 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str4889 = private unnamed_addr constant [3 x i8] c", \00" +@.str4890 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4891 = private unnamed_addr constant [3 x i8] c", \00" +@.str4892 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4893 = private unnamed_addr constant [3 x i8] c", \00" +@.str4894 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4895 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4896 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4897 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4898 = private unnamed_addr constant [9 x i8] c"finished\00" +@.str4899 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4900 = private unnamed_addr constant [3 x i8] c", \00" +@.str4901 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str4902 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4903 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str4904 = private unnamed_addr constant [9 x i8] c"duration\00" +@.str4905 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str4906 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str4907 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str4908 = private unnamed_addr constant [3 x i8] c", \00" +@.str4909 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4910 = private unnamed_addr constant [7 x i8] c"cell_x\00" +@.str4911 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str4912 = private unnamed_addr constant [3 x i8] c", \00" +@.str4913 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4914 = private unnamed_addr constant [3 x i8] c", \00" +@.str4915 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4916 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str4917 = private unnamed_addr constant [3 x i8] c", \00" +@.str4918 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4919 = private unnamed_addr constant [3 x i8] c", \00" +@.str4920 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4921 = private unnamed_addr constant [9 x i8] c"progress\00" +@.str4922 = private unnamed_addr constant [5 x i8] c"loop\00" +@.str4923 = private unnamed_addr constant [5 x i8] c"yoyo\00" +@.str4924 = private unnamed_addr constant [5 x i8] c"done\00" +@.str4925 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str4926 = private unnamed_addr constant [7 x i8] c"number\00" +@.str4927 = private unnamed_addr constant [6 x i8] c"round\00" +@.str4928 = private unnamed_addr constant [6 x i8] c"point\00" +@.str4929 = private unnamed_addr constant [5 x i8] c"tint\00" +@.str4930 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4931 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4932 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4933 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4934 = private unnamed_addr constant [12 x i8] c", i32 65536\00" +@.str4935 = private unnamed_addr constant [9 x i8] c"progress\00" +@.str4936 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4937 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4938 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4939 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4940 = private unnamed_addr constant [12 x i8] c", i32 65536\00" +@.str4941 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4942 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4943 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4944 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str4945 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4946 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str4947 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4948 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" +@.str4949 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4950 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4951 = private unnamed_addr constant [12 x i8] c", i32 65536\00" +@.str4952 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4953 = private unnamed_addr constant [5 x i8] c"loop\00" +@.str4954 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str4955 = private unnamed_addr constant [8 x i8] c", 65535\00" +@.str4956 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4957 = private unnamed_addr constant [5 x i8] c"yoyo\00" +@.str4958 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str4959 = private unnamed_addr constant [9 x i8] c", 131072\00" +@.str4960 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" +@.str4961 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str4962 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str4963 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4964 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4965 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4966 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4967 = private unnamed_addr constant [5 x i8] c"done\00" +@.str4968 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" +@.str4969 = private unnamed_addr constant [2 x i8] c")\00" +@.str4970 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str4971 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4972 = private unnamed_addr constant [3 x i8] c", \00" +@.str4973 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str4974 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4975 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str4976 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str4977 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" +@.str4978 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4979 = private unnamed_addr constant [7 x i8] c"number\00" +@.str4980 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str4981 = private unnamed_addr constant [6 x i8] c"round\00" +@.str4982 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4983 = private unnamed_addr constant [3 x i8] c", \00" +@.str4984 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str4985 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4986 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str4987 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4988 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4989 = private unnamed_addr constant [3 x i8] c", \00" +@.str4990 = private unnamed_addr constant [9 x i8] c"add i64 \00" +@.str4991 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str4992 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str4993 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str4994 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str4995 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4996 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4997 = private unnamed_addr constant [3 x i8] c", \00" +@.str4998 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4999 = private unnamed_addr constant [6 x i8] c"point\00" +@.str5000 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str5001 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5002 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5003 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5004 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5005 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5006 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5007 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5008 = private unnamed_addr constant [6 x i8] c"rects\00" +@.str5009 = private unnamed_addr constant [11 x i8] c"point_rect\00" +@.str5010 = private unnamed_addr constant [8 x i8] c"circles\00" +@.str5011 = private unnamed_addr constant [12 x i8] c"rect_circle\00" +@.str5012 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5013 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5014 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5015 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5016 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5017 = private unnamed_addr constant [3 x i8] c", \00" +@.str5018 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5019 = private unnamed_addr constant [3 x i8] c", \00" +@.str5020 = private unnamed_addr constant [9 x i8] c"add i64 \00" +@.str5021 = private unnamed_addr constant [3 x i8] c", \00" +@.str5022 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5023 = private unnamed_addr constant [3 x i8] c", \00" +@.str5024 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5025 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5026 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5027 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str5028 = private unnamed_addr constant [3 x i8] c", \00" +@.str5029 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5030 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5031 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5032 = private unnamed_addr constant [6 x i8] c"rects\00" +@.str5033 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5034 = private unnamed_addr constant [3 x i8] c", \00" +@.str5035 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5036 = private unnamed_addr constant [3 x i8] c", \00" +@.str5037 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5038 = private unnamed_addr constant [3 x i8] c", \00" +@.str5039 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5040 = private unnamed_addr constant [3 x i8] c", \00" +@.str5041 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5042 = private unnamed_addr constant [3 x i8] c", \00" +@.str5043 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5044 = private unnamed_addr constant [3 x i8] c", \00" +@.str5045 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5046 = private unnamed_addr constant [3 x i8] c", \00" +@.str5047 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5048 = private unnamed_addr constant [3 x i8] c", \00" +@.str5049 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5050 = private unnamed_addr constant [3 x i8] c", \00" +@.str5051 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5052 = private unnamed_addr constant [3 x i8] c", \00" +@.str5053 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5054 = private unnamed_addr constant [3 x i8] c", \00" +@.str5055 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5056 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5057 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5058 = private unnamed_addr constant [11 x i8] c"point_rect\00" +@.str5059 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5060 = private unnamed_addr constant [3 x i8] c", \00" +@.str5061 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5062 = private unnamed_addr constant [3 x i8] c", \00" +@.str5063 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5064 = private unnamed_addr constant [3 x i8] c", \00" +@.str5065 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5066 = private unnamed_addr constant [3 x i8] c", \00" +@.str5067 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5068 = private unnamed_addr constant [3 x i8] c", \00" +@.str5069 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5070 = private unnamed_addr constant [3 x i8] c", \00" +@.str5071 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5072 = private unnamed_addr constant [3 x i8] c", \00" +@.str5073 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5074 = private unnamed_addr constant [3 x i8] c", \00" +@.str5075 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5076 = private unnamed_addr constant [3 x i8] c", \00" +@.str5077 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5078 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5079 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5080 = private unnamed_addr constant [8 x i8] c"circles\00" +@.str5081 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5082 = private unnamed_addr constant [3 x i8] c", \00" +@.str5083 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5084 = private unnamed_addr constant [3 x i8] c", \00" +@.str5085 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5086 = private unnamed_addr constant [3 x i8] c", \00" -@.str5087 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str5088 = private unnamed_addr constant [3 x i8] c", \00" -@.str5089 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str5090 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str5091 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str5092 = private unnamed_addr constant [14 x i8] c"days_in_month\00" -@.str5093 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" -@.str5094 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5095 = private unnamed_addr constant [9 x i8] c", i32 1)\00" -@.str5096 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str5097 = private unnamed_addr constant [5 x i8] c", 12\00" +@.str5087 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5088 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5089 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5090 = private unnamed_addr constant [3 x i8] c", \00" +@.str5091 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" +@.str5092 = private unnamed_addr constant [3 x i8] c", \00" +@.str5093 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5094 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5095 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5096 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5097 = private unnamed_addr constant [3 x i8] c", \00" @.str5098 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5099 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str5100 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str5101 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5102 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5103 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5104 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str5105 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str5106 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" -@.str5107 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" -@.str5108 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5109 = private unnamed_addr constant [9 x i8] c", i32 1)\00" -@.str5110 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str5111 = private unnamed_addr constant [3 x i8] c", \00" -@.str5112 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5113 = private unnamed_addr constant [9 x i8] c"to_epoch\00" -@.str5114 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5115 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5116 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5117 = private unnamed_addr constant [9 x i8] c"add_days\00" -@.str5118 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5119 = private unnamed_addr constant [3 x i8] c", \00" -@.str5120 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5121 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str5122 = private unnamed_addr constant [3 x i8] c", \00" -@.str5123 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5124 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5125 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5126 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5127 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5128 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5129 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5130 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str5131 = private unnamed_addr constant [3 x i8] c", \00" -@.str5132 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5133 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5134 = private unnamed_addr constant [5 x i8] c"from\00" -@.str5135 = private unnamed_addr constant [5 x i8] c"date\00" -@.str5136 = private unnamed_addr constant [4 x i8] c"add\00" -@.str5137 = private unnamed_addr constant [5 x i8] c"year\00" -@.str5138 = private unnamed_addr constant [6 x i8] c"month\00" -@.str5139 = private unnamed_addr constant [4 x i8] c"day\00" -@.str5140 = private unnamed_addr constant [8 x i8] c"weekday\00" -@.str5141 = private unnamed_addr constant [5 x i8] c"hour\00" -@.str5142 = private unnamed_addr constant [7 x i8] c"minute\00" -@.str5143 = private unnamed_addr constant [7 x i8] c"second\00" -@.str5144 = private unnamed_addr constant [7 x i8] c"format\00" -@.str5145 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str5146 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" -@.str5147 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5148 = private unnamed_addr constant [2 x i8] c")\00" -@.str5149 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" -@.str5150 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5151 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5152 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5153 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00" -@.str5154 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5155 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5156 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5157 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str5158 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5159 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5160 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5161 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5162 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5163 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5164 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5165 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5166 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5167 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5168 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5169 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5170 = private unnamed_addr constant [6 x i8] c", 100\00" -@.str5171 = private unnamed_addr constant [1 x i8] c"\00" -@.str5172 = private unnamed_addr constant [5 x i8] c"YYYY\00" -@.str5173 = private unnamed_addr constant [3 x i8] c"YY\00" -@.str5174 = private unnamed_addr constant [3 x i8] c"MM\00" -@.str5175 = private unnamed_addr constant [3 x i8] c"DD\00" -@.str5176 = private unnamed_addr constant [3 x i8] c"HH\00" -@.str5177 = private unnamed_addr constant [3 x i8] c"mm\00" -@.str5178 = private unnamed_addr constant [3 x i8] c"ss\00" -@.str5179 = private unnamed_addr constant [26 x i8] c"call ptr @fn_dt_pad0(i32 \00" -@.str5180 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5181 = private unnamed_addr constant [2 x i8] c")\00" -@.str5182 = private unnamed_addr constant [7 x i8] c"string\00" -@.str5183 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" -@.str5184 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5185 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5186 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5187 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5188 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5189 = private unnamed_addr constant [5 x i8] c"1970\00" -@.str5190 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5191 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5192 = private unnamed_addr constant [2 x i8] c"1\00" -@.str5193 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5194 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5195 = private unnamed_addr constant [2 x i8] c"1\00" -@.str5196 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5197 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5198 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5199 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5200 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5201 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5202 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5203 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5204 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5205 = private unnamed_addr constant [5 x i8] c"YYYY\00" -@.str5206 = private unnamed_addr constant [3 x i8] c"MM\00" -@.str5207 = private unnamed_addr constant [3 x i8] c"DD\00" -@.str5208 = private unnamed_addr constant [3 x i8] c"HH\00" -@.str5209 = private unnamed_addr constant [3 x i8] c"mm\00" -@.str5210 = private unnamed_addr constant [3 x i8] c"ss\00" -@.str5211 = private unnamed_addr constant [24 x i8] c"call i32 @fn_dt_rd(ptr \00" -@.str5212 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5213 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5214 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5215 = private unnamed_addr constant [2 x i8] c")\00" -@.str5216 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5217 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5218 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5219 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5220 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5221 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5222 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5223 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" -@.str5224 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5225 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5226 = private unnamed_addr constant [2 x i8] c")\00" -@.str5227 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5228 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5229 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5230 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5231 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5232 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5233 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5234 = private unnamed_addr constant [3 x i8] c", \00" -@.str5235 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5236 = private unnamed_addr constant [3 x i8] c", \00" -@.str5237 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5238 = private unnamed_addr constant [3 x i8] c", \00" -@.str5239 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5240 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str5241 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5242 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str5243 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" -@.str5244 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5245 = private unnamed_addr constant [7 x i8] c"format\00" -@.str5246 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str5247 = private unnamed_addr constant [5 x i8] c"from\00" -@.str5248 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" -@.str5249 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5099 = private unnamed_addr constant [3 x i8] c", \00" +@.str5100 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5101 = private unnamed_addr constant [3 x i8] c", \00" +@.str5102 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5103 = private unnamed_addr constant [3 x i8] c", \00" +@.str5104 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5105 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5106 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5107 = private unnamed_addr constant [3 x i8] c", \00" +@.str5108 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" +@.str5109 = private unnamed_addr constant [3 x i8] c", \00" +@.str5110 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5111 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5112 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5113 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str5114 = private unnamed_addr constant [6 x i8] c"words\00" +@.str5115 = private unnamed_addr constant [5 x i8] c"copy\00" +@.str5116 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str5117 = private unnamed_addr constant [5 x i8] c"peek\00" +@.str5118 = private unnamed_addr constant [5 x i8] c"poke\00" +@.str5119 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str5120 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5121 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5122 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str5123 = private unnamed_addr constant [2 x i8] c")\00" +@.str5124 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str5125 = private unnamed_addr constant [6 x i8] c"words\00" +@.str5126 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5127 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5128 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5129 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5130 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str5131 = private unnamed_addr constant [2 x i8] c")\00" +@.str5132 = private unnamed_addr constant [6 x i8] c"words\00" +@.str5133 = private unnamed_addr constant [5 x i8] c"copy\00" +@.str5134 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5135 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5136 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str5137 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5138 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str5139 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5140 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5141 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5142 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str5143 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5144 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5145 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" +@.str5146 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5147 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str5148 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5149 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5150 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5151 = private unnamed_addr constant [5 x i8] c"peek\00" +@.str5152 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str5153 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5154 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str5155 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str5156 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5157 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5158 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str5159 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5160 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str5161 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str5162 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str5163 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5164 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5165 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5166 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5167 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str5168 = private unnamed_addr constant [6 x i8] c"delta\00" +@.str5169 = private unnamed_addr constant [8 x i8] c"elapsed\00" +@.str5170 = private unnamed_addr constant [4 x i8] c"now\00" +@.str5171 = private unnamed_addr constant [6 x i8] c"since\00" +@.str5172 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str5173 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str5174 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5175 = private unnamed_addr constant [6 x i8] c"delta\00" +@.str5176 = private unnamed_addr constant [5 x i8] c"1092\00" +@.str5177 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5178 = private unnamed_addr constant [8 x i8] c"elapsed\00" +@.str5179 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str5180 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5181 = private unnamed_addr constant [7 x i8] c", 1092\00" +@.str5182 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5183 = private unnamed_addr constant [6 x i8] c"since\00" +@.str5184 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" +@.str5185 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str5186 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5187 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5188 = private unnamed_addr constant [3 x i8] c", \00" +@.str5189 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5190 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" +@.str5191 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str5192 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5193 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5194 = private unnamed_addr constant [8 x i8] c"seconds\00" +@.str5195 = private unnamed_addr constant [8 x i8] c"minutes\00" +@.str5196 = private unnamed_addr constant [6 x i8] c"hours\00" +@.str5197 = private unnamed_addr constant [5 x i8] c"days\00" +@.str5198 = private unnamed_addr constant [11 x i8] c"as_seconds\00" +@.str5199 = private unnamed_addr constant [11 x i8] c"as_minutes\00" +@.str5200 = private unnamed_addr constant [9 x i8] c"as_hours\00" +@.str5201 = private unnamed_addr constant [8 x i8] c"as_days\00" +@.str5202 = private unnamed_addr constant [8 x i8] c"seconds\00" +@.str5203 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5204 = private unnamed_addr constant [8 x i8] c"minutes\00" +@.str5205 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5206 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5207 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5208 = private unnamed_addr constant [6 x i8] c"hours\00" +@.str5209 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5210 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5211 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5212 = private unnamed_addr constant [5 x i8] c"days\00" +@.str5213 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5214 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5215 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5216 = private unnamed_addr constant [11 x i8] c"as_seconds\00" +@.str5217 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5218 = private unnamed_addr constant [11 x i8] c"as_minutes\00" +@.str5219 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5220 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5221 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5222 = private unnamed_addr constant [9 x i8] c"as_hours\00" +@.str5223 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5224 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5225 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5226 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5227 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5228 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5229 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5230 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5231 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5232 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00" +@.str5233 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5234 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5235 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5236 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5237 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5238 = private unnamed_addr constant [4 x i8] c"new\00" +@.str5239 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5240 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5241 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5242 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5243 = private unnamed_addr constant [8 x i8] c"is_leap\00" +@.str5244 = private unnamed_addr constant [14 x i8] c"days_in_month\00" +@.str5245 = private unnamed_addr constant [9 x i8] c"to_epoch\00" +@.str5246 = private unnamed_addr constant [9 x i8] c"add_days\00" +@.str5247 = private unnamed_addr constant [10 x i8] c"diff_days\00" +@.str5248 = private unnamed_addr constant [4 x i8] c"new\00" +@.str5249 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" @.str5250 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5251 = private unnamed_addr constant [2 x i8] c")\00" -@.str5252 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5253 = private unnamed_addr constant [8 x i8] c", 86400\00" -@.str5254 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5255 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5256 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5257 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5258 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5259 = private unnamed_addr constant [3 x i8] c", \00" -@.str5260 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5261 = private unnamed_addr constant [3 x i8] c", \00" -@.str5262 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5263 = private unnamed_addr constant [3 x i8] c", \00" -@.str5264 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5265 = private unnamed_addr constant [5 x i8] c"date\00" -@.str5266 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5267 = private unnamed_addr constant [4 x i8] c"add\00" -@.str5268 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5269 = private unnamed_addr constant [3 x i8] c", \00" -@.str5270 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5271 = private unnamed_addr constant [5 x i8] c"year\00" -@.str5272 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5273 = private unnamed_addr constant [6 x i8] c"month\00" -@.str5274 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5275 = private unnamed_addr constant [4 x i8] c"day\00" -@.str5276 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5277 = private unnamed_addr constant [8 x i8] c"weekday\00" -@.str5278 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5279 = private unnamed_addr constant [4 x i8] c", 4\00" -@.str5280 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5281 = private unnamed_addr constant [4 x i8] c", 7\00" -@.str5282 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5283 = private unnamed_addr constant [4 x i8] c", 7\00" -@.str5284 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5285 = private unnamed_addr constant [4 x i8] c", 7\00" -@.str5286 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5287 = private unnamed_addr constant [5 x i8] c"hour\00" -@.str5288 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5289 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5290 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5291 = private unnamed_addr constant [7 x i8] c"minute\00" -@.str5292 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5293 = private unnamed_addr constant [7 x i8] c", 3600\00" -@.str5294 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" -@.str5295 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5296 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5297 = private unnamed_addr constant [10 x i8] c"srem i32 \00" -@.str5298 = private unnamed_addr constant [5 x i8] c", 60\00" -@.str5299 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5300 = private unnamed_addr constant [59 x i8] c"define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" -@.str5301 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" -@.str5302 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" -@.str5303 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" -@.str5304 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" -@.str5305 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" -@.str5306 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" -@.str5307 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" -@.str5308 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" -@.str5309 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" -@.str5310 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" -@.str5311 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" -@.str5312 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" -@.str5313 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" -@.str5314 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" -@.str5315 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" -@.str5316 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" -@.str5317 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" -@.str5318 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" -@.str5319 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" -@.str5320 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" -@.str5321 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" -@.str5322 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" -@.str5323 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" -@.str5324 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" -@.str5325 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" -@.str5326 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" -@.str5327 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" -@.str5328 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str5329 = private unnamed_addr constant [71 x i8] c"define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" -@.str5330 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" -@.str5331 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" -@.str5332 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" -@.str5333 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" -@.str5334 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" -@.str5335 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" -@.str5336 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" -@.str5337 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" -@.str5338 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" -@.str5339 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" -@.str5340 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" -@.str5341 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" -@.str5342 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" -@.str5343 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" -@.str5344 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" -@.str5345 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" -@.str5346 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" -@.str5347 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" -@.str5348 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" -@.str5349 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" -@.str5350 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" -@.str5351 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" -@.str5352 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" -@.str5353 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" -@.str5354 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" -@.str5355 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" -@.str5356 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" -@.str5357 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" -@.str5358 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" -@.str5359 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" -@.str5360 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" -@.str5361 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" -@.str5362 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" -@.str5363 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" -@.str5364 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" -@.str5365 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" -@.str5366 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" -@.str5367 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" -@.str5368 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" -@.str5369 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" -@.str5370 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str5371 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str5372 = private unnamed_addr constant [42 x i8] c"define ptr @fn_dt_pad0(i32 %v, i32 %w) {\0A\00" -@.str5373 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" -@.str5374 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" -@.str5375 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" -@.str5376 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" -@.str5377 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" -@.str5378 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" -@.str5379 = private unnamed_addr constant [74 x i8] c" %km1 = sub i32 %w, 1\0A store i32 %km1, ptr %kp\0A store i32 %v, ptr %vp\0A\00" -@.str5380 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str5381 = private unnamed_addr constant [99 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp sge i32 %k, 0\0A br i1 %kok, label %body, label %done\0A\00" -@.str5382 = private unnamed_addr constant [109 x i8] c"body:\0A %vv = load i32, ptr %vp\0A %d = srem i32 %vv, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" -@.str5383 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" -@.str5384 = private unnamed_addr constant [115 x i8] c" %vn = sdiv i32 %vv, 10\0A store i32 %vn, ptr %vp\0A %kn = sub i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00" -@.str5385 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" -@.str5386 = private unnamed_addr constant [62 x i8] c"define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" -@.str5387 = private unnamed_addr constant [89 x i8] c" %accp = alloca i32\0A store i32 0, ptr %accp\0A %kp = alloca i32\0A store i32 0, ptr %kp\0A\00" -@.str5388 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str5389 = private unnamed_addr constant [100 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp slt i32 %k, %w\0A br i1 %kok, label %body, label %done\0A\00" -@.str5390 = private unnamed_addr constant [127 x i8] c"body:\0A %idx = add i32 %off, %k\0A %cp = getelementptr i8, ptr %s, i32 %idx\0A %c8 = load i8, ptr %cp\0A %c = sext i8 %c8 to i32\0A\00" -@.str5391 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" -@.str5392 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" -@.str5393 = private unnamed_addr constant [129 x i8] c"digit:\0A %lt = icmp slt i32 %c, 48\0A %gt = icmp sgt i32 %c, 57\0A %isbad = or i1 %lt, %gt\0A br i1 %isbad, label %fail, label %ok\0A\00" -@.str5394 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" -@.str5395 = private unnamed_addr constant [159 x i8] c"ok:\0A %acc0 = load i32, ptr %accp\0A %m10 = mul i32 %acc0, 10\0A %dg = sub i32 %c, 48\0A %acc1 = add i32 %m10, %dg\0A store i32 %acc1, ptr %accp\0A br label %next\0A\00" -@.str5396 = private unnamed_addr constant [71 x i8] c"next:\0A %kn = add i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00" -@.str5397 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" -@.str5398 = private unnamed_addr constant [4 x i8] c"now\00" -@.str5399 = private unnamed_addr constant [4 x i8] c"set\00" -@.str5400 = private unnamed_addr constant [8 x i8] c"advance\00" -@.str5401 = private unnamed_addr constant [6 x i8] c"reset\00" -@.str5402 = private unnamed_addr constant [4 x i8] c"now\00" -@.str5403 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" -@.str5404 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5405 = private unnamed_addr constant [6 x i8] c"reset\00" -@.str5406 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" -@.str5407 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5408 = private unnamed_addr constant [5 x i8] c"void\00" -@.str5409 = private unnamed_addr constant [4 x i8] c"set\00" -@.str5410 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5411 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" -@.str5412 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5413 = private unnamed_addr constant [5 x i8] c"void\00" -@.str5414 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" -@.str5415 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5416 = private unnamed_addr constant [3 x i8] c", \00" -@.str5417 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5418 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" -@.str5419 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5420 = private unnamed_addr constant [5 x i8] c"void\00" -@.str5421 = private unnamed_addr constant [4 x i8] c"rgb\00" -@.str5422 = private unnamed_addr constant [5 x i8] c"rgba\00" -@.str5423 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str5424 = private unnamed_addr constant [7 x i8] c"darken\00" -@.str5425 = private unnamed_addr constant [8 x i8] c"lighten\00" -@.str5426 = private unnamed_addr constant [11 x i8] c"with_alpha\00" -@.str5427 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" -@.str5428 = private unnamed_addr constant [3 x i8] c", \00" -@.str5429 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str5430 = private unnamed_addr constant [6 x i8] c", 255\00" -@.str5431 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str5432 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5433 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str5434 = private unnamed_addr constant [4 x i8] c", 8\00" -@.str5435 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str5251 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5252 = private unnamed_addr constant [2 x i8] c")\00" +@.str5253 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5254 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5255 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5256 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5257 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5258 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5259 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5260 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5261 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5262 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5263 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5264 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5265 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5266 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5267 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5268 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5269 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5270 = private unnamed_addr constant [8 x i8] c"is_leap\00" +@.str5271 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5272 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5273 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str5274 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5275 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5276 = private unnamed_addr constant [6 x i8] c", 100\00" +@.str5277 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str5278 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5279 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5280 = private unnamed_addr constant [6 x i8] c", 400\00" +@.str5281 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str5282 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5283 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5284 = private unnamed_addr constant [3 x i8] c", \00" +@.str5285 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str5286 = private unnamed_addr constant [3 x i8] c", \00" +@.str5287 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5288 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5289 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5290 = private unnamed_addr constant [14 x i8] c"days_in_month\00" +@.str5291 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" +@.str5292 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5293 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str5294 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str5295 = private unnamed_addr constant [5 x i8] c", 12\00" +@.str5296 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5297 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5298 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5299 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5300 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5301 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5302 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5303 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5304 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str5305 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" +@.str5306 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5307 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str5308 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5309 = private unnamed_addr constant [3 x i8] c", \00" +@.str5310 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5311 = private unnamed_addr constant [9 x i8] c"to_epoch\00" +@.str5312 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5313 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5314 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5315 = private unnamed_addr constant [9 x i8] c"add_days\00" +@.str5316 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5317 = private unnamed_addr constant [3 x i8] c", \00" +@.str5318 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5319 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5320 = private unnamed_addr constant [3 x i8] c", \00" +@.str5321 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5322 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5323 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5324 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5325 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5326 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5327 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5328 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5329 = private unnamed_addr constant [3 x i8] c", \00" +@.str5330 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5331 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5332 = private unnamed_addr constant [5 x i8] c"from\00" +@.str5333 = private unnamed_addr constant [5 x i8] c"date\00" +@.str5334 = private unnamed_addr constant [4 x i8] c"add\00" +@.str5335 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5336 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5337 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5338 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5339 = private unnamed_addr constant [5 x i8] c"hour\00" +@.str5340 = private unnamed_addr constant [7 x i8] c"minute\00" +@.str5341 = private unnamed_addr constant [7 x i8] c"second\00" +@.str5342 = private unnamed_addr constant [7 x i8] c"format\00" +@.str5343 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str5344 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" +@.str5345 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5346 = private unnamed_addr constant [2 x i8] c")\00" +@.str5347 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" +@.str5348 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5349 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5350 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5351 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00" +@.str5352 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5353 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5354 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5355 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5356 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5357 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5358 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5359 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5360 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5361 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5362 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5363 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5364 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5365 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5366 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5367 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5368 = private unnamed_addr constant [6 x i8] c", 100\00" +@.str5369 = private unnamed_addr constant [1 x i8] c"\00" +@.str5370 = private unnamed_addr constant [5 x i8] c"YYYY\00" +@.str5371 = private unnamed_addr constant [3 x i8] c"YY\00" +@.str5372 = private unnamed_addr constant [3 x i8] c"MM\00" +@.str5373 = private unnamed_addr constant [3 x i8] c"DD\00" +@.str5374 = private unnamed_addr constant [3 x i8] c"HH\00" +@.str5375 = private unnamed_addr constant [3 x i8] c"mm\00" +@.str5376 = private unnamed_addr constant [3 x i8] c"ss\00" +@.str5377 = private unnamed_addr constant [26 x i8] c"call ptr @fn_dt_pad0(i32 \00" +@.str5378 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5379 = private unnamed_addr constant [2 x i8] c")\00" +@.str5380 = private unnamed_addr constant [7 x i8] c"string\00" +@.str5381 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" +@.str5382 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5383 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5384 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5385 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5386 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5387 = private unnamed_addr constant [5 x i8] c"1970\00" +@.str5388 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5389 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5390 = private unnamed_addr constant [2 x i8] c"1\00" +@.str5391 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5392 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5393 = private unnamed_addr constant [2 x i8] c"1\00" +@.str5394 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5395 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5396 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5397 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5398 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5399 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5400 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5401 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5402 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5403 = private unnamed_addr constant [5 x i8] c"YYYY\00" +@.str5404 = private unnamed_addr constant [3 x i8] c"MM\00" +@.str5405 = private unnamed_addr constant [3 x i8] c"DD\00" +@.str5406 = private unnamed_addr constant [3 x i8] c"HH\00" +@.str5407 = private unnamed_addr constant [3 x i8] c"mm\00" +@.str5408 = private unnamed_addr constant [3 x i8] c"ss\00" +@.str5409 = private unnamed_addr constant [24 x i8] c"call i32 @fn_dt_rd(ptr \00" +@.str5410 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5411 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5412 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5413 = private unnamed_addr constant [2 x i8] c")\00" +@.str5414 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5415 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5416 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5417 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5418 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5419 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5420 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5421 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" +@.str5422 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5423 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5424 = private unnamed_addr constant [2 x i8] c")\00" +@.str5425 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5426 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5427 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5428 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5429 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5430 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5431 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5432 = private unnamed_addr constant [3 x i8] c", \00" +@.str5433 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5434 = private unnamed_addr constant [3 x i8] c", \00" +@.str5435 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5436 = private unnamed_addr constant [3 x i8] c", \00" -@.str5437 = private unnamed_addr constant [8 x i8] c"or i32 \00" -@.str5438 = private unnamed_addr constant [3 x i8] c", \00" -@.str5439 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str5440 = private unnamed_addr constant [3 x i8] c", \00" -@.str5441 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5442 = private unnamed_addr constant [3 x i8] c", \00" -@.str5443 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5444 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5445 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5446 = private unnamed_addr constant [3 x i8] c", \00" -@.str5447 = private unnamed_addr constant [4 x i8] c"rgb\00" -@.str5448 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5449 = private unnamed_addr constant [5 x i8] c"rgba\00" -@.str5450 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str5451 = private unnamed_addr constant [5 x i8] c", 24\00" -@.str5452 = private unnamed_addr constant [8 x i8] c"or i32 \00" -@.str5453 = private unnamed_addr constant [3 x i8] c", \00" -@.str5454 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5455 = private unnamed_addr constant [11 x i8] c"with_alpha\00" -@.str5456 = private unnamed_addr constant [9 x i8] c"and i32 \00" -@.str5457 = private unnamed_addr constant [11 x i8] c", 16777215\00" -@.str5458 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str5459 = private unnamed_addr constant [5 x i8] c", 24\00" -@.str5460 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str5437 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5438 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str5439 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5440 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5441 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" +@.str5442 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5443 = private unnamed_addr constant [7 x i8] c"format\00" +@.str5444 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str5445 = private unnamed_addr constant [5 x i8] c"from\00" +@.str5446 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00" +@.str5447 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5448 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5449 = private unnamed_addr constant [2 x i8] c")\00" +@.str5450 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5451 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5452 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5453 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5454 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5455 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5456 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5457 = private unnamed_addr constant [3 x i8] c", \00" +@.str5458 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5459 = private unnamed_addr constant [3 x i8] c", \00" +@.str5460 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5461 = private unnamed_addr constant [3 x i8] c", \00" @.str5462 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5463 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str5464 = private unnamed_addr constant [3 x i8] c"16\00" -@.str5465 = private unnamed_addr constant [3 x i8] c"16\00" -@.str5466 = private unnamed_addr constant [2 x i8] c"8\00" -@.str5467 = private unnamed_addr constant [2 x i8] c"8\00" -@.str5468 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5469 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5463 = private unnamed_addr constant [5 x i8] c"date\00" +@.str5464 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5465 = private unnamed_addr constant [4 x i8] c"add\00" +@.str5466 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5467 = private unnamed_addr constant [3 x i8] c", \00" +@.str5468 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5469 = private unnamed_addr constant [5 x i8] c"year\00" @.str5470 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5471 = private unnamed_addr constant [7 x i8] c"darken\00" -@.str5472 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" -@.str5473 = private unnamed_addr constant [3 x i8] c"16\00" -@.str5474 = private unnamed_addr constant [2 x i8] c"8\00" -@.str5475 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5476 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5477 = private unnamed_addr constant [3 x i8] c", \00" -@.str5478 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5479 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5480 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5481 = private unnamed_addr constant [3 x i8] c", \00" -@.str5482 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5483 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5484 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5485 = private unnamed_addr constant [3 x i8] c", \00" -@.str5486 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5487 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5471 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5472 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5473 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5474 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5475 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5476 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5477 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5478 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5479 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5480 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5481 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5482 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5483 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5484 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5485 = private unnamed_addr constant [5 x i8] c"hour\00" +@.str5486 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5487 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str5488 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5489 = private unnamed_addr constant [3 x i8] c"16\00" -@.str5490 = private unnamed_addr constant [2 x i8] c"8\00" -@.str5491 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5492 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" -@.str5493 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5494 = private unnamed_addr constant [3 x i8] c", \00" -@.str5495 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5496 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5497 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5498 = private unnamed_addr constant [3 x i8] c", \00" -@.str5499 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" -@.str5500 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5501 = private unnamed_addr constant [3 x i8] c", \00" -@.str5502 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5503 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5504 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5505 = private unnamed_addr constant [3 x i8] c", \00" -@.str5506 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" -@.str5507 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5508 = private unnamed_addr constant [3 x i8] c", \00" -@.str5509 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str5510 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5511 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5512 = private unnamed_addr constant [3 x i8] c", \00" -@.str5513 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5514 = private unnamed_addr constant [6 x i8] c"White\00" -@.str5515 = private unnamed_addr constant [5 x i8] c"Snow\00" -@.str5516 = private unnamed_addr constant [6 x i8] c"Ivory\00" -@.str5517 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" -@.str5518 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" -@.str5519 = private unnamed_addr constant [9 x i8] c"SeaShell\00" -@.str5520 = private unnamed_addr constant [6 x i8] c"Linen\00" -@.str5521 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" -@.str5522 = private unnamed_addr constant [8 x i8] c"OldLace\00" -@.str5523 = private unnamed_addr constant [6 x i8] c"Beige\00" -@.str5524 = private unnamed_addr constant [6 x i8] c"Cream\00" -@.str5525 = private unnamed_addr constant [9 x i8] c"Honeydew\00" -@.str5526 = private unnamed_addr constant [10 x i8] c"MintCream\00" -@.str5527 = private unnamed_addr constant [6 x i8] c"Azure\00" -@.str5528 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" -@.str5529 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" -@.str5530 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" -@.str5531 = private unnamed_addr constant [9 x i8] c"Lavender\00" -@.str5532 = private unnamed_addr constant [5 x i8] c"Bone\00" -@.str5533 = private unnamed_addr constant [10 x i8] c"Parchment\00" -@.str5534 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" -@.str5535 = private unnamed_addr constant [10 x i8] c"LightGray\00" -@.str5536 = private unnamed_addr constant [7 x i8] c"Silver\00" -@.str5537 = private unnamed_addr constant [4 x i8] c"Ash\00" -@.str5538 = private unnamed_addr constant [9 x i8] c"DarkGray\00" -@.str5539 = private unnamed_addr constant [5 x i8] c"Gray\00" -@.str5540 = private unnamed_addr constant [8 x i8] c"DimGray\00" -@.str5541 = private unnamed_addr constant [7 x i8] c"Nickel\00" -@.str5542 = private unnamed_addr constant [6 x i8] c"Slate\00" -@.str5543 = private unnamed_addr constant [10 x i8] c"SlateGray\00" -@.str5544 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" -@.str5545 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" -@.str5546 = private unnamed_addr constant [9 x i8] c"Charcoal\00" -@.str5547 = private unnamed_addr constant [9 x i8] c"Graphite\00" -@.str5548 = private unnamed_addr constant [5 x i8] c"Onyx\00" -@.str5549 = private unnamed_addr constant [4 x i8] c"Jet\00" -@.str5550 = private unnamed_addr constant [6 x i8] c"Black\00" -@.str5551 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" -@.str5552 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" -@.str5553 = private unnamed_addr constant [6 x i8] c"Ebony\00" -@.str5554 = private unnamed_addr constant [4 x i8] c"Red\00" -@.str5555 = private unnamed_addr constant [8 x i8] c"Crimson\00" -@.str5556 = private unnamed_addr constant [8 x i8] c"Scarlet\00" -@.str5557 = private unnamed_addr constant [10 x i8] c"Vermilion\00" -@.str5558 = private unnamed_addr constant [10 x i8] c"FireBrick\00" -@.str5559 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" -@.str5560 = private unnamed_addr constant [8 x i8] c"DarkRed\00" -@.str5561 = private unnamed_addr constant [7 x i8] c"Maroon\00" -@.str5562 = private unnamed_addr constant [5 x i8] c"Ruby\00" -@.str5563 = private unnamed_addr constant [9 x i8] c"Cardinal\00" -@.str5564 = private unnamed_addr constant [10 x i8] c"IndianRed\00" -@.str5565 = private unnamed_addr constant [5 x i8] c"Rust\00" -@.str5566 = private unnamed_addr constant [8 x i8] c"Sangria\00" -@.str5567 = private unnamed_addr constant [8 x i8] c"Redwood\00" -@.str5568 = private unnamed_addr constant [7 x i8] c"Cerise\00" -@.str5569 = private unnamed_addr constant [9 x i8] c"Amaranth\00" -@.str5570 = private unnamed_addr constant [8 x i8] c"Carmine\00" -@.str5571 = private unnamed_addr constant [9 x i8] c"Chestnut\00" -@.str5572 = private unnamed_addr constant [6 x i8] c"Brick\00" -@.str5573 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" -@.str5574 = private unnamed_addr constant [5 x i8] c"Pink\00" -@.str5575 = private unnamed_addr constant [10 x i8] c"LightPink\00" -@.str5576 = private unnamed_addr constant [8 x i8] c"HotPink\00" -@.str5577 = private unnamed_addr constant [9 x i8] c"DeepPink\00" -@.str5578 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" -@.str5579 = private unnamed_addr constant [5 x i8] c"Rose\00" -@.str5580 = private unnamed_addr constant [6 x i8] c"Blush\00" -@.str5581 = private unnamed_addr constant [7 x i8] c"Salmon\00" -@.str5582 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" -@.str5583 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" -@.str5584 = private unnamed_addr constant [6 x i8] c"Coral\00" -@.str5585 = private unnamed_addr constant [11 x i8] c"Watermelon\00" -@.str5586 = private unnamed_addr constant [9 x i8] c"Flamingo\00" -@.str5587 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" -@.str5588 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" -@.str5589 = private unnamed_addr constant [8 x i8] c"Magenta\00" -@.str5590 = private unnamed_addr constant [6 x i8] c"Mauve\00" -@.str5591 = private unnamed_addr constant [5 x i8] c"Puce\00" -@.str5592 = private unnamed_addr constant [8 x i8] c"Thistle\00" -@.str5593 = private unnamed_addr constant [7 x i8] c"Orchid\00" -@.str5594 = private unnamed_addr constant [7 x i8] c"Orange\00" -@.str5595 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" -@.str5596 = private unnamed_addr constant [10 x i8] c"Tangerine\00" -@.str5597 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" -@.str5598 = private unnamed_addr constant [8 x i8] c"Apricot\00" -@.str5599 = private unnamed_addr constant [6 x i8] c"Peach\00" -@.str5600 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" -@.str5601 = private unnamed_addr constant [6 x i8] c"Amber\00" -@.str5602 = private unnamed_addr constant [7 x i8] c"Bronze\00" -@.str5603 = private unnamed_addr constant [7 x i8] c"Copper\00" -@.str5604 = private unnamed_addr constant [9 x i8] c"Marigold\00" -@.str5605 = private unnamed_addr constant [7 x i8] c"Carrot\00" -@.str5606 = private unnamed_addr constant [10 x i8] c"Persimmon\00" -@.str5607 = private unnamed_addr constant [7 x i8] c"Papaya\00" -@.str5608 = private unnamed_addr constant [7 x i8] c"Sunset\00" -@.str5609 = private unnamed_addr constant [7 x i8] c"Yellow\00" -@.str5610 = private unnamed_addr constant [12 x i8] c"LightYellow\00" -@.str5611 = private unnamed_addr constant [5 x i8] c"Gold\00" -@.str5612 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" -@.str5613 = private unnamed_addr constant [6 x i8] c"Lemon\00" -@.str5614 = private unnamed_addr constant [7 x i8] c"Canary\00" -@.str5615 = private unnamed_addr constant [8 x i8] c"Mustard\00" -@.str5616 = private unnamed_addr constant [5 x i8] c"Flax\00" -@.str5617 = private unnamed_addr constant [6 x i8] c"Wheat\00" -@.str5618 = private unnamed_addr constant [5 x i8] c"Corn\00" -@.str5619 = private unnamed_addr constant [10 x i8] c"Dandelion\00" -@.str5620 = private unnamed_addr constant [8 x i8] c"Saffron\00" -@.str5621 = private unnamed_addr constant [6 x i8] c"Khaki\00" -@.str5622 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" -@.str5623 = private unnamed_addr constant [6 x i8] c"Straw\00" -@.str5624 = private unnamed_addr constant [6 x i8] c"Brown\00" -@.str5625 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" -@.str5626 = private unnamed_addr constant [7 x i8] c"Sienna\00" -@.str5627 = private unnamed_addr constant [10 x i8] c"Chocolate\00" -@.str5628 = private unnamed_addr constant [5 x i8] c"Peru\00" -@.str5629 = private unnamed_addr constant [4 x i8] c"Tan\00" -@.str5630 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" -@.str5631 = private unnamed_addr constant [5 x i8] c"Sand\00" -@.str5632 = private unnamed_addr constant [7 x i8] c"Coffee\00" -@.str5633 = private unnamed_addr constant [9 x i8] c"Espresso\00" -@.str5634 = private unnamed_addr constant [9 x i8] c"Mahogany\00" -@.str5635 = private unnamed_addr constant [7 x i8] c"Walnut\00" -@.str5636 = private unnamed_addr constant [6 x i8] c"Umber\00" -@.str5637 = private unnamed_addr constant [6 x i8] c"Sepia\00" -@.str5638 = private unnamed_addr constant [6 x i8] c"Taupe\00" -@.str5639 = private unnamed_addr constant [5 x i8] c"Fawn\00" -@.str5640 = private unnamed_addr constant [8 x i8] c"Caramel\00" -@.str5641 = private unnamed_addr constant [6 x i8] c"Cocoa\00" -@.str5642 = private unnamed_addr constant [6 x i8] c"Hazel\00" -@.str5643 = private unnamed_addr constant [6 x i8] c"Wenge\00" -@.str5644 = private unnamed_addr constant [6 x i8] c"Green\00" -@.str5645 = private unnamed_addr constant [5 x i8] c"Lime\00" -@.str5646 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" -@.str5647 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" -@.str5648 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" -@.str5649 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" -@.str5650 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" -@.str5651 = private unnamed_addr constant [10 x i8] c"MintGreen\00" -@.str5652 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" -@.str5653 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" -@.str5654 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" -@.str5655 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" -@.str5656 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" -@.str5657 = private unnamed_addr constant [6 x i8] c"Olive\00" -@.str5658 = private unnamed_addr constant [5 x i8] c"Moss\00" -@.str5659 = private unnamed_addr constant [5 x i8] c"Fern\00" -@.str5660 = private unnamed_addr constant [8 x i8] c"Emerald\00" -@.str5661 = private unnamed_addr constant [5 x i8] c"Jade\00" -@.str5662 = private unnamed_addr constant [10 x i8] c"Malachite\00" -@.str5663 = private unnamed_addr constant [9 x i8] c"Shamrock\00" -@.str5664 = private unnamed_addr constant [10 x i8] c"Pistachio\00" -@.str5665 = private unnamed_addr constant [8 x i8] c"Avocado\00" -@.str5666 = private unnamed_addr constant [5 x i8] c"Pine\00" -@.str5667 = private unnamed_addr constant [5 x i8] c"Sage\00" -@.str5668 = private unnamed_addr constant [6 x i8] c"Kelly\00" -@.str5669 = private unnamed_addr constant [7 x i8] c"Hunter\00" -@.str5670 = private unnamed_addr constant [6 x i8] c"Basil\00" -@.str5671 = private unnamed_addr constant [7 x i8] c"Clover\00" -@.str5672 = private unnamed_addr constant [8 x i8] c"Juniper\00" -@.str5673 = private unnamed_addr constant [5 x i8] c"Neon\00" -@.str5674 = private unnamed_addr constant [5 x i8] c"Cyan\00" -@.str5675 = private unnamed_addr constant [5 x i8] c"Aqua\00" -@.str5676 = private unnamed_addr constant [10 x i8] c"LightCyan\00" -@.str5677 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" -@.str5678 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" -@.str5679 = private unnamed_addr constant [10 x i8] c"Turquoise\00" -@.str5680 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" -@.str5681 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" -@.str5682 = private unnamed_addr constant [5 x i8] c"Teal\00" -@.str5683 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" -@.str5684 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" -@.str5685 = private unnamed_addr constant [7 x i8] c"Lagoon\00" -@.str5686 = private unnamed_addr constant [8 x i8] c"Seafoam\00" -@.str5687 = private unnamed_addr constant [9 x i8] c"Cerulean\00" -@.str5688 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" -@.str5689 = private unnamed_addr constant [6 x i8] c"Robin\00" -@.str5690 = private unnamed_addr constant [10 x i8] c"Verdigris\00" -@.str5691 = private unnamed_addr constant [8 x i8] c"Celadon\00" -@.str5692 = private unnamed_addr constant [5 x i8] c"Blue\00" -@.str5693 = private unnamed_addr constant [10 x i8] c"LightBlue\00" -@.str5694 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" -@.str5695 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" -@.str5696 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" -@.str5697 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" -@.str5698 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" -@.str5699 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" -@.str5700 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" -@.str5701 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" -@.str5702 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" -@.str5703 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" -@.str5704 = private unnamed_addr constant [5 x i8] c"Navy\00" -@.str5705 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" -@.str5706 = private unnamed_addr constant [7 x i8] c"Cobalt\00" -@.str5707 = private unnamed_addr constant [9 x i8] c"Sapphire\00" -@.str5708 = private unnamed_addr constant [6 x i8] c"Denim\00" -@.str5709 = private unnamed_addr constant [7 x i8] c"Indigo\00" -@.str5710 = private unnamed_addr constant [9 x i8] c"Prussian\00" -@.str5711 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" -@.str5712 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" -@.str5713 = private unnamed_addr constant [5 x i8] c"Iris\00" -@.str5714 = private unnamed_addr constant [9 x i8] c"Glaucous\00" -@.str5715 = private unnamed_addr constant [7 x i8] c"Zaffre\00" -@.str5716 = private unnamed_addr constant [6 x i8] c"Berry\00" -@.str5717 = private unnamed_addr constant [7 x i8] c"Purple\00" -@.str5718 = private unnamed_addr constant [7 x i8] c"Violet\00" -@.str5719 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" -@.str5720 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" -@.str5721 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" -@.str5722 = private unnamed_addr constant [9 x i8] c"Amethyst\00" -@.str5723 = private unnamed_addr constant [5 x i8] c"Plum\00" -@.str5724 = private unnamed_addr constant [9 x i8] c"Eggplant\00" -@.str5725 = private unnamed_addr constant [6 x i8] c"Grape\00" -@.str5726 = private unnamed_addr constant [5 x i8] c"Wine\00" -@.str5727 = private unnamed_addr constant [9 x i8] c"Mulberry\00" -@.str5728 = private unnamed_addr constant [6 x i8] c"Lilac\00" -@.str5729 = private unnamed_addr constant [9 x i8] c"Wisteria\00" -@.str5730 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" -@.str5731 = private unnamed_addr constant [10 x i8] c"Byzantium\00" -@.str5732 = private unnamed_addr constant [7 x i8] c"Tyrian\00" -@.str5733 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" -@.str5734 = private unnamed_addr constant [8 x i8] c"Orchid2\00" -@.str5735 = private unnamed_addr constant [15 x i8] c"getelementptr \00" -@.str5736 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" -@.str5737 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" -@.str5738 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str5739 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" -@.str5740 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str5741 = private unnamed_addr constant [2 x i8] c")\00" -@.str5742 = private unnamed_addr constant [3 x i8] c" \00" -@.str5743 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str5744 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5745 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str5746 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5747 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5748 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5749 = private unnamed_addr constant [5 x i8] c"null\00" -@.str5750 = private unnamed_addr constant [9 x i8] c" store \00" -@.str5751 = private unnamed_addr constant [2 x i8] c" \00" -@.str5752 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5753 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5754 = private unnamed_addr constant [8 x i8] c"%LSlice\00" -@.str5755 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str5756 = private unnamed_addr constant [2 x i8] c")\00" -@.str5757 = private unnamed_addr constant [3 x i8] c" \00" -@.str5758 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str5759 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" -@.str5760 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" -@.str5761 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5762 = private unnamed_addr constant [3 x i8] c" \00" -@.str5763 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str5764 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" -@.str5765 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str5766 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5767 = private unnamed_addr constant [3 x i8] c" \00" -@.str5768 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str5769 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" -@.str5770 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str5771 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5772 = private unnamed_addr constant [3 x i8] c" \00" -@.str5773 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" -@.str5774 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str5775 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5776 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5777 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5778 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" -@.str5779 = private unnamed_addr constant [2 x i8] c")\00" -@.str5780 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str5781 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str5782 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5783 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5784 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5785 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" -@.str5786 = private unnamed_addr constant [3 x i8] c", \00" -@.str5787 = private unnamed_addr constant [5 x i8] c"grow\00" -@.str5788 = private unnamed_addr constant [4 x i8] c"put\00" -@.str5789 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str5790 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5791 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5792 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5793 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5794 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str5795 = private unnamed_addr constant [4 x i8] c", 2\00" -@.str5796 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str5797 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5798 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str5799 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" -@.str5800 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str5801 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str5802 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str5803 = private unnamed_addr constant [3 x i8] c", \00" -@.str5804 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str5805 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" -@.str5806 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str5807 = private unnamed_addr constant [2 x i8] c")\00" -@.str5808 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str5809 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5810 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5811 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5812 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5813 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5814 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str5815 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5816 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5817 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str5818 = private unnamed_addr constant [3 x i8] c" \00" -@.str5819 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" -@.str5820 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5821 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str5822 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5823 = private unnamed_addr constant [9 x i8] c" store \00" -@.str5824 = private unnamed_addr constant [2 x i8] c" \00" -@.str5825 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5826 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5827 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str5828 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str5829 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5830 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5831 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5832 = private unnamed_addr constant [2 x i8] c"0\00" -@.str5833 = private unnamed_addr constant [5 x i8] c"void\00" -@.str5834 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5835 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5836 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5837 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5838 = private unnamed_addr constant [7 x i8] c"result\00" -@.str5839 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" -@.str5840 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" -@.str5841 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5842 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str5843 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5844 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str5845 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str5846 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5847 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str5848 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5849 = private unnamed_addr constant [6 x i8] c"tryok\00" -@.str5850 = private unnamed_addr constant [8 x i8] c"tryelse\00" -@.str5851 = private unnamed_addr constant [7 x i8] c"tryend\00" -@.str5852 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str5853 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5854 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5855 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5856 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5857 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str5858 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str5859 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5860 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5861 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5862 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5863 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str5864 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5865 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5866 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str5867 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" -@.str5868 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str5869 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5870 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str5871 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5872 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5873 = private unnamed_addr constant [6 x i8] c"error\00" -@.str5874 = private unnamed_addr constant [7 x i8] c"string\00" -@.str5875 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str5876 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5877 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5878 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5879 = private unnamed_addr constant [4 x i8] c"int\00" -@.str5880 = private unnamed_addr constant [6 x i8] c"load \00" -@.str5881 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5882 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5883 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str5884 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5885 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str5886 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str5887 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5888 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5889 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5890 = private unnamed_addr constant [3 x i8] c"sc\00" -@.str5891 = private unnamed_addr constant [6 x i8] c"scend\00" -@.str5892 = private unnamed_addr constant [4 x i8] c"and\00" -@.str5893 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str5894 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5895 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5896 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5897 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str5898 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5899 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str5900 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5901 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5902 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str5903 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5904 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str5905 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str5906 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str5907 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5908 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5909 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str5910 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str5911 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str5912 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str5913 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str5914 = private unnamed_addr constant [2 x i8] c"<\00" -@.str5915 = private unnamed_addr constant [4 x i8] c"slt\00" -@.str5916 = private unnamed_addr constant [3 x i8] c"<=\00" -@.str5917 = private unnamed_addr constant [4 x i8] c"sle\00" -@.str5918 = private unnamed_addr constant [2 x i8] c">\00" -@.str5919 = private unnamed_addr constant [4 x i8] c"sgt\00" -@.str5920 = private unnamed_addr constant [3 x i8] c">=\00" -@.str5921 = private unnamed_addr constant [4 x i8] c"sge\00" -@.str5922 = private unnamed_addr constant [3 x i8] c"==\00" -@.str5923 = private unnamed_addr constant [3 x i8] c"eq\00" -@.str5924 = private unnamed_addr constant [3 x i8] c"ne\00" -@.str5925 = private unnamed_addr constant [2 x i8] c"<\00" -@.str5926 = private unnamed_addr constant [3 x i8] c"<=\00" -@.str5927 = private unnamed_addr constant [2 x i8] c">\00" -@.str5928 = private unnamed_addr constant [3 x i8] c">=\00" -@.str5929 = private unnamed_addr constant [3 x i8] c"==\00" -@.str5930 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str5931 = private unnamed_addr constant [2 x i8] c"+\00" -@.str5932 = private unnamed_addr constant [4 x i8] c"add\00" -@.str5933 = private unnamed_addr constant [2 x i8] c"-\00" -@.str5934 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str5935 = private unnamed_addr constant [2 x i8] c"*\00" -@.str5936 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str5937 = private unnamed_addr constant [2 x i8] c"/\00" -@.str5938 = private unnamed_addr constant [5 x i8] c"sdiv\00" -@.str5939 = private unnamed_addr constant [2 x i8] c"&\00" -@.str5940 = private unnamed_addr constant [4 x i8] c"and\00" -@.str5941 = private unnamed_addr constant [2 x i8] c"|\00" -@.str5942 = private unnamed_addr constant [3 x i8] c"or\00" -@.str5943 = private unnamed_addr constant [2 x i8] c"^\00" -@.str5944 = private unnamed_addr constant [4 x i8] c"xor\00" -@.str5945 = private unnamed_addr constant [3 x i8] c"<<\00" -@.str5946 = private unnamed_addr constant [4 x i8] c"shl\00" -@.str5947 = private unnamed_addr constant [3 x i8] c">>\00" -@.str5948 = private unnamed_addr constant [5 x i8] c"lshr\00" -@.str5949 = private unnamed_addr constant [5 x i8] c"srem\00" -@.str5950 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str5951 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str5952 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str5953 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str5954 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5955 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str5956 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str5957 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5958 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str5959 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str5960 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str5961 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str5962 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str5963 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str5964 = private unnamed_addr constant [2 x i8] c"+\00" -@.str5965 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" -@.str5966 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5967 = private unnamed_addr constant [2 x i8] c")\00" -@.str5968 = private unnamed_addr constant [7 x i8] c"string\00" -@.str5969 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00" -@.str5970 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str5971 = private unnamed_addr constant [2 x i8] c")\00" -@.str5972 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str5973 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str5974 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str5975 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str5976 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str5977 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str5978 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str5979 = private unnamed_addr constant [4 x i8] c"and\00" -@.str5980 = private unnamed_addr constant [3 x i8] c"or\00" -@.str5981 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5982 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5983 = private unnamed_addr constant [2 x i8] c"+\00" -@.str5984 = private unnamed_addr constant [2 x i8] c"+\00" -@.str5985 = private unnamed_addr constant [3 x i8] c"==\00" -@.str5986 = private unnamed_addr constant [3 x i8] c"!=\00" -@.str5987 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str5988 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str5989 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str5990 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str5991 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str5992 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str5993 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5994 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5995 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str5996 = private unnamed_addr constant [6 x i8] c"icmp \00" -@.str5997 = private unnamed_addr constant [2 x i8] c" \00" -@.str5998 = private unnamed_addr constant [2 x i8] c" \00" -@.str5999 = private unnamed_addr constant [3 x i8] c", \00" -@.str6000 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5489 = private unnamed_addr constant [7 x i8] c"minute\00" +@.str5490 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5491 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5492 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5493 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5494 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5495 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5496 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5497 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5498 = private unnamed_addr constant [59 x i8] c"define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" +@.str5499 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" +@.str5500 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" +@.str5501 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" +@.str5502 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" +@.str5503 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" +@.str5504 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" +@.str5505 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" +@.str5506 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" +@.str5507 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" +@.str5508 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" +@.str5509 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" +@.str5510 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" +@.str5511 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" +@.str5512 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" +@.str5513 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" +@.str5514 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" +@.str5515 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" +@.str5516 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" +@.str5517 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" +@.str5518 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" +@.str5519 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" +@.str5520 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" +@.str5521 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" +@.str5522 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" +@.str5523 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" +@.str5524 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" +@.str5525 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" +@.str5526 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str5527 = private unnamed_addr constant [71 x i8] c"define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" +@.str5528 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" +@.str5529 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" +@.str5530 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" +@.str5531 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" +@.str5532 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" +@.str5533 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" +@.str5534 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" +@.str5535 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" +@.str5536 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" +@.str5537 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" +@.str5538 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" +@.str5539 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" +@.str5540 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" +@.str5541 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" +@.str5542 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" +@.str5543 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" +@.str5544 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" +@.str5545 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" +@.str5546 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" +@.str5547 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" +@.str5548 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" +@.str5549 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" +@.str5550 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" +@.str5551 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" +@.str5552 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" +@.str5553 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" +@.str5554 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" +@.str5555 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" +@.str5556 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" +@.str5557 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" +@.str5558 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" +@.str5559 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" +@.str5560 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" +@.str5561 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" +@.str5562 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" +@.str5563 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" +@.str5564 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" +@.str5565 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" +@.str5566 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" +@.str5567 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" +@.str5568 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str5569 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str5570 = private unnamed_addr constant [42 x i8] c"define ptr @fn_dt_pad0(i32 %v, i32 %w) {\0A\00" +@.str5571 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" +@.str5572 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" +@.str5573 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" +@.str5574 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" +@.str5575 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" +@.str5576 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" +@.str5577 = private unnamed_addr constant [74 x i8] c" %km1 = sub i32 %w, 1\0A store i32 %km1, ptr %kp\0A store i32 %v, ptr %vp\0A\00" +@.str5578 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str5579 = private unnamed_addr constant [99 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp sge i32 %k, 0\0A br i1 %kok, label %body, label %done\0A\00" +@.str5580 = private unnamed_addr constant [109 x i8] c"body:\0A %vv = load i32, ptr %vp\0A %d = srem i32 %vv, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" +@.str5581 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" +@.str5582 = private unnamed_addr constant [115 x i8] c" %vn = sdiv i32 %vv, 10\0A store i32 %vn, ptr %vp\0A %kn = sub i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00" +@.str5583 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" +@.str5584 = private unnamed_addr constant [62 x i8] c"define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" +@.str5585 = private unnamed_addr constant [89 x i8] c" %accp = alloca i32\0A store i32 0, ptr %accp\0A %kp = alloca i32\0A store i32 0, ptr %kp\0A\00" +@.str5586 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str5587 = private unnamed_addr constant [100 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp slt i32 %k, %w\0A br i1 %kok, label %body, label %done\0A\00" +@.str5588 = private unnamed_addr constant [127 x i8] c"body:\0A %idx = add i32 %off, %k\0A %cp = getelementptr i8, ptr %s, i32 %idx\0A %c8 = load i8, ptr %cp\0A %c = sext i8 %c8 to i32\0A\00" +@.str5589 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" +@.str5590 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" +@.str5591 = private unnamed_addr constant [129 x i8] c"digit:\0A %lt = icmp slt i32 %c, 48\0A %gt = icmp sgt i32 %c, 57\0A %isbad = or i1 %lt, %gt\0A br i1 %isbad, label %fail, label %ok\0A\00" +@.str5592 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" +@.str5593 = private unnamed_addr constant [159 x i8] c"ok:\0A %acc0 = load i32, ptr %accp\0A %m10 = mul i32 %acc0, 10\0A %dg = sub i32 %c, 48\0A %acc1 = add i32 %m10, %dg\0A store i32 %acc1, ptr %accp\0A br label %next\0A\00" +@.str5594 = private unnamed_addr constant [71 x i8] c"next:\0A %kn = add i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00" +@.str5595 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" +@.str5596 = private unnamed_addr constant [4 x i8] c"now\00" +@.str5597 = private unnamed_addr constant [4 x i8] c"set\00" +@.str5598 = private unnamed_addr constant [8 x i8] c"advance\00" +@.str5599 = private unnamed_addr constant [6 x i8] c"reset\00" +@.str5600 = private unnamed_addr constant [4 x i8] c"now\00" +@.str5601 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" +@.str5602 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5603 = private unnamed_addr constant [6 x i8] c"reset\00" +@.str5604 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" +@.str5605 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5606 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5607 = private unnamed_addr constant [4 x i8] c"set\00" +@.str5608 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str5609 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" +@.str5610 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5611 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5612 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" +@.str5613 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5614 = private unnamed_addr constant [3 x i8] c", \00" +@.str5615 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str5616 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" +@.str5617 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5618 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5619 = private unnamed_addr constant [4 x i8] c"rgb\00" +@.str5620 = private unnamed_addr constant [5 x i8] c"rgba\00" +@.str5621 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str5622 = private unnamed_addr constant [7 x i8] c"darken\00" +@.str5623 = private unnamed_addr constant [8 x i8] c"lighten\00" +@.str5624 = private unnamed_addr constant [11 x i8] c"with_alpha\00" +@.str5625 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str5626 = private unnamed_addr constant [3 x i8] c", \00" +@.str5627 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str5628 = private unnamed_addr constant [6 x i8] c", 255\00" +@.str5629 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str5630 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5631 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str5632 = private unnamed_addr constant [4 x i8] c", 8\00" +@.str5633 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str5634 = private unnamed_addr constant [3 x i8] c", \00" +@.str5635 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str5636 = private unnamed_addr constant [3 x i8] c", \00" +@.str5637 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5638 = private unnamed_addr constant [3 x i8] c", \00" +@.str5639 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5640 = private unnamed_addr constant [3 x i8] c", \00" +@.str5641 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5642 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5643 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5644 = private unnamed_addr constant [3 x i8] c", \00" +@.str5645 = private unnamed_addr constant [4 x i8] c"rgb\00" +@.str5646 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5647 = private unnamed_addr constant [5 x i8] c"rgba\00" +@.str5648 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str5649 = private unnamed_addr constant [5 x i8] c", 24\00" +@.str5650 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str5651 = private unnamed_addr constant [3 x i8] c", \00" +@.str5652 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5653 = private unnamed_addr constant [11 x i8] c"with_alpha\00" +@.str5654 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str5655 = private unnamed_addr constant [11 x i8] c", 16777215\00" +@.str5656 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str5657 = private unnamed_addr constant [5 x i8] c", 24\00" +@.str5658 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str5659 = private unnamed_addr constant [3 x i8] c", \00" +@.str5660 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5661 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str5662 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5663 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5664 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5665 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5666 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5667 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5668 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5669 = private unnamed_addr constant [7 x i8] c"darken\00" +@.str5670 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" +@.str5671 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5672 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5673 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5674 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5675 = private unnamed_addr constant [3 x i8] c", \00" +@.str5676 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5677 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5678 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5679 = private unnamed_addr constant [3 x i8] c", \00" +@.str5680 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5681 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5682 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5683 = private unnamed_addr constant [3 x i8] c", \00" +@.str5684 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5685 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5686 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5687 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5688 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5689 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5690 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" +@.str5691 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5692 = private unnamed_addr constant [3 x i8] c", \00" +@.str5693 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5694 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5695 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5696 = private unnamed_addr constant [3 x i8] c", \00" +@.str5697 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" +@.str5698 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5699 = private unnamed_addr constant [3 x i8] c", \00" +@.str5700 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5701 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5702 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5703 = private unnamed_addr constant [3 x i8] c", \00" +@.str5704 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" +@.str5705 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5706 = private unnamed_addr constant [3 x i8] c", \00" +@.str5707 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str5708 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5709 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5710 = private unnamed_addr constant [3 x i8] c", \00" +@.str5711 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5712 = private unnamed_addr constant [6 x i8] c"White\00" +@.str5713 = private unnamed_addr constant [5 x i8] c"Snow\00" +@.str5714 = private unnamed_addr constant [6 x i8] c"Ivory\00" +@.str5715 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" +@.str5716 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" +@.str5717 = private unnamed_addr constant [9 x i8] c"SeaShell\00" +@.str5718 = private unnamed_addr constant [6 x i8] c"Linen\00" +@.str5719 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" +@.str5720 = private unnamed_addr constant [8 x i8] c"OldLace\00" +@.str5721 = private unnamed_addr constant [6 x i8] c"Beige\00" +@.str5722 = private unnamed_addr constant [6 x i8] c"Cream\00" +@.str5723 = private unnamed_addr constant [9 x i8] c"Honeydew\00" +@.str5724 = private unnamed_addr constant [10 x i8] c"MintCream\00" +@.str5725 = private unnamed_addr constant [6 x i8] c"Azure\00" +@.str5726 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" +@.str5727 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" +@.str5728 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" +@.str5729 = private unnamed_addr constant [9 x i8] c"Lavender\00" +@.str5730 = private unnamed_addr constant [5 x i8] c"Bone\00" +@.str5731 = private unnamed_addr constant [10 x i8] c"Parchment\00" +@.str5732 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" +@.str5733 = private unnamed_addr constant [10 x i8] c"LightGray\00" +@.str5734 = private unnamed_addr constant [7 x i8] c"Silver\00" +@.str5735 = private unnamed_addr constant [4 x i8] c"Ash\00" +@.str5736 = private unnamed_addr constant [9 x i8] c"DarkGray\00" +@.str5737 = private unnamed_addr constant [5 x i8] c"Gray\00" +@.str5738 = private unnamed_addr constant [8 x i8] c"DimGray\00" +@.str5739 = private unnamed_addr constant [7 x i8] c"Nickel\00" +@.str5740 = private unnamed_addr constant [6 x i8] c"Slate\00" +@.str5741 = private unnamed_addr constant [10 x i8] c"SlateGray\00" +@.str5742 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" +@.str5743 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" +@.str5744 = private unnamed_addr constant [9 x i8] c"Charcoal\00" +@.str5745 = private unnamed_addr constant [9 x i8] c"Graphite\00" +@.str5746 = private unnamed_addr constant [5 x i8] c"Onyx\00" +@.str5747 = private unnamed_addr constant [4 x i8] c"Jet\00" +@.str5748 = private unnamed_addr constant [6 x i8] c"Black\00" +@.str5749 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" +@.str5750 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" +@.str5751 = private unnamed_addr constant [6 x i8] c"Ebony\00" +@.str5752 = private unnamed_addr constant [4 x i8] c"Red\00" +@.str5753 = private unnamed_addr constant [8 x i8] c"Crimson\00" +@.str5754 = private unnamed_addr constant [8 x i8] c"Scarlet\00" +@.str5755 = private unnamed_addr constant [10 x i8] c"Vermilion\00" +@.str5756 = private unnamed_addr constant [10 x i8] c"FireBrick\00" +@.str5757 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" +@.str5758 = private unnamed_addr constant [8 x i8] c"DarkRed\00" +@.str5759 = private unnamed_addr constant [7 x i8] c"Maroon\00" +@.str5760 = private unnamed_addr constant [5 x i8] c"Ruby\00" +@.str5761 = private unnamed_addr constant [9 x i8] c"Cardinal\00" +@.str5762 = private unnamed_addr constant [10 x i8] c"IndianRed\00" +@.str5763 = private unnamed_addr constant [5 x i8] c"Rust\00" +@.str5764 = private unnamed_addr constant [8 x i8] c"Sangria\00" +@.str5765 = private unnamed_addr constant [8 x i8] c"Redwood\00" +@.str5766 = private unnamed_addr constant [7 x i8] c"Cerise\00" +@.str5767 = private unnamed_addr constant [9 x i8] c"Amaranth\00" +@.str5768 = private unnamed_addr constant [8 x i8] c"Carmine\00" +@.str5769 = private unnamed_addr constant [9 x i8] c"Chestnut\00" +@.str5770 = private unnamed_addr constant [6 x i8] c"Brick\00" +@.str5771 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" +@.str5772 = private unnamed_addr constant [5 x i8] c"Pink\00" +@.str5773 = private unnamed_addr constant [10 x i8] c"LightPink\00" +@.str5774 = private unnamed_addr constant [8 x i8] c"HotPink\00" +@.str5775 = private unnamed_addr constant [9 x i8] c"DeepPink\00" +@.str5776 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" +@.str5777 = private unnamed_addr constant [5 x i8] c"Rose\00" +@.str5778 = private unnamed_addr constant [6 x i8] c"Blush\00" +@.str5779 = private unnamed_addr constant [7 x i8] c"Salmon\00" +@.str5780 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" +@.str5781 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" +@.str5782 = private unnamed_addr constant [6 x i8] c"Coral\00" +@.str5783 = private unnamed_addr constant [11 x i8] c"Watermelon\00" +@.str5784 = private unnamed_addr constant [9 x i8] c"Flamingo\00" +@.str5785 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" +@.str5786 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" +@.str5787 = private unnamed_addr constant [8 x i8] c"Magenta\00" +@.str5788 = private unnamed_addr constant [6 x i8] c"Mauve\00" +@.str5789 = private unnamed_addr constant [5 x i8] c"Puce\00" +@.str5790 = private unnamed_addr constant [8 x i8] c"Thistle\00" +@.str5791 = private unnamed_addr constant [7 x i8] c"Orchid\00" +@.str5792 = private unnamed_addr constant [7 x i8] c"Orange\00" +@.str5793 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" +@.str5794 = private unnamed_addr constant [10 x i8] c"Tangerine\00" +@.str5795 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" +@.str5796 = private unnamed_addr constant [8 x i8] c"Apricot\00" +@.str5797 = private unnamed_addr constant [6 x i8] c"Peach\00" +@.str5798 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" +@.str5799 = private unnamed_addr constant [6 x i8] c"Amber\00" +@.str5800 = private unnamed_addr constant [7 x i8] c"Bronze\00" +@.str5801 = private unnamed_addr constant [7 x i8] c"Copper\00" +@.str5802 = private unnamed_addr constant [9 x i8] c"Marigold\00" +@.str5803 = private unnamed_addr constant [7 x i8] c"Carrot\00" +@.str5804 = private unnamed_addr constant [10 x i8] c"Persimmon\00" +@.str5805 = private unnamed_addr constant [7 x i8] c"Papaya\00" +@.str5806 = private unnamed_addr constant [7 x i8] c"Sunset\00" +@.str5807 = private unnamed_addr constant [7 x i8] c"Yellow\00" +@.str5808 = private unnamed_addr constant [12 x i8] c"LightYellow\00" +@.str5809 = private unnamed_addr constant [5 x i8] c"Gold\00" +@.str5810 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" +@.str5811 = private unnamed_addr constant [6 x i8] c"Lemon\00" +@.str5812 = private unnamed_addr constant [7 x i8] c"Canary\00" +@.str5813 = private unnamed_addr constant [8 x i8] c"Mustard\00" +@.str5814 = private unnamed_addr constant [5 x i8] c"Flax\00" +@.str5815 = private unnamed_addr constant [6 x i8] c"Wheat\00" +@.str5816 = private unnamed_addr constant [5 x i8] c"Corn\00" +@.str5817 = private unnamed_addr constant [10 x i8] c"Dandelion\00" +@.str5818 = private unnamed_addr constant [8 x i8] c"Saffron\00" +@.str5819 = private unnamed_addr constant [6 x i8] c"Khaki\00" +@.str5820 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" +@.str5821 = private unnamed_addr constant [6 x i8] c"Straw\00" +@.str5822 = private unnamed_addr constant [6 x i8] c"Brown\00" +@.str5823 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" +@.str5824 = private unnamed_addr constant [7 x i8] c"Sienna\00" +@.str5825 = private unnamed_addr constant [10 x i8] c"Chocolate\00" +@.str5826 = private unnamed_addr constant [5 x i8] c"Peru\00" +@.str5827 = private unnamed_addr constant [4 x i8] c"Tan\00" +@.str5828 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" +@.str5829 = private unnamed_addr constant [5 x i8] c"Sand\00" +@.str5830 = private unnamed_addr constant [7 x i8] c"Coffee\00" +@.str5831 = private unnamed_addr constant [9 x i8] c"Espresso\00" +@.str5832 = private unnamed_addr constant [9 x i8] c"Mahogany\00" +@.str5833 = private unnamed_addr constant [7 x i8] c"Walnut\00" +@.str5834 = private unnamed_addr constant [6 x i8] c"Umber\00" +@.str5835 = private unnamed_addr constant [6 x i8] c"Sepia\00" +@.str5836 = private unnamed_addr constant [6 x i8] c"Taupe\00" +@.str5837 = private unnamed_addr constant [5 x i8] c"Fawn\00" +@.str5838 = private unnamed_addr constant [8 x i8] c"Caramel\00" +@.str5839 = private unnamed_addr constant [6 x i8] c"Cocoa\00" +@.str5840 = private unnamed_addr constant [6 x i8] c"Hazel\00" +@.str5841 = private unnamed_addr constant [6 x i8] c"Wenge\00" +@.str5842 = private unnamed_addr constant [6 x i8] c"Green\00" +@.str5843 = private unnamed_addr constant [5 x i8] c"Lime\00" +@.str5844 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" +@.str5845 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" +@.str5846 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" +@.str5847 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" +@.str5848 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" +@.str5849 = private unnamed_addr constant [10 x i8] c"MintGreen\00" +@.str5850 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" +@.str5851 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" +@.str5852 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" +@.str5853 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" +@.str5854 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" +@.str5855 = private unnamed_addr constant [6 x i8] c"Olive\00" +@.str5856 = private unnamed_addr constant [5 x i8] c"Moss\00" +@.str5857 = private unnamed_addr constant [5 x i8] c"Fern\00" +@.str5858 = private unnamed_addr constant [8 x i8] c"Emerald\00" +@.str5859 = private unnamed_addr constant [5 x i8] c"Jade\00" +@.str5860 = private unnamed_addr constant [10 x i8] c"Malachite\00" +@.str5861 = private unnamed_addr constant [9 x i8] c"Shamrock\00" +@.str5862 = private unnamed_addr constant [10 x i8] c"Pistachio\00" +@.str5863 = private unnamed_addr constant [8 x i8] c"Avocado\00" +@.str5864 = private unnamed_addr constant [5 x i8] c"Pine\00" +@.str5865 = private unnamed_addr constant [5 x i8] c"Sage\00" +@.str5866 = private unnamed_addr constant [6 x i8] c"Kelly\00" +@.str5867 = private unnamed_addr constant [7 x i8] c"Hunter\00" +@.str5868 = private unnamed_addr constant [6 x i8] c"Basil\00" +@.str5869 = private unnamed_addr constant [7 x i8] c"Clover\00" +@.str5870 = private unnamed_addr constant [8 x i8] c"Juniper\00" +@.str5871 = private unnamed_addr constant [5 x i8] c"Neon\00" +@.str5872 = private unnamed_addr constant [5 x i8] c"Cyan\00" +@.str5873 = private unnamed_addr constant [5 x i8] c"Aqua\00" +@.str5874 = private unnamed_addr constant [10 x i8] c"LightCyan\00" +@.str5875 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" +@.str5876 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" +@.str5877 = private unnamed_addr constant [10 x i8] c"Turquoise\00" +@.str5878 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" +@.str5879 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" +@.str5880 = private unnamed_addr constant [5 x i8] c"Teal\00" +@.str5881 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" +@.str5882 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" +@.str5883 = private unnamed_addr constant [7 x i8] c"Lagoon\00" +@.str5884 = private unnamed_addr constant [8 x i8] c"Seafoam\00" +@.str5885 = private unnamed_addr constant [9 x i8] c"Cerulean\00" +@.str5886 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" +@.str5887 = private unnamed_addr constant [6 x i8] c"Robin\00" +@.str5888 = private unnamed_addr constant [10 x i8] c"Verdigris\00" +@.str5889 = private unnamed_addr constant [8 x i8] c"Celadon\00" +@.str5890 = private unnamed_addr constant [5 x i8] c"Blue\00" +@.str5891 = private unnamed_addr constant [10 x i8] c"LightBlue\00" +@.str5892 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" +@.str5893 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" +@.str5894 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" +@.str5895 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" +@.str5896 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" +@.str5897 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" +@.str5898 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" +@.str5899 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" +@.str5900 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" +@.str5901 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" +@.str5902 = private unnamed_addr constant [5 x i8] c"Navy\00" +@.str5903 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" +@.str5904 = private unnamed_addr constant [7 x i8] c"Cobalt\00" +@.str5905 = private unnamed_addr constant [9 x i8] c"Sapphire\00" +@.str5906 = private unnamed_addr constant [6 x i8] c"Denim\00" +@.str5907 = private unnamed_addr constant [7 x i8] c"Indigo\00" +@.str5908 = private unnamed_addr constant [9 x i8] c"Prussian\00" +@.str5909 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" +@.str5910 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" +@.str5911 = private unnamed_addr constant [5 x i8] c"Iris\00" +@.str5912 = private unnamed_addr constant [9 x i8] c"Glaucous\00" +@.str5913 = private unnamed_addr constant [7 x i8] c"Zaffre\00" +@.str5914 = private unnamed_addr constant [6 x i8] c"Berry\00" +@.str5915 = private unnamed_addr constant [7 x i8] c"Purple\00" +@.str5916 = private unnamed_addr constant [7 x i8] c"Violet\00" +@.str5917 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" +@.str5918 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" +@.str5919 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" +@.str5920 = private unnamed_addr constant [9 x i8] c"Amethyst\00" +@.str5921 = private unnamed_addr constant [5 x i8] c"Plum\00" +@.str5922 = private unnamed_addr constant [9 x i8] c"Eggplant\00" +@.str5923 = private unnamed_addr constant [6 x i8] c"Grape\00" +@.str5924 = private unnamed_addr constant [5 x i8] c"Wine\00" +@.str5925 = private unnamed_addr constant [9 x i8] c"Mulberry\00" +@.str5926 = private unnamed_addr constant [6 x i8] c"Lilac\00" +@.str5927 = private unnamed_addr constant [9 x i8] c"Wisteria\00" +@.str5928 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" +@.str5929 = private unnamed_addr constant [10 x i8] c"Byzantium\00" +@.str5930 = private unnamed_addr constant [7 x i8] c"Tyrian\00" +@.str5931 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" +@.str5932 = private unnamed_addr constant [8 x i8] c"Orchid2\00" +@.str5933 = private unnamed_addr constant [6 x i8] c"Space\00" +@.str5934 = private unnamed_addr constant [6 x i8] c"Enter\00" +@.str5935 = private unnamed_addr constant [7 x i8] c"Return\00" +@.str5936 = private unnamed_addr constant [7 x i8] c"Escape\00" +@.str5937 = private unnamed_addr constant [4 x i8] c"Esc\00" +@.str5938 = private unnamed_addr constant [6 x i8] c"Shift\00" +@.str5939 = private unnamed_addr constant [4 x i8] c"Tab\00" +@.str5940 = private unnamed_addr constant [10 x i8] c"Backspace\00" +@.str5941 = private unnamed_addr constant [3 x i8] c"Up\00" +@.str5942 = private unnamed_addr constant [5 x i8] c"Down\00" +@.str5943 = private unnamed_addr constant [5 x i8] c"Left\00" +@.str5944 = private unnamed_addr constant [6 x i8] c"Right\00" +@.str5945 = private unnamed_addr constant [7 x i8] c"Digit0\00" +@.str5946 = private unnamed_addr constant [7 x i8] c"Digit1\00" +@.str5947 = private unnamed_addr constant [7 x i8] c"Digit2\00" +@.str5948 = private unnamed_addr constant [7 x i8] c"Digit3\00" +@.str5949 = private unnamed_addr constant [7 x i8] c"Digit4\00" +@.str5950 = private unnamed_addr constant [7 x i8] c"Digit5\00" +@.str5951 = private unnamed_addr constant [7 x i8] c"Digit6\00" +@.str5952 = private unnamed_addr constant [7 x i8] c"Digit7\00" +@.str5953 = private unnamed_addr constant [7 x i8] c"Digit8\00" +@.str5954 = private unnamed_addr constant [7 x i8] c"Digit9\00" +@.str5955 = private unnamed_addr constant [15 x i8] c"getelementptr \00" +@.str5956 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" +@.str5957 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" +@.str5958 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5959 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" +@.str5960 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str5961 = private unnamed_addr constant [2 x i8] c")\00" +@.str5962 = private unnamed_addr constant [3 x i8] c" \00" +@.str5963 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str5964 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5965 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str5966 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5967 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5968 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str5969 = private unnamed_addr constant [5 x i8] c"null\00" +@.str5970 = private unnamed_addr constant [9 x i8] c" store \00" +@.str5971 = private unnamed_addr constant [2 x i8] c" \00" +@.str5972 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5973 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5974 = private unnamed_addr constant [8 x i8] c"%LSlice\00" +@.str5975 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str5976 = private unnamed_addr constant [2 x i8] c")\00" +@.str5977 = private unnamed_addr constant [3 x i8] c" \00" +@.str5978 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str5979 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" +@.str5980 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" +@.str5981 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5982 = private unnamed_addr constant [3 x i8] c" \00" +@.str5983 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str5984 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" +@.str5985 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str5986 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5987 = private unnamed_addr constant [3 x i8] c" \00" +@.str5988 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str5989 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" +@.str5990 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str5991 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5992 = private unnamed_addr constant [3 x i8] c" \00" +@.str5993 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str5994 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str5995 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5996 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5997 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5998 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str5999 = private unnamed_addr constant [2 x i8] c")\00" +@.str6000 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6001 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str6002 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str6003 = private unnamed_addr constant [6 x i8] c" i64 \00" -@.str6004 = private unnamed_addr constant [3 x i8] c", \00" -@.str6005 = private unnamed_addr constant [5 x i8] c"long\00" -@.str6006 = private unnamed_addr constant [2 x i8] c"*\00" -@.str6007 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str6008 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str6009 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str6010 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str6011 = private unnamed_addr constant [9 x i8] c"mul i64 \00" -@.str6012 = private unnamed_addr constant [3 x i8] c", \00" -@.str6013 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" -@.str6014 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str6015 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str6016 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str6017 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str6018 = private unnamed_addr constant [2 x i8] c"/\00" -@.str6019 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str6020 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str6021 = private unnamed_addr constant [9 x i8] c"shl i64 \00" -@.str6022 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str6023 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str6024 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str6025 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" -@.str6026 = private unnamed_addr constant [3 x i8] c", \00" -@.str6027 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str6028 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str6029 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str6030 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str6031 = private unnamed_addr constant [3 x i8] c", \00" -@.str6032 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str6033 = private unnamed_addr constant [6 x i8] c" i32 \00" -@.str6034 = private unnamed_addr constant [3 x i8] c", \00" -@.str6035 = private unnamed_addr constant [4 x i8] c"int\00" -@.str6036 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" -@.str6037 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" -@.str6038 = private unnamed_addr constant [19 x i8] c"no argument named \00" -@.str6039 = private unnamed_addr constant [5 x i8] c"exok\00" -@.str6040 = private unnamed_addr constant [6 x i8] c"exbad\00" -@.str6041 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str6042 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str6043 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str6044 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str6045 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str6046 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" -@.str6047 = private unnamed_addr constant [1 x i8] c"\00" -@.str6048 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str6049 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str6050 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" -@.str6051 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str6052 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str6053 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str6054 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str6055 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str6056 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str6057 = private unnamed_addr constant [5 x i8] c"Math\00" -@.str6058 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" -@.str6059 = private unnamed_addr constant [5 x i8] c"Text\00" -@.str6060 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" -@.str6061 = private unnamed_addr constant [5 x i8] c"List\00" -@.str6062 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" -@.str6063 = private unnamed_addr constant [5 x i8] c"Ease\00" -@.str6064 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" -@.str6065 = private unnamed_addr constant [5 x i8] c"Anim\00" -@.str6066 = private unnamed_addr constant [6 x i8] c"Tween\00" -@.str6067 = private unnamed_addr constant [10 x i8] c"Collision\00" -@.str6068 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" -@.str6069 = private unnamed_addr constant [7 x i8] c"Memory\00" -@.str6070 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" -@.str6071 = private unnamed_addr constant [6 x i8] c"Color\00" -@.str6072 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" -@.str6073 = private unnamed_addr constant [5 x i8] c"Time\00" -@.str6074 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" -@.str6075 = private unnamed_addr constant [5 x i8] c"Hash\00" -@.str6076 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" -@.str6077 = private unnamed_addr constant [7 x i8] c"Crypto\00" -@.str6078 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" -@.str6079 = private unnamed_addr constant [5 x i8] c"Uuid\00" -@.str6080 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" -@.str6081 = private unnamed_addr constant [6 x i8] c"Noise\00" -@.str6082 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" -@.str6083 = private unnamed_addr constant [4 x i8] c"Log\00" -@.str6084 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" -@.str6085 = private unnamed_addr constant [3 x i8] c"Os\00" -@.str6086 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" -@.str6087 = private unnamed_addr constant [8 x i8] c"Unicode\00" -@.str6088 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" -@.str6089 = private unnamed_addr constant [3 x i8] c"Fs\00" -@.str6090 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" -@.str6091 = private unnamed_addr constant [5 x i8] c"Path\00" -@.str6092 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" -@.str6093 = private unnamed_addr constant [5 x i8] c"Mime\00" -@.str6094 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" -@.str6095 = private unnamed_addr constant [7 x i8] c"Vector\00" -@.str6096 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" -@.str6097 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str6098 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" -@.str6099 = private unnamed_addr constant [5 x i8] c"Rect\00" -@.str6100 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" -@.str6101 = private unnamed_addr constant [9 x i8] c"Duration\00" -@.str6102 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" -@.str6103 = private unnamed_addr constant [5 x i8] c"Date\00" -@.str6104 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" -@.str6105 = private unnamed_addr constant [9 x i8] c"DateTime\00" -@.str6106 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" -@.str6107 = private unnamed_addr constant [6 x i8] c"Clock\00" -@.str6108 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" -@.str6109 = private unnamed_addr constant [5 x i8] c"Pool\00" -@.str6110 = private unnamed_addr constant [9 x i8] c"capacity\00" -@.str6111 = private unnamed_addr constant [4 x i8] c"int\00" -@.str6112 = private unnamed_addr constant [9 x i8] c"reserved\00" -@.str6113 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" -@.str6114 = private unnamed_addr constant [4 x i8] c"int\00" -@.str6115 = private unnamed_addr constant [5 x i8] c"free\00" -@.str6116 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" -@.str6117 = private unnamed_addr constant [4 x i8] c"int\00" -@.str6118 = private unnamed_addr constant [5 x i8] c"live\00" -@.str6119 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" -@.str6120 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" -@.str6121 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str6122 = private unnamed_addr constant [3 x i8] c", \00" -@.str6123 = private unnamed_addr constant [4 x i8] c"int\00" -@.str6124 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" -@.str6125 = private unnamed_addr constant [7 x i8] c"Screen\00" -@.str6126 = private unnamed_addr constant [6 x i8] c"clear\00" -@.str6127 = private unnamed_addr constant [6 x i8] c"clear\00" -@.str6128 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6129 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" -@.str6130 = private unnamed_addr constant [10 x i8] c"fill_rect\00" -@.str6131 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6132 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6133 = private unnamed_addr constant [6 x i8] c"width\00" -@.str6134 = private unnamed_addr constant [7 x i8] c"height\00" -@.str6135 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6136 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" -@.str6137 = private unnamed_addr constant [11 x i8] c"frame_rect\00" -@.str6138 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6139 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6140 = private unnamed_addr constant [6 x i8] c"width\00" -@.str6141 = private unnamed_addr constant [7 x i8] c"height\00" -@.str6142 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6143 = private unnamed_addr constant [10 x i8] c"put_pixel\00" -@.str6144 = private unnamed_addr constant [7 x i8] c"put_px\00" -@.str6145 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6146 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6147 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6148 = private unnamed_addr constant [10 x i8] c"draw_text\00" -@.str6149 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6150 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6151 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6152 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6153 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6154 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str6155 = private unnamed_addr constant [12 x i8] c"draw_number\00" -@.str6156 = private unnamed_addr constant [9 x i8] c"text_int\00" -@.str6157 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6158 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6159 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6160 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6161 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str6162 = private unnamed_addr constant [5 x i8] c"show\00" -@.str6163 = private unnamed_addr constant [8 x i8] c"present\00" -@.str6164 = private unnamed_addr constant [6 x i8] c"width\00" -@.str6165 = private unnamed_addr constant [9 x i8] c"screen_w\00" -@.str6166 = private unnamed_addr constant [7 x i8] c"height\00" -@.str6167 = private unnamed_addr constant [9 x i8] c"screen_h\00" -@.str6168 = private unnamed_addr constant [7 x i8] c"status\00" -@.str6169 = private unnamed_addr constant [7 x i8] c"status\00" -@.str6170 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6171 = private unnamed_addr constant [5 x i8] c"line\00" -@.str6172 = private unnamed_addr constant [5 x i8] c"line\00" -@.str6173 = private unnamed_addr constant [3 x i8] c"x1\00" -@.str6174 = private unnamed_addr constant [3 x i8] c"y1\00" -@.str6175 = private unnamed_addr constant [3 x i8] c"x2\00" -@.str6176 = private unnamed_addr constant [3 x i8] c"y2\00" -@.str6177 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6178 = private unnamed_addr constant [7 x i8] c"circle\00" -@.str6179 = private unnamed_addr constant [7 x i8] c"circle\00" -@.str6180 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6181 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6182 = private unnamed_addr constant [7 x i8] c"radius\00" -@.str6183 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6184 = private unnamed_addr constant [12 x i8] c"fill_circle\00" -@.str6185 = private unnamed_addr constant [12 x i8] c"fill_circle\00" -@.str6186 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6187 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6188 = private unnamed_addr constant [7 x i8] c"radius\00" -@.str6189 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6190 = private unnamed_addr constant [9 x i8] c"triangle\00" -@.str6191 = private unnamed_addr constant [9 x i8] c"triangle\00" -@.str6192 = private unnamed_addr constant [3 x i8] c"x1\00" -@.str6193 = private unnamed_addr constant [3 x i8] c"y1\00" -@.str6194 = private unnamed_addr constant [3 x i8] c"x2\00" -@.str6195 = private unnamed_addr constant [3 x i8] c"y2\00" -@.str6196 = private unnamed_addr constant [3 x i8] c"x3\00" -@.str6197 = private unnamed_addr constant [3 x i8] c"y3\00" -@.str6198 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6199 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" -@.str6200 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" -@.str6201 = private unnamed_addr constant [3 x i8] c"x1\00" -@.str6202 = private unnamed_addr constant [3 x i8] c"y1\00" -@.str6203 = private unnamed_addr constant [3 x i8] c"x2\00" -@.str6204 = private unnamed_addr constant [3 x i8] c"y2\00" -@.str6205 = private unnamed_addr constant [3 x i8] c"x3\00" -@.str6206 = private unnamed_addr constant [3 x i8] c"y3\00" -@.str6207 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6208 = private unnamed_addr constant [7 x i8] c"sprite\00" -@.str6209 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" -@.str6210 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6211 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6212 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6213 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" -@.str6214 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" -@.str6215 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6216 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6217 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6218 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str6219 = private unnamed_addr constant [5 x i8] c"oval\00" -@.str6220 = private unnamed_addr constant [5 x i8] c"oval\00" -@.str6221 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6222 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6223 = private unnamed_addr constant [3 x i8] c"rx\00" -@.str6224 = private unnamed_addr constant [3 x i8] c"ry\00" -@.str6225 = private unnamed_addr constant [6 x i8] c"color\00" -@.str6226 = private unnamed_addr constant [7 x i8] c"camera\00" -@.str6227 = private unnamed_addr constant [7 x i8] c"camera\00" -@.str6228 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6229 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6230 = private unnamed_addr constant [5 x i8] c"clip\00" -@.str6231 = private unnamed_addr constant [5 x i8] c"clip\00" -@.str6232 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6233 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6234 = private unnamed_addr constant [6 x i8] c"width\00" -@.str6235 = private unnamed_addr constant [7 x i8] c"height\00" -@.str6236 = private unnamed_addr constant [11 x i8] c"clip_reset\00" -@.str6237 = private unnamed_addr constant [11 x i8] c"clip_reset\00" -@.str6238 = private unnamed_addr constant [11 x i8] c"blend_mode\00" -@.str6239 = private unnamed_addr constant [11 x i8] c"blend_mode\00" -@.str6240 = private unnamed_addr constant [5 x i8] c"mode\00" -@.str6241 = private unnamed_addr constant [13 x i8] c"measure_text\00" -@.str6242 = private unnamed_addr constant [13 x i8] c"measure_text\00" -@.str6243 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6244 = private unnamed_addr constant [6 x i8] c"pixel\00" -@.str6245 = private unnamed_addr constant [7 x i8] c"get_px\00" -@.str6246 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6247 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6248 = private unnamed_addr constant [7 x i8] c"Sprite\00" -@.str6249 = private unnamed_addr constant [6 x i8] c"sheet\00" -@.str6250 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" -@.str6251 = private unnamed_addr constant [5 x i8] c"path\00" -@.str6252 = private unnamed_addr constant [6 x i8] c"cellw\00" -@.str6253 = private unnamed_addr constant [6 x i8] c"cellh\00" -@.str6254 = private unnamed_addr constant [5 x i8] c"cell\00" -@.str6255 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" -@.str6256 = private unnamed_addr constant [6 x i8] c"sheet\00" -@.str6257 = private unnamed_addr constant [4 x i8] c"col\00" -@.str6258 = private unnamed_addr constant [4 x i8] c"row\00" -@.str6259 = private unnamed_addr constant [10 x i8] c"cell_span\00" -@.str6260 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" -@.str6261 = private unnamed_addr constant [6 x i8] c"sheet\00" -@.str6262 = private unnamed_addr constant [4 x i8] c"col\00" -@.str6263 = private unnamed_addr constant [4 x i8] c"row\00" -@.str6264 = private unnamed_addr constant [5 x i8] c"cols\00" -@.str6265 = private unnamed_addr constant [5 x i8] c"rows\00" -@.str6266 = private unnamed_addr constant [7 x i8] c"define\00" -@.str6267 = private unnamed_addr constant [13 x i8] c"atlas_define\00" -@.str6268 = private unnamed_addr constant [5 x i8] c"name\00" -@.str6269 = private unnamed_addr constant [6 x i8] c"sheet\00" -@.str6270 = private unnamed_addr constant [4 x i8] c"col\00" -@.str6271 = private unnamed_addr constant [4 x i8] c"row\00" -@.str6272 = private unnamed_addr constant [6 x i8] c"named\00" -@.str6273 = private unnamed_addr constant [12 x i8] c"atlas_named\00" -@.str6274 = private unnamed_addr constant [5 x i8] c"name\00" -@.str6275 = private unnamed_addr constant [5 x i8] c"draw\00" -@.str6276 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" -@.str6277 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6278 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6279 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6280 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" -@.str6281 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" -@.str6282 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6283 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6284 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6285 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str6286 = private unnamed_addr constant [6 x i8] c"width\00" -@.str6287 = private unnamed_addr constant [12 x i8] c"atlas_width\00" -@.str6288 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6289 = private unnamed_addr constant [7 x i8] c"height\00" -@.str6290 = private unnamed_addr constant [13 x i8] c"atlas_height\00" -@.str6291 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6292 = private unnamed_addr constant [7 x i8] c"Assets\00" -@.str6293 = private unnamed_addr constant [6 x i8] c"image\00" -@.str6294 = private unnamed_addr constant [12 x i8] c"atlas_image\00" -@.str6295 = private unnamed_addr constant [5 x i8] c"path\00" -@.str6296 = private unnamed_addr constant [5 x i8] c"load\00" -@.str6297 = private unnamed_addr constant [12 x i8] c"atlas_image\00" -@.str6298 = private unnamed_addr constant [5 x i8] c"path\00" -@.str6299 = private unnamed_addr constant [4 x i8] c"get\00" -@.str6300 = private unnamed_addr constant [12 x i8] c"atlas_named\00" -@.str6301 = private unnamed_addr constant [5 x i8] c"name\00" -@.str6302 = private unnamed_addr constant [8 x i8] c"enqueue\00" -@.str6303 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" -@.str6304 = private unnamed_addr constant [5 x i8] c"name\00" -@.str6305 = private unnamed_addr constant [5 x i8] c"path\00" -@.str6306 = private unnamed_addr constant [5 x i8] c"pump\00" -@.str6307 = private unnamed_addr constant [12 x i8] c"assets_pump\00" -@.str6308 = private unnamed_addr constant [4 x i8] c"max\00" -@.str6309 = private unnamed_addr constant [6 x i8] c"total\00" -@.str6310 = private unnamed_addr constant [13 x i8] c"assets_total\00" -@.str6311 = private unnamed_addr constant [7 x i8] c"loaded\00" -@.str6312 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" -@.str6313 = private unnamed_addr constant [6 x i8] c"ready\00" -@.str6314 = private unnamed_addr constant [13 x i8] c"assets_ready\00" -@.str6315 = private unnamed_addr constant [9 x i8] c"progress\00" -@.str6316 = private unnamed_addr constant [16 x i8] c"assets_progress\00" -@.str6317 = private unnamed_addr constant [7 x i8] c"Camera\00" -@.str6318 = private unnamed_addr constant [4 x i8] c"set\00" -@.str6319 = private unnamed_addr constant [7 x i8] c"camera\00" -@.str6320 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6321 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6322 = private unnamed_addr constant [7 x i8] c"follow\00" -@.str6323 = private unnamed_addr constant [14 x i8] c"camera_follow\00" -@.str6324 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6325 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6326 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str6327 = private unnamed_addr constant [6 x i8] c"shake\00" -@.str6328 = private unnamed_addr constant [13 x i8] c"camera_shake\00" -@.str6329 = private unnamed_addr constant [7 x i8] c"amount\00" -@.str6330 = private unnamed_addr constant [5 x i8] c"zoom\00" -@.str6331 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" -@.str6332 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str6333 = private unnamed_addr constant [4 x i8] c"Map\00" -@.str6334 = private unnamed_addr constant [5 x i8] c"size\00" -@.str6335 = private unnamed_addr constant [9 x i8] c"map_size\00" -@.str6336 = private unnamed_addr constant [6 x i8] c"width\00" -@.str6337 = private unnamed_addr constant [7 x i8] c"height\00" -@.str6338 = private unnamed_addr constant [4 x i8] c"row\00" -@.str6339 = private unnamed_addr constant [8 x i8] c"map_row\00" -@.str6340 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6341 = private unnamed_addr constant [6 x i8] c"cells\00" -@.str6342 = private unnamed_addr constant [5 x i8] c"tile\00" -@.str6343 = private unnamed_addr constant [5 x i8] c"tile\00" -@.str6344 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6345 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6346 = private unnamed_addr constant [7 x i8] c"Random\00" -@.str6347 = private unnamed_addr constant [6 x i8] c"range\00" -@.str6348 = private unnamed_addr constant [10 x i8] c"rng_range\00" -@.str6349 = private unnamed_addr constant [4 x i8] c"low\00" -@.str6350 = private unnamed_addr constant [5 x i8] c"high\00" -@.str6351 = private unnamed_addr constant [7 x i8] c"chance\00" -@.str6352 = private unnamed_addr constant [11 x i8] c"rng_chance\00" -@.str6353 = private unnamed_addr constant [8 x i8] c"percent\00" -@.str6354 = private unnamed_addr constant [5 x i8] c"seed\00" -@.str6355 = private unnamed_addr constant [5 x i8] c"seed\00" -@.str6356 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6357 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6358 = private unnamed_addr constant [10 x i8] c"rng_value\00" -@.str6359 = private unnamed_addr constant [4 x i8] c"int\00" -@.str6360 = private unnamed_addr constant [8 x i8] c"rng_int\00" -@.str6361 = private unnamed_addr constant [4 x i8] c"max\00" -@.str6362 = private unnamed_addr constant [5 x i8] c"sign\00" -@.str6363 = private unnamed_addr constant [9 x i8] c"rng_sign\00" -@.str6364 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str6365 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6366 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6367 = private unnamed_addr constant [5 x i8] c"bind\00" -@.str6368 = private unnamed_addr constant [11 x i8] c"input_bind\00" -@.str6369 = private unnamed_addr constant [7 x i8] c"rebind\00" -@.str6370 = private unnamed_addr constant [13 x i8] c"input_rebind\00" -@.str6371 = private unnamed_addr constant [5 x i8] c"poll\00" -@.str6372 = private unnamed_addr constant [11 x i8] c"input_poll\00" -@.str6373 = private unnamed_addr constant [5 x i8] c"down\00" -@.str6374 = private unnamed_addr constant [11 x i8] c"input_down\00" -@.str6375 = private unnamed_addr constant [8 x i8] c"pressed\00" -@.str6376 = private unnamed_addr constant [14 x i8] c"input_pressed\00" -@.str6377 = private unnamed_addr constant [7 x i8] c"record\00" -@.str6378 = private unnamed_addr constant [13 x i8] c"input_record\00" -@.str6379 = private unnamed_addr constant [7 x i8] c"replay\00" -@.str6380 = private unnamed_addr constant [13 x i8] c"input_replay\00" -@.str6381 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6382 = private unnamed_addr constant [14 x i8] c"input_default\00" -@.str6383 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6384 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6385 = private unnamed_addr constant [9 x i8] c"bind_pad\00" -@.str6386 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" -@.str6387 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6388 = private unnamed_addr constant [7 x i8] c"button\00" -@.str6389 = private unnamed_addr constant [7 x i8] c"active\00" -@.str6390 = private unnamed_addr constant [13 x i8] c"input_active\00" -@.str6391 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6392 = private unnamed_addr constant [13 x i8] c"just_pressed\00" -@.str6393 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" -@.str6394 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6395 = private unnamed_addr constant [14 x i8] c"just_released\00" -@.str6396 = private unnamed_addr constant [20 x i8] c"input_just_released\00" -@.str6397 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6398 = private unnamed_addr constant [9 x i8] c"key_down\00" -@.str6399 = private unnamed_addr constant [15 x i8] c"input_key_down\00" -@.str6400 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6401 = private unnamed_addr constant [12 x i8] c"key_pressed\00" -@.str6402 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" -@.str6403 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6404 = private unnamed_addr constant [13 x i8] c"key_released\00" -@.str6405 = private unnamed_addr constant [19 x i8] c"input_key_released\00" -@.str6406 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6407 = private unnamed_addr constant [6 x i8] c"press\00" -@.str6408 = private unnamed_addr constant [12 x i8] c"input_press\00" -@.str6409 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6410 = private unnamed_addr constant [8 x i8] c"release\00" -@.str6411 = private unnamed_addr constant [14 x i8] c"input_release\00" -@.str6412 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6413 = private unnamed_addr constant [5 x i8] c"axis\00" -@.str6414 = private unnamed_addr constant [11 x i8] c"input_axis\00" -@.str6415 = private unnamed_addr constant [4 x i8] c"neg\00" -@.str6416 = private unnamed_addr constant [4 x i8] c"pos\00" -@.str6417 = private unnamed_addr constant [7 x i8] c"axis_i\00" -@.str6418 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" -@.str6419 = private unnamed_addr constant [4 x i8] c"neg\00" -@.str6420 = private unnamed_addr constant [4 x i8] c"pos\00" -@.str6421 = private unnamed_addr constant [7 x i8] c"vector\00" -@.str6422 = private unnamed_addr constant [13 x i8] c"input_vector\00" -@.str6423 = private unnamed_addr constant [5 x i8] c"left\00" -@.str6424 = private unnamed_addr constant [6 x i8] c"right\00" -@.str6425 = private unnamed_addr constant [3 x i8] c"up\00" -@.str6426 = private unnamed_addr constant [5 x i8] c"down\00" -@.str6427 = private unnamed_addr constant [9 x i8] c"strength\00" -@.str6428 = private unnamed_addr constant [15 x i8] c"input_strength\00" -@.str6429 = private unnamed_addr constant [7 x i8] c"action\00" -@.str6430 = private unnamed_addr constant [8 x i8] c"mouse_x\00" -@.str6431 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" -@.str6432 = private unnamed_addr constant [8 x i8] c"mouse_y\00" -@.str6433 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" -@.str6434 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" -@.str6435 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" -@.str6436 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" -@.str6437 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" -@.str6438 = private unnamed_addr constant [11 x i8] c"mouse_down\00" -@.str6439 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" -@.str6440 = private unnamed_addr constant [7 x i8] c"button\00" -@.str6441 = private unnamed_addr constant [6 x i8] c"wheel\00" -@.str6442 = private unnamed_addr constant [12 x i8] c"input_wheel\00" -@.str6443 = private unnamed_addr constant [10 x i8] c"set_mouse\00" -@.str6444 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" -@.str6445 = private unnamed_addr constant [2 x i8] c"x\00" -@.str6446 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6447 = private unnamed_addr constant [8 x i8] c"buttons\00" -@.str6448 = private unnamed_addr constant [6 x i8] c"wheel\00" -@.str6449 = private unnamed_addr constant [14 x i8] c"pad_connected\00" -@.str6450 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" -@.str6451 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str6452 = private unnamed_addr constant [11 x i8] c"pad_button\00" -@.str6453 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" -@.str6454 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str6455 = private unnamed_addr constant [7 x i8] c"button\00" -@.str6456 = private unnamed_addr constant [9 x i8] c"pad_axis\00" -@.str6457 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" -@.str6458 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str6459 = private unnamed_addr constant [5 x i8] c"axis\00" -@.str6460 = private unnamed_addr constant [8 x i8] c"set_pad\00" -@.str6461 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" -@.str6462 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str6463 = private unnamed_addr constant [10 x i8] c"connected\00" -@.str6464 = private unnamed_addr constant [8 x i8] c"buttons\00" -@.str6465 = private unnamed_addr constant [3 x i8] c"lx\00" -@.str6466 = private unnamed_addr constant [3 x i8] c"ly\00" -@.str6467 = private unnamed_addr constant [3 x i8] c"rx\00" -@.str6468 = private unnamed_addr constant [3 x i8] c"ry\00" -@.str6469 = private unnamed_addr constant [12 x i8] c"touch_count\00" -@.str6470 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" -@.str6471 = private unnamed_addr constant [8 x i8] c"touch_x\00" -@.str6472 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" -@.str6473 = private unnamed_addr constant [6 x i8] c"index\00" -@.str6474 = private unnamed_addr constant [8 x i8] c"touch_y\00" -@.str6475 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" -@.str6476 = private unnamed_addr constant [6 x i8] c"index\00" -@.str6477 = private unnamed_addr constant [10 x i8] c"set_touch\00" -@.str6478 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" -@.str6479 = private unnamed_addr constant [6 x i8] c"index\00" +@.str6002 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6003 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6004 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6005 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str6006 = private unnamed_addr constant [3 x i8] c", \00" +@.str6007 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str6008 = private unnamed_addr constant [4 x i8] c"put\00" +@.str6009 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6010 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6011 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6012 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6013 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6014 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6015 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str6016 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str6017 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6018 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str6019 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" +@.str6020 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str6021 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6022 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str6023 = private unnamed_addr constant [3 x i8] c", \00" +@.str6024 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str6025 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str6026 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str6027 = private unnamed_addr constant [2 x i8] c")\00" +@.str6028 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str6029 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6030 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6031 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6032 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6033 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6034 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6035 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6036 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6037 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str6038 = private unnamed_addr constant [3 x i8] c" \00" +@.str6039 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str6040 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6041 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6042 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6043 = private unnamed_addr constant [9 x i8] c" store \00" +@.str6044 = private unnamed_addr constant [2 x i8] c" \00" +@.str6045 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6046 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6047 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6048 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str6049 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6050 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6051 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6052 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6053 = private unnamed_addr constant [5 x i8] c"void\00" +@.str6054 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6055 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6056 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6057 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6058 = private unnamed_addr constant [7 x i8] c"result\00" +@.str6059 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" +@.str6060 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" +@.str6061 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6062 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str6063 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6064 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str6065 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str6066 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6067 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6068 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6069 = private unnamed_addr constant [6 x i8] c"tryok\00" +@.str6070 = private unnamed_addr constant [8 x i8] c"tryelse\00" +@.str6071 = private unnamed_addr constant [7 x i8] c"tryend\00" +@.str6072 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6073 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6074 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6075 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6076 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6077 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str6078 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str6079 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6080 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6081 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6082 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6083 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6084 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6085 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6086 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str6087 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" +@.str6088 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str6089 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6090 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str6091 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6092 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6093 = private unnamed_addr constant [6 x i8] c"error\00" +@.str6094 = private unnamed_addr constant [7 x i8] c"string\00" +@.str6095 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6096 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6097 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6098 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6099 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6100 = private unnamed_addr constant [6 x i8] c"load \00" +@.str6101 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6102 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6103 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6104 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6105 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6106 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6107 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6108 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6109 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6110 = private unnamed_addr constant [3 x i8] c"sc\00" +@.str6111 = private unnamed_addr constant [6 x i8] c"scend\00" +@.str6112 = private unnamed_addr constant [4 x i8] c"and\00" +@.str6113 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6114 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6115 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6116 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6117 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6118 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6119 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6120 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6121 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6122 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6123 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6124 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6125 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6126 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6127 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6128 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6129 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6130 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6131 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6132 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6133 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6134 = private unnamed_addr constant [2 x i8] c"<\00" +@.str6135 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str6136 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str6137 = private unnamed_addr constant [4 x i8] c"sle\00" +@.str6138 = private unnamed_addr constant [2 x i8] c">\00" +@.str6139 = private unnamed_addr constant [4 x i8] c"sgt\00" +@.str6140 = private unnamed_addr constant [3 x i8] c">=\00" +@.str6141 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str6142 = private unnamed_addr constant [3 x i8] c"==\00" +@.str6143 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str6144 = private unnamed_addr constant [3 x i8] c"ne\00" +@.str6145 = private unnamed_addr constant [2 x i8] c"<\00" +@.str6146 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str6147 = private unnamed_addr constant [2 x i8] c">\00" +@.str6148 = private unnamed_addr constant [3 x i8] c">=\00" +@.str6149 = private unnamed_addr constant [3 x i8] c"==\00" +@.str6150 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str6151 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6152 = private unnamed_addr constant [4 x i8] c"add\00" +@.str6153 = private unnamed_addr constant [2 x i8] c"-\00" +@.str6154 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str6155 = private unnamed_addr constant [2 x i8] c"*\00" +@.str6156 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str6157 = private unnamed_addr constant [2 x i8] c"/\00" +@.str6158 = private unnamed_addr constant [5 x i8] c"sdiv\00" +@.str6159 = private unnamed_addr constant [2 x i8] c"&\00" +@.str6160 = private unnamed_addr constant [4 x i8] c"and\00" +@.str6161 = private unnamed_addr constant [2 x i8] c"|\00" +@.str6162 = private unnamed_addr constant [3 x i8] c"or\00" +@.str6163 = private unnamed_addr constant [2 x i8] c"^\00" +@.str6164 = private unnamed_addr constant [4 x i8] c"xor\00" +@.str6165 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str6166 = private unnamed_addr constant [4 x i8] c"shl\00" +@.str6167 = private unnamed_addr constant [3 x i8] c">>\00" +@.str6168 = private unnamed_addr constant [5 x i8] c"lshr\00" +@.str6169 = private unnamed_addr constant [5 x i8] c"srem\00" +@.str6170 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6171 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str6172 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6173 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6174 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6175 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6176 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6177 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6178 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6179 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6180 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6181 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6182 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6183 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6184 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6185 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00" +@.str6186 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6187 = private unnamed_addr constant [2 x i8] c")\00" +@.str6188 = private unnamed_addr constant [7 x i8] c"string\00" +@.str6189 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00" +@.str6190 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6191 = private unnamed_addr constant [2 x i8] c")\00" +@.str6192 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str6193 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str6194 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6195 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6196 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6197 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6198 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6199 = private unnamed_addr constant [4 x i8] c"and\00" +@.str6200 = private unnamed_addr constant [3 x i8] c"or\00" +@.str6201 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6202 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6203 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6204 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6205 = private unnamed_addr constant [3 x i8] c"==\00" +@.str6206 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str6207 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6208 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6209 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6210 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6211 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6212 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6213 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6214 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6215 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6216 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str6217 = private unnamed_addr constant [2 x i8] c" \00" +@.str6218 = private unnamed_addr constant [2 x i8] c" \00" +@.str6219 = private unnamed_addr constant [3 x i8] c", \00" +@.str6220 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6221 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6222 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6223 = private unnamed_addr constant [6 x i8] c" i64 \00" +@.str6224 = private unnamed_addr constant [3 x i8] c", \00" +@.str6225 = private unnamed_addr constant [5 x i8] c"long\00" +@.str6226 = private unnamed_addr constant [2 x i8] c"*\00" +@.str6227 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6228 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6229 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6230 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6231 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str6232 = private unnamed_addr constant [3 x i8] c", \00" +@.str6233 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str6234 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6235 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6236 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6237 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6238 = private unnamed_addr constant [2 x i8] c"/\00" +@.str6239 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6240 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6241 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str6242 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6243 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6244 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6245 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" +@.str6246 = private unnamed_addr constant [3 x i8] c", \00" +@.str6247 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6248 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6249 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6250 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str6251 = private unnamed_addr constant [3 x i8] c", \00" +@.str6252 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6253 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str6254 = private unnamed_addr constant [3 x i8] c", \00" +@.str6255 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6256 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" +@.str6257 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" +@.str6258 = private unnamed_addr constant [19 x i8] c"no argument named \00" +@.str6259 = private unnamed_addr constant [5 x i8] c"exok\00" +@.str6260 = private unnamed_addr constant [6 x i8] c"exbad\00" +@.str6261 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6262 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6263 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6264 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6265 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6266 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" +@.str6267 = private unnamed_addr constant [1 x i8] c"\00" +@.str6268 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str6269 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str6270 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" +@.str6271 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6272 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6273 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str6274 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6275 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6276 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6277 = private unnamed_addr constant [12 x i8] c"despawn_all\00" +@.str6278 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" +@.str6279 = private unnamed_addr constant [7 x i8] c"__each\00" +@.str6280 = private unnamed_addr constant [5 x i8] c"self\00" +@.str6281 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6282 = private unnamed_addr constant [5 x i8] c"void\00" +@.str6283 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6284 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" +@.str6285 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6286 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6287 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6288 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6289 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6290 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6291 = private unnamed_addr constant [3 x i8] c"cc\00" +@.str6292 = private unnamed_addr constant [3 x i8] c"cb\00" +@.str6293 = private unnamed_addr constant [3 x i8] c"cn\00" +@.str6294 = private unnamed_addr constant [3 x i8] c"ce\00" +@.str6295 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6296 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6297 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6298 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6299 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str6300 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str6301 = private unnamed_addr constant [3 x i8] c", \00" +@.str6302 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6303 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6304 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6305 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6306 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6307 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6308 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str6309 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6310 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6311 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str6312 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6313 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str6314 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str6315 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6316 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str6317 = private unnamed_addr constant [3 x i8] c", \00" +@.str6318 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6319 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6320 = private unnamed_addr constant [3 x i8] c", \00" +@.str6321 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6322 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6323 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6324 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6325 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6326 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str6327 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6328 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6329 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6330 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6331 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6332 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6333 = private unnamed_addr constant [2 x i8] c".\00" +@.str6334 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" +@.str6335 = private unnamed_addr constant [3 x i8] c"of\00" +@.str6336 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6337 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str6338 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str6339 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6340 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" +@.str6341 = private unnamed_addr constant [3 x i8] c", \00" +@.str6342 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str6343 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6344 = private unnamed_addr constant [8 x i8] c", i32 0\00" +@.str6345 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6346 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str6347 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6348 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6349 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6350 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6351 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str6352 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6353 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str6354 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str6355 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6356 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str6357 = private unnamed_addr constant [3 x i8] c", \00" +@.str6358 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str6359 = private unnamed_addr constant [3 x i8] c", \00" +@.str6360 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6361 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6362 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6363 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6364 = private unnamed_addr constant [7 x i8] c"string\00" +@.str6365 = private unnamed_addr constant [3 x i8] c"of\00" +@.str6366 = private unnamed_addr constant [4 x i8] c"has\00" +@.str6367 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6368 = private unnamed_addr constant [12 x i8] c"despawn_all\00" +@.str6369 = private unnamed_addr constant [2 x i8] c"_\00" +@.str6370 = private unnamed_addr constant [5 x i8] c"Math\00" +@.str6371 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" +@.str6372 = private unnamed_addr constant [5 x i8] c"Text\00" +@.str6373 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" +@.str6374 = private unnamed_addr constant [5 x i8] c"List\00" +@.str6375 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" +@.str6376 = private unnamed_addr constant [5 x i8] c"Ease\00" +@.str6377 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" +@.str6378 = private unnamed_addr constant [5 x i8] c"Anim\00" +@.str6379 = private unnamed_addr constant [6 x i8] c"Tween\00" +@.str6380 = private unnamed_addr constant [10 x i8] c"Collision\00" +@.str6381 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" +@.str6382 = private unnamed_addr constant [7 x i8] c"Memory\00" +@.str6383 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" +@.str6384 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str6385 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" +@.str6386 = private unnamed_addr constant [5 x i8] c"Time\00" +@.str6387 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" +@.str6388 = private unnamed_addr constant [5 x i8] c"Hash\00" +@.str6389 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" +@.str6390 = private unnamed_addr constant [7 x i8] c"Crypto\00" +@.str6391 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" +@.str6392 = private unnamed_addr constant [5 x i8] c"Uuid\00" +@.str6393 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" +@.str6394 = private unnamed_addr constant [6 x i8] c"Noise\00" +@.str6395 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" +@.str6396 = private unnamed_addr constant [4 x i8] c"Log\00" +@.str6397 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" +@.str6398 = private unnamed_addr constant [3 x i8] c"Os\00" +@.str6399 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" +@.str6400 = private unnamed_addr constant [8 x i8] c"Unicode\00" +@.str6401 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" +@.str6402 = private unnamed_addr constant [3 x i8] c"Fs\00" +@.str6403 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" +@.str6404 = private unnamed_addr constant [5 x i8] c"Path\00" +@.str6405 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" +@.str6406 = private unnamed_addr constant [5 x i8] c"Mime\00" +@.str6407 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" +@.str6408 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str6409 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" +@.str6410 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str6411 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" +@.str6412 = private unnamed_addr constant [5 x i8] c"Rect\00" +@.str6413 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" +@.str6414 = private unnamed_addr constant [9 x i8] c"Duration\00" +@.str6415 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" +@.str6416 = private unnamed_addr constant [5 x i8] c"Date\00" +@.str6417 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" +@.str6418 = private unnamed_addr constant [9 x i8] c"DateTime\00" +@.str6419 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" +@.str6420 = private unnamed_addr constant [6 x i8] c"Clock\00" +@.str6421 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" +@.str6422 = private unnamed_addr constant [5 x i8] c"Pool\00" +@.str6423 = private unnamed_addr constant [9 x i8] c"capacity\00" +@.str6424 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6425 = private unnamed_addr constant [9 x i8] c"reserved\00" +@.str6426 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str6427 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6428 = private unnamed_addr constant [5 x i8] c"free\00" +@.str6429 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" +@.str6430 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6431 = private unnamed_addr constant [5 x i8] c"live\00" +@.str6432 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str6433 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" +@.str6434 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str6435 = private unnamed_addr constant [3 x i8] c", \00" +@.str6436 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6437 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" +@.str6438 = private unnamed_addr constant [7 x i8] c"Screen\00" +@.str6439 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str6440 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str6441 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6442 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" +@.str6443 = private unnamed_addr constant [10 x i8] c"fill_rect\00" +@.str6444 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6445 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6446 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6447 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6448 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6449 = private unnamed_addr constant [4 x i8] c"bar\00" +@.str6450 = private unnamed_addr constant [4 x i8] c"bar\00" +@.str6451 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6452 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6453 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6454 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6455 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6456 = private unnamed_addr constant [4 x i8] c"max\00" +@.str6457 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6458 = private unnamed_addr constant [5 x i8] c"back\00" +@.str6459 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" +@.str6460 = private unnamed_addr constant [11 x i8] c"frame_rect\00" +@.str6461 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6462 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6463 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6464 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6465 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6466 = private unnamed_addr constant [10 x i8] c"put_pixel\00" +@.str6467 = private unnamed_addr constant [7 x i8] c"put_px\00" +@.str6468 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6469 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6470 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6471 = private unnamed_addr constant [10 x i8] c"draw_text\00" +@.str6472 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6473 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6474 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6475 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6476 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6477 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6478 = private unnamed_addr constant [12 x i8] c"draw_number\00" +@.str6479 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str6480 = private unnamed_addr constant [2 x i8] c"x\00" @.str6481 = private unnamed_addr constant [2 x i8] c"y\00" -@.str6482 = private unnamed_addr constant [7 x i8] c"active\00" -@.str6483 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" -@.str6484 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" -@.str6485 = private unnamed_addr constant [5 x i8] c"mode\00" -@.str6486 = private unnamed_addr constant [6 x i8] c"Audio\00" -@.str6487 = private unnamed_addr constant [5 x i8] c"load\00" -@.str6488 = private unnamed_addr constant [11 x i8] c"audio_load\00" -@.str6489 = private unnamed_addr constant [5 x i8] c"path\00" -@.str6490 = private unnamed_addr constant [5 x i8] c"play\00" -@.str6491 = private unnamed_addr constant [11 x i8] c"audio_play\00" -@.str6492 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6493 = private unnamed_addr constant [11 x i8] c"play_sound\00" -@.str6494 = private unnamed_addr constant [11 x i8] c"audio_play\00" -@.str6495 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6496 = private unnamed_addr constant [11 x i8] c"play_music\00" -@.str6497 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" -@.str6498 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6499 = private unnamed_addr constant [5 x i8] c"stop\00" -@.str6500 = private unnamed_addr constant [11 x i8] c"audio_stop\00" -@.str6501 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6502 = private unnamed_addr constant [11 x i8] c"stop_music\00" -@.str6503 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" -@.str6504 = private unnamed_addr constant [9 x i8] c"stop_all\00" -@.str6505 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" -@.str6506 = private unnamed_addr constant [7 x i8] c"volume\00" -@.str6507 = private unnamed_addr constant [13 x i8] c"audio_volume\00" -@.str6508 = private unnamed_addr constant [2 x i8] c"v\00" -@.str6509 = private unnamed_addr constant [6 x i8] c"pitch\00" -@.str6510 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" -@.str6511 = private unnamed_addr constant [2 x i8] c"v\00" -@.str6512 = private unnamed_addr constant [11 x i8] c"is_playing\00" -@.str6513 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" -@.str6514 = private unnamed_addr constant [3 x i8] c"id\00" -@.str6515 = private unnamed_addr constant [5 x i8] c"Http\00" -@.str6516 = private unnamed_addr constant [4 x i8] c"get\00" -@.str6517 = private unnamed_addr constant [9 x i8] c"http_get\00" -@.str6518 = private unnamed_addr constant [4 x i8] c"url\00" -@.str6519 = private unnamed_addr constant [5 x i8] c"post\00" -@.str6520 = private unnamed_addr constant [10 x i8] c"http_post\00" -@.str6521 = private unnamed_addr constant [4 x i8] c"url\00" -@.str6522 = private unnamed_addr constant [5 x i8] c"body\00" -@.str6523 = private unnamed_addr constant [8 x i8] c"request\00" -@.str6524 = private unnamed_addr constant [13 x i8] c"http_request\00" -@.str6525 = private unnamed_addr constant [7 x i8] c"method\00" -@.str6526 = private unnamed_addr constant [4 x i8] c"url\00" -@.str6527 = private unnamed_addr constant [5 x i8] c"body\00" -@.str6528 = private unnamed_addr constant [5 x i8] c"open\00" -@.str6529 = private unnamed_addr constant [10 x i8] c"http_open\00" -@.str6530 = private unnamed_addr constant [7 x i8] c"method\00" -@.str6531 = private unnamed_addr constant [4 x i8] c"url\00" -@.str6532 = private unnamed_addr constant [4 x i8] c"set\00" -@.str6533 = private unnamed_addr constant [16 x i8] c"http_set_header\00" -@.str6534 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6535 = private unnamed_addr constant [5 x i8] c"name\00" -@.str6536 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6537 = private unnamed_addr constant [5 x i8] c"body\00" -@.str6538 = private unnamed_addr constant [10 x i8] c"http_body\00" -@.str6539 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6540 = private unnamed_addr constant [5 x i8] c"body\00" -@.str6541 = private unnamed_addr constant [11 x i8] c"body_bytes\00" -@.str6542 = private unnamed_addr constant [12 x i8] c"http_body_n\00" -@.str6543 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6544 = private unnamed_addr constant [6 x i8] c"bytes\00" -@.str6545 = private unnamed_addr constant [4 x i8] c"len\00" -@.str6546 = private unnamed_addr constant [5 x i8] c"send\00" -@.str6547 = private unnamed_addr constant [14 x i8] c"http_send_req\00" -@.str6548 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6549 = private unnamed_addr constant [5 x i8] c"poll\00" -@.str6550 = private unnamed_addr constant [10 x i8] c"http_poll\00" -@.str6551 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6552 = private unnamed_addr constant [7 x i8] c"status\00" -@.str6553 = private unnamed_addr constant [15 x i8] c"http_status_of\00" -@.str6554 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6555 = private unnamed_addr constant [3 x i8] c"ok\00" -@.str6556 = private unnamed_addr constant [8 x i8] c"http_ok\00" -@.str6557 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6558 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6559 = private unnamed_addr constant [10 x i8] c"http_text\00" -@.str6560 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6561 = private unnamed_addr constant [9 x i8] c"body_len\00" -@.str6562 = private unnamed_addr constant [14 x i8] c"http_body_len\00" -@.str6563 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6564 = private unnamed_addr constant [7 x i8] c"header\00" -@.str6565 = private unnamed_addr constant [15 x i8] c"http_header_of\00" -@.str6566 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6567 = private unnamed_addr constant [5 x i8] c"name\00" -@.str6568 = private unnamed_addr constant [5 x i8] c"free\00" -@.str6569 = private unnamed_addr constant [11 x i8] c"http_close\00" -@.str6570 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6571 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str6572 = private unnamed_addr constant [11 x i8] c"http_parse\00" -@.str6573 = private unnamed_addr constant [6 x i8] c"bytes\00" -@.str6574 = private unnamed_addr constant [4 x i8] c"len\00" -@.str6575 = private unnamed_addr constant [6 x i8] c"World\00" -@.str6576 = private unnamed_addr constant [4 x i8] c"get\00" -@.str6577 = private unnamed_addr constant [10 x i8] c"world_get\00" -@.str6578 = private unnamed_addr constant [4 x i8] c"set\00" -@.str6579 = private unnamed_addr constant [10 x i8] c"world_set\00" -@.str6580 = private unnamed_addr constant [4 x i8] c"has\00" -@.str6581 = private unnamed_addr constant [10 x i8] c"world_has\00" -@.str6582 = private unnamed_addr constant [6 x i8] c"count\00" -@.str6583 = private unnamed_addr constant [12 x i8] c"world_count\00" -@.str6584 = private unnamed_addr constant [5 x i8] c"size\00" -@.str6585 = private unnamed_addr constant [11 x i8] c"world_size\00" -@.str6586 = private unnamed_addr constant [6 x i8] c"spawn\00" -@.str6587 = private unnamed_addr constant [12 x i8] c"world_spawn\00" -@.str6588 = private unnamed_addr constant [8 x i8] c"despawn\00" -@.str6589 = private unnamed_addr constant [14 x i8] c"world_despawn\00" -@.str6590 = private unnamed_addr constant [5 x i8] c"save\00" -@.str6591 = private unnamed_addr constant [11 x i8] c"world_save\00" -@.str6592 = private unnamed_addr constant [5 x i8] c"load\00" -@.str6593 = private unnamed_addr constant [11 x i8] c"world_load\00" -@.str6594 = private unnamed_addr constant [8 x i8] c"prop_id\00" -@.str6595 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" -@.str6596 = private unnamed_addr constant [9 x i8] c"field_id\00" -@.str6597 = private unnamed_addr constant [15 x i8] c"world_field_id\00" -@.str6598 = private unnamed_addr constant [9 x i8] c"model_id\00" -@.str6599 = private unnamed_addr constant [15 x i8] c"world_model_id\00" -@.str6600 = private unnamed_addr constant [5 x i8] c"kind\00" -@.str6601 = private unnamed_addr constant [11 x i8] c"world_kind\00" -@.str6602 = private unnamed_addr constant [14 x i8] c"register_prop\00" -@.str6603 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" -@.str6604 = private unnamed_addr constant [7 x i8] c"attach\00" -@.str6605 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" -@.str6606 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str6607 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" -@.str6608 = private unnamed_addr constant [11 x i8] c"query_next\00" -@.str6609 = private unnamed_addr constant [17 x i8] c"world_query_next\00" -@.str6610 = private unnamed_addr constant [8 x i8] c"Network\00" -@.str6611 = private unnamed_addr constant [5 x i8] c"send\00" -@.str6612 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str6613 = private unnamed_addr constant [5 x i8] c"poll\00" -@.str6614 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str6615 = private unnamed_addr constant [10 x i8] c"serialize\00" -@.str6616 = private unnamed_addr constant [10 x i8] c"serialize\00" -@.str6617 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str6618 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str6619 = private unnamed_addr constant [6 x i8] c"owner\00" -@.str6620 = private unnamed_addr constant [6 x i8] c"owner\00" -@.str6621 = private unnamed_addr constant [10 x i8] c"set_owner\00" -@.str6622 = private unnamed_addr constant [10 x i8] c"set_owner\00" -@.str6623 = private unnamed_addr constant [10 x i8] c"is_server\00" -@.str6624 = private unnamed_addr constant [10 x i8] c"is_server\00" -@.str6625 = private unnamed_addr constant [9 x i8] c"is_owner\00" -@.str6626 = private unnamed_addr constant [9 x i8] c"is_owner\00" -@.str6627 = private unnamed_addr constant [9 x i8] c"local_id\00" -@.str6628 = private unnamed_addr constant [9 x i8] c"local_id\00" -@.str6629 = private unnamed_addr constant [7 x i8] c"System\00" -@.str6630 = private unnamed_addr constant [4 x i8] c"run\00" -@.str6631 = private unnamed_addr constant [4 x i8] c"run\00" -@.str6632 = private unnamed_addr constant [10 x i8] c"read_char\00" -@.str6633 = private unnamed_addr constant [10 x i8] c"read_char\00" -@.str6634 = private unnamed_addr constant [10 x i8] c"file_open\00" -@.str6635 = private unnamed_addr constant [10 x i8] c"file_open\00" -@.str6636 = private unnamed_addr constant [10 x i8] c"file_read\00" -@.str6637 = private unnamed_addr constant [10 x i8] c"file_read\00" -@.str6638 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str6639 = private unnamed_addr constant [11 x i8] c"file_write\00" -@.str6640 = private unnamed_addr constant [10 x i8] c"file_seek\00" -@.str6641 = private unnamed_addr constant [10 x i8] c"file_seek\00" -@.str6642 = private unnamed_addr constant [10 x i8] c"file_tell\00" -@.str6643 = private unnamed_addr constant [10 x i8] c"file_tell\00" -@.str6644 = private unnamed_addr constant [11 x i8] c"file_close\00" -@.str6645 = private unnamed_addr constant [11 x i8] c"file_close\00" -@.str6646 = private unnamed_addr constant [5 x i8] c"Save\00" -@.str6647 = private unnamed_addr constant [6 x i8] c"write\00" -@.str6648 = private unnamed_addr constant [5 x i8] c"save\00" -@.str6649 = private unnamed_addr constant [5 x i8] c"read\00" -@.str6650 = private unnamed_addr constant [5 x i8] c"load\00" -@.str6651 = private unnamed_addr constant [6 x i8] c"Regex\00" -@.str6652 = private unnamed_addr constant [8 x i8] c"compile\00" -@.str6653 = private unnamed_addr constant [14 x i8] c"regex_compile\00" -@.str6654 = private unnamed_addr constant [8 x i8] c"pattern\00" -@.str6655 = private unnamed_addr constant [6 x i8] c"valid\00" -@.str6656 = private unnamed_addr constant [12 x i8] c"regex_valid\00" -@.str6657 = private unnamed_addr constant [8 x i8] c"pattern\00" -@.str6658 = private unnamed_addr constant [8 x i8] c"matches\00" -@.str6659 = private unnamed_addr constant [14 x i8] c"regex_matches\00" -@.str6660 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6661 = private unnamed_addr constant [8 x i8] c"pattern\00" -@.str6662 = private unnamed_addr constant [5 x i8] c"test\00" -@.str6663 = private unnamed_addr constant [11 x i8] c"regex_test\00" -@.str6664 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6665 = private unnamed_addr constant [3 x i8] c"re\00" -@.str6666 = private unnamed_addr constant [5 x i8] c"find\00" -@.str6667 = private unnamed_addr constant [11 x i8] c"regex_find\00" -@.str6668 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6669 = private unnamed_addr constant [8 x i8] c"pattern\00" -@.str6670 = private unnamed_addr constant [5 x i8] c"exec\00" -@.str6671 = private unnamed_addr constant [11 x i8] c"regex_exec\00" -@.str6672 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6673 = private unnamed_addr constant [3 x i8] c"re\00" -@.str6674 = private unnamed_addr constant [5 x i8] c"next\00" -@.str6675 = private unnamed_addr constant [11 x i8] c"regex_next\00" -@.str6676 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6677 = private unnamed_addr constant [3 x i8] c"re\00" -@.str6678 = private unnamed_addr constant [5 x i8] c"from\00" -@.str6679 = private unnamed_addr constant [8 x i8] c"replace\00" -@.str6680 = private unnamed_addr constant [14 x i8] c"regex_replace\00" -@.str6681 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6682 = private unnamed_addr constant [8 x i8] c"pattern\00" -@.str6683 = private unnamed_addr constant [12 x i8] c"replacement\00" -@.str6684 = private unnamed_addr constant [6 x i8] c"group\00" -@.str6685 = private unnamed_addr constant [12 x i8] c"regex_group\00" -@.str6686 = private unnamed_addr constant [6 x i8] c"match\00" -@.str6687 = private unnamed_addr constant [2 x i8] c"n\00" -@.str6688 = private unnamed_addr constant [12 x i8] c"group_count\00" -@.str6689 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" -@.str6690 = private unnamed_addr constant [6 x i8] c"match\00" -@.str6691 = private unnamed_addr constant [6 x i8] c"start\00" -@.str6692 = private unnamed_addr constant [12 x i8] c"regex_start\00" -@.str6693 = private unnamed_addr constant [6 x i8] c"match\00" -@.str6694 = private unnamed_addr constant [2 x i8] c"n\00" -@.str6695 = private unnamed_addr constant [4 x i8] c"end\00" -@.str6696 = private unnamed_addr constant [10 x i8] c"regex_end\00" -@.str6697 = private unnamed_addr constant [6 x i8] c"match\00" -@.str6698 = private unnamed_addr constant [2 x i8] c"n\00" -@.str6699 = private unnamed_addr constant [3 x i8] c"ok\00" -@.str6700 = private unnamed_addr constant [9 x i8] c"regex_ok\00" -@.str6701 = private unnamed_addr constant [6 x i8] c"match\00" -@.str6702 = private unnamed_addr constant [7 x i8] c"BigInt\00" -@.str6703 = private unnamed_addr constant [5 x i8] c"from\00" -@.str6704 = private unnamed_addr constant [12 x i8] c"bigint_from\00" -@.str6705 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6706 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str6707 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" -@.str6708 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6709 = private unnamed_addr constant [4 x i8] c"add\00" -@.str6710 = private unnamed_addr constant [11 x i8] c"bigint_add\00" -@.str6711 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6712 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6713 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str6714 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" -@.str6715 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6716 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6717 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str6718 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" -@.str6719 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6720 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6721 = private unnamed_addr constant [4 x i8] c"neg\00" -@.str6722 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" -@.str6723 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6724 = private unnamed_addr constant [4 x i8] c"pow\00" -@.str6725 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" -@.str6726 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6727 = private unnamed_addr constant [4 x i8] c"exp\00" -@.str6728 = private unnamed_addr constant [4 x i8] c"div\00" -@.str6729 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" -@.str6730 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6731 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6732 = private unnamed_addr constant [4 x i8] c"mod\00" -@.str6733 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" -@.str6734 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6735 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6736 = private unnamed_addr constant [4 x i8] c"cmp\00" -@.str6737 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" -@.str6738 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6739 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6740 = private unnamed_addr constant [3 x i8] c"eq\00" -@.str6741 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" -@.str6742 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6743 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6744 = private unnamed_addr constant [8 x i8] c"is_zero\00" -@.str6745 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" -@.str6746 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6747 = private unnamed_addr constant [7 x i8] c"to_int\00" -@.str6748 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" -@.str6749 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6750 = private unnamed_addr constant [4 x i8] c"str\00" -@.str6751 = private unnamed_addr constant [11 x i8] c"bigint_str\00" -@.str6752 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6753 = private unnamed_addr constant [8 x i8] c"Decimal\00" -@.str6754 = private unnamed_addr constant [5 x i8] c"from\00" -@.str6755 = private unnamed_addr constant [13 x i8] c"decimal_from\00" -@.str6756 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6757 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str6758 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" -@.str6759 = private unnamed_addr constant [5 x i8] c"text\00" -@.str6760 = private unnamed_addr constant [4 x i8] c"add\00" -@.str6761 = private unnamed_addr constant [12 x i8] c"decimal_add\00" -@.str6762 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6763 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6764 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str6765 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" -@.str6766 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6767 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6768 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str6769 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" -@.str6770 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6771 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6772 = private unnamed_addr constant [4 x i8] c"neg\00" -@.str6773 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" -@.str6774 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6775 = private unnamed_addr constant [4 x i8] c"cmp\00" -@.str6776 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" -@.str6777 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6778 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6779 = private unnamed_addr constant [3 x i8] c"eq\00" -@.str6780 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" -@.str6781 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6782 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6783 = private unnamed_addr constant [6 x i8] c"scale\00" -@.str6784 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" -@.str6785 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6786 = private unnamed_addr constant [8 x i8] c"rescale\00" -@.str6787 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" -@.str6788 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6789 = private unnamed_addr constant [7 x i8] c"places\00" -@.str6790 = private unnamed_addr constant [4 x i8] c"str\00" -@.str6791 = private unnamed_addr constant [12 x i8] c"decimal_str\00" -@.str6792 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6793 = private unnamed_addr constant [5 x i8] c"Dict\00" -@.str6794 = private unnamed_addr constant [4 x i8] c"new\00" -@.str6795 = private unnamed_addr constant [9 x i8] c"dict_new\00" -@.str6796 = private unnamed_addr constant [4 x i8] c"set\00" -@.str6797 = private unnamed_addr constant [9 x i8] c"dict_set\00" -@.str6798 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6799 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6800 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6801 = private unnamed_addr constant [4 x i8] c"get\00" -@.str6802 = private unnamed_addr constant [9 x i8] c"dict_get\00" -@.str6803 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6804 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6805 = private unnamed_addr constant [7 x i8] c"get_or\00" -@.str6806 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" -@.str6807 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6808 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6809 = private unnamed_addr constant [9 x i8] c"fallback\00" -@.str6810 = private unnamed_addr constant [4 x i8] c"has\00" -@.str6811 = private unnamed_addr constant [9 x i8] c"dict_has\00" -@.str6812 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6813 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6814 = private unnamed_addr constant [7 x i8] c"remove\00" -@.str6815 = private unnamed_addr constant [12 x i8] c"dict_remove\00" -@.str6816 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6817 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6818 = private unnamed_addr constant [5 x i8] c"size\00" -@.str6819 = private unnamed_addr constant [10 x i8] c"dict_size\00" -@.str6820 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6821 = private unnamed_addr constant [6 x i8] c"clear\00" -@.str6822 = private unnamed_addr constant [11 x i8] c"dict_clear\00" -@.str6823 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6824 = private unnamed_addr constant [5 x i8] c"keys\00" -@.str6825 = private unnamed_addr constant [10 x i8] c"dict_keys\00" -@.str6826 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6827 = private unnamed_addr constant [4 x i8] c"Set\00" -@.str6828 = private unnamed_addr constant [4 x i8] c"new\00" -@.str6829 = private unnamed_addr constant [8 x i8] c"set_new\00" -@.str6830 = private unnamed_addr constant [4 x i8] c"add\00" -@.str6831 = private unnamed_addr constant [8 x i8] c"set_add\00" -@.str6832 = private unnamed_addr constant [2 x i8] c"s\00" -@.str6833 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6834 = private unnamed_addr constant [4 x i8] c"has\00" -@.str6835 = private unnamed_addr constant [8 x i8] c"set_has\00" -@.str6836 = private unnamed_addr constant [2 x i8] c"s\00" -@.str6837 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6838 = private unnamed_addr constant [7 x i8] c"remove\00" -@.str6839 = private unnamed_addr constant [11 x i8] c"set_remove\00" -@.str6840 = private unnamed_addr constant [2 x i8] c"s\00" -@.str6841 = private unnamed_addr constant [4 x i8] c"key\00" -@.str6842 = private unnamed_addr constant [5 x i8] c"size\00" -@.str6843 = private unnamed_addr constant [9 x i8] c"set_size\00" -@.str6844 = private unnamed_addr constant [2 x i8] c"s\00" -@.str6845 = private unnamed_addr constant [6 x i8] c"clear\00" -@.str6846 = private unnamed_addr constant [10 x i8] c"set_clear\00" -@.str6847 = private unnamed_addr constant [2 x i8] c"s\00" -@.str6848 = private unnamed_addr constant [8 x i8] c"members\00" -@.str6849 = private unnamed_addr constant [12 x i8] c"set_members\00" -@.str6850 = private unnamed_addr constant [2 x i8] c"s\00" -@.str6851 = private unnamed_addr constant [4 x i8] c"Job\00" -@.str6852 = private unnamed_addr constant [6 x i8] c"defer\00" -@.str6853 = private unnamed_addr constant [10 x i8] c"job_defer\00" -@.str6854 = private unnamed_addr constant [4 x i8] c"run\00" -@.str6855 = private unnamed_addr constant [8 x i8] c"job_run\00" -@.str6856 = private unnamed_addr constant [5 x i8] c"kind\00" -@.str6857 = private unnamed_addr constant [4 x i8] c"arg\00" -@.str6858 = private unnamed_addr constant [8 x i8] c"fulfill\00" -@.str6859 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" -@.str6860 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6861 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6862 = private unnamed_addr constant [5 x i8] c"fail\00" -@.str6863 = private unnamed_addr constant [9 x i8] c"job_fail\00" -@.str6864 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6865 = private unnamed_addr constant [6 x i8] c"error\00" -@.str6866 = private unnamed_addr constant [7 x i8] c"cancel\00" -@.str6867 = private unnamed_addr constant [11 x i8] c"job_cancel\00" -@.str6868 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6869 = private unnamed_addr constant [5 x i8] c"pump\00" -@.str6870 = private unnamed_addr constant [9 x i8] c"job_pump\00" -@.str6871 = private unnamed_addr constant [7 x i8] c"budget\00" -@.str6872 = private unnamed_addr constant [5 x i8] c"done\00" -@.str6873 = private unnamed_addr constant [9 x i8] c"job_done\00" -@.str6874 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6875 = private unnamed_addr constant [3 x i8] c"ok\00" -@.str6876 = private unnamed_addr constant [7 x i8] c"job_ok\00" -@.str6877 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6878 = private unnamed_addr constant [7 x i8] c"failed\00" -@.str6879 = private unnamed_addr constant [11 x i8] c"job_failed\00" -@.str6880 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6881 = private unnamed_addr constant [10 x i8] c"cancelled\00" -@.str6882 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" -@.str6883 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6884 = private unnamed_addr constant [7 x i8] c"result\00" -@.str6885 = private unnamed_addr constant [11 x i8] c"job_result\00" -@.str6886 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6887 = private unnamed_addr constant [6 x i8] c"error\00" -@.str6888 = private unnamed_addr constant [10 x i8] c"job_error\00" -@.str6889 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6890 = private unnamed_addr constant [8 x i8] c"pending\00" -@.str6891 = private unnamed_addr constant [12 x i8] c"job_pending\00" -@.str6892 = private unnamed_addr constant [5 x i8] c"free\00" -@.str6893 = private unnamed_addr constant [9 x i8] c"job_free\00" -@.str6894 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str6895 = private unnamed_addr constant [8 x i8] c"Promise\00" -@.str6896 = private unnamed_addr constant [4 x i8] c"all\00" -@.str6897 = private unnamed_addr constant [9 x i8] c"prom_all\00" -@.str6898 = private unnamed_addr constant [8 x i8] c"handles\00" -@.str6899 = private unnamed_addr constant [5 x i8] c"race\00" -@.str6900 = private unnamed_addr constant [10 x i8] c"prom_race\00" -@.str6901 = private unnamed_addr constant [8 x i8] c"handles\00" -@.str6902 = private unnamed_addr constant [11 x i8] c"count_done\00" -@.str6903 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" -@.str6904 = private unnamed_addr constant [8 x i8] c"handles\00" -@.str6905 = private unnamed_addr constant [9 x i8] c"all_done\00" -@.str6906 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" -@.str6907 = private unnamed_addr constant [8 x i8] c"handles\00" -@.str6908 = private unnamed_addr constant [5 x i8] c"Sync\00" -@.str6909 = private unnamed_addr constant [6 x i8] c"mutex\00" -@.str6910 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" -@.str6911 = private unnamed_addr constant [5 x i8] c"lock\00" -@.str6912 = private unnamed_addr constant [10 x i8] c"sync_lock\00" -@.str6913 = private unnamed_addr constant [6 x i8] c"mutex\00" -@.str6914 = private unnamed_addr constant [7 x i8] c"unlock\00" -@.str6915 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" -@.str6916 = private unnamed_addr constant [6 x i8] c"mutex\00" -@.str6917 = private unnamed_addr constant [9 x i8] c"try_lock\00" -@.str6918 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" -@.str6919 = private unnamed_addr constant [6 x i8] c"mutex\00" -@.str6920 = private unnamed_addr constant [7 x i8] c"atomic\00" -@.str6921 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" -@.str6922 = private unnamed_addr constant [4 x i8] c"get\00" -@.str6923 = private unnamed_addr constant [9 x i8] c"sync_get\00" -@.str6924 = private unnamed_addr constant [7 x i8] c"atomic\00" -@.str6925 = private unnamed_addr constant [4 x i8] c"set\00" -@.str6926 = private unnamed_addr constant [9 x i8] c"sync_set\00" -@.str6927 = private unnamed_addr constant [7 x i8] c"atomic\00" -@.str6928 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6929 = private unnamed_addr constant [4 x i8] c"add\00" -@.str6930 = private unnamed_addr constant [9 x i8] c"sync_add\00" -@.str6931 = private unnamed_addr constant [7 x i8] c"atomic\00" -@.str6932 = private unnamed_addr constant [6 x i8] c"delta\00" -@.str6933 = private unnamed_addr constant [4 x i8] c"cas\00" -@.str6934 = private unnamed_addr constant [9 x i8] c"sync_cas\00" -@.str6935 = private unnamed_addr constant [7 x i8] c"atomic\00" -@.str6936 = private unnamed_addr constant [7 x i8] c"expect\00" -@.str6937 = private unnamed_addr constant [5 x i8] c"next\00" -@.str6938 = private unnamed_addr constant [8 x i8] c"channel\00" -@.str6939 = private unnamed_addr constant [13 x i8] c"sync_channel\00" -@.str6940 = private unnamed_addr constant [5 x i8] c"send\00" -@.str6941 = private unnamed_addr constant [10 x i8] c"sync_send\00" -@.str6942 = private unnamed_addr constant [8 x i8] c"channel\00" -@.str6943 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6944 = private unnamed_addr constant [5 x i8] c"recv\00" -@.str6945 = private unnamed_addr constant [10 x i8] c"sync_recv\00" -@.str6946 = private unnamed_addr constant [8 x i8] c"channel\00" -@.str6947 = private unnamed_addr constant [9 x i8] c"can_recv\00" -@.str6948 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" -@.str6949 = private unnamed_addr constant [8 x i8] c"channel\00" -@.str6950 = private unnamed_addr constant [4 x i8] c"len\00" -@.str6951 = private unnamed_addr constant [9 x i8] c"sync_len\00" -@.str6952 = private unnamed_addr constant [8 x i8] c"channel\00" -@.str6953 = private unnamed_addr constant [10 x i8] c"cpu_count\00" -@.str6954 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" -@.str6955 = private unnamed_addr constant [5 x i8] c"Huge\00" -@.str6956 = private unnamed_addr constant [5 x i8] c"from\00" -@.str6957 = private unnamed_addr constant [10 x i8] c"huge_from\00" -@.str6958 = private unnamed_addr constant [6 x i8] c"value\00" -@.str6959 = private unnamed_addr constant [4 x i8] c"add\00" -@.str6960 = private unnamed_addr constant [9 x i8] c"huge_add\00" -@.str6961 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6962 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6963 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str6964 = private unnamed_addr constant [9 x i8] c"huge_sub\00" -@.str6965 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6966 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6967 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str6968 = private unnamed_addr constant [9 x i8] c"huge_mul\00" -@.str6969 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6970 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6971 = private unnamed_addr constant [4 x i8] c"neg\00" -@.str6972 = private unnamed_addr constant [9 x i8] c"huge_neg\00" -@.str6973 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6974 = private unnamed_addr constant [4 x i8] c"cmp\00" -@.str6975 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" -@.str6976 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6977 = private unnamed_addr constant [2 x i8] c"b\00" -@.str6978 = private unnamed_addr constant [5 x i8] c"sign\00" -@.str6979 = private unnamed_addr constant [10 x i8] c"huge_sign\00" -@.str6980 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6981 = private unnamed_addr constant [9 x i8] c"mantissa\00" -@.str6982 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" -@.str6983 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6984 = private unnamed_addr constant [4 x i8] c"exp\00" -@.str6985 = private unnamed_addr constant [9 x i8] c"huge_exp\00" -@.str6986 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6987 = private unnamed_addr constant [4 x i8] c"str\00" -@.str6988 = private unnamed_addr constant [9 x i8] c"huge_str\00" -@.str6989 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6990 = private unnamed_addr constant [6 x i8] c"Angle\00" -@.str6991 = private unnamed_addr constant [13 x i8] c"from_degrees\00" -@.str6992 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" -@.str6993 = private unnamed_addr constant [2 x i8] c"d\00" -@.str6994 = private unnamed_addr constant [11 x i8] c"to_degrees\00" -@.str6995 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" -@.str6996 = private unnamed_addr constant [2 x i8] c"a\00" -@.str6997 = private unnamed_addr constant [5 x i8] c"wrap\00" -@.str6998 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" -@.str6999 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7000 = private unnamed_addr constant [4 x i8] c"sin\00" -@.str7001 = private unnamed_addr constant [10 x i8] c"angle_sin\00" -@.str7002 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7003 = private unnamed_addr constant [4 x i8] c"cos\00" -@.str7004 = private unnamed_addr constant [10 x i8] c"angle_cos\00" -@.str7005 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7006 = private unnamed_addr constant [4 x i8] c"add\00" -@.str7007 = private unnamed_addr constant [10 x i8] c"angle_add\00" -@.str7008 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7009 = private unnamed_addr constant [2 x i8] c"b\00" -@.str7010 = private unnamed_addr constant [5 x i8] c"diff\00" -@.str7011 = private unnamed_addr constant [11 x i8] c"angle_diff\00" -@.str7012 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7013 = private unnamed_addr constant [2 x i8] c"b\00" -@.str7014 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str7015 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" -@.str7016 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7017 = private unnamed_addr constant [2 x i8] c"b\00" -@.str7018 = private unnamed_addr constant [2 x i8] c"t\00" -@.str7019 = private unnamed_addr constant [8 x i8] c"Percent\00" -@.str7020 = private unnamed_addr constant [6 x i8] c"clamp\00" -@.str7021 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" +@.str6482 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6483 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6484 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6485 = private unnamed_addr constant [5 x i8] c"show\00" +@.str6486 = private unnamed_addr constant [8 x i8] c"present\00" +@.str6487 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6488 = private unnamed_addr constant [9 x i8] c"screen_w\00" +@.str6489 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6490 = private unnamed_addr constant [9 x i8] c"screen_h\00" +@.str6491 = private unnamed_addr constant [7 x i8] c"status\00" +@.str6492 = private unnamed_addr constant [7 x i8] c"status\00" +@.str6493 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6494 = private unnamed_addr constant [5 x i8] c"line\00" +@.str6495 = private unnamed_addr constant [5 x i8] c"line\00" +@.str6496 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str6497 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str6498 = private unnamed_addr constant [3 x i8] c"x2\00" +@.str6499 = private unnamed_addr constant [3 x i8] c"y2\00" +@.str6500 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6501 = private unnamed_addr constant [7 x i8] c"circle\00" +@.str6502 = private unnamed_addr constant [7 x i8] c"circle\00" +@.str6503 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6504 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6505 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str6506 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6507 = private unnamed_addr constant [12 x i8] c"fill_circle\00" +@.str6508 = private unnamed_addr constant [12 x i8] c"fill_circle\00" +@.str6509 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6510 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6511 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str6512 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6513 = private unnamed_addr constant [9 x i8] c"triangle\00" +@.str6514 = private unnamed_addr constant [9 x i8] c"triangle\00" +@.str6515 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str6516 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str6517 = private unnamed_addr constant [3 x i8] c"x2\00" +@.str6518 = private unnamed_addr constant [3 x i8] c"y2\00" +@.str6519 = private unnamed_addr constant [3 x i8] c"x3\00" +@.str6520 = private unnamed_addr constant [3 x i8] c"y3\00" +@.str6521 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6522 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" +@.str6523 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" +@.str6524 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str6525 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str6526 = private unnamed_addr constant [3 x i8] c"x2\00" +@.str6527 = private unnamed_addr constant [3 x i8] c"y2\00" +@.str6528 = private unnamed_addr constant [3 x i8] c"x3\00" +@.str6529 = private unnamed_addr constant [3 x i8] c"y3\00" +@.str6530 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6531 = private unnamed_addr constant [7 x i8] c"sprite\00" +@.str6532 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" +@.str6533 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6534 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6535 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6536 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" +@.str6537 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" +@.str6538 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6539 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6540 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6541 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6542 = private unnamed_addr constant [5 x i8] c"oval\00" +@.str6543 = private unnamed_addr constant [5 x i8] c"oval\00" +@.str6544 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6545 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6546 = private unnamed_addr constant [3 x i8] c"rx\00" +@.str6547 = private unnamed_addr constant [3 x i8] c"ry\00" +@.str6548 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6549 = private unnamed_addr constant [7 x i8] c"camera\00" +@.str6550 = private unnamed_addr constant [7 x i8] c"camera\00" +@.str6551 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6552 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6553 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str6554 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str6555 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6556 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6557 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6558 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6559 = private unnamed_addr constant [11 x i8] c"clip_reset\00" +@.str6560 = private unnamed_addr constant [11 x i8] c"clip_reset\00" +@.str6561 = private unnamed_addr constant [11 x i8] c"blend_mode\00" +@.str6562 = private unnamed_addr constant [11 x i8] c"blend_mode\00" +@.str6563 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str6564 = private unnamed_addr constant [13 x i8] c"measure_text\00" +@.str6565 = private unnamed_addr constant [13 x i8] c"measure_text\00" +@.str6566 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6567 = private unnamed_addr constant [6 x i8] c"pixel\00" +@.str6568 = private unnamed_addr constant [7 x i8] c"get_px\00" +@.str6569 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6570 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6571 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str6572 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6573 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" +@.str6574 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6575 = private unnamed_addr constant [6 x i8] c"cellw\00" +@.str6576 = private unnamed_addr constant [6 x i8] c"cellh\00" +@.str6577 = private unnamed_addr constant [5 x i8] c"cell\00" +@.str6578 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" +@.str6579 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6580 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6581 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6582 = private unnamed_addr constant [10 x i8] c"cell_span\00" +@.str6583 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" +@.str6584 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6585 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6586 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6587 = private unnamed_addr constant [5 x i8] c"cols\00" +@.str6588 = private unnamed_addr constant [5 x i8] c"rows\00" +@.str6589 = private unnamed_addr constant [6 x i8] c"strip\00" +@.str6590 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" +@.str6591 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6592 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6593 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6594 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6595 = private unnamed_addr constant [5 x i8] c"rows\00" +@.str6596 = private unnamed_addr constant [7 x i8] c"define\00" +@.str6597 = private unnamed_addr constant [13 x i8] c"atlas_define\00" +@.str6598 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6599 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6600 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6601 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6602 = private unnamed_addr constant [6 x i8] c"named\00" +@.str6603 = private unnamed_addr constant [12 x i8] c"atlas_named\00" +@.str6604 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6605 = private unnamed_addr constant [5 x i8] c"draw\00" +@.str6606 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" +@.str6607 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6608 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6609 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6610 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" +@.str6611 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" +@.str6612 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6613 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6614 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6615 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6616 = private unnamed_addr constant [11 x i8] c"draw_meter\00" +@.str6617 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" +@.str6618 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6619 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6620 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6621 = private unnamed_addr constant [4 x i8] c"max\00" +@.str6622 = private unnamed_addr constant [9 x i8] c"per_icon\00" +@.str6623 = private unnamed_addr constant [8 x i8] c"spacing\00" +@.str6624 = private unnamed_addr constant [5 x i8] c"full\00" +@.str6625 = private unnamed_addr constant [5 x i8] c"half\00" +@.str6626 = private unnamed_addr constant [6 x i8] c"empty\00" +@.str6627 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6628 = private unnamed_addr constant [12 x i8] c"atlas_width\00" +@.str6629 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6630 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6631 = private unnamed_addr constant [13 x i8] c"atlas_height\00" +@.str6632 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6633 = private unnamed_addr constant [5 x i8] c"Font\00" +@.str6634 = private unnamed_addr constant [5 x i8] c"load\00" +@.str6635 = private unnamed_addr constant [10 x i8] c"font_load\00" +@.str6636 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6637 = private unnamed_addr constant [3 x i8] c"Ui\00" +@.str6638 = private unnamed_addr constant [6 x i8] c"build\00" +@.str6639 = private unnamed_addr constant [9 x i8] c"ui_build\00" +@.str6640 = private unnamed_addr constant [5 x i8] c"open\00" +@.str6641 = private unnamed_addr constant [8 x i8] c"ui_open\00" +@.str6642 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6643 = private unnamed_addr constant [6 x i8] c"close\00" +@.str6644 = private unnamed_addr constant [9 x i8] c"ui_close\00" +@.str6645 = private unnamed_addr constant [5 x i8] c"tick\00" +@.str6646 = private unnamed_addr constant [8 x i8] c"ui_tick\00" +@.str6647 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6648 = private unnamed_addr constant [8 x i8] c"clicked\00" +@.str6649 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" +@.str6650 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6651 = private unnamed_addr constant [9 x i8] c"set_text\00" +@.str6652 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" +@.str6653 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6654 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6655 = private unnamed_addr constant [7 x i8] c"render\00" +@.str6656 = private unnamed_addr constant [10 x i8] c"ui_render\00" +@.str6657 = private unnamed_addr constant [5 x i8] c"File\00" +@.str6658 = private unnamed_addr constant [5 x i8] c"open\00" +@.str6659 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str6660 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6661 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str6662 = private unnamed_addr constant [5 x i8] c"read\00" +@.str6663 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str6664 = private unnamed_addr constant [5 x i8] c"file\00" +@.str6665 = private unnamed_addr constant [7 x i8] c"buffer\00" +@.str6666 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6667 = private unnamed_addr constant [6 x i8] c"write\00" +@.str6668 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str6669 = private unnamed_addr constant [5 x i8] c"file\00" +@.str6670 = private unnamed_addr constant [7 x i8] c"buffer\00" +@.str6671 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6672 = private unnamed_addr constant [5 x i8] c"seek\00" +@.str6673 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str6674 = private unnamed_addr constant [5 x i8] c"file\00" +@.str6675 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str6676 = private unnamed_addr constant [7 x i8] c"whence\00" +@.str6677 = private unnamed_addr constant [5 x i8] c"tell\00" +@.str6678 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str6679 = private unnamed_addr constant [5 x i8] c"file\00" +@.str6680 = private unnamed_addr constant [6 x i8] c"close\00" +@.str6681 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str6682 = private unnamed_addr constant [5 x i8] c"file\00" +@.str6683 = private unnamed_addr constant [3 x i8] c"Fx\00" +@.str6684 = private unnamed_addr constant [7 x i8] c"sparks\00" +@.str6685 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" +@.str6686 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6687 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6688 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6689 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6690 = private unnamed_addr constant [7 x i8] c"number\00" +@.str6691 = private unnamed_addr constant [10 x i8] c"fx_number\00" +@.str6692 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6693 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6694 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6695 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6696 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str6697 = private unnamed_addr constant [9 x i8] c"fx_clear\00" +@.str6698 = private unnamed_addr constant [7 x i8] c"Prefab\00" +@.str6699 = private unnamed_addr constant [9 x i8] c"spawn_at\00" +@.str6700 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" +@.str6701 = private unnamed_addr constant [9 x i8] c"Position\00" +@.str6702 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" +@.str6703 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6704 = private unnamed_addr constant [3 x i8] c"at\00" +@.str6705 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" +@.str6706 = private unnamed_addr constant [2 x i8] c")\00" +@.str6707 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6708 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" +@.str6709 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" +@.str6710 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6711 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6712 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" +@.str6713 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6714 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6715 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6716 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6717 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6718 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6719 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6720 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6721 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str6722 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str6723 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" +@.str6724 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6725 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" +@.str6726 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" +@.str6727 = private unnamed_addr constant [2 x i8] c")\00" +@.str6728 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str6729 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" +@.str6730 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str6731 = private unnamed_addr constant [5 x i8] c"font\00" +@.str6732 = private unnamed_addr constant [12 x i8] c"assets_font\00" +@.str6733 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6734 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" +@.str6735 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" +@.str6736 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6737 = private unnamed_addr constant [6 x i8] c"image\00" +@.str6738 = private unnamed_addr constant [12 x i8] c"atlas_image\00" +@.str6739 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6740 = private unnamed_addr constant [5 x i8] c"load\00" +@.str6741 = private unnamed_addr constant [12 x i8] c"atlas_image\00" +@.str6742 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6743 = private unnamed_addr constant [4 x i8] c"get\00" +@.str6744 = private unnamed_addr constant [12 x i8] c"atlas_named\00" +@.str6745 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6746 = private unnamed_addr constant [8 x i8] c"enqueue\00" +@.str6747 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" +@.str6748 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6749 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6750 = private unnamed_addr constant [5 x i8] c"pump\00" +@.str6751 = private unnamed_addr constant [12 x i8] c"assets_pump\00" +@.str6752 = private unnamed_addr constant [4 x i8] c"max\00" +@.str6753 = private unnamed_addr constant [6 x i8] c"total\00" +@.str6754 = private unnamed_addr constant [13 x i8] c"assets_total\00" +@.str6755 = private unnamed_addr constant [7 x i8] c"loaded\00" +@.str6756 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" +@.str6757 = private unnamed_addr constant [6 x i8] c"ready\00" +@.str6758 = private unnamed_addr constant [13 x i8] c"assets_ready\00" +@.str6759 = private unnamed_addr constant [9 x i8] c"progress\00" +@.str6760 = private unnamed_addr constant [16 x i8] c"assets_progress\00" +@.str6761 = private unnamed_addr constant [7 x i8] c"Camera\00" +@.str6762 = private unnamed_addr constant [4 x i8] c"set\00" +@.str6763 = private unnamed_addr constant [7 x i8] c"camera\00" +@.str6764 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6765 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6766 = private unnamed_addr constant [7 x i8] c"follow\00" +@.str6767 = private unnamed_addr constant [14 x i8] c"camera_follow\00" +@.str6768 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6769 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6770 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str6771 = private unnamed_addr constant [6 x i8] c"shake\00" +@.str6772 = private unnamed_addr constant [13 x i8] c"camera_shake\00" +@.str6773 = private unnamed_addr constant [7 x i8] c"amount\00" +@.str6774 = private unnamed_addr constant [10 x i8] c"shake_for\00" +@.str6775 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" +@.str6776 = private unnamed_addr constant [7 x i8] c"amount\00" +@.str6777 = private unnamed_addr constant [7 x i8] c"frames\00" +@.str6778 = private unnamed_addr constant [5 x i8] c"zoom\00" +@.str6779 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" +@.str6780 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6781 = private unnamed_addr constant [4 x i8] c"Map\00" +@.str6782 = private unnamed_addr constant [5 x i8] c"size\00" +@.str6783 = private unnamed_addr constant [9 x i8] c"map_size\00" +@.str6784 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6785 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6786 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6787 = private unnamed_addr constant [8 x i8] c"map_row\00" +@.str6788 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6789 = private unnamed_addr constant [6 x i8] c"cells\00" +@.str6790 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str6791 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str6792 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6793 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6794 = private unnamed_addr constant [4 x i8] c"get\00" +@.str6795 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str6796 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6797 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6798 = private unnamed_addr constant [4 x i8] c"set\00" +@.str6799 = private unnamed_addr constant [8 x i8] c"map_set\00" +@.str6800 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6801 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6802 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str6803 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str6804 = private unnamed_addr constant [9 x i8] c"map_fill\00" +@.str6805 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str6806 = private unnamed_addr constant [5 x i8] c"rect\00" +@.str6807 = private unnamed_addr constant [9 x i8] c"map_rect\00" +@.str6808 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6809 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6810 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6811 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6812 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str6813 = private unnamed_addr constant [7 x i8] c"border\00" +@.str6814 = private unnamed_addr constant [11 x i8] c"map_border\00" +@.str6815 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str6816 = private unnamed_addr constant [12 x i8] c"random_cell\00" +@.str6817 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" +@.str6818 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str6819 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" +@.str6820 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" +@.str6821 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str6822 = private unnamed_addr constant [5 x i8] c"from\00" +@.str6823 = private unnamed_addr constant [10 x i8] c"min_tiles\00" +@.str6824 = private unnamed_addr constant [9 x i8] c"is_solid\00" +@.str6825 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" +@.str6826 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6827 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6828 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" +@.str6829 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" +@.str6830 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6831 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6832 = private unnamed_addr constant [8 x i8] c"to_tile\00" +@.str6833 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" +@.str6834 = private unnamed_addr constant [6 x i8] c"pixel\00" +@.str6835 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6836 = private unnamed_addr constant [10 x i8] c"map_width\00" +@.str6837 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6838 = private unnamed_addr constant [11 x i8] c"map_height\00" +@.str6839 = private unnamed_addr constant [7 x i8] c"Random\00" +@.str6840 = private unnamed_addr constant [6 x i8] c"range\00" +@.str6841 = private unnamed_addr constant [10 x i8] c"rng_range\00" +@.str6842 = private unnamed_addr constant [4 x i8] c"low\00" +@.str6843 = private unnamed_addr constant [5 x i8] c"high\00" +@.str6844 = private unnamed_addr constant [9 x i8] c"weighted\00" +@.str6845 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" +@.str6846 = private unnamed_addr constant [8 x i8] c"weights\00" +@.str6847 = private unnamed_addr constant [7 x i8] c"chance\00" +@.str6848 = private unnamed_addr constant [11 x i8] c"rng_chance\00" +@.str6849 = private unnamed_addr constant [8 x i8] c"percent\00" +@.str6850 = private unnamed_addr constant [5 x i8] c"seed\00" +@.str6851 = private unnamed_addr constant [5 x i8] c"seed\00" +@.str6852 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6853 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6854 = private unnamed_addr constant [10 x i8] c"rng_value\00" +@.str6855 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6856 = private unnamed_addr constant [8 x i8] c"rng_int\00" +@.str6857 = private unnamed_addr constant [4 x i8] c"max\00" +@.str6858 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str6859 = private unnamed_addr constant [9 x i8] c"rng_sign\00" +@.str6860 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str6861 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6862 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6863 = private unnamed_addr constant [5 x i8] c"bind\00" +@.str6864 = private unnamed_addr constant [11 x i8] c"input_bind\00" +@.str6865 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6866 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6867 = private unnamed_addr constant [7 x i8] c"rebind\00" +@.str6868 = private unnamed_addr constant [13 x i8] c"input_rebind\00" +@.str6869 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6870 = private unnamed_addr constant [4 x i8] c"old\00" +@.str6871 = private unnamed_addr constant [4 x i8] c"new\00" +@.str6872 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str6873 = private unnamed_addr constant [11 x i8] c"input_poll\00" +@.str6874 = private unnamed_addr constant [5 x i8] c"down\00" +@.str6875 = private unnamed_addr constant [11 x i8] c"input_down\00" +@.str6876 = private unnamed_addr constant [8 x i8] c"pressed\00" +@.str6877 = private unnamed_addr constant [14 x i8] c"input_pressed\00" +@.str6878 = private unnamed_addr constant [7 x i8] c"record\00" +@.str6879 = private unnamed_addr constant [13 x i8] c"input_record\00" +@.str6880 = private unnamed_addr constant [7 x i8] c"replay\00" +@.str6881 = private unnamed_addr constant [13 x i8] c"input_replay\00" +@.str6882 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6883 = private unnamed_addr constant [14 x i8] c"input_default\00" +@.str6884 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6885 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6886 = private unnamed_addr constant [9 x i8] c"bind_pad\00" +@.str6887 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" +@.str6888 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6889 = private unnamed_addr constant [7 x i8] c"button\00" +@.str6890 = private unnamed_addr constant [7 x i8] c"active\00" +@.str6891 = private unnamed_addr constant [13 x i8] c"input_active\00" +@.str6892 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6893 = private unnamed_addr constant [13 x i8] c"just_pressed\00" +@.str6894 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" +@.str6895 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6896 = private unnamed_addr constant [14 x i8] c"just_released\00" +@.str6897 = private unnamed_addr constant [20 x i8] c"input_just_released\00" +@.str6898 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6899 = private unnamed_addr constant [9 x i8] c"key_down\00" +@.str6900 = private unnamed_addr constant [15 x i8] c"input_key_down\00" +@.str6901 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6902 = private unnamed_addr constant [12 x i8] c"key_pressed\00" +@.str6903 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" +@.str6904 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6905 = private unnamed_addr constant [13 x i8] c"key_released\00" +@.str6906 = private unnamed_addr constant [19 x i8] c"input_key_released\00" +@.str6907 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6908 = private unnamed_addr constant [6 x i8] c"press\00" +@.str6909 = private unnamed_addr constant [12 x i8] c"input_press\00" +@.str6910 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6911 = private unnamed_addr constant [8 x i8] c"release\00" +@.str6912 = private unnamed_addr constant [14 x i8] c"input_release\00" +@.str6913 = private unnamed_addr constant [4 x i8] c"key\00" +@.str6914 = private unnamed_addr constant [5 x i8] c"axis\00" +@.str6915 = private unnamed_addr constant [11 x i8] c"input_axis\00" +@.str6916 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str6917 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str6918 = private unnamed_addr constant [7 x i8] c"axis_i\00" +@.str6919 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" +@.str6920 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str6921 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str6922 = private unnamed_addr constant [7 x i8] c"move_i\00" +@.str6923 = private unnamed_addr constant [13 x i8] c"input_move_i\00" +@.str6924 = private unnamed_addr constant [7 x i8] c"vector\00" +@.str6925 = private unnamed_addr constant [13 x i8] c"input_vector\00" +@.str6926 = private unnamed_addr constant [5 x i8] c"left\00" +@.str6927 = private unnamed_addr constant [6 x i8] c"right\00" +@.str6928 = private unnamed_addr constant [3 x i8] c"up\00" +@.str6929 = private unnamed_addr constant [5 x i8] c"down\00" +@.str6930 = private unnamed_addr constant [9 x i8] c"strength\00" +@.str6931 = private unnamed_addr constant [15 x i8] c"input_strength\00" +@.str6932 = private unnamed_addr constant [7 x i8] c"action\00" +@.str6933 = private unnamed_addr constant [8 x i8] c"mouse_x\00" +@.str6934 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" +@.str6935 = private unnamed_addr constant [8 x i8] c"mouse_y\00" +@.str6936 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" +@.str6937 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" +@.str6938 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" +@.str6939 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" +@.str6940 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" +@.str6941 = private unnamed_addr constant [11 x i8] c"mouse_down\00" +@.str6942 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" +@.str6943 = private unnamed_addr constant [7 x i8] c"button\00" +@.str6944 = private unnamed_addr constant [6 x i8] c"wheel\00" +@.str6945 = private unnamed_addr constant [12 x i8] c"input_wheel\00" +@.str6946 = private unnamed_addr constant [10 x i8] c"set_mouse\00" +@.str6947 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" +@.str6948 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6949 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6950 = private unnamed_addr constant [8 x i8] c"buttons\00" +@.str6951 = private unnamed_addr constant [6 x i8] c"wheel\00" +@.str6952 = private unnamed_addr constant [14 x i8] c"pad_connected\00" +@.str6953 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" +@.str6954 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str6955 = private unnamed_addr constant [11 x i8] c"pad_button\00" +@.str6956 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" +@.str6957 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str6958 = private unnamed_addr constant [7 x i8] c"button\00" +@.str6959 = private unnamed_addr constant [9 x i8] c"pad_axis\00" +@.str6960 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" +@.str6961 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str6962 = private unnamed_addr constant [5 x i8] c"axis\00" +@.str6963 = private unnamed_addr constant [8 x i8] c"set_pad\00" +@.str6964 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" +@.str6965 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str6966 = private unnamed_addr constant [10 x i8] c"connected\00" +@.str6967 = private unnamed_addr constant [8 x i8] c"buttons\00" +@.str6968 = private unnamed_addr constant [3 x i8] c"lx\00" +@.str6969 = private unnamed_addr constant [3 x i8] c"ly\00" +@.str6970 = private unnamed_addr constant [3 x i8] c"rx\00" +@.str6971 = private unnamed_addr constant [3 x i8] c"ry\00" +@.str6972 = private unnamed_addr constant [12 x i8] c"touch_count\00" +@.str6973 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" +@.str6974 = private unnamed_addr constant [8 x i8] c"touch_x\00" +@.str6975 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" +@.str6976 = private unnamed_addr constant [6 x i8] c"index\00" +@.str6977 = private unnamed_addr constant [8 x i8] c"touch_y\00" +@.str6978 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" +@.str6979 = private unnamed_addr constant [6 x i8] c"index\00" +@.str6980 = private unnamed_addr constant [10 x i8] c"set_touch\00" +@.str6981 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" +@.str6982 = private unnamed_addr constant [6 x i8] c"index\00" +@.str6983 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6984 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6985 = private unnamed_addr constant [7 x i8] c"active\00" +@.str6986 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" +@.str6987 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" +@.str6988 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str6989 = private unnamed_addr constant [6 x i8] c"Audio\00" +@.str6990 = private unnamed_addr constant [5 x i8] c"load\00" +@.str6991 = private unnamed_addr constant [11 x i8] c"audio_load\00" +@.str6992 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6993 = private unnamed_addr constant [7 x i8] c"define\00" +@.str6994 = private unnamed_addr constant [13 x i8] c"audio_define\00" +@.str6995 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6996 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6997 = private unnamed_addr constant [6 x i8] c"named\00" +@.str6998 = private unnamed_addr constant [12 x i8] c"audio_named\00" +@.str6999 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7000 = private unnamed_addr constant [5 x i8] c"play\00" +@.str7001 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" +@.str7002 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7003 = private unnamed_addr constant [11 x i8] c"audio_play\00" +@.str7004 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7005 = private unnamed_addr constant [11 x i8] c"play_sound\00" +@.str7006 = private unnamed_addr constant [11 x i8] c"audio_play\00" +@.str7007 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7008 = private unnamed_addr constant [11 x i8] c"play_music\00" +@.str7009 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" +@.str7010 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7011 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" +@.str7012 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7013 = private unnamed_addr constant [5 x i8] c"stop\00" +@.str7014 = private unnamed_addr constant [11 x i8] c"audio_stop\00" +@.str7015 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7016 = private unnamed_addr constant [11 x i8] c"stop_music\00" +@.str7017 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" +@.str7018 = private unnamed_addr constant [9 x i8] c"stop_all\00" +@.str7019 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" +@.str7020 = private unnamed_addr constant [7 x i8] c"volume\00" +@.str7021 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str7022 = private unnamed_addr constant [2 x i8] c"v\00" -@.str7023 = private unnamed_addr constant [3 x i8] c"of\00" -@.str7024 = private unnamed_addr constant [11 x i8] c"percent_of\00" -@.str7025 = private unnamed_addr constant [4 x i8] c"num\00" -@.str7026 = private unnamed_addr constant [4 x i8] c"den\00" -@.str7027 = private unnamed_addr constant [5 x i8] c"lerp\00" -@.str7028 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" -@.str7029 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7030 = private unnamed_addr constant [2 x i8] c"b\00" -@.str7031 = private unnamed_addr constant [2 x i8] c"t\00" -@.str7032 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str7033 = private unnamed_addr constant [14 x i8] c"percent_apply\00" -@.str7034 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7035 = private unnamed_addr constant [2 x i8] c"p\00" -@.str7036 = private unnamed_addr constant [5 x i8] c"Grid\00" -@.str7037 = private unnamed_addr constant [5 x i8] c"line\00" -@.str7038 = private unnamed_addr constant [10 x i8] c"grid_line\00" -@.str7039 = private unnamed_addr constant [3 x i8] c"x0\00" -@.str7040 = private unnamed_addr constant [3 x i8] c"y0\00" -@.str7041 = private unnamed_addr constant [3 x i8] c"x1\00" -@.str7042 = private unnamed_addr constant [3 x i8] c"y1\00" -@.str7043 = private unnamed_addr constant [8 x i8] c"blocked\00" -@.str7044 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" -@.str7045 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7046 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7047 = private unnamed_addr constant [5 x i8] c"wall\00" -@.str7048 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" -@.str7049 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" -@.str7050 = private unnamed_addr constant [3 x i8] c"x0\00" -@.str7051 = private unnamed_addr constant [3 x i8] c"y0\00" -@.str7052 = private unnamed_addr constant [3 x i8] c"x1\00" -@.str7053 = private unnamed_addr constant [3 x i8] c"y1\00" -@.str7054 = private unnamed_addr constant [5 x i8] c"wall\00" -@.str7055 = private unnamed_addr constant [6 x i8] c"flood\00" -@.str7056 = private unnamed_addr constant [11 x i8] c"grid_flood\00" -@.str7057 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7058 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7059 = private unnamed_addr constant [5 x i8] c"wall\00" -@.str7060 = private unnamed_addr constant [7 x i8] c"a_star\00" -@.str7061 = private unnamed_addr constant [12 x i8] c"path_a_star\00" -@.str7062 = private unnamed_addr constant [3 x i8] c"x0\00" -@.str7063 = private unnamed_addr constant [3 x i8] c"y0\00" -@.str7064 = private unnamed_addr constant [3 x i8] c"x1\00" -@.str7065 = private unnamed_addr constant [3 x i8] c"y1\00" -@.str7066 = private unnamed_addr constant [5 x i8] c"wall\00" -@.str7067 = private unnamed_addr constant [6 x i8] c"Light\00" -@.str7068 = private unnamed_addr constant [8 x i8] c"ambient\00" -@.str7069 = private unnamed_addr constant [14 x i8] c"light_ambient\00" -@.str7070 = private unnamed_addr constant [6 x i8] c"color\00" -@.str7071 = private unnamed_addr constant [6 x i8] c"point\00" -@.str7072 = private unnamed_addr constant [12 x i8] c"light_point\00" -@.str7073 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7074 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7075 = private unnamed_addr constant [7 x i8] c"radius\00" -@.str7076 = private unnamed_addr constant [6 x i8] c"color\00" -@.str7077 = private unnamed_addr constant [7 x i8] c"energy\00" -@.str7078 = private unnamed_addr constant [5 x i8] c"spot\00" -@.str7079 = private unnamed_addr constant [11 x i8] c"light_spot\00" -@.str7080 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7081 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7082 = private unnamed_addr constant [7 x i8] c"radius\00" -@.str7083 = private unnamed_addr constant [6 x i8] c"color\00" -@.str7084 = private unnamed_addr constant [7 x i8] c"energy\00" -@.str7085 = private unnamed_addr constant [10 x i8] c"direction\00" -@.str7086 = private unnamed_addr constant [7 x i8] c"spread\00" -@.str7087 = private unnamed_addr constant [8 x i8] c"occlude\00" -@.str7088 = private unnamed_addr constant [14 x i8] c"light_occlude\00" -@.str7089 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7090 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7091 = private unnamed_addr constant [6 x i8] c"width\00" -@.str7092 = private unnamed_addr constant [7 x i8] c"height\00" -@.str7093 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" -@.str7094 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" -@.str7095 = private unnamed_addr constant [8 x i8] c"falloff\00" -@.str7096 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" -@.str7097 = private unnamed_addr constant [9 x i8] c"exponent\00" -@.str7098 = private unnamed_addr constant [5 x i8] c"soft\00" -@.str7099 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" -@.str7100 = private unnamed_addr constant [7 x i8] c"radius\00" -@.str7101 = private unnamed_addr constant [4 x i8] c"gel\00" -@.str7102 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" -@.str7103 = private unnamed_addr constant [6 x i8] c"color\00" -@.str7104 = private unnamed_addr constant [10 x i8] c"clear_gel\00" -@.str7105 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" -@.str7106 = private unnamed_addr constant [7 x i8] c"height\00" -@.str7107 = private unnamed_addr constant [17 x i8] c"light_set_height\00" -@.str7108 = private unnamed_addr constant [7 x i8] c"height\00" -@.str7109 = private unnamed_addr constant [7 x i8] c"normal\00" -@.str7110 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" -@.str7111 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7112 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7113 = private unnamed_addr constant [6 x i8] c"width\00" -@.str7114 = private unnamed_addr constant [7 x i8] c"height\00" -@.str7115 = private unnamed_addr constant [3 x i8] c"nx\00" -@.str7116 = private unnamed_addr constant [3 x i8] c"ny\00" -@.str7117 = private unnamed_addr constant [14 x i8] c"clear_normals\00" -@.str7118 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" -@.str7119 = private unnamed_addr constant [12 x i8] c"time_of_day\00" -@.str7120 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" -@.str7121 = private unnamed_addr constant [2 x i8] c"t\00" -@.str7122 = private unnamed_addr constant [5 x i8] c"Anim\00" -@.str7123 = private unnamed_addr constant [5 x i8] c"clip\00" -@.str7124 = private unnamed_addr constant [10 x i8] c"anim_clip\00" -@.str7125 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7126 = private unnamed_addr constant [7 x i8] c"frames\00" -@.str7127 = private unnamed_addr constant [4 x i8] c"fps\00" -@.str7128 = private unnamed_addr constant [5 x i8] c"mode\00" -@.str7129 = private unnamed_addr constant [9 x i8] c"on_frame\00" -@.str7130 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" -@.str7131 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7132 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str7133 = private unnamed_addr constant [6 x i8] c"fired\00" -@.str7134 = private unnamed_addr constant [11 x i8] c"anim_fired\00" -@.str7135 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7136 = private unnamed_addr constant [5 x i8] c"play\00" -@.str7137 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" -@.str7138 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7139 = private unnamed_addr constant [5 x i8] c"clip\00" -@.str7140 = private unnamed_addr constant [10 x i8] c"anim_play\00" -@.str7141 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7142 = private unnamed_addr constant [4 x i8] c"fps\00" -@.str7143 = private unnamed_addr constant [7 x i8] c"frames\00" -@.str7144 = private unnamed_addr constant [5 x i8] c"mode\00" -@.str7145 = private unnamed_addr constant [7 x i8] c"Motion\00" -@.str7146 = private unnamed_addr constant [3 x i8] c"to\00" -@.str7147 = private unnamed_addr constant [10 x i8] c"motion_to\00" -@.str7148 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7149 = private unnamed_addr constant [5 x i8] c"from\00" -@.str7150 = private unnamed_addr constant [3 x i8] c"to\00" -@.str7151 = private unnamed_addr constant [4 x i8] c"dur\00" -@.str7152 = private unnamed_addr constant [5 x i8] c"ease\00" -@.str7153 = private unnamed_addr constant [6 x i8] c"Tween\00" -@.str7154 = private unnamed_addr constant [3 x i8] c"to\00" -@.str7155 = private unnamed_addr constant [9 x i8] c"tween_to\00" -@.str7156 = private unnamed_addr constant [5 x i8] c"from\00" -@.str7157 = private unnamed_addr constant [3 x i8] c"to\00" -@.str7158 = private unnamed_addr constant [4 x i8] c"dur\00" -@.str7159 = private unnamed_addr constant [5 x i8] c"ease\00" -@.str7160 = private unnamed_addr constant [6 x i8] c"chain\00" -@.str7161 = private unnamed_addr constant [12 x i8] c"tween_chain\00" -@.str7162 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str7163 = private unnamed_addr constant [3 x i8] c"to\00" -@.str7164 = private unnamed_addr constant [4 x i8] c"dur\00" -@.str7165 = private unnamed_addr constant [5 x i8] c"ease\00" -@.str7166 = private unnamed_addr constant [6 x i8] c"delay\00" -@.str7167 = private unnamed_addr constant [12 x i8] c"tween_delay\00" -@.str7168 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str7169 = private unnamed_addr constant [6 x i8] c"ticks\00" -@.str7170 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7171 = private unnamed_addr constant [12 x i8] c"tween_value\00" -@.str7172 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str7173 = private unnamed_addr constant [5 x i8] c"stop\00" -@.str7174 = private unnamed_addr constant [11 x i8] c"tween_stop\00" -@.str7175 = private unnamed_addr constant [7 x i8] c"handle\00" -@.str7176 = private unnamed_addr constant [9 x i8] c"parallel\00" -@.str7177 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" -@.str7178 = private unnamed_addr constant [2 x i8] c"a\00" -@.str7179 = private unnamed_addr constant [2 x i8] c"b\00" -@.str7180 = private unnamed_addr constant [6 x i8] c"Query\00" -@.str7181 = private unnamed_addr constant [6 x i8] c"count\00" -@.str7182 = private unnamed_addr constant [12 x i8] c"query_count\00" -@.str7183 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7184 = private unnamed_addr constant [6 x i8] c"first\00" -@.str7185 = private unnamed_addr constant [12 x i8] c"query_first\00" -@.str7186 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7187 = private unnamed_addr constant [8 x i8] c"nearest\00" -@.str7188 = private unnamed_addr constant [14 x i8] c"query_nearest\00" -@.str7189 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7190 = private unnamed_addr constant [4 x i8] c"pos\00" -@.str7191 = private unnamed_addr constant [8 x i8] c"x_field\00" -@.str7192 = private unnamed_addr constant [8 x i8] c"y_field\00" -@.str7193 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7194 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7195 = private unnamed_addr constant [7 x i8] c"within\00" -@.str7196 = private unnamed_addr constant [13 x i8] c"query_within\00" -@.str7197 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7198 = private unnamed_addr constant [4 x i8] c"pos\00" -@.str7199 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7200 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7201 = private unnamed_addr constant [7 x i8] c"radius\00" -@.str7202 = private unnamed_addr constant [8 x i8] c"x_field\00" -@.str7203 = private unnamed_addr constant [8 x i8] c"y_field\00" -@.str7204 = private unnamed_addr constant [8 x i8] c"Reflect\00" -@.str7205 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7206 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" -@.str7207 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7208 = private unnamed_addr constant [6 x i8] c"field\00" -@.str7209 = private unnamed_addr constant [15 x i8] c"world_field_id\00" -@.str7210 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7211 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7212 = private unnamed_addr constant [11 x i8] c"prop_count\00" -@.str7213 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" -@.str7214 = private unnamed_addr constant [10 x i8] c"prop_name\00" -@.str7215 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" -@.str7216 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7217 = private unnamed_addr constant [12 x i8] c"field_count\00" -@.str7218 = private unnamed_addr constant [18 x i8] c"world_field_count\00" -@.str7219 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7220 = private unnamed_addr constant [11 x i8] c"field_name\00" -@.str7221 = private unnamed_addr constant [17 x i8] c"world_field_name\00" -@.str7222 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7223 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7224 = private unnamed_addr constant [11 x i8] c"field_type\00" -@.str7225 = private unnamed_addr constant [17 x i8] c"world_field_type\00" -@.str7226 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7227 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7228 = private unnamed_addr constant [4 x i8] c"get\00" -@.str7229 = private unnamed_addr constant [10 x i8] c"world_get\00" -@.str7230 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7231 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7232 = private unnamed_addr constant [6 x i8] c"field\00" -@.str7233 = private unnamed_addr constant [4 x i8] c"set\00" -@.str7234 = private unnamed_addr constant [10 x i8] c"world_set\00" -@.str7235 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7236 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7237 = private unnamed_addr constant [6 x i8] c"field\00" -@.str7238 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7239 = private unnamed_addr constant [4 x i8] c"has\00" -@.str7240 = private unnamed_addr constant [10 x i8] c"world_has\00" -@.str7241 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7242 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7243 = private unnamed_addr constant [5 x i8] c"kind\00" -@.str7244 = private unnamed_addr constant [11 x i8] c"world_kind\00" -@.str7245 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7246 = private unnamed_addr constant [6 x i8] c"model\00" -@.str7247 = private unnamed_addr constant [15 x i8] c"world_model_id\00" -@.str7248 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7249 = private unnamed_addr constant [10 x i8] c"serialize\00" -@.str7250 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" -@.str7251 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7252 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str7253 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" -@.str7254 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7255 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7256 = private unnamed_addr constant [6 x i8] c"Value\00" -@.str7257 = private unnamed_addr constant [5 x i8] c"null\00" -@.str7258 = private unnamed_addr constant [11 x i8] c"value_null\00" -@.str7259 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7260 = private unnamed_addr constant [10 x i8] c"value_int\00" -@.str7261 = private unnamed_addr constant [2 x i8] c"n\00" -@.str7262 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str7263 = private unnamed_addr constant [12 x i8] c"value_fixed\00" -@.str7264 = private unnamed_addr constant [2 x i8] c"f\00" -@.str7265 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7266 = private unnamed_addr constant [11 x i8] c"value_bool\00" -@.str7267 = private unnamed_addr constant [2 x i8] c"b\00" -@.str7268 = private unnamed_addr constant [4 x i8] c"str\00" -@.str7269 = private unnamed_addr constant [10 x i8] c"value_str\00" -@.str7270 = private unnamed_addr constant [2 x i8] c"s\00" -@.str7271 = private unnamed_addr constant [5 x i8] c"list\00" -@.str7272 = private unnamed_addr constant [11 x i8] c"value_list\00" -@.str7273 = private unnamed_addr constant [7 x i8] c"object\00" -@.str7274 = private unnamed_addr constant [13 x i8] c"value_object\00" -@.str7275 = private unnamed_addr constant [4 x i8] c"add\00" -@.str7276 = private unnamed_addr constant [10 x i8] c"value_add\00" -@.str7277 = private unnamed_addr constant [5 x i8] c"list\00" -@.str7278 = private unnamed_addr constant [5 x i8] c"item\00" -@.str7279 = private unnamed_addr constant [4 x i8] c"put\00" -@.str7280 = private unnamed_addr constant [10 x i8] c"value_put\00" -@.str7281 = private unnamed_addr constant [4 x i8] c"obj\00" -@.str7282 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7283 = private unnamed_addr constant [5 x i8] c"item\00" -@.str7284 = private unnamed_addr constant [4 x i8] c"get\00" -@.str7285 = private unnamed_addr constant [10 x i8] c"value_get\00" -@.str7286 = private unnamed_addr constant [4 x i8] c"obj\00" -@.str7287 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7288 = private unnamed_addr constant [4 x i8] c"has\00" -@.str7289 = private unnamed_addr constant [10 x i8] c"value_has\00" -@.str7290 = private unnamed_addr constant [4 x i8] c"obj\00" -@.str7291 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7292 = private unnamed_addr constant [3 x i8] c"at\00" -@.str7293 = private unnamed_addr constant [9 x i8] c"value_at\00" -@.str7294 = private unnamed_addr constant [5 x i8] c"list\00" -@.str7295 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7296 = private unnamed_addr constant [7 x i8] c"key_at\00" -@.str7297 = private unnamed_addr constant [13 x i8] c"value_key_at\00" -@.str7298 = private unnamed_addr constant [4 x i8] c"obj\00" -@.str7299 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7300 = private unnamed_addr constant [6 x i8] c"count\00" -@.str7301 = private unnamed_addr constant [12 x i8] c"value_count\00" -@.str7302 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7303 = private unnamed_addr constant [5 x i8] c"kind\00" -@.str7304 = private unnamed_addr constant [11 x i8] c"value_kind\00" -@.str7305 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7306 = private unnamed_addr constant [7 x i8] c"as_int\00" -@.str7307 = private unnamed_addr constant [13 x i8] c"value_as_int\00" -@.str7308 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7309 = private unnamed_addr constant [7 x i8] c"as_str\00" -@.str7310 = private unnamed_addr constant [13 x i8] c"value_as_str\00" -@.str7311 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7312 = private unnamed_addr constant [5 x i8] c"Json\00" -@.str7313 = private unnamed_addr constant [7 x i8] c"encode\00" -@.str7314 = private unnamed_addr constant [12 x i8] c"json_encode\00" -@.str7315 = private unnamed_addr constant [6 x i8] c"value\00" -@.str7316 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str7317 = private unnamed_addr constant [11 x i8] c"json_parse\00" -@.str7318 = private unnamed_addr constant [5 x i8] c"text\00" -@.str7319 = private unnamed_addr constant [4 x i8] c"Xml\00" -@.str7320 = private unnamed_addr constant [6 x i8] c"parse\00" -@.str7321 = private unnamed_addr constant [10 x i8] c"xml_parse\00" -@.str7322 = private unnamed_addr constant [5 x i8] c"text\00" -@.str7323 = private unnamed_addr constant [4 x i8] c"tag\00" -@.str7324 = private unnamed_addr constant [8 x i8] c"xml_tag\00" -@.str7325 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7326 = private unnamed_addr constant [5 x i8] c"text\00" -@.str7327 = private unnamed_addr constant [9 x i8] c"xml_text\00" -@.str7328 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7329 = private unnamed_addr constant [5 x i8] c"attr\00" -@.str7330 = private unnamed_addr constant [9 x i8] c"xml_attr\00" -@.str7331 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7332 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7333 = private unnamed_addr constant [9 x i8] c"attr_int\00" -@.str7334 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" -@.str7335 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7336 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7337 = private unnamed_addr constant [5 x i8] c"dflt\00" -@.str7338 = private unnamed_addr constant [4 x i8] c"has\00" -@.str7339 = private unnamed_addr constant [8 x i8] c"xml_has\00" -@.str7340 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7341 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7342 = private unnamed_addr constant [11 x i8] c"attr_count\00" -@.str7343 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" -@.str7344 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7345 = private unnamed_addr constant [12 x i8] c"child_count\00" -@.str7346 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" -@.str7347 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7348 = private unnamed_addr constant [6 x i8] c"child\00" -@.str7349 = private unnamed_addr constant [10 x i8] c"xml_child\00" -@.str7350 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7351 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7352 = private unnamed_addr constant [5 x i8] c"find\00" -@.str7353 = private unnamed_addr constant [9 x i8] c"xml_find\00" -@.str7354 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7355 = private unnamed_addr constant [4 x i8] c"tag\00" -@.str7356 = private unnamed_addr constant [6 x i8] c"count\00" -@.str7357 = private unnamed_addr constant [10 x i8] c"xml_count\00" -@.str7358 = private unnamed_addr constant [5 x i8] c"node\00" -@.str7359 = private unnamed_addr constant [4 x i8] c"tag\00" -@.str7360 = private unnamed_addr constant [7 x i8] c"Base64\00" -@.str7361 = private unnamed_addr constant [7 x i8] c"decode\00" -@.str7362 = private unnamed_addr constant [14 x i8] c"base64_decode\00" -@.str7363 = private unnamed_addr constant [4 x i8] c"src\00" -@.str7364 = private unnamed_addr constant [7 x i8] c"encode\00" -@.str7365 = private unnamed_addr constant [14 x i8] c"base64_encode\00" -@.str7366 = private unnamed_addr constant [4 x i8] c"src\00" -@.str7367 = private unnamed_addr constant [6 x i8] c"Tiled\00" -@.str7368 = private unnamed_addr constant [5 x i8] c"read\00" -@.str7369 = private unnamed_addr constant [11 x i8] c"tiled_read\00" -@.str7370 = private unnamed_addr constant [5 x i8] c"path\00" -@.str7371 = private unnamed_addr constant [9 x i8] c"read_tsx\00" -@.str7372 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" -@.str7373 = private unnamed_addr constant [5 x i8] c"path\00" -@.str7374 = private unnamed_addr constant [5 x i8] c"load\00" -@.str7375 = private unnamed_addr constant [11 x i8] c"tiled_load\00" -@.str7376 = private unnamed_addr constant [5 x i8] c"path\00" -@.str7377 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7378 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" -@.str7379 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7380 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7381 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7382 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7383 = private unnamed_addr constant [8 x i8] c"resolve\00" -@.str7384 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" -@.str7385 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7386 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7387 = private unnamed_addr constant [6 x i8] c"width\00" -@.str7388 = private unnamed_addr constant [11 x i8] c"tmap_width\00" -@.str7389 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7390 = private unnamed_addr constant [7 x i8] c"height\00" -@.str7391 = private unnamed_addr constant [12 x i8] c"tmap_height\00" -@.str7392 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7393 = private unnamed_addr constant [12 x i8] c"layer_count\00" -@.str7394 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" -@.str7395 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7396 = private unnamed_addr constant [11 x i8] c"layer_name\00" -@.str7397 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" -@.str7398 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7399 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7400 = private unnamed_addr constant [5 x i8] c"draw\00" -@.str7401 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" -@.str7402 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7403 = private unnamed_addr constant [5 x i8] c"camx\00" -@.str7404 = private unnamed_addr constant [5 x i8] c"camy\00" -@.str7405 = private unnamed_addr constant [10 x i8] c"draw_anim\00" -@.str7406 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" -@.str7407 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7408 = private unnamed_addr constant [5 x i8] c"camx\00" -@.str7409 = private unnamed_addr constant [5 x i8] c"camy\00" -@.str7410 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str7411 = private unnamed_addr constant [10 x i8] c"frame_gid\00" -@.str7412 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" -@.str7413 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7414 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7415 = private unnamed_addr constant [6 x i8] c"frame\00" -@.str7416 = private unnamed_addr constant [9 x i8] c"animated\00" -@.str7417 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" -@.str7418 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7419 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7420 = private unnamed_addr constant [8 x i8] c"project\00" -@.str7421 = private unnamed_addr constant [13 x i8] c"tmap_project\00" -@.str7422 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7423 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7424 = private unnamed_addr constant [8 x i8] c"collide\00" -@.str7425 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" -@.str7426 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7427 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7428 = private unnamed_addr constant [15 x i8] c"collision_kind\00" -@.str7429 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" -@.str7430 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7431 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7432 = private unnamed_addr constant [5 x i8] c"tree\00" -@.str7433 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" -@.str7434 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7435 = private unnamed_addr constant [10 x i8] c"tile_prop\00" -@.str7436 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" -@.str7437 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7438 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7439 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7440 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" -@.str7441 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" -@.str7442 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7443 = private unnamed_addr constant [4 x i8] c"gid\00" -@.str7444 = private unnamed_addr constant [13 x i8] c"object_count\00" -@.str7445 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" -@.str7446 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7447 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7448 = private unnamed_addr constant [7 x i8] c"object\00" -@.str7449 = private unnamed_addr constant [12 x i8] c"tmap_object\00" -@.str7450 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7451 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7452 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7453 = private unnamed_addr constant [13 x i8] c"object_shape\00" -@.str7454 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" -@.str7455 = private unnamed_addr constant [7 x i8] c"object\00" -@.str7456 = private unnamed_addr constant [5 x i8] c"prop\00" -@.str7457 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" -@.str7458 = private unnamed_addr constant [10 x i8] c"container\00" -@.str7459 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7460 = private unnamed_addr constant [9 x i8] c"prop_int\00" -@.str7461 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" -@.str7462 = private unnamed_addr constant [10 x i8] c"container\00" -@.str7463 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7464 = private unnamed_addr constant [10 x i8] c"prop_type\00" -@.str7465 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" -@.str7466 = private unnamed_addr constant [10 x i8] c"container\00" -@.str7467 = private unnamed_addr constant [5 x i8] c"name\00" -@.str7468 = private unnamed_addr constant [11 x i8] c"load_types\00" -@.str7469 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" -@.str7470 = private unnamed_addr constant [5 x i8] c"path\00" -@.str7471 = private unnamed_addr constant [9 x i8] c"template\00" -@.str7472 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" -@.str7473 = private unnamed_addr constant [5 x i8] c"path\00" -@.str7474 = private unnamed_addr constant [6 x i8] c"spawn\00" -@.str7475 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" -@.str7476 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7477 = private unnamed_addr constant [7 x i8] c"object\00" -@.str7478 = private unnamed_addr constant [6 x i8] c"model\00" -@.str7479 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" -@.str7480 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" -@.str7481 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7482 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7483 = private unnamed_addr constant [6 x i8] c"model\00" -@.str7484 = private unnamed_addr constant [7 x i8] c"cell_x\00" -@.str7485 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" -@.str7486 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7487 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7488 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7489 = private unnamed_addr constant [7 x i8] c"cell_y\00" -@.str7490 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" -@.str7491 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7492 = private unnamed_addr constant [2 x i8] c"x\00" -@.str7493 = private unnamed_addr constant [2 x i8] c"y\00" -@.str7494 = private unnamed_addr constant [11 x i8] c"layer_kind\00" -@.str7495 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" -@.str7496 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7497 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7498 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" -@.str7499 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" -@.str7500 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7501 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7502 = private unnamed_addr constant [11 x i8] c"layer_tint\00" -@.str7503 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" -@.str7504 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7505 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7506 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" -@.str7507 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" -@.str7508 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7509 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7510 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" -@.str7511 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" -@.str7512 = private unnamed_addr constant [4 x i8] c"map\00" -@.str7513 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str7514 = private unnamed_addr constant [6 x i8] c"world\00" -@.str7515 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" -@.str7516 = private unnamed_addr constant [5 x i8] c"path\00" -@.str7517 = private unnamed_addr constant [12 x i8] c"world_count\00" -@.str7518 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" -@.str7519 = private unnamed_addr constant [6 x i8] c"world\00" -@.str7520 = private unnamed_addr constant [10 x i8] c"world_map\00" -@.str7521 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" -@.str7522 = private unnamed_addr constant [6 x i8] c"world\00" -@.str7523 = private unnamed_addr constant [6 x i8] c"index\00" -@.str7524 = private unnamed_addr constant [2 x i8] c"_\00" -@.str7525 = private unnamed_addr constant [2 x i8] c".\00" -@.str7526 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" -@.str7527 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" -@.str7528 = private unnamed_addr constant [2 x i8] c".\00" -@.str7529 = private unnamed_addr constant [14 x i8] c"enum variant \00" -@.str7530 = private unnamed_addr constant [8 x i8] c" takes \00" -@.str7531 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" -@.str7532 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str7533 = private unnamed_addr constant [2 x i8] c")\00" -@.str7534 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str7535 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7536 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7537 = private unnamed_addr constant [3 x i8] c" \00" -@.str7538 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" -@.str7539 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7540 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7541 = private unnamed_addr constant [9 x i8] c" store \00" -@.str7542 = private unnamed_addr constant [2 x i8] c" \00" -@.str7543 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7544 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7545 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" -@.str7546 = private unnamed_addr constant [5 x i8] c"self\00" -@.str7547 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7548 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7549 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7550 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str7551 = private unnamed_addr constant [4 x i8] c"key\00" -@.str7552 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" -@.str7553 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7554 = private unnamed_addr constant [5 x i8] c"save\00" -@.str7555 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" -@.str7556 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7557 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7558 = private unnamed_addr constant [9 x i8] c"ui_build\00" -@.str7559 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" -@.str7560 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7561 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7562 = private unnamed_addr constant [5 x i8] c"load\00" -@.str7563 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" -@.str7564 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7565 = private unnamed_addr constant [11 x i8] c"world_size\00" -@.str7566 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" -@.str7567 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7568 = private unnamed_addr constant [11 x i8] c"world_save\00" -@.str7569 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" -@.str7570 = private unnamed_addr constant [2 x i8] c")\00" -@.str7571 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7572 = private unnamed_addr constant [11 x i8] c"world_load\00" -@.str7573 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" -@.str7574 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7575 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7576 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7577 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7578 = private unnamed_addr constant [5 x i8] c"quit\00" -@.str7579 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" -@.str7580 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7581 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7582 = private unnamed_addr constant [10 x i8] c"serialize\00" -@.str7583 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" -@.str7584 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7585 = private unnamed_addr constant [2 x i8] c")\00" -@.str7586 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7587 = private unnamed_addr constant [6 x i8] c"apply\00" -@.str7588 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" -@.str7589 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7590 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7591 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7592 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7593 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7594 = private unnamed_addr constant [10 x i8] c"sync_size\00" -@.str7595 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" -@.str7596 = private unnamed_addr constant [2 x i8] c")\00" -@.str7597 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7598 = private unnamed_addr constant [6 x i8] c"owner\00" -@.str7599 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" -@.str7600 = private unnamed_addr constant [2 x i8] c")\00" -@.str7601 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7602 = private unnamed_addr constant [10 x i8] c"set_owner\00" -@.str7603 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" -@.str7604 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7605 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7606 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7607 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7608 = private unnamed_addr constant [9 x i8] c"is_owner\00" -@.str7609 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" -@.str7610 = private unnamed_addr constant [2 x i8] c")\00" -@.str7611 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7612 = private unnamed_addr constant [10 x i8] c"is_server\00" -@.str7613 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" -@.str7614 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str7615 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str7616 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str7617 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str7618 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7619 = private unnamed_addr constant [9 x i8] c"local_id\00" -@.str7620 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" -@.str7621 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7622 = private unnamed_addr constant [9 x i8] c"net_pump\00" -@.str7623 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" -@.str7624 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7625 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7626 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" -@.str7627 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" -@.str7628 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7629 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7630 = private unnamed_addr constant [12 x i8] c"tick_render\00" -@.str7631 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" -@.str7632 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7633 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7634 = private unnamed_addr constant [9 x i8] c"set_role\00" -@.str7635 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str7636 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" -@.str7637 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7638 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7639 = private unnamed_addr constant [13 x i8] c"set_local_id\00" -@.str7640 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str7641 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" -@.str7642 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7643 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7644 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str7645 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str7646 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" -@.str7647 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7648 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7649 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7650 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7651 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7652 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str7653 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str7654 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" -@.str7655 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7656 = private unnamed_addr constant [2 x i8] c")\00" -@.str7657 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7658 = private unnamed_addr constant [4 x i8] c"len\00" -@.str7659 = private unnamed_addr constant [5 x i8] c"push\00" -@.str7660 = private unnamed_addr constant [7 x i8] c"string\00" -@.str7661 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str7662 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str7663 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00" -@.str7664 = private unnamed_addr constant [2 x i8] c")\00" -@.str7665 = private unnamed_addr constant [7 x i8] c"string\00" -@.str7666 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" -@.str7667 = private unnamed_addr constant [2 x i8] c")\00" -@.str7668 = private unnamed_addr constant [7 x i8] c"string\00" -@.str7669 = private unnamed_addr constant [6 x i8] c"print\00" -@.str7670 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str7671 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str7672 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7673 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str7674 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" -@.str7675 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7676 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" -@.str7677 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7678 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7679 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7680 = private unnamed_addr constant [6 x i8] c"bytes\00" -@.str7681 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str7682 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str7683 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str7684 = private unnamed_addr constant [2 x i8] c")\00" -@.str7685 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str7686 = private unnamed_addr constant [6 x i8] c"words\00" -@.str7687 = private unnamed_addr constant [9 x i8] c"mul i32 \00" -@.str7688 = private unnamed_addr constant [4 x i8] c", 4\00" -@.str7689 = private unnamed_addr constant [10 x i8] c"zext i32 \00" -@.str7690 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str7691 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" -@.str7692 = private unnamed_addr constant [2 x i8] c")\00" -@.str7693 = private unnamed_addr constant [6 x i8] c"words\00" -@.str7694 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str7695 = private unnamed_addr constant [9 x i8] c"shl i32 \00" -@.str7696 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str7697 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str7698 = private unnamed_addr constant [6 x i8] c"floor\00" -@.str7699 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" -@.str7700 = private unnamed_addr constant [5 x i8] c", 16\00" -@.str7701 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7702 = private unnamed_addr constant [7 x i8] c"expect\00" -@.str7703 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str7704 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7705 = private unnamed_addr constant [2 x i8] c":\00" -@.str7706 = private unnamed_addr constant [16 x i8] c": expect failed\00" -@.str7707 = private unnamed_addr constant [1 x i8] c"\00" -@.str7708 = private unnamed_addr constant [1 x i8] c"\00" -@.str7709 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7710 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7711 = private unnamed_addr constant [10 x i8] c"expect_eq\00" -@.str7712 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str7713 = private unnamed_addr constant [3 x i8] c", \00" -@.str7714 = private unnamed_addr constant [2 x i8] c":\00" -@.str7715 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" -@.str7716 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7717 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7718 = private unnamed_addr constant [12 x i8] c"expect_near\00" -@.str7719 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str7720 = private unnamed_addr constant [3 x i8] c", \00" -@.str7721 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str7722 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str7723 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7724 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str7725 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7726 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7727 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" -@.str7728 = private unnamed_addr constant [3 x i8] c", \00" -@.str7729 = private unnamed_addr constant [2 x i8] c":\00" -@.str7730 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" -@.str7731 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7732 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7733 = private unnamed_addr constant [6 x i8] c"panic\00" -@.str7734 = private unnamed_addr constant [2 x i8] c":\00" -@.str7735 = private unnamed_addr constant [10 x i8] c": panic: \00" -@.str7736 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" -@.str7737 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" -@.str7738 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" -@.str7739 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7740 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7741 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" -@.str7742 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7743 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7744 = private unnamed_addr constant [7 x i8] c"assert\00" -@.str7745 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str7746 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7747 = private unnamed_addr constant [5 x i8] c"asok\00" -@.str7748 = private unnamed_addr constant [6 x i8] c"asbad\00" -@.str7749 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str7750 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str7751 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str7752 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7753 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str7754 = private unnamed_addr constant [2 x i8] c":\00" -@.str7755 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" -@.str7756 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" -@.str7757 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" -@.str7758 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" -@.str7759 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7760 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7761 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" -@.str7762 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str7763 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7764 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7765 = private unnamed_addr constant [3 x i8] c"ok\00" -@.str7766 = private unnamed_addr constant [3 x i8] c"ok\00" -@.str7767 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" -@.str7768 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7769 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7770 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" -@.str7771 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7772 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7773 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str7774 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str7775 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7776 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7777 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7778 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7779 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" -@.str7780 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" -@.str7781 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7782 = private unnamed_addr constant [7 x i8] c"result\00" -@.str7783 = private unnamed_addr constant [4 x i8] c"err\00" -@.str7784 = private unnamed_addr constant [4 x i8] c"err\00" -@.str7785 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" -@.str7786 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7787 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7788 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str7789 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7790 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7791 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str7792 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str7793 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7794 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7795 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" -@.str7796 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str7797 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7798 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7799 = private unnamed_addr constant [7 x i8] c"result\00" -@.str7800 = private unnamed_addr constant [6 x i8] c"is_ok\00" -@.str7801 = private unnamed_addr constant [6 x i8] c"is_ok\00" -@.str7802 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7803 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7804 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7805 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str7806 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7807 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str7808 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str7809 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7810 = private unnamed_addr constant [7 x i8] c"is_err\00" -@.str7811 = private unnamed_addr constant [7 x i8] c"is_err\00" -@.str7812 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" -@.str7813 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7814 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7815 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str7816 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7817 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str7818 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str7819 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7820 = private unnamed_addr constant [5 x i8] c"some\00" -@.str7821 = private unnamed_addr constant [5 x i8] c"some\00" -@.str7822 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" -@.str7823 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7824 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7825 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" -@.str7826 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7827 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7828 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str7829 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str7830 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7831 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7832 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7833 = private unnamed_addr constant [7 x i8] c"option\00" -@.str7834 = private unnamed_addr constant [5 x i8] c"none\00" -@.str7835 = private unnamed_addr constant [5 x i8] c"none\00" -@.str7836 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" -@.str7837 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7838 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7839 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str7840 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7841 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7842 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str7843 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str7844 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str7845 = private unnamed_addr constant [7 x i8] c"option\00" -@.str7846 = private unnamed_addr constant [8 x i8] c"is_some\00" -@.str7847 = private unnamed_addr constant [8 x i8] c"is_some\00" -@.str7848 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7849 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7850 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7851 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str7852 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7853 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str7854 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str7855 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7856 = private unnamed_addr constant [8 x i8] c"is_none\00" -@.str7857 = private unnamed_addr constant [8 x i8] c"is_none\00" -@.str7858 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7859 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7860 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7861 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str7862 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7863 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str7864 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str7865 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7866 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" -@.str7867 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" -@.str7868 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7869 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" -@.str7870 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7871 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" -@.str7872 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str7873 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str7874 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str7875 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str7876 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str7877 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7878 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7879 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7880 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7881 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" -@.str7882 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" -@.str7883 = private unnamed_addr constant [2 x i8] c")\00" -@.str7884 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7885 = private unnamed_addr constant [15 x i8] c"world_field_id\00" -@.str7886 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" -@.str7887 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str7888 = private unnamed_addr constant [2 x i8] c")\00" -@.str7889 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7890 = private unnamed_addr constant [10 x i8] c"world_get\00" -@.str7891 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" -@.str7892 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7893 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7894 = private unnamed_addr constant [2 x i8] c")\00" -@.str7895 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" -@.str7896 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str7897 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7898 = private unnamed_addr constant [10 x i8] c"world_set\00" -@.str7899 = private unnamed_addr constant [10 x i8] c"sext i32 \00" -@.str7900 = private unnamed_addr constant [8 x i8] c" to i64\00" -@.str7901 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" -@.str7902 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7903 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7904 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str7905 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7906 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7907 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7908 = private unnamed_addr constant [10 x i8] c"world_has\00" -@.str7909 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" -@.str7910 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7911 = private unnamed_addr constant [2 x i8] c")\00" -@.str7912 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7913 = private unnamed_addr constant [12 x i8] c"world_count\00" -@.str7914 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" -@.str7915 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7916 = private unnamed_addr constant [11 x i8] c"world_kind\00" -@.str7917 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" -@.str7918 = private unnamed_addr constant [2 x i8] c")\00" -@.str7919 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7920 = private unnamed_addr constant [15 x i8] c"world_model_id\00" -@.str7921 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" -@.str7922 = private unnamed_addr constant [2 x i8] c")\00" -@.str7923 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7924 = private unnamed_addr constant [17 x i8] c"world_query_next\00" -@.str7925 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" -@.str7926 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7927 = private unnamed_addr constant [2 x i8] c")\00" -@.str7928 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7929 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" -@.str7930 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" -@.str7931 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7932 = private unnamed_addr constant [2 x i8] c")\00" -@.str7933 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7934 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" -@.str7935 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" -@.str7936 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7937 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7938 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7939 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7940 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" -@.str7941 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" -@.str7942 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7943 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7944 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7945 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7946 = private unnamed_addr constant [12 x i8] c"world_spawn\00" -@.str7947 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" -@.str7948 = private unnamed_addr constant [2 x i8] c")\00" -@.str7949 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7950 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" -@.str7951 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" -@.str7952 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7953 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" -@.str7954 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" -@.str7955 = private unnamed_addr constant [2 x i8] c")\00" -@.str7956 = private unnamed_addr constant [7 x i8] c"string\00" -@.str7957 = private unnamed_addr constant [18 x i8] c"world_field_count\00" -@.str7958 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" -@.str7959 = private unnamed_addr constant [2 x i8] c")\00" -@.str7960 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7961 = private unnamed_addr constant [17 x i8] c"world_field_name\00" -@.str7962 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" -@.str7963 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7964 = private unnamed_addr constant [2 x i8] c")\00" -@.str7965 = private unnamed_addr constant [7 x i8] c"string\00" -@.str7966 = private unnamed_addr constant [17 x i8] c"world_field_type\00" -@.str7967 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" -@.str7968 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str7969 = private unnamed_addr constant [2 x i8] c")\00" -@.str7970 = private unnamed_addr constant [7 x i8] c"string\00" -@.str7971 = private unnamed_addr constant [3 x i8] c" \00" -@.str7972 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7973 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7974 = private unnamed_addr constant [4 x i8] c" = \00" -@.str7975 = private unnamed_addr constant [6 x i8] c"call \00" -@.str7976 = private unnamed_addr constant [3 x i8] c" @\00" -@.str7977 = private unnamed_addr constant [2 x i8] c"(\00" -@.str7978 = private unnamed_addr constant [3 x i8] c", \00" -@.str7979 = private unnamed_addr constant [2 x i8] c" \00" -@.str7980 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7981 = private unnamed_addr constant [4 x i8] c"rt_\00" -@.str7982 = private unnamed_addr constant [18 x i8] c"unknown function \00" -@.str7983 = private unnamed_addr constant [3 x i8] c" \00" -@.str7984 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7985 = private unnamed_addr constant [5 x i8] c"void\00" -@.str7986 = private unnamed_addr constant [4 x i8] c" = \00" -@.str7987 = private unnamed_addr constant [6 x i8] c"call \00" -@.str7988 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str7989 = private unnamed_addr constant [2 x i8] c"(\00" -@.str7990 = private unnamed_addr constant [3 x i8] c", \00" -@.str7991 = private unnamed_addr constant [2 x i8] c" \00" -@.str7992 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str7993 = private unnamed_addr constant [2 x i8] c"0\00" -@.str7994 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7995 = private unnamed_addr constant [4 x i8] c"int\00" -@.str7996 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str7997 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str7998 = private unnamed_addr constant [5 x i8] c"null\00" -@.str7999 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str8000 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00" -@.str8001 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str8002 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str8003 = private unnamed_addr constant [2 x i8] c")\00" -@.str8004 = private unnamed_addr constant [7 x i8] c"string\00" -@.str8005 = private unnamed_addr constant [7 x i8] c"string\00" -@.str8006 = private unnamed_addr constant [6 x i8] c"load \00" -@.str8007 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str8008 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8009 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" -@.str8010 = private unnamed_addr constant [6 x i8] c"Color\00" -@.str8011 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" -@.str8012 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8013 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8014 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str8015 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str8016 = private unnamed_addr constant [9 x i8] c"zext i8 \00" -@.str8017 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str8018 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8019 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str8020 = private unnamed_addr constant [2 x i8] c"-\00" -@.str8021 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" -@.str8022 = private unnamed_addr constant [5 x i8] c"long\00" -@.str8023 = private unnamed_addr constant [2 x i8] c"~\00" -@.str8024 = private unnamed_addr constant [9 x i8] c"xor i64 \00" -@.str8025 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str8026 = private unnamed_addr constant [5 x i8] c"long\00" -@.str8027 = private unnamed_addr constant [2 x i8] c"-\00" -@.str8028 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str8029 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8030 = private unnamed_addr constant [2 x i8] c"~\00" -@.str8031 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str8032 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str8033 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8034 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8035 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8036 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str8037 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str8038 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str8039 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" -@.str8040 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8041 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8042 = private unnamed_addr constant [9 x i8] c" store \00" -@.str8043 = private unnamed_addr constant [2 x i8] c" \00" -@.str8044 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8045 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8046 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8047 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8048 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" -@.str8049 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" -@.str8050 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" -@.str8051 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str8052 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" -@.str8053 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str8054 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" -@.str8055 = private unnamed_addr constant [7 x i8] c" to i8\00" -@.str8056 = private unnamed_addr constant [2 x i8] c"=\00" -@.str8057 = private unnamed_addr constant [6 x i8] c"load \00" -@.str8058 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8059 = private unnamed_addr constant [4 x i8] c"add\00" -@.str8060 = private unnamed_addr constant [3 x i8] c"-=\00" -@.str8061 = private unnamed_addr constant [4 x i8] c"sub\00" -@.str8062 = private unnamed_addr constant [3 x i8] c"*=\00" -@.str8063 = private unnamed_addr constant [4 x i8] c"mul\00" -@.str8064 = private unnamed_addr constant [3 x i8] c"/=\00" -@.str8065 = private unnamed_addr constant [5 x i8] c"sdiv\00" -@.str8066 = private unnamed_addr constant [2 x i8] c" \00" -@.str8067 = private unnamed_addr constant [2 x i8] c" \00" -@.str8068 = private unnamed_addr constant [3 x i8] c", \00" -@.str8069 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8070 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8071 = private unnamed_addr constant [5 x i8] c"then\00" -@.str8072 = private unnamed_addr constant [5 x i8] c"else\00" -@.str8073 = private unnamed_addr constant [6 x i8] c"ifend\00" -@.str8074 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8075 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8076 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8077 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8078 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8079 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8080 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8081 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8082 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8083 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8084 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8085 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8086 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8087 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8088 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8089 = private unnamed_addr constant [6 x i8] c"wcond\00" -@.str8090 = private unnamed_addr constant [6 x i8] c"wbody\00" -@.str8091 = private unnamed_addr constant [5 x i8] c"wend\00" -@.str8092 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8093 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8094 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8095 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8096 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8097 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8098 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8099 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8100 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8101 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8102 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8103 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8104 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8105 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8106 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8107 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8108 = private unnamed_addr constant [6 x i8] c"fcond\00" -@.str8109 = private unnamed_addr constant [6 x i8] c"fbody\00" -@.str8110 = private unnamed_addr constant [6 x i8] c"fcont\00" -@.str8111 = private unnamed_addr constant [5 x i8] c"fend\00" -@.str8112 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8113 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8114 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8115 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8116 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str8117 = private unnamed_addr constant [3 x i8] c", \00" -@.str8118 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8119 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8120 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8121 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8122 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8123 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8124 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8125 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8126 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8127 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str8128 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str8129 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8130 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8131 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8132 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8133 = private unnamed_addr constant [8 x i8] c"%retval\00" -@.str8134 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str8135 = private unnamed_addr constant [2 x i8] c"_\00" -@.str8136 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str8137 = private unnamed_addr constant [8 x i8] c" binds \00" -@.str8138 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" -@.str8139 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str8140 = private unnamed_addr constant [10 x i8] c" payload \00" -@.str8141 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" -@.str8142 = private unnamed_addr constant [3 x i8] c" \00" -@.str8143 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" -@.str8144 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str8145 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8146 = private unnamed_addr constant [6 x i8] c"load \00" -@.str8147 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8148 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8149 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str7023 = private unnamed_addr constant [6 x i8] c"pitch\00" +@.str7024 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" +@.str7025 = private unnamed_addr constant [2 x i8] c"v\00" +@.str7026 = private unnamed_addr constant [11 x i8] c"is_playing\00" +@.str7027 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" +@.str7028 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7029 = private unnamed_addr constant [5 x i8] c"Http\00" +@.str7030 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7031 = private unnamed_addr constant [9 x i8] c"http_get\00" +@.str7032 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7033 = private unnamed_addr constant [5 x i8] c"post\00" +@.str7034 = private unnamed_addr constant [10 x i8] c"http_post\00" +@.str7035 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7036 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7037 = private unnamed_addr constant [8 x i8] c"request\00" +@.str7038 = private unnamed_addr constant [13 x i8] c"http_request\00" +@.str7039 = private unnamed_addr constant [7 x i8] c"method\00" +@.str7040 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7041 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7042 = private unnamed_addr constant [5 x i8] c"open\00" +@.str7043 = private unnamed_addr constant [10 x i8] c"http_open\00" +@.str7044 = private unnamed_addr constant [7 x i8] c"method\00" +@.str7045 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7046 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7047 = private unnamed_addr constant [16 x i8] c"http_set_header\00" +@.str7048 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7049 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7050 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7051 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7052 = private unnamed_addr constant [10 x i8] c"http_body\00" +@.str7053 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7054 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7055 = private unnamed_addr constant [11 x i8] c"body_bytes\00" +@.str7056 = private unnamed_addr constant [12 x i8] c"http_body_n\00" +@.str7057 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7058 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str7059 = private unnamed_addr constant [4 x i8] c"len\00" +@.str7060 = private unnamed_addr constant [5 x i8] c"send\00" +@.str7061 = private unnamed_addr constant [14 x i8] c"http_send_req\00" +@.str7062 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7063 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str7064 = private unnamed_addr constant [10 x i8] c"http_poll\00" +@.str7065 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7066 = private unnamed_addr constant [7 x i8] c"status\00" +@.str7067 = private unnamed_addr constant [15 x i8] c"http_status_of\00" +@.str7068 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7069 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str7070 = private unnamed_addr constant [8 x i8] c"http_ok\00" +@.str7071 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7072 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7073 = private unnamed_addr constant [10 x i8] c"http_text\00" +@.str7074 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7075 = private unnamed_addr constant [9 x i8] c"body_len\00" +@.str7076 = private unnamed_addr constant [14 x i8] c"http_body_len\00" +@.str7077 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7078 = private unnamed_addr constant [7 x i8] c"header\00" +@.str7079 = private unnamed_addr constant [15 x i8] c"http_header_of\00" +@.str7080 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7081 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7082 = private unnamed_addr constant [5 x i8] c"free\00" +@.str7083 = private unnamed_addr constant [11 x i8] c"http_close\00" +@.str7084 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7085 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7086 = private unnamed_addr constant [11 x i8] c"http_parse\00" +@.str7087 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str7088 = private unnamed_addr constant [4 x i8] c"len\00" +@.str7089 = private unnamed_addr constant [6 x i8] c"World\00" +@.str7090 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7091 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str7092 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7093 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str7094 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7095 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str7096 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7097 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str7098 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7099 = private unnamed_addr constant [11 x i8] c"world_size\00" +@.str7100 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str7101 = private unnamed_addr constant [12 x i8] c"world_spawn\00" +@.str7102 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str7103 = private unnamed_addr constant [14 x i8] c"world_despawn\00" +@.str7104 = private unnamed_addr constant [5 x i8] c"save\00" +@.str7105 = private unnamed_addr constant [11 x i8] c"world_save\00" +@.str7106 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7107 = private unnamed_addr constant [11 x i8] c"world_load\00" +@.str7108 = private unnamed_addr constant [8 x i8] c"prop_id\00" +@.str7109 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str7110 = private unnamed_addr constant [9 x i8] c"field_id\00" +@.str7111 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str7112 = private unnamed_addr constant [9 x i8] c"model_id\00" +@.str7113 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str7114 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str7115 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str7116 = private unnamed_addr constant [14 x i8] c"register_prop\00" +@.str7117 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" +@.str7118 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str7119 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" +@.str7120 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str7121 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" +@.str7122 = private unnamed_addr constant [11 x i8] c"query_next\00" +@.str7123 = private unnamed_addr constant [17 x i8] c"world_query_next\00" +@.str7124 = private unnamed_addr constant [8 x i8] c"Network\00" +@.str7125 = private unnamed_addr constant [5 x i8] c"send\00" +@.str7126 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str7127 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str7128 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str7129 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str7130 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str7131 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7132 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7133 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str7134 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str7135 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str7136 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str7137 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str7138 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str7139 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str7140 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str7141 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str7142 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str7143 = private unnamed_addr constant [7 x i8] c"System\00" +@.str7144 = private unnamed_addr constant [4 x i8] c"run\00" +@.str7145 = private unnamed_addr constant [4 x i8] c"run\00" +@.str7146 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str7147 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str7148 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str7149 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str7150 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str7151 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str7152 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str7153 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str7154 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str7155 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str7156 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str7157 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str7158 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str7159 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str7160 = private unnamed_addr constant [5 x i8] c"Save\00" +@.str7161 = private unnamed_addr constant [6 x i8] c"write\00" +@.str7162 = private unnamed_addr constant [5 x i8] c"save\00" +@.str7163 = private unnamed_addr constant [5 x i8] c"read\00" +@.str7164 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7165 = private unnamed_addr constant [6 x i8] c"Regex\00" +@.str7166 = private unnamed_addr constant [8 x i8] c"compile\00" +@.str7167 = private unnamed_addr constant [14 x i8] c"regex_compile\00" +@.str7168 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7169 = private unnamed_addr constant [6 x i8] c"valid\00" +@.str7170 = private unnamed_addr constant [12 x i8] c"regex_valid\00" +@.str7171 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7172 = private unnamed_addr constant [8 x i8] c"matches\00" +@.str7173 = private unnamed_addr constant [14 x i8] c"regex_matches\00" +@.str7174 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7175 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7176 = private unnamed_addr constant [5 x i8] c"test\00" +@.str7177 = private unnamed_addr constant [11 x i8] c"regex_test\00" +@.str7178 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7179 = private unnamed_addr constant [3 x i8] c"re\00" +@.str7180 = private unnamed_addr constant [5 x i8] c"find\00" +@.str7181 = private unnamed_addr constant [11 x i8] c"regex_find\00" +@.str7182 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7183 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7184 = private unnamed_addr constant [5 x i8] c"exec\00" +@.str7185 = private unnamed_addr constant [11 x i8] c"regex_exec\00" +@.str7186 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7187 = private unnamed_addr constant [3 x i8] c"re\00" +@.str7188 = private unnamed_addr constant [5 x i8] c"next\00" +@.str7189 = private unnamed_addr constant [11 x i8] c"regex_next\00" +@.str7190 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7191 = private unnamed_addr constant [3 x i8] c"re\00" +@.str7192 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7193 = private unnamed_addr constant [8 x i8] c"replace\00" +@.str7194 = private unnamed_addr constant [14 x i8] c"regex_replace\00" +@.str7195 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7196 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7197 = private unnamed_addr constant [12 x i8] c"replacement\00" +@.str7198 = private unnamed_addr constant [6 x i8] c"group\00" +@.str7199 = private unnamed_addr constant [12 x i8] c"regex_group\00" +@.str7200 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7201 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7202 = private unnamed_addr constant [12 x i8] c"group_count\00" +@.str7203 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" +@.str7204 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7205 = private unnamed_addr constant [6 x i8] c"start\00" +@.str7206 = private unnamed_addr constant [12 x i8] c"regex_start\00" +@.str7207 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7208 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7209 = private unnamed_addr constant [4 x i8] c"end\00" +@.str7210 = private unnamed_addr constant [10 x i8] c"regex_end\00" +@.str7211 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7212 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7213 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str7214 = private unnamed_addr constant [9 x i8] c"regex_ok\00" +@.str7215 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7216 = private unnamed_addr constant [7 x i8] c"BigInt\00" +@.str7217 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7218 = private unnamed_addr constant [12 x i8] c"bigint_from\00" +@.str7219 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7220 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7221 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" +@.str7222 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7223 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7224 = private unnamed_addr constant [11 x i8] c"bigint_add\00" +@.str7225 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7226 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7227 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str7228 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" +@.str7229 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7230 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7231 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str7232 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" +@.str7233 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7234 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7235 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7236 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" +@.str7237 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7238 = private unnamed_addr constant [4 x i8] c"pow\00" +@.str7239 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" +@.str7240 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7241 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str7242 = private unnamed_addr constant [4 x i8] c"div\00" +@.str7243 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" +@.str7244 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7245 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7246 = private unnamed_addr constant [4 x i8] c"mod\00" +@.str7247 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" +@.str7248 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7249 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7250 = private unnamed_addr constant [4 x i8] c"cmp\00" +@.str7251 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" +@.str7252 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7253 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7254 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str7255 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" +@.str7256 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7257 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7258 = private unnamed_addr constant [8 x i8] c"is_zero\00" +@.str7259 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" +@.str7260 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7261 = private unnamed_addr constant [7 x i8] c"to_int\00" +@.str7262 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" +@.str7263 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7264 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7265 = private unnamed_addr constant [11 x i8] c"bigint_str\00" +@.str7266 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7267 = private unnamed_addr constant [8 x i8] c"Decimal\00" +@.str7268 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7269 = private unnamed_addr constant [13 x i8] c"decimal_from\00" +@.str7270 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7271 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7272 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" +@.str7273 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7274 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7275 = private unnamed_addr constant [12 x i8] c"decimal_add\00" +@.str7276 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7277 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7278 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str7279 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" +@.str7280 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7281 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7282 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str7283 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" +@.str7284 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7285 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7286 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7287 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" +@.str7288 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7289 = private unnamed_addr constant [4 x i8] c"cmp\00" +@.str7290 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" +@.str7291 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7292 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7293 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str7294 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" +@.str7295 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7296 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7297 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str7298 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" +@.str7299 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7300 = private unnamed_addr constant [8 x i8] c"rescale\00" +@.str7301 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" +@.str7302 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7303 = private unnamed_addr constant [7 x i8] c"places\00" +@.str7304 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7305 = private unnamed_addr constant [12 x i8] c"decimal_str\00" +@.str7306 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7307 = private unnamed_addr constant [5 x i8] c"Dict\00" +@.str7308 = private unnamed_addr constant [4 x i8] c"new\00" +@.str7309 = private unnamed_addr constant [9 x i8] c"dict_new\00" +@.str7310 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7311 = private unnamed_addr constant [9 x i8] c"dict_set\00" +@.str7312 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7313 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7314 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7315 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7316 = private unnamed_addr constant [9 x i8] c"dict_get\00" +@.str7317 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7318 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7319 = private unnamed_addr constant [7 x i8] c"get_or\00" +@.str7320 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" +@.str7321 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7322 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7323 = private unnamed_addr constant [9 x i8] c"fallback\00" +@.str7324 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7325 = private unnamed_addr constant [9 x i8] c"dict_has\00" +@.str7326 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7327 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7328 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str7329 = private unnamed_addr constant [12 x i8] c"dict_remove\00" +@.str7330 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7331 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7332 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7333 = private unnamed_addr constant [10 x i8] c"dict_size\00" +@.str7334 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7335 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str7336 = private unnamed_addr constant [11 x i8] c"dict_clear\00" +@.str7337 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7338 = private unnamed_addr constant [5 x i8] c"keys\00" +@.str7339 = private unnamed_addr constant [10 x i8] c"dict_keys\00" +@.str7340 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7341 = private unnamed_addr constant [4 x i8] c"Set\00" +@.str7342 = private unnamed_addr constant [4 x i8] c"new\00" +@.str7343 = private unnamed_addr constant [8 x i8] c"set_new\00" +@.str7344 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7345 = private unnamed_addr constant [8 x i8] c"set_add\00" +@.str7346 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7347 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7348 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7349 = private unnamed_addr constant [8 x i8] c"set_has\00" +@.str7350 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7351 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7352 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str7353 = private unnamed_addr constant [11 x i8] c"set_remove\00" +@.str7354 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7355 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7356 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7357 = private unnamed_addr constant [9 x i8] c"set_size\00" +@.str7358 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7359 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str7360 = private unnamed_addr constant [10 x i8] c"set_clear\00" +@.str7361 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7362 = private unnamed_addr constant [8 x i8] c"members\00" +@.str7363 = private unnamed_addr constant [12 x i8] c"set_members\00" +@.str7364 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7365 = private unnamed_addr constant [4 x i8] c"Job\00" +@.str7366 = private unnamed_addr constant [6 x i8] c"defer\00" +@.str7367 = private unnamed_addr constant [10 x i8] c"job_defer\00" +@.str7368 = private unnamed_addr constant [4 x i8] c"run\00" +@.str7369 = private unnamed_addr constant [8 x i8] c"job_run\00" +@.str7370 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str7371 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str7372 = private unnamed_addr constant [8 x i8] c"fulfill\00" +@.str7373 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" +@.str7374 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7375 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7376 = private unnamed_addr constant [5 x i8] c"fail\00" +@.str7377 = private unnamed_addr constant [9 x i8] c"job_fail\00" +@.str7378 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7379 = private unnamed_addr constant [6 x i8] c"error\00" +@.str7380 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str7381 = private unnamed_addr constant [11 x i8] c"job_cancel\00" +@.str7382 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7383 = private unnamed_addr constant [5 x i8] c"pump\00" +@.str7384 = private unnamed_addr constant [9 x i8] c"job_pump\00" +@.str7385 = private unnamed_addr constant [7 x i8] c"budget\00" +@.str7386 = private unnamed_addr constant [5 x i8] c"done\00" +@.str7387 = private unnamed_addr constant [9 x i8] c"job_done\00" +@.str7388 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7389 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str7390 = private unnamed_addr constant [7 x i8] c"job_ok\00" +@.str7391 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7392 = private unnamed_addr constant [7 x i8] c"failed\00" +@.str7393 = private unnamed_addr constant [11 x i8] c"job_failed\00" +@.str7394 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7395 = private unnamed_addr constant [10 x i8] c"cancelled\00" +@.str7396 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" +@.str7397 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7398 = private unnamed_addr constant [7 x i8] c"result\00" +@.str7399 = private unnamed_addr constant [11 x i8] c"job_result\00" +@.str7400 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7401 = private unnamed_addr constant [6 x i8] c"error\00" +@.str7402 = private unnamed_addr constant [10 x i8] c"job_error\00" +@.str7403 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7404 = private unnamed_addr constant [8 x i8] c"pending\00" +@.str7405 = private unnamed_addr constant [12 x i8] c"job_pending\00" +@.str7406 = private unnamed_addr constant [5 x i8] c"free\00" +@.str7407 = private unnamed_addr constant [9 x i8] c"job_free\00" +@.str7408 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7409 = private unnamed_addr constant [8 x i8] c"Promise\00" +@.str7410 = private unnamed_addr constant [4 x i8] c"all\00" +@.str7411 = private unnamed_addr constant [9 x i8] c"prom_all\00" +@.str7412 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7413 = private unnamed_addr constant [5 x i8] c"race\00" +@.str7414 = private unnamed_addr constant [10 x i8] c"prom_race\00" +@.str7415 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7416 = private unnamed_addr constant [11 x i8] c"count_done\00" +@.str7417 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" +@.str7418 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7419 = private unnamed_addr constant [9 x i8] c"all_done\00" +@.str7420 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" +@.str7421 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7422 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str7423 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7424 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" +@.str7425 = private unnamed_addr constant [5 x i8] c"lock\00" +@.str7426 = private unnamed_addr constant [10 x i8] c"sync_lock\00" +@.str7427 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7428 = private unnamed_addr constant [7 x i8] c"unlock\00" +@.str7429 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" +@.str7430 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7431 = private unnamed_addr constant [9 x i8] c"try_lock\00" +@.str7432 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" +@.str7433 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7434 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7435 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" +@.str7436 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7437 = private unnamed_addr constant [9 x i8] c"sync_get\00" +@.str7438 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7439 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7440 = private unnamed_addr constant [9 x i8] c"sync_set\00" +@.str7441 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7442 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7443 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7444 = private unnamed_addr constant [9 x i8] c"sync_add\00" +@.str7445 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7446 = private unnamed_addr constant [6 x i8] c"delta\00" +@.str7447 = private unnamed_addr constant [4 x i8] c"cas\00" +@.str7448 = private unnamed_addr constant [9 x i8] c"sync_cas\00" +@.str7449 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7450 = private unnamed_addr constant [7 x i8] c"expect\00" +@.str7451 = private unnamed_addr constant [5 x i8] c"next\00" +@.str7452 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7453 = private unnamed_addr constant [13 x i8] c"sync_channel\00" +@.str7454 = private unnamed_addr constant [5 x i8] c"send\00" +@.str7455 = private unnamed_addr constant [10 x i8] c"sync_send\00" +@.str7456 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7457 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7458 = private unnamed_addr constant [5 x i8] c"recv\00" +@.str7459 = private unnamed_addr constant [10 x i8] c"sync_recv\00" +@.str7460 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7461 = private unnamed_addr constant [9 x i8] c"can_recv\00" +@.str7462 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" +@.str7463 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7464 = private unnamed_addr constant [4 x i8] c"len\00" +@.str7465 = private unnamed_addr constant [9 x i8] c"sync_len\00" +@.str7466 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7467 = private unnamed_addr constant [10 x i8] c"cpu_count\00" +@.str7468 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" +@.str7469 = private unnamed_addr constant [5 x i8] c"Huge\00" +@.str7470 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7471 = private unnamed_addr constant [10 x i8] c"huge_from\00" +@.str7472 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7473 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7474 = private unnamed_addr constant [9 x i8] c"huge_add\00" +@.str7475 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7476 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7477 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str7478 = private unnamed_addr constant [9 x i8] c"huge_sub\00" +@.str7479 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7480 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7481 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str7482 = private unnamed_addr constant [9 x i8] c"huge_mul\00" +@.str7483 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7484 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7485 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7486 = private unnamed_addr constant [9 x i8] c"huge_neg\00" +@.str7487 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7488 = private unnamed_addr constant [4 x i8] c"cmp\00" +@.str7489 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" +@.str7490 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7491 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7492 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str7493 = private unnamed_addr constant [10 x i8] c"huge_sign\00" +@.str7494 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7495 = private unnamed_addr constant [9 x i8] c"mantissa\00" +@.str7496 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" +@.str7497 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7498 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str7499 = private unnamed_addr constant [9 x i8] c"huge_exp\00" +@.str7500 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7501 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7502 = private unnamed_addr constant [9 x i8] c"huge_str\00" +@.str7503 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7504 = private unnamed_addr constant [6 x i8] c"Angle\00" +@.str7505 = private unnamed_addr constant [13 x i8] c"from_degrees\00" +@.str7506 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" +@.str7507 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7508 = private unnamed_addr constant [11 x i8] c"to_degrees\00" +@.str7509 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" +@.str7510 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7511 = private unnamed_addr constant [5 x i8] c"wrap\00" +@.str7512 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" +@.str7513 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7514 = private unnamed_addr constant [4 x i8] c"sin\00" +@.str7515 = private unnamed_addr constant [10 x i8] c"angle_sin\00" +@.str7516 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7517 = private unnamed_addr constant [4 x i8] c"cos\00" +@.str7518 = private unnamed_addr constant [10 x i8] c"angle_cos\00" +@.str7519 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7520 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7521 = private unnamed_addr constant [10 x i8] c"angle_add\00" +@.str7522 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7523 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7524 = private unnamed_addr constant [5 x i8] c"diff\00" +@.str7525 = private unnamed_addr constant [11 x i8] c"angle_diff\00" +@.str7526 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7527 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7528 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" +@.str7529 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" +@.str7530 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7531 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7532 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str7533 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" +@.str7534 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7535 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7536 = private unnamed_addr constant [2 x i8] c"t\00" +@.str7537 = private unnamed_addr constant [8 x i8] c"Percent\00" +@.str7538 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str7539 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" +@.str7540 = private unnamed_addr constant [2 x i8] c"v\00" +@.str7541 = private unnamed_addr constant [3 x i8] c"of\00" +@.str7542 = private unnamed_addr constant [11 x i8] c"percent_of\00" +@.str7543 = private unnamed_addr constant [4 x i8] c"num\00" +@.str7544 = private unnamed_addr constant [4 x i8] c"den\00" +@.str7545 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str7546 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" +@.str7547 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7548 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7549 = private unnamed_addr constant [2 x i8] c"t\00" +@.str7550 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7551 = private unnamed_addr constant [14 x i8] c"percent_apply\00" +@.str7552 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7553 = private unnamed_addr constant [2 x i8] c"p\00" +@.str7554 = private unnamed_addr constant [5 x i8] c"Grid\00" +@.str7555 = private unnamed_addr constant [5 x i8] c"line\00" +@.str7556 = private unnamed_addr constant [10 x i8] c"grid_line\00" +@.str7557 = private unnamed_addr constant [3 x i8] c"x0\00" +@.str7558 = private unnamed_addr constant [3 x i8] c"y0\00" +@.str7559 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str7560 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str7561 = private unnamed_addr constant [8 x i8] c"blocked\00" +@.str7562 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" +@.str7563 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7564 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7565 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7566 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" +@.str7567 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" +@.str7568 = private unnamed_addr constant [3 x i8] c"x0\00" +@.str7569 = private unnamed_addr constant [3 x i8] c"y0\00" +@.str7570 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str7571 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str7572 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7573 = private unnamed_addr constant [6 x i8] c"flood\00" +@.str7574 = private unnamed_addr constant [11 x i8] c"grid_flood\00" +@.str7575 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7576 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7577 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7578 = private unnamed_addr constant [7 x i8] c"a_star\00" +@.str7579 = private unnamed_addr constant [12 x i8] c"path_a_star\00" +@.str7580 = private unnamed_addr constant [3 x i8] c"x0\00" +@.str7581 = private unnamed_addr constant [3 x i8] c"y0\00" +@.str7582 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str7583 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str7584 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7585 = private unnamed_addr constant [6 x i8] c"Light\00" +@.str7586 = private unnamed_addr constant [8 x i8] c"ambient\00" +@.str7587 = private unnamed_addr constant [14 x i8] c"light_ambient\00" +@.str7588 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7589 = private unnamed_addr constant [6 x i8] c"point\00" +@.str7590 = private unnamed_addr constant [12 x i8] c"light_point\00" +@.str7591 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7592 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7593 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str7594 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7595 = private unnamed_addr constant [7 x i8] c"energy\00" +@.str7596 = private unnamed_addr constant [5 x i8] c"spot\00" +@.str7597 = private unnamed_addr constant [11 x i8] c"light_spot\00" +@.str7598 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7599 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7600 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str7601 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7602 = private unnamed_addr constant [7 x i8] c"energy\00" +@.str7603 = private unnamed_addr constant [10 x i8] c"direction\00" +@.str7604 = private unnamed_addr constant [7 x i8] c"spread\00" +@.str7605 = private unnamed_addr constant [8 x i8] c"occlude\00" +@.str7606 = private unnamed_addr constant [14 x i8] c"light_occlude\00" +@.str7607 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7608 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7609 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7610 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7611 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" +@.str7612 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" +@.str7613 = private unnamed_addr constant [8 x i8] c"falloff\00" +@.str7614 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" +@.str7615 = private unnamed_addr constant [9 x i8] c"exponent\00" +@.str7616 = private unnamed_addr constant [5 x i8] c"soft\00" +@.str7617 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" +@.str7618 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str7619 = private unnamed_addr constant [4 x i8] c"gel\00" +@.str7620 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" +@.str7621 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7622 = private unnamed_addr constant [10 x i8] c"clear_gel\00" +@.str7623 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" +@.str7624 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7625 = private unnamed_addr constant [17 x i8] c"light_set_height\00" +@.str7626 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7627 = private unnamed_addr constant [7 x i8] c"normal\00" +@.str7628 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" +@.str7629 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7630 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7631 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7632 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7633 = private unnamed_addr constant [3 x i8] c"nx\00" +@.str7634 = private unnamed_addr constant [3 x i8] c"ny\00" +@.str7635 = private unnamed_addr constant [14 x i8] c"clear_normals\00" +@.str7636 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" +@.str7637 = private unnamed_addr constant [12 x i8] c"time_of_day\00" +@.str7638 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" +@.str7639 = private unnamed_addr constant [2 x i8] c"t\00" +@.str7640 = private unnamed_addr constant [5 x i8] c"Anim\00" +@.str7641 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str7642 = private unnamed_addr constant [10 x i8] c"anim_clip\00" +@.str7643 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7644 = private unnamed_addr constant [7 x i8] c"frames\00" +@.str7645 = private unnamed_addr constant [4 x i8] c"fps\00" +@.str7646 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str7647 = private unnamed_addr constant [9 x i8] c"on_frame\00" +@.str7648 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" +@.str7649 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7650 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str7651 = private unnamed_addr constant [6 x i8] c"fired\00" +@.str7652 = private unnamed_addr constant [11 x i8] c"anim_fired\00" +@.str7653 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7654 = private unnamed_addr constant [5 x i8] c"play\00" +@.str7655 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" +@.str7656 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7657 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str7658 = private unnamed_addr constant [10 x i8] c"anim_play\00" +@.str7659 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7660 = private unnamed_addr constant [4 x i8] c"fps\00" +@.str7661 = private unnamed_addr constant [7 x i8] c"frames\00" +@.str7662 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str7663 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str7664 = private unnamed_addr constant [3 x i8] c"to\00" +@.str7665 = private unnamed_addr constant [10 x i8] c"motion_to\00" +@.str7666 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7667 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7668 = private unnamed_addr constant [3 x i8] c"to\00" +@.str7669 = private unnamed_addr constant [4 x i8] c"dur\00" +@.str7670 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str7671 = private unnamed_addr constant [6 x i8] c"Tween\00" +@.str7672 = private unnamed_addr constant [3 x i8] c"to\00" +@.str7673 = private unnamed_addr constant [9 x i8] c"tween_to\00" +@.str7674 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7675 = private unnamed_addr constant [3 x i8] c"to\00" +@.str7676 = private unnamed_addr constant [4 x i8] c"dur\00" +@.str7677 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str7678 = private unnamed_addr constant [6 x i8] c"chain\00" +@.str7679 = private unnamed_addr constant [12 x i8] c"tween_chain\00" +@.str7680 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7681 = private unnamed_addr constant [3 x i8] c"to\00" +@.str7682 = private unnamed_addr constant [4 x i8] c"dur\00" +@.str7683 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str7684 = private unnamed_addr constant [6 x i8] c"delay\00" +@.str7685 = private unnamed_addr constant [12 x i8] c"tween_delay\00" +@.str7686 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7687 = private unnamed_addr constant [6 x i8] c"ticks\00" +@.str7688 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7689 = private unnamed_addr constant [12 x i8] c"tween_value\00" +@.str7690 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7691 = private unnamed_addr constant [5 x i8] c"stop\00" +@.str7692 = private unnamed_addr constant [11 x i8] c"tween_stop\00" +@.str7693 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7694 = private unnamed_addr constant [9 x i8] c"parallel\00" +@.str7695 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" +@.str7696 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7697 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7698 = private unnamed_addr constant [6 x i8] c"Query\00" +@.str7699 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7700 = private unnamed_addr constant [12 x i8] c"query_count\00" +@.str7701 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7702 = private unnamed_addr constant [6 x i8] c"first\00" +@.str7703 = private unnamed_addr constant [12 x i8] c"query_first\00" +@.str7704 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7705 = private unnamed_addr constant [8 x i8] c"nearest\00" +@.str7706 = private unnamed_addr constant [14 x i8] c"query_nearest\00" +@.str7707 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7708 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str7709 = private unnamed_addr constant [8 x i8] c"x_field\00" +@.str7710 = private unnamed_addr constant [8 x i8] c"y_field\00" +@.str7711 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7712 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7713 = private unnamed_addr constant [7 x i8] c"within\00" +@.str7714 = private unnamed_addr constant [13 x i8] c"query_within\00" +@.str7715 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7716 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str7717 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7718 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7719 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str7720 = private unnamed_addr constant [8 x i8] c"x_field\00" +@.str7721 = private unnamed_addr constant [8 x i8] c"y_field\00" +@.str7722 = private unnamed_addr constant [8 x i8] c"Reflect\00" +@.str7723 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7724 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str7725 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7726 = private unnamed_addr constant [6 x i8] c"field\00" +@.str7727 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str7728 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7729 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7730 = private unnamed_addr constant [11 x i8] c"prop_count\00" +@.str7731 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" +@.str7732 = private unnamed_addr constant [10 x i8] c"prop_name\00" +@.str7733 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" +@.str7734 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7735 = private unnamed_addr constant [12 x i8] c"field_count\00" +@.str7736 = private unnamed_addr constant [18 x i8] c"world_field_count\00" +@.str7737 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7738 = private unnamed_addr constant [11 x i8] c"field_name\00" +@.str7739 = private unnamed_addr constant [17 x i8] c"world_field_name\00" +@.str7740 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7741 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7742 = private unnamed_addr constant [11 x i8] c"field_type\00" +@.str7743 = private unnamed_addr constant [17 x i8] c"world_field_type\00" +@.str7744 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7745 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7746 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7747 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str7748 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7749 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7750 = private unnamed_addr constant [6 x i8] c"field\00" +@.str7751 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7752 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str7753 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7754 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7755 = private unnamed_addr constant [6 x i8] c"field\00" +@.str7756 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7757 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7758 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str7759 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7760 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7761 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str7762 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str7763 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7764 = private unnamed_addr constant [6 x i8] c"model\00" +@.str7765 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str7766 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7767 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str7768 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" +@.str7769 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7770 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7771 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" +@.str7772 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7773 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7774 = private unnamed_addr constant [6 x i8] c"Value\00" +@.str7775 = private unnamed_addr constant [5 x i8] c"null\00" +@.str7776 = private unnamed_addr constant [11 x i8] c"value_null\00" +@.str7777 = private unnamed_addr constant [4 x i8] c"int\00" +@.str7778 = private unnamed_addr constant [10 x i8] c"value_int\00" +@.str7779 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7780 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str7781 = private unnamed_addr constant [12 x i8] c"value_fixed\00" +@.str7782 = private unnamed_addr constant [2 x i8] c"f\00" +@.str7783 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str7784 = private unnamed_addr constant [11 x i8] c"value_bool\00" +@.str7785 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7786 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7787 = private unnamed_addr constant [10 x i8] c"value_str\00" +@.str7788 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7789 = private unnamed_addr constant [5 x i8] c"list\00" +@.str7790 = private unnamed_addr constant [11 x i8] c"value_list\00" +@.str7791 = private unnamed_addr constant [7 x i8] c"object\00" +@.str7792 = private unnamed_addr constant [13 x i8] c"value_object\00" +@.str7793 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7794 = private unnamed_addr constant [10 x i8] c"value_add\00" +@.str7795 = private unnamed_addr constant [5 x i8] c"list\00" +@.str7796 = private unnamed_addr constant [5 x i8] c"item\00" +@.str7797 = private unnamed_addr constant [4 x i8] c"put\00" +@.str7798 = private unnamed_addr constant [10 x i8] c"value_put\00" +@.str7799 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str7800 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7801 = private unnamed_addr constant [5 x i8] c"item\00" +@.str7802 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7803 = private unnamed_addr constant [10 x i8] c"value_get\00" +@.str7804 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str7805 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7806 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7807 = private unnamed_addr constant [10 x i8] c"value_has\00" +@.str7808 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str7809 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7810 = private unnamed_addr constant [3 x i8] c"at\00" +@.str7811 = private unnamed_addr constant [9 x i8] c"value_at\00" +@.str7812 = private unnamed_addr constant [5 x i8] c"list\00" +@.str7813 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7814 = private unnamed_addr constant [7 x i8] c"key_at\00" +@.str7815 = private unnamed_addr constant [13 x i8] c"value_key_at\00" +@.str7816 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str7817 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7818 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7819 = private unnamed_addr constant [12 x i8] c"value_count\00" +@.str7820 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7821 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str7822 = private unnamed_addr constant [11 x i8] c"value_kind\00" +@.str7823 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7824 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str7825 = private unnamed_addr constant [13 x i8] c"value_as_int\00" +@.str7826 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7827 = private unnamed_addr constant [7 x i8] c"as_str\00" +@.str7828 = private unnamed_addr constant [13 x i8] c"value_as_str\00" +@.str7829 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7830 = private unnamed_addr constant [5 x i8] c"Json\00" +@.str7831 = private unnamed_addr constant [7 x i8] c"encode\00" +@.str7832 = private unnamed_addr constant [12 x i8] c"json_encode\00" +@.str7833 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7834 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7835 = private unnamed_addr constant [11 x i8] c"json_parse\00" +@.str7836 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7837 = private unnamed_addr constant [4 x i8] c"Xml\00" +@.str7838 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7839 = private unnamed_addr constant [10 x i8] c"xml_parse\00" +@.str7840 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7841 = private unnamed_addr constant [4 x i8] c"tag\00" +@.str7842 = private unnamed_addr constant [8 x i8] c"xml_tag\00" +@.str7843 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7844 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7845 = private unnamed_addr constant [9 x i8] c"xml_text\00" +@.str7846 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7847 = private unnamed_addr constant [5 x i8] c"attr\00" +@.str7848 = private unnamed_addr constant [9 x i8] c"xml_attr\00" +@.str7849 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7850 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7851 = private unnamed_addr constant [9 x i8] c"attr_int\00" +@.str7852 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" +@.str7853 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7854 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7855 = private unnamed_addr constant [5 x i8] c"dflt\00" +@.str7856 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7857 = private unnamed_addr constant [8 x i8] c"xml_has\00" +@.str7858 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7859 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7860 = private unnamed_addr constant [11 x i8] c"attr_count\00" +@.str7861 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" +@.str7862 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7863 = private unnamed_addr constant [12 x i8] c"child_count\00" +@.str7864 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" +@.str7865 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7866 = private unnamed_addr constant [6 x i8] c"child\00" +@.str7867 = private unnamed_addr constant [10 x i8] c"xml_child\00" +@.str7868 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7869 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7870 = private unnamed_addr constant [5 x i8] c"find\00" +@.str7871 = private unnamed_addr constant [9 x i8] c"xml_find\00" +@.str7872 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7873 = private unnamed_addr constant [4 x i8] c"tag\00" +@.str7874 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7875 = private unnamed_addr constant [10 x i8] c"xml_count\00" +@.str7876 = private unnamed_addr constant [5 x i8] c"node\00" +@.str7877 = private unnamed_addr constant [4 x i8] c"tag\00" +@.str7878 = private unnamed_addr constant [7 x i8] c"Base64\00" +@.str7879 = private unnamed_addr constant [7 x i8] c"decode\00" +@.str7880 = private unnamed_addr constant [14 x i8] c"base64_decode\00" +@.str7881 = private unnamed_addr constant [4 x i8] c"src\00" +@.str7882 = private unnamed_addr constant [7 x i8] c"encode\00" +@.str7883 = private unnamed_addr constant [14 x i8] c"base64_encode\00" +@.str7884 = private unnamed_addr constant [4 x i8] c"src\00" +@.str7885 = private unnamed_addr constant [6 x i8] c"Tiled\00" +@.str7886 = private unnamed_addr constant [5 x i8] c"read\00" +@.str7887 = private unnamed_addr constant [11 x i8] c"tiled_read\00" +@.str7888 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7889 = private unnamed_addr constant [9 x i8] c"read_tsx\00" +@.str7890 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" +@.str7891 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7892 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7893 = private unnamed_addr constant [11 x i8] c"tiled_load\00" +@.str7894 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7895 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7896 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" +@.str7897 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7898 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str7899 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7900 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7901 = private unnamed_addr constant [8 x i8] c"resolve\00" +@.str7902 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" +@.str7903 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7904 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7905 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7906 = private unnamed_addr constant [11 x i8] c"tmap_width\00" +@.str7907 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7908 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7909 = private unnamed_addr constant [12 x i8] c"tmap_height\00" +@.str7910 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7911 = private unnamed_addr constant [12 x i8] c"layer_count\00" +@.str7912 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" +@.str7913 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7914 = private unnamed_addr constant [11 x i8] c"layer_name\00" +@.str7915 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" +@.str7916 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7917 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7918 = private unnamed_addr constant [5 x i8] c"draw\00" +@.str7919 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" +@.str7920 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7921 = private unnamed_addr constant [5 x i8] c"camx\00" +@.str7922 = private unnamed_addr constant [5 x i8] c"camy\00" +@.str7923 = private unnamed_addr constant [10 x i8] c"draw_anim\00" +@.str7924 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" +@.str7925 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7926 = private unnamed_addr constant [5 x i8] c"camx\00" +@.str7927 = private unnamed_addr constant [5 x i8] c"camy\00" +@.str7928 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str7929 = private unnamed_addr constant [10 x i8] c"frame_gid\00" +@.str7930 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" +@.str7931 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7932 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7933 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str7934 = private unnamed_addr constant [9 x i8] c"animated\00" +@.str7935 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" +@.str7936 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7937 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7938 = private unnamed_addr constant [8 x i8] c"project\00" +@.str7939 = private unnamed_addr constant [13 x i8] c"tmap_project\00" +@.str7940 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7941 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str7942 = private unnamed_addr constant [8 x i8] c"collide\00" +@.str7943 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" +@.str7944 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7945 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str7946 = private unnamed_addr constant [15 x i8] c"collision_kind\00" +@.str7947 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" +@.str7948 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7949 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7950 = private unnamed_addr constant [5 x i8] c"tree\00" +@.str7951 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" +@.str7952 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7953 = private unnamed_addr constant [10 x i8] c"tile_prop\00" +@.str7954 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" +@.str7955 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7956 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7957 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7958 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" +@.str7959 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" +@.str7960 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7961 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str7962 = private unnamed_addr constant [13 x i8] c"object_count\00" +@.str7963 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" +@.str7964 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7965 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str7966 = private unnamed_addr constant [7 x i8] c"object\00" +@.str7967 = private unnamed_addr constant [12 x i8] c"tmap_object\00" +@.str7968 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7969 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str7970 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7971 = private unnamed_addr constant [13 x i8] c"object_shape\00" +@.str7972 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" +@.str7973 = private unnamed_addr constant [7 x i8] c"object\00" +@.str7974 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str7975 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" +@.str7976 = private unnamed_addr constant [10 x i8] c"container\00" +@.str7977 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7978 = private unnamed_addr constant [9 x i8] c"prop_int\00" +@.str7979 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" +@.str7980 = private unnamed_addr constant [10 x i8] c"container\00" +@.str7981 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7982 = private unnamed_addr constant [10 x i8] c"prop_type\00" +@.str7983 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" +@.str7984 = private unnamed_addr constant [10 x i8] c"container\00" +@.str7985 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7986 = private unnamed_addr constant [11 x i8] c"load_types\00" +@.str7987 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" +@.str7988 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7989 = private unnamed_addr constant [9 x i8] c"template\00" +@.str7990 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" +@.str7991 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7992 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str7993 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" +@.str7994 = private unnamed_addr constant [4 x i8] c"map\00" +@.str7995 = private unnamed_addr constant [7 x i8] c"object\00" +@.str7996 = private unnamed_addr constant [6 x i8] c"model\00" +@.str7997 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" +@.str7998 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" +@.str7999 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8000 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8001 = private unnamed_addr constant [6 x i8] c"model\00" +@.str8002 = private unnamed_addr constant [7 x i8] c"cell_x\00" +@.str8003 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" +@.str8004 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8005 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8006 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8007 = private unnamed_addr constant [7 x i8] c"cell_y\00" +@.str8008 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" +@.str8009 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8010 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8011 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8012 = private unnamed_addr constant [11 x i8] c"layer_kind\00" +@.str8013 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" +@.str8014 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8015 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8016 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" +@.str8017 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" +@.str8018 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8019 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8020 = private unnamed_addr constant [11 x i8] c"layer_tint\00" +@.str8021 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" +@.str8022 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8023 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8024 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" +@.str8025 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" +@.str8026 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8027 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8028 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" +@.str8029 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" +@.str8030 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8031 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8032 = private unnamed_addr constant [6 x i8] c"world\00" +@.str8033 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" +@.str8034 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8035 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str8036 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" +@.str8037 = private unnamed_addr constant [6 x i8] c"world\00" +@.str8038 = private unnamed_addr constant [10 x i8] c"world_map\00" +@.str8039 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" +@.str8040 = private unnamed_addr constant [6 x i8] c"world\00" +@.str8041 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8042 = private unnamed_addr constant [2 x i8] c"_\00" +@.str8043 = private unnamed_addr constant [2 x i8] c".\00" +@.str8044 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" +@.str8045 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" +@.str8046 = private unnamed_addr constant [2 x i8] c".\00" +@.str8047 = private unnamed_addr constant [14 x i8] c"enum variant \00" +@.str8048 = private unnamed_addr constant [8 x i8] c" takes \00" +@.str8049 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" +@.str8050 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str8051 = private unnamed_addr constant [2 x i8] c")\00" +@.str8052 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8053 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8054 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8055 = private unnamed_addr constant [3 x i8] c" \00" +@.str8056 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str8057 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8058 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8059 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8060 = private unnamed_addr constant [2 x i8] c" \00" +@.str8061 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8062 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8063 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" +@.str8064 = private unnamed_addr constant [5 x i8] c"self\00" +@.str8065 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8066 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8067 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8068 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8069 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8070 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str8071 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8072 = private unnamed_addr constant [5 x i8] c"save\00" +@.str8073 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" +@.str8074 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8075 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8076 = private unnamed_addr constant [9 x i8] c"ui_build\00" +@.str8077 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" +@.str8078 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8079 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8080 = private unnamed_addr constant [5 x i8] c"load\00" +@.str8081 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" +@.str8082 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8083 = private unnamed_addr constant [11 x i8] c"world_size\00" +@.str8084 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" +@.str8085 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8086 = private unnamed_addr constant [11 x i8] c"world_save\00" +@.str8087 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" +@.str8088 = private unnamed_addr constant [2 x i8] c")\00" +@.str8089 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8090 = private unnamed_addr constant [11 x i8] c"world_load\00" +@.str8091 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" +@.str8092 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8093 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8094 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8095 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8096 = private unnamed_addr constant [5 x i8] c"quit\00" +@.str8097 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" +@.str8098 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8099 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8100 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str8101 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" +@.str8102 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8103 = private unnamed_addr constant [2 x i8] c")\00" +@.str8104 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8105 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str8106 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" +@.str8107 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8108 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8109 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8110 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8111 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8112 = private unnamed_addr constant [10 x i8] c"sync_size\00" +@.str8113 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" +@.str8114 = private unnamed_addr constant [2 x i8] c")\00" +@.str8115 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8116 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str8117 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" +@.str8118 = private unnamed_addr constant [2 x i8] c")\00" +@.str8119 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8120 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str8121 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" +@.str8122 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8123 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8124 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8125 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8126 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str8127 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" +@.str8128 = private unnamed_addr constant [2 x i8] c")\00" +@.str8129 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8130 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str8131 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str8132 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8133 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str8134 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8135 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8136 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8137 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str8138 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" +@.str8139 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8140 = private unnamed_addr constant [9 x i8] c"net_pump\00" +@.str8141 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" +@.str8142 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8143 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8144 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" +@.str8145 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" +@.str8146 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8147 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8148 = private unnamed_addr constant [12 x i8] c"tick_render\00" +@.str8149 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str8150 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8151 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str8152 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" -@.str8153 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8154 = private unnamed_addr constant [3 x i8] c", \00" -@.str8155 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str8156 = private unnamed_addr constant [3 x i8] c", \00" -@.str8157 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str8158 = private unnamed_addr constant [5 x i8] c"marm\00" -@.str8159 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8160 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8161 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8162 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8163 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8164 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8165 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8166 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8167 = private unnamed_addr constant [10 x i8] c"match on \00" -@.str8168 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" -@.str8169 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" -@.str8170 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8171 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8172 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8173 = private unnamed_addr constant [5 x i8] c"mend\00" -@.str8174 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8175 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8176 = private unnamed_addr constant [3 x i8] c", \00" -@.str8177 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str8178 = private unnamed_addr constant [3 x i8] c", \00" -@.str8179 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str8180 = private unnamed_addr constant [5 x i8] c"marm\00" -@.str8181 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8182 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8183 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8184 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8185 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8186 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8187 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8188 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8189 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8190 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8191 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8192 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" -@.str8193 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8194 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8195 = private unnamed_addr constant [5 x i8] c"null\00" -@.str8196 = private unnamed_addr constant [3 x i8] c" \00" -@.str8197 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" -@.str8198 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str8199 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8200 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8201 = private unnamed_addr constant [3 x i8] c" \00" -@.str8202 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" -@.str8203 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8204 = private unnamed_addr constant [9 x i8] c" store \00" -@.str8205 = private unnamed_addr constant [2 x i8] c" \00" -@.str8206 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8207 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8208 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8209 = private unnamed_addr constant [10 x i8] c"toclients\00" -@.str8210 = private unnamed_addr constant [3 x i8] c"-1\00" -@.str8211 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str8212 = private unnamed_addr constant [14 x i8] c" call void @\00" -@.str8213 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8214 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" -@.str8215 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8216 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8217 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8218 = private unnamed_addr constant [3 x i8] c", \00" -@.str8219 = private unnamed_addr constant [2 x i8] c" \00" -@.str8220 = private unnamed_addr constant [3 x i8] c" \00" -@.str8221 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" -@.str8222 = private unnamed_addr constant [2 x i8] c"(\00" -@.str8223 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8224 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8225 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8226 = private unnamed_addr constant [2 x i8] c"(\00" -@.str8227 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8228 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8229 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8230 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8231 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8232 = private unnamed_addr constant [5 x i8] c"null\00" -@.str8233 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8234 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8235 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8236 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8237 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" -@.str8238 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" -@.str8239 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8240 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" -@.str8241 = private unnamed_addr constant [9 x i8] c"Occluder\00" -@.str8242 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" -@.str8243 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" -@.str8244 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" -@.str8245 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" -@.str8246 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" -@.str8247 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" -@.str8248 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str8249 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" -@.str8250 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str8251 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" -@.str8252 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str8253 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" -@.str8254 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" -@.str8255 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" -@.str8256 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" -@.str8257 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str8258 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str8259 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str8260 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str8261 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" -@.str8262 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str8263 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str8264 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" -@.str8265 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str8266 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str8267 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str8268 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str8269 = private unnamed_addr constant [5 x i8] c"@LE_\00" -@.str8270 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str8271 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" -@.str8272 = private unnamed_addr constant [3 x i8] c"%h\00" -@.str8273 = private unnamed_addr constant [3 x i8] c" \00" -@.str8274 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8275 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str8276 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str8277 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str8278 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8279 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" -@.str8280 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str8281 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" -@.str8282 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" -@.str8283 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" -@.str8284 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" -@.str8285 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str8286 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" -@.str8287 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str8288 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" -@.str8289 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" -@.str8290 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" -@.str8291 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" -@.str8292 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str8293 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str8294 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" -@.str8295 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" -@.str8296 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str8297 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" -@.str8298 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" -@.str8299 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" -@.str8300 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" -@.str8301 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str8302 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str8303 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" -@.str8304 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str8305 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str8306 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str8307 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" -@.str8308 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" -@.str8309 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" -@.str8310 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str8311 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str8312 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" -@.str8313 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str8314 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str8315 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str8316 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" -@.str8317 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" -@.str8318 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" -@.str8319 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str8320 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str8321 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8322 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8323 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8324 = private unnamed_addr constant [6 x i8] c"qcond\00" -@.str8325 = private unnamed_addr constant [6 x i8] c"qbody\00" -@.str8326 = private unnamed_addr constant [6 x i8] c"qnext\00" -@.str8327 = private unnamed_addr constant [5 x i8] c"qend\00" -@.str8328 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8329 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8330 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8331 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8332 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" -@.str8333 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str8334 = private unnamed_addr constant [3 x i8] c", \00" -@.str8335 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8336 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8337 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8338 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8339 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8340 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8341 = private unnamed_addr constant [3 x i8] c" \00" -@.str8342 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8343 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str8151 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8152 = private unnamed_addr constant [9 x i8] c"set_role\00" +@.str8153 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8154 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" +@.str8155 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8156 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8157 = private unnamed_addr constant [13 x i8] c"set_local_id\00" +@.str8158 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8159 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" +@.str8160 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8161 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8162 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str8163 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str8164 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" +@.str8165 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8166 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8167 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8168 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8169 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8170 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str8171 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str8172 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" +@.str8173 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8174 = private unnamed_addr constant [2 x i8] c")\00" +@.str8175 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8176 = private unnamed_addr constant [4 x i8] c"len\00" +@.str8177 = private unnamed_addr constant [5 x i8] c"push\00" +@.str8178 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8179 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8180 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str8181 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00" +@.str8182 = private unnamed_addr constant [2 x i8] c")\00" +@.str8183 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8184 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00" +@.str8185 = private unnamed_addr constant [2 x i8] c")\00" +@.str8186 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8187 = private unnamed_addr constant [6 x i8] c"print\00" +@.str8188 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8189 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str8190 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8191 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str8192 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" +@.str8193 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8194 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" +@.str8195 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8196 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8197 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8198 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str8199 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str8200 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str8201 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str8202 = private unnamed_addr constant [2 x i8] c")\00" +@.str8203 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str8204 = private unnamed_addr constant [6 x i8] c"words\00" +@.str8205 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str8206 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str8207 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str8208 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str8209 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str8210 = private unnamed_addr constant [2 x i8] c")\00" +@.str8211 = private unnamed_addr constant [6 x i8] c"words\00" +@.str8212 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8213 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str8214 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str8215 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8216 = private unnamed_addr constant [6 x i8] c"floor\00" +@.str8217 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str8218 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str8219 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8220 = private unnamed_addr constant [7 x i8] c"expect\00" +@.str8221 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8222 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8223 = private unnamed_addr constant [2 x i8] c":\00" +@.str8224 = private unnamed_addr constant [16 x i8] c": expect failed\00" +@.str8225 = private unnamed_addr constant [1 x i8] c"\00" +@.str8226 = private unnamed_addr constant [1 x i8] c"\00" +@.str8227 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8228 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8229 = private unnamed_addr constant [10 x i8] c"expect_eq\00" +@.str8230 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8231 = private unnamed_addr constant [3 x i8] c", \00" +@.str8232 = private unnamed_addr constant [2 x i8] c":\00" +@.str8233 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" +@.str8234 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8235 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8236 = private unnamed_addr constant [12 x i8] c"expect_near\00" +@.str8237 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str8238 = private unnamed_addr constant [3 x i8] c", \00" +@.str8239 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str8240 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str8241 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8242 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str8243 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8244 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8245 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str8246 = private unnamed_addr constant [3 x i8] c", \00" +@.str8247 = private unnamed_addr constant [2 x i8] c":\00" +@.str8248 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" +@.str8249 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8250 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8251 = private unnamed_addr constant [6 x i8] c"panic\00" +@.str8252 = private unnamed_addr constant [2 x i8] c":\00" +@.str8253 = private unnamed_addr constant [10 x i8] c": panic: \00" +@.str8254 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" +@.str8255 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" +@.str8256 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" +@.str8257 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8258 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8259 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" +@.str8260 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8261 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8262 = private unnamed_addr constant [7 x i8] c"assert\00" +@.str8263 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8264 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8265 = private unnamed_addr constant [5 x i8] c"asok\00" +@.str8266 = private unnamed_addr constant [6 x i8] c"asbad\00" +@.str8267 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8268 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8269 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8270 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8271 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8272 = private unnamed_addr constant [2 x i8] c":\00" +@.str8273 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" +@.str8274 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" +@.str8275 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" +@.str8276 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" +@.str8277 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8278 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8279 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" +@.str8280 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8281 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8282 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8283 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str8284 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str8285 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" +@.str8286 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8287 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8288 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str8289 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8290 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8291 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8292 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8293 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8294 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8295 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8296 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8297 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" +@.str8298 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" +@.str8299 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8300 = private unnamed_addr constant [7 x i8] c"result\00" +@.str8301 = private unnamed_addr constant [4 x i8] c"err\00" +@.str8302 = private unnamed_addr constant [4 x i8] c"err\00" +@.str8303 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" +@.str8304 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8305 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8306 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8307 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8308 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8309 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8310 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8311 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8312 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8313 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" +@.str8314 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str8315 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8316 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8317 = private unnamed_addr constant [7 x i8] c"result\00" +@.str8318 = private unnamed_addr constant [6 x i8] c"is_ok\00" +@.str8319 = private unnamed_addr constant [6 x i8] c"is_ok\00" +@.str8320 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8321 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8322 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8323 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8324 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8325 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8326 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8327 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8328 = private unnamed_addr constant [7 x i8] c"is_err\00" +@.str8329 = private unnamed_addr constant [7 x i8] c"is_err\00" +@.str8330 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8331 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8332 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8333 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8334 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8335 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8336 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8337 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8338 = private unnamed_addr constant [5 x i8] c"some\00" +@.str8339 = private unnamed_addr constant [5 x i8] c"some\00" +@.str8340 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" +@.str8341 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8342 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8343 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8344 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8345 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8346 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8347 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8348 = private unnamed_addr constant [3 x i8] c"qa\00" -@.str8349 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8350 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8351 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8352 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8353 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8354 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8355 = private unnamed_addr constant [3 x i8] c" \00" -@.str8356 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8357 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str8345 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8346 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8347 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8348 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8349 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8350 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8351 = private unnamed_addr constant [7 x i8] c"option\00" +@.str8352 = private unnamed_addr constant [5 x i8] c"none\00" +@.str8353 = private unnamed_addr constant [5 x i8] c"none\00" +@.str8354 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" +@.str8355 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8356 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8357 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str8358 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8359 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8360 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8361 = private unnamed_addr constant [3 x i8] c", \00" -@.str8362 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" -@.str8363 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8364 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8365 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str8366 = private unnamed_addr constant [3 x i8] c", \00" -@.str8367 = private unnamed_addr constant [3 x i8] c" \00" -@.str8368 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8369 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str8370 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8371 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8372 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str8373 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str8374 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8375 = private unnamed_addr constant [3 x i8] c"qt\00" -@.str8376 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8377 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8378 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8379 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8380 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8381 = private unnamed_addr constant [3 x i8] c" \00" -@.str8382 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8383 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str8384 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str8385 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8386 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8387 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8388 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str8389 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8390 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8391 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8392 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8393 = private unnamed_addr constant [3 x i8] c"qw\00" -@.str8394 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8395 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8396 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8397 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8398 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8399 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8400 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8401 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8402 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8403 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str8404 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str8405 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8406 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8407 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8408 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8409 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" -@.str8410 = private unnamed_addr constant [3 x i8] c" \00" -@.str8411 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8412 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str8413 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8414 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8415 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" -@.str8416 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8417 = private unnamed_addr constant [3 x i8] c" \00" -@.str8418 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8419 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str8420 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str8421 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8422 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8423 = private unnamed_addr constant [3 x i8] c" \00" -@.str8424 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str8425 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8426 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8427 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8428 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8429 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8430 = private unnamed_addr constant [5 x i8] c"null\00" -@.str8431 = private unnamed_addr constant [9 x i8] c" store \00" -@.str8432 = private unnamed_addr constant [2 x i8] c" \00" -@.str8433 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8434 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8435 = private unnamed_addr constant [3 x i8] c" \00" -@.str8436 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str8437 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8438 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8439 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8440 = private unnamed_addr constant [9 x i8] c" store \00" -@.str8441 = private unnamed_addr constant [2 x i8] c" \00" -@.str8442 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8443 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8444 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8445 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str8446 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8447 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8448 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str8449 = private unnamed_addr constant [8 x i8] c"_attach\00" -@.str8450 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8451 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8452 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8453 = private unnamed_addr constant [3 x i8] c" \00" -@.str8454 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8455 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str8456 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str8457 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8458 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8459 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8460 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str8461 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8462 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8463 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" -@.str8464 = private unnamed_addr constant [3 x i8] c" \00" -@.str8465 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8466 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str8467 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8468 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str8469 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8470 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8471 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str8472 = private unnamed_addr constant [7 x i8] c"_spawn\00" -@.str8473 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8474 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8475 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8476 = private unnamed_addr constant [3 x i8] c" \00" -@.str8477 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8478 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str8479 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8480 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8481 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8482 = private unnamed_addr constant [3 x i8] c", \00" -@.str8483 = private unnamed_addr constant [3 x i8] c"dh\00" -@.str8484 = private unnamed_addr constant [4 x i8] c"dhn\00" -@.str8485 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8486 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8487 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8488 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8489 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str8490 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8491 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str8492 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str8493 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str8494 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8495 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8496 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str8497 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8498 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8499 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8500 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" -@.str8501 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8502 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" -@.str8503 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8504 = private unnamed_addr constant [3 x i8] c" \00" -@.str8505 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8506 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str8507 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8508 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8509 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str8510 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" -@.str8511 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8512 = private unnamed_addr constant [7 x i8] c"attach\00" -@.str8513 = private unnamed_addr constant [8 x i8] c"attdone\00" -@.str8514 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8515 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8516 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8517 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8518 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8519 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8520 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8521 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8522 = private unnamed_addr constant [3 x i8] c" \00" -@.str8523 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8524 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str8525 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8526 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8527 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str8528 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str8529 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8530 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str8531 = private unnamed_addr constant [8 x i8] c"detdone\00" -@.str8532 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8533 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8534 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8535 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8536 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8537 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str8538 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8539 = private unnamed_addr constant [3 x i8] c" \00" -@.str8540 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8541 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str8542 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str8543 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8544 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8545 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8546 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str8547 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8548 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8549 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str8550 = private unnamed_addr constant [8 x i8] c"_detach\00" -@.str8551 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8552 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8553 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8554 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8555 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8556 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8557 = private unnamed_addr constant [2 x i8] c"0\00" -@.str8558 = private unnamed_addr constant [2 x i8] c"1\00" -@.str8559 = private unnamed_addr constant [7 x i8] c"system\00" -@.str8560 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str8561 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str8562 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" -@.str8563 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8564 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str8565 = private unnamed_addr constant [6 x i8] c"_hide\00" -@.str8566 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str8567 = private unnamed_addr constant [6 x i8] c"_show\00" -@.str8568 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8569 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str8570 = private unnamed_addr constant [3 x i8] c" \00" -@.str8571 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8572 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str8573 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8574 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8575 = private unnamed_addr constant [12 x i8] c" store i8 \00" -@.str8576 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8577 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8578 = private unnamed_addr constant [3 x i8] c" \00" -@.str8579 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8580 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str8581 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str8582 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8583 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8584 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str8585 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str8359 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8360 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8361 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8362 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8363 = private unnamed_addr constant [7 x i8] c"option\00" +@.str8364 = private unnamed_addr constant [8 x i8] c"is_some\00" +@.str8365 = private unnamed_addr constant [8 x i8] c"is_some\00" +@.str8366 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8367 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8368 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8369 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8370 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8371 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8372 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8373 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8374 = private unnamed_addr constant [8 x i8] c"is_none\00" +@.str8375 = private unnamed_addr constant [8 x i8] c"is_none\00" +@.str8376 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8377 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8378 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8379 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8380 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8381 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8382 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8383 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8384 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" +@.str8385 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" +@.str8386 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8387 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8388 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8389 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8390 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8391 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8392 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8393 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8394 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str8395 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8396 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8397 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8398 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8399 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str8400 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" +@.str8401 = private unnamed_addr constant [2 x i8] c")\00" +@.str8402 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8403 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str8404 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" +@.str8405 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8406 = private unnamed_addr constant [2 x i8] c")\00" +@.str8407 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8408 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str8409 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" +@.str8410 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8411 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8412 = private unnamed_addr constant [2 x i8] c")\00" +@.str8413 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str8414 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8415 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8416 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str8417 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str8418 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str8419 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" +@.str8420 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8421 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8422 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str8423 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8424 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8425 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8426 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str8427 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" +@.str8428 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8429 = private unnamed_addr constant [2 x i8] c")\00" +@.str8430 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8431 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str8432 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" +@.str8433 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8434 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str8435 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" +@.str8436 = private unnamed_addr constant [2 x i8] c")\00" +@.str8437 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8438 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str8439 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" +@.str8440 = private unnamed_addr constant [2 x i8] c")\00" +@.str8441 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8442 = private unnamed_addr constant [17 x i8] c"world_query_next\00" +@.str8443 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" +@.str8444 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8445 = private unnamed_addr constant [2 x i8] c")\00" +@.str8446 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8447 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" +@.str8448 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" +@.str8449 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8450 = private unnamed_addr constant [2 x i8] c")\00" +@.str8451 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8452 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" +@.str8453 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" +@.str8454 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8455 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8456 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8457 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8458 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" +@.str8459 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" +@.str8460 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8461 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8462 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8463 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8464 = private unnamed_addr constant [12 x i8] c"world_spawn\00" +@.str8465 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" +@.str8466 = private unnamed_addr constant [2 x i8] c")\00" +@.str8467 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8468 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" +@.str8469 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" +@.str8470 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8471 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" +@.str8472 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" +@.str8473 = private unnamed_addr constant [2 x i8] c")\00" +@.str8474 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8475 = private unnamed_addr constant [18 x i8] c"world_field_count\00" +@.str8476 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" +@.str8477 = private unnamed_addr constant [2 x i8] c")\00" +@.str8478 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8479 = private unnamed_addr constant [17 x i8] c"world_field_name\00" +@.str8480 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" +@.str8481 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8482 = private unnamed_addr constant [2 x i8] c")\00" +@.str8483 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8484 = private unnamed_addr constant [17 x i8] c"world_field_type\00" +@.str8485 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" +@.str8486 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8487 = private unnamed_addr constant [2 x i8] c")\00" +@.str8488 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8489 = private unnamed_addr constant [3 x i8] c" \00" +@.str8490 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8491 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8492 = private unnamed_addr constant [4 x i8] c" = \00" +@.str8493 = private unnamed_addr constant [6 x i8] c"call \00" +@.str8494 = private unnamed_addr constant [3 x i8] c" @\00" +@.str8495 = private unnamed_addr constant [2 x i8] c"(\00" +@.str8496 = private unnamed_addr constant [3 x i8] c", \00" +@.str8497 = private unnamed_addr constant [2 x i8] c" \00" +@.str8498 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8499 = private unnamed_addr constant [4 x i8] c"rt_\00" +@.str8500 = private unnamed_addr constant [18 x i8] c"unknown function \00" +@.str8501 = private unnamed_addr constant [3 x i8] c" \00" +@.str8502 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8503 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8504 = private unnamed_addr constant [4 x i8] c" = \00" +@.str8505 = private unnamed_addr constant [6 x i8] c"call \00" +@.str8506 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str8507 = private unnamed_addr constant [2 x i8] c"(\00" +@.str8508 = private unnamed_addr constant [3 x i8] c", \00" +@.str8509 = private unnamed_addr constant [2 x i8] c" \00" +@.str8510 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8511 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8512 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8513 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8514 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8515 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8516 = private unnamed_addr constant [5 x i8] c"null\00" +@.str8517 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str8518 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8519 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00" +@.str8520 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8521 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8522 = private unnamed_addr constant [2 x i8] c")\00" +@.str8523 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8524 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8525 = private unnamed_addr constant [6 x i8] c"load \00" +@.str8526 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str8527 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8528 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" +@.str8529 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str8530 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" +@.str8531 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8532 = private unnamed_addr constant [4 x i8] c"Key\00" +@.str8533 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" +@.str8534 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8535 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8536 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str8537 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8538 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8539 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8540 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8541 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8542 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str8543 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str8544 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str8545 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8546 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8547 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str8548 = private unnamed_addr constant [2 x i8] c"-\00" +@.str8549 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" +@.str8550 = private unnamed_addr constant [5 x i8] c"long\00" +@.str8551 = private unnamed_addr constant [2 x i8] c"~\00" +@.str8552 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str8553 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str8554 = private unnamed_addr constant [5 x i8] c"long\00" +@.str8555 = private unnamed_addr constant [2 x i8] c"-\00" +@.str8556 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str8557 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8558 = private unnamed_addr constant [2 x i8] c"~\00" +@.str8559 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str8560 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str8561 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8562 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8563 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8564 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8565 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8566 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8567 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" +@.str8568 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8569 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8570 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8571 = private unnamed_addr constant [2 x i8] c" \00" +@.str8572 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8573 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8574 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8575 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8576 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" +@.str8577 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" +@.str8578 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" +@.str8579 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str8580 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" +@.str8581 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str8582 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str8583 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str8584 = private unnamed_addr constant [2 x i8] c"=\00" +@.str8585 = private unnamed_addr constant [6 x i8] c"load \00" @.str8586 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8587 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8588 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str8589 = private unnamed_addr constant [9 x i8] c"_disable\00" -@.str8590 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str8591 = private unnamed_addr constant [8 x i8] c"_enable\00" -@.str8592 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8593 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str8594 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8595 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str8596 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str8597 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str8598 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8599 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8600 = private unnamed_addr constant [5 x i8] c"void\00" -@.str8601 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str8602 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str8603 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" -@.str8604 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str8605 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str8606 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" -@.str8607 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8608 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8609 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" -@.str8610 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str8611 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str8612 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str8613 = private unnamed_addr constant [3 x i8] c", \00" -@.str8614 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" -@.str8615 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8616 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str8617 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str8618 = private unnamed_addr constant [3 x i8] c", \00" -@.str8619 = private unnamed_addr constant [5 x i8] c"hrun\00" -@.str8620 = private unnamed_addr constant [6 x i8] c"hskip\00" -@.str8621 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8622 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8623 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8624 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8625 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" -@.str8626 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str8627 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8587 = private unnamed_addr constant [4 x i8] c"add\00" +@.str8588 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str8589 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str8590 = private unnamed_addr constant [3 x i8] c"*=\00" +@.str8591 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str8592 = private unnamed_addr constant [3 x i8] c"/=\00" +@.str8593 = private unnamed_addr constant [5 x i8] c"sdiv\00" +@.str8594 = private unnamed_addr constant [2 x i8] c" \00" +@.str8595 = private unnamed_addr constant [2 x i8] c" \00" +@.str8596 = private unnamed_addr constant [3 x i8] c", \00" +@.str8597 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8598 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8599 = private unnamed_addr constant [5 x i8] c"then\00" +@.str8600 = private unnamed_addr constant [5 x i8] c"else\00" +@.str8601 = private unnamed_addr constant [6 x i8] c"ifend\00" +@.str8602 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8603 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8604 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8605 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8606 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8607 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8608 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8609 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8610 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8611 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8612 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8613 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8614 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8615 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8616 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8617 = private unnamed_addr constant [6 x i8] c"wcond\00" +@.str8618 = private unnamed_addr constant [6 x i8] c"wbody\00" +@.str8619 = private unnamed_addr constant [5 x i8] c"wend\00" +@.str8620 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8621 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8622 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8623 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8624 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8625 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8626 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8627 = private unnamed_addr constant [10 x i8] c", label %\00" @.str8628 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8629 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8630 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" -@.str8631 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str8632 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str8633 = private unnamed_addr constant [11 x i8] c"esys_tween\00" -@.str8634 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" -@.str8635 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str8636 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str8637 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str8638 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str8639 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str8640 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str8641 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str8642 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" -@.str8643 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" -@.str8644 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" -@.str8645 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" -@.str8646 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" -@.str8647 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" -@.str8648 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" -@.str8649 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" -@.str8650 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" -@.str8651 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" -@.str8652 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" -@.str8653 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" -@.str8654 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" -@.str8655 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" -@.str8656 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" -@.str8657 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" -@.str8658 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" -@.str8659 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" -@.str8660 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" -@.str8661 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" -@.str8662 = private unnamed_addr constant [12 x i8] c"module_init\00" -@.str8663 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" -@.str8664 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" -@.str8665 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str8666 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8667 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str8668 = private unnamed_addr constant [130 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__ludic_mod_init, ptr null }]\0A\00" -@.str8669 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" -@.str8670 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str8671 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" -@.str8672 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str8673 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" -@.str8674 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" -@.str8675 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" -@.str8676 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" -@.str8677 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8678 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" -@.str8679 = private unnamed_addr constant [6 x i8] c"add:\0A\00" -@.str8680 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str8681 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" -@.str8682 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" -@.str8683 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" -@.str8684 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" -@.str8685 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" -@.str8686 = private unnamed_addr constant [71 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @sysreg_count\0A ret i32 %n\0A\00" -@.str8687 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str8688 = private unnamed_addr constant [4 x i8] c"dsp\00" -@.str8689 = private unnamed_addr constant [4 x i8] c"dsh\00" -@.str8690 = private unnamed_addr constant [4 x i8] c"dsb\00" -@.str8691 = private unnamed_addr constant [5 x i8] c"dsdo\00" -@.str8692 = private unnamed_addr constant [4 x i8] c"dsc\00" -@.str8693 = private unnamed_addr constant [4 x i8] c"dsn\00" -@.str8694 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8695 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8696 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" -@.str8697 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8698 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8699 = private unnamed_addr constant [3 x i8] c" \00" -@.str8700 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" -@.str8701 = private unnamed_addr constant [7 x i8] c" ], [ \00" -@.str8702 = private unnamed_addr constant [4 x i8] c", %\00" -@.str8703 = private unnamed_addr constant [4 x i8] c" ]\0A\00" -@.str8704 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" -@.str8705 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str8630 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8631 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8632 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8633 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8634 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8635 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8636 = private unnamed_addr constant [6 x i8] c"fcond\00" +@.str8637 = private unnamed_addr constant [6 x i8] c"fbody\00" +@.str8638 = private unnamed_addr constant [6 x i8] c"fcont\00" +@.str8639 = private unnamed_addr constant [5 x i8] c"fend\00" +@.str8640 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8641 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8642 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8643 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8644 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str8645 = private unnamed_addr constant [3 x i8] c", \00" +@.str8646 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8647 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8648 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8649 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8650 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8651 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8652 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8653 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8654 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8655 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str8656 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str8657 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8658 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8659 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8660 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8661 = private unnamed_addr constant [8 x i8] c"%retval\00" +@.str8662 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str8663 = private unnamed_addr constant [2 x i8] c"_\00" +@.str8664 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str8665 = private unnamed_addr constant [8 x i8] c" binds \00" +@.str8666 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" +@.str8667 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str8668 = private unnamed_addr constant [10 x i8] c" payload \00" +@.str8669 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" +@.str8670 = private unnamed_addr constant [3 x i8] c" \00" +@.str8671 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str8672 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8673 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8674 = private unnamed_addr constant [6 x i8] c"load \00" +@.str8675 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8676 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8677 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str8678 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8679 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str8680 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str8681 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8682 = private unnamed_addr constant [3 x i8] c", \00" +@.str8683 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str8684 = private unnamed_addr constant [3 x i8] c", \00" +@.str8685 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str8686 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str8687 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8688 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8689 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8690 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8691 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8692 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8693 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8694 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8695 = private unnamed_addr constant [10 x i8] c"match on \00" +@.str8696 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" +@.str8697 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" +@.str8698 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8699 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8700 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8701 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str8702 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8703 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8704 = private unnamed_addr constant [3 x i8] c", \00" +@.str8705 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str8706 = private unnamed_addr constant [3 x i8] c", \00" -@.str8707 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8708 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8709 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8710 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8711 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8712 = private unnamed_addr constant [3 x i8] c" \00" -@.str8713 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8714 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" +@.str8707 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str8708 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str8709 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8710 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8711 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8712 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8713 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8714 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str8715 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8716 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8717 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8718 = private unnamed_addr constant [3 x i8] c", \00" -@.str8719 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8720 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8721 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8722 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8723 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8716 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8717 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8718 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8719 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8720 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" +@.str8721 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8722 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8723 = private unnamed_addr constant [5 x i8] c"null\00" @.str8724 = private unnamed_addr constant [3 x i8] c" \00" -@.str8725 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8726 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" -@.str8727 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8728 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str8729 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str8730 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str8731 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8732 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8733 = private unnamed_addr constant [5 x i8] c":\0A \00" -@.str8734 = private unnamed_addr constant [12 x i8] c" = add i32 \00" -@.str8735 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" -@.str8736 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8737 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8738 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" -@.str8739 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str8740 = private unnamed_addr constant [3 x i8] c", \00" -@.str8741 = private unnamed_addr constant [6 x i8] c"scrun\00" -@.str8742 = private unnamed_addr constant [7 x i8] c"scskip\00" -@.str8743 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8744 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8745 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8746 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8747 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8748 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8749 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8750 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8751 = private unnamed_addr constant [5 x i8] c"void\00" -@.str8752 = private unnamed_addr constant [7 x i8] c"scene_\00" -@.str8753 = private unnamed_addr constant [2 x i8] c"_\00" -@.str8754 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8755 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str8756 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str8757 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str8758 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" -@.str8759 = private unnamed_addr constant [2 x i8] c"_\00" -@.str8760 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str8761 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str8762 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str8763 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str8764 = private unnamed_addr constant [5 x i8] c"void\00" -@.str8765 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8766 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" +@.str8725 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" +@.str8726 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8727 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8728 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8729 = private unnamed_addr constant [3 x i8] c" \00" +@.str8730 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" +@.str8731 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8732 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8733 = private unnamed_addr constant [2 x i8] c" \00" +@.str8734 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8735 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8736 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8737 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str8738 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str8739 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str8740 = private unnamed_addr constant [14 x i8] c" call void @\00" +@.str8741 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str8742 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" +@.str8743 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8744 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8745 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8746 = private unnamed_addr constant [3 x i8] c", \00" +@.str8747 = private unnamed_addr constant [2 x i8] c" \00" +@.str8748 = private unnamed_addr constant [3 x i8] c" \00" +@.str8749 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" +@.str8750 = private unnamed_addr constant [2 x i8] c"(\00" +@.str8751 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8752 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8753 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str8754 = private unnamed_addr constant [2 x i8] c"(\00" +@.str8755 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8756 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8757 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8758 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8759 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8760 = private unnamed_addr constant [5 x i8] c"null\00" +@.str8761 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8762 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8763 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8764 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8765 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" +@.str8766 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str8767 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8768 = private unnamed_addr constant [4 x i8] c"int\00" -@.str8769 = private unnamed_addr constant [3 x i8] c"%e\00" -@.str8770 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str8771 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str8772 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" -@.str8773 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" -@.str8774 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str8775 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" -@.str8776 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str8777 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str8778 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str8779 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str8780 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str8781 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8782 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str8783 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str8784 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str8785 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8786 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str8787 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str8788 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" -@.str8789 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str8790 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str8791 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8792 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" -@.str8793 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str8794 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8795 = private unnamed_addr constant [5 x i8] c"next\00" -@.str8796 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8797 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" -@.str8798 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" -@.str8799 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str8800 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" -@.str8801 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" -@.str8802 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" -@.str8803 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" -@.str8804 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str8805 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" -@.str8806 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" -@.str8807 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" -@.str8808 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" -@.str8809 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" -@.str8810 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str8811 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str8812 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str8813 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8814 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str8815 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str8816 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str8817 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8818 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str8819 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str8820 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str8821 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str8822 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str8823 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str8824 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str8825 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str8826 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8827 = private unnamed_addr constant [5 x i8] c"next\00" -@.str8828 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8829 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" -@.str8830 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" -@.str8831 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str8832 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" -@.str8833 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str8834 = private unnamed_addr constant [11 x i8] c" = type { \00" -@.str8835 = private unnamed_addr constant [3 x i8] c", \00" -@.str8836 = private unnamed_addr constant [3 x i8] c", \00" -@.str8837 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8838 = private unnamed_addr constant [4 x i8] c" }\0A\00" -@.str8839 = private unnamed_addr constant [6 x i8] c"@evL_\00" -@.str8840 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str8841 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str8842 = private unnamed_addr constant [6 x i8] c"@evN_\00" -@.str8843 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" -@.str8844 = private unnamed_addr constant [6 x i8] c"@evO_\00" -@.str8845 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str8846 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str8847 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" -@.str8848 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" -@.str8849 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str8850 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8851 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str8852 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8853 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str8854 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str8855 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str8856 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str8857 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str8858 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str8859 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str8860 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str8861 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" -@.str8862 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str8863 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str8864 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str8865 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" -@.str8866 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" -@.str8867 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str8868 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8869 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str8870 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8871 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str8872 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str8873 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str8874 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str8875 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str8876 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str8877 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str8878 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str8879 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" -@.str8880 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str8881 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str8882 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str8883 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" -@.str8884 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" -@.str8885 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str8768 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" +@.str8769 = private unnamed_addr constant [9 x i8] c"Occluder\00" +@.str8770 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" +@.str8771 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" +@.str8772 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" +@.str8773 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" +@.str8774 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" +@.str8775 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" +@.str8776 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str8777 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" +@.str8778 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str8779 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" +@.str8780 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str8781 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" +@.str8782 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" +@.str8783 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" +@.str8784 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" +@.str8785 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str8786 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str8787 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str8788 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str8789 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" +@.str8790 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str8791 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str8792 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" +@.str8793 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str8794 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str8795 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str8796 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str8797 = private unnamed_addr constant [5 x i8] c"@LE_\00" +@.str8798 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str8799 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" +@.str8800 = private unnamed_addr constant [3 x i8] c"%h\00" +@.str8801 = private unnamed_addr constant [3 x i8] c" \00" +@.str8802 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8803 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str8804 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str8805 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str8806 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8807 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" +@.str8808 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str8809 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" +@.str8810 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" +@.str8811 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" +@.str8812 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" +@.str8813 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str8814 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" +@.str8815 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str8816 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" +@.str8817 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" +@.str8818 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" +@.str8819 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" +@.str8820 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str8821 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str8822 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" +@.str8823 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" +@.str8824 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str8825 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" +@.str8826 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" +@.str8827 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" +@.str8828 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" +@.str8829 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str8830 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str8831 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" +@.str8832 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str8833 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str8834 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str8835 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" +@.str8836 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" +@.str8837 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" +@.str8838 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str8839 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str8840 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" +@.str8841 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str8842 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str8843 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str8844 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" +@.str8845 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" +@.str8846 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" +@.str8847 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str8848 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str8849 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8850 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8851 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8852 = private unnamed_addr constant [6 x i8] c"qcond\00" +@.str8853 = private unnamed_addr constant [6 x i8] c"qbody\00" +@.str8854 = private unnamed_addr constant [6 x i8] c"qnext\00" +@.str8855 = private unnamed_addr constant [5 x i8] c"qend\00" +@.str8856 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8857 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8858 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8859 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8860 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str8861 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str8862 = private unnamed_addr constant [3 x i8] c", \00" +@.str8863 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8864 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8865 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8866 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8867 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8868 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8869 = private unnamed_addr constant [3 x i8] c" \00" +@.str8870 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8871 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str8872 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8873 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8874 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8875 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8876 = private unnamed_addr constant [3 x i8] c"qa\00" +@.str8877 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8878 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8879 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8880 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8881 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8882 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8883 = private unnamed_addr constant [3 x i8] c" \00" +@.str8884 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8885 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str8886 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8887 = 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" -@.str8888 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" -@.str8889 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" -@.str8890 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str8891 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" -@.str8892 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" -@.str8893 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" -@.str8894 = private unnamed_addr constant [5 x i8] c"void\00" -@.str8895 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" -@.str8896 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" -@.str8897 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8898 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" -@.str8899 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" -@.str8900 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" -@.str8901 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str8902 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" -@.str8903 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" -@.str8904 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str8905 = private unnamed_addr constant [3 x i8] c" \00" -@.str8906 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str8907 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8908 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8909 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8910 = private unnamed_addr constant [9 x i8] c" store \00" -@.str8911 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str8912 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8913 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8914 = private unnamed_addr constant [9 x i8] c" store \00" -@.str8915 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str8916 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8917 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8918 = private unnamed_addr constant [3 x i8] c" \00" -@.str8919 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str8920 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8921 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8922 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8923 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str8924 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8925 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8926 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str8927 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8928 = private unnamed_addr constant [4 x i8] c"evl\00" -@.str8929 = private unnamed_addr constant [4 x i8] c"evb\00" -@.str8930 = private unnamed_addr constant [4 x i8] c"evd\00" -@.str8931 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8932 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8933 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8934 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8935 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" -@.str8936 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str8937 = private unnamed_addr constant [3 x i8] c", \00" -@.str8938 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8939 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8940 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8941 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8942 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8943 = private unnamed_addr constant [3 x i8] c" \00" -@.str8944 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str8945 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str8946 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str8947 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8948 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str8949 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str8950 = private unnamed_addr constant [7 x i8] c", null\00" -@.str8951 = private unnamed_addr constant [5 x i8] c"evdo\00" -@.str8952 = private unnamed_addr constant [5 x i8] c"evsk\00" -@.str8953 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str8954 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8955 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str8956 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8957 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8958 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str8959 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str8960 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str8961 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8962 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8963 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8964 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str8965 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str8966 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str8967 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str8968 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8969 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str8970 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8971 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8972 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str8973 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str8974 = 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" -@.str8975 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str8976 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str8977 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8978 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str8979 = private unnamed_addr constant [5 x i8] c"void\00" -@.str8980 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str8981 = private unnamed_addr constant [8 x i8] c"define \00" -@.str8982 = private unnamed_addr constant [6 x i8] c" @ev_\00" -@.str8983 = private unnamed_addr constant [2 x i8] c"(\00" -@.str8984 = private unnamed_addr constant [3 x i8] c", \00" -@.str8985 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str8986 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str8987 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str8988 = 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" -@.str8989 = private unnamed_addr constant [3 x i8] c"sw\00" -@.str8990 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str8991 = private unnamed_addr constant [7 x i8] c" %swi\00" -@.str8992 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" -@.str8993 = private unnamed_addr constant [7 x i8] c" %swn\00" -@.str8994 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" -@.str8995 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str8996 = private unnamed_addr constant [7 x i8] c" %swg\00" -@.str8997 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" -@.str8998 = private unnamed_addr constant [7 x i8] c", %swn\00" -@.str8999 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9000 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" -@.str9001 = private unnamed_addr constant [13 x i8] c", label %swb\00" -@.str9002 = private unnamed_addr constant [13 x i8] c", label %swd\00" +@.str8887 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8888 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8889 = private unnamed_addr constant [3 x i8] c", \00" +@.str8890 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" +@.str8891 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8892 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8893 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str8894 = private unnamed_addr constant [3 x i8] c", \00" +@.str8895 = private unnamed_addr constant [3 x i8] c" \00" +@.str8896 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8897 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str8898 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8899 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8900 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str8901 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str8902 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8903 = private unnamed_addr constant [3 x i8] c"qt\00" +@.str8904 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8905 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8906 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8907 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8908 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8909 = private unnamed_addr constant [3 x i8] c" \00" +@.str8910 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8911 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str8912 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str8913 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8914 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8915 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8916 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str8917 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8918 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8919 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8920 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8921 = private unnamed_addr constant [3 x i8] c"qw\00" +@.str8922 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8923 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8924 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8925 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8926 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8927 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8928 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8929 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8930 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8931 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str8932 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str8933 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8934 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str8935 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8936 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8937 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str8938 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8939 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8940 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8941 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" +@.str8942 = private unnamed_addr constant [3 x i8] c" \00" +@.str8943 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8944 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str8945 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8946 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8947 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" +@.str8948 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8949 = private unnamed_addr constant [3 x i8] c" \00" +@.str8950 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8951 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str8952 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str8953 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8954 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8955 = private unnamed_addr constant [3 x i8] c" \00" +@.str8956 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str8957 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8958 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8959 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8960 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8961 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8962 = private unnamed_addr constant [5 x i8] c"null\00" +@.str8963 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8964 = private unnamed_addr constant [2 x i8] c" \00" +@.str8965 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8966 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8967 = private unnamed_addr constant [3 x i8] c" \00" +@.str8968 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str8969 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8970 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8971 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8972 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8973 = private unnamed_addr constant [2 x i8] c" \00" +@.str8974 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8975 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8976 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8977 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str8978 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8979 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8980 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str8981 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str8982 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str8983 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str8984 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8985 = private unnamed_addr constant [3 x i8] c" \00" +@.str8986 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str8987 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str8988 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str8989 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str8990 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8991 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8992 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str8993 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8994 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8995 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str8996 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" +@.str8997 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" +@.str8998 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str8999 = private unnamed_addr constant [17 x i8] c": unknown model \00" +@.str9000 = private unnamed_addr constant [3 x i8] c" \00" +@.str9001 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9002 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str9003 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9004 = private unnamed_addr constant [4 x i8] c"swb\00" -@.str9005 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9006 = private unnamed_addr constant [8 x i8] c" %swop\00" -@.str9007 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9008 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str9009 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str9010 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9011 = private unnamed_addr constant [8 x i8] c" %swov\00" -@.str9012 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" -@.str9013 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9014 = private unnamed_addr constant [7 x i8] c" %swm\00" -@.str9015 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" -@.str9016 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" -@.str9017 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" -@.str9018 = private unnamed_addr constant [13 x i8] c", label %swh\00" -@.str9019 = private unnamed_addr constant [13 x i8] c", label %swx\00" -@.str9020 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9021 = private unnamed_addr constant [4 x i8] c"swh\00" -@.str9022 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9023 = private unnamed_addr constant [8 x i8] c" %swlp\00" -@.str9024 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9025 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str9026 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str9027 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9028 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" -@.str9029 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" -@.str9030 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9031 = private unnamed_addr constant [4 x i8] c"swx\00" -@.str9032 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9033 = private unnamed_addr constant [9 x i8] c" %swinc\00" -@.str9034 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" -@.str9035 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" -@.str9036 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" -@.str9037 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9038 = private unnamed_addr constant [4 x i8] c"swd\00" -@.str9039 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" -@.str9040 = private unnamed_addr constant [15 x i8] c" br label %sw\00" -@.str9041 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9042 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str9043 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str9044 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" -@.str9045 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" -@.str9046 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" -@.str9047 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" -@.str9048 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" -@.str9049 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" -@.str9050 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str9051 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str9052 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9053 = private unnamed_addr constant [5 x i8] c" %e\00" -@.str9054 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" -@.str9055 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str9056 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" -@.str9057 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str9058 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str9059 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9060 = private unnamed_addr constant [2 x i8] c"h\00" -@.str9061 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str9004 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9005 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9006 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9007 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9008 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str9009 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9010 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9011 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9012 = private unnamed_addr constant [3 x i8] c" \00" +@.str9013 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9014 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str9015 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9016 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9017 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9018 = private unnamed_addr constant [3 x i8] c", \00" +@.str9019 = private unnamed_addr constant [3 x i8] c"dh\00" +@.str9020 = private unnamed_addr constant [4 x i8] c"dhn\00" +@.str9021 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9022 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9023 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9024 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9025 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str9026 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9027 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str9028 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9029 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str9030 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9031 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9032 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str9033 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9034 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9035 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9036 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" +@.str9037 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9038 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" +@.str9039 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9040 = private unnamed_addr constant [3 x i8] c" \00" +@.str9041 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9042 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9043 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9044 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9045 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str9046 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" +@.str9047 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9048 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str9049 = private unnamed_addr constant [8 x i8] c"attdone\00" +@.str9050 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9051 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9052 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9053 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9054 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9055 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9056 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9057 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9058 = private unnamed_addr constant [3 x i8] c" \00" +@.str9059 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9060 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9061 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str9062 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9063 = private unnamed_addr constant [2 x i8] c"n\00" -@.str9064 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9065 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" -@.str9066 = 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" -@.str9067 = 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" -@.str9068 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" -@.str9069 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" -@.str9070 = 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" -@.str9071 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" -@.str9072 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" -@.str9073 = private unnamed_addr constant [6 x i8] c" %pm\00" -@.str9074 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str9075 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9076 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" -@.str9077 = private unnamed_addr constant [12 x i8] c", label %pk\00" -@.str9078 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str9079 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9080 = private unnamed_addr constant [3 x i8] c"pk\00" -@.str9081 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9082 = private unnamed_addr constant [2 x i8] c"_\00" -@.str9083 = private unnamed_addr constant [6 x i8] c" %fc\00" -@.str9084 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str9085 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9086 = private unnamed_addr constant [6 x i8] c" %fe\00" -@.str9087 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" -@.str9088 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str9089 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" -@.str9090 = private unnamed_addr constant [12 x i8] c", label %fh\00" -@.str9091 = private unnamed_addr constant [12 x i8] c", label %fn\00" -@.str9092 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9093 = private unnamed_addr constant [3 x i8] c"fh\00" -@.str9094 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str9095 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9096 = private unnamed_addr constant [3 x i8] c"fn\00" -@.str9097 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9098 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" -@.str9099 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str9100 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9101 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str9102 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str9103 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str9104 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str9105 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9106 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str9107 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str9108 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str9109 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9110 = private unnamed_addr constant [2 x i8] c"g\00" -@.str9111 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9112 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str9113 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9114 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str9115 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str9116 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str9117 = private unnamed_addr constant [2 x i8] c"_\00" -@.str9118 = private unnamed_addr constant [6 x i8] c" %gm\00" -@.str9119 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str9120 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9121 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" -@.str9122 = private unnamed_addr constant [12 x i8] c", label %gf\00" -@.str9123 = private unnamed_addr constant [12 x i8] c", label %gk\00" -@.str9124 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9125 = private unnamed_addr constant [3 x i8] c"gf\00" -@.str9126 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9127 = private unnamed_addr constant [6 x i8] c" %ga\00" -@.str9128 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str9129 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str9130 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str9131 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9132 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str9133 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str9134 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" -@.str9135 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9136 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str9137 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" -@.str9138 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str9139 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9140 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str9141 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str9142 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" -@.str9143 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9144 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str9145 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" -@.str9146 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str9147 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9148 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str9149 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" -@.str9150 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9151 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str9152 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" -@.str9153 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str9154 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9155 = private unnamed_addr constant [3 x i8] c"gk\00" -@.str9156 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9157 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" -@.str9158 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str9159 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9160 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" -@.str9161 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9162 = 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" -@.str9163 = 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" -@.str9164 = 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" -@.str9165 = 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" -@.str9166 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" -@.str9167 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" -@.str9168 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str9169 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str9170 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9171 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str9172 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str9173 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str9174 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9175 = private unnamed_addr constant [2 x i8] c"g\00" -@.str9176 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9177 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str9178 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9179 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str9180 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str9181 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str9182 = private unnamed_addr constant [2 x i8] c"_\00" -@.str9183 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str9184 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str9185 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9186 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str9187 = private unnamed_addr constant [12 x i8] c", label %sf\00" -@.str9188 = private unnamed_addr constant [12 x i8] c", label %sk\00" -@.str9189 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9190 = private unnamed_addr constant [3 x i8] c"sf\00" -@.str9191 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9192 = private unnamed_addr constant [6 x i8] c" %sa\00" -@.str9193 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str9194 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str9195 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str9196 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9197 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str9198 = private unnamed_addr constant [6 x i8] c" %sp\00" -@.str9199 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" -@.str9200 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" -@.str9201 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str9202 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str9203 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str9204 = private unnamed_addr constant [6 x i8] c" %sb\00" -@.str9205 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" -@.str9206 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" -@.str9207 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str9208 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str9209 = private unnamed_addr constant [6 x i8] c" %sw\00" -@.str9210 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" -@.str9211 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" -@.str9212 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str9213 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str9214 = private unnamed_addr constant [3 x i8] c"sk\00" -@.str9215 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9216 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str9217 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str9218 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9219 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" -@.str9220 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9221 = 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" -@.str9222 = 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" -@.str9223 = 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" -@.str9224 = 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" -@.str9225 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" -@.str9226 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str9227 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str9228 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str9229 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9230 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str9231 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str9232 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str9063 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str9064 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str9065 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9066 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str9067 = private unnamed_addr constant [8 x i8] c"detdone\00" +@.str9068 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9069 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9070 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9071 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9072 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9073 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str9074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9075 = private unnamed_addr constant [3 x i8] c" \00" +@.str9076 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9077 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9078 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9079 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9080 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9081 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9082 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9083 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9084 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9085 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9086 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str9087 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9088 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9089 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9090 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9091 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9092 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9093 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9094 = private unnamed_addr constant [2 x i8] c"1\00" +@.str9095 = private unnamed_addr constant [7 x i8] c"system\00" +@.str9096 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str9097 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9098 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" +@.str9099 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9100 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str9101 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str9102 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str9103 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str9104 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9105 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9106 = private unnamed_addr constant [3 x i8] c" \00" +@.str9107 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9108 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9109 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9110 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9111 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str9112 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9113 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9114 = private unnamed_addr constant [3 x i8] c" \00" +@.str9115 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9116 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9117 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9118 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9119 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9120 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9121 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9122 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9123 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9124 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9125 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str9126 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9127 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str9128 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9129 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9130 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9131 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str9132 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str9133 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str9134 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9135 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9136 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9137 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9138 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9139 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9140 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str9141 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" +@.str9142 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9143 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9144 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" +@.str9145 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9146 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9147 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" +@.str9148 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9149 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9150 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str9151 = private unnamed_addr constant [3 x i8] c", \00" +@.str9152 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str9153 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9154 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str9155 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str9156 = private unnamed_addr constant [3 x i8] c", \00" +@.str9157 = private unnamed_addr constant [5 x i8] c"hrun\00" +@.str9158 = private unnamed_addr constant [6 x i8] c"hskip\00" +@.str9159 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9160 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9161 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9162 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9163 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" +@.str9164 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9165 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9166 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9167 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9168 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" +@.str9169 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9170 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str9171 = private unnamed_addr constant [11 x i8] c"esys_tween\00" +@.str9172 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" +@.str9173 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" +@.str9174 = private unnamed_addr constant [8 x i8] c"fx_tick\00" +@.str9175 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" +@.str9176 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str9177 = private unnamed_addr constant [8 x i8] c"fx_draw\00" +@.str9178 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" +@.str9179 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" +@.str9180 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" +@.str9181 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" +@.str9182 = private unnamed_addr constant [73 x i8] c" %go = icmp slt i32 %i, %n\0A br i1 %go, label %body, label %done\0Abody:\0A\00" +@.str9183 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str9184 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str9185 = private unnamed_addr constant [96 x i8] c" %al = load i32, ptr %ap\0A %alive = icmp ne i32 %al, 0\0A br i1 %alive, label %c0, label %next\0A\00" +@.str9186 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str9187 = private unnamed_addr constant [2 x i8] c"c\00" +@.str9188 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9189 = private unnamed_addr constant [5 x i8] c" %h\00" +@.str9190 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9191 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9192 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str9193 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str9194 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" +@.str9195 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9196 = private unnamed_addr constant [7 x i8] c" %has\00" +@.str9197 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" +@.str9198 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9199 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" +@.str9200 = private unnamed_addr constant [11 x i8] c", label %t\00" +@.str9201 = private unnamed_addr constant [11 x i8] c", label %c\00" +@.str9202 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9203 = private unnamed_addr constant [2 x i8] c"t\00" +@.str9204 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9205 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str9206 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9207 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9208 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9209 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str9210 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str9211 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9212 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str9213 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str9214 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str9215 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9216 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9217 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str9218 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" +@.str9219 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9220 = private unnamed_addr constant [6 x i8] c" %fp\00" +@.str9221 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" +@.str9222 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9223 = private unnamed_addr constant [6 x i8] c" %fd\00" +@.str9224 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" +@.str9225 = private unnamed_addr constant [5 x i8] c", 1\0A\00" +@.str9226 = private unnamed_addr constant [6 x i8] c" %fn\00" +@.str9227 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" +@.str9228 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" +@.str9229 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" +@.str9230 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9231 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" +@.str9232 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str9233 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9234 = private unnamed_addr constant [2 x i8] c"g\00" -@.str9235 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9236 = private unnamed_addr constant [6 x i8] c" %hp\00" -@.str9237 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9238 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str9239 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str9240 = private unnamed_addr constant [6 x i8] c" %hv\00" -@.str9241 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" -@.str9242 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9243 = private unnamed_addr constant [6 x i8] c" %hr\00" -@.str9244 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" -@.str9245 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" -@.str9246 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9247 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str9248 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9249 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" -@.str9250 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9251 = 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" -@.str9252 = 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" -@.str9253 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" -@.str9254 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" -@.str9255 = 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" -@.str9256 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" -@.str9257 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" -@.str9258 = 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" -@.str9259 = 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" -@.str9260 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" -@.str9261 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" -@.str9262 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9263 = 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" -@.str9264 = 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" -@.str9265 = 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" -@.str9266 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" -@.str9267 = 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" -@.str9268 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" -@.str9269 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str9270 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str9271 = 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" -@.str9272 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str9273 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str9274 = 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" -@.str9275 = 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" -@.str9276 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" -@.str9277 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str9278 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str9279 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" -@.str9280 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" -@.str9281 = private unnamed_addr constant [7 x i8] c" %mdc\00" -@.str9282 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str9283 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9284 = private unnamed_addr constant [7 x i8] c" %mde\00" -@.str9285 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" -@.str9286 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str9287 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" -@.str9288 = private unnamed_addr constant [13 x i8] c", label %mdh\00" -@.str9289 = private unnamed_addr constant [13 x i8] c", label %mdn\00" -@.str9290 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9291 = private unnamed_addr constant [4 x i8] c"mdh\00" -@.str9292 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str9293 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9294 = private unnamed_addr constant [4 x i8] c"mdn\00" -@.str9295 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9296 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str9297 = private unnamed_addr constant [4 x i8] c"int\00" -@.str9298 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str9299 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9300 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" -@.str9301 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str9302 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str9303 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" -@.str9304 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str9305 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" -@.str9306 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9307 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str9308 = private unnamed_addr constant [12 x i8] c", label %sh\00" -@.str9309 = private unnamed_addr constant [12 x i8] c", label %sn\00" -@.str9310 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9311 = private unnamed_addr constant [3 x i8] c"sh\00" -@.str9312 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" -@.str9313 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" -@.str9314 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" -@.str9315 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9316 = private unnamed_addr constant [3 x i8] c"sn\00" -@.str9317 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9318 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str9319 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" -@.str9320 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" -@.str9321 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" -@.str9322 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" -@.str9323 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str9324 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str9325 = 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" -@.str9326 = 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" -@.str9327 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" -@.str9328 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" -@.str9329 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" -@.str9330 = private unnamed_addr constant [1 x i8] c"\00" -@.str9331 = private unnamed_addr constant [4 x i8] c"int\00" -@.str9332 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" -@.str9333 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" -@.str9334 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" -@.str9335 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" -@.str9336 = private unnamed_addr constant [6 x i8] c" %pe\00" -@.str9337 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" -@.str9338 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9339 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" -@.str9340 = private unnamed_addr constant [12 x i8] c", label %ph\00" -@.str9341 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str9342 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9343 = private unnamed_addr constant [3 x i8] c"ph\00" -@.str9344 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str9234 = private unnamed_addr constant [14 x i8] c" br label %c\00" +@.str9235 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9236 = private unnamed_addr constant [2 x i8] c"c\00" +@.str9237 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" +@.str9238 = private unnamed_addr constant [66 x i8] c"next:\0A %i1 = add i32 %i, 1\0A br label %loop\0Adone:\0A ret void\0A}\0A\0A\00" +@.str9239 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9240 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str9241 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9242 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" +@.str9243 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9244 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9245 = private unnamed_addr constant [36 x i8] c"call i32 @fn_str_eq(ptr %name, ptr \00" +@.str9246 = private unnamed_addr constant [2 x i8] c")\00" +@.str9247 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9248 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9249 = private unnamed_addr constant [3 x i8] c"pf\00" +@.str9250 = private unnamed_addr constant [4 x i8] c"pfn\00" +@.str9251 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9252 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9253 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9254 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9255 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9256 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" +@.str9257 = private unnamed_addr constant [3 x i8] c"()\00" +@.str9258 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str9259 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9260 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9261 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str9262 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" +@.str9263 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9264 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str9265 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str9266 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str9267 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str9268 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str9269 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str9270 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str9271 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str9272 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" +@.str9273 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" +@.str9274 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" +@.str9275 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" +@.str9276 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" +@.str9277 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" +@.str9278 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" +@.str9279 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" +@.str9280 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" +@.str9281 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" +@.str9282 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" +@.str9283 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" +@.str9284 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" +@.str9285 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" +@.str9286 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" +@.str9287 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" +@.str9288 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" +@.str9289 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" +@.str9290 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" +@.str9291 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" +@.str9292 = private unnamed_addr constant [12 x i8] c"module_init\00" +@.str9293 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" +@.str9294 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" +@.str9295 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str9296 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9297 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9298 = private unnamed_addr constant [130 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__ludic_mod_init, ptr null }]\0A\00" +@.str9299 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" +@.str9300 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str9301 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" +@.str9302 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9303 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" +@.str9304 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" +@.str9305 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" +@.str9306 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" +@.str9307 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9308 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" +@.str9309 = private unnamed_addr constant [6 x i8] c"add:\0A\00" +@.str9310 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str9311 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" +@.str9312 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" +@.str9313 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" +@.str9314 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" +@.str9315 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" +@.str9316 = private unnamed_addr constant [71 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @sysreg_count\0A ret i32 %n\0A\00" +@.str9317 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str9318 = private unnamed_addr constant [4 x i8] c"dsp\00" +@.str9319 = private unnamed_addr constant [4 x i8] c"dsh\00" +@.str9320 = private unnamed_addr constant [4 x i8] c"dsb\00" +@.str9321 = private unnamed_addr constant [5 x i8] c"dsdo\00" +@.str9322 = private unnamed_addr constant [4 x i8] c"dsc\00" +@.str9323 = private unnamed_addr constant [4 x i8] c"dsn\00" +@.str9324 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9325 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9326 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" +@.str9327 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9328 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9329 = private unnamed_addr constant [3 x i8] c" \00" +@.str9330 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" +@.str9331 = private unnamed_addr constant [7 x i8] c" ], [ \00" +@.str9332 = private unnamed_addr constant [4 x i8] c", %\00" +@.str9333 = private unnamed_addr constant [4 x i8] c" ]\0A\00" +@.str9334 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" +@.str9335 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str9336 = private unnamed_addr constant [3 x i8] c", \00" +@.str9337 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9338 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9339 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9340 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9341 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9342 = private unnamed_addr constant [3 x i8] c" \00" +@.str9343 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9344 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str9345 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9346 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str9347 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9348 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" -@.str9349 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" -@.str9350 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" -@.str9351 = private unnamed_addr constant [120 x i8] c"pdyn:\0A %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dyn\0A %nm = load ptr, ptr %np\0A ret ptr %nm\0A\00" -@.str9352 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" -@.str9353 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str9354 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" -@.str9355 = private unnamed_addr constant [7 x i8] c" %fce\00" -@.str9356 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str9346 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9347 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9348 = private unnamed_addr constant [3 x i8] c", \00" +@.str9349 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9350 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9351 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9352 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9353 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9354 = private unnamed_addr constant [3 x i8] c" \00" +@.str9355 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9356 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str9357 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9358 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" -@.str9359 = private unnamed_addr constant [13 x i8] c", label %fch\00" -@.str9360 = private unnamed_addr constant [13 x i8] c", label %fcn\00" -@.str9361 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9362 = private unnamed_addr constant [4 x i8] c"fch\00" -@.str9363 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str9364 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9365 = private unnamed_addr constant [4 x i8] c"fcn\00" -@.str9366 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9367 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str9368 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" -@.str9369 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" -@.str9370 = private unnamed_addr constant [118 x i8] c"fcdyn:\0A %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dyn\0A %fn = load i32, ptr %fp\0A ret i32 %fn\0A\00" -@.str9371 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" -@.str9372 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str9373 = private unnamed_addr constant [7 x i8] c" %fne\00" -@.str9374 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str9375 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9376 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" -@.str9377 = private unnamed_addr constant [13 x i8] c", label %fnk\00" -@.str9378 = private unnamed_addr constant [13 x i8] c", label %fnn\00" +@.str9358 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str9359 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str9360 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9361 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9362 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9363 = private unnamed_addr constant [5 x i8] c":\0A \00" +@.str9364 = private unnamed_addr constant [12 x i8] c" = add i32 \00" +@.str9365 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" +@.str9366 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9367 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9368 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str9369 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9370 = private unnamed_addr constant [3 x i8] c", \00" +@.str9371 = private unnamed_addr constant [6 x i8] c"scrun\00" +@.str9372 = private unnamed_addr constant [7 x i8] c"scskip\00" +@.str9373 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9374 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9375 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9376 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9377 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9378 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str9379 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9380 = private unnamed_addr constant [4 x i8] c"fnk\00" -@.str9381 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9382 = private unnamed_addr constant [2 x i8] c"_\00" -@.str9383 = private unnamed_addr constant [8 x i8] c" %fnfe\00" -@.str9384 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str9385 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9386 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" -@.str9387 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" -@.str9388 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" -@.str9389 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9390 = private unnamed_addr constant [5 x i8] c"fnfh\00" -@.str9391 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" -@.str9392 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9393 = private unnamed_addr constant [5 x i8] c"fnfn\00" +@.str9380 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9381 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str9382 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str9383 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9384 = private unnamed_addr constant [3 x i8] c", \00" +@.str9385 = private unnamed_addr constant [5 x i8] c"mrun\00" +@.str9386 = private unnamed_addr constant [6 x i8] c"mskip\00" +@.str9387 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9388 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9389 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9390 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9391 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" +@.str9392 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9393 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9394 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9395 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str9396 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9397 = private unnamed_addr constant [4 x i8] c"fnn\00" -@.str9398 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9399 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str9400 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str9401 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str9402 = private unnamed_addr constant [7 x i8] c" %fte\00" -@.str9403 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str9404 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9405 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" -@.str9406 = private unnamed_addr constant [13 x i8] c", label %ftk\00" -@.str9407 = private unnamed_addr constant [13 x i8] c", label %ftn\00" -@.str9408 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9409 = private unnamed_addr constant [4 x i8] c"ftk\00" -@.str9410 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9395 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9396 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str9397 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" +@.str9398 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" +@.str9399 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" +@.str9400 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str9401 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9402 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str9403 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" +@.str9404 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str9405 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9406 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9407 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9408 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9409 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str9410 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str9411 = private unnamed_addr constant [2 x i8] c"_\00" -@.str9412 = private unnamed_addr constant [8 x i8] c" %ftfe\00" -@.str9413 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str9414 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9415 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" -@.str9416 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" -@.str9417 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" -@.str9418 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9419 = private unnamed_addr constant [5 x i8] c"ftfh\00" -@.str9420 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" -@.str9421 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9422 = private unnamed_addr constant [5 x i8] c"ftfn\00" -@.str9423 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9424 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str9425 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9426 = private unnamed_addr constant [4 x i8] c"ftn\00" -@.str9427 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9428 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str9429 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str9430 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" -@.str9431 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str9432 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str9433 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str9434 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str9435 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str9436 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" -@.str9437 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str9438 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str9439 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str9440 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str9441 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str9442 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str9443 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str9444 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str9445 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9446 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str9447 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str9448 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str9449 = private unnamed_addr constant [14 x i8] c"program_start\00" -@.str9450 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" -@.str9451 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str9452 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str9453 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" -@.str9454 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str9455 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str9456 = private unnamed_addr constant [11 x i8] c"rt_running\00" -@.str9457 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" -@.str9458 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str9459 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str9460 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str9461 = private unnamed_addr constant [3 x i8] c", \00" -@.str9462 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str9463 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str9464 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str9465 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str9466 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str9467 = private unnamed_addr constant [12 x i8] c"input_drive\00" -@.str9468 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" -@.str9469 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9470 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str9471 = private unnamed_addr constant [8 x i8] c"rt_poll\00" -@.str9472 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" -@.str9473 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9474 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str9475 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str9476 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str9477 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str9478 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str9479 = private unnamed_addr constant [9 x i8] c"rt_clear\00" -@.str9480 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" -@.str9481 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9482 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str9483 = private unnamed_addr constant [11 x i8] c"rt_present\00" -@.str9484 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" -@.str9485 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" -@.str9486 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str9487 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str9488 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9489 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" -@.str9490 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str9491 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str9492 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" -@.str9493 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str9494 = private unnamed_addr constant [13 x i8] c"program_quit\00" -@.str9495 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" -@.str9496 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" -@.str9497 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" -@.str9498 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" -@.str9499 = private unnamed_addr constant [1 x i8] c"\00" -@.str9500 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" -@.str9501 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" -@.str9502 = private unnamed_addr constant [2 x i8] c")\00" -@.str9503 = private unnamed_addr constant [6 x i8] c"smend\00" -@.str9504 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str9505 = private unnamed_addr constant [3 x i8] c", \00" -@.str9506 = private unnamed_addr constant [6 x i8] c"sbody\00" -@.str9507 = private unnamed_addr constant [5 x i8] c"sarm\00" -@.str9508 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str9509 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str9510 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str9511 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9512 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9513 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str9514 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9515 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9516 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9412 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9413 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9414 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str9415 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str9416 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" +@.str9417 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" +@.str9418 = private unnamed_addr constant [6 x i8] c" %is\00" +@.str9419 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" +@.str9420 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9421 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" +@.str9422 = private unnamed_addr constant [15 x i8] c", label %leave\00" +@.str9423 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str9424 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9425 = private unnamed_addr constant [6 x i8] c"leave\00" +@.str9426 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" +@.str9427 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" +@.str9428 = private unnamed_addr constant [5 x i8] c"next\00" +@.str9429 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9430 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9431 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9432 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9433 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" +@.str9434 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9435 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9436 = private unnamed_addr constant [3 x i8] c"%e\00" +@.str9437 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9438 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str9439 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" +@.str9440 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" +@.str9441 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9442 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" +@.str9443 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str9444 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str9445 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str9446 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str9447 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str9448 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9449 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str9450 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str9451 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str9452 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9453 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str9454 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str9455 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str9456 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9457 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str9458 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9459 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str9460 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str9461 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9462 = private unnamed_addr constant [5 x i8] c"next\00" +@.str9463 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9464 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" +@.str9465 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" +@.str9466 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9467 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" +@.str9468 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str9469 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" +@.str9470 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" +@.str9471 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str9472 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str9473 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" +@.str9474 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" +@.str9475 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" +@.str9476 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" +@.str9477 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str9478 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str9479 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str9480 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9481 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str9482 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str9483 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str9484 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9485 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str9486 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str9487 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str9488 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9489 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str9490 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9491 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str9492 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str9493 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9494 = private unnamed_addr constant [5 x i8] c"next\00" +@.str9495 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9496 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" +@.str9497 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str9498 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str9499 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" +@.str9500 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str9501 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str9502 = private unnamed_addr constant [3 x i8] c", \00" +@.str9503 = private unnamed_addr constant [3 x i8] c", \00" +@.str9504 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9505 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str9506 = private unnamed_addr constant [6 x i8] c"@evL_\00" +@.str9507 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str9508 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str9509 = private unnamed_addr constant [6 x i8] c"@evN_\00" +@.str9510 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" +@.str9511 = private unnamed_addr constant [6 x i8] c"@evO_\00" +@.str9512 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str9513 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9514 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" +@.str9515 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" +@.str9516 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str9517 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9518 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9519 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9520 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str9521 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9522 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" -@.str9523 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str9524 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9525 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" -@.str9526 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" -@.str9527 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str9528 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9529 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str9530 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str9531 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str9532 = private unnamed_addr constant [5 x i8] c"file\00" -@.str9533 = private unnamed_addr constant [4 x i8] c"%io\00" -@.str9534 = private unnamed_addr constant [3 x i8] c" \00" -@.str9535 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" -@.str9536 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str9537 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str9538 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" -@.str9539 = private unnamed_addr constant [5 x i8] c"size\00" -@.str9540 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str9541 = private unnamed_addr constant [3 x i8] c" \00" -@.str9542 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str9543 = private unnamed_addr constant [3 x i8] c", \00" -@.str9544 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9545 = private unnamed_addr constant [5 x i8] c"%ioa\00" -@.str9546 = private unnamed_addr constant [3 x i8] c" \00" -@.str9547 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" -@.str9548 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9549 = private unnamed_addr constant [5 x i8] c"save\00" -@.str9550 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str9551 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9552 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str9553 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9554 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str9555 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9556 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str9557 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9558 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str9559 = private unnamed_addr constant [3 x i8] c" \00" -@.str9560 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str9561 = private unnamed_addr constant [3 x i8] c", \00" -@.str9562 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9563 = private unnamed_addr constant [2 x i8] c"0\00" -@.str9564 = private unnamed_addr constant [8 x i8] c"@L_entc\00" -@.str9565 = private unnamed_addr constant [2 x i8] c"4\00" -@.str9566 = private unnamed_addr constant [9 x i8] c"@L_freen\00" -@.str9567 = private unnamed_addr constant [2 x i8] c"4\00" -@.str9568 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" -@.str9569 = private unnamed_addr constant [5 x i8] c", 4\0A\00" -@.str9570 = private unnamed_addr constant [9 x i8] c"@L_alive\00" -@.str9571 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str9572 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" -@.str9573 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str9574 = private unnamed_addr constant [8 x i8] c"@L_kind\00" -@.str9575 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str9576 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" -@.str9577 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str9578 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str9579 = private unnamed_addr constant [2 x i8] c"4\00" -@.str9580 = private unnamed_addr constant [5 x i8] c"%csz\00" -@.str9581 = private unnamed_addr constant [3 x i8] c" \00" -@.str9582 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" -@.str9583 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" -@.str9584 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" -@.str9585 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str9586 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str9587 = private unnamed_addr constant [5 x i8] c"file\00" -@.str9588 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" -@.str9589 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" -@.str9590 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" -@.str9591 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" -@.str9592 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" -@.str9593 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" -@.str9594 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" -@.str9595 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str9596 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" -@.str9597 = private unnamed_addr constant [7 x i8] c"fwrite\00" -@.str9598 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" -@.str9599 = 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" -@.str9600 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" -@.str9601 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" -@.str9602 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str9603 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" -@.str9604 = private unnamed_addr constant [6 x i8] c"fread\00" -@.str9605 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" -@.str9606 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" -@.str9607 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" -@.str9608 = private unnamed_addr constant [5 x i8] c"save\00" -@.str9609 = private unnamed_addr constant [1 x i8] c"\00" -@.str9610 = private unnamed_addr constant [5 x i8] c"%wsn\00" -@.str9611 = private unnamed_addr constant [3 x i8] c" \00" -@.str9612 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str9613 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str9614 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str9615 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str9616 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str9617 = private unnamed_addr constant [5 x i8] c"load\00" -@.str9618 = private unnamed_addr constant [1 x i8] c"\00" -@.str9619 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str9620 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" -@.str9621 = private unnamed_addr constant [5 x i8] c"size\00" -@.str9622 = private unnamed_addr constant [1 x i8] c"\00" -@.str9623 = private unnamed_addr constant [5 x i8] c"%wzn\00" -@.str9624 = private unnamed_addr constant [3 x i8] c" \00" -@.str9625 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str9626 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str9627 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str9628 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str9629 = private unnamed_addr constant [5 x i8] c"file\00" -@.str9630 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str9631 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str9632 = private unnamed_addr constant [2 x i8] c"1\00" -@.str9633 = private unnamed_addr constant [2 x i8] c"4\00" -@.str9634 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str9518 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str9519 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9520 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str9521 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str9522 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9523 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9524 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str9525 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str9526 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str9527 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9528 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" +@.str9529 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str9530 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str9531 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str9532 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" +@.str9533 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" +@.str9534 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str9535 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9536 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str9537 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9538 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str9539 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str9540 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9541 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9542 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str9543 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str9544 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str9545 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9546 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" +@.str9547 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str9548 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str9549 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str9550 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" +@.str9551 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" +@.str9552 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str9553 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9554 = private unnamed_addr constant [84 x i8] c" %lo = icmp sge i32 %tok, 0\0A %hi = icmp slt i32 %tok, %n\0A %ok = and i1 %lo, %hi\0A\00" +@.str9555 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" +@.str9556 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" +@.str9557 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9558 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" +@.str9559 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" +@.str9560 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" +@.str9561 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9562 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" +@.str9563 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" +@.str9564 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9565 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" +@.str9566 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" +@.str9567 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str9568 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str9569 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" +@.str9570 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" +@.str9571 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str9572 = private unnamed_addr constant [3 x i8] c" \00" +@.str9573 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str9574 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9575 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9576 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9577 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9578 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str9579 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9580 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9581 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9582 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str9583 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9584 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9585 = private unnamed_addr constant [3 x i8] c" \00" +@.str9586 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str9587 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9588 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9589 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9590 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str9591 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9592 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9593 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str9594 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9595 = private unnamed_addr constant [4 x i8] c"evl\00" +@.str9596 = private unnamed_addr constant [4 x i8] c"evb\00" +@.str9597 = private unnamed_addr constant [4 x i8] c"evd\00" +@.str9598 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9599 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9600 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9601 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9602 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" +@.str9603 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str9604 = private unnamed_addr constant [3 x i8] c", \00" +@.str9605 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9606 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9607 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9608 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9609 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9610 = private unnamed_addr constant [3 x i8] c" \00" +@.str9611 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9612 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9613 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9614 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9615 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str9616 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str9617 = private unnamed_addr constant [7 x i8] c", null\00" +@.str9618 = private unnamed_addr constant [5 x i8] c"evdo\00" +@.str9619 = private unnamed_addr constant [5 x i8] c"evsk\00" +@.str9620 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9621 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9622 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9623 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9624 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9625 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str9626 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str9627 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9628 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9629 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9630 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9631 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str9632 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str9633 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9634 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9635 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9636 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str9637 = private unnamed_addr constant [13 x i8] c"@Sync field \00" -@.str9638 = private unnamed_addr constant [2 x i8] c".\00" -@.str9639 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" -@.str9640 = private unnamed_addr constant [7 x i8] c"model \00" -@.str9641 = private unnamed_addr constant [9 x i8] c" @Syncs \00" -@.str9642 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" -@.str9643 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" -@.str9644 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str9645 = private unnamed_addr constant [3 x i8] c" \00" -@.str9646 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9647 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str9648 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str9649 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str9650 = private unnamed_addr constant [3 x i8] c" \00" -@.str9651 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str9652 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9653 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str9654 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9655 = private unnamed_addr constant [3 x i8] c" \00" -@.str9656 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str9657 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9658 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str9659 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9660 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str9661 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9662 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str9663 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str9664 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" -@.str9665 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str9666 = private unnamed_addr constant [3 x i8] c" \00" -@.str9667 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str9668 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str9669 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str9670 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str9671 = private unnamed_addr constant [3 x i8] c" \00" -@.str9672 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str9673 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9674 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str9675 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9676 = private unnamed_addr constant [3 x i8] c" \00" -@.str9677 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str9678 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9679 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str9680 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9681 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str9682 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9683 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str9684 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str9685 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str9686 = 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" -@.str9687 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str9688 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str9689 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9690 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str9691 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str9692 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str9693 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9694 = private unnamed_addr constant [2 x i8] c"h\00" -@.str9695 = private unnamed_addr constant [7 x i8] c":\0A %r\00" -@.str9696 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" -@.str9697 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" -@.str9698 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9699 = private unnamed_addr constant [2 x i8] c"n\00" -@.str9700 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9701 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str9702 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str9703 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str9704 = 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" -@.str9705 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str9706 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str9707 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9708 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str9709 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str9710 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str9711 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9712 = private unnamed_addr constant [2 x i8] c"h\00" -@.str9713 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" -@.str9714 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" -@.str9715 = private unnamed_addr constant [2 x i8] c"n\00" -@.str9716 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9717 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str9718 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" -@.str9719 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str9720 = 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" -@.str9721 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str9722 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str9723 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9724 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str9725 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str9726 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str9727 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9728 = private unnamed_addr constant [2 x i8] c"h\00" -@.str9729 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str9730 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9731 = private unnamed_addr constant [2 x i8] c"n\00" -@.str9732 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9733 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str9734 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" -@.str9735 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str9736 = 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" -@.str9737 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" -@.str9738 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str9739 = 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" -@.str9740 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" -@.str9741 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str9742 = 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" -@.str9743 = 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" -@.str9744 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" -@.str9745 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" -@.str9746 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" -@.str9747 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" -@.str9748 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str9749 = 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" -@.str9750 = 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" -@.str9751 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" -@.str9752 = 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" -@.str9753 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" -@.str9754 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str9755 = 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" -@.str9756 = 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" -@.str9757 = 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" -@.str9758 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" -@.str9759 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" -@.str9760 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" -@.str9761 = 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" -@.str9762 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" -@.str9763 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str9764 = 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" -@.str9765 = 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" -@.str9766 = 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" -@.str9767 = 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" -@.str9768 = 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" -@.str9769 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" -@.str9770 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str9771 = private unnamed_addr constant [11 x i8] c"L_net_send\00" -@.str9772 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str9773 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" -@.str9774 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str9775 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str9776 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" -@.str9777 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" -@.str9778 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" -@.str9779 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" -@.str9780 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" -@.str9781 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str9782 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" -@.str9783 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9784 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str9785 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str9786 = private unnamed_addr constant [11 x i8] c", label %x\00" +@.str9636 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9637 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9638 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9639 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9640 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str9641 = private unnamed_addr constant [97 x i8] c" %evdd = load i32, ptr @ev_depth\0A %evdd1 = sub i32 %evdd, 1\0A store i32 %evdd1, ptr @ev_depth\0A\00" +@.str9642 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9643 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str9644 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9645 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str9646 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9647 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9648 = private unnamed_addr constant [8 x i8] c"define \00" +@.str9649 = private unnamed_addr constant [6 x i8] c" @ev_\00" +@.str9650 = private unnamed_addr constant [2 x i8] c"(\00" +@.str9651 = private unnamed_addr constant [3 x i8] c", \00" +@.str9652 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str9653 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str9654 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9655 = private unnamed_addr constant [112 x i8] c"define void @ludic_sweep_entity(i32 %owner) {\0Aentry:\0A %ci = alloca i32\0A store i32 0, ptr %ci\0A br label %sw0\0A\00" +@.str9656 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str9657 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9658 = private unnamed_addr constant [7 x i8] c" %swi\00" +@.str9659 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" +@.str9660 = private unnamed_addr constant [7 x i8] c" %swn\00" +@.str9661 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" +@.str9662 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9663 = private unnamed_addr constant [7 x i8] c" %swg\00" +@.str9664 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" +@.str9665 = private unnamed_addr constant [7 x i8] c", %swn\00" +@.str9666 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9667 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" +@.str9668 = private unnamed_addr constant [13 x i8] c", label %swb\00" +@.str9669 = private unnamed_addr constant [13 x i8] c", label %swd\00" +@.str9670 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9671 = private unnamed_addr constant [4 x i8] c"swb\00" +@.str9672 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9673 = private unnamed_addr constant [8 x i8] c" %swop\00" +@.str9674 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9675 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str9676 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str9677 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9678 = private unnamed_addr constant [8 x i8] c" %swov\00" +@.str9679 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" +@.str9680 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9681 = private unnamed_addr constant [7 x i8] c" %swm\00" +@.str9682 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" +@.str9683 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" +@.str9684 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" +@.str9685 = private unnamed_addr constant [13 x i8] c", label %swh\00" +@.str9686 = private unnamed_addr constant [13 x i8] c", label %swx\00" +@.str9687 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9688 = private unnamed_addr constant [4 x i8] c"swh\00" +@.str9689 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9690 = private unnamed_addr constant [8 x i8] c" %swlp\00" +@.str9691 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9692 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9693 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str9694 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9695 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" +@.str9696 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" +@.str9697 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9698 = private unnamed_addr constant [4 x i8] c"swx\00" +@.str9699 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9700 = private unnamed_addr constant [9 x i8] c" %swinc\00" +@.str9701 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" +@.str9702 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" +@.str9703 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" +@.str9704 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9705 = private unnamed_addr constant [4 x i8] c"swd\00" +@.str9706 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" +@.str9707 = private unnamed_addr constant [15 x i8] c" br label %sw\00" +@.str9708 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9709 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str9710 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9711 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" +@.str9712 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" +@.str9713 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" +@.str9714 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" +@.str9715 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" +@.str9716 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" +@.str9717 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str9718 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str9719 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9720 = private unnamed_addr constant [5 x i8] c" %e\00" +@.str9721 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" +@.str9722 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9723 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" +@.str9724 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str9725 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str9726 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9727 = private unnamed_addr constant [2 x i8] c"h\00" +@.str9728 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str9729 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9730 = private unnamed_addr constant [2 x i8] c"n\00" +@.str9731 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9732 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" +@.str9733 = private unnamed_addr constant [135 x i8] c"dpl:\0A %di = load i32, ptr %dpi\0A %dn = load i32, ptr @dyn_count\0A %dg = icmp slt i32 %di, %dn\0A br i1 %dg, label %dpb, label %dpnone\0A\00" +@.str9734 = private unnamed_addr constant [231 x i8] c"dpb:\0A %dnp = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %di\0A %dname = load ptr, ptr %dnp\0A %dcmp = call i32 @strcmp(ptr %name, ptr %dname)\0A %deq = icmp eq i32 %dcmp, 0\0A br i1 %deq, label %dphit, label %dpnext\0A\00" +@.str9735 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" +@.str9736 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" +@.str9737 = private unnamed_addr constant [76 x i8] c"dpnext:\0A %di1 = add i32 %di, 1\0A store i32 %di1, ptr %dpi\0A br label %dpl\0A\00" +@.str9738 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" +@.str9739 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" +@.str9740 = private unnamed_addr constant [6 x i8] c" %pm\00" +@.str9741 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str9742 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9743 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" +@.str9744 = private unnamed_addr constant [12 x i8] c", label %pk\00" +@.str9745 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str9746 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9747 = private unnamed_addr constant [3 x i8] c"pk\00" +@.str9748 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9749 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9750 = private unnamed_addr constant [6 x i8] c" %fc\00" +@.str9751 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str9752 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9753 = private unnamed_addr constant [6 x i8] c" %fe\00" +@.str9754 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" +@.str9755 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9756 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" +@.str9757 = private unnamed_addr constant [12 x i8] c", label %fh\00" +@.str9758 = private unnamed_addr constant [12 x i8] c", label %fn\00" +@.str9759 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9760 = private unnamed_addr constant [3 x i8] c"fh\00" +@.str9761 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str9762 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9763 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str9764 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9765 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str9766 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str9767 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9768 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str9769 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str9770 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str9771 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str9772 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9773 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str9774 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str9775 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str9776 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9777 = private unnamed_addr constant [2 x i8] c"g\00" +@.str9778 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9779 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str9780 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9781 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9782 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9783 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str9784 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9785 = private unnamed_addr constant [6 x i8] c" %gm\00" +@.str9786 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str9787 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9788 = private unnamed_addr constant [2 x i8] c"h\00" -@.str9789 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9790 = private unnamed_addr constant [2 x i8] c"_\00" -@.str9791 = private unnamed_addr constant [6 x i8] c" %fa\00" -@.str9792 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" -@.str9793 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9794 = private unnamed_addr constant [6 x i8] c" %fv\00" -@.str9795 = private unnamed_addr constant [9 x i8] c" = load \00" -@.str9796 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" -@.str9797 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9798 = private unnamed_addr constant [3 x i8] c", \00" -@.str9799 = private unnamed_addr constant [5 x i8] c" %fv\00" -@.str9800 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str9801 = private unnamed_addr constant [2 x i8] c"(\00" -@.str9802 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9803 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str9804 = private unnamed_addr constant [2 x i8] c"x\00" -@.str9805 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9806 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str9807 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str9808 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str9809 = private unnamed_addr constant [6 x i8] c"panel\00" -@.str9810 = private unnamed_addr constant [4 x i8] c"col\00" -@.str9811 = private unnamed_addr constant [4 x i8] c"row\00" -@.str9812 = private unnamed_addr constant [6 x i8] c"label\00" -@.str9813 = private unnamed_addr constant [7 x i8] c"button\00" -@.str9814 = private unnamed_addr constant [6 x i8] c"image\00" -@.str9815 = private unnamed_addr constant [7 x i8] c"spacer\00" -@.str9816 = private unnamed_addr constant [3 x i8] c"id\00" -@.str9817 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" -@.str9818 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str9819 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str9820 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9821 = private unnamed_addr constant [2 x i8] c"w\00" -@.str9822 = private unnamed_addr constant [2 x i8] c"h\00" -@.str9823 = private unnamed_addr constant [2 x i8] c"x\00" -@.str9824 = private unnamed_addr constant [2 x i8] c"y\00" -@.str9825 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str9826 = private unnamed_addr constant [4 x i8] c"gap\00" -@.str9827 = private unnamed_addr constant [3 x i8] c"bg\00" -@.str9828 = private unnamed_addr constant [3 x i8] c"fg\00" -@.str9829 = private unnamed_addr constant [7 x i8] c"border\00" -@.str9830 = private unnamed_addr constant [5 x i8] c"grow\00" -@.str9831 = private unnamed_addr constant [5 x i8] c"font\00" -@.str9832 = private unnamed_addr constant [5 x i8] c"size\00" -@.str9833 = private unnamed_addr constant [6 x i8] c"inset\00" -@.str9834 = private unnamed_addr constant [6 x i8] c"focus\00" -@.str9835 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" -@.str9836 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9837 = private unnamed_addr constant [2 x i8] c"1\00" -@.str9838 = private unnamed_addr constant [3 x i8] c"id\00" -@.str9839 = private unnamed_addr constant [5 x i8] c"text\00" -@.str9840 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" -@.str9841 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9842 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9843 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str9844 = private unnamed_addr constant [6 x i8] c"image\00" -@.str9845 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" -@.str9846 = private unnamed_addr constant [2 x i8] c")\00" -@.str9847 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str9848 = private unnamed_addr constant [6 x i8] c"align\00" -@.str9849 = private unnamed_addr constant [7 x i8] c"center\00" -@.str9850 = private unnamed_addr constant [4 x i8] c"end\00" -@.str9851 = private unnamed_addr constant [2 x i8] c"1\00" -@.str9852 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" -@.str9853 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str9854 = private unnamed_addr constant [3 x i8] c", \00" -@.str9855 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str9856 = private unnamed_addr constant [5 x i8] c"void\00" -@.str9857 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" -@.str9858 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9859 = private unnamed_addr constant [9 x i8] c" store \00" -@.str9860 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str9861 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str9862 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9863 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str9864 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str9865 = private unnamed_addr constant [5 x i8] c"void\00" -@.str9866 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str9867 = private unnamed_addr constant [6 x i8] c"load \00" -@.str9868 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" -@.str9869 = private unnamed_addr constant [7 x i8] c" ret \00" -@.str9870 = private unnamed_addr constant [2 x i8] c" \00" -@.str9871 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9872 = private unnamed_addr constant [8 x i8] c"define \00" -@.str9873 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str9874 = private unnamed_addr constant [2 x i8] c"(\00" -@.str9875 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str9876 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str9877 = private unnamed_addr constant [4 x i8] c"int\00" -@.str9878 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" -@.str9879 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str9880 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str9881 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" -@.str9882 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str9883 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str9884 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str9885 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str9886 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" -@.str9887 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str9888 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9889 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str9890 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str9891 = private unnamed_addr constant [5 x i8] c"void\00" -@.str9892 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str9893 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str9894 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" -@.str9895 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str9896 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str9897 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" -@.str9898 = private unnamed_addr constant [94 x i8] c"@.fmt_test_sum = private unnamed_addr constant [28 x i8] c\22== %d passed, %d failed ==\5C0A\5C00\22\0A\00" -@.str9899 = private unnamed_addr constant [86 x i8] c"@.fmt_expect = private unnamed_addr constant [22 x i8] c\22%s (got %d, want %d)\5C0A\5C00\22\0A\00" -@.str9900 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str9901 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str9902 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str9903 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" -@.str9904 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" -@.str9905 = private unnamed_addr constant [8 x i8] c"ok - \00" -@.str9906 = private unnamed_addr constant [8 x i8] c"FAIL - \00" -@.str9907 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" -@.str9908 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" -@.str9909 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str9910 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" -@.str9911 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str9912 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str9913 = private unnamed_addr constant [6 x i8] c"tpass\00" -@.str9914 = private unnamed_addr constant [6 x i8] c"tfail\00" -@.str9915 = private unnamed_addr constant [6 x i8] c"tdone\00" -@.str9916 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str9917 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str9918 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str9919 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9920 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9921 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str9922 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9923 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str9924 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9925 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9926 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" -@.str9927 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str9928 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str9929 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str9930 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" -@.str9931 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str9932 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9933 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str9934 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9935 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str9936 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" -@.str9937 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str9938 = private unnamed_addr constant [3 x i8] c", \00" -@.str9939 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" -@.str9940 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str9941 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9942 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str9943 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str9944 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str9945 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str9946 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str9947 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" -@.str9948 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str9949 = private unnamed_addr constant [68 x i8] c"@.fmt_panic = private unnamed_addr constant [6 x i8] c\22%s%s\5C0A\5C00\22\0A\00" -@.str9950 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" -@.str9951 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" -@.str9952 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" -@.str9953 = private unnamed_addr constant [10 x i8] c" x i32] [\00" -@.str9954 = private unnamed_addr constant [3 x i8] c", \00" -@.str9955 = private unnamed_addr constant [5 x i8] c"i32 \00" -@.str9956 = private unnamed_addr constant [3 x i8] c"]\0A\00" -@.str9957 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" -@.str9958 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str9959 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" +@.str9788 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" +@.str9789 = private unnamed_addr constant [12 x i8] c", label %gf\00" +@.str9790 = private unnamed_addr constant [12 x i8] c", label %gk\00" +@.str9791 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9792 = private unnamed_addr constant [3 x i8] c"gf\00" +@.str9793 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9794 = private unnamed_addr constant [6 x i8] c" %ga\00" +@.str9795 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str9796 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str9797 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9798 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9799 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9800 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str9801 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" +@.str9802 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9803 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str9804 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" +@.str9805 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str9806 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9807 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str9808 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str9809 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" +@.str9810 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9811 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str9812 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" +@.str9813 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str9814 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9815 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str9816 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" +@.str9817 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9818 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str9819 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" +@.str9820 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str9821 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9822 = private unnamed_addr constant [3 x i8] c"gk\00" +@.str9823 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9824 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" +@.str9825 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str9826 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9827 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" +@.str9828 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9829 = private unnamed_addr constant [175 x i8] c" %gdlo = icmp sge i32 %gdyn, 0\0A %gdc = load i32, ptr @dyn_count\0A %gdhi = icmp slt i32 %gdyn, %gdc\0A %gdok = and i1 %gdlo, %gdhi\0A br i1 %gdok, label %gdyng, label %gdnone\0A\00" +@.str9830 = private unnamed_addr constant [110 x i8] c"gdyng:\0A %gsp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %gdyn\0A %gbase = load ptr, ptr %gsp\0A\00" +@.str9831 = private unnamed_addr constant [156 x i8] c" %gfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %gdyn\0A %gnf = load i32, ptr %gfp\0A %grow = mul i32 %e, %gnf\0A %gidx = add i32 %grow, %f\0A\00" +@.str9832 = private unnamed_addr constant [133 x i8] c" %gaddr = getelementptr inbounds i32, ptr %gbase, i32 %gidx\0A %gv = load i32, ptr %gaddr\0A %gr = sext i32 %gv to i64\0A ret i64 %gr\0A\00" +@.str9833 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" +@.str9834 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" +@.str9835 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str9836 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str9837 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9838 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str9839 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str9840 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str9841 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9842 = private unnamed_addr constant [2 x i8] c"g\00" +@.str9843 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9844 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str9845 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9846 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9847 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9848 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str9849 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9850 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str9851 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str9852 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9853 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str9854 = private unnamed_addr constant [12 x i8] c", label %sf\00" +@.str9855 = private unnamed_addr constant [12 x i8] c", label %sk\00" +@.str9856 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9857 = private unnamed_addr constant [3 x i8] c"sf\00" +@.str9858 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9859 = private unnamed_addr constant [6 x i8] c" %sa\00" +@.str9860 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str9861 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str9862 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9863 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9864 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9865 = private unnamed_addr constant [6 x i8] c" %sp\00" +@.str9866 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" +@.str9867 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" +@.str9868 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str9869 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str9870 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str9871 = private unnamed_addr constant [6 x i8] c" %sb\00" +@.str9872 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" +@.str9873 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" +@.str9874 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str9875 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str9876 = private unnamed_addr constant [6 x i8] c" %sw\00" +@.str9877 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" +@.str9878 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" +@.str9879 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str9880 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str9881 = private unnamed_addr constant [3 x i8] c"sk\00" +@.str9882 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9883 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str9884 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str9885 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9886 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" +@.str9887 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9888 = private unnamed_addr constant [175 x i8] c" %sdlo = icmp sge i32 %sdyn, 0\0A %sdc = load i32, ptr @dyn_count\0A %sdhi = icmp slt i32 %sdyn, %sdc\0A %sdok = and i1 %sdlo, %sdhi\0A br i1 %sdok, label %sdyng, label %sdnone\0A\00" +@.str9889 = private unnamed_addr constant [110 x i8] c"sdyng:\0A %ssp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %sdyn\0A %sbase = load ptr, ptr %ssp\0A\00" +@.str9890 = private unnamed_addr constant [156 x i8] c" %sfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %sdyn\0A %snf = load i32, ptr %sfp\0A %srow = mul i32 %e, %snf\0A %sidx = add i32 %srow, %f\0A\00" +@.str9891 = private unnamed_addr constant [131 x i8] c" %saddr = getelementptr inbounds i32, ptr %sbase, i32 %sidx\0A %sv = trunc i64 %val to i32\0A store i32 %sv, ptr %saddr\0A ret void\0A\00" +@.str9892 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" +@.str9893 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str9894 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str9895 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str9896 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9897 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str9898 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str9899 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str9900 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9901 = private unnamed_addr constant [2 x i8] c"g\00" +@.str9902 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9903 = private unnamed_addr constant [6 x i8] c" %hp\00" +@.str9904 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9905 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9906 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str9907 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str9908 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" +@.str9909 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9910 = private unnamed_addr constant [6 x i8] c" %hr\00" +@.str9911 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" +@.str9912 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" +@.str9913 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9914 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str9915 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9916 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" +@.str9917 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9918 = private unnamed_addr constant [175 x i8] c" %hdlo = icmp sge i32 %hdyn, 0\0A %hdc = load i32, ptr @dyn_count\0A %hdhi = icmp slt i32 %hdyn, %hdc\0A %hdok = and i1 %hdlo, %hdhi\0A br i1 %hdok, label %hdyng, label %hdnone\0A\00" +@.str9919 = private unnamed_addr constant [238 x i8] c"hdyng:\0A %hhp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %hdyn\0A %hh = load ptr, ptr %hhp\0A %hslot = getelementptr inbounds i8, ptr %hh, i32 %e\0A %hval = load i8, ptr %hslot\0A %hres = zext i8 %hval to i32\0A ret i32 %hres\0A\00" +@.str9920 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" +@.str9921 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" +@.str9922 = private unnamed_addr constant [102 x i8] c" %dc = load i32, ptr @dyn_count\0A %full = icmp slt i32 %dc, 32\0A br i1 %full, label %do, label %rej\0A\00" +@.str9923 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" +@.str9924 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" +@.str9925 = private unnamed_addr constant [83 x i8] c" %buf = call ptr @malloc(i64 %szl)\0A call ptr @memset(ptr %buf, i32 0, i64 %szl)\0A\00" +@.str9926 = private unnamed_addr constant [96 x i8] c" %sp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %dc\0A store ptr %buf, ptr %sp\0A\00" +@.str9927 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" +@.str9928 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" +@.str9929 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9930 = private unnamed_addr constant [97 x i8] c" %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dc\0A store ptr %hbuf, ptr %hp\0A\00" +@.str9931 = private unnamed_addr constant [100 x i8] c" %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dc\0A store i32 %nfields, ptr %fp\0A\00" +@.str9932 = private unnamed_addr constant [100 x i8] c" %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dc\0A store ptr %name, ptr %np\0A\00" +@.str9933 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" +@.str9934 = private unnamed_addr constant [73 x i8] c"\0A %dc1 = add i32 %dc, 1\0A store i32 %dc1, ptr @dyn_count\0A ret i32 %id\0A\00" +@.str9935 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" +@.str9936 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str9937 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str9938 = private unnamed_addr constant [187 x i8] c"\0A %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dyn\0A %h = load ptr, ptr %hp\0A %slot = getelementptr inbounds i8, ptr %h, i32 %e\0A store i8 1, ptr %slot\0A ret void\0A}\0A\0A\00" +@.str9939 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str9940 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str9941 = private unnamed_addr constant [187 x i8] c"\0A %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dyn\0A %h = load ptr, ptr %hp\0A %slot = getelementptr inbounds i8, ptr %h, i32 %e\0A store i8 0, ptr %slot\0A ret void\0A}\0A\0A\00" +@.str9942 = private unnamed_addr constant [88 x i8] c"define i32 @ludic_entity_count() {\0Aentry:\0A %n = load i32, ptr @L_entc\0A ret i32 %n\0A}\0A\0A\00" +@.str9943 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" +@.str9944 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str9945 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str9946 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" +@.str9947 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" +@.str9948 = private unnamed_addr constant [7 x i8] c" %mdc\00" +@.str9949 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str9950 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9951 = private unnamed_addr constant [7 x i8] c" %mde\00" +@.str9952 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" +@.str9953 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9954 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" +@.str9955 = private unnamed_addr constant [13 x i8] c", label %mdh\00" +@.str9956 = private unnamed_addr constant [13 x i8] c", label %mdn\00" +@.str9957 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9958 = private unnamed_addr constant [4 x i8] c"mdh\00" +@.str9959 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str9960 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9961 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" -@.str9962 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" -@.str9963 = private unnamed_addr constant [2 x i8] c"w\00" -@.str9964 = private unnamed_addr constant [73 x i8] c"@.cov_filefmt = private unnamed_addr constant [9 x i8] c\22FILE %s\5C0A\5C00\22\0A\00" -@.str9965 = private unnamed_addr constant [70 x i8] c"@.cov_rowfmt = private unnamed_addr constant [7 x i8] c\22%d %d\5C0A\5C00\22\0A\00" -@.str9966 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str9967 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" -@.str9968 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" -@.str9969 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" -@.str9970 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9971 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" -@.str9972 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" -@.str9973 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" -@.str9974 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" -@.str9975 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9976 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str9977 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" -@.str9978 = private unnamed_addr constant [8 x i8] c"write:\0A\00" -@.str9979 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" -@.str9980 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str9981 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str9982 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str9983 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" -@.str9984 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" -@.str9985 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str9986 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" -@.str9987 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str9988 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" -@.str9989 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" -@.str9990 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" -@.str9991 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" -@.str9992 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" -@.str9993 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" -@.str9994 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" -@.str9995 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" -@.str9996 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str9997 = private unnamed_addr constant [8 x i8] c"close:\0A\00" -@.str9998 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" -@.str9999 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str10000 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" -@.str10001 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" -@.str10002 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" -@.str10003 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str10004 = private unnamed_addr constant [122 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @cov_init, ptr null }]\0A\00" -@.str10005 = private unnamed_addr constant [3 x i8] c"wb\00" -@.str10006 = private unnamed_addr constant [7 x i8] c".ludic\00" -@.str10007 = private unnamed_addr constant [2 x i8] c"/\00" -@.str10008 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" -@.str10009 = private unnamed_addr constant [8 x i8] c"VERSION\00" -@.str10010 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" -@.str10011 = private unnamed_addr constant [7 x i8] c"ludic \00" -@.str10012 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str10013 = private unnamed_addr constant [10 x i8] c"--version\00" -@.str10014 = private unnamed_addr constant [11 x i8] c"--windowed\00" -@.str10015 = private unnamed_addr constant [11 x i8] c"--headless\00" -@.str10016 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" -@.str10017 = private unnamed_addr constant [14 x i8] c"--emit-module\00" -@.str10018 = private unnamed_addr constant [6 x i8] c"--fmt\00" -@.str10019 = private unnamed_addr constant [13 x i8] c"--save-temps\00" -@.str10020 = private unnamed_addr constant [6 x i8] c"--run\00" -@.str10021 = private unnamed_addr constant [11 x i8] c"--coverage\00" -@.str10022 = private unnamed_addr constant [3 x i8] c"-o\00" -@.str10023 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str9961 = private unnamed_addr constant [4 x i8] c"mdn\00" +@.str9962 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9963 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str9964 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9965 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str9966 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9967 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" +@.str9968 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9969 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9970 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" +@.str9971 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str9972 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" +@.str9973 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9974 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str9975 = private unnamed_addr constant [12 x i8] c", label %sh\00" +@.str9976 = private unnamed_addr constant [12 x i8] c", label %sn\00" +@.str9977 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9978 = private unnamed_addr constant [3 x i8] c"sh\00" +@.str9979 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" +@.str9980 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" +@.str9981 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" +@.str9982 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9983 = private unnamed_addr constant [3 x i8] c"sn\00" +@.str9984 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9985 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str9986 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" +@.str9987 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" +@.str9988 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" +@.str9989 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" +@.str9990 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str9991 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str9992 = private unnamed_addr constant [93 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A br i1 %isa, label %chk, label %cont\0A\00" +@.str9993 = private unnamed_addr constant [115 x i8] c"chk:\0A %h = call i32 @ludic_has(i32 %e, i32 %p)\0A %hit = icmp ne i32 %h, 0\0A br i1 %hit, label %hitb, label %cont\0A\00" +@.str9994 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" +@.str9995 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" +@.str9996 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" +@.str9997 = private unnamed_addr constant [1 x i8] c"\00" +@.str9998 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9999 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" +@.str10000 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" +@.str10001 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" +@.str10002 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" +@.str10003 = private unnamed_addr constant [6 x i8] c" %pe\00" +@.str10004 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" +@.str10005 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10006 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" +@.str10007 = private unnamed_addr constant [12 x i8] c", label %ph\00" +@.str10008 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str10009 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10010 = private unnamed_addr constant [3 x i8] c"ph\00" +@.str10011 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str10012 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10013 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str10014 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10015 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" +@.str10016 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str10017 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" +@.str10018 = private unnamed_addr constant [120 x i8] c"pdyn:\0A %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dyn\0A %nm = load ptr, ptr %np\0A ret ptr %nm\0A\00" +@.str10019 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" +@.str10020 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10021 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" +@.str10022 = private unnamed_addr constant [7 x i8] c" %fce\00" +@.str10023 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str10024 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10025 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00" -@.str10026 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" -@.str10027 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" -@.str10028 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" -@.str10029 = private unnamed_addr constant [4 x i8] c".ll\00" -@.str10030 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" -@.str10031 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" -@.str10032 = private unnamed_addr constant [6 x i8] c"clang\00" -@.str10033 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" -@.str10034 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" -@.str10035 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" -@.str10036 = private unnamed_addr constant [2 x i8] c" \00" -@.str10037 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" -@.str10038 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" -@.str10039 = private unnamed_addr constant [2 x i8] c" \00" -@.str10040 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" -@.str10041 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" -@.str10042 = private unnamed_addr constant [2 x i8] c" \00" -@.str10043 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" -@.str10044 = private unnamed_addr constant [5 x i8] c" -o \00" -@.str10045 = private unnamed_addr constant [7 x i8] c"rm -f \00" -@.str10046 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str10025 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" +@.str10026 = private unnamed_addr constant [13 x i8] c", label %fch\00" +@.str10027 = private unnamed_addr constant [13 x i8] c", label %fcn\00" +@.str10028 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10029 = private unnamed_addr constant [4 x i8] c"fch\00" +@.str10030 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10031 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10032 = private unnamed_addr constant [4 x i8] c"fcn\00" +@.str10033 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10034 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str10035 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str10036 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" +@.str10037 = private unnamed_addr constant [118 x i8] c"fcdyn:\0A %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dyn\0A %fn = load i32, ptr %fp\0A ret i32 %fn\0A\00" +@.str10038 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" +@.str10039 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str10040 = private unnamed_addr constant [7 x i8] c" %fne\00" +@.str10041 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10042 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10043 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" +@.str10044 = private unnamed_addr constant [13 x i8] c", label %fnk\00" +@.str10045 = private unnamed_addr constant [13 x i8] c", label %fnn\00" +@.str10046 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10047 = private unnamed_addr constant [4 x i8] c"fnk\00" +@.str10048 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10049 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10050 = private unnamed_addr constant [8 x i8] c" %fnfe\00" +@.str10051 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str10052 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10053 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" +@.str10054 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" +@.str10055 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" +@.str10056 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10057 = private unnamed_addr constant [5 x i8] c"fnfh\00" +@.str10058 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str10059 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10060 = private unnamed_addr constant [5 x i8] c"fnfn\00" +@.str10061 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10062 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10063 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10064 = private unnamed_addr constant [4 x i8] c"fnn\00" +@.str10065 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10066 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10067 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10068 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str10069 = private unnamed_addr constant [7 x i8] c" %fte\00" +@.str10070 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10071 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10072 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" +@.str10073 = private unnamed_addr constant [13 x i8] c", label %ftk\00" +@.str10074 = private unnamed_addr constant [13 x i8] c", label %ftn\00" +@.str10075 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10076 = private unnamed_addr constant [4 x i8] c"ftk\00" +@.str10077 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10078 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10079 = private unnamed_addr constant [8 x i8] c" %ftfe\00" +@.str10080 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str10081 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10082 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" +@.str10083 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" +@.str10084 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" +@.str10085 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10086 = private unnamed_addr constant [5 x i8] c"ftfh\00" +@.str10087 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str10088 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10089 = private unnamed_addr constant [5 x i8] c"ftfn\00" +@.str10090 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10091 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10092 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10093 = private unnamed_addr constant [4 x i8] c"ftn\00" +@.str10094 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10095 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10096 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10097 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" +@.str10098 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str10099 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str10100 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str10101 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str10102 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10103 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" +@.str10104 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str10105 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str10106 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10107 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str10108 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str10109 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str10110 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str10111 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str10112 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str10113 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str10114 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10115 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str10116 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str10117 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10118 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str10119 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" +@.str10120 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10121 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str10122 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" +@.str10123 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10124 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10125 = private unnamed_addr constant [11 x i8] c"rt_running\00" +@.str10126 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" +@.str10127 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10128 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10129 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str10130 = private unnamed_addr constant [3 x i8] c", \00" +@.str10131 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10132 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str10133 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10134 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str10135 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str10136 = private unnamed_addr constant [12 x i8] c"input_drive\00" +@.str10137 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" +@.str10138 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10139 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str10140 = private unnamed_addr constant [8 x i8] c"rt_poll\00" +@.str10141 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" +@.str10142 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10143 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str10144 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" +@.str10145 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str10146 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" +@.str10147 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10148 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str10149 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str10150 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str10151 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str10152 = private unnamed_addr constant [9 x i8] c"rt_clear\00" +@.str10153 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" +@.str10154 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10155 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str10156 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str10157 = private unnamed_addr constant [11 x i8] c"rt_present\00" +@.str10158 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" +@.str10159 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str10160 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str10161 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str10162 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10163 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" +@.str10164 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10165 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str10166 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" +@.str10167 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str10168 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str10169 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" +@.str10170 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" +@.str10171 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" +@.str10172 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" +@.str10173 = private unnamed_addr constant [15 x i8] c"machine state \00" +@.str10174 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str10175 = private unnamed_addr constant [1 x i8] c"\00" +@.str10176 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" +@.str10177 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" +@.str10178 = private unnamed_addr constant [2 x i8] c")\00" +@.str10179 = private unnamed_addr constant [6 x i8] c"smend\00" +@.str10180 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10181 = private unnamed_addr constant [3 x i8] c", \00" +@.str10182 = private unnamed_addr constant [6 x i8] c"sbody\00" +@.str10183 = private unnamed_addr constant [5 x i8] c"sarm\00" +@.str10184 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10185 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10186 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10187 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10188 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10189 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10190 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10191 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10192 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10193 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10194 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10195 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10196 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str10197 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10198 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" +@.str10199 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10200 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10201 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" +@.str10202 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" +@.str10203 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10204 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" +@.str10205 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10206 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str10207 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str10208 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10209 = private unnamed_addr constant [5 x i8] c"file\00" +@.str10210 = private unnamed_addr constant [4 x i8] c"%io\00" +@.str10211 = private unnamed_addr constant [3 x i8] c" \00" +@.str10212 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" +@.str10213 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str10214 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str10215 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" +@.str10216 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10217 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str10218 = private unnamed_addr constant [3 x i8] c" \00" +@.str10219 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str10220 = private unnamed_addr constant [3 x i8] c", \00" +@.str10221 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10222 = private unnamed_addr constant [5 x i8] c"%ioa\00" +@.str10223 = private unnamed_addr constant [3 x i8] c" \00" +@.str10224 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" +@.str10225 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10226 = private unnamed_addr constant [5 x i8] c"save\00" +@.str10227 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10228 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10229 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10230 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10231 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10232 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10233 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10234 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10235 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str10236 = private unnamed_addr constant [3 x i8] c" \00" +@.str10237 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str10238 = private unnamed_addr constant [3 x i8] c", \00" +@.str10239 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10240 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10241 = private unnamed_addr constant [8 x i8] c"@L_entc\00" +@.str10242 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10243 = private unnamed_addr constant [9 x i8] c"@L_freen\00" +@.str10244 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10245 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" +@.str10246 = private unnamed_addr constant [5 x i8] c", 4\0A\00" +@.str10247 = private unnamed_addr constant [9 x i8] c"@L_alive\00" +@.str10248 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10249 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" +@.str10250 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10251 = private unnamed_addr constant [8 x i8] c"@L_kind\00" +@.str10252 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10253 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" +@.str10254 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10255 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str10256 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10257 = private unnamed_addr constant [5 x i8] c"%csz\00" +@.str10258 = private unnamed_addr constant [3 x i8] c" \00" +@.str10259 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" +@.str10260 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" +@.str10261 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" +@.str10262 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str10263 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str10264 = private unnamed_addr constant [5 x i8] c"file\00" +@.str10265 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" +@.str10266 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str10267 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str10268 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" +@.str10269 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" +@.str10270 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" +@.str10271 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" +@.str10272 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str10273 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" +@.str10274 = private unnamed_addr constant [7 x i8] c"fwrite\00" +@.str10275 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" +@.str10276 = private unnamed_addr constant [68 x i8] c" %c = call i32 @fclose(ptr %f)\0A br label %out\0Aout:\0A ret void\0A}\0A\0A\00" +@.str10277 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" +@.str10278 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" +@.str10279 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str10280 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" +@.str10281 = private unnamed_addr constant [6 x i8] c"fread\00" +@.str10282 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" +@.str10283 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" +@.str10284 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" +@.str10285 = private unnamed_addr constant [5 x i8] c"save\00" +@.str10286 = private unnamed_addr constant [1 x i8] c"\00" +@.str10287 = private unnamed_addr constant [5 x i8] c"%wsn\00" +@.str10288 = private unnamed_addr constant [3 x i8] c" \00" +@.str10289 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str10290 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str10291 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10292 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10293 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10294 = private unnamed_addr constant [5 x i8] c"load\00" +@.str10295 = private unnamed_addr constant [1 x i8] c"\00" +@.str10296 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10297 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" +@.str10298 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10299 = private unnamed_addr constant [1 x i8] c"\00" +@.str10300 = private unnamed_addr constant [5 x i8] c"%wzn\00" +@.str10301 = private unnamed_addr constant [3 x i8] c" \00" +@.str10302 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str10303 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str10304 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10305 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10306 = private unnamed_addr constant [5 x i8] c"file\00" +@.str10307 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10308 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10309 = private unnamed_addr constant [2 x i8] c"1\00" +@.str10310 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10311 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str10312 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10313 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10314 = private unnamed_addr constant [13 x i8] c"@Sync field \00" +@.str10315 = private unnamed_addr constant [2 x i8] c".\00" +@.str10316 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" +@.str10317 = private unnamed_addr constant [7 x i8] c"model \00" +@.str10318 = private unnamed_addr constant [9 x i8] c" @Syncs \00" +@.str10319 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" +@.str10320 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" +@.str10321 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str10322 = private unnamed_addr constant [3 x i8] c" \00" +@.str10323 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10324 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10325 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str10326 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10327 = private unnamed_addr constant [3 x i8] c" \00" +@.str10328 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str10329 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10330 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10331 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10332 = private unnamed_addr constant [3 x i8] c" \00" +@.str10333 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str10334 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10335 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10336 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10337 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10338 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10339 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10340 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10341 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" +@.str10342 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10343 = private unnamed_addr constant [3 x i8] c" \00" +@.str10344 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10345 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10346 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str10347 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10348 = private unnamed_addr constant [3 x i8] c" \00" +@.str10349 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str10350 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10351 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10352 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10353 = private unnamed_addr constant [3 x i8] c" \00" +@.str10354 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str10355 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10356 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10357 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10358 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10359 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10360 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10361 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str10362 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10363 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00" +@.str10364 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10365 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str10366 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10367 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10368 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10369 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10370 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10371 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10372 = private unnamed_addr constant [7 x i8] c":\0A %r\00" +@.str10373 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" +@.str10374 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" +@.str10375 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10376 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10377 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10378 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str10379 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10380 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10381 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00" +@.str10382 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10383 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str10384 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10385 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10386 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10387 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10388 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10389 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10390 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" +@.str10391 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" +@.str10392 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10393 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10394 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10395 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" +@.str10396 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10397 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00" +@.str10398 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10399 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str10400 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10401 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10402 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10403 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10404 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10405 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10406 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10407 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10408 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10409 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10410 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str10411 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" +@.str10412 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str10413 = private unnamed_addr constant [82 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %v = load i32, ptr %p\0A ret i32 %v\0A}\0A\0A\00" +@.str10414 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" +@.str10415 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str10416 = private unnamed_addr constant [80 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A store i32 %id, ptr %p\0A ret void\0A}\0A\0A\00" +@.str10417 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" +@.str10418 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str10419 = private unnamed_addr constant [66 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %o = load i32, ptr %p\0A\00" +@.str10420 = private unnamed_addr constant [106 x i8] c" %lid = load i32, ptr @L_localid\0A %eq = icmp eq i32 %o, %lid\0A %r = zext i1 %eq to i32\0A ret i32 %r\0A}\0A\0A\00" +@.str10421 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" +@.str10422 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" +@.str10423 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" +@.str10424 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" +@.str10425 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10426 = private unnamed_addr constant [71 x i8] c" %l0 = icmp slt i32 %len, 0\0A %len1 = select i1 %l0, i32 0, i32 %len\0A\00" +@.str10427 = private unnamed_addr constant [76 x i8] c" %l1 = icmp sgt i32 %len1, 2048\0A %n = select i1 %l1, i32 2048, i32 %len1\0A\00" +@.str10428 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" +@.str10429 = private unnamed_addr constant [78 x i8] c" %t1 = add i32 %t, 1\0A %tn = srem i32 %t1, 64\0A %full = icmp eq i32 %tn, %h\0A\00" +@.str10430 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" +@.str10431 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str10432 = private unnamed_addr constant [80 x i8] c" %row = getelementptr inbounds [64 x [2048 x i8]], ptr @L_netq, i32 0, i32 %t\0A\00" +@.str10433 = private unnamed_addr constant [76 x i8] c" %nz = zext i32 %n to i64\0A call ptr @memcpy(ptr %row, ptr %buf, i64 %nz)\0A\00" +@.str10434 = private unnamed_addr constant [97 x i8] c" %lp = getelementptr inbounds [64 x i32], ptr @L_netlen, i32 0, i32 %t\0A store i32 %n, ptr %lp\0A\00" +@.str10435 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" +@.str10436 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" +@.str10437 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" +@.str10438 = private unnamed_addr constant [95 x i8] c" %h = load i32, ptr @L_nethead\0A %t = load i32, ptr @L_nettail\0A %empty = icmp eq i32 %h, %t\0A\00" +@.str10439 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" +@.str10440 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str10441 = private unnamed_addr constant [99 x i8] c" %lp = getelementptr inbounds [64 x i32], ptr @L_netlen, i32 0, i32 %h\0A %ln = load i32, ptr %lp\0A\00" +@.str10442 = private unnamed_addr constant [74 x i8] c" %big = icmp sgt i32 %ln, %cap\0A %n = select i1 %big, i32 %cap, i32 %ln\0A\00" +@.str10443 = private unnamed_addr constant [80 x i8] c" %row = getelementptr inbounds [64 x [2048 x i8]], ptr @L_netq, i32 0, i32 %h\0A\00" +@.str10444 = private unnamed_addr constant [76 x i8] c" %nz = zext i32 %n to i64\0A call ptr @memcpy(ptr %buf, ptr %row, i64 %nz)\0A\00" +@.str10445 = private unnamed_addr constant [93 x i8] c" %h1 = add i32 %h, 1\0A %hn = srem i32 %h1, 64\0A store i32 %hn, ptr @L_nethead\0A ret i32 %n\0A\00" +@.str10446 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" +@.str10447 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str10448 = private unnamed_addr constant [11 x i8] c"L_net_send\00" +@.str10449 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str10450 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" +@.str10451 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str10452 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str10453 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" +@.str10454 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" +@.str10455 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" +@.str10456 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" +@.str10457 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" +@.str10458 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10459 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" +@.str10460 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10461 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10462 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10463 = private unnamed_addr constant [11 x i8] c", label %x\00" +@.str10464 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10465 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10466 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10467 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10468 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str10469 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" +@.str10470 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10471 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str10472 = private unnamed_addr constant [9 x i8] c" = load \00" +@.str10473 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str10474 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10475 = private unnamed_addr constant [3 x i8] c", \00" +@.str10476 = private unnamed_addr constant [5 x i8] c" %fv\00" +@.str10477 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str10478 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10479 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10480 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10481 = private unnamed_addr constant [2 x i8] c"x\00" +@.str10482 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10483 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10484 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str10485 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str10486 = private unnamed_addr constant [6 x i8] c"panel\00" +@.str10487 = private unnamed_addr constant [4 x i8] c"col\00" +@.str10488 = private unnamed_addr constant [4 x i8] c"row\00" +@.str10489 = private unnamed_addr constant [6 x i8] c"label\00" +@.str10490 = private unnamed_addr constant [7 x i8] c"button\00" +@.str10491 = private unnamed_addr constant [6 x i8] c"image\00" +@.str10492 = private unnamed_addr constant [7 x i8] c"spacer\00" +@.str10493 = private unnamed_addr constant [5 x i8] c"font\00" +@.str10494 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10495 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str10496 = private unnamed_addr constant [6 x i8] c"align\00" +@.str10497 = private unnamed_addr constant [3 x i8] c"id\00" +@.str10498 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" +@.str10499 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10500 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10501 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10502 = private unnamed_addr constant [2 x i8] c"w\00" +@.str10503 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10504 = private unnamed_addr constant [2 x i8] c"x\00" +@.str10505 = private unnamed_addr constant [2 x i8] c"y\00" +@.str10506 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str10507 = private unnamed_addr constant [4 x i8] c"gap\00" +@.str10508 = private unnamed_addr constant [3 x i8] c"bg\00" +@.str10509 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str10510 = private unnamed_addr constant [7 x i8] c"border\00" +@.str10511 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str10512 = private unnamed_addr constant [5 x i8] c"font\00" +@.str10513 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10514 = private unnamed_addr constant [6 x i8] c"inset\00" +@.str10515 = private unnamed_addr constant [6 x i8] c"focus\00" +@.str10516 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" +@.str10517 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10518 = private unnamed_addr constant [2 x i8] c"1\00" +@.str10519 = private unnamed_addr constant [3 x i8] c"id\00" +@.str10520 = private unnamed_addr constant [5 x i8] c"goto\00" +@.str10521 = private unnamed_addr constant [5 x i8] c"text\00" +@.str10522 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" +@.str10523 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10524 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10525 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str10526 = private unnamed_addr constant [6 x i8] c"image\00" +@.str10527 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" +@.str10528 = private unnamed_addr constant [2 x i8] c")\00" +@.str10529 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str10530 = private unnamed_addr constant [6 x i8] c"align\00" +@.str10531 = private unnamed_addr constant [7 x i8] c"center\00" +@.str10532 = private unnamed_addr constant [4 x i8] c"end\00" +@.str10533 = private unnamed_addr constant [2 x i8] c"1\00" +@.str10534 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" +@.str10535 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10536 = private unnamed_addr constant [3 x i8] c", \00" +@.str10537 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str10538 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10539 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" +@.str10540 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10541 = private unnamed_addr constant [9 x i8] c" store \00" +@.str10542 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str10543 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10544 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10545 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10546 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str10547 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10548 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str10549 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10550 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" +@.str10551 = private unnamed_addr constant [7 x i8] c" ret \00" +@.str10552 = private unnamed_addr constant [2 x i8] c" \00" +@.str10553 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10554 = private unnamed_addr constant [8 x i8] c"define \00" +@.str10555 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str10556 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10557 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str10558 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10559 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10560 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" +@.str10561 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str10562 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str10563 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" +@.str10564 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str10565 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str10566 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str10567 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10568 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str10569 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" +@.str10570 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10571 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10572 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str10573 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str10574 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10575 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10576 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str10577 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" +@.str10578 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str10579 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10580 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" +@.str10581 = private unnamed_addr constant [94 x i8] c"@.fmt_test_sum = private unnamed_addr constant [28 x i8] c\22== %d passed, %d failed ==\5C0A\5C00\22\0A\00" +@.str10582 = private unnamed_addr constant [86 x i8] c"@.fmt_expect = private unnamed_addr constant [22 x i8] c\22%s (got %d, want %d)\5C0A\5C00\22\0A\00" +@.str10583 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str10584 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str10585 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str10586 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" +@.str10587 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" +@.str10588 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str10589 = private unnamed_addr constant [8 x i8] c"ok - \00" +@.str10590 = private unnamed_addr constant [8 x i8] c"FAIL - \00" +@.str10591 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" +@.str10592 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" +@.str10593 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10594 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" +@.str10595 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10596 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10597 = private unnamed_addr constant [6 x i8] c"tpass\00" +@.str10598 = private unnamed_addr constant [6 x i8] c"tfail\00" +@.str10599 = private unnamed_addr constant [6 x i8] c"tdone\00" +@.str10600 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10601 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10602 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10603 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10604 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10605 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str10606 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10607 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10608 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10609 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10610 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str10611 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str10612 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str10613 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10614 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" +@.str10615 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str10616 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10617 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10618 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10619 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10620 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str10621 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str10622 = private unnamed_addr constant [3 x i8] c", \00" +@.str10623 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" +@.str10624 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10625 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10626 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10627 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10628 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str10629 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str10630 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10631 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" +@.str10632 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str10633 = private unnamed_addr constant [68 x i8] c"@.fmt_panic = private unnamed_addr constant [6 x i8] c\22%s%s\5C0A\5C00\22\0A\00" +@.str10634 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" +@.str10635 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" +@.str10636 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" +@.str10637 = private unnamed_addr constant [10 x i8] c" x i32] [\00" +@.str10638 = private unnamed_addr constant [3 x i8] c", \00" +@.str10639 = private unnamed_addr constant [5 x i8] c"i32 \00" +@.str10640 = private unnamed_addr constant [3 x i8] c"]\0A\00" +@.str10641 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" +@.str10642 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10643 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" +@.str10644 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10645 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" +@.str10646 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" +@.str10647 = private unnamed_addr constant [2 x i8] c"w\00" +@.str10648 = private unnamed_addr constant [73 x i8] c"@.cov_filefmt = private unnamed_addr constant [9 x i8] c\22FILE %s\5C0A\5C00\22\0A\00" +@.str10649 = private unnamed_addr constant [70 x i8] c"@.cov_rowfmt = private unnamed_addr constant [7 x i8] c\22%d %d\5C0A\5C00\22\0A\00" +@.str10650 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str10651 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" +@.str10652 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" +@.str10653 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" +@.str10654 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10655 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" +@.str10656 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" +@.str10657 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" +@.str10658 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" +@.str10659 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10660 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str10661 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" +@.str10662 = private unnamed_addr constant [8 x i8] c"write:\0A\00" +@.str10663 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" +@.str10664 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10665 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10666 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str10667 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" +@.str10668 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" +@.str10669 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10670 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" +@.str10671 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str10672 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" +@.str10673 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" +@.str10674 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" +@.str10675 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" +@.str10676 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" +@.str10677 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" +@.str10678 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" +@.str10679 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" +@.str10680 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10681 = private unnamed_addr constant [8 x i8] c"close:\0A\00" +@.str10682 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" +@.str10683 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str10684 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" +@.str10685 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" +@.str10686 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" +@.str10687 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10688 = private unnamed_addr constant [122 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @cov_init, ptr null }]\0A\00" +@.str10689 = private unnamed_addr constant [3 x i8] c"wb\00" +@.str10690 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str10691 = private unnamed_addr constant [2 x i8] c"/\00" +@.str10692 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" +@.str10693 = private unnamed_addr constant [8 x i8] c"VERSION\00" +@.str10694 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" +@.str10695 = private unnamed_addr constant [7 x i8] c"ludic \00" +@.str10696 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10697 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str10698 = private unnamed_addr constant [10 x i8] c"--version\00" +@.str10699 = private unnamed_addr constant [11 x i8] c"--windowed\00" +@.str10700 = private unnamed_addr constant [11 x i8] c"--headless\00" +@.str10701 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" +@.str10702 = private unnamed_addr constant [14 x i8] c"--emit-module\00" +@.str10703 = private unnamed_addr constant [6 x i8] c"--fmt\00" +@.str10704 = private unnamed_addr constant [13 x i8] c"--save-temps\00" +@.str10705 = private unnamed_addr constant [6 x i8] c"--run\00" +@.str10706 = private unnamed_addr constant [11 x i8] c"--coverage\00" +@.str10707 = private unnamed_addr constant [3 x i8] c"-o\00" +@.str10708 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str10709 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10710 = private unnamed_addr constant [90 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00" +@.str10711 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" +@.str10712 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str10713 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" +@.str10714 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str10715 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str10716 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" +@.str10717 = private unnamed_addr constant [6 x i8] c"clang\00" +@.str10718 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" +@.str10719 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str10720 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str10721 = private unnamed_addr constant [2 x i8] c" \00" +@.str10722 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" +@.str10723 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" +@.str10724 = private unnamed_addr constant [2 x i8] c" \00" +@.str10725 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" +@.str10726 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" +@.str10727 = private unnamed_addr constant [2 x i8] c" \00" +@.str10728 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" +@.str10729 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str10730 = private unnamed_addr constant [7 x i8] c"rm -f \00" +@.str10731 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" define i32 @fn_str_eq(ptr %a, ptr %b) { entry: br label %loop @@ -10369,6 +11055,856 @@ fin: store i8 0, ptr %tp ret ptr %out } +declare i32 @access(ptr, i32) +declare i32 @mkdir(ptr, i32) +declare i32 @remove(ptr) +declare i32 @rename(ptr, ptr) +declare ptr @opendir(ptr) +declare ptr @readdir(ptr) +declare i32 @closedir(ptr) +define ptr @fn_fs_dup(ptr %s, i32 %n) { +entry: + %nz = zext i32 %n to i64 + %t = add i64 %nz, 1 + %m = call ptr @malloc(i64 %t) + call ptr @memcpy(ptr %m, ptr %s, i64 %nz) + %end = getelementptr i8, ptr %m, i32 %n + store i8 0, ptr %end + ret ptr %m +} +define ptr @fn_fs_strdup(ptr %s) { +entry: + %l = call i64 @strlen(ptr %s) + %li = trunc i64 %l to i32 + %r = call ptr @fn_fs_dup(ptr %s, i32 %li) + ret ptr %r +} +define i32 @fn_fs_lastslash(ptr %s) { +entry: + %ip = alloca i32 + %rp = alloca i32 + store i32 0, ptr %ip + store i32 -1, ptr %rp + br label %lp +lp: + %i = load i32, ptr %ip + %p = getelementptr i8, ptr %s, i32 %i + %b = load i8, ptr %p + %c = zext i8 %b to i32 + %z = icmp eq i32 %c, 0 + br i1 %z, label %done, label %go +go: + %sl = icmp eq i32 %c, 47 + br i1 %sl, label %set, label %nx +set: + store i32 %i, ptr %rp + br label %nx +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +done: + %r = load i32, ptr %rp + ret i32 %r +} +define ptr @fn_path_join(ptr %a, ptr %b) { +entry: + %la64 = call i64 @strlen(ptr %a) + %la = trunc i64 %la64 to i32 + %lb64 = call i64 @strlen(ptr %b) + %lb = trunc i64 %lb64 to i32 + %b0 = load i8, ptr %b + %b0i = zext i8 %b0 to i32 + %babs = icmp eq i32 %b0i, 47 + br i1 %babs, label %retb, label %ka +retb: + %rb = call ptr @fn_fs_strdup(ptr %b) + ret ptr %rb +ka: + %aemp = icmp eq i32 %la, 0 + br i1 %aemp, label %retb2, label %kb +retb2: + %rb2 = call ptr @fn_fs_strdup(ptr %b) + ret ptr %rb2 +kb: + %bemp = icmp eq i32 %lb, 0 + br i1 %bemp, label %reta, label %chk +reta: + %ra = call ptr @fn_fs_strdup(ptr %a) + ret ptr %ra +chk: + %lam1 = sub i32 %la, 1 + %pe = getelementptr i8, ptr %a, i32 %lam1 + %ae = load i8, ptr %pe + %aei = zext i8 %ae to i32 + %ends = icmp eq i32 %aei, 47 + %sep = select i1 %ends, i32 0, i32 1 + %tot = add i32 %la, %lb + %tot2 = add i32 %tot, %sep + %tot3 = add i32 %tot2, 1 + %totz = zext i32 %tot3 to i64 + %m = call ptr @malloc(i64 %totz) + %laz = zext i32 %la to i64 + call ptr @memcpy(ptr %m, ptr %a, i64 %laz) + br i1 %ends, label %nosep, label %wsep +wsep: + %sp = getelementptr i8, ptr %m, i32 %la + store i8 47, ptr %sp + br label %after +nosep: + br label %after +after: + %boff = add i32 %la, %sep + %dp = getelementptr i8, ptr %m, i32 %boff + %lbz = zext i32 %lb to i64 + call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz) + %endoff = add i32 %boff, %lb + %ep = getelementptr i8, ptr %m, i32 %endoff + store i8 0, ptr %ep + ret ptr %m +} +define ptr @fn_path_base(ptr %s) { +entry: + %ls = call i32 @fn_fs_lastslash(ptr %s) + %none = icmp eq i32 %ls, -1 + br i1 %none, label %whole, label %tail +whole: + %r = call ptr @fn_fs_strdup(ptr %s) + ret ptr %r +tail: + %st = add i32 %ls, 1 + %p = getelementptr i8, ptr %s, i32 %st + %r2 = call ptr @fn_fs_strdup(ptr %p) + ret ptr %r2 +} +define ptr @fn_path_dir(ptr %s) { +entry: + %ls = call i32 @fn_fs_lastslash(ptr %s) + %none = icmp eq i32 %ls, -1 + br i1 %none, label %dot, label %chk0 +dot: + %d = call ptr @fn_fs_strdup(ptr @fn_str_dot) + ret ptr %d +chk0: + %isroot = icmp eq i32 %ls, 0 + br i1 %isroot, label %root, label %cut +root: + %r = call ptr @fn_fs_strdup(ptr @fn_str_slash) + ret ptr %r +cut: + %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls) + ret ptr %r2 +} +define ptr @fn_path_ext(ptr %s) { +entry: + %ls = call i32 @fn_fs_lastslash(ptr %s) + %bstart = add i32 %ls, 1 + %dp = alloca i32 + %ip = alloca i32 + store i32 -1, ptr %dp + store i32 %bstart, ptr %ip + br label %lp +lp: + %i = load i32, ptr %ip + %p = getelementptr i8, ptr %s, i32 %i + %b = load i8, ptr %p + %c = zext i8 %b to i32 + %z = icmp eq i32 %c, 0 + br i1 %z, label %done, label %go +go: + %dot = icmp eq i32 %c, 46 + br i1 %dot, label %sd, label %nx +sd: + store i32 %i, ptr %dp + br label %nx +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +done: + %d = load i32, ptr %dp + %nod = icmp eq i32 %d, -1 + br i1 %nod, label %empty, label %chkpos +empty: + %e = call ptr @fn_fs_strdup(ptr @fn_str_empty) + ret ptr %e +chkpos: + %atstart = icmp eq i32 %d, %bstart + br i1 %atstart, label %empty2, label %take +empty2: + %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty) + ret ptr %e2 +take: + %pp = getelementptr i8, ptr %s, i32 %d + %r = call ptr @fn_fs_strdup(ptr %pp) + ret ptr %r +} +define ptr @fn_path_stem(ptr %s) { +entry: + %base = call ptr @fn_path_base(ptr %s) + %ext = call ptr @fn_path_ext(ptr %s) + %bl64 = call i64 @strlen(ptr %base) + %bl = trunc i64 %bl64 to i32 + %el64 = call i64 @strlen(ptr %ext) + %el = trunc i64 %el64 to i32 + %keep = sub i32 %bl, %el + %r = call ptr @fn_fs_dup(ptr %base, i32 %keep) + ret ptr %r +} +define ptr @fn_path_norm(ptr %s) { +entry: + %len64 = call i64 @strlen(ptr %s) + %len = trunc i64 %len64 to i32 + %cap = add i32 %len, 2 + %capz = zext i32 %cap to i64 + %out = call ptr @malloc(i64 %capz) + %stz = mul i32 %cap, 4 + %stzz = zext i32 %stz to i64 + %segst = call ptr @malloc(i64 %stzz) + %b0 = load i8, ptr %s + %b0i = zext i8 %b0 to i32 + %abs = icmp eq i32 %b0i, 47 + %ip = alloca i32 + %op = alloca i32 + %scp = alloca i32 + store i32 0, ptr %ip + store i32 0, ptr %scp + br i1 %abs, label %ldr, label %noldr +ldr: + store i8 47, ptr %out + store i32 1, ptr %op + br label %seg +noldr: + store i32 0, ptr %op + br label %seg +seg: + br label %sksl +sksl: + %i = load i32, ptr %ip + %pp = getelementptr i8, ptr %s, i32 %i + %cc = load i8, ptr %pp + %cci = zext i8 %cc to i32 + %issl = icmp eq i32 %cci, 47 + br i1 %issl, label %adv, label %segstart +adv: + %i2 = add i32 %i, 1 + store i32 %i2, ptr %ip + br label %sksl +segstart: + %ss = load i32, ptr %ip + br label %scan +scan: + %j = load i32, ptr %ip + %pj = getelementptr i8, ptr %s, i32 %j + %cj = load i8, ptr %pj + %cji = zext i8 %cj to i32 + %endc = icmp eq i32 %cji, 0 + %slc = icmp eq i32 %cji, 47 + %stop = or i1 %endc, %slc + br i1 %stop, label %seghave, label %scanadv +scanadv: + %j1 = add i32 %j, 1 + store i32 %j1, ptr %ip + br label %scan +seghave: + %se = load i32, ptr %ip + %slen = sub i32 %se, %ss + %emptyseg = icmp eq i32 %slen, 0 + br i1 %emptyseg, label %atend, label %classify +classify: + %is1 = icmp eq i32 %slen, 1 + %c0p = getelementptr i8, ptr %s, i32 %ss + %c0 = load i8, ptr %c0p + %c0i = zext i8 %c0 to i32 + %isdotchar = icmp eq i32 %c0i, 46 + %isdot = and i1 %is1, %isdotchar + br i1 %isdot, label %contseg, label %chkdd +chkdd: + %is2 = icmp eq i32 %slen, 2 + %d0p = getelementptr i8, ptr %s, i32 %ss + %d0 = load i8, ptr %d0p + %d0i = zext i8 %d0 to i32 + %d1o = add i32 %ss, 1 + %d1p = getelementptr i8, ptr %s, i32 %d1o + %d1 = load i8, ptr %d1p + %d1i = zext i8 %d1 to i32 + %dd0 = icmp eq i32 %d0i, 46 + %dd1 = icmp eq i32 %d1i, 46 + %ddx = and i1 %dd0, %dd1 + %isdd = and i1 %is2, %ddx + br i1 %isdd, label %dotdot, label %keepseg +dotdot: + %sc = load i32, ptr %scp + %has = icmp sgt i32 %sc, 0 + br i1 %has, label %pop, label %chkrel +pop: + %sc1 = sub i32 %sc, 1 + %stp = getelementptr i32, ptr %segst, i32 %sc1 + %newop = load i32, ptr %stp + store i32 %newop, ptr %op + store i32 %sc1, ptr %scp + br label %contseg +chkrel: + br i1 %abs, label %contseg, label %keepseg +keepseg: + %sc2 = load i32, ptr %scp + %o0 = load i32, ptr %op + %stp2 = getelementptr i32, ptr %segst, i32 %sc2 + store i32 %o0, ptr %stp2 + %sc2n = add i32 %sc2, 1 + store i32 %sc2n, ptr %scp + %cpp = alloca i32 + store i32 %ss, ptr %cpp + br label %cpy +cpy: + %k = load i32, ptr %cpp + %klt = icmp slt i32 %k, %se + br i1 %klt, label %cpyb, label %cpysl +cpyb: + %skp = getelementptr i8, ptr %s, i32 %k + %sk = load i8, ptr %skp + %oo = load i32, ptr %op + %dkp = getelementptr i8, ptr %out, i32 %oo + store i8 %sk, ptr %dkp + %oo1 = add i32 %oo, 1 + store i32 %oo1, ptr %op + %k1 = add i32 %k, 1 + store i32 %k1, ptr %cpp + br label %cpy +cpysl: + %oc = load i32, ptr %op + %scp3 = getelementptr i8, ptr %out, i32 %oc + store i8 47, ptr %scp3 + %oc1 = add i32 %oc, 1 + store i32 %oc1, ptr %op + br label %contseg +contseg: + %ci = load i32, ptr %ip + %cip = getelementptr i8, ptr %s, i32 %ci + %cic = load i8, ptr %cip + %cici = zext i8 %cic to i32 + %atz = icmp eq i32 %cici, 0 + br i1 %atz, label %finish, label %seg +atend: + br label %finish +finish: + %fo = load i32, ptr %op + %gt1 = icmp sgt i32 %fo, 1 + br i1 %gt1, label %trimchk, label %fdefault +trimchk: + %lasto = sub i32 %fo, 1 + %lop = getelementptr i8, ptr %out, i32 %lasto + %lc = load i8, ptr %lop + %lci = zext i8 %lc to i32 + %istsl = icmp eq i32 %lci, 47 + br i1 %istsl, label %trim, label %term +trim: + store i32 %lasto, ptr %op + br label %term +fdefault: + br label %term +term: + %eo = load i32, ptr %op + %ez = icmp eq i32 %eo, 0 + br i1 %ez, label %emptyout, label %putnul +emptyout: + store i8 46, ptr %out + %e1 = getelementptr i8, ptr %out, i32 1 + store i8 0, ptr %e1 + ret ptr %out +putnul: + %ep = getelementptr i8, ptr %out, i32 %eo + store i8 0, ptr %ep + ret ptr %out +} +define i32 @fn_fs_exists(ptr %p) { +entry: + %r = call i32 @access(ptr %p, i32 0) + %ok = icmp eq i32 %r, 0 + %z = zext i1 %ok to i32 + ret i32 %z +} +define i32 @fn_fs_is_dir(ptr %p) { +entry: + %d = call ptr @opendir(ptr %p) + %nz = icmp ne ptr %d, null + br i1 %nz, label %yes, label %no +yes: + call i32 @closedir(ptr %d) + ret i32 1 +no: + ret i32 0 +} +define i32 @fn_fs_size(ptr %p) { +entry: + %f = call ptr @fopen(ptr %p, ptr @fn_str_rb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 -1 +ok: + call i32 @fseek(ptr %f, i64 0, i32 2) + %n = call i64 @ftell(ptr %f) + call i32 @fclose(ptr %f) + %ni = trunc i64 %n to i32 + ret i32 %ni +} +define ptr @fn_fs_readall(ptr %p, ptr %lenout) { +entry: + store i32 0, ptr %lenout + %f = call ptr @fopen(ptr %p, ptr @fn_str_rb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret ptr null +ok: + call i32 @fseek(ptr %f, i64 0, i32 2) + %n64 = call i64 @ftell(ptr %f) + call i32 @fseek(ptr %f, i64 0, i32 0) + %n = trunc i64 %n64 to i32 + %cap = add i64 %n64, 1 + %m = call ptr @malloc(i64 %cap) + %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f) + call i32 @fclose(ptr %f) + %rdi = trunc i64 %rd to i32 + %endp = getelementptr i8, ptr %m, i32 %rdi + store i8 0, ptr %endp + store i32 %rdi, ptr %lenout + ret ptr %m +} +define ptr @fn_fs_read_text(ptr %p) { +entry: + %lp = alloca i32 + %r = call ptr @fn_fs_readall(ptr %p, ptr %lp) + ret ptr %r +} +define i32 @fn_fs_write_text(ptr %p, ptr %s) { +entry: + %tmp = call ptr @fn_path_join_ext(ptr %p, ptr @fn_str_dottmp) + %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 0 +ok: + %n = call i64 @strlen(ptr %s) + %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) + call i32 @fclose(ptr %f) + %rr = call i32 @rename(ptr %tmp, ptr %p) + %ok2 = icmp eq i32 %rr, 0 + %z = zext i1 %ok2 to i32 + ret i32 %z +} +define ptr @fn_path_join_ext(ptr %a, ptr %b) { +entry: + %la = call i64 @strlen(ptr %a) + %lb = call i64 @strlen(ptr %b) + %sum = add i64 %la, %lb + %tot = add i64 %sum, 1 + %m = call ptr @malloc(i64 %tot) + call ptr @memcpy(ptr %m, ptr %a, i64 %la) + %m2 = getelementptr i8, ptr %m, i64 %la + call ptr @memcpy(ptr %m2, ptr %b, i64 %lb) + %ep = getelementptr i8, ptr %m, i64 %sum + store i8 0, ptr %ep + ret ptr %m +} +define i32 @fn_fs_append_text(ptr %p, ptr %s) { +entry: + %f = call ptr @fopen(ptr %p, ptr @fn_str_ab) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 0 +ok: + %n = call i64 @strlen(ptr %s) + call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) + call i32 @fclose(ptr %f) + ret i32 1 +} +define i32 @fn_fs_remove(ptr %p) { +entry: + %r = call i32 @remove(ptr %p) + %ok = icmp eq i32 %r, 0 + %z = zext i1 %ok to i32 + ret i32 %z +} +define i32 @fn_fs_copy(ptr %src, ptr %dst) { +entry: + %lp = alloca i32 + %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp) + %nz = icmp ne ptr %buf, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 0 +ok: + %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp) + %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) + %fnz = icmp ne ptr %f, null + br i1 %fnz, label %w, label %bad +w: + %n = load i32, ptr %lp + %nz64 = zext i32 %n to i64 + call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f) + call i32 @fclose(ptr %f) + %rr = call i32 @rename(ptr %tmp, ptr %dst) + %ok2 = icmp eq i32 %rr, 0 + %z = zext i1 %ok2 to i32 + ret i32 %z +} +define i32 @fn_fs_mkdir(ptr %p) { +entry: + %dup = call ptr @fn_fs_strdup(ptr %p) + %ip = alloca i32 + store i32 1, ptr %ip + br label %lp +lp: + %i = load i32, ptr %ip + %pp = getelementptr i8, ptr %dup, i32 %i + %c = load i8, ptr %pp + %ci = zext i8 %c to i32 + %z = icmp eq i32 %ci, 0 + br i1 %z, label %fin, label %go +go: + %sl = icmp eq i32 %ci, 47 + br i1 %sl, label %cut, label %nx +cut: + store i8 0, ptr %pp + call i32 @mkdir(ptr %dup, i32 493) + store i8 47, ptr %pp + br label %nx +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +fin: + call i32 @mkdir(ptr %dup, i32 493) + %r = call i32 @fn_fs_is_dir(ptr %p) + ret i32 %r +} +define ptr @fn_fs_list(ptr %path) { +entry: + %h = call ptr @malloc(i64 16) + %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0 + %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1 + %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2 + %datap = alloca ptr + %cntp = alloca i32 + %capp = alloca i32 + %init = call ptr @malloc(i64 128) + store ptr %init, ptr %datap + store i32 0, ptr %cntp + store i32 16, ptr %capp + %dir = call ptr @opendir(ptr %path) + %dnz = icmp ne ptr %dir, null + br i1 %dnz, label %rd, label %empty +rd: + %de = call ptr @readdir(ptr %dir) + %denz = icmp ne ptr %de, null + br i1 %denz, label %ent, label %closed +ent: + %namep = getelementptr i8, ptr %de, i32 21 + %n0 = load i8, ptr %namep + %n0i = zext i8 %n0 to i32 + %isdot0 = icmp eq i32 %n0i, 46 + br i1 %isdot0, label %chkdots, label %keep +chkdots: + %n1p = getelementptr i8, ptr %namep, i32 1 + %n1 = load i8, ptr %n1p + %n1i = zext i8 %n1 to i32 + %n1z = icmp eq i32 %n1i, 0 + br i1 %n1z, label %rd, label %chkdd +chkdd: + %isdot1 = icmp eq i32 %n1i, 46 + br i1 %isdot1, label %chkdd2, label %keep +chkdd2: + %n2p = getelementptr i8, ptr %namep, i32 2 + %n2 = load i8, ptr %n2p + %n2i = zext i8 %n2 to i32 + %n2z = icmp eq i32 %n2i, 0 + br i1 %n2z, label %rd, label %keep +keep: + %nm = call ptr @fn_fs_strdup(ptr %namep) + %cnt = load i32, ptr %cntp + %cap = load i32, ptr %capp + %full = icmp sge i32 %cnt, %cap + br i1 %full, label %grow, label %put +grow: + %nc = mul i32 %cap, 2 + store i32 %nc, ptr %capp + %ncz = zext i32 %nc to i64 + %nb = mul i64 %ncz, 8 + %old = load ptr, ptr %datap + %new = call ptr @realloc(ptr %old, i64 %nb) + store ptr %new, ptr %datap + br label %put +put: + %data = load ptr, ptr %datap + %cnt2 = load i32, ptr %cntp + %slot = getelementptr ptr, ptr %data, i32 %cnt2 + store ptr %nm, ptr %slot + %cnt3 = add i32 %cnt2, 1 + store i32 %cnt3, ptr %cntp + br label %rd +closed: + call i32 @closedir(ptr %dir) + br label %sortit +empty: + br label %sortit +sortit: + %fdata = load ptr, ptr %datap + %fcnt = load i32, ptr %cntp + %aip = alloca i32 + store i32 1, ptr %aip + br label %so +so: + %ai = load i32, ptr %aip + %ailt = icmp slt i32 %ai, %fcnt + br i1 %ailt, label %sob, label %sod +sob: + %kp = getelementptr ptr, ptr %fdata, i32 %ai + %key = load ptr, ptr %kp + %jp = alloca i32 + %aim1 = sub i32 %ai, 1 + store i32 %aim1, ptr %jp + br label %si +si: + %jj = load i32, ptr %jp + %jge = icmp sge i32 %jj, 0 + br i1 %jge, label %sic, label %sins +sic: + %ejp = getelementptr ptr, ptr %fdata, i32 %jj + %ej = load ptr, ptr %ejp + %cmp = call i32 @strcmp(ptr %ej, ptr %key) + %gt = icmp sgt i32 %cmp, 0 + br i1 %gt, label %shift, label %sins +shift: + %j1 = add i32 %jj, 1 + %dp1 = getelementptr ptr, ptr %fdata, i32 %j1 + store ptr %ej, ptr %dp1 + %jm = sub i32 %jj, 1 + store i32 %jm, ptr %jp + br label %si +sins: + %jf = load i32, ptr %jp + %jf1 = add i32 %jf, 1 + %insp = getelementptr ptr, ptr %fdata, i32 %jf1 + store ptr %key, ptr %insp + %ai1 = add i32 %ai, 1 + store i32 %ai1, ptr %aip + br label %so +sod: + store ptr %fdata, ptr %d0 + store i32 %fcnt, ptr %d1 + store i32 %fcnt, ptr %d2 + ret ptr %h +} +@.str10732 = private unnamed_addr constant [4 x i8] c"png\00" +@.str10733 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str10734 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str10735 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str10736 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str10737 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str10738 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str10739 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str10740 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str10741 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str10742 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str10743 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str10744 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str10745 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str10746 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str10747 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str10748 = private unnamed_addr constant [3 x i8] c"md\00" +@.str10749 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str10750 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str10751 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str10752 = private unnamed_addr constant [5 x i8] c"html\00" +@.str10753 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str10754 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str10755 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str10756 = private unnamed_addr constant [4 x i8] c"css\00" +@.str10757 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str10758 = private unnamed_addr constant [3 x i8] c"js\00" +@.str10759 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str10760 = private unnamed_addr constant [5 x i8] c"json\00" +@.str10761 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str10762 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str10763 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str10764 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str10765 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str10766 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str10767 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str10768 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str10769 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str10770 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str10771 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str10772 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str10773 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str10774 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str10775 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str10776 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str10777 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str10778 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str10779 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str10780 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" +@mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str10732, ptr @.str10733 }, { ptr, ptr } { ptr @.str10734, ptr @.str10735 }, { ptr, ptr } { ptr @.str10736, ptr @.str10737 }, { ptr, ptr } { ptr @.str10738, ptr @.str10739 }, { ptr, ptr } { ptr @.str10740, ptr @.str10741 }, { ptr, ptr } { ptr @.str10742, ptr @.str10743 }, { ptr, ptr } { ptr @.str10744, ptr @.str10745 }, { ptr, ptr } { ptr @.str10746, ptr @.str10747 }, { ptr, ptr } { ptr @.str10748, ptr @.str10749 }, { ptr, ptr } { ptr @.str10750, ptr @.str10751 }, { ptr, ptr } { ptr @.str10752, ptr @.str10753 }, { ptr, ptr } { ptr @.str10754, ptr @.str10755 }, { ptr, ptr } { ptr @.str10756, ptr @.str10757 }, { ptr, ptr } { ptr @.str10758, ptr @.str10759 }, { ptr, ptr } { ptr @.str10760, ptr @.str10761 }, { ptr, ptr } { ptr @.str10762, ptr @.str10763 }, { ptr, ptr } { ptr @.str10764, ptr @.str10765 }, { ptr, ptr } { ptr @.str10766, ptr @.str10767 }, { ptr, ptr } { ptr @.str10768, ptr @.str10769 }, { ptr, ptr } { ptr @.str10770, ptr @.str10771 }, { ptr, ptr } { ptr @.str10772, ptr @.str10773 }, { ptr, ptr } { ptr @.str10774, ptr @.str10775 }, { ptr, ptr } { ptr @.str10776, ptr @.str10777 }, { ptr, ptr } { ptr @.str10778, ptr @.str10779 }] +define ptr @fn_mime_of(ptr %path) { +entry: + %ext = call ptr @fn_path_ext(ptr %path) + %lc = call ptr @fn_mime_lc(ptr %ext) + %ip = alloca i32 + store i32 0, ptr %ip + br label %lp +lp: + %i = load i32, ptr %ip + %lt = icmp slt i32 %i, 24 + br i1 %lt, label %body, label %def +body: + %kp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0 + %k = load ptr, ptr %kp + %c = call i32 @strcmp(ptr %lc, ptr %k) + %eq = icmp eq i32 %c, 0 + br i1 %eq, label %hit, label %nx +hit: + %vp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1 + %v = load ptr, ptr %vp + %r = call ptr @fn_fs_strdup(ptr %v) + ret ptr %r +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +def: + %d = call ptr @fn_fs_strdup(ptr @.str10780) + ret ptr %d +} +define ptr @fn_mime_lc(ptr %s) { +entry: + %l64 = call i64 @strlen(ptr %s) + %l = trunc i64 %l64 to i32 + %cap = add i64 %l64, 1 + %out = call ptr @malloc(i64 %cap) + %b0 = load i8, ptr %s + %b0i = zext i8 %b0 to i32 + %isdot = icmp eq i32 %b0i, 46 + %start = select i1 %isdot, i32 1, i32 0 + %ip = alloca i32 + %op = alloca i32 + store i32 %start, ptr %ip + store i32 0, ptr %op + br label %lp +lp: + %i = load i32, ptr %ip + %pp = getelementptr i8, ptr %s, i32 %i + %c = load i8, ptr %pp + %ci = zext i8 %c to i32 + %z = icmp eq i32 %ci, 0 + br i1 %z, label %done, label %go +go: + %ua = icmp uge i32 %ci, 65 + %ub = icmp ule i32 %ci, 90 + %up = and i1 %ua, %ub + %lo = add i32 %ci, 32 + %m = select i1 %up, i32 %lo, i32 %ci + %mt = trunc i32 %m to i8 + %o = load i32, ptr %op + %dp = getelementptr i8, ptr %out, i32 %o + store i8 %mt, ptr %dp + %o1 = add i32 %o, 1 + store i32 %o1, ptr %op + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +done: + %fo = load i32, ptr %op + %ep = getelementptr i8, ptr %out, i32 %fo + store i8 0, ptr %ep + ret ptr %out +} +define ptr @fn_mime_sniff(ptr %path) { +entry: + %f = call ptr @fopen(ptr %path, ptr @fn_str_rb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %fallback +ok: + %buf = call ptr @malloc(i64 16) + %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f) + call i32 @fclose(ptr %f) + %rdi = trunc i64 %rd to i32 + %has4 = icmp sge i32 %rdi, 4 + br i1 %has4, label %chk, label %fallback +chk: + %b0p = getelementptr i8, ptr %buf, i32 0 + %b0 = load i8, ptr %b0p + %b0i = zext i8 %b0 to i32 + %b1p = getelementptr i8, ptr %buf, i32 1 + %b1 = load i8, ptr %b1p + %b1i = zext i8 %b1 to i32 + %b2p = getelementptr i8, ptr %buf, i32 2 + %b2 = load i8, ptr %b2p + %b2i = zext i8 %b2 to i32 + %b3p = getelementptr i8, ptr %buf, i32 3 + %b3 = load i8, ptr %b3p + %b3i = zext i8 %b3 to i32 + %p0 = icmp eq i32 %b0i, 137 + %p1 = icmp eq i32 %b1i, 80 + %p2 = icmp eq i32 %b2i, 78 + %p3 = icmp eq i32 %b3i, 71 + %pa = and i1 %p0, %p1 + %pb = and i1 %pa, %p2 + %pc = and i1 %pb, %p3 + br i1 %pc, label %png, label %cj +png: + %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png) + ret ptr %rpng +cj: + %j0 = icmp eq i32 %b0i, 255 + %j1 = icmp eq i32 %b1i, 216 + %j2 = icmp eq i32 %b2i, 255 + %ja = and i1 %j0, %j1 + %jb = and i1 %ja, %j2 + br i1 %jb, label %jpg, label %cg +jpg: + %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg) + ret ptr %rjpg +cg: + %g0 = icmp eq i32 %b0i, 71 + %g1 = icmp eq i32 %b1i, 73 + %g2 = icmp eq i32 %b2i, 70 + %ga = and i1 %g0, %g1 + %gb = and i1 %ga, %g2 + br i1 %gb, label %gif, label %cp +gif: + %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif) + ret ptr %rgif +cp: + %q0 = icmp eq i32 %b0i, 37 + %q1 = icmp eq i32 %b1i, 80 + %q2 = icmp eq i32 %b2i, 68 + %q3 = icmp eq i32 %b3i, 70 + %qa = and i1 %q0, %q1 + %qb = and i1 %qa, %q2 + %qc = and i1 %qb, %q3 + br i1 %qc, label %pdf, label %fallback +pdf: + %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf) + ret ptr %rpdf +fallback: + %r = call ptr @fn_mime_of(ptr %path) + ret ptr %r +} +@fn_str_rb = private unnamed_addr constant [3 x i8] c"rb\00" +@fn_str_wb = private unnamed_addr constant [3 x i8] c"wb\00" +@fn_str_ab = private unnamed_addr constant [3 x i8] c"ab\00" +@fn_str_dot = private unnamed_addr constant [2 x i8] c".\00" +@fn_str_slash = private unnamed_addr constant [2 x i8] c"/\00" +@fn_str_empty = private unnamed_addr constant [1 x i8] c"\00" +@fn_str_dottmp = private unnamed_addr constant [5 x i8] c".tmp\00" +@fn_sig_png = private unnamed_addr constant [10 x i8] c"image/png\00" +@fn_sig_jpg = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@fn_sig_gif = private unnamed_addr constant [10 x i8] c"image/gif\00" +@fn_sig_pdf = private unnamed_addr constant [16 x i8] c"application/pdf\00" define i32 @fn_char_is_digit(i32 %arg_c) { entry: %retval = alloca i32 @@ -13583,9 +15119,9 @@ entry: %t113 = alloca ptr %t125 = alloca ptr %t147 = alloca ptr - %t165 = alloca ptr - %t185 = alloca ptr - %t199 = alloca ptr + %t171 = alloca ptr + %t191 = alloca ptr + %t205 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 @@ -13826,81 +15362,92 @@ ifend33: %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then37, label %ifend39 then37: - %t162 = load i32, ptr @g_pi - %t163 = add i32 %t162, 1 - store i32 %t163, ptr @g_pi - %t164 = call ptr @fn_node(i32 52) - store ptr %t164, ptr %t165 - %t166 = load ptr, ptr %t165 - %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 8 - %t168 = load ptr, ptr %t6 - %t169 = getelementptr inbounds %Cmp_Tok, ptr %t168, i32 0, i32 3 - %t170 = load i32, ptr %t169 - store i32 %t170, ptr %t167 - %t171 = load ptr, ptr %t165 - %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 4 - %t173 = call ptr @fn_expr() - store ptr %t173, ptr %t172 - call void @fn_skipnl() - %t174 = call i32 @fn_is_id(ptr @.str26) - %t175 = icmp eq i32 %t174, 0 - %t176 = zext i1 %t175 to i32 - %t177 = icmp ne i32 %t176, 0 - br i1 %t177, label %then40, label %ifend42 -then40: - call void @fn_perr(ptr @.str27) - br label %ifend42 -ifend42: - %t178 = load i32, ptr @g_pi - %t179 = add i32 %t178, 1 - store i32 %t179, ptr @g_pi - call void @fn_skipnl() - %t180 = load ptr, ptr %t165 - %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 5 - %t182 = call ptr @fn_block() - store ptr %t182, ptr %t181 - %t183 = load ptr, ptr %t165 - store ptr %t183, ptr %retval + %t162 = call ptr @fn_parse_spawn() + store ptr %t162, ptr %retval br label %ret ifend39: - %t184 = call ptr @fn_node(i32 33) - store ptr %t184, ptr %t185 - %t186 = load ptr, ptr %t185 - %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 - %t188 = load ptr, ptr %t6 - %t189 = getelementptr inbounds %Cmp_Tok, ptr %t188, i32 0, i32 1 - %t190 = load ptr, ptr %t189 - store ptr %t190, ptr %t187 - %t191 = load i32, ptr @g_pi - %t192 = add i32 %t191, 1 - store i32 %t192, ptr @g_pi - %t193 = load ptr, ptr %t185 - store ptr %t193, ptr %retval + %t163 = load ptr, ptr %t6 + %t164 = getelementptr inbounds %Cmp_Tok, ptr %t163, i32 0, i32 1 + %t165 = load ptr, ptr %t164 + %t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str26) + %t167 = icmp ne i32 %t166, 0 + br i1 %t167, label %then40, label %ifend42 +then40: + %t168 = load i32, ptr @g_pi + %t169 = add i32 %t168, 1 + store i32 %t169, ptr @g_pi + %t170 = call ptr @fn_node(i32 52) + store ptr %t170, ptr %t171 + %t172 = load ptr, ptr %t171 + %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 8 + %t174 = load ptr, ptr %t6 + %t175 = getelementptr inbounds %Cmp_Tok, ptr %t174, i32 0, i32 3 + %t176 = load i32, ptr %t175 + store i32 %t176, ptr %t173 + %t177 = load ptr, ptr %t171 + %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 + %t179 = call ptr @fn_expr() + store ptr %t179, ptr %t178 + call void @fn_skipnl() + %t180 = call i32 @fn_is_id(ptr @.str27) + %t181 = icmp eq i32 %t180, 0 + %t182 = zext i1 %t181 to i32 + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then43, label %ifend45 +then43: + call void @fn_perr(ptr @.str28) + br label %ifend45 +ifend45: + %t184 = load i32, ptr @g_pi + %t185 = add i32 %t184, 1 + store i32 %t185, ptr @g_pi + call void @fn_skipnl() + %t186 = load ptr, ptr %t171 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 5 + %t188 = call ptr @fn_block() + store ptr %t188, ptr %t187 + %t189 = load ptr, ptr %t171 + store ptr %t189, ptr %retval + br label %ret +ifend42: + %t190 = call ptr @fn_node(i32 33) + store ptr %t190, ptr %t191 + %t192 = load ptr, ptr %t191 + %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 + %t194 = load ptr, ptr %t6 + %t195 = getelementptr inbounds %Cmp_Tok, ptr %t194, i32 0, i32 1 + %t196 = load ptr, ptr %t195 + store ptr %t196, ptr %t193 + %t197 = load i32, ptr @g_pi + %t198 = add i32 %t197, 1 + store i32 %t198, ptr @g_pi + %t199 = load ptr, ptr %t191 + store ptr %t199, ptr %retval br label %ret ifend21: - %t194 = call i32 @fn_is_op(ptr @.str28) - %t195 = icmp ne i32 %t194, 0 - br i1 %t195, label %then43, label %ifend45 -then43: - %t196 = load i32, ptr @g_pi - %t197 = add i32 %t196, 1 - store i32 %t197, ptr @g_pi + %t200 = call i32 @fn_is_op(ptr @.str29) + %t201 = icmp ne i32 %t200, 0 + br i1 %t201, label %then46, label %ifend48 +then46: + %t202 = load i32, ptr @g_pi + %t203 = add i32 %t202, 1 + store i32 %t203, ptr @g_pi call void @fn_skipnl() - %t198 = call ptr @fn_expr() - store ptr %t198, ptr %t199 + %t204 = call ptr @fn_expr() + store ptr %t204, ptr %t205 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str29) - %t200 = load ptr, ptr %t199 - store ptr %t200, ptr %retval + call void @fn_eat_op(ptr @.str30) + %t206 = load ptr, ptr %t205 + store ptr %t206, ptr %retval br label %ret -ifend45: - call void @fn_perr(ptr @.str30) - %t201 = call ptr @fn_node(i32 30) - store ptr %t201, ptr %retval +ifend48: + call void @fn_perr(ptr @.str31) + %t207 = call ptr @fn_node(i32 30) + store ptr %t207, ptr %retval br label %ret ret: - %t202 = load ptr, ptr %retval - ret ptr %t202 + %t208 = load ptr, ptr %retval + ret ptr %t208 } define ptr @fn_p_postfix() { @@ -13980,28 +15527,30 @@ entry: %t693 = alloca i32 %t694 = alloca i32 %t695 = alloca i32 - %t920 = alloca i32 - %t921 = alloca i32 - %t942 = alloca i32 - %t943 = alloca i32 - %t944 = alloca i32 - %t980 = alloca i32 - %t981 = alloca i32 - %t1010 = alloca i32 - %t1030 = alloca i32 - %t1050 = alloca i32 - %t1051 = alloca i32 - %t1072 = alloca i32 - %t1073 = alloca i32 - %t1074 = alloca i32 - %t1075 = alloca i32 - %t1076 = alloca i32 - %t1135 = alloca ptr - %t1141 = alloca ptr - %t1153 = alloca ptr - %t1164 = alloca ptr - %t1180 = alloca i32 - %t1190 = alloca i32 + %t696 = alloca i32 + %t930 = alloca i32 + %t931 = alloca i32 + %t952 = alloca i32 + %t953 = alloca i32 + %t954 = alloca i32 + %t990 = alloca i32 + %t991 = alloca i32 + %t1020 = alloca i32 + %t1040 = alloca i32 + %t1060 = alloca i32 + %t1061 = alloca i32 + %t1082 = alloca i32 + %t1083 = alloca i32 + %t1084 = alloca i32 + %t1085 = alloca i32 + %t1086 = alloca i32 + %t1140 = alloca i32 + %t1165 = alloca ptr + %t1171 = alloca ptr + %t1183 = alloca ptr + %t1194 = alloca ptr + %t1210 = alloca i32 + %t1220 = alloca i32 %t0 = call ptr @fn_p_primary() store ptr %t0, ptr %t1 br label %wcond0 @@ -14009,7 +15558,7 @@ wcond0: %t2 = icmp ne i32 1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: - %t3 = call i32 @fn_is_op(ptr @.str31) + %t3 = call i32 @fn_is_op(ptr @.str32) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %else4 then3: @@ -14045,7 +15594,7 @@ sc6: %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str32) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str33) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t16 @@ -14075,7 +15624,7 @@ sc11: %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 - %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str33) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str34) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 @@ -14086,7 +15635,7 @@ sc13: %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 - %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str34) + %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str35) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 @@ -14122,7 +15671,7 @@ sc18: %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 - %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str35) + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str36) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t78 @@ -14133,7 +15682,7 @@ sc20: %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str36) + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str37) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t78 @@ -14169,7 +15718,7 @@ sc25: %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 - %t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str37) + %t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str38) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t111 @@ -14180,7 +15729,7 @@ sc27: %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 - %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str38) + %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str39) %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t111 @@ -14197,7 +15746,7 @@ sc29: %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 - %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str39) + %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str40) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t110 @@ -14233,7 +15782,7 @@ sc34: %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 1 %t160 = load ptr, ptr %t159 - %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str40) + %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str41) %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t155 @@ -14244,7 +15793,7 @@ sc36: %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 - %t169 = call i32 @fn_str_eq(ptr %t168, ptr @.str41) + %t169 = call i32 @fn_str_eq(ptr %t168, ptr @.str42) %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t155 @@ -14261,7 +15810,7 @@ sc38: %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 - %t180 = call i32 @fn_str_eq(ptr %t179, ptr @.str42) + %t180 = call i32 @fn_str_eq(ptr %t179, ptr @.str43) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t154 @@ -14297,7 +15846,7 @@ sc43: %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 - %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str43) + %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str44) %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t188 @@ -14327,7 +15876,7 @@ sc48: %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1 %t222 = load ptr, ptr %t221 - %t223 = call i32 @fn_str_eq(ptr %t222, ptr @.str44) + %t223 = call i32 @fn_str_eq(ptr %t222, ptr @.str45) %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t208 @@ -14357,7 +15906,7 @@ sc53: %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 1 %t242 = load ptr, ptr %t241 - %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str45) + %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str46) %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t228 @@ -14387,7 +15936,7 @@ sc58: %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 - %t264 = call i32 @fn_str_eq(ptr %t263, ptr @.str46) + %t264 = call i32 @fn_str_eq(ptr %t263, ptr @.str47) %t265 = icmp ne i32 %t264, 0 %t266 = zext i1 %t265 to i32 store i32 %t266, ptr %t258 @@ -14398,7 +15947,7 @@ sc60: %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 1 %t271 = load ptr, ptr %t270 - %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str47) + %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str48) %t273 = icmp ne i32 %t272, 0 %t274 = zext i1 %t273 to i32 store i32 %t274, ptr %t258 @@ -14434,7 +15983,7 @@ sc65: %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 1 %t294 = load ptr, ptr %t293 - %t295 = call i32 @fn_str_eq(ptr %t294, ptr @.str48) + %t295 = call i32 @fn_str_eq(ptr %t294, ptr @.str49) %t296 = icmp ne i32 %t295, 0 %t297 = zext i1 %t296 to i32 store i32 %t297, ptr %t280 @@ -14464,7 +16013,7 @@ sc70: %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1 %t314 = load ptr, ptr %t313 - %t315 = call i32 @fn_str_eq(ptr %t314, ptr @.str49) + %t315 = call i32 @fn_str_eq(ptr %t314, ptr @.str50) %t316 = icmp ne i32 %t315, 0 %t317 = zext i1 %t316 to i32 store i32 %t317, ptr %t300 @@ -14494,7 +16043,7 @@ sc75: %t332 = load ptr, ptr %t331 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 1 %t334 = load ptr, ptr %t333 - %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str50) + %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str51) %t336 = icmp ne i32 %t335, 0 %t337 = zext i1 %t336 to i32 store i32 %t337, ptr %t320 @@ -14524,7 +16073,7 @@ sc80: %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1 %t355 = load ptr, ptr %t354 - %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str51) + %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str52) %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t341 @@ -14539,7 +16088,7 @@ sc82: %t370 = load ptr, ptr %t1 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 1 %t372 = load ptr, ptr %t371 - %t373 = call i32 @fn_str_eq(ptr %t372, ptr @.str52) + %t373 = call i32 @fn_str_eq(ptr %t372, ptr @.str53) %t374 = icmp ne i32 %t373, 0 %t375 = zext i1 %t374 to i32 store i32 %t375, ptr %t369 @@ -14548,7 +16097,7 @@ sc84: %t376 = load ptr, ptr %t1 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 1 %t378 = load ptr, ptr %t377 - %t379 = call i32 @fn_str_eq(ptr %t378, ptr @.str53) + %t379 = call i32 @fn_str_eq(ptr %t378, ptr @.str54) %t380 = icmp ne i32 %t379, 0 %t381 = zext i1 %t380 to i32 store i32 %t381, ptr %t369 @@ -14563,7 +16112,7 @@ sc86: %t385 = load ptr, ptr %t1 %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1 %t387 = load ptr, ptr %t386 - %t388 = call i32 @fn_str_eq(ptr %t387, ptr @.str54) + %t388 = call i32 @fn_str_eq(ptr %t387, ptr @.str55) %t389 = icmp ne i32 %t388, 0 %t390 = zext i1 %t389 to i32 store i32 %t390, ptr %t368 @@ -14578,7 +16127,7 @@ sc88: %t394 = load ptr, ptr %t1 %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 1 %t396 = load ptr, ptr %t395 - %t397 = call i32 @fn_str_eq(ptr %t396, ptr @.str55) + %t397 = call i32 @fn_str_eq(ptr %t396, ptr @.str56) %t398 = icmp ne i32 %t397, 0 %t399 = zext i1 %t398 to i32 store i32 %t399, ptr %t367 @@ -14593,7 +16142,7 @@ sc90: %t403 = load ptr, ptr %t1 %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 1 %t405 = load ptr, ptr %t404 - %t406 = call i32 @fn_str_eq(ptr %t405, ptr @.str56) + %t406 = call i32 @fn_str_eq(ptr %t405, ptr @.str57) %t407 = icmp ne i32 %t406, 0 %t408 = zext i1 %t407 to i32 store i32 %t408, ptr %t366 @@ -14608,7 +16157,7 @@ sc92: %t412 = load ptr, ptr %t1 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 1 %t414 = load ptr, ptr %t413 - %t415 = call i32 @fn_str_eq(ptr %t414, ptr @.str57) + %t415 = call i32 @fn_str_eq(ptr %t414, ptr @.str58) %t416 = icmp ne i32 %t415, 0 %t417 = zext i1 %t416 to i32 store i32 %t417, ptr %t365 @@ -14623,7 +16172,7 @@ sc94: %t421 = load ptr, ptr %t1 %t422 = getelementptr inbounds %Cmp_Node, ptr %t421, i32 0, i32 1 %t423 = load ptr, ptr %t422 - %t424 = call i32 @fn_str_eq(ptr %t423, ptr @.str58) + %t424 = call i32 @fn_str_eq(ptr %t423, ptr @.str59) %t425 = icmp ne i32 %t424, 0 %t426 = zext i1 %t425 to i32 store i32 %t426, ptr %t364 @@ -14638,7 +16187,7 @@ sc96: %t430 = load ptr, ptr %t1 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 1 %t432 = load ptr, ptr %t431 - %t433 = call i32 @fn_str_eq(ptr %t432, ptr @.str59) + %t433 = call i32 @fn_str_eq(ptr %t432, ptr @.str60) %t434 = icmp ne i32 %t433, 0 %t435 = zext i1 %t434 to i32 store i32 %t435, ptr %t363 @@ -14653,7 +16202,7 @@ sc98: %t439 = load ptr, ptr %t1 %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 1 %t441 = load ptr, ptr %t440 - %t442 = call i32 @fn_str_eq(ptr %t441, ptr @.str60) + %t442 = call i32 @fn_str_eq(ptr %t441, ptr @.str61) %t443 = icmp ne i32 %t442, 0 %t444 = zext i1 %t443 to i32 store i32 %t444, ptr %t362 @@ -14689,7 +16238,7 @@ sc103: %t462 = load ptr, ptr %t461 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 1 %t464 = load ptr, ptr %t463 - %t465 = call i32 @fn_str_eq(ptr %t464, ptr @.str61) + %t465 = call i32 @fn_str_eq(ptr %t464, ptr @.str62) %t466 = icmp ne i32 %t465, 0 %t467 = zext i1 %t466 to i32 store i32 %t467, ptr %t450 @@ -14719,7 +16268,7 @@ sc108: %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 1 %t485 = load ptr, ptr %t484 - %t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str62) + %t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str63) %t487 = icmp ne i32 %t486, 0 %t488 = zext i1 %t487 to i32 store i32 %t488, ptr %t471 @@ -14734,7 +16283,7 @@ sc110: %t493 = load ptr, ptr %t1 %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 1 %t495 = load ptr, ptr %t494 - %t496 = call i32 @fn_str_eq(ptr %t495, ptr @.str63) + %t496 = call i32 @fn_str_eq(ptr %t495, ptr @.str64) %t497 = icmp ne i32 %t496, 0 %t498 = zext i1 %t497 to i32 store i32 %t498, ptr %t492 @@ -14743,7 +16292,7 @@ sc112: %t499 = load ptr, ptr %t1 %t500 = getelementptr inbounds %Cmp_Node, ptr %t499, i32 0, i32 1 %t501 = load ptr, ptr %t500 - %t502 = call i32 @fn_str_eq(ptr %t501, ptr @.str64) + %t502 = call i32 @fn_str_eq(ptr %t501, ptr @.str65) %t503 = icmp ne i32 %t502, 0 %t504 = zext i1 %t503 to i32 store i32 %t504, ptr %t492 @@ -14780,7 +16329,7 @@ sc117: %t523 = load ptr, ptr %t522 %t524 = getelementptr inbounds %Cmp_Node, ptr %t523, i32 0, i32 1 %t525 = load ptr, ptr %t524 - %t526 = call i32 @fn_str_eq(ptr %t525, ptr @.str65) + %t526 = call i32 @fn_str_eq(ptr %t525, ptr @.str66) %t527 = icmp ne i32 %t526, 0 %t528 = zext i1 %t527 to i32 store i32 %t528, ptr %t511 @@ -14795,7 +16344,7 @@ sc119: %t543 = load ptr, ptr %t1 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 1 %t545 = load ptr, ptr %t544 - %t546 = call i32 @fn_str_eq(ptr %t545, ptr @.str66) + %t546 = call i32 @fn_str_eq(ptr %t545, ptr @.str67) %t547 = icmp ne i32 %t546, 0 %t548 = zext i1 %t547 to i32 store i32 %t548, ptr %t542 @@ -14804,7 +16353,7 @@ sc121: %t549 = load ptr, ptr %t1 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 1 %t551 = load ptr, ptr %t550 - %t552 = call i32 @fn_str_eq(ptr %t551, ptr @.str67) + %t552 = call i32 @fn_str_eq(ptr %t551, ptr @.str68) %t553 = icmp ne i32 %t552, 0 %t554 = zext i1 %t553 to i32 store i32 %t554, ptr %t542 @@ -14819,7 +16368,7 @@ sc123: %t558 = load ptr, ptr %t1 %t559 = getelementptr inbounds %Cmp_Node, ptr %t558, i32 0, i32 1 %t560 = load ptr, ptr %t559 - %t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str68) + %t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str69) %t562 = icmp ne i32 %t561, 0 %t563 = zext i1 %t562 to i32 store i32 %t563, ptr %t541 @@ -14834,7 +16383,7 @@ sc125: %t567 = load ptr, ptr %t1 %t568 = getelementptr inbounds %Cmp_Node, ptr %t567, i32 0, i32 1 %t569 = load ptr, ptr %t568 - %t570 = call i32 @fn_str_eq(ptr %t569, ptr @.str69) + %t570 = call i32 @fn_str_eq(ptr %t569, ptr @.str70) %t571 = icmp ne i32 %t570, 0 %t572 = zext i1 %t571 to i32 store i32 %t572, ptr %t540 @@ -14849,7 +16398,7 @@ sc127: %t576 = load ptr, ptr %t1 %t577 = getelementptr inbounds %Cmp_Node, ptr %t576, i32 0, i32 1 %t578 = load ptr, ptr %t577 - %t579 = call i32 @fn_str_eq(ptr %t578, ptr @.str70) + %t579 = call i32 @fn_str_eq(ptr %t578, ptr @.str71) %t580 = icmp ne i32 %t579, 0 %t581 = zext i1 %t580 to i32 store i32 %t581, ptr %t539 @@ -14864,7 +16413,7 @@ sc129: %t585 = load ptr, ptr %t1 %t586 = getelementptr inbounds %Cmp_Node, ptr %t585, i32 0, i32 1 %t587 = load ptr, ptr %t586 - %t588 = call i32 @fn_str_eq(ptr %t587, ptr @.str71) + %t588 = call i32 @fn_str_eq(ptr %t587, ptr @.str72) %t589 = icmp ne i32 %t588, 0 %t590 = zext i1 %t589 to i32 store i32 %t590, ptr %t538 @@ -14879,7 +16428,7 @@ sc131: %t594 = load ptr, ptr %t1 %t595 = getelementptr inbounds %Cmp_Node, ptr %t594, i32 0, i32 1 %t596 = load ptr, ptr %t595 - %t597 = call i32 @fn_str_eq(ptr %t596, ptr @.str72) + %t597 = call i32 @fn_str_eq(ptr %t596, ptr @.str73) %t598 = icmp ne i32 %t597, 0 %t599 = zext i1 %t598 to i32 store i32 %t599, ptr %t537 @@ -14894,7 +16443,7 @@ sc133: %t603 = load ptr, ptr %t1 %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 1 %t605 = load ptr, ptr %t604 - %t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str73) + %t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str74) %t607 = icmp ne i32 %t606, 0 %t608 = zext i1 %t607 to i32 store i32 %t608, ptr %t536 @@ -14909,7 +16458,7 @@ sc135: %t612 = load ptr, ptr %t1 %t613 = getelementptr inbounds %Cmp_Node, ptr %t612, i32 0, i32 1 %t614 = load ptr, ptr %t613 - %t615 = call i32 @fn_str_eq(ptr %t614, ptr @.str74) + %t615 = call i32 @fn_str_eq(ptr %t614, ptr @.str75) %t616 = icmp ne i32 %t615, 0 %t617 = zext i1 %t616 to i32 store i32 %t617, ptr %t535 @@ -14924,7 +16473,7 @@ sc137: %t621 = load ptr, ptr %t1 %t622 = getelementptr inbounds %Cmp_Node, ptr %t621, i32 0, i32 1 %t623 = load ptr, ptr %t622 - %t624 = call i32 @fn_str_eq(ptr %t623, ptr @.str75) + %t624 = call i32 @fn_str_eq(ptr %t623, ptr @.str76) %t625 = icmp ne i32 %t624, 0 %t626 = zext i1 %t625 to i32 store i32 %t626, ptr %t534 @@ -14939,7 +16488,7 @@ sc139: %t630 = load ptr, ptr %t1 %t631 = getelementptr inbounds %Cmp_Node, ptr %t630, i32 0, i32 1 %t632 = load ptr, ptr %t631 - %t633 = call i32 @fn_str_eq(ptr %t632, ptr @.str76) + %t633 = call i32 @fn_str_eq(ptr %t632, ptr @.str77) %t634 = icmp ne i32 %t633, 0 %t635 = zext i1 %t634 to i32 store i32 %t635, ptr %t533 @@ -14954,7 +16503,7 @@ sc141: %t639 = load ptr, ptr %t1 %t640 = getelementptr inbounds %Cmp_Node, ptr %t639, i32 0, i32 1 %t641 = load ptr, ptr %t640 - %t642 = call i32 @fn_str_eq(ptr %t641, ptr @.str77) + %t642 = call i32 @fn_str_eq(ptr %t641, ptr @.str78) %t643 = icmp ne i32 %t642, 0 %t644 = zext i1 %t643 to i32 store i32 %t644, ptr %t532 @@ -14990,7 +16539,7 @@ sc146: %t663 = load ptr, ptr %t662 %t664 = getelementptr inbounds %Cmp_Node, ptr %t663, i32 0, i32 1 %t665 = load ptr, ptr %t664 - %t666 = call i32 @fn_str_eq(ptr %t665, ptr @.str78) + %t666 = call i32 @fn_str_eq(ptr %t665, ptr @.str79) %t667 = icmp ne i32 %t666, 0 %t668 = zext i1 %t667 to i32 store i32 %t668, ptr %t651 @@ -15002,844 +16551,889 @@ scend147: store i32 %t671, ptr %t650 br i1 %t670, label %sc148, label %scend149 sc148: - %t696 = load ptr, ptr %t1 - %t697 = getelementptr inbounds %Cmp_Node, ptr %t696, i32 0, i32 1 - %t698 = load ptr, ptr %t697 - %t699 = call i32 @fn_str_eq(ptr %t698, ptr @.str79) - %t700 = icmp ne i32 %t699, 0 - %t701 = zext i1 %t700 to i32 - store i32 %t701, ptr %t695 - br i1 %t700, label %scend151, label %sc150 + %t697 = load ptr, ptr %t1 + %t698 = getelementptr inbounds %Cmp_Node, ptr %t697, i32 0, i32 1 + %t699 = load ptr, ptr %t698 + %t700 = call i32 @fn_str_eq(ptr %t699, ptr @.str80) + %t701 = icmp ne i32 %t700, 0 + %t702 = zext i1 %t701 to i32 + store i32 %t702, ptr %t696 + br i1 %t701, label %scend151, label %sc150 sc150: - %t702 = load ptr, ptr %t1 - %t703 = getelementptr inbounds %Cmp_Node, ptr %t702, i32 0, i32 1 - %t704 = load ptr, ptr %t703 - %t705 = call i32 @fn_str_eq(ptr %t704, ptr @.str80) - %t706 = icmp ne i32 %t705, 0 - %t707 = zext i1 %t706 to i32 - store i32 %t707, ptr %t695 + %t703 = load ptr, ptr %t1 + %t704 = getelementptr inbounds %Cmp_Node, ptr %t703, i32 0, i32 1 + %t705 = load ptr, ptr %t704 + %t706 = call i32 @fn_str_eq(ptr %t705, ptr @.str81) + %t707 = icmp ne i32 %t706, 0 + %t708 = zext i1 %t707 to i32 + store i32 %t708, ptr %t696 br label %scend151 scend151: - %t708 = load i32, ptr %t695 - %t709 = icmp ne i32 %t708, 0 - %t710 = zext i1 %t709 to i32 - store i32 %t710, ptr %t694 - br i1 %t709, label %scend153, label %sc152 + %t709 = load i32, ptr %t696 + %t710 = icmp ne i32 %t709, 0 + %t711 = zext i1 %t710 to i32 + store i32 %t711, ptr %t695 + br i1 %t710, label %scend153, label %sc152 sc152: - %t711 = load ptr, ptr %t1 - %t712 = getelementptr inbounds %Cmp_Node, ptr %t711, i32 0, i32 1 - %t713 = load ptr, ptr %t712 - %t714 = call i32 @fn_str_eq(ptr %t713, ptr @.str81) - %t715 = icmp ne i32 %t714, 0 - %t716 = zext i1 %t715 to i32 - store i32 %t716, ptr %t694 + %t712 = load ptr, ptr %t1 + %t713 = getelementptr inbounds %Cmp_Node, ptr %t712, i32 0, i32 1 + %t714 = load ptr, ptr %t713 + %t715 = call i32 @fn_str_eq(ptr %t714, ptr @.str82) + %t716 = icmp ne i32 %t715, 0 + %t717 = zext i1 %t716 to i32 + store i32 %t717, ptr %t695 br label %scend153 scend153: - %t717 = load i32, ptr %t694 - %t718 = icmp ne i32 %t717, 0 - %t719 = zext i1 %t718 to i32 - store i32 %t719, ptr %t693 - br i1 %t718, label %scend155, label %sc154 + %t718 = load i32, ptr %t695 + %t719 = icmp ne i32 %t718, 0 + %t720 = zext i1 %t719 to i32 + store i32 %t720, ptr %t694 + br i1 %t719, label %scend155, label %sc154 sc154: - %t720 = load ptr, ptr %t1 - %t721 = getelementptr inbounds %Cmp_Node, ptr %t720, i32 0, i32 1 - %t722 = load ptr, ptr %t721 - %t723 = call i32 @fn_str_eq(ptr %t722, ptr @.str82) - %t724 = icmp ne i32 %t723, 0 - %t725 = zext i1 %t724 to i32 - store i32 %t725, ptr %t693 + %t721 = load ptr, ptr %t1 + %t722 = getelementptr inbounds %Cmp_Node, ptr %t721, i32 0, i32 1 + %t723 = load ptr, ptr %t722 + %t724 = call i32 @fn_str_eq(ptr %t723, ptr @.str83) + %t725 = icmp ne i32 %t724, 0 + %t726 = zext i1 %t725 to i32 + store i32 %t726, ptr %t694 br label %scend155 scend155: - %t726 = load i32, ptr %t693 - %t727 = icmp ne i32 %t726, 0 - %t728 = zext i1 %t727 to i32 - store i32 %t728, ptr %t692 - br i1 %t727, label %scend157, label %sc156 + %t727 = load i32, ptr %t694 + %t728 = icmp ne i32 %t727, 0 + %t729 = zext i1 %t728 to i32 + store i32 %t729, ptr %t693 + br i1 %t728, label %scend157, label %sc156 sc156: - %t729 = load ptr, ptr %t1 - %t730 = getelementptr inbounds %Cmp_Node, ptr %t729, i32 0, i32 1 - %t731 = load ptr, ptr %t730 - %t732 = call i32 @fn_str_eq(ptr %t731, ptr @.str83) - %t733 = icmp ne i32 %t732, 0 - %t734 = zext i1 %t733 to i32 - store i32 %t734, ptr %t692 + %t730 = load ptr, ptr %t1 + %t731 = getelementptr inbounds %Cmp_Node, ptr %t730, i32 0, i32 1 + %t732 = load ptr, ptr %t731 + %t733 = call i32 @fn_str_eq(ptr %t732, ptr @.str84) + %t734 = icmp ne i32 %t733, 0 + %t735 = zext i1 %t734 to i32 + store i32 %t735, ptr %t693 br label %scend157 scend157: - %t735 = load i32, ptr %t692 - %t736 = icmp ne i32 %t735, 0 - %t737 = zext i1 %t736 to i32 - store i32 %t737, ptr %t691 - br i1 %t736, label %scend159, label %sc158 + %t736 = load i32, ptr %t693 + %t737 = icmp ne i32 %t736, 0 + %t738 = zext i1 %t737 to i32 + store i32 %t738, ptr %t692 + br i1 %t737, label %scend159, label %sc158 sc158: - %t738 = load ptr, ptr %t1 - %t739 = getelementptr inbounds %Cmp_Node, ptr %t738, i32 0, i32 1 - %t740 = load ptr, ptr %t739 - %t741 = call i32 @fn_str_eq(ptr %t740, ptr @.str84) - %t742 = icmp ne i32 %t741, 0 - %t743 = zext i1 %t742 to i32 - store i32 %t743, ptr %t691 + %t739 = load ptr, ptr %t1 + %t740 = getelementptr inbounds %Cmp_Node, ptr %t739, i32 0, i32 1 + %t741 = load ptr, ptr %t740 + %t742 = call i32 @fn_str_eq(ptr %t741, ptr @.str85) + %t743 = icmp ne i32 %t742, 0 + %t744 = zext i1 %t743 to i32 + store i32 %t744, ptr %t692 br label %scend159 scend159: - %t744 = load i32, ptr %t691 - %t745 = icmp ne i32 %t744, 0 - %t746 = zext i1 %t745 to i32 - store i32 %t746, ptr %t690 - br i1 %t745, label %scend161, label %sc160 + %t745 = load i32, ptr %t692 + %t746 = icmp ne i32 %t745, 0 + %t747 = zext i1 %t746 to i32 + store i32 %t747, ptr %t691 + br i1 %t746, label %scend161, label %sc160 sc160: - %t747 = load ptr, ptr %t1 - %t748 = getelementptr inbounds %Cmp_Node, ptr %t747, i32 0, i32 1 - %t749 = load ptr, ptr %t748 - %t750 = call i32 @fn_str_eq(ptr %t749, ptr @.str85) - %t751 = icmp ne i32 %t750, 0 - %t752 = zext i1 %t751 to i32 - store i32 %t752, ptr %t690 + %t748 = load ptr, ptr %t1 + %t749 = getelementptr inbounds %Cmp_Node, ptr %t748, i32 0, i32 1 + %t750 = load ptr, ptr %t749 + %t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str86) + %t752 = icmp ne i32 %t751, 0 + %t753 = zext i1 %t752 to i32 + store i32 %t753, ptr %t691 br label %scend161 scend161: - %t753 = load i32, ptr %t690 - %t754 = icmp ne i32 %t753, 0 - %t755 = zext i1 %t754 to i32 - store i32 %t755, ptr %t689 - br i1 %t754, label %scend163, label %sc162 + %t754 = load i32, ptr %t691 + %t755 = icmp ne i32 %t754, 0 + %t756 = zext i1 %t755 to i32 + store i32 %t756, ptr %t690 + br i1 %t755, label %scend163, label %sc162 sc162: - %t756 = load ptr, ptr %t1 - %t757 = getelementptr inbounds %Cmp_Node, ptr %t756, i32 0, i32 1 - %t758 = load ptr, ptr %t757 - %t759 = call i32 @fn_str_eq(ptr %t758, ptr @.str86) - %t760 = icmp ne i32 %t759, 0 - %t761 = zext i1 %t760 to i32 - store i32 %t761, ptr %t689 + %t757 = load ptr, ptr %t1 + %t758 = getelementptr inbounds %Cmp_Node, ptr %t757, i32 0, i32 1 + %t759 = load ptr, ptr %t758 + %t760 = call i32 @fn_str_eq(ptr %t759, ptr @.str87) + %t761 = icmp ne i32 %t760, 0 + %t762 = zext i1 %t761 to i32 + store i32 %t762, ptr %t690 br label %scend163 scend163: - %t762 = load i32, ptr %t689 - %t763 = icmp ne i32 %t762, 0 - %t764 = zext i1 %t763 to i32 - store i32 %t764, ptr %t688 - br i1 %t763, label %scend165, label %sc164 + %t763 = load i32, ptr %t690 + %t764 = icmp ne i32 %t763, 0 + %t765 = zext i1 %t764 to i32 + store i32 %t765, ptr %t689 + br i1 %t764, label %scend165, label %sc164 sc164: - %t765 = load ptr, ptr %t1 - %t766 = getelementptr inbounds %Cmp_Node, ptr %t765, i32 0, i32 1 - %t767 = load ptr, ptr %t766 - %t768 = call i32 @fn_str_eq(ptr %t767, ptr @.str87) - %t769 = icmp ne i32 %t768, 0 - %t770 = zext i1 %t769 to i32 - store i32 %t770, ptr %t688 + %t766 = load ptr, ptr %t1 + %t767 = getelementptr inbounds %Cmp_Node, ptr %t766, i32 0, i32 1 + %t768 = load ptr, ptr %t767 + %t769 = call i32 @fn_str_eq(ptr %t768, ptr @.str88) + %t770 = icmp ne i32 %t769, 0 + %t771 = zext i1 %t770 to i32 + store i32 %t771, ptr %t689 br label %scend165 scend165: - %t771 = load i32, ptr %t688 - %t772 = icmp ne i32 %t771, 0 - %t773 = zext i1 %t772 to i32 - store i32 %t773, ptr %t687 - br i1 %t772, label %scend167, label %sc166 + %t772 = load i32, ptr %t689 + %t773 = icmp ne i32 %t772, 0 + %t774 = zext i1 %t773 to i32 + store i32 %t774, ptr %t688 + br i1 %t773, label %scend167, label %sc166 sc166: - %t774 = load ptr, ptr %t1 - %t775 = getelementptr inbounds %Cmp_Node, ptr %t774, i32 0, i32 1 - %t776 = load ptr, ptr %t775 - %t777 = call i32 @fn_str_eq(ptr %t776, ptr @.str88) - %t778 = icmp ne i32 %t777, 0 - %t779 = zext i1 %t778 to i32 - store i32 %t779, ptr %t687 + %t775 = load ptr, ptr %t1 + %t776 = getelementptr inbounds %Cmp_Node, ptr %t775, i32 0, i32 1 + %t777 = load ptr, ptr %t776 + %t778 = call i32 @fn_str_eq(ptr %t777, ptr @.str89) + %t779 = icmp ne i32 %t778, 0 + %t780 = zext i1 %t779 to i32 + store i32 %t780, ptr %t688 br label %scend167 scend167: - %t780 = load i32, ptr %t687 - %t781 = icmp ne i32 %t780, 0 - %t782 = zext i1 %t781 to i32 - store i32 %t782, ptr %t686 - br i1 %t781, label %scend169, label %sc168 + %t781 = load i32, ptr %t688 + %t782 = icmp ne i32 %t781, 0 + %t783 = zext i1 %t782 to i32 + store i32 %t783, ptr %t687 + br i1 %t782, label %scend169, label %sc168 sc168: - %t783 = load ptr, ptr %t1 - %t784 = getelementptr inbounds %Cmp_Node, ptr %t783, i32 0, i32 1 - %t785 = load ptr, ptr %t784 - %t786 = call i32 @fn_str_eq(ptr %t785, ptr @.str89) - %t787 = icmp ne i32 %t786, 0 - %t788 = zext i1 %t787 to i32 - store i32 %t788, ptr %t686 + %t784 = load ptr, ptr %t1 + %t785 = getelementptr inbounds %Cmp_Node, ptr %t784, i32 0, i32 1 + %t786 = load ptr, ptr %t785 + %t787 = call i32 @fn_str_eq(ptr %t786, ptr @.str90) + %t788 = icmp ne i32 %t787, 0 + %t789 = zext i1 %t788 to i32 + store i32 %t789, ptr %t687 br label %scend169 scend169: - %t789 = load i32, ptr %t686 - %t790 = icmp ne i32 %t789, 0 - %t791 = zext i1 %t790 to i32 - store i32 %t791, ptr %t685 - br i1 %t790, label %scend171, label %sc170 + %t790 = load i32, ptr %t687 + %t791 = icmp ne i32 %t790, 0 + %t792 = zext i1 %t791 to i32 + store i32 %t792, ptr %t686 + br i1 %t791, label %scend171, label %sc170 sc170: - %t792 = load ptr, ptr %t1 - %t793 = getelementptr inbounds %Cmp_Node, ptr %t792, i32 0, i32 1 - %t794 = load ptr, ptr %t793 - %t795 = call i32 @fn_str_eq(ptr %t794, ptr @.str90) - %t796 = icmp ne i32 %t795, 0 - %t797 = zext i1 %t796 to i32 - store i32 %t797, ptr %t685 + %t793 = load ptr, ptr %t1 + %t794 = getelementptr inbounds %Cmp_Node, ptr %t793, i32 0, i32 1 + %t795 = load ptr, ptr %t794 + %t796 = call i32 @fn_str_eq(ptr %t795, ptr @.str91) + %t797 = icmp ne i32 %t796, 0 + %t798 = zext i1 %t797 to i32 + store i32 %t798, ptr %t686 br label %scend171 scend171: - %t798 = load i32, ptr %t685 - %t799 = icmp ne i32 %t798, 0 - %t800 = zext i1 %t799 to i32 - store i32 %t800, ptr %t684 - br i1 %t799, label %scend173, label %sc172 + %t799 = load i32, ptr %t686 + %t800 = icmp ne i32 %t799, 0 + %t801 = zext i1 %t800 to i32 + store i32 %t801, ptr %t685 + br i1 %t800, label %scend173, label %sc172 sc172: - %t801 = load ptr, ptr %t1 - %t802 = getelementptr inbounds %Cmp_Node, ptr %t801, i32 0, i32 1 - %t803 = load ptr, ptr %t802 - %t804 = call i32 @fn_str_eq(ptr %t803, ptr @.str91) - %t805 = icmp ne i32 %t804, 0 - %t806 = zext i1 %t805 to i32 - store i32 %t806, ptr %t684 + %t802 = load ptr, ptr %t1 + %t803 = getelementptr inbounds %Cmp_Node, ptr %t802, i32 0, i32 1 + %t804 = load ptr, ptr %t803 + %t805 = call i32 @fn_str_eq(ptr %t804, ptr @.str92) + %t806 = icmp ne i32 %t805, 0 + %t807 = zext i1 %t806 to i32 + store i32 %t807, ptr %t685 br label %scend173 scend173: - %t807 = load i32, ptr %t684 - %t808 = icmp ne i32 %t807, 0 - %t809 = zext i1 %t808 to i32 - store i32 %t809, ptr %t683 - br i1 %t808, label %scend175, label %sc174 + %t808 = load i32, ptr %t685 + %t809 = icmp ne i32 %t808, 0 + %t810 = zext i1 %t809 to i32 + store i32 %t810, ptr %t684 + br i1 %t809, label %scend175, label %sc174 sc174: - %t810 = load ptr, ptr %t1 - %t811 = getelementptr inbounds %Cmp_Node, ptr %t810, i32 0, i32 1 - %t812 = load ptr, ptr %t811 - %t813 = call i32 @fn_str_eq(ptr %t812, ptr @.str92) - %t814 = icmp ne i32 %t813, 0 - %t815 = zext i1 %t814 to i32 - store i32 %t815, ptr %t683 + %t811 = load ptr, ptr %t1 + %t812 = getelementptr inbounds %Cmp_Node, ptr %t811, i32 0, i32 1 + %t813 = load ptr, ptr %t812 + %t814 = call i32 @fn_str_eq(ptr %t813, ptr @.str93) + %t815 = icmp ne i32 %t814, 0 + %t816 = zext i1 %t815 to i32 + store i32 %t816, ptr %t684 br label %scend175 scend175: - %t816 = load i32, ptr %t683 - %t817 = icmp ne i32 %t816, 0 - %t818 = zext i1 %t817 to i32 - store i32 %t818, ptr %t682 - br i1 %t817, label %scend177, label %sc176 + %t817 = load i32, ptr %t684 + %t818 = icmp ne i32 %t817, 0 + %t819 = zext i1 %t818 to i32 + store i32 %t819, ptr %t683 + br i1 %t818, label %scend177, label %sc176 sc176: - %t819 = load ptr, ptr %t1 - %t820 = getelementptr inbounds %Cmp_Node, ptr %t819, i32 0, i32 1 - %t821 = load ptr, ptr %t820 - %t822 = call i32 @fn_str_eq(ptr %t821, ptr @.str93) - %t823 = icmp ne i32 %t822, 0 - %t824 = zext i1 %t823 to i32 - store i32 %t824, ptr %t682 + %t820 = load ptr, ptr %t1 + %t821 = getelementptr inbounds %Cmp_Node, ptr %t820, i32 0, i32 1 + %t822 = load ptr, ptr %t821 + %t823 = call i32 @fn_str_eq(ptr %t822, ptr @.str94) + %t824 = icmp ne i32 %t823, 0 + %t825 = zext i1 %t824 to i32 + store i32 %t825, ptr %t683 br label %scend177 scend177: - %t825 = load i32, ptr %t682 - %t826 = icmp ne i32 %t825, 0 - %t827 = zext i1 %t826 to i32 - store i32 %t827, ptr %t681 - br i1 %t826, label %scend179, label %sc178 + %t826 = load i32, ptr %t683 + %t827 = icmp ne i32 %t826, 0 + %t828 = zext i1 %t827 to i32 + store i32 %t828, ptr %t682 + br i1 %t827, label %scend179, label %sc178 sc178: - %t828 = load ptr, ptr %t1 - %t829 = getelementptr inbounds %Cmp_Node, ptr %t828, i32 0, i32 1 - %t830 = load ptr, ptr %t829 - %t831 = call i32 @fn_str_eq(ptr %t830, ptr @.str94) - %t832 = icmp ne i32 %t831, 0 - %t833 = zext i1 %t832 to i32 - store i32 %t833, ptr %t681 + %t829 = load ptr, ptr %t1 + %t830 = getelementptr inbounds %Cmp_Node, ptr %t829, i32 0, i32 1 + %t831 = load ptr, ptr %t830 + %t832 = call i32 @fn_str_eq(ptr %t831, ptr @.str95) + %t833 = icmp ne i32 %t832, 0 + %t834 = zext i1 %t833 to i32 + store i32 %t834, ptr %t682 br label %scend179 scend179: - %t834 = load i32, ptr %t681 - %t835 = icmp ne i32 %t834, 0 - %t836 = zext i1 %t835 to i32 - store i32 %t836, ptr %t680 - br i1 %t835, label %scend181, label %sc180 + %t835 = load i32, ptr %t682 + %t836 = icmp ne i32 %t835, 0 + %t837 = zext i1 %t836 to i32 + store i32 %t837, ptr %t681 + br i1 %t836, label %scend181, label %sc180 sc180: - %t837 = load ptr, ptr %t1 - %t838 = getelementptr inbounds %Cmp_Node, ptr %t837, i32 0, i32 1 - %t839 = load ptr, ptr %t838 - %t840 = call i32 @fn_str_eq(ptr %t839, ptr @.str95) - %t841 = icmp ne i32 %t840, 0 - %t842 = zext i1 %t841 to i32 - store i32 %t842, ptr %t680 + %t838 = load ptr, ptr %t1 + %t839 = getelementptr inbounds %Cmp_Node, ptr %t838, i32 0, i32 1 + %t840 = load ptr, ptr %t839 + %t841 = call i32 @fn_str_eq(ptr %t840, ptr @.str96) + %t842 = icmp ne i32 %t841, 0 + %t843 = zext i1 %t842 to i32 + store i32 %t843, ptr %t681 br label %scend181 scend181: - %t843 = load i32, ptr %t680 - %t844 = icmp ne i32 %t843, 0 - %t845 = zext i1 %t844 to i32 - store i32 %t845, ptr %t679 - br i1 %t844, label %scend183, label %sc182 + %t844 = load i32, ptr %t681 + %t845 = icmp ne i32 %t844, 0 + %t846 = zext i1 %t845 to i32 + store i32 %t846, ptr %t680 + br i1 %t845, label %scend183, label %sc182 sc182: - %t846 = load ptr, ptr %t1 - %t847 = getelementptr inbounds %Cmp_Node, ptr %t846, i32 0, i32 1 - %t848 = load ptr, ptr %t847 - %t849 = call i32 @fn_str_eq(ptr %t848, ptr @.str96) - %t850 = icmp ne i32 %t849, 0 - %t851 = zext i1 %t850 to i32 - store i32 %t851, ptr %t679 + %t847 = load ptr, ptr %t1 + %t848 = getelementptr inbounds %Cmp_Node, ptr %t847, i32 0, i32 1 + %t849 = load ptr, ptr %t848 + %t850 = call i32 @fn_str_eq(ptr %t849, ptr @.str97) + %t851 = icmp ne i32 %t850, 0 + %t852 = zext i1 %t851 to i32 + store i32 %t852, ptr %t680 br label %scend183 scend183: - %t852 = load i32, ptr %t679 - %t853 = icmp ne i32 %t852, 0 - %t854 = zext i1 %t853 to i32 - store i32 %t854, ptr %t678 - br i1 %t853, label %scend185, label %sc184 + %t853 = load i32, ptr %t680 + %t854 = icmp ne i32 %t853, 0 + %t855 = zext i1 %t854 to i32 + store i32 %t855, ptr %t679 + br i1 %t854, label %scend185, label %sc184 sc184: - %t855 = load ptr, ptr %t1 - %t856 = getelementptr inbounds %Cmp_Node, ptr %t855, i32 0, i32 1 - %t857 = load ptr, ptr %t856 - %t858 = call i32 @fn_str_eq(ptr %t857, ptr @.str97) - %t859 = icmp ne i32 %t858, 0 - %t860 = zext i1 %t859 to i32 - store i32 %t860, ptr %t678 + %t856 = load ptr, ptr %t1 + %t857 = getelementptr inbounds %Cmp_Node, ptr %t856, i32 0, i32 1 + %t858 = load ptr, ptr %t857 + %t859 = call i32 @fn_str_eq(ptr %t858, ptr @.str98) + %t860 = icmp ne i32 %t859, 0 + %t861 = zext i1 %t860 to i32 + store i32 %t861, ptr %t679 br label %scend185 scend185: - %t861 = load i32, ptr %t678 - %t862 = icmp ne i32 %t861, 0 - %t863 = zext i1 %t862 to i32 - store i32 %t863, ptr %t677 - br i1 %t862, label %scend187, label %sc186 + %t862 = load i32, ptr %t679 + %t863 = icmp ne i32 %t862, 0 + %t864 = zext i1 %t863 to i32 + store i32 %t864, ptr %t678 + br i1 %t863, label %scend187, label %sc186 sc186: - %t864 = load ptr, ptr %t1 - %t865 = getelementptr inbounds %Cmp_Node, ptr %t864, i32 0, i32 1 - %t866 = load ptr, ptr %t865 - %t867 = call i32 @fn_str_eq(ptr %t866, ptr @.str98) - %t868 = icmp ne i32 %t867, 0 - %t869 = zext i1 %t868 to i32 - store i32 %t869, ptr %t677 + %t865 = load ptr, ptr %t1 + %t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 1 + %t867 = load ptr, ptr %t866 + %t868 = call i32 @fn_str_eq(ptr %t867, ptr @.str99) + %t869 = icmp ne i32 %t868, 0 + %t870 = zext i1 %t869 to i32 + store i32 %t870, ptr %t678 br label %scend187 scend187: - %t870 = load i32, ptr %t677 - %t871 = icmp ne i32 %t870, 0 - %t872 = zext i1 %t871 to i32 - store i32 %t872, ptr %t676 - br i1 %t871, label %scend189, label %sc188 + %t871 = load i32, ptr %t678 + %t872 = icmp ne i32 %t871, 0 + %t873 = zext i1 %t872 to i32 + store i32 %t873, ptr %t677 + br i1 %t872, label %scend189, label %sc188 sc188: - %t873 = load ptr, ptr %t1 - %t874 = getelementptr inbounds %Cmp_Node, ptr %t873, i32 0, i32 1 - %t875 = load ptr, ptr %t874 - %t876 = call i32 @fn_str_eq(ptr %t875, ptr @.str99) - %t877 = icmp ne i32 %t876, 0 - %t878 = zext i1 %t877 to i32 - store i32 %t878, ptr %t676 + %t874 = load ptr, ptr %t1 + %t875 = getelementptr inbounds %Cmp_Node, ptr %t874, i32 0, i32 1 + %t876 = load ptr, ptr %t875 + %t877 = call i32 @fn_str_eq(ptr %t876, ptr @.str100) + %t878 = icmp ne i32 %t877, 0 + %t879 = zext i1 %t878 to i32 + store i32 %t879, ptr %t677 br label %scend189 scend189: - %t879 = load i32, ptr %t676 - %t880 = icmp ne i32 %t879, 0 - %t881 = zext i1 %t880 to i32 - store i32 %t881, ptr %t675 - br i1 %t880, label %scend191, label %sc190 + %t880 = load i32, ptr %t677 + %t881 = icmp ne i32 %t880, 0 + %t882 = zext i1 %t881 to i32 + store i32 %t882, ptr %t676 + br i1 %t881, label %scend191, label %sc190 sc190: - %t882 = load ptr, ptr %t1 - %t883 = getelementptr inbounds %Cmp_Node, ptr %t882, i32 0, i32 1 - %t884 = load ptr, ptr %t883 - %t885 = call i32 @fn_str_eq(ptr %t884, ptr @.str100) - %t886 = icmp ne i32 %t885, 0 - %t887 = zext i1 %t886 to i32 - store i32 %t887, ptr %t675 + %t883 = load ptr, ptr %t1 + %t884 = getelementptr inbounds %Cmp_Node, ptr %t883, i32 0, i32 1 + %t885 = load ptr, ptr %t884 + %t886 = call i32 @fn_str_eq(ptr %t885, ptr @.str101) + %t887 = icmp ne i32 %t886, 0 + %t888 = zext i1 %t887 to i32 + store i32 %t888, ptr %t676 br label %scend191 scend191: - %t888 = load i32, ptr %t675 - %t889 = icmp ne i32 %t888, 0 - %t890 = zext i1 %t889 to i32 - store i32 %t890, ptr %t674 - br i1 %t889, label %scend193, label %sc192 + %t889 = load i32, ptr %t676 + %t890 = icmp ne i32 %t889, 0 + %t891 = zext i1 %t890 to i32 + store i32 %t891, ptr %t675 + br i1 %t890, label %scend193, label %sc192 sc192: - %t891 = load ptr, ptr %t1 - %t892 = getelementptr inbounds %Cmp_Node, ptr %t891, i32 0, i32 1 - %t893 = load ptr, ptr %t892 - %t894 = call i32 @fn_str_eq(ptr %t893, ptr @.str101) - %t895 = icmp ne i32 %t894, 0 - %t896 = zext i1 %t895 to i32 - store i32 %t896, ptr %t674 + %t892 = load ptr, ptr %t1 + %t893 = getelementptr inbounds %Cmp_Node, ptr %t892, i32 0, i32 1 + %t894 = load ptr, ptr %t893 + %t895 = call i32 @fn_str_eq(ptr %t894, ptr @.str102) + %t896 = icmp ne i32 %t895, 0 + %t897 = zext i1 %t896 to i32 + store i32 %t897, ptr %t675 br label %scend193 scend193: - %t897 = load i32, ptr %t674 - %t898 = icmp ne i32 %t897, 0 - %t899 = zext i1 %t898 to i32 - store i32 %t899, ptr %t673 - br i1 %t898, label %scend195, label %sc194 + %t898 = load i32, ptr %t675 + %t899 = icmp ne i32 %t898, 0 + %t900 = zext i1 %t899 to i32 + store i32 %t900, ptr %t674 + br i1 %t899, label %scend195, label %sc194 sc194: - %t900 = load ptr, ptr %t1 - %t901 = getelementptr inbounds %Cmp_Node, ptr %t900, i32 0, i32 1 - %t902 = load ptr, ptr %t901 - %t903 = call i32 @fn_str_eq(ptr %t902, ptr @.str102) - %t904 = icmp ne i32 %t903, 0 - %t905 = zext i1 %t904 to i32 - store i32 %t905, ptr %t673 + %t901 = load ptr, ptr %t1 + %t902 = getelementptr inbounds %Cmp_Node, ptr %t901, i32 0, i32 1 + %t903 = load ptr, ptr %t902 + %t904 = call i32 @fn_str_eq(ptr %t903, ptr @.str103) + %t905 = icmp ne i32 %t904, 0 + %t906 = zext i1 %t905 to i32 + store i32 %t906, ptr %t674 br label %scend195 scend195: - %t906 = load i32, ptr %t673 - %t907 = icmp ne i32 %t906, 0 - %t908 = zext i1 %t907 to i32 - store i32 %t908, ptr %t672 - br i1 %t907, label %scend197, label %sc196 + %t907 = load i32, ptr %t674 + %t908 = icmp ne i32 %t907, 0 + %t909 = zext i1 %t908 to i32 + store i32 %t909, ptr %t673 + br i1 %t908, label %scend197, label %sc196 sc196: - %t909 = load ptr, ptr %t1 - %t910 = getelementptr inbounds %Cmp_Node, ptr %t909, i32 0, i32 1 - %t911 = load ptr, ptr %t910 - %t912 = call i32 @fn_str_eq(ptr %t911, ptr @.str103) - %t913 = icmp ne i32 %t912, 0 - %t914 = zext i1 %t913 to i32 - store i32 %t914, ptr %t672 + %t910 = load ptr, ptr %t1 + %t911 = getelementptr inbounds %Cmp_Node, ptr %t910, i32 0, i32 1 + %t912 = load ptr, ptr %t911 + %t913 = call i32 @fn_str_eq(ptr %t912, ptr @.str104) + %t914 = icmp ne i32 %t913, 0 + %t915 = zext i1 %t914 to i32 + store i32 %t915, ptr %t673 br label %scend197 scend197: - %t915 = load i32, ptr %t672 - %t916 = icmp ne i32 %t915, 0 - %t917 = zext i1 %t916 to i32 - store i32 %t917, ptr %t650 + %t916 = load i32, ptr %t673 + %t917 = icmp ne i32 %t916, 0 + %t918 = zext i1 %t917 to i32 + store i32 %t918, ptr %t672 + br i1 %t917, label %scend199, label %sc198 +sc198: + %t919 = load ptr, ptr %t1 + %t920 = getelementptr inbounds %Cmp_Node, ptr %t919, i32 0, i32 1 + %t921 = load ptr, ptr %t920 + %t922 = call i32 @fn_str_eq(ptr %t921, ptr @.str105) + %t923 = icmp ne i32 %t922, 0 + %t924 = zext i1 %t923 to i32 + store i32 %t924, ptr %t672 + br label %scend199 +scend199: + %t925 = load i32, ptr %t672 + %t926 = icmp ne i32 %t925, 0 + %t927 = zext i1 %t926 to i32 + store i32 %t927, ptr %t650 br label %scend149 scend149: - %t918 = load i32, ptr %t650 - %t919 = icmp ne i32 %t918, 0 - br i1 %t919, label %then198, label %ifend200 -then198: - store i32 1, ptr @g_g_uses_input - br label %ifend200 -ifend200: - %t922 = load ptr, ptr %t1 - %t923 = getelementptr inbounds %Cmp_Node, ptr %t922, i32 0, i32 4 - %t924 = load ptr, ptr %t923 - %t925 = getelementptr inbounds %Cmp_Node, ptr %t924, i32 0, i32 0 - %t926 = load i32, ptr %t925 - %t927 = icmp eq i32 %t926, 33 - %t928 = zext i1 %t927 to i32 + %t928 = load i32, ptr %t650 %t929 = icmp ne i32 %t928, 0 - %t930 = zext i1 %t929 to i32 - store i32 %t930, ptr %t921 - br i1 %t929, label %sc201, label %scend202 -sc201: - %t931 = load ptr, ptr %t1 - %t932 = getelementptr inbounds %Cmp_Node, ptr %t931, i32 0, i32 4 - %t933 = load ptr, ptr %t932 - %t934 = getelementptr inbounds %Cmp_Node, ptr %t933, i32 0, i32 1 - %t935 = load ptr, ptr %t934 - %t936 = call i32 @fn_str_eq(ptr %t935, ptr @.str104) - %t937 = icmp ne i32 %t936, 0 + br i1 %t929, label %then200, label %ifend202 +then200: + store i32 1, ptr @g_g_uses_input + br label %ifend202 +ifend202: + %t932 = load ptr, ptr %t1 + %t933 = getelementptr inbounds %Cmp_Node, ptr %t932, i32 0, i32 4 + %t934 = load ptr, ptr %t933 + %t935 = getelementptr inbounds %Cmp_Node, ptr %t934, i32 0, i32 0 + %t936 = load i32, ptr %t935 + %t937 = icmp eq i32 %t936, 33 %t938 = zext i1 %t937 to i32 - store i32 %t938, ptr %t921 - br label %scend202 -scend202: - %t939 = load i32, ptr %t921 - %t940 = icmp ne i32 %t939, 0 - %t941 = zext i1 %t940 to i32 - store i32 %t941, ptr %t920 - br i1 %t940, label %sc203, label %scend204 + %t939 = icmp ne i32 %t938, 0 + %t940 = zext i1 %t939 to i32 + store i32 %t940, ptr %t931 + br i1 %t939, label %sc203, label %scend204 sc203: - %t945 = load ptr, ptr %t1 - %t946 = getelementptr inbounds %Cmp_Node, ptr %t945, i32 0, i32 1 - %t947 = load ptr, ptr %t946 - %t948 = call i32 @fn_str_eq(ptr %t947, ptr @.str105) - %t949 = icmp ne i32 %t948, 0 - %t950 = zext i1 %t949 to i32 - store i32 %t950, ptr %t944 - br i1 %t949, label %scend206, label %sc205 -sc205: - %t951 = load ptr, ptr %t1 - %t952 = getelementptr inbounds %Cmp_Node, ptr %t951, i32 0, i32 1 - %t953 = load ptr, ptr %t952 - %t954 = call i32 @fn_str_eq(ptr %t953, ptr @.str106) - %t955 = icmp ne i32 %t954, 0 - %t956 = zext i1 %t955 to i32 - store i32 %t956, ptr %t944 - br label %scend206 -scend206: - %t957 = load i32, ptr %t944 - %t958 = icmp ne i32 %t957, 0 - %t959 = zext i1 %t958 to i32 - store i32 %t959, ptr %t943 - br i1 %t958, label %scend208, label %sc207 -sc207: - %t960 = load ptr, ptr %t1 - %t961 = getelementptr inbounds %Cmp_Node, ptr %t960, i32 0, i32 1 - %t962 = load ptr, ptr %t961 - %t963 = call i32 @fn_str_eq(ptr %t962, ptr @.str107) - %t964 = icmp ne i32 %t963, 0 - %t965 = zext i1 %t964 to i32 - store i32 %t965, ptr %t943 - br label %scend208 -scend208: - %t966 = load i32, ptr %t943 - %t967 = icmp ne i32 %t966, 0 - %t968 = zext i1 %t967 to i32 - store i32 %t968, ptr %t942 - br i1 %t967, label %scend210, label %sc209 -sc209: - %t969 = load ptr, ptr %t1 - %t970 = getelementptr inbounds %Cmp_Node, ptr %t969, i32 0, i32 1 - %t971 = load ptr, ptr %t970 - %t972 = call i32 @fn_str_eq(ptr %t971, ptr @.str108) - %t973 = icmp ne i32 %t972, 0 - %t974 = zext i1 %t973 to i32 - store i32 %t974, ptr %t942 - br label %scend210 -scend210: - %t975 = load i32, ptr %t942 - %t976 = icmp ne i32 %t975, 0 - %t977 = zext i1 %t976 to i32 - store i32 %t977, ptr %t920 + %t941 = load ptr, ptr %t1 + %t942 = getelementptr inbounds %Cmp_Node, ptr %t941, i32 0, i32 4 + %t943 = load ptr, ptr %t942 + %t944 = getelementptr inbounds %Cmp_Node, ptr %t943, i32 0, i32 1 + %t945 = load ptr, ptr %t944 + %t946 = call i32 @fn_str_eq(ptr %t945, ptr @.str106) + %t947 = icmp ne i32 %t946, 0 + %t948 = zext i1 %t947 to i32 + store i32 %t948, ptr %t931 br label %scend204 scend204: - %t978 = load i32, ptr %t920 - %t979 = icmp ne i32 %t978, 0 - br i1 %t979, label %then211, label %ifend213 -then211: - store i32 1, ptr @g_g_uses_anim_rt - br label %ifend213 -ifend213: - %t982 = load ptr, ptr %t1 - %t983 = getelementptr inbounds %Cmp_Node, ptr %t982, i32 0, i32 4 - %t984 = load ptr, ptr %t983 - %t985 = getelementptr inbounds %Cmp_Node, ptr %t984, i32 0, i32 0 - %t986 = load i32, ptr %t985 - %t987 = icmp eq i32 %t986, 33 - %t988 = zext i1 %t987 to i32 + %t949 = load i32, ptr %t931 + %t950 = icmp ne i32 %t949, 0 + %t951 = zext i1 %t950 to i32 + store i32 %t951, ptr %t930 + br i1 %t950, label %sc205, label %scend206 +sc205: + %t955 = load ptr, ptr %t1 + %t956 = getelementptr inbounds %Cmp_Node, ptr %t955, i32 0, i32 1 + %t957 = load ptr, ptr %t956 + %t958 = call i32 @fn_str_eq(ptr %t957, ptr @.str107) + %t959 = icmp ne i32 %t958, 0 + %t960 = zext i1 %t959 to i32 + store i32 %t960, ptr %t954 + br i1 %t959, label %scend208, label %sc207 +sc207: + %t961 = load ptr, ptr %t1 + %t962 = getelementptr inbounds %Cmp_Node, ptr %t961, i32 0, i32 1 + %t963 = load ptr, ptr %t962 + %t964 = call i32 @fn_str_eq(ptr %t963, ptr @.str108) + %t965 = icmp ne i32 %t964, 0 + %t966 = zext i1 %t965 to i32 + store i32 %t966, ptr %t954 + br label %scend208 +scend208: + %t967 = load i32, ptr %t954 + %t968 = icmp ne i32 %t967, 0 + %t969 = zext i1 %t968 to i32 + store i32 %t969, ptr %t953 + br i1 %t968, label %scend210, label %sc209 +sc209: + %t970 = load ptr, ptr %t1 + %t971 = getelementptr inbounds %Cmp_Node, ptr %t970, i32 0, i32 1 + %t972 = load ptr, ptr %t971 + %t973 = call i32 @fn_str_eq(ptr %t972, ptr @.str109) + %t974 = icmp ne i32 %t973, 0 + %t975 = zext i1 %t974 to i32 + store i32 %t975, ptr %t953 + br label %scend210 +scend210: + %t976 = load i32, ptr %t953 + %t977 = icmp ne i32 %t976, 0 + %t978 = zext i1 %t977 to i32 + store i32 %t978, ptr %t952 + br i1 %t977, label %scend212, label %sc211 +sc211: + %t979 = load ptr, ptr %t1 + %t980 = getelementptr inbounds %Cmp_Node, ptr %t979, i32 0, i32 1 + %t981 = load ptr, ptr %t980 + %t982 = call i32 @fn_str_eq(ptr %t981, ptr @.str110) + %t983 = icmp ne i32 %t982, 0 + %t984 = zext i1 %t983 to i32 + store i32 %t984, ptr %t952 + br label %scend212 +scend212: + %t985 = load i32, ptr %t952 + %t986 = icmp ne i32 %t985, 0 + %t987 = zext i1 %t986 to i32 + store i32 %t987, ptr %t930 + br label %scend206 +scend206: + %t988 = load i32, ptr %t930 %t989 = icmp ne i32 %t988, 0 - %t990 = zext i1 %t989 to i32 - store i32 %t990, ptr %t981 - br i1 %t989, label %sc214, label %scend215 -sc214: - %t991 = load ptr, ptr %t1 - %t992 = getelementptr inbounds %Cmp_Node, ptr %t991, i32 0, i32 4 - %t993 = load ptr, ptr %t992 - %t994 = getelementptr inbounds %Cmp_Node, ptr %t993, i32 0, i32 1 - %t995 = load ptr, ptr %t994 - %t996 = call i32 @fn_str_eq(ptr %t995, ptr @.str109) - %t997 = icmp ne i32 %t996, 0 + br i1 %t989, label %then213, label %ifend215 +then213: + store i32 1, ptr @g_g_uses_anim_rt + br label %ifend215 +ifend215: + %t992 = load ptr, ptr %t1 + %t993 = getelementptr inbounds %Cmp_Node, ptr %t992, i32 0, i32 4 + %t994 = load ptr, ptr %t993 + %t995 = getelementptr inbounds %Cmp_Node, ptr %t994, i32 0, i32 0 + %t996 = load i32, ptr %t995 + %t997 = icmp eq i32 %t996, 33 %t998 = zext i1 %t997 to i32 - store i32 %t998, ptr %t981 - br label %scend215 -scend215: - %t999 = load i32, ptr %t981 - %t1000 = icmp ne i32 %t999, 0 - %t1001 = zext i1 %t1000 to i32 - store i32 %t1001, ptr %t980 - br i1 %t1000, label %sc216, label %scend217 + %t999 = icmp ne i32 %t998, 0 + %t1000 = zext i1 %t999 to i32 + store i32 %t1000, ptr %t991 + br i1 %t999, label %sc216, label %scend217 sc216: - %t1002 = load ptr, ptr %t1 - %t1003 = getelementptr inbounds %Cmp_Node, ptr %t1002, i32 0, i32 1 - %t1004 = load ptr, ptr %t1003 - %t1005 = call i32 @fn_str_eq(ptr %t1004, ptr @.str110) - %t1006 = icmp ne i32 %t1005, 0 - %t1007 = zext i1 %t1006 to i32 - store i32 %t1007, ptr %t980 + %t1001 = load ptr, ptr %t1 + %t1002 = getelementptr inbounds %Cmp_Node, ptr %t1001, i32 0, i32 4 + %t1003 = load ptr, ptr %t1002 + %t1004 = getelementptr inbounds %Cmp_Node, ptr %t1003, i32 0, i32 1 + %t1005 = load ptr, ptr %t1004 + %t1006 = call i32 @fn_str_eq(ptr %t1005, ptr @.str111) + %t1007 = icmp ne i32 %t1006, 0 + %t1008 = zext i1 %t1007 to i32 + store i32 %t1008, ptr %t991 br label %scend217 scend217: - %t1008 = load i32, ptr %t980 - %t1009 = icmp ne i32 %t1008, 0 - br i1 %t1009, label %then218, label %ifend220 -then218: - store i32 1, ptr @g_g_uses_anim_rt - br label %ifend220 -ifend220: - %t1011 = load ptr, ptr %t1 - %t1012 = getelementptr inbounds %Cmp_Node, ptr %t1011, i32 0, i32 4 - %t1013 = load ptr, ptr %t1012 - %t1014 = getelementptr inbounds %Cmp_Node, ptr %t1013, i32 0, i32 0 - %t1015 = load i32, ptr %t1014 - %t1016 = icmp eq i32 %t1015, 33 + %t1009 = load i32, ptr %t991 + %t1010 = icmp ne i32 %t1009, 0 + %t1011 = zext i1 %t1010 to i32 + store i32 %t1011, ptr %t990 + br i1 %t1010, label %sc218, label %scend219 +sc218: + %t1012 = load ptr, ptr %t1 + %t1013 = getelementptr inbounds %Cmp_Node, ptr %t1012, i32 0, i32 1 + %t1014 = load ptr, ptr %t1013 + %t1015 = call i32 @fn_str_eq(ptr %t1014, ptr @.str112) + %t1016 = icmp ne i32 %t1015, 0 %t1017 = zext i1 %t1016 to i32 - %t1018 = icmp ne i32 %t1017, 0 - %t1019 = zext i1 %t1018 to i32 - store i32 %t1019, ptr %t1010 - br i1 %t1018, label %sc221, label %scend222 -sc221: - %t1020 = load ptr, ptr %t1 - %t1021 = getelementptr inbounds %Cmp_Node, ptr %t1020, i32 0, i32 4 - %t1022 = load ptr, ptr %t1021 - %t1023 = getelementptr inbounds %Cmp_Node, ptr %t1022, i32 0, i32 1 - %t1024 = load ptr, ptr %t1023 - %t1025 = call i32 @fn_str_eq(ptr %t1024, ptr @.str111) - %t1026 = icmp ne i32 %t1025, 0 + store i32 %t1017, ptr %t990 + br label %scend219 +scend219: + %t1018 = load i32, ptr %t990 + %t1019 = icmp ne i32 %t1018, 0 + br i1 %t1019, label %then220, label %ifend222 +then220: + store i32 1, ptr @g_g_uses_anim_rt + br label %ifend222 +ifend222: + %t1021 = load ptr, ptr %t1 + %t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 4 + %t1023 = load ptr, ptr %t1022 + %t1024 = getelementptr inbounds %Cmp_Node, ptr %t1023, i32 0, i32 0 + %t1025 = load i32, ptr %t1024 + %t1026 = icmp eq i32 %t1025, 33 %t1027 = zext i1 %t1026 to i32 - store i32 %t1027, ptr %t1010 - br label %scend222 -scend222: - %t1028 = load i32, ptr %t1010 - %t1029 = icmp ne i32 %t1028, 0 - br i1 %t1029, label %then223, label %ifend225 -then223: - store i32 1, ptr @g_g_uses_audio - br label %ifend225 -ifend225: - %t1031 = load ptr, ptr %t1 - %t1032 = getelementptr inbounds %Cmp_Node, ptr %t1031, i32 0, i32 4 - %t1033 = load ptr, ptr %t1032 - %t1034 = getelementptr inbounds %Cmp_Node, ptr %t1033, i32 0, i32 0 - %t1035 = load i32, ptr %t1034 - %t1036 = icmp eq i32 %t1035, 33 + %t1028 = icmp ne i32 %t1027, 0 + %t1029 = zext i1 %t1028 to i32 + store i32 %t1029, ptr %t1020 + br i1 %t1028, label %sc223, label %scend224 +sc223: + %t1030 = load ptr, ptr %t1 + %t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 4 + %t1032 = load ptr, ptr %t1031 + %t1033 = getelementptr inbounds %Cmp_Node, ptr %t1032, i32 0, i32 1 + %t1034 = load ptr, ptr %t1033 + %t1035 = call i32 @fn_str_eq(ptr %t1034, ptr @.str113) + %t1036 = icmp ne i32 %t1035, 0 %t1037 = zext i1 %t1036 to i32 - %t1038 = icmp ne i32 %t1037, 0 - %t1039 = zext i1 %t1038 to i32 - store i32 %t1039, ptr %t1030 - br i1 %t1038, label %sc226, label %scend227 -sc226: - %t1040 = load ptr, ptr %t1 - %t1041 = getelementptr inbounds %Cmp_Node, ptr %t1040, i32 0, i32 4 - %t1042 = load ptr, ptr %t1041 - %t1043 = getelementptr inbounds %Cmp_Node, ptr %t1042, i32 0, i32 1 - %t1044 = load ptr, ptr %t1043 - %t1045 = call i32 @fn_str_eq(ptr %t1044, ptr @.str112) - %t1046 = icmp ne i32 %t1045, 0 + store i32 %t1037, ptr %t1020 + br label %scend224 +scend224: + %t1038 = load i32, ptr %t1020 + %t1039 = icmp ne i32 %t1038, 0 + br i1 %t1039, label %then225, label %ifend227 +then225: + store i32 1, ptr @g_g_uses_audio + br label %ifend227 +ifend227: + %t1041 = load ptr, ptr %t1 + %t1042 = getelementptr inbounds %Cmp_Node, ptr %t1041, i32 0, i32 4 + %t1043 = load ptr, ptr %t1042 + %t1044 = getelementptr inbounds %Cmp_Node, ptr %t1043, i32 0, i32 0 + %t1045 = load i32, ptr %t1044 + %t1046 = icmp eq i32 %t1045, 33 %t1047 = zext i1 %t1046 to i32 - store i32 %t1047, ptr %t1030 - br label %scend227 -scend227: - %t1048 = load i32, ptr %t1030 - %t1049 = icmp ne i32 %t1048, 0 - br i1 %t1049, label %then228, label %ifend230 -then228: - store i32 1, ptr @g_g_uses_http - br label %ifend230 -ifend230: - %t1052 = load ptr, ptr %t1 - %t1053 = getelementptr inbounds %Cmp_Node, ptr %t1052, i32 0, i32 4 + %t1048 = icmp ne i32 %t1047, 0 + %t1049 = zext i1 %t1048 to i32 + store i32 %t1049, ptr %t1040 + br i1 %t1048, label %sc228, label %scend229 +sc228: + %t1050 = load ptr, ptr %t1 + %t1051 = getelementptr inbounds %Cmp_Node, ptr %t1050, i32 0, i32 4 + %t1052 = load ptr, ptr %t1051 + %t1053 = getelementptr inbounds %Cmp_Node, ptr %t1052, i32 0, i32 1 %t1054 = load ptr, ptr %t1053 - %t1055 = getelementptr inbounds %Cmp_Node, ptr %t1054, i32 0, i32 0 - %t1056 = load i32, ptr %t1055 - %t1057 = icmp eq i32 %t1056, 33 - %t1058 = zext i1 %t1057 to i32 + %t1055 = call i32 @fn_str_eq(ptr %t1054, ptr @.str114) + %t1056 = icmp ne i32 %t1055, 0 + %t1057 = zext i1 %t1056 to i32 + store i32 %t1057, ptr %t1040 + br label %scend229 +scend229: + %t1058 = load i32, ptr %t1040 %t1059 = icmp ne i32 %t1058, 0 - %t1060 = zext i1 %t1059 to i32 - store i32 %t1060, ptr %t1051 - br i1 %t1059, label %sc231, label %scend232 -sc231: - %t1061 = load ptr, ptr %t1 - %t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 4 - %t1063 = load ptr, ptr %t1062 - %t1064 = getelementptr inbounds %Cmp_Node, ptr %t1063, i32 0, i32 1 - %t1065 = load ptr, ptr %t1064 - %t1066 = call i32 @fn_str_eq(ptr %t1065, ptr @.str113) - %t1067 = icmp ne i32 %t1066, 0 + br i1 %t1059, label %then230, label %ifend232 +then230: + store i32 1, ptr @g_g_uses_http + br label %ifend232 +ifend232: + %t1062 = load ptr, ptr %t1 + %t1063 = getelementptr inbounds %Cmp_Node, ptr %t1062, i32 0, i32 4 + %t1064 = load ptr, ptr %t1063 + %t1065 = getelementptr inbounds %Cmp_Node, ptr %t1064, i32 0, i32 0 + %t1066 = load i32, ptr %t1065 + %t1067 = icmp eq i32 %t1066, 33 %t1068 = zext i1 %t1067 to i32 - store i32 %t1068, ptr %t1051 - br label %scend232 -scend232: - %t1069 = load i32, ptr %t1051 - %t1070 = icmp ne i32 %t1069, 0 - %t1071 = zext i1 %t1070 to i32 - store i32 %t1071, ptr %t1050 - br i1 %t1070, label %sc233, label %scend234 + %t1069 = icmp ne i32 %t1068, 0 + %t1070 = zext i1 %t1069 to i32 + store i32 %t1070, ptr %t1061 + br i1 %t1069, label %sc233, label %scend234 sc233: - %t1077 = load ptr, ptr %t1 - %t1078 = getelementptr inbounds %Cmp_Node, ptr %t1077, i32 0, i32 1 - %t1079 = load ptr, ptr %t1078 - %t1080 = call i32 @fn_str_eq(ptr %t1079, ptr @.str114) - %t1081 = icmp ne i32 %t1080, 0 - %t1082 = zext i1 %t1081 to i32 - store i32 %t1082, ptr %t1076 - br i1 %t1081, label %scend236, label %sc235 -sc235: - %t1083 = load ptr, ptr %t1 - %t1084 = getelementptr inbounds %Cmp_Node, ptr %t1083, i32 0, i32 1 - %t1085 = load ptr, ptr %t1084 - %t1086 = call i32 @fn_str_eq(ptr %t1085, ptr @.str115) - %t1087 = icmp ne i32 %t1086, 0 - %t1088 = zext i1 %t1087 to i32 - store i32 %t1088, ptr %t1076 - br label %scend236 -scend236: - %t1089 = load i32, ptr %t1076 - %t1090 = icmp ne i32 %t1089, 0 - %t1091 = zext i1 %t1090 to i32 - store i32 %t1091, ptr %t1075 - br i1 %t1090, label %scend238, label %sc237 -sc237: - %t1092 = load ptr, ptr %t1 - %t1093 = getelementptr inbounds %Cmp_Node, ptr %t1092, i32 0, i32 1 - %t1094 = load ptr, ptr %t1093 - %t1095 = call i32 @fn_str_eq(ptr %t1094, ptr @.str116) - %t1096 = icmp ne i32 %t1095, 0 - %t1097 = zext i1 %t1096 to i32 - store i32 %t1097, ptr %t1075 - br label %scend238 -scend238: - %t1098 = load i32, ptr %t1075 - %t1099 = icmp ne i32 %t1098, 0 - %t1100 = zext i1 %t1099 to i32 - store i32 %t1100, ptr %t1074 - br i1 %t1099, label %scend240, label %sc239 -sc239: - %t1101 = load ptr, ptr %t1 - %t1102 = getelementptr inbounds %Cmp_Node, ptr %t1101, i32 0, i32 1 - %t1103 = load ptr, ptr %t1102 - %t1104 = call i32 @fn_str_eq(ptr %t1103, ptr @.str117) - %t1105 = icmp ne i32 %t1104, 0 - %t1106 = zext i1 %t1105 to i32 - store i32 %t1106, ptr %t1074 - br label %scend240 -scend240: - %t1107 = load i32, ptr %t1074 - %t1108 = icmp ne i32 %t1107, 0 - %t1109 = zext i1 %t1108 to i32 - store i32 %t1109, ptr %t1073 - br i1 %t1108, label %scend242, label %sc241 -sc241: - %t1110 = load ptr, ptr %t1 - %t1111 = getelementptr inbounds %Cmp_Node, ptr %t1110, i32 0, i32 1 - %t1112 = load ptr, ptr %t1111 - %t1113 = call i32 @fn_str_eq(ptr %t1112, ptr @.str118) - %t1114 = icmp ne i32 %t1113, 0 - %t1115 = zext i1 %t1114 to i32 - store i32 %t1115, ptr %t1073 - br label %scend242 -scend242: - %t1116 = load i32, ptr %t1073 - %t1117 = icmp ne i32 %t1116, 0 - %t1118 = zext i1 %t1117 to i32 - store i32 %t1118, ptr %t1072 - br i1 %t1117, label %scend244, label %sc243 -sc243: - %t1119 = load ptr, ptr %t1 - %t1120 = getelementptr inbounds %Cmp_Node, ptr %t1119, i32 0, i32 1 - %t1121 = load ptr, ptr %t1120 - %t1122 = call i32 @fn_str_eq(ptr %t1121, ptr @.str119) - %t1123 = icmp ne i32 %t1122, 0 - %t1124 = zext i1 %t1123 to i32 - store i32 %t1124, ptr %t1072 - br label %scend244 -scend244: - %t1125 = load i32, ptr %t1072 - %t1126 = icmp ne i32 %t1125, 0 - %t1127 = zext i1 %t1126 to i32 - store i32 %t1127, ptr %t1050 + %t1071 = load ptr, ptr %t1 + %t1072 = getelementptr inbounds %Cmp_Node, ptr %t1071, i32 0, i32 4 + %t1073 = load ptr, ptr %t1072 + %t1074 = getelementptr inbounds %Cmp_Node, ptr %t1073, i32 0, i32 1 + %t1075 = load ptr, ptr %t1074 + %t1076 = call i32 @fn_str_eq(ptr %t1075, ptr @.str115) + %t1077 = icmp ne i32 %t1076, 0 + %t1078 = zext i1 %t1077 to i32 + store i32 %t1078, ptr %t1061 br label %scend234 scend234: - %t1128 = load i32, ptr %t1050 - %t1129 = icmp ne i32 %t1128, 0 - br i1 %t1129, label %then245, label %ifend247 -then245: + %t1079 = load i32, ptr %t1061 + %t1080 = icmp ne i32 %t1079, 0 + %t1081 = zext i1 %t1080 to i32 + store i32 %t1081, ptr %t1060 + br i1 %t1080, label %sc235, label %scend236 +sc235: + %t1087 = load ptr, ptr %t1 + %t1088 = getelementptr inbounds %Cmp_Node, ptr %t1087, i32 0, i32 1 + %t1089 = load ptr, ptr %t1088 + %t1090 = call i32 @fn_str_eq(ptr %t1089, ptr @.str116) + %t1091 = icmp ne i32 %t1090, 0 + %t1092 = zext i1 %t1091 to i32 + store i32 %t1092, ptr %t1086 + br i1 %t1091, label %scend238, label %sc237 +sc237: + %t1093 = load ptr, ptr %t1 + %t1094 = getelementptr inbounds %Cmp_Node, ptr %t1093, i32 0, i32 1 + %t1095 = load ptr, ptr %t1094 + %t1096 = call i32 @fn_str_eq(ptr %t1095, ptr @.str117) + %t1097 = icmp ne i32 %t1096, 0 + %t1098 = zext i1 %t1097 to i32 + store i32 %t1098, ptr %t1086 + br label %scend238 +scend238: + %t1099 = load i32, ptr %t1086 + %t1100 = icmp ne i32 %t1099, 0 + %t1101 = zext i1 %t1100 to i32 + store i32 %t1101, ptr %t1085 + br i1 %t1100, label %scend240, label %sc239 +sc239: + %t1102 = load ptr, ptr %t1 + %t1103 = getelementptr inbounds %Cmp_Node, ptr %t1102, i32 0, i32 1 + %t1104 = load ptr, ptr %t1103 + %t1105 = call i32 @fn_str_eq(ptr %t1104, ptr @.str118) + %t1106 = icmp ne i32 %t1105, 0 + %t1107 = zext i1 %t1106 to i32 + store i32 %t1107, ptr %t1085 + br label %scend240 +scend240: + %t1108 = load i32, ptr %t1085 + %t1109 = icmp ne i32 %t1108, 0 + %t1110 = zext i1 %t1109 to i32 + store i32 %t1110, ptr %t1084 + br i1 %t1109, label %scend242, label %sc241 +sc241: + %t1111 = load ptr, ptr %t1 + %t1112 = getelementptr inbounds %Cmp_Node, ptr %t1111, i32 0, i32 1 + %t1113 = load ptr, ptr %t1112 + %t1114 = call i32 @fn_str_eq(ptr %t1113, ptr @.str119) + %t1115 = icmp ne i32 %t1114, 0 + %t1116 = zext i1 %t1115 to i32 + store i32 %t1116, ptr %t1084 + br label %scend242 +scend242: + %t1117 = load i32, ptr %t1084 + %t1118 = icmp ne i32 %t1117, 0 + %t1119 = zext i1 %t1118 to i32 + store i32 %t1119, ptr %t1083 + br i1 %t1118, label %scend244, label %sc243 +sc243: + %t1120 = load ptr, ptr %t1 + %t1121 = getelementptr inbounds %Cmp_Node, ptr %t1120, i32 0, i32 1 + %t1122 = load ptr, ptr %t1121 + %t1123 = call i32 @fn_str_eq(ptr %t1122, ptr @.str120) + %t1124 = icmp ne i32 %t1123, 0 + %t1125 = zext i1 %t1124 to i32 + store i32 %t1125, ptr %t1083 + br label %scend244 +scend244: + %t1126 = load i32, ptr %t1083 + %t1127 = icmp ne i32 %t1126, 0 + %t1128 = zext i1 %t1127 to i32 + store i32 %t1128, ptr %t1082 + br i1 %t1127, label %scend246, label %sc245 +sc245: + %t1129 = load ptr, ptr %t1 + %t1130 = getelementptr inbounds %Cmp_Node, ptr %t1129, i32 0, i32 1 + %t1131 = load ptr, ptr %t1130 + %t1132 = call i32 @fn_str_eq(ptr %t1131, ptr @.str121) + %t1133 = icmp ne i32 %t1132, 0 + %t1134 = zext i1 %t1133 to i32 + store i32 %t1134, ptr %t1082 + br label %scend246 +scend246: + %t1135 = load i32, ptr %t1082 + %t1136 = icmp ne i32 %t1135, 0 + %t1137 = zext i1 %t1136 to i32 + store i32 %t1137, ptr %t1060 + br label %scend236 +scend236: + %t1138 = load i32, ptr %t1060 + %t1139 = icmp ne i32 %t1138, 0 + br i1 %t1139, label %then247, label %ifend249 +then247: store i32 1, ptr @g_g_uses_tween_rt - br label %ifend247 -ifend247: + br label %ifend249 +ifend249: + %t1141 = load ptr, ptr %t1 + %t1142 = getelementptr inbounds %Cmp_Node, ptr %t1141, i32 0, i32 4 + %t1143 = load ptr, ptr %t1142 + %t1144 = getelementptr inbounds %Cmp_Node, ptr %t1143, i32 0, i32 0 + %t1145 = load i32, ptr %t1144 + %t1146 = icmp eq i32 %t1145, 33 + %t1147 = zext i1 %t1146 to i32 + %t1148 = icmp ne i32 %t1147, 0 + %t1149 = zext i1 %t1148 to i32 + store i32 %t1149, ptr %t1140 + br i1 %t1148, label %sc250, label %scend251 +sc250: + %t1150 = load ptr, ptr %t1 + %t1151 = getelementptr inbounds %Cmp_Node, ptr %t1150, i32 0, i32 4 + %t1152 = load ptr, ptr %t1151 + %t1153 = getelementptr inbounds %Cmp_Node, ptr %t1152, i32 0, i32 1 + %t1154 = load ptr, ptr %t1153 + %t1155 = call i32 @fn_str_eq(ptr %t1154, ptr @.str122) + %t1156 = icmp ne i32 %t1155, 0 + %t1157 = zext i1 %t1156 to i32 + store i32 %t1157, ptr %t1140 + br label %scend251 +scend251: + %t1158 = load i32, ptr %t1140 + %t1159 = icmp ne i32 %t1158, 0 + br i1 %t1159, label %then252, label %ifend254 +then252: + store i32 1, ptr @g_g_uses_fx + br label %ifend254 +ifend254: br label %ifend5 else4: - %t1130 = call i32 @fn_is_op(ptr @.str120) - %t1131 = icmp ne i32 %t1130, 0 - br i1 %t1131, label %then248, label %else249 -then248: - %t1132 = load i32, ptr @g_pi - %t1133 = add i32 %t1132, 1 - store i32 %t1133, ptr @g_pi - %t1134 = call ptr @fn_expr() - store ptr %t1134, ptr %t1135 - %t1136 = call i32 @fn_is_op(ptr @.str121) - %t1137 = icmp ne i32 %t1136, 0 - br i1 %t1137, label %then251, label %else252 -then251: - %t1138 = load i32, ptr @g_pi - %t1139 = add i32 %t1138, 1 - store i32 %t1139, ptr @g_pi - %t1140 = call ptr @fn_node(i32 44) - store ptr %t1140, ptr %t1141 - %t1142 = load ptr, ptr %t1141 - %t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 4 - %t1144 = load ptr, ptr %t1 - store ptr %t1144, ptr %t1143 - %t1145 = load ptr, ptr %t1141 - %t1146 = getelementptr inbounds %Cmp_Node, ptr %t1145, i32 0, i32 5 - %t1147 = load ptr, ptr %t1135 - store ptr %t1147, ptr %t1146 - %t1148 = load ptr, ptr %t1141 - %t1149 = getelementptr inbounds %Cmp_Node, ptr %t1148, i32 0, i32 6 - %t1150 = call ptr @fn_expr() - store ptr %t1150, ptr %t1149 - call void @fn_eat_op(ptr @.str122) - %t1151 = load ptr, ptr %t1141 - store ptr %t1151, ptr %t1 - br label %ifend253 -else252: - %t1152 = call ptr @fn_node(i32 36) - store ptr %t1152, ptr %t1153 - %t1154 = load ptr, ptr %t1153 - %t1155 = getelementptr inbounds %Cmp_Node, ptr %t1154, i32 0, i32 4 - %t1156 = load ptr, ptr %t1 - store ptr %t1156, ptr %t1155 - %t1157 = load ptr, ptr %t1153 - %t1158 = getelementptr inbounds %Cmp_Node, ptr %t1157, i32 0, i32 5 - %t1159 = load ptr, ptr %t1135 - store ptr %t1159, ptr %t1158 - call void @fn_eat_op(ptr @.str123) - %t1160 = load ptr, ptr %t1153 - store ptr %t1160, ptr %t1 - br label %ifend253 -ifend253: - br label %ifend250 -else249: - %t1161 = call i32 @fn_is_op(ptr @.str124) - %t1162 = icmp ne i32 %t1161, 0 - br i1 %t1162, label %then254, label %else255 -then254: - %t1163 = call ptr @fn_node(i32 34) - store ptr %t1163, ptr %t1164 - %t1165 = load ptr, ptr %t1164 - %t1166 = getelementptr inbounds %Cmp_Node, ptr %t1165, i32 0, i32 4 - %t1167 = load ptr, ptr %t1 - store ptr %t1167, ptr %t1166 - %t1168 = load ptr, ptr %t1164 - %t1169 = getelementptr inbounds %Cmp_Node, ptr %t1168, i32 0, i32 8 - %t1170 = load ptr, ptr @g_toks - %t1171 = getelementptr inbounds %LSlice, ptr %t1170, i32 0, i32 0 + %t1160 = call i32 @fn_is_op(ptr @.str123) + %t1161 = icmp ne i32 %t1160, 0 + br i1 %t1161, label %then255, label %else256 +then255: + %t1162 = load i32, ptr @g_pi + %t1163 = add i32 %t1162, 1 + store i32 %t1163, ptr @g_pi + %t1164 = call ptr @fn_expr() + store ptr %t1164, ptr %t1165 + %t1166 = call i32 @fn_is_op(ptr @.str124) + %t1167 = icmp ne i32 %t1166, 0 + br i1 %t1167, label %then258, label %else259 +then258: + %t1168 = load i32, ptr @g_pi + %t1169 = add i32 %t1168, 1 + store i32 %t1169, ptr @g_pi + %t1170 = call ptr @fn_node(i32 44) + store ptr %t1170, ptr %t1171 %t1172 = load ptr, ptr %t1171 - %t1173 = load i32, ptr @g_pi - %t1174 = getelementptr inbounds ptr, ptr %t1172, i32 %t1173 - %t1175 = load ptr, ptr %t1174 - %t1176 = getelementptr inbounds %Cmp_Tok, ptr %t1175, i32 0, i32 3 - %t1177 = load i32, ptr %t1176 - store i32 %t1177, ptr %t1169 - %t1178 = load ptr, ptr %t1164 - call void @fn_args_call(ptr %t1178) - %t1179 = load ptr, ptr %t1164 - store ptr %t1179, ptr %t1 - %t1181 = load ptr, ptr %t1164 - %t1182 = getelementptr inbounds %Cmp_Node, ptr %t1181, i32 0, i32 4 - %t1183 = load ptr, ptr %t1182 - %t1184 = getelementptr inbounds %Cmp_Node, ptr %t1183, i32 0, i32 0 - %t1185 = load i32, ptr %t1184 - %t1186 = icmp eq i32 %t1185, 33 - %t1187 = zext i1 %t1186 to i32 - %t1188 = icmp ne i32 %t1187, 0 - %t1189 = zext i1 %t1188 to i32 - store i32 %t1189, ptr %t1180 - br i1 %t1188, label %sc257, label %scend258 -sc257: - %t1191 = load ptr, ptr %t1164 - %t1192 = getelementptr inbounds %Cmp_Node, ptr %t1191, i32 0, i32 4 - %t1193 = load ptr, ptr %t1192 - %t1194 = getelementptr inbounds %Cmp_Node, ptr %t1193, i32 0, i32 1 - %t1195 = load ptr, ptr %t1194 - %t1196 = call i32 @fn_str_eq(ptr %t1195, ptr @.str125) - %t1197 = icmp ne i32 %t1196, 0 - %t1198 = zext i1 %t1197 to i32 - store i32 %t1198, ptr %t1190 - br i1 %t1197, label %scend260, label %sc259 -sc259: - %t1199 = load ptr, ptr %t1164 - %t1200 = getelementptr inbounds %Cmp_Node, ptr %t1199, i32 0, i32 4 - %t1201 = load ptr, ptr %t1200 - %t1202 = getelementptr inbounds %Cmp_Node, ptr %t1201, i32 0, i32 1 - %t1203 = load ptr, ptr %t1202 - %t1204 = call i32 @fn_str_eq(ptr %t1203, ptr @.str126) - %t1205 = icmp ne i32 %t1204, 0 - %t1206 = zext i1 %t1205 to i32 - store i32 %t1206, ptr %t1190 - br label %scend260 -scend260: - %t1207 = load i32, ptr %t1190 - %t1208 = icmp ne i32 %t1207, 0 - %t1209 = zext i1 %t1208 to i32 - store i32 %t1209, ptr %t1180 - br label %scend258 -scend258: - %t1210 = load i32, ptr %t1180 - %t1211 = icmp ne i32 %t1210, 0 - br i1 %t1211, label %then261, label %ifend263 + %t1173 = getelementptr inbounds %Cmp_Node, ptr %t1172, i32 0, i32 4 + %t1174 = load ptr, ptr %t1 + store ptr %t1174, ptr %t1173 + %t1175 = load ptr, ptr %t1171 + %t1176 = getelementptr inbounds %Cmp_Node, ptr %t1175, i32 0, i32 5 + %t1177 = load ptr, ptr %t1165 + store ptr %t1177, ptr %t1176 + %t1178 = load ptr, ptr %t1171 + %t1179 = getelementptr inbounds %Cmp_Node, ptr %t1178, i32 0, i32 6 + %t1180 = call ptr @fn_expr() + store ptr %t1180, ptr %t1179 + call void @fn_eat_op(ptr @.str125) + %t1181 = load ptr, ptr %t1171 + store ptr %t1181, ptr %t1 + br label %ifend260 +else259: + %t1182 = call ptr @fn_node(i32 36) + store ptr %t1182, ptr %t1183 + %t1184 = load ptr, ptr %t1183 + %t1185 = getelementptr inbounds %Cmp_Node, ptr %t1184, i32 0, i32 4 + %t1186 = load ptr, ptr %t1 + store ptr %t1186, ptr %t1185 + %t1187 = load ptr, ptr %t1183 + %t1188 = getelementptr inbounds %Cmp_Node, ptr %t1187, i32 0, i32 5 + %t1189 = load ptr, ptr %t1165 + store ptr %t1189, ptr %t1188 + call void @fn_eat_op(ptr @.str126) + %t1190 = load ptr, ptr %t1183 + store ptr %t1190, ptr %t1 + br label %ifend260 +ifend260: + br label %ifend257 +else256: + %t1191 = call i32 @fn_is_op(ptr @.str127) + %t1192 = icmp ne i32 %t1191, 0 + br i1 %t1192, label %then261, label %else262 then261: - %t1212 = load ptr, ptr %t1164 - %t1213 = getelementptr inbounds %Cmp_Node, ptr %t1212, i32 0, i32 4 - %t1214 = load ptr, ptr %t1213 - %t1215 = getelementptr inbounds %Cmp_Node, ptr %t1214, i32 0, i32 1 - %t1216 = load ptr, ptr %t1215 - call void @fn_warn_draw_sprite(ptr %t1216) + %t1193 = call ptr @fn_node(i32 34) + store ptr %t1193, ptr %t1194 + %t1195 = load ptr, ptr %t1194 + %t1196 = getelementptr inbounds %Cmp_Node, ptr %t1195, i32 0, i32 4 + %t1197 = load ptr, ptr %t1 + store ptr %t1197, ptr %t1196 + %t1198 = load ptr, ptr %t1194 + %t1199 = getelementptr inbounds %Cmp_Node, ptr %t1198, i32 0, i32 8 + %t1200 = load ptr, ptr @g_toks + %t1201 = getelementptr inbounds %LSlice, ptr %t1200, i32 0, i32 0 + %t1202 = load ptr, ptr %t1201 + %t1203 = load i32, ptr @g_pi + %t1204 = getelementptr inbounds ptr, ptr %t1202, i32 %t1203 + %t1205 = load ptr, ptr %t1204 + %t1206 = getelementptr inbounds %Cmp_Tok, ptr %t1205, i32 0, i32 3 + %t1207 = load i32, ptr %t1206 + store i32 %t1207, ptr %t1199 + %t1208 = load ptr, ptr %t1194 + call void @fn_args_call(ptr %t1208) + %t1209 = load ptr, ptr %t1194 + store ptr %t1209, ptr %t1 + %t1211 = load ptr, ptr %t1194 + %t1212 = getelementptr inbounds %Cmp_Node, ptr %t1211, i32 0, i32 4 + %t1213 = load ptr, ptr %t1212 + %t1214 = getelementptr inbounds %Cmp_Node, ptr %t1213, i32 0, i32 0 + %t1215 = load i32, ptr %t1214 + %t1216 = icmp eq i32 %t1215, 33 + %t1217 = zext i1 %t1216 to i32 + %t1218 = icmp ne i32 %t1217, 0 + %t1219 = zext i1 %t1218 to i32 + store i32 %t1219, ptr %t1210 + br i1 %t1218, label %sc264, label %scend265 +sc264: + %t1221 = load ptr, ptr %t1194 + %t1222 = getelementptr inbounds %Cmp_Node, ptr %t1221, i32 0, i32 4 + %t1223 = load ptr, ptr %t1222 + %t1224 = getelementptr inbounds %Cmp_Node, ptr %t1223, i32 0, i32 1 + %t1225 = load ptr, ptr %t1224 + %t1226 = call i32 @fn_str_eq(ptr %t1225, ptr @.str128) + %t1227 = icmp ne i32 %t1226, 0 + %t1228 = zext i1 %t1227 to i32 + store i32 %t1228, ptr %t1220 + br i1 %t1227, label %scend267, label %sc266 +sc266: + %t1229 = load ptr, ptr %t1194 + %t1230 = getelementptr inbounds %Cmp_Node, ptr %t1229, i32 0, i32 4 + %t1231 = load ptr, ptr %t1230 + %t1232 = getelementptr inbounds %Cmp_Node, ptr %t1231, i32 0, i32 1 + %t1233 = load ptr, ptr %t1232 + %t1234 = call i32 @fn_str_eq(ptr %t1233, ptr @.str129) + %t1235 = icmp ne i32 %t1234, 0 + %t1236 = zext i1 %t1235 to i32 + store i32 %t1236, ptr %t1220 + br label %scend267 +scend267: + %t1237 = load i32, ptr %t1220 + %t1238 = icmp ne i32 %t1237, 0 + %t1239 = zext i1 %t1238 to i32 + store i32 %t1239, ptr %t1210 + br label %scend265 +scend265: + %t1240 = load i32, ptr %t1210 + %t1241 = icmp ne i32 %t1240, 0 + br i1 %t1241, label %then268, label %ifend270 +then268: + %t1242 = load ptr, ptr %t1194 + %t1243 = getelementptr inbounds %Cmp_Node, ptr %t1242, i32 0, i32 4 + %t1244 = load ptr, ptr %t1243 + %t1245 = getelementptr inbounds %Cmp_Node, ptr %t1244, i32 0, i32 1 + %t1246 = load ptr, ptr %t1245 + call void @fn_warn_draw_sprite(ptr %t1246) + br label %ifend270 +ifend270: br label %ifend263 -ifend263: - br label %ifend256 -else255: +else262: br label %wend2 -ifend256: - br label %ifend250 -ifend250: +ifend263: + br label %ifend257 +ifend257: br label %ifend5 ifend5: br label %wcond0 wend2: - %t1217 = load ptr, ptr %t1 - store ptr %t1217, ptr %retval + %t1247 = load ptr, ptr %t1 + store ptr %t1247, ptr %retval br label %ret ret: - %t1218 = load ptr, ptr %retval - ret ptr %t1218 + %t1248 = load ptr, ptr %retval + ret ptr %t1248 } define ptr @fn_p_unary() { @@ -15848,7 +17442,7 @@ entry: %t5 = alloca ptr %t17 = alloca ptr %t29 = alloca ptr - %t0 = call i32 @fn_is_op(ptr @.str127) + %t0 = call i32 @fn_is_op(ptr @.str130) %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: @@ -15859,7 +17453,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 @.str128, ptr %t7 + store ptr @.str131, ptr %t7 %t8 = load ptr, ptr %t5 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = call ptr @fn_p_unary() @@ -15868,7 +17462,7 @@ then0: store ptr %t11, ptr %retval br label %ret ifend2: - %t12 = call i32 @fn_is_op(ptr @.str129) + %t12 = call i32 @fn_is_op(ptr @.str132) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: @@ -15879,7 +17473,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 @.str130, ptr %t19 + store ptr @.str133, ptr %t19 %t20 = load ptr, ptr %t17 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 %t22 = call ptr @fn_p_unary() @@ -15888,7 +17482,7 @@ then3: store ptr %t23, ptr %retval br label %ret ifend5: - %t24 = call i32 @fn_is_id(ptr @.str131) + %t24 = call i32 @fn_is_id(ptr @.str134) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: @@ -15899,7 +17493,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 @.str132, ptr %t31 + store ptr @.str135, ptr %t31 %t32 = load ptr, ptr %t29 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 %t34 = call ptr @fn_p_unary() @@ -15962,13 +17556,13 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t7 = call i32 @fn_is_op(ptr @.str133) + %t7 = call i32 @fn_is_op(ptr @.str136) %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 @.str134) + %t10 = call i32 @fn_is_op(ptr @.str137) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 @@ -15980,7 +17574,7 @@ scend4: store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: - %t16 = call i32 @fn_is_op(ptr @.str135) + %t16 = call i32 @fn_is_op(ptr @.str138) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 @@ -15992,7 +17586,7 @@ scend6: store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: - %t22 = call i32 @fn_is_op(ptr @.str136) + %t22 = call i32 @fn_is_op(ptr @.str139) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 @@ -16004,7 +17598,7 @@ scend8: store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: - %t28 = call i32 @fn_is_op(ptr @.str137) + %t28 = call i32 @fn_is_op(ptr @.str140) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 @@ -16016,7 +17610,7 @@ scend10: store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: - %t34 = call i32 @fn_is_op(ptr @.str138) + %t34 = call i32 @fn_is_op(ptr @.str141) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 @@ -16065,13 +17659,13 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t5 = call i32 @fn_is_op(ptr @.str139) + %t5 = call i32 @fn_is_op(ptr @.str142) %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 @.str140) + %t8 = call i32 @fn_is_op(ptr @.str143) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t4 @@ -16083,7 +17677,7 @@ scend4: store i32 %t13, ptr %t3 br i1 %t12, label %scend6, label %sc5 sc5: - %t14 = call i32 @fn_is_op(ptr @.str141) + %t14 = call i32 @fn_is_op(ptr @.str144) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t3 @@ -16095,7 +17689,7 @@ scend6: store i32 %t19, ptr %t2 br i1 %t18, label %scend8, label %sc7 sc7: - %t20 = call i32 @fn_is_op(ptr @.str142) + %t20 = call i32 @fn_is_op(ptr @.str145) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t2 @@ -16146,13 +17740,13 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t7 = call i32 @fn_is_op(ptr @.str143) + %t7 = call i32 @fn_is_op(ptr @.str146) %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 @.str144) + %t10 = call i32 @fn_is_op(ptr @.str147) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 @@ -16164,7 +17758,7 @@ scend4: store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: - %t16 = call i32 @fn_is_op(ptr @.str145) + %t16 = call i32 @fn_is_op(ptr @.str148) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 @@ -16176,7 +17770,7 @@ scend6: store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: - %t22 = call i32 @fn_is_op(ptr @.str146) + %t22 = call i32 @fn_is_op(ptr @.str149) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 @@ -16188,7 +17782,7 @@ scend8: store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: - %t28 = call i32 @fn_is_op(ptr @.str147) + %t28 = call i32 @fn_is_op(ptr @.str150) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 @@ -16200,7 +17794,7 @@ scend10: store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: - %t34 = call i32 @fn_is_op(ptr @.str148) + %t34 = call i32 @fn_is_op(ptr @.str151) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 @@ -16245,7 +17839,7 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t2 = call i32 @fn_is_id(ptr @.str149) + %t2 = call i32 @fn_is_id(ptr @.str152) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: @@ -16254,7 +17848,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 @.str150, ptr %t6, ptr %t7) + %t8 = call ptr @fn_mkbin(ptr @.str153, ptr %t6, ptr %t7) store ptr %t8, ptr %t1 br label %wcond0 wend2: @@ -16274,7 +17868,7 @@ entry: store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t2 = call i32 @fn_is_id(ptr @.str151) + %t2 = call i32 @fn_is_id(ptr @.str154) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: @@ -16283,7 +17877,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 @.str152, ptr %t6, ptr %t7) + %t8 = call ptr @fn_mkbin(ptr @.str155, ptr %t6, ptr %t7) store ptr %t8, ptr %t1 br label %wcond0 wend2: @@ -16300,7 +17894,7 @@ entry: %retval = alloca ptr %t1 = alloca ptr %t6 = alloca ptr - call void @fn_eat_op(ptr @.str153) + call void @fn_eat_op(ptr @.str156) %t0 = call ptr @fn_node(i32 41) store ptr %t0, ptr %t1 br label %wcond0 @@ -16309,7 +17903,7 @@ wcond0: br i1 %t2, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() - %t3 = call i32 @fn_is_op(ptr @.str154) + %t3 = call i32 @fn_is_op(ptr @.str157) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: @@ -16321,7 +17915,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 @.str155) + call void @fn_eat_op(ptr @.str158) %t10 = load ptr, ptr %t6 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = call ptr @fn_expr() @@ -16356,7 +17950,7 @@ put7: store ptr %t31, ptr %t33 %t34 = add i32 %t19, 1 store i32 %t34, ptr %t16 - %t35 = call i32 @fn_is_op(ptr @.str156) + %t35 = call i32 @fn_is_op(ptr @.str159) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then8, label %ifend10 then8: @@ -16367,7 +17961,7 @@ then8: ifend10: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str157) + call void @fn_eat_op(ptr @.str160) %t39 = load ptr, ptr %t1 store ptr %t39, ptr %retval br label %ret @@ -16382,7 +17976,7 @@ entry: %t1 = alloca ptr %t37 = alloca i32 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str158) + call void @fn_eat_op(ptr @.str161) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 @@ -16391,7 +17985,7 @@ wcond0: br i1 %t2, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() - %t3 = call i32 @fn_is_op(ptr @.str159) + %t3 = call i32 @fn_is_op(ptr @.str162) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: @@ -16438,7 +18032,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 @.str160) + %t38 = call i32 @fn_is_op(ptr @.str163) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: @@ -16451,12 +18045,12 @@ ifend10: %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: - call void @fn_perr(ptr @.str161) + call void @fn_perr(ptr @.str164) br label %ifend13 ifend13: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str162) + call void @fn_eat_op(ptr @.str165) %t44 = load ptr, ptr %t1 store ptr %t44, ptr %retval br label %ret @@ -16521,25 +18115,24 @@ entry: %t194 = alloca i32 %t199 = alloca ptr %t201 = alloca ptr - %t213 = alloca ptr - %t248 = alloca i32 - %t279 = alloca ptr - %t292 = alloca ptr - %t297 = alloca i32 - %t312 = alloca i32 - %t321 = alloca ptr - %t393 = alloca ptr - %t420 = alloca ptr - %t466 = alloca ptr - %t474 = alloca ptr - %t508 = alloca ptr - %t558 = alloca ptr - %t559 = alloca i32 - %t560 = alloca i32 - %t561 = alloca i32 - %t562 = alloca i32 - %t590 = alloca ptr - %t621 = alloca ptr + %t243 = alloca i32 + %t274 = alloca ptr + %t287 = alloca ptr + %t292 = alloca i32 + %t307 = alloca i32 + %t316 = alloca ptr + %t388 = alloca ptr + %t415 = alloca ptr + %t461 = alloca ptr + %t469 = alloca ptr + %t503 = alloca ptr + %t553 = alloca ptr + %t554 = alloca i32 + %t555 = alloca i32 + %t556 = alloca i32 + %t557 = alloca i32 + %t585 = alloca ptr + %t616 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 @@ -16558,7 +18151,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 @.str163) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str166) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t13 @@ -16567,7 +18160,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 @.str164) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str167) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t13 @@ -16581,7 +18174,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 @.str165) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str168) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: @@ -16612,7 +18205,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 @.str166) + %t54 = call i32 @fn_is_op(ptr @.str169) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then11, label %ifend13 then11: @@ -16625,7 +18218,7 @@ then11: store ptr %t60, ptr %t59 br label %ifend13 ifend13: - %t61 = call i32 @fn_is_op(ptr @.str167) + %t61 = call i32 @fn_is_op(ptr @.str170) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then14, label %ifend16 then14: @@ -16645,7 +18238,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 @.str168) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str171) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then17, label %ifend19 then17: @@ -16669,7 +18262,7 @@ then17: store i32 %t90, ptr %t78 br i1 %t89, label %sc20, label %scend21 sc20: - %t91 = call i32 @fn_is_op(ptr @.str169) + %t91 = call i32 @fn_is_op(ptr @.str172) %t92 = icmp eq i32 %t91, 0 %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 @@ -16694,7 +18287,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 @.str170) + %t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str173) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then25, label %ifend27 then25: @@ -16714,7 +18307,7 @@ then25: %t117 = load i32, ptr @g_pi store i32 %t117, ptr %t118 call void @fn_skipnl() - %t119 = call i32 @fn_is_id(ptr @.str171) + %t119 = call i32 @fn_is_id(ptr @.str174) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then28, label %else29 then28: @@ -16722,7 +18315,7 @@ then28: %t122 = add i32 %t121, 1 store i32 %t122, ptr @g_pi call void @fn_skipnl() - %t123 = call i32 @fn_is_id(ptr @.str172) + %t123 = call i32 @fn_is_id(ptr @.str175) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then31, label %else32 then31: @@ -16751,7 +18344,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 @.str173) + %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str176) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then34, label %ifend36 then34: @@ -16775,14 +18368,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 @.str174) + %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str177) %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 @.str175) + %t156 = call i32 @fn_is_op(ptr @.str178) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then40, label %ifend42 then40: @@ -16802,7 +18395,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 @.str176) + call void @fn_eat_op(ptr @.str179) %t169 = load ptr, ptr %t160 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5 %t171 = call ptr @fn_expr() @@ -16818,7 +18411,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 @.str177) + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str180) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then43, label %ifend45 then43: @@ -16829,7 +18422,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 @.str178) + %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str181) %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then46, label %ifend48 then46: @@ -16843,7 +18436,7 @@ then46: %t193 = call ptr @fn_expr() store ptr %t193, ptr %t192 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str179) + call void @fn_eat_op(ptr @.str182) store i32 0, ptr %t194 br label %wcond49 wcond49: @@ -16851,7 +18444,7 @@ wcond49: br i1 %t195, label %wbody50, label %wend51 wbody50: call void @fn_skipnl() - %t196 = call i32 @fn_is_op(ptr @.str180) + %t196 = call i32 @fn_is_op(ptr @.str183) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then52, label %ifend54 then52: @@ -16865,9 +18458,9 @@ 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 @.str181) + %t205 = call i32 @fn_is_op(ptr @.str184) %t206 = icmp ne i32 %t205, 0 - br i1 %t206, label %then55, label %else56 + br i1 %t206, label %then55, label %ifend57 then55: %t207 = load i32, ptr @g_pi %t208 = add i32 %t207, 1 @@ -16877,675 +18470,667 @@ then55: %t211 = call ptr @fn_expr() store ptr %t211, ptr %t210 br label %ifend57 -else56: - %t212 = call ptr @fn_node(i32 30) - store ptr %t212, ptr %t213 - %t214 = load ptr, ptr %t213 - %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 2 - %t216 = load i32, ptr %t194 - store i32 %t216, ptr %t215 - %t217 = load ptr, ptr %t201 - %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 5 - %t219 = load ptr, ptr %t213 - store ptr %t219, ptr %t218 - br label %ifend57 ifend57: + %t212 = load ptr, ptr %t201 + %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 2 + %t214 = load i32, ptr %t194 + store i32 %t214, ptr %t213 call void @fn_skipnl() - %t220 = load ptr, ptr %t201 - %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 4 - %t222 = call ptr @fn_block() - store ptr %t222, ptr %t221 - %t223 = load ptr, ptr %t190 - %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 7 - %t225 = load ptr, ptr %t224 - %t226 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 - %t227 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 2 - %t228 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 - %t229 = load i32, ptr %t226 - %t230 = load i32, ptr %t227 - %t231 = icmp sge i32 %t229, %t230 - br i1 %t231, label %grow58, label %put59 + %t215 = load ptr, ptr %t201 + %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 4 + %t217 = call ptr @fn_block() + store ptr %t217, ptr %t216 + %t218 = load ptr, ptr %t190 + %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 + %t220 = load ptr, ptr %t219 + %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 + %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 2 + %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 + %t224 = load i32, ptr %t221 + %t225 = load i32, ptr %t222 + %t226 = icmp sge i32 %t224, %t225 + br i1 %t226, label %grow58, label %put59 grow58: - %t232 = mul i32 %t230, 2 - %t233 = icmp eq i32 %t230, 0 - %t234 = select i1 %t233, i32 8, i32 %t232 - %t235 = getelementptr ptr, ptr null, i32 1 - %t236 = ptrtoint ptr %t235 to i64 - %t237 = zext i32 %t234 to i64 - %t238 = mul i64 %t237, %t236 - %t239 = load ptr, ptr %t228 - %t240 = call ptr @realloc(ptr %t239, i64 %t238) - store ptr %t240, ptr %t228 - store i32 %t234, ptr %t227 + %t227 = mul i32 %t225, 2 + %t228 = icmp eq i32 %t225, 0 + %t229 = select i1 %t228, i32 8, i32 %t227 + %t230 = getelementptr ptr, ptr null, i32 1 + %t231 = ptrtoint ptr %t230 to i64 + %t232 = zext i32 %t229 to i64 + %t233 = mul i64 %t232, %t231 + %t234 = load ptr, ptr %t223 + %t235 = call ptr @realloc(ptr %t234, i64 %t233) + store ptr %t235, ptr %t223 + store i32 %t229, ptr %t222 br label %put59 put59: - %t241 = load ptr, ptr %t201 - %t242 = load ptr, ptr %t228 - %t243 = getelementptr inbounds ptr, ptr %t242, i32 %t229 - store ptr %t241, ptr %t243 - %t244 = add i32 %t229, 1 - store i32 %t244, ptr %t226 - %t245 = load i32, ptr %t194 - %t246 = add i32 %t245, 1 - store i32 %t246, ptr %t194 + %t236 = load ptr, ptr %t201 + %t237 = load ptr, ptr %t223 + %t238 = getelementptr inbounds ptr, ptr %t237, i32 %t224 + store ptr %t236, ptr %t238 + %t239 = add i32 %t224, 1 + store i32 %t239, ptr %t221 + %t240 = load i32, ptr %t194 + %t241 = add i32 %t240, 1 + store i32 %t241, ptr %t194 br label %wcond49 wend51: - call void @fn_eat_op(ptr @.str182) - %t247 = load ptr, ptr %t190 - store ptr %t247, ptr %retval + call void @fn_eat_op(ptr @.str185) + %t242 = load ptr, ptr %t190 + store ptr %t242, ptr %retval br label %ret ifend48: - %t249 = load ptr, ptr %t6 - %t250 = getelementptr inbounds %Cmp_Tok, ptr %t249, i32 0, i32 1 - %t251 = load ptr, ptr %t250 - %t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str183) - %t253 = icmp ne i32 %t252, 0 - %t254 = zext i1 %t253 to i32 - store i32 %t254, ptr %t248 - br i1 %t253, label %sc60, label %scend61 + %t244 = load ptr, ptr %t6 + %t245 = getelementptr inbounds %Cmp_Tok, ptr %t244, i32 0, i32 1 + %t246 = load ptr, ptr %t245 + %t247 = call i32 @fn_str_eq(ptr %t246, ptr @.str186) + %t248 = icmp ne i32 %t247, 0 + %t249 = zext i1 %t248 to i32 + store i32 %t249, ptr %t243 + br i1 %t248, label %sc60, label %scend61 sc60: - %t255 = load ptr, ptr @g_toks - %t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 - %t257 = load ptr, ptr %t256 - %t258 = load i32, ptr @g_pi - %t259 = add i32 %t258, 1 - %t260 = getelementptr inbounds ptr, ptr %t257, i32 %t259 - %t261 = load ptr, ptr %t260 - %t262 = getelementptr inbounds %Cmp_Tok, ptr %t261, i32 0, i32 0 - %t263 = load i32, ptr %t262 - %t264 = icmp eq i32 %t263, 0 - %t265 = zext i1 %t264 to i32 - %t266 = icmp ne i32 %t265, 0 - %t267 = zext i1 %t266 to i32 - store i32 %t267, ptr %t248 + %t250 = load ptr, ptr @g_toks + %t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 + %t252 = load ptr, ptr %t251 + %t253 = load i32, ptr @g_pi + %t254 = add i32 %t253, 1 + %t255 = getelementptr inbounds ptr, ptr %t252, i32 %t254 + %t256 = load ptr, ptr %t255 + %t257 = getelementptr inbounds %Cmp_Tok, ptr %t256, i32 0, i32 0 + %t258 = load i32, ptr %t257 + %t259 = icmp eq i32 %t258, 0 + %t260 = zext i1 %t259 to i32 + %t261 = icmp ne i32 %t260, 0 + %t262 = zext i1 %t261 to i32 + store i32 %t262, ptr %t243 br label %scend61 scend61: - %t268 = load i32, ptr %t248 - %t269 = icmp ne i32 %t268, 0 - br i1 %t269, label %then62, label %ifend64 + %t263 = load i32, ptr %t243 + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then62, label %ifend64 then62: - %t270 = call ptr @fn_parse_emit() - store ptr %t270, ptr %retval + %t265 = call ptr @fn_parse_emit() + store ptr %t265, ptr %retval br label %ret ifend64: - %t271 = load ptr, ptr %t6 - %t272 = getelementptr inbounds %Cmp_Tok, ptr %t271, i32 0, i32 1 - %t273 = load ptr, ptr %t272 - %t274 = call i32 @fn_str_eq(ptr %t273, ptr @.str184) - %t275 = icmp ne i32 %t274, 0 - br i1 %t275, label %then65, label %ifend67 + %t266 = load ptr, ptr %t6 + %t267 = getelementptr inbounds %Cmp_Tok, ptr %t266, i32 0, i32 1 + %t268 = load ptr, ptr %t267 + %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str187) + %t270 = icmp ne i32 %t269, 0 + br i1 %t270, label %then65, label %ifend67 then65: - %t276 = load i32, ptr @g_pi - %t277 = add i32 %t276, 1 - store i32 %t277, ptr @g_pi - %t278 = call ptr @fn_node(i32 26) - store ptr %t278, ptr %t279 - %t280 = load ptr, ptr %t279 - %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1 - %t282 = call ptr @fn_eat_id() - store ptr %t282, ptr %t281 - %t283 = load ptr, ptr %t279 - store ptr %t283, ptr %retval + %t271 = load i32, ptr @g_pi + %t272 = add i32 %t271, 1 + store i32 %t272, ptr @g_pi + %t273 = call ptr @fn_node(i32 26) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t274 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 1 + %t277 = call ptr @fn_eat_id() + store ptr %t277, ptr %t276 + %t278 = load ptr, ptr %t274 + store ptr %t278, ptr %retval br label %ret ifend67: - %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 @.str185) - %t288 = icmp ne i32 %t287, 0 - br i1 %t288, label %then68, label %ifend70 + %t279 = load ptr, ptr %t6 + %t280 = getelementptr inbounds %Cmp_Tok, ptr %t279, i32 0, i32 1 + %t281 = load ptr, ptr %t280 + %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str188) + %t283 = icmp ne i32 %t282, 0 + br i1 %t283, label %then68, label %ifend70 then68: - %t289 = load i32, ptr @g_pi - %t290 = add i32 %t289, 1 - store i32 %t290, ptr @g_pi - %t291 = call ptr @fn_node(i32 23) - store ptr %t291, ptr %t292 - %t293 = load ptr, ptr %t292 - %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 4 - %t295 = call ptr @fn_expr() - store ptr %t295, ptr %t294 - %t296 = load ptr, ptr %t292 - store ptr %t296, ptr %retval + %t284 = load i32, ptr @g_pi + %t285 = add i32 %t284, 1 + store i32 %t285, ptr @g_pi + %t286 = call ptr @fn_node(i32 23) + store ptr %t286, ptr %t287 + %t288 = load ptr, ptr %t287 + %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 4 + %t290 = call ptr @fn_expr() + store ptr %t290, ptr %t289 + %t291 = load ptr, ptr %t287 + store ptr %t291, ptr %retval br label %ret ifend70: - %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 @.str186) - %t302 = icmp ne i32 %t301, 0 - %t303 = zext i1 %t302 to i32 - store i32 %t303, ptr %t297 - br i1 %t302, label %scend72, label %sc71 + %t293 = load ptr, ptr %t6 + %t294 = getelementptr inbounds %Cmp_Tok, ptr %t293, i32 0, i32 1 + %t295 = load ptr, ptr %t294 + %t296 = call i32 @fn_str_eq(ptr %t295, ptr @.str189) + %t297 = icmp ne i32 %t296, 0 + %t298 = zext i1 %t297 to i32 + store i32 %t298, ptr %t292 + br i1 %t297, label %scend72, label %sc71 sc71: - %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 @.str187) - %t308 = icmp ne i32 %t307, 0 - %t309 = zext i1 %t308 to i32 - store i32 %t309, ptr %t297 + %t299 = load ptr, ptr %t6 + %t300 = getelementptr inbounds %Cmp_Tok, ptr %t299, i32 0, i32 1 + %t301 = load ptr, ptr %t300 + %t302 = call i32 @fn_str_eq(ptr %t301, ptr @.str190) + %t303 = icmp ne i32 %t302, 0 + %t304 = zext i1 %t303 to i32 + store i32 %t304, ptr %t292 br label %scend72 scend72: - %t310 = load i32, ptr %t297 - %t311 = icmp ne i32 %t310, 0 - br i1 %t311, label %then73, label %ifend75 + %t305 = load i32, ptr %t292 + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then73, label %ifend75 then73: - store i32 0, ptr %t312 - %t313 = load ptr, ptr %t6 - %t314 = getelementptr inbounds %Cmp_Tok, ptr %t313, i32 0, i32 1 - %t315 = load ptr, ptr %t314 - %t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str188) - %t317 = icmp ne i32 %t316, 0 - br i1 %t317, label %then76, label %ifend78 + store i32 0, ptr %t307 + %t308 = load ptr, ptr %t6 + %t309 = getelementptr inbounds %Cmp_Tok, ptr %t308, i32 0, i32 1 + %t310 = load ptr, ptr %t309 + %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str191) + %t312 = icmp ne i32 %t311, 0 + br i1 %t312, label %then76, label %ifend78 then76: - store i32 1, ptr %t312 + store i32 1, ptr %t307 br label %ifend78 ifend78: - %t318 = load i32, ptr @g_pi - %t319 = add i32 %t318, 1 - store i32 %t319, ptr @g_pi - %t320 = call ptr @fn_node(i32 28) - store ptr %t320, ptr %t321 - %t322 = load ptr, ptr %t321 - %t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 2 - %t324 = load i32, ptr %t312 - store i32 %t324, ptr %t323 - %t325 = call i32 @fn_is_id(ptr @.str189) - %t326 = icmp ne i32 %t325, 0 - br i1 %t326, label %then79, label %ifend81 + %t313 = load i32, ptr @g_pi + %t314 = add i32 %t313, 1 + store i32 %t314, ptr @g_pi + %t315 = call ptr @fn_node(i32 28) + store ptr %t315, ptr %t316 + %t317 = load ptr, ptr %t316 + %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 2 + %t319 = load i32, ptr %t307 + store i32 %t319, ptr %t318 + %t320 = call i32 @fn_is_id(ptr @.str192) + %t321 = icmp ne i32 %t320, 0 + br i1 %t321, label %then79, label %ifend81 then79: - %t327 = load i32, ptr @g_pi - %t328 = add i32 %t327, 1 - store i32 %t328, ptr @g_pi - %t329 = load ptr, ptr %t321 - %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 3 - store ptr @.str190, ptr %t330 - %t331 = load ptr, ptr %t321 - %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 1 - %t333 = call ptr @fn_eat_id() - store ptr %t333, ptr %t332 - %t334 = load ptr, ptr %t321 - %t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 1 - %t336 = load ptr, ptr %t335 - call void @fn_note_toggled_layer(ptr %t336) - %t337 = load ptr, ptr %t321 - store ptr %t337, ptr %retval + %t322 = load i32, ptr @g_pi + %t323 = add i32 %t322, 1 + store i32 %t323, ptr @g_pi + %t324 = load ptr, ptr %t316 + %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 3 + store ptr @.str193, ptr %t325 + %t326 = load ptr, ptr %t316 + %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1 + %t328 = call ptr @fn_eat_id() + store ptr %t328, ptr %t327 + %t329 = load ptr, ptr %t316 + %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 1 + %t331 = load ptr, ptr %t330 + call void @fn_note_toggled_layer(ptr %t331) + %t332 = load ptr, ptr %t316 + store ptr %t332, ptr %retval br label %ret ifend81: - %t338 = call i32 @fn_is_id(ptr @.str191) - %t339 = icmp ne i32 %t338, 0 - br i1 %t339, label %then82, label %ifend84 + %t333 = call i32 @fn_is_id(ptr @.str194) + %t334 = icmp ne i32 %t333, 0 + br i1 %t334, label %then82, label %ifend84 then82: - %t340 = load i32, ptr @g_pi - %t341 = add i32 %t340, 1 - store i32 %t341, ptr @g_pi - %t342 = load ptr, ptr %t321 - %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 3 - store ptr @.str192, ptr %t343 - %t344 = load ptr, ptr %t321 - %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 1 - %t346 = call ptr @fn_eat_id() - store ptr %t346, ptr %t345 - %t347 = load i32, ptr %t312 - %t348 = icmp eq i32 %t347, 0 - %t349 = zext i1 %t348 to i32 - %t350 = icmp ne i32 %t349, 0 - br i1 %t350, label %then85, label %ifend87 + %t335 = load i32, ptr @g_pi + %t336 = add i32 %t335, 1 + store i32 %t336, ptr @g_pi + %t337 = load ptr, ptr %t316 + %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 3 + store ptr @.str195, ptr %t338 + %t339 = load ptr, ptr %t316 + %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 1 + %t341 = call ptr @fn_eat_id() + store ptr %t341, ptr %t340 + %t342 = load i32, ptr %t307 + %t343 = icmp eq i32 %t342, 0 + %t344 = zext i1 %t343 to i32 + %t345 = icmp ne i32 %t344, 0 + br i1 %t345, label %then85, label %ifend87 then85: - %t351 = load ptr, ptr @g_g_disabled_sys - %t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 1 - %t353 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 2 - %t354 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0 - %t355 = load i32, ptr %t352 - %t356 = load i32, ptr %t353 - %t357 = icmp sge i32 %t355, %t356 - br i1 %t357, label %grow88, label %put89 + %t346 = load ptr, ptr @g_g_disabled_sys + %t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1 + %t348 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 2 + %t349 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 + %t350 = load i32, ptr %t347 + %t351 = load i32, ptr %t348 + %t352 = icmp sge i32 %t350, %t351 + br i1 %t352, label %grow88, label %put89 grow88: - %t358 = mul i32 %t356, 2 - %t359 = icmp eq i32 %t356, 0 - %t360 = select i1 %t359, i32 8, i32 %t358 - %t361 = getelementptr ptr, ptr null, i32 1 - %t362 = ptrtoint ptr %t361 to i64 - %t363 = zext i32 %t360 to i64 - %t364 = mul i64 %t363, %t362 - %t365 = load ptr, ptr %t354 - %t366 = call ptr @realloc(ptr %t365, i64 %t364) - store ptr %t366, ptr %t354 - store i32 %t360, ptr %t353 + %t353 = mul i32 %t351, 2 + %t354 = icmp eq i32 %t351, 0 + %t355 = select i1 %t354, i32 8, i32 %t353 + %t356 = getelementptr ptr, ptr null, i32 1 + %t357 = ptrtoint ptr %t356 to i64 + %t358 = zext i32 %t355 to i64 + %t359 = mul i64 %t358, %t357 + %t360 = load ptr, ptr %t349 + %t361 = call ptr @realloc(ptr %t360, i64 %t359) + store ptr %t361, ptr %t349 + store i32 %t355, ptr %t348 br label %put89 put89: - %t367 = load ptr, ptr %t321 - %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 1 - %t369 = load ptr, ptr %t368 - %t370 = load ptr, ptr %t354 - %t371 = getelementptr inbounds ptr, ptr %t370, i32 %t355 - store ptr %t369, ptr %t371 - %t372 = add i32 %t355, 1 - store i32 %t372, ptr %t352 + %t362 = load ptr, ptr %t316 + %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 1 + %t364 = load ptr, ptr %t363 + %t365 = load ptr, ptr %t349 + %t366 = getelementptr inbounds ptr, ptr %t365, i32 %t350 + store ptr %t364, ptr %t366 + %t367 = add i32 %t350, 1 + store i32 %t367, ptr %t347 br label %ifend87 ifend87: - %t373 = load ptr, ptr %t321 - store ptr %t373, ptr %retval + %t368 = load ptr, ptr %t316 + store ptr %t368, ptr %retval br label %ret ifend84: - %t374 = load ptr, ptr %t321 - %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 1 - %t376 = call ptr @fn_eat_id() - store ptr %t376, ptr %t375 - %t377 = call i32 @fn_is_id(ptr @.str193) - %t378 = icmp ne i32 %t377, 0 - br i1 %t378, label %then90, label %ifend92 + %t369 = load ptr, ptr %t316 + %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 1 + %t371 = call ptr @fn_eat_id() + store ptr %t371, ptr %t370 + %t372 = call i32 @fn_is_id(ptr @.str196) + %t373 = icmp ne i32 %t372, 0 + br i1 %t373, label %then90, label %ifend92 then90: - %t379 = load i32, ptr @g_pi - %t380 = add i32 %t379, 1 - store i32 %t380, ptr @g_pi - %t381 = load ptr, ptr %t321 - %t382 = getelementptr inbounds %Cmp_Node, ptr %t381, i32 0, i32 4 - %t383 = call ptr @fn_expr() - store ptr %t383, ptr %t382 + %t374 = load i32, ptr @g_pi + %t375 = add i32 %t374, 1 + store i32 %t375, ptr @g_pi + %t376 = load ptr, ptr %t316 + %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 4 + %t378 = call ptr @fn_expr() + store ptr %t378, ptr %t377 br label %ifend92 ifend92: - %t384 = load ptr, ptr %t321 - store ptr %t384, ptr %retval + %t379 = load ptr, ptr %t316 + store ptr %t379, ptr %retval br label %ret ifend75: - %t385 = load ptr, ptr %t6 - %t386 = getelementptr inbounds %Cmp_Tok, ptr %t385, i32 0, i32 1 - %t387 = load ptr, ptr %t386 - %t388 = call i32 @fn_str_eq(ptr %t387, ptr @.str194) - %t389 = icmp ne i32 %t388, 0 - br i1 %t389, label %then93, label %ifend95 + %t380 = load ptr, ptr %t6 + %t381 = getelementptr inbounds %Cmp_Tok, ptr %t380, i32 0, i32 1 + %t382 = load ptr, ptr %t381 + %t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str197) + %t384 = icmp ne i32 %t383, 0 + br i1 %t384, label %then93, label %ifend95 then93: - %t390 = load i32, ptr @g_pi - %t391 = add i32 %t390, 1 - store i32 %t391, ptr @g_pi - %t392 = call ptr @fn_node(i32 46) - store ptr %t392, ptr %t393 - %t394 = load ptr, ptr %t393 - %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 1 - %t396 = call ptr @fn_eat_id() - store ptr %t396, ptr %t395 - %t397 = call i32 @fn_is_id(ptr @.str195) - %t398 = icmp eq i32 %t397, 0 - %t399 = zext i1 %t398 to i32 - %t400 = icmp ne i32 %t399, 0 - br i1 %t400, label %then96, label %ifend98 + %t385 = load i32, ptr @g_pi + %t386 = add i32 %t385, 1 + store i32 %t386, ptr @g_pi + %t387 = call ptr @fn_node(i32 46) + store ptr %t387, ptr %t388 + %t389 = load ptr, ptr %t388 + %t390 = getelementptr inbounds %Cmp_Node, ptr %t389, i32 0, i32 1 + %t391 = call ptr @fn_eat_id() + store ptr %t391, ptr %t390 + %t392 = call i32 @fn_is_id(ptr @.str198) + %t393 = icmp eq i32 %t392, 0 + %t394 = zext i1 %t393 to i32 + %t395 = icmp ne i32 %t394, 0 + br i1 %t395, label %then96, label %ifend98 then96: - call void @fn_perr(ptr @.str196) + call void @fn_perr(ptr @.str199) br label %ifend98 ifend98: - %t401 = load i32, ptr @g_pi - %t402 = add i32 %t401, 1 - store i32 %t402, ptr @g_pi - %t403 = load ptr, ptr %t393 - %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 4 - %t405 = call ptr @fn_expr() - store ptr %t405, ptr %t404 - %t406 = call i32 @fn_is_op(ptr @.str197) - %t407 = icmp ne i32 %t406, 0 - br i1 %t407, label %then99, label %ifend101 + %t396 = load i32, ptr @g_pi + %t397 = add i32 %t396, 1 + store i32 %t397, ptr @g_pi + %t398 = load ptr, ptr %t388 + %t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 4 + %t400 = call ptr @fn_expr() + store ptr %t400, ptr %t399 + %t401 = call i32 @fn_is_op(ptr @.str200) + %t402 = icmp ne i32 %t401, 0 + br i1 %t402, label %then99, label %ifend101 then99: - %t408 = load ptr, ptr %t393 - %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 5 - %t410 = call ptr @fn_record() - store ptr %t410, ptr %t409 + %t403 = load ptr, ptr %t388 + %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 5 + %t405 = call ptr @fn_record() + store ptr %t405, ptr %t404 br label %ifend101 ifend101: - %t411 = load ptr, ptr %t393 - store ptr %t411, ptr %retval + %t406 = load ptr, ptr %t388 + store ptr %t406, ptr %retval br label %ret ifend95: - %t412 = load ptr, ptr %t6 - %t413 = getelementptr inbounds %Cmp_Tok, ptr %t412, i32 0, i32 1 - %t414 = load ptr, ptr %t413 - %t415 = call i32 @fn_str_eq(ptr %t414, ptr @.str198) - %t416 = icmp ne i32 %t415, 0 - br i1 %t416, label %then102, label %ifend104 + %t407 = load ptr, ptr %t6 + %t408 = getelementptr inbounds %Cmp_Tok, ptr %t407, i32 0, i32 1 + %t409 = load ptr, ptr %t408 + %t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str201) + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then102, label %ifend104 then102: - %t417 = load i32, ptr @g_pi - %t418 = add i32 %t417, 1 - store i32 %t418, ptr @g_pi - %t419 = call ptr @fn_node(i32 47) - store ptr %t419, ptr %t420 - %t421 = load ptr, ptr %t420 - %t422 = getelementptr inbounds %Cmp_Node, ptr %t421, i32 0, i32 1 - %t423 = call ptr @fn_eat_id() - store ptr %t423, ptr %t422 - %t424 = call i32 @fn_is_id(ptr @.str199) - %t425 = icmp eq i32 %t424, 0 - %t426 = zext i1 %t425 to i32 - %t427 = icmp ne i32 %t426, 0 - br i1 %t427, label %then105, label %ifend107 + %t412 = load i32, ptr @g_pi + %t413 = add i32 %t412, 1 + store i32 %t413, ptr @g_pi + %t414 = call ptr @fn_node(i32 47) + store ptr %t414, ptr %t415 + %t416 = load ptr, ptr %t415 + %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1 + %t418 = call ptr @fn_eat_id() + store ptr %t418, ptr %t417 + %t419 = call i32 @fn_is_id(ptr @.str202) + %t420 = icmp eq i32 %t419, 0 + %t421 = zext i1 %t420 to i32 + %t422 = icmp ne i32 %t421, 0 + br i1 %t422, label %then105, label %ifend107 then105: - call void @fn_perr(ptr @.str200) + call void @fn_perr(ptr @.str203) br label %ifend107 ifend107: - %t428 = load i32, ptr @g_pi - %t429 = add i32 %t428, 1 - store i32 %t429, ptr @g_pi - %t430 = load ptr, ptr %t420 - %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 4 - %t432 = call ptr @fn_expr() - store ptr %t432, ptr %t431 - %t433 = load ptr, ptr %t420 - store ptr %t433, ptr %retval + %t423 = load i32, ptr @g_pi + %t424 = add i32 %t423, 1 + store i32 %t424, ptr @g_pi + %t425 = load ptr, ptr %t415 + %t426 = getelementptr inbounds %Cmp_Node, ptr %t425, i32 0, i32 4 + %t427 = call ptr @fn_expr() + store ptr %t427, ptr %t426 + %t428 = load ptr, ptr %t415 + store ptr %t428, ptr %retval br label %ret ifend104: - %t434 = load ptr, ptr %t6 - %t435 = getelementptr inbounds %Cmp_Tok, ptr %t434, i32 0, i32 1 - %t436 = load ptr, ptr %t435 - %t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str201) - %t438 = icmp ne i32 %t437, 0 - br i1 %t438, label %then108, label %ifend110 + %t429 = load ptr, ptr %t6 + %t430 = getelementptr inbounds %Cmp_Tok, ptr %t429, i32 0, i32 1 + %t431 = load ptr, ptr %t430 + %t432 = call i32 @fn_str_eq(ptr %t431, ptr @.str204) + %t433 = icmp ne i32 %t432, 0 + br i1 %t433, label %then108, label %ifend110 then108: - %t439 = load i32, ptr @g_pi - %t440 = add i32 %t439, 1 - store i32 %t440, ptr @g_pi - %t441 = call ptr @fn_node(i32 17) - store ptr %t441, ptr %retval + %t434 = load i32, ptr @g_pi + %t435 = add i32 %t434, 1 + store i32 %t435, ptr @g_pi + %t436 = call ptr @fn_node(i32 17) + store ptr %t436, ptr %retval br label %ret ifend110: - %t442 = load ptr, ptr %t6 - %t443 = getelementptr inbounds %Cmp_Tok, ptr %t442, i32 0, i32 1 - %t444 = load ptr, ptr %t443 - %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str202) - %t446 = icmp ne i32 %t445, 0 - br i1 %t446, label %then111, label %ifend113 + %t437 = load ptr, ptr %t6 + %t438 = getelementptr inbounds %Cmp_Tok, ptr %t437, i32 0, i32 1 + %t439 = load ptr, ptr %t438 + %t440 = call i32 @fn_str_eq(ptr %t439, ptr @.str205) + %t441 = icmp ne i32 %t440, 0 + br i1 %t441, label %then111, label %ifend113 then111: - %t447 = load i32, ptr @g_pi - %t448 = add i32 %t447, 1 - store i32 %t448, ptr @g_pi - %t449 = call ptr @fn_node(i32 18) - store ptr %t449, ptr %retval + %t442 = load i32, ptr @g_pi + %t443 = add i32 %t442, 1 + store i32 %t443, ptr @g_pi + %t444 = call ptr @fn_node(i32 18) + store ptr %t444, ptr %retval br label %ret ifend113: - %t450 = load ptr, ptr %t6 - %t451 = getelementptr inbounds %Cmp_Tok, ptr %t450, i32 0, i32 1 - %t452 = load ptr, ptr %t451 - %t453 = call i32 @fn_str_eq(ptr %t452, ptr @.str203) - %t454 = icmp ne i32 %t453, 0 - br i1 %t454, label %then114, label %ifend116 + %t445 = load ptr, ptr %t6 + %t446 = getelementptr inbounds %Cmp_Tok, ptr %t445, i32 0, i32 1 + %t447 = load ptr, ptr %t446 + %t448 = call i32 @fn_str_eq(ptr %t447, ptr @.str206) + %t449 = icmp ne i32 %t448, 0 + br i1 %t449, label %then114, label %ifend116 then114: - %t455 = load i32, ptr @g_pi - %t456 = add i32 %t455, 1 - store i32 %t456, ptr @g_pi - %t457 = call ptr @fn_node(i32 50) - store ptr %t457, ptr %retval + %t450 = load i32, ptr @g_pi + %t451 = add i32 %t450, 1 + store i32 %t451, ptr @g_pi + %t452 = call ptr @fn_node(i32 50) + store ptr %t452, ptr %retval br label %ret ifend116: - %t458 = load ptr, ptr %t6 - %t459 = getelementptr inbounds %Cmp_Tok, ptr %t458, i32 0, i32 1 - %t460 = load ptr, ptr %t459 - %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str204) - %t462 = icmp ne i32 %t461, 0 - br i1 %t462, label %then117, label %ifend119 + %t453 = load ptr, ptr %t6 + %t454 = getelementptr inbounds %Cmp_Tok, ptr %t453, i32 0, i32 1 + %t455 = load ptr, ptr %t454 + %t456 = call i32 @fn_str_eq(ptr %t455, ptr @.str207) + %t457 = icmp ne i32 %t456, 0 + br i1 %t457, label %then117, label %ifend119 then117: - %t463 = load i32, ptr @g_pi - %t464 = add i32 %t463, 1 - store i32 %t464, ptr @g_pi - %t465 = call ptr @fn_node(i32 19) - store ptr %t465, ptr %t466 - %t467 = load ptr, ptr %t466 - %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 4 - %t469 = call ptr @fn_expr() - store ptr %t469, ptr %t468 + %t458 = load i32, ptr @g_pi + %t459 = add i32 %t458, 1 + store i32 %t459, ptr @g_pi + %t460 = call ptr @fn_node(i32 19) + store ptr %t460, ptr %t461 + %t462 = load ptr, ptr %t461 + %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 4 + %t464 = call ptr @fn_expr() + store ptr %t464, ptr %t463 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str205) + call void @fn_eat_op(ptr @.str208) br label %wcond120 wcond120: - %t470 = icmp ne i32 1, 0 - br i1 %t470, label %wbody121, label %wend122 + %t465 = icmp ne i32 1, 0 + br i1 %t465, label %wbody121, label %wend122 wbody121: call void @fn_skipnl() - %t471 = call i32 @fn_is_op(ptr @.str206) - %t472 = icmp ne i32 %t471, 0 - br i1 %t472, label %then123, label %ifend125 + %t466 = call i32 @fn_is_op(ptr @.str209) + %t467 = icmp ne i32 %t466, 0 + br i1 %t467, label %then123, label %ifend125 then123: br label %wend122 ifend125: - %t473 = call ptr @fn_node(i32 20) - store ptr %t473, ptr %t474 + %t468 = call ptr @fn_node(i32 20) + store ptr %t468, ptr %t469 br label %wcond126 wcond126: - %t475 = icmp ne i32 1, 0 - br i1 %t475, label %wbody127, label %wend128 + %t470 = icmp ne i32 1, 0 + br i1 %t470, label %wbody127, label %wend128 wbody127: - %t476 = load ptr, ptr %t474 - %t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 7 - %t478 = load ptr, ptr %t477 - %t479 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 1 - %t480 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 2 - %t481 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 0 - %t482 = load i32, ptr %t479 - %t483 = load i32, ptr %t480 - %t484 = icmp sge i32 %t482, %t483 - br i1 %t484, label %grow129, label %put130 + %t471 = load ptr, ptr %t469 + %t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 7 + %t473 = load ptr, ptr %t472 + %t474 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 + %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 2 + %t476 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 + %t477 = load i32, ptr %t474 + %t478 = load i32, ptr %t475 + %t479 = icmp sge i32 %t477, %t478 + br i1 %t479, label %grow129, label %put130 grow129: - %t485 = mul i32 %t483, 2 - %t486 = icmp eq i32 %t483, 0 - %t487 = select i1 %t486, i32 8, i32 %t485 - %t488 = getelementptr ptr, ptr null, i32 1 - %t489 = ptrtoint ptr %t488 to i64 - %t490 = zext i32 %t487 to i64 - %t491 = mul i64 %t490, %t489 - %t492 = load ptr, ptr %t481 - %t493 = call ptr @realloc(ptr %t492, i64 %t491) - store ptr %t493, ptr %t481 - store i32 %t487, ptr %t480 + %t480 = mul i32 %t478, 2 + %t481 = icmp eq i32 %t478, 0 + %t482 = select i1 %t481, i32 8, i32 %t480 + %t483 = getelementptr ptr, ptr null, i32 1 + %t484 = ptrtoint ptr %t483 to i64 + %t485 = zext i32 %t482 to i64 + %t486 = mul i64 %t485, %t484 + %t487 = load ptr, ptr %t476 + %t488 = call ptr @realloc(ptr %t487, i64 %t486) + store ptr %t488, ptr %t476 + store i32 %t482, ptr %t475 br label %put130 put130: - %t494 = call ptr @fn_expr() - %t495 = load ptr, ptr %t481 - %t496 = getelementptr inbounds ptr, ptr %t495, i32 %t482 - store ptr %t494, ptr %t496 - %t497 = add i32 %t482, 1 - store i32 %t497, ptr %t479 - %t498 = call i32 @fn_is_op(ptr @.str207) - %t499 = icmp ne i32 %t498, 0 - br i1 %t499, label %then131, label %ifend133 + %t489 = call ptr @fn_expr() + %t490 = load ptr, ptr %t476 + %t491 = getelementptr inbounds ptr, ptr %t490, i32 %t477 + store ptr %t489, ptr %t491 + %t492 = add i32 %t477, 1 + store i32 %t492, ptr %t474 + %t493 = call i32 @fn_is_op(ptr @.str210) + %t494 = icmp ne i32 %t493, 0 + br i1 %t494, label %then131, label %ifend133 then131: - %t500 = load i32, ptr @g_pi - %t501 = add i32 %t500, 1 - store i32 %t501, ptr @g_pi + %t495 = load i32, ptr @g_pi + %t496 = add i32 %t495, 1 + store i32 %t496, ptr @g_pi call void @fn_skipnl() br label %wcond126 ifend133: br label %wend128 wend128: - call void @fn_eat_op(ptr @.str208) + call void @fn_eat_op(ptr @.str211) call void @fn_skipnl() - %t502 = call i32 @fn_is_op(ptr @.str209) - %t503 = icmp ne i32 %t502, 0 - br i1 %t503, label %then134, label %else135 + %t497 = call i32 @fn_is_op(ptr @.str212) + %t498 = icmp ne i32 %t497, 0 + br i1 %t498, label %then134, label %else135 then134: - %t504 = load ptr, ptr %t474 - %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 4 - %t506 = call ptr @fn_block() - store ptr %t506, ptr %t505 + %t499 = load ptr, ptr %t469 + %t500 = getelementptr inbounds %Cmp_Node, ptr %t499, i32 0, i32 4 + %t501 = call ptr @fn_block() + store ptr %t501, ptr %t500 br label %ifend136 else135: - %t507 = call ptr @fn_node(i32 7) - store ptr %t507, ptr %t508 - %t509 = load ptr, ptr %t508 - %t510 = getelementptr inbounds %Cmp_Node, ptr %t509, i32 0, i32 7 - %t511 = load ptr, ptr %t510 - %t512 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 1 - %t513 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 2 - %t514 = getelementptr inbounds %LSlice, ptr %t511, i32 0, i32 0 - %t515 = load i32, ptr %t512 - %t516 = load i32, ptr %t513 - %t517 = icmp sge i32 %t515, %t516 - br i1 %t517, label %grow137, label %put138 + %t502 = call ptr @fn_node(i32 7) + store ptr %t502, ptr %t503 + %t504 = load ptr, ptr %t503 + %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 7 + %t506 = load ptr, ptr %t505 + %t507 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1 + %t508 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2 + %t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0 + %t510 = load i32, ptr %t507 + %t511 = load i32, ptr %t508 + %t512 = icmp sge i32 %t510, %t511 + br i1 %t512, label %grow137, label %put138 grow137: - %t518 = mul i32 %t516, 2 - %t519 = icmp eq i32 %t516, 0 - %t520 = select i1 %t519, i32 8, i32 %t518 - %t521 = getelementptr ptr, ptr null, i32 1 - %t522 = ptrtoint ptr %t521 to i64 - %t523 = zext i32 %t520 to i64 - %t524 = mul i64 %t523, %t522 - %t525 = load ptr, ptr %t514 - %t526 = call ptr @realloc(ptr %t525, i64 %t524) - store ptr %t526, ptr %t514 - store i32 %t520, ptr %t513 + %t513 = mul i32 %t511, 2 + %t514 = icmp eq i32 %t511, 0 + %t515 = select i1 %t514, i32 8, i32 %t513 + %t516 = getelementptr ptr, ptr null, i32 1 + %t517 = ptrtoint ptr %t516 to i64 + %t518 = zext i32 %t515 to i64 + %t519 = mul i64 %t518, %t517 + %t520 = load ptr, ptr %t509 + %t521 = call ptr @realloc(ptr %t520, i64 %t519) + store ptr %t521, ptr %t509 + store i32 %t515, ptr %t508 br label %put138 put138: - %t527 = call ptr @fn_stmt() - %t528 = load ptr, ptr %t514 - %t529 = getelementptr inbounds ptr, ptr %t528, i32 %t515 - store ptr %t527, ptr %t529 - %t530 = add i32 %t515, 1 - store i32 %t530, ptr %t512 - %t531 = load ptr, ptr %t474 - %t532 = getelementptr inbounds %Cmp_Node, ptr %t531, i32 0, i32 4 - %t533 = load ptr, ptr %t508 - store ptr %t533, ptr %t532 + %t522 = call ptr @fn_stmt() + %t523 = load ptr, ptr %t509 + %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t510 + store ptr %t522, ptr %t524 + %t525 = add i32 %t510, 1 + store i32 %t525, ptr %t507 + %t526 = load ptr, ptr %t469 + %t527 = getelementptr inbounds %Cmp_Node, ptr %t526, i32 0, i32 4 + %t528 = load ptr, ptr %t503 + store ptr %t528, ptr %t527 br label %ifend136 ifend136: - %t534 = load ptr, ptr %t466 - %t535 = getelementptr inbounds %Cmp_Node, ptr %t534, i32 0, i32 7 - %t536 = load ptr, ptr %t535 - %t537 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 1 - %t538 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 2 - %t539 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 0 - %t540 = load i32, ptr %t537 - %t541 = load i32, ptr %t538 - %t542 = icmp sge i32 %t540, %t541 - br i1 %t542, label %grow139, label %put140 + %t529 = load ptr, ptr %t461 + %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 7 + %t531 = load ptr, ptr %t530 + %t532 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 1 + %t533 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 2 + %t534 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0 + %t535 = load i32, ptr %t532 + %t536 = load i32, ptr %t533 + %t537 = icmp sge i32 %t535, %t536 + br i1 %t537, label %grow139, label %put140 grow139: - %t543 = mul i32 %t541, 2 - %t544 = icmp eq i32 %t541, 0 - %t545 = select i1 %t544, i32 8, i32 %t543 - %t546 = getelementptr ptr, ptr null, i32 1 - %t547 = ptrtoint ptr %t546 to i64 - %t548 = zext i32 %t545 to i64 - %t549 = mul i64 %t548, %t547 - %t550 = load ptr, ptr %t539 - %t551 = call ptr @realloc(ptr %t550, i64 %t549) - store ptr %t551, ptr %t539 - store i32 %t545, ptr %t538 + %t538 = mul i32 %t536, 2 + %t539 = icmp eq i32 %t536, 0 + %t540 = select i1 %t539, i32 8, i32 %t538 + %t541 = getelementptr ptr, ptr null, i32 1 + %t542 = ptrtoint ptr %t541 to i64 + %t543 = zext i32 %t540 to i64 + %t544 = mul i64 %t543, %t542 + %t545 = load ptr, ptr %t534 + %t546 = call ptr @realloc(ptr %t545, i64 %t544) + store ptr %t546, ptr %t534 + store i32 %t540, ptr %t533 br label %put140 put140: - %t552 = load ptr, ptr %t474 - %t553 = load ptr, ptr %t539 - %t554 = getelementptr inbounds ptr, ptr %t553, i32 %t540 - store ptr %t552, ptr %t554 - %t555 = add i32 %t540, 1 - store i32 %t555, ptr %t537 + %t547 = load ptr, ptr %t469 + %t548 = load ptr, ptr %t534 + %t549 = getelementptr inbounds ptr, ptr %t548, i32 %t535 + store ptr %t547, ptr %t549 + %t550 = add i32 %t535, 1 + store i32 %t550, ptr %t532 br label %wcond120 wend122: - call void @fn_eat_op(ptr @.str210) - %t556 = load ptr, ptr %t466 - store ptr %t556, ptr %retval + call void @fn_eat_op(ptr @.str213) + %t551 = load ptr, ptr %t461 + store ptr %t551, ptr %retval br label %ret ifend119: br label %ifend2 ifend2: - %t557 = call ptr @fn_expr() - store ptr %t557, ptr %t558 - %t563 = call i32 @fn_is_op(ptr @.str211) - %t564 = icmp ne i32 %t563, 0 - %t565 = zext i1 %t564 to i32 - store i32 %t565, ptr %t562 - br i1 %t564, label %scend142, label %sc141 + %t552 = call ptr @fn_expr() + store ptr %t552, ptr %t553 + %t558 = call i32 @fn_is_op(ptr @.str214) + %t559 = icmp ne i32 %t558, 0 + %t560 = zext i1 %t559 to i32 + store i32 %t560, ptr %t557 + br i1 %t559, label %scend142, label %sc141 sc141: - %t566 = call i32 @fn_is_op(ptr @.str212) - %t567 = icmp ne i32 %t566, 0 - %t568 = zext i1 %t567 to i32 - store i32 %t568, ptr %t562 + %t561 = call i32 @fn_is_op(ptr @.str215) + %t562 = icmp ne i32 %t561, 0 + %t563 = zext i1 %t562 to i32 + store i32 %t563, ptr %t557 br label %scend142 scend142: - %t569 = load i32, ptr %t562 - %t570 = icmp ne i32 %t569, 0 - %t571 = zext i1 %t570 to i32 - store i32 %t571, ptr %t561 - br i1 %t570, label %scend144, label %sc143 + %t564 = load i32, ptr %t557 + %t565 = icmp ne i32 %t564, 0 + %t566 = zext i1 %t565 to i32 + store i32 %t566, ptr %t556 + br i1 %t565, label %scend144, label %sc143 sc143: - %t572 = call i32 @fn_is_op(ptr @.str213) - %t573 = icmp ne i32 %t572, 0 - %t574 = zext i1 %t573 to i32 - store i32 %t574, ptr %t561 + %t567 = call i32 @fn_is_op(ptr @.str216) + %t568 = icmp ne i32 %t567, 0 + %t569 = zext i1 %t568 to i32 + store i32 %t569, ptr %t556 br label %scend144 scend144: - %t575 = load i32, ptr %t561 - %t576 = icmp ne i32 %t575, 0 - %t577 = zext i1 %t576 to i32 - store i32 %t577, ptr %t560 - br i1 %t576, label %scend146, label %sc145 + %t570 = load i32, ptr %t556 + %t571 = icmp ne i32 %t570, 0 + %t572 = zext i1 %t571 to i32 + store i32 %t572, ptr %t555 + br i1 %t571, label %scend146, label %sc145 sc145: - %t578 = call i32 @fn_is_op(ptr @.str214) - %t579 = icmp ne i32 %t578, 0 - %t580 = zext i1 %t579 to i32 - store i32 %t580, ptr %t560 + %t573 = call i32 @fn_is_op(ptr @.str217) + %t574 = icmp ne i32 %t573, 0 + %t575 = zext i1 %t574 to i32 + store i32 %t575, ptr %t555 br label %scend146 scend146: - %t581 = load i32, ptr %t560 - %t582 = icmp ne i32 %t581, 0 - %t583 = zext i1 %t582 to i32 - store i32 %t583, ptr %t559 - br i1 %t582, label %scend148, label %sc147 + %t576 = load i32, ptr %t555 + %t577 = icmp ne i32 %t576, 0 + %t578 = zext i1 %t577 to i32 + store i32 %t578, ptr %t554 + br i1 %t577, label %scend148, label %sc147 sc147: - %t584 = call i32 @fn_is_op(ptr @.str215) - %t585 = icmp ne i32 %t584, 0 - %t586 = zext i1 %t585 to i32 - store i32 %t586, ptr %t559 + %t579 = call i32 @fn_is_op(ptr @.str218) + %t580 = icmp ne i32 %t579, 0 + %t581 = zext i1 %t580 to i32 + store i32 %t581, ptr %t554 br label %scend148 scend148: - %t587 = load i32, ptr %t559 - %t588 = icmp ne i32 %t587, 0 - br i1 %t588, label %then149, label %ifend151 + %t582 = load i32, ptr %t554 + %t583 = icmp ne i32 %t582, 0 + br i1 %t583, label %then149, label %ifend151 then149: - %t589 = call ptr @fn_node(i32 11) - store ptr %t589, ptr %t590 - %t591 = load ptr, ptr %t590 - %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 8 - %t593 = load ptr, ptr @g_toks - %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 0 - %t595 = load ptr, ptr %t594 - %t596 = load i32, ptr @g_pi - %t597 = getelementptr inbounds ptr, ptr %t595, i32 %t596 - %t598 = load ptr, ptr %t597 - %t599 = getelementptr inbounds %Cmp_Tok, ptr %t598, i32 0, i32 3 - %t600 = load i32, ptr %t599 - store i32 %t600, ptr %t592 - %t601 = load ptr, ptr %t590 - %t602 = getelementptr inbounds %Cmp_Node, ptr %t601, i32 0, i32 1 - %t603 = load ptr, ptr @g_toks - %t604 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 0 + %t584 = call ptr @fn_node(i32 11) + store ptr %t584, ptr %t585 + %t586 = load ptr, ptr %t585 + %t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 8 + %t588 = load ptr, ptr @g_toks + %t589 = getelementptr inbounds %LSlice, ptr %t588, i32 0, i32 0 + %t590 = load ptr, ptr %t589 + %t591 = load i32, ptr @g_pi + %t592 = getelementptr inbounds ptr, ptr %t590, i32 %t591 + %t593 = load ptr, ptr %t592 + %t594 = getelementptr inbounds %Cmp_Tok, ptr %t593, i32 0, i32 3 + %t595 = load i32, ptr %t594 + store i32 %t595, ptr %t587 + %t596 = load ptr, ptr %t585 + %t597 = getelementptr inbounds %Cmp_Node, ptr %t596, i32 0, i32 1 + %t598 = load ptr, ptr @g_toks + %t599 = getelementptr inbounds %LSlice, ptr %t598, i32 0, i32 0 + %t600 = load ptr, ptr %t599 + %t601 = load i32, ptr @g_pi + %t602 = getelementptr inbounds ptr, ptr %t600, i32 %t601 + %t603 = load ptr, ptr %t602 + %t604 = getelementptr inbounds %Cmp_Tok, ptr %t603, i32 0, i32 1 %t605 = load ptr, ptr %t604 + store ptr %t605, ptr %t597 %t606 = load i32, ptr @g_pi - %t607 = getelementptr inbounds ptr, ptr %t605, i32 %t606 - %t608 = load ptr, ptr %t607 - %t609 = getelementptr inbounds %Cmp_Tok, ptr %t608, i32 0, i32 1 - %t610 = load ptr, ptr %t609 - store ptr %t610, ptr %t602 - %t611 = load i32, ptr @g_pi - %t612 = add i32 %t611, 1 - store i32 %t612, ptr @g_pi - %t613 = load ptr, ptr %t590 - %t614 = getelementptr inbounds %Cmp_Node, ptr %t613, i32 0, i32 4 - %t615 = load ptr, ptr %t558 - store ptr %t615, ptr %t614 - %t616 = load ptr, ptr %t590 - %t617 = getelementptr inbounds %Cmp_Node, ptr %t616, i32 0, i32 5 - %t618 = call ptr @fn_expr() - store ptr %t618, ptr %t617 - %t619 = load ptr, ptr %t590 - store ptr %t619, ptr %retval + %t607 = add i32 %t606, 1 + store i32 %t607, ptr @g_pi + %t608 = load ptr, ptr %t585 + %t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 4 + %t610 = load ptr, ptr %t553 + store ptr %t610, ptr %t609 + %t611 = load ptr, ptr %t585 + %t612 = getelementptr inbounds %Cmp_Node, ptr %t611, i32 0, i32 5 + %t613 = call ptr @fn_expr() + store ptr %t613, ptr %t612 + %t614 = load ptr, ptr %t585 + store ptr %t614, ptr %retval br label %ret ifend151: - %t620 = call ptr @fn_node(i32 16) - store ptr %t620, ptr %t621 - %t622 = load ptr, ptr %t621 - %t623 = getelementptr inbounds %Cmp_Node, ptr %t622, i32 0, i32 4 - %t624 = load ptr, ptr %t558 - store ptr %t624, ptr %t623 - %t625 = load ptr, ptr %t621 - store ptr %t625, ptr %retval + %t615 = call ptr @fn_node(i32 16) + store ptr %t615, ptr %t616 + %t617 = load ptr, ptr %t616 + %t618 = getelementptr inbounds %Cmp_Node, ptr %t617, i32 0, i32 4 + %t619 = load ptr, ptr %t553 + store ptr %t619, ptr %t618 + %t620 = load ptr, ptr %t616 + store ptr %t620, ptr %retval br label %ret ret: - %t626 = load ptr, ptr %retval - ret ptr %t626 + %t621 = load ptr, ptr %retval + ret ptr %t621 } define ptr @fn_parse_var() { @@ -17561,12 +19146,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 @.str216) + call void @fn_eat_op(ptr @.str219) %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 @.str217) + %t10 = call i32 @fn_is_op(ptr @.str220) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: @@ -17600,12 +19185,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 @.str218) + call void @fn_eat_op(ptr @.str221) %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 @.str219) + call void @fn_eat_op(ptr @.str222) %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = call ptr @fn_expr() @@ -17618,11 +19203,513 @@ ret: ret ptr %t14 } +define i32 @fn_is_reserved_word(ptr %arg_w) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t44 = alloca i32 + %t45 = alloca i32 + %t46 = alloca i32 + %t47 = alloca i32 + %t48 = alloca i32 + %t87 = alloca i32 + %t88 = alloca i32 + %t89 = alloca i32 + %t90 = alloca i32 + %t91 = alloca i32 + %t133 = alloca i32 + %t134 = alloca i32 + %t135 = alloca i32 + %t136 = alloca i32 + %t137 = alloca i32 + %t138 = alloca i32 + %t184 = alloca i32 + %t185 = alloca i32 + %t186 = alloca i32 + %t187 = alloca i32 + %t188 = alloca i32 + %t227 = alloca i32 + %t228 = alloca i32 + %t229 = alloca i32 + %t230 = alloca i32 + %t231 = alloca i32 + store ptr %arg_w, ptr %t0 + %t6 = load ptr, ptr %t0 + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str223) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t5 + br i1 %t8, label %scend1, label %sc0 +sc0: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str224) + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t5 + br label %scend1 +scend1: + %t14 = load i32, ptr %t5 + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t4 + br i1 %t15, label %scend3, label %sc2 +sc2: + %t17 = load ptr, ptr %t0 + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str225) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t4 + br label %scend3 +scend3: + %t21 = load i32, ptr %t4 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t3 + br i1 %t22, label %scend5, label %sc4 +sc4: + %t24 = load ptr, ptr %t0 + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str226) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t3 + br label %scend5 +scend5: + %t28 = load i32, ptr %t3 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t2 + br i1 %t29, label %scend7, label %sc6 +sc6: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str227) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t2 + br label %scend7 +scend7: + %t35 = load i32, ptr %t2 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t1 + br i1 %t36, label %scend9, label %sc8 +sc8: + %t38 = load ptr, ptr %t0 + %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str228) + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t1 + br label %scend9 +scend9: + %t42 = load i32, ptr %t1 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then10, label %ifend12 +then10: + store i32 1, ptr %retval + br label %ret +ifend12: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str229) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t48 + br i1 %t51, label %scend14, label %sc13 +sc13: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str230) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend14 +scend14: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t47 + br i1 %t58, label %scend16, label %sc15 +sc15: + %t60 = load ptr, ptr %t0 + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str231) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t47 + br label %scend16 +scend16: + %t64 = load i32, ptr %t47 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t46 + br i1 %t65, label %scend18, label %sc17 +sc17: + %t67 = load ptr, ptr %t0 + %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str232) + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t46 + br label %scend18 +scend18: + %t71 = load i32, ptr %t46 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t45 + br i1 %t72, label %scend20, label %sc19 +sc19: + %t74 = load ptr, ptr %t0 + %t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str233) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t45 + br label %scend20 +scend20: + %t78 = load i32, ptr %t45 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t44 + br i1 %t79, label %scend22, label %sc21 +sc21: + %t81 = load ptr, ptr %t0 + %t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str234) + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t44 + br label %scend22 +scend22: + %t85 = load i32, ptr %t44 + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then23, label %ifend25 +then23: + store i32 1, ptr %retval + br label %ret +ifend25: + %t92 = load ptr, ptr %t0 + %t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str235) + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t91 + br i1 %t94, label %scend27, label %sc26 +sc26: + %t96 = load ptr, ptr %t0 + %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str236) + %t98 = icmp ne i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + store i32 %t99, ptr %t91 + br label %scend27 +scend27: + %t100 = load i32, ptr %t91 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t90 + br i1 %t101, label %scend29, label %sc28 +sc28: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str237) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t90 + br label %scend29 +scend29: + %t107 = load i32, ptr %t90 + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t89 + br i1 %t108, label %scend31, label %sc30 +sc30: + %t110 = load ptr, ptr %t0 + %t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str238) + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t89 + br label %scend31 +scend31: + %t114 = load i32, ptr %t89 + %t115 = icmp ne i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + store i32 %t116, ptr %t88 + br i1 %t115, label %scend33, label %sc32 +sc32: + %t117 = load ptr, ptr %t0 + %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str239) + %t119 = icmp ne i32 %t118, 0 + %t120 = zext i1 %t119 to i32 + store i32 %t120, ptr %t88 + br label %scend33 +scend33: + %t121 = load i32, ptr %t88 + %t122 = icmp ne i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + store i32 %t123, ptr %t87 + br i1 %t122, label %scend35, label %sc34 +sc34: + %t124 = load ptr, ptr %t0 + %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str240) + %t126 = icmp ne i32 %t125, 0 + %t127 = zext i1 %t126 to i32 + store i32 %t127, ptr %t87 + br label %scend35 +scend35: + %t128 = load i32, ptr %t87 + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then36, label %ifend38 +then36: + store i32 1, ptr %retval + br label %ret +ifend38: + %t130 = load ptr, ptr %t0 + %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str241) + %t132 = icmp ne i32 %t131, 0 + br i1 %t132, label %then39, label %ifend41 +then39: + store i32 1, ptr %retval + br label %ret +ifend41: + %t139 = load ptr, ptr %t0 + %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str242) + %t141 = icmp ne i32 %t140, 0 + %t142 = zext i1 %t141 to i32 + store i32 %t142, ptr %t138 + br i1 %t141, label %scend43, label %sc42 +sc42: + %t143 = load ptr, ptr %t0 + %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str243) + %t145 = icmp ne i32 %t144, 0 + %t146 = zext i1 %t145 to i32 + store i32 %t146, ptr %t138 + br label %scend43 +scend43: + %t147 = load i32, ptr %t138 + %t148 = icmp ne i32 %t147, 0 + %t149 = zext i1 %t148 to i32 + store i32 %t149, ptr %t137 + br i1 %t148, label %scend45, label %sc44 +sc44: + %t150 = load ptr, ptr %t0 + %t151 = call i32 @fn_str_eq(ptr %t150, ptr @.str244) + %t152 = icmp ne i32 %t151, 0 + %t153 = zext i1 %t152 to i32 + store i32 %t153, ptr %t137 + br label %scend45 +scend45: + %t154 = load i32, ptr %t137 + %t155 = icmp ne i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + store i32 %t156, ptr %t136 + br i1 %t155, label %scend47, label %sc46 +sc46: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str245) + %t159 = icmp ne i32 %t158, 0 + %t160 = zext i1 %t159 to i32 + store i32 %t160, ptr %t136 + br label %scend47 +scend47: + %t161 = load i32, ptr %t136 + %t162 = icmp ne i32 %t161, 0 + %t163 = zext i1 %t162 to i32 + store i32 %t163, ptr %t135 + br i1 %t162, label %scend49, label %sc48 +sc48: + %t164 = load ptr, ptr %t0 + %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str246) + %t166 = icmp ne i32 %t165, 0 + %t167 = zext i1 %t166 to i32 + store i32 %t167, ptr %t135 + br label %scend49 +scend49: + %t168 = load i32, ptr %t135 + %t169 = icmp ne i32 %t168, 0 + %t170 = zext i1 %t169 to i32 + store i32 %t170, ptr %t134 + br i1 %t169, label %scend51, label %sc50 +sc50: + %t171 = load ptr, ptr %t0 + %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str247) + %t173 = icmp ne i32 %t172, 0 + %t174 = zext i1 %t173 to i32 + store i32 %t174, ptr %t134 + br label %scend51 +scend51: + %t175 = load i32, ptr %t134 + %t176 = icmp ne i32 %t175, 0 + %t177 = zext i1 %t176 to i32 + store i32 %t177, ptr %t133 + br i1 %t176, label %scend53, label %sc52 +sc52: + %t178 = load ptr, ptr %t0 + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str248) + %t180 = icmp ne i32 %t179, 0 + %t181 = zext i1 %t180 to i32 + store i32 %t181, ptr %t133 + br label %scend53 +scend53: + %t182 = load i32, ptr %t133 + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then54, label %ifend56 +then54: + store i32 1, ptr %retval + br label %ret +ifend56: + %t189 = load ptr, ptr %t0 + %t190 = call i32 @fn_str_eq(ptr %t189, ptr @.str249) + %t191 = icmp ne i32 %t190, 0 + %t192 = zext i1 %t191 to i32 + store i32 %t192, ptr %t188 + br i1 %t191, label %scend58, label %sc57 +sc57: + %t193 = load ptr, ptr %t0 + %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str250) + %t195 = icmp ne i32 %t194, 0 + %t196 = zext i1 %t195 to i32 + store i32 %t196, ptr %t188 + br label %scend58 +scend58: + %t197 = load i32, ptr %t188 + %t198 = icmp ne i32 %t197, 0 + %t199 = zext i1 %t198 to i32 + store i32 %t199, ptr %t187 + br i1 %t198, label %scend60, label %sc59 +sc59: + %t200 = load ptr, ptr %t0 + %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str251) + %t202 = icmp ne i32 %t201, 0 + %t203 = zext i1 %t202 to i32 + store i32 %t203, ptr %t187 + br label %scend60 +scend60: + %t204 = load i32, ptr %t187 + %t205 = icmp ne i32 %t204, 0 + %t206 = zext i1 %t205 to i32 + store i32 %t206, ptr %t186 + br i1 %t205, label %scend62, label %sc61 +sc61: + %t207 = load ptr, ptr %t0 + %t208 = call i32 @fn_str_eq(ptr %t207, ptr @.str252) + %t209 = icmp ne i32 %t208, 0 + %t210 = zext i1 %t209 to i32 + store i32 %t210, ptr %t186 + br label %scend62 +scend62: + %t211 = load i32, ptr %t186 + %t212 = icmp ne i32 %t211, 0 + %t213 = zext i1 %t212 to i32 + store i32 %t213, ptr %t185 + br i1 %t212, label %scend64, label %sc63 +sc63: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str253) + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t185 + br label %scend64 +scend64: + %t218 = load i32, ptr %t185 + %t219 = icmp ne i32 %t218, 0 + %t220 = zext i1 %t219 to i32 + store i32 %t220, ptr %t184 + br i1 %t219, label %scend66, label %sc65 +sc65: + %t221 = load ptr, ptr %t0 + %t222 = call i32 @fn_str_eq(ptr %t221, ptr @.str254) + %t223 = icmp ne i32 %t222, 0 + %t224 = zext i1 %t223 to i32 + store i32 %t224, ptr %t184 + br label %scend66 +scend66: + %t225 = load i32, ptr %t184 + %t226 = icmp ne i32 %t225, 0 + br i1 %t226, label %then67, label %ifend69 +then67: + store i32 1, ptr %retval + br label %ret +ifend69: + %t232 = load ptr, ptr %t0 + %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str255) + %t234 = icmp ne i32 %t233, 0 + %t235 = zext i1 %t234 to i32 + store i32 %t235, ptr %t231 + br i1 %t234, label %scend71, label %sc70 +sc70: + %t236 = load ptr, ptr %t0 + %t237 = call i32 @fn_str_eq(ptr %t236, ptr @.str256) + %t238 = icmp ne i32 %t237, 0 + %t239 = zext i1 %t238 to i32 + store i32 %t239, ptr %t231 + br label %scend71 +scend71: + %t240 = load i32, ptr %t231 + %t241 = icmp ne i32 %t240, 0 + %t242 = zext i1 %t241 to i32 + store i32 %t242, ptr %t230 + br i1 %t241, label %scend73, label %sc72 +sc72: + %t243 = load ptr, ptr %t0 + %t244 = call i32 @fn_str_eq(ptr %t243, ptr @.str257) + %t245 = icmp ne i32 %t244, 0 + %t246 = zext i1 %t245 to i32 + store i32 %t246, ptr %t230 + br label %scend73 +scend73: + %t247 = load i32, ptr %t230 + %t248 = icmp ne i32 %t247, 0 + %t249 = zext i1 %t248 to i32 + store i32 %t249, ptr %t229 + br i1 %t248, label %scend75, label %sc74 +sc74: + %t250 = load ptr, ptr %t0 + %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str258) + %t252 = icmp ne i32 %t251, 0 + %t253 = zext i1 %t252 to i32 + store i32 %t253, ptr %t229 + br label %scend75 +scend75: + %t254 = load i32, ptr %t229 + %t255 = icmp ne i32 %t254, 0 + %t256 = zext i1 %t255 to i32 + store i32 %t256, ptr %t228 + br i1 %t255, label %scend77, label %sc76 +sc76: + %t257 = load ptr, ptr %t0 + %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str259) + %t259 = icmp ne i32 %t258, 0 + %t260 = zext i1 %t259 to i32 + store i32 %t260, ptr %t228 + br label %scend77 +scend77: + %t261 = load i32, ptr %t228 + %t262 = icmp ne i32 %t261, 0 + %t263 = zext i1 %t262 to i32 + store i32 %t263, ptr %t227 + br i1 %t262, label %scend79, label %sc78 +sc78: + %t264 = load ptr, ptr %t0 + %t265 = call i32 @fn_str_eq(ptr %t264, ptr @.str260) + %t266 = icmp ne i32 %t265, 0 + %t267 = zext i1 %t266 to i32 + store i32 %t267, ptr %t227 + br label %scend79 +scend79: + %t268 = load i32, ptr %t227 + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then80, label %ifend82 +then80: + store i32 1, ptr %retval + br label %ret +ifend82: + store i32 0, ptr %retval + br label %ret +ret: + %t270 = load i32, ptr %retval + ret i32 %t270 +} + define ptr @fn_parse_fn() { entry: %retval = alloca ptr %t3 = alloca ptr - %t12 = alloca ptr + %t22 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi @@ -17632,94 +19719,109 @@ 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 @.str220) - br label %wcond0 -wcond0: - %t7 = call i32 @fn_is_op(ptr @.str221) - %t8 = icmp eq i32 %t7, 0 - %t9 = zext i1 %t8 to i32 - %t10 = icmp ne i32 %t9, 0 - br i1 %t10, label %wbody1, label %wend2 -wbody1: - %t11 = call ptr @fn_node(i32 5) - store ptr %t11, ptr %t12 - %t13 = load ptr, ptr %t12 - %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 - %t15 = call ptr @fn_eat_id() - store ptr %t15, ptr %t14 - call void @fn_eat_op(ptr @.str222) - %t16 = load ptr, ptr %t12 - %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 - %t18 = call ptr @fn_ptype() - store ptr %t18, ptr %t17 - %t19 = load ptr, ptr %t3 - %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 - %t21 = load ptr, ptr %t20 - %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 - %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 - %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 - %t25 = load i32, ptr %t22 - %t26 = load i32, ptr %t23 - %t27 = icmp sge i32 %t25, %t26 - br i1 %t27, label %grow3, label %put4 -grow3: - %t28 = mul i32 %t26, 2 - %t29 = icmp eq i32 %t26, 0 - %t30 = select i1 %t29, i32 8, i32 %t28 - %t31 = getelementptr ptr, ptr null, i32 1 - %t32 = ptrtoint ptr %t31 to i64 - %t33 = zext i32 %t30 to i64 - %t34 = mul i64 %t33, %t32 - %t35 = load ptr, ptr %t24 - %t36 = call ptr @realloc(ptr %t35, i64 %t34) - store ptr %t36, ptr %t24 - store i32 %t30, ptr %t23 - br label %put4 -put4: - %t37 = load ptr, ptr %t12 - %t38 = load ptr, ptr %t24 - %t39 = getelementptr inbounds ptr, ptr %t38, i32 %t25 - store ptr %t37, ptr %t39 - %t40 = add i32 %t25, 1 - store i32 %t40, ptr %t22 - %t41 = call i32 @fn_is_op(ptr @.str223) - %t42 = icmp ne i32 %t41, 0 - br i1 %t42, label %then5, label %ifend7 -then5: - %t43 = load i32, ptr @g_pi - %t44 = add i32 %t43, 1 - store i32 %t44, ptr @g_pi - br label %ifend7 -ifend7: - br label %wcond0 -wend2: - call void @fn_eat_op(ptr @.str224) - %t45 = load ptr, ptr %t3 - %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 - store ptr @.str225, ptr %t46 - %t47 = call i32 @fn_is_op(ptr @.str226) - %t48 = icmp ne i32 %t47, 0 - br i1 %t48, label %then8, label %ifend10 + call void @fn_eat_op(ptr @.str261) + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call i32 @fn_is_reserved_word(ptr %t9) + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + %t12 = load ptr, ptr %t3 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @fn_str_concat(ptr @.str262, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str263) + call void @fn_perr(ptr %t16) + br label %ifend2 +ifend2: + br label %wcond3 +wcond3: + %t17 = call i32 @fn_is_op(ptr @.str264) + %t18 = icmp eq i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %wbody4, label %wend5 +wbody4: + %t21 = call ptr @fn_node(i32 5) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = call ptr @fn_eat_id() + store ptr %t25, ptr %t24 + call void @fn_eat_op(ptr @.str265) + %t26 = load ptr, ptr %t22 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 + %t28 = call ptr @fn_ptype() + store ptr %t28, ptr %t27 + %t29 = load ptr, ptr %t3 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = 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 %t22 + %t48 = load ptr, ptr %t34 + %t49 = getelementptr inbounds ptr, ptr %t48, i32 %t35 + store ptr %t47, ptr %t49 + %t50 = add i32 %t35, 1 + store i32 %t50, ptr %t32 + %t51 = call i32 @fn_is_op(ptr @.str266) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then8, label %ifend10 then8: - %t49 = load i32, ptr @g_pi - %t50 = add i32 %t49, 1 - store i32 %t50, ptr @g_pi - %t51 = load ptr, ptr %t3 - %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 - %t53 = call ptr @fn_ptype() - store ptr %t53, ptr %t52 + %t53 = load i32, ptr @g_pi + %t54 = add i32 %t53, 1 + store i32 %t54, ptr @g_pi br label %ifend10 ifend10: - %t54 = load ptr, ptr %t3 - %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 - %t56 = call ptr @fn_block() - store ptr %t56, ptr %t55 - %t57 = load ptr, ptr %t3 - store ptr %t57, ptr %retval + br label %wcond3 +wend5: + call void @fn_eat_op(ptr @.str267) + %t55 = load ptr, ptr %t3 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 + store ptr @.str268, ptr %t56 + %t57 = call i32 @fn_is_op(ptr @.str269) + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then11, label %ifend13 +then11: + %t59 = load i32, ptr @g_pi + %t60 = add i32 %t59, 1 + store i32 %t60, ptr @g_pi + %t61 = load ptr, ptr %t3 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 + %t63 = call ptr @fn_ptype() + store ptr %t63, ptr %t62 + br label %ifend13 +ifend13: + %t64 = load ptr, ptr %t3 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 + %t66 = call ptr @fn_block() + store ptr %t66, ptr %t65 + %t67 = load ptr, ptr %t3 + store ptr %t67, ptr %retval br label %ret ret: - %t58 = load ptr, ptr %retval - ret ptr %t58 + %t68 = load ptr, ptr %retval + ret ptr %t68 } define ptr @fn_parse_main() { @@ -17944,7 +20046,7 @@ entry: store i32 %t1, ptr @g_pi %t2 = call ptr @fn_eat_id() store ptr %t2, ptr %t3 - call void @fn_eat_op(ptr @.str227) + call void @fn_eat_op(ptr @.str270) call void @fn_skipnl() %t4 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 @@ -17978,14 +20080,14 @@ entry: store ptr %t20, ptr %t24 br label %wcond0 wcond0: - %t25 = call i32 @fn_is_op(ptr @.str228) + %t25 = call i32 @fn_is_op(ptr @.str271) %t26 = icmp eq i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody1, label %wend2 wbody1: store i32 1, ptr %t29 - %t30 = call i32 @fn_is_id(ptr @.str229) + %t30 = call i32 @fn_is_id(ptr @.str272) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then3, label %else4 then3: @@ -17994,7 +20096,7 @@ then3: store i32 %t33, ptr @g_pi br label %ifend5 else4: - %t34 = call i32 @fn_is_id(ptr @.str230) + %t34 = call i32 @fn_is_id(ptr @.str273) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: @@ -18006,13 +20108,13 @@ then6: ifend8: br label %ifend5 ifend5: - %t38 = call i32 @fn_is_id(ptr @.str231) + %t38 = call i32 @fn_is_id(ptr @.str274) %t39 = icmp eq i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then9, label %ifend11 then9: - call void @fn_perr(ptr @.str232) + call void @fn_perr(ptr @.str275) br label %ifend11 ifend11: %t42 = call ptr @fn_parse_fn() @@ -18106,10 +20208,10 @@ put17: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str233) + call void @fn_eat_op(ptr @.str276) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) - %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str234) + %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str277) store ptr %t108, ptr %t109 store i32 0, ptr %t110 br label %wcond18 @@ -18352,7 +20454,7 @@ wend2: %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: - store ptr @.str235, ptr %retval + store ptr @.str278, ptr %retval br label %ret ifend8: %t27 = load ptr, ptr %t0 @@ -18367,7 +20469,7 @@ ret: ret ptr %t32 } -define ptr @fn_path_join(ptr %arg_dir, ptr %arg_rel) { +define ptr @fn_join_path(ptr %arg_dir, ptr %arg_rel) { entry: %retval = alloca ptr %t0 = alloca ptr @@ -18410,8 +20512,8 @@ then0: ifend2: store i32 1, ptr @g_g_warned_draw_sprite %t3 = load ptr, ptr %t0 - %t4 = call ptr @fn_str_concat(ptr @.str236, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str237) + %t4 = call ptr @fn_str_concat(ptr @.str279, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str280) store ptr %t5, ptr %t6 %t7 = load ptr, ptr @__stderrp %t8 = load ptr, ptr %t6 @@ -18744,9 +20846,9 @@ entry: %t214 = alloca ptr %t217 = alloca i32 %t261 = alloca ptr - %t291 = alloca ptr - %t412 = alloca ptr - %t529 = alloca ptr + %t313 = alloca ptr + %t434 = alloca ptr + %t551 = alloca ptr store i32 0, ptr %t0 store ptr null, ptr %t1 store ptr null, ptr %t2 @@ -18769,7 +20871,7 @@ entry: store ptr null, ptr %t19 br label %wcond0 wcond0: - %t20 = call i32 @fn_is_op(ptr @.str238) + %t20 = call i32 @fn_is_op(ptr @.str281) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody1, label %wend2 wbody1: @@ -18779,7 +20881,7 @@ wbody1: %t24 = call ptr @fn_eat_id() store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str239) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str282) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %else4 then3: @@ -18787,7 +20889,7 @@ then3: br label %ifend5 else4: %t29 = load ptr, ptr %t25 - %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str240) + %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str283) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %else7 then6: @@ -18795,18 +20897,18 @@ then6: br label %ifend8 else7: %t32 = load ptr, ptr %t25 - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str241) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str284) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %else10 then9: - call void @fn_eat_op(ptr @.str242) + call void @fn_eat_op(ptr @.str285) %t35 = call ptr @fn_eat_id() store ptr %t35, ptr %t9 - call void @fn_eat_op(ptr @.str243) + call void @fn_eat_op(ptr @.str286) br label %ifend11 else10: %t36 = load ptr, ptr %t25 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str244) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str287) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then12, label %else13 then12: @@ -18815,25 +20917,25 @@ then12: br label %ifend14 else13: %t40 = load ptr, ptr %t25 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str245) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str288) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %else16 then15: - call void @fn_eat_op(ptr @.str246) + call void @fn_eat_op(ptr @.str289) %t43 = call ptr @fn_eat_id() store ptr %t43, ptr %t2 - call void @fn_eat_op(ptr @.str247) + call void @fn_eat_op(ptr @.str290) br label %ifend17 else16: %t44 = load ptr, ptr %t25 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str248) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str291) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then18, label %else19 then18: - call void @fn_eat_op(ptr @.str249) + call void @fn_eat_op(ptr @.str292) %t47 = call ptr @fn_eat_id() store ptr %t47, ptr %t3 - %t48 = call i32 @fn_is_op(ptr @.str250) + %t48 = call i32 @fn_is_op(ptr @.str293) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then21, label %ifend23 then21: @@ -18841,76 +20943,76 @@ then21: %t51 = add i32 %t50, 1 store i32 %t51, ptr @g_pi %t52 = call ptr @fn_eat_id() - call void @fn_eat_op(ptr @.str251) + call void @fn_eat_op(ptr @.str294) %t53 = call ptr @fn_eat_id() store ptr %t53, ptr %t4 br label %ifend23 ifend23: - call void @fn_eat_op(ptr @.str252) + call void @fn_eat_op(ptr @.str295) br label %ifend20 else19: %t54 = load ptr, ptr %t25 - %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str253) + %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str296) %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then24, label %else25 then24: - call void @fn_eat_op(ptr @.str254) + call void @fn_eat_op(ptr @.str297) %t57 = call ptr @fn_eat_id() store ptr %t57, ptr %t5 - call void @fn_eat_op(ptr @.str255) + call void @fn_eat_op(ptr @.str298) br label %ifend26 else25: %t58 = load ptr, ptr %t25 - %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str256) + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str299) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then27, label %else28 then27: - call void @fn_eat_op(ptr @.str257) + call void @fn_eat_op(ptr @.str300) %t61 = call ptr @fn_eat_id() store ptr %t61, ptr %t6 - call void @fn_eat_op(ptr @.str258) + call void @fn_eat_op(ptr @.str301) br label %ifend29 else28: %t62 = load ptr, ptr %t25 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str259) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str302) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then30, label %else31 then30: - call void @fn_eat_op(ptr @.str260) + call void @fn_eat_op(ptr @.str303) %t65 = call ptr @fn_eat_id() store ptr %t65, ptr %t7 - call void @fn_eat_op(ptr @.str261) + call void @fn_eat_op(ptr @.str304) br label %ifend32 else31: %t66 = load ptr, ptr %t25 - %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str262) + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str305) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then33, label %else34 then33: - call void @fn_eat_op(ptr @.str263) + call void @fn_eat_op(ptr @.str306) %t69 = call ptr @fn_eat_id() store ptr %t69, ptr %t8 - call void @fn_eat_op(ptr @.str264) + call void @fn_eat_op(ptr @.str307) br label %ifend35 else34: %t70 = load ptr, ptr %t25 - %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str265) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str308) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then36, label %else37 then36: - store ptr @.str266, ptr %t11 + store ptr @.str309, ptr %t11 br label %ifend38 else37: %t73 = load ptr, ptr %t25 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str267) + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str310) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then39, label %else40 then39: - store ptr @.str268, ptr %t11 + store ptr @.str311, ptr %t11 br label %ifend41 else40: %t76 = load ptr, ptr %t25 - %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str269) + %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str312) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then42, label %else43 then42: @@ -18918,7 +21020,7 @@ then42: br label %ifend44 else43: %t79 = load ptr, ptr %t25 - %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str270) + %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str313) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then45, label %else46 then45: @@ -18926,44 +21028,44 @@ then45: br label %ifend47 else46: %t82 = load ptr, ptr %t25 - %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str271) + %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str314) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then48, label %else49 then48: - store ptr @.str272, ptr %t14 + store ptr @.str315, ptr %t14 br label %ifend50 else49: %t85 = load ptr, ptr %t25 - %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str273) + %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str316) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then51, label %else52 then51: - store ptr @.str274, ptr %t14 + store ptr @.str317, ptr %t14 br label %ifend53 else52: %t88 = load ptr, ptr %t25 - %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str275) + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str318) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then54, label %else55 then54: - store ptr @.str276, ptr %t15 + store ptr @.str319, ptr %t15 br label %ifend56 else55: %t91 = load ptr, ptr %t25 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str277) + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str320) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then57, label %else58 then57: - store ptr @.str278, ptr %t15 + store ptr @.str321, ptr %t15 br label %ifend59 else58: %t94 = load ptr, ptr %t25 - %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str279) + %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str322) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then60, label %else61 then60: - store ptr @.str280, ptr %t16 - %t97 = call i32 @fn_is_op(ptr @.str281) + store ptr @.str323, ptr %t16 + %t97 = call i32 @fn_is_op(ptr @.str324) %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then63, label %ifend65 then63: @@ -18972,42 +21074,42 @@ then63: store i32 %t100, ptr @g_pi %t101 = call ptr @fn_eat_id() store ptr %t101, ptr %t16 - call void @fn_eat_op(ptr @.str282) + call void @fn_eat_op(ptr @.str325) br label %ifend65 ifend65: br label %ifend62 else61: %t102 = load ptr, ptr %t25 - %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str283) + %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str326) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then66, label %else67 then66: - call void @fn_eat_op(ptr @.str284) + call void @fn_eat_op(ptr @.str327) %t105 = call ptr @fn_eat_id() store ptr %t105, ptr %t17 - call void @fn_eat_op(ptr @.str285) + call void @fn_eat_op(ptr @.str328) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t18 - call void @fn_eat_op(ptr @.str286) + call void @fn_eat_op(ptr @.str329) br label %ifend68 else67: %t107 = load ptr, ptr %t25 - %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str287) + %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str330) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then69, label %else70 then69: - call void @fn_eat_op(ptr @.str288) + call void @fn_eat_op(ptr @.str331) %t110 = call ptr @fn_eat_id() store ptr %t110, ptr %t19 - call void @fn_eat_op(ptr @.str289) + call void @fn_eat_op(ptr @.str332) br label %ifend71 else70: %t111 = load ptr, ptr %t25 - %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str290) + %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str333) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then72, label %else73 then72: - call void @fn_eat_op(ptr @.str291) + call void @fn_eat_op(ptr @.str334) %t114 = load ptr, ptr @g_toks %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 @@ -19021,7 +21123,7 @@ then72: %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then75, label %ifend77 then75: - call void @fn_perr(ptr @.str292) + call void @fn_perr(ptr @.str335) br label %ifend77 ifend77: %t125 = load ptr, ptr @g_toks @@ -19037,10 +21139,10 @@ ifend77: %t133 = load i32, ptr @g_pi %t134 = add i32 %t133, 1 store i32 %t134, ptr @g_pi - call void @fn_eat_op(ptr @.str293) + call void @fn_eat_op(ptr @.str336) br label %ifend74 else73: - %t135 = call i32 @fn_is_op(ptr @.str294) + %t135 = call i32 @fn_is_op(ptr @.str337) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then78, label %ifend80 then78: @@ -19050,7 +21152,7 @@ wcond81: %t138 = icmp ne i32 1, 0 br i1 %t138, label %wbody82, label %wend83 wbody82: - %t139 = call i32 @fn_is_op(ptr @.str295) + %t139 = call i32 @fn_is_op(ptr @.str338) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then84, label %ifend86 then84: @@ -19059,7 +21161,7 @@ then84: store i32 %t142, ptr %t137 br label %ifend86 ifend86: - %t143 = call i32 @fn_is_op(ptr @.str296) + %t143 = call i32 @fn_is_op(ptr @.str339) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then87, label %ifend89 then87: @@ -19130,7 +21232,7 @@ ifend5: call void @fn_skipnl() br label %wcond0 wend2: - %t153 = call i32 @fn_is_id(ptr @.str297) + %t153 = call i32 @fn_is_id(ptr @.str340) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then93, label %ifend95 then93: @@ -19152,7 +21254,7 @@ then93: %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then96, label %ifend98 then96: - call void @fn_perr(ptr @.str298) + call void @fn_perr(ptr @.str341) br label %ifend98 ifend98: %t170 = load ptr, ptr %t163 @@ -19166,7 +21268,7 @@ ifend98: call void @fn_do_import(ptr %t176) br label %ret ifend95: - %t177 = call i32 @fn_is_id(ptr @.str299) + %t177 = call i32 @fn_is_id(ptr @.str342) %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then99, label %ifend101 then99: @@ -19200,7 +21302,7 @@ put103: store i32 %t198, ptr %t180 br label %ret ifend101: - %t199 = call i32 @fn_is_id(ptr @.str300) + %t199 = call i32 @fn_is_id(ptr @.str343) %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then104, label %ifend106 then104: @@ -19222,7 +21324,7 @@ ifend109: call void @fn_register_event(ptr %t210) br label %ret ifend106: - %t211 = call i32 @fn_is_id(ptr @.str301) + %t211 = call i32 @fn_is_id(ptr @.str344) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then110, label %ifend112 then110: @@ -19293,7 +21395,7 @@ put120: store i32 %t257, ptr %t239 br label %ret ifend112: - %t258 = call i32 @fn_is_id(ptr @.str302) + %t258 = call i32 @fn_is_id(ptr @.str345) %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then121, label %ifend123 then121: @@ -19338,307 +21440,307 @@ put128: store i32 %t285, ptr %t267 br label %ret ifend123: - %t286 = call i32 @fn_is_id(ptr @.str303) + %t286 = call i32 @fn_is_id(ptr @.str346) %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then129, label %ifend131 then129: call void @fn_parse_scene() br label %ret ifend131: - %t288 = call i32 @fn_is_id(ptr @.str304) + %t288 = call i32 @fn_is_id(ptr @.str347) %t289 = icmp ne i32 %t288, 0 br i1 %t289, label %then132, label %ifend134 then132: - %t290 = call ptr @fn_parse_system() - store ptr %t290, ptr %t291 - %t292 = load ptr, ptr %t14 - %t293 = icmp ne ptr %t292, null - %t294 = zext i1 %t293 to i32 - %t295 = icmp ne i32 %t294, 0 - br i1 %t295, label %then135, label %ifend137 -then135: - %t296 = load ptr, ptr %t14 - %t297 = call i32 @fn_str_eq(ptr %t296, ptr @.str305) - %t298 = icmp ne i32 %t297, 0 - br i1 %t298, label %then138, label %else139 -then138: - %t299 = load ptr, ptr %t291 - %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 2 - store i32 1, ptr %t300 - br label %ifend140 -else139: - %t301 = load ptr, ptr %t291 - %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 2 - store i32 2, ptr %t302 - br label %ifend140 -ifend140: - br label %ifend137 -ifend137: - %t303 = load ptr, ptr %t9 - %t304 = icmp ne ptr %t303, null - %t305 = zext i1 %t304 to i32 - %t306 = icmp ne i32 %t305, 0 - br i1 %t306, label %then141, label %ifend143 -then141: - %t307 = load ptr, ptr %t9 - %t308 = load ptr, ptr %t291 - %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 - %t310 = load ptr, ptr %t309 - call void @fn_register_onlisten(ptr %t307, ptr %t310) - br label %ret -ifend143: - %t311 = load ptr, ptr %t2 - %t312 = icmp ne ptr %t311, null - %t313 = zext i1 %t312 to i32 - %t314 = icmp ne i32 %t313, 0 - br i1 %t314, label %then144, label %ifend146 -then144: - %t315 = load ptr, ptr %t2 - %t316 = load ptr, ptr %t291 - %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 4 - %t318 = load ptr, ptr %t317 - call void @fn_register_onspawn(ptr %t315, ptr %t318) - %t319 = load i32, ptr %t10 - %t320 = icmp ne i32 %t319, 0 - br i1 %t320, label %then147, label %ifend149 -then147: - %t321 = load ptr, ptr %t2 - %t322 = call ptr @fn_str_concat(ptr @.str306, ptr %t321) - %t323 = call ptr @fn_str_concat(ptr %t322, ptr @.str307) - call void @fn_ensure_event(ptr %t323, i32 0) - br label %ifend149 -ifend149: - br label %ret -ifend146: - %t324 = load ptr, ptr %t3 - %t325 = icmp ne ptr %t324, null - %t326 = zext i1 %t325 to i32 - %t327 = icmp ne i32 %t326, 0 - br i1 %t327, label %then150, label %ifend152 -then150: - %t328 = load ptr, ptr %t3 - %t329 = load ptr, ptr %t291 - %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 4 - %t331 = load ptr, ptr %t330 - %t332 = load ptr, ptr %t4 - call void @fn_register_ondespawn(ptr %t328, ptr %t331, ptr %t332) - %t333 = load i32, ptr %t10 - %t334 = icmp ne i32 %t333, 0 - br i1 %t334, label %then153, label %ifend155 -then153: - %t335 = load ptr, ptr %t3 - %t336 = call ptr @fn_str_concat(ptr @.str308, ptr %t335) - %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str309) - call void @fn_ensure_event(ptr %t337, i32 1) - br label %ifend155 -ifend155: - br label %ret -ifend152: - %t338 = load ptr, ptr %t5 - %t339 = icmp ne ptr %t338, null - %t340 = zext i1 %t339 to i32 - %t341 = icmp ne i32 %t340, 0 - br i1 %t341, label %then156, label %ifend158 -then156: - %t342 = load ptr, ptr %t5 - %t343 = load ptr, ptr %t291 - %t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 4 - %t345 = load ptr, ptr %t344 - call void @fn_register_onattach(ptr %t342, ptr %t345) - %t346 = load i32, ptr %t10 - %t347 = icmp ne i32 %t346, 0 - br i1 %t347, label %then159, label %ifend161 -then159: - %t348 = load ptr, ptr %t5 - %t349 = call ptr @fn_str_concat(ptr @.str310, ptr %t348) - %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str311) - call void @fn_ensure_event(ptr %t350, i32 0) - br label %ifend161 -ifend161: - br label %ret -ifend158: - %t351 = load ptr, ptr %t6 - %t352 = icmp ne ptr %t351, null - %t353 = zext i1 %t352 to i32 - %t354 = icmp ne i32 %t353, 0 - br i1 %t354, label %then162, label %ifend164 -then162: - %t355 = load ptr, ptr %t6 - %t356 = load ptr, ptr %t291 - %t357 = getelementptr inbounds %Cmp_Node, ptr %t356, i32 0, i32 4 - %t358 = load ptr, ptr %t357 - call void @fn_register_ondetach(ptr %t355, ptr %t358) - %t359 = load i32, ptr %t10 - %t360 = icmp ne i32 %t359, 0 - br i1 %t360, label %then165, label %ifend167 -then165: - %t361 = load ptr, ptr %t6 - %t362 = call ptr @fn_str_concat(ptr @.str312, ptr %t361) - %t363 = call ptr @fn_str_concat(ptr %t362, ptr @.str313) - call void @fn_ensure_event(ptr %t363, i32 0) - br label %ifend167 -ifend167: - br label %ret -ifend164: - %t364 = load ptr, ptr %t7 - %t365 = icmp ne ptr %t364, null - %t366 = zext i1 %t365 to i32 - %t367 = icmp ne i32 %t366, 0 - br i1 %t367, label %then168, label %ifend170 -then168: - %t368 = load ptr, ptr %t7 - %t369 = load ptr, ptr %t291 - %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 4 - %t371 = load ptr, ptr %t370 - call void @fn_register_onenable(ptr %t368, ptr %t371) - %t372 = load i32, ptr %t10 - %t373 = icmp ne i32 %t372, 0 - br i1 %t373, label %then171, label %ifend173 -then171: - %t374 = load ptr, ptr %t7 - %t375 = call ptr @fn_str_concat(ptr @.str314, ptr %t374) - %t376 = call ptr @fn_str_concat(ptr %t375, ptr @.str315) - call void @fn_ensure_event(ptr %t376, i32 0) - br label %ifend173 -ifend173: - br label %ret -ifend170: - %t377 = load ptr, ptr %t8 - %t378 = icmp ne ptr %t377, null - %t379 = zext i1 %t378 to i32 - %t380 = icmp ne i32 %t379, 0 - br i1 %t380, label %then174, label %ifend176 -then174: - %t381 = load ptr, ptr %t8 - %t382 = load ptr, ptr %t291 - %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 4 - %t384 = load ptr, ptr %t383 - call void @fn_register_ondisable(ptr %t381, ptr %t384) - %t385 = load i32, ptr %t10 - %t386 = icmp ne i32 %t385, 0 - br i1 %t386, label %then177, label %ifend179 -then177: - %t387 = load ptr, ptr %t8 - %t388 = call ptr @fn_str_concat(ptr @.str316, ptr %t387) - %t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str317) - call void @fn_ensure_event(ptr %t389, i32 0) - br label %ifend179 -ifend179: - br label %ret -ifend176: - %t390 = load ptr, ptr %t11 - %t391 = icmp ne ptr %t390, null - %t392 = zext i1 %t391 to i32 - %t393 = icmp ne i32 %t392, 0 - br i1 %t393, label %then180, label %ifend182 -then180: - %t394 = load ptr, ptr %t291 - %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 3 - %t396 = load ptr, ptr %t11 - store ptr %t396, ptr %t395 - %t397 = load i32, ptr %t10 - %t398 = icmp ne i32 %t397, 0 - br i1 %t398, label %then183, label %ifend185 -then183: - %t399 = load ptr, ptr %t11 - %t400 = call i32 @fn_str_eq(ptr %t399, ptr @.str318) - %t401 = icmp ne i32 %t400, 0 - br i1 %t401, label %then186, label %else187 -then186: - call void @fn_ensure_event_empty(ptr @.str319) - br label %ifend188 -else187: - call void @fn_ensure_event_empty(ptr @.str320) - br label %ifend188 -ifend188: - br label %ifend185 -ifend185: - br label %ifend182 -ifend182: - %t402 = load ptr, ptr %t1 - %t403 = icmp ne ptr %t402, null - %t404 = zext i1 %t403 to i32 - %t405 = icmp ne i32 %t404, 0 - br i1 %t405, label %then189, label %ifend191 -then189: - %t406 = load ptr, ptr %t1 - %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 4 - %t408 = load ptr, ptr %t291 - %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 4 - %t410 = load ptr, ptr %t409 - store ptr %t410, ptr %t407 - %t411 = call ptr @fn_node(i32 7) - store ptr %t411, ptr %t412 - %t413 = load ptr, ptr %t412 - %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 - %t415 = load ptr, ptr %t414 - %t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 - %t417 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 2 - %t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 - %t419 = load i32, ptr %t416 - %t420 = load i32, ptr %t417 - %t421 = icmp sge i32 %t419, %t420 - br i1 %t421, label %grow192, label %put193 -grow192: - %t422 = mul i32 %t420, 2 - %t423 = icmp eq i32 %t420, 0 - %t424 = select i1 %t423, i32 8, i32 %t422 - %t425 = getelementptr ptr, ptr null, i32 1 - %t426 = ptrtoint ptr %t425 to i64 - %t427 = zext i32 %t424 to i64 - %t428 = mul i64 %t427, %t426 - %t429 = load ptr, ptr %t418 - %t430 = call ptr @realloc(ptr %t429, i64 %t428) - store ptr %t430, ptr %t418 - store i32 %t424, ptr %t417 - br label %put193 -put193: - %t431 = load ptr, ptr %t1 - %t432 = load ptr, ptr %t418 - %t433 = getelementptr inbounds ptr, ptr %t432, i32 %t419 - store ptr %t431, ptr %t433 - %t434 = add i32 %t419, 1 - store i32 %t434, ptr %t416 - %t435 = load ptr, ptr %t291 - %t436 = getelementptr inbounds %Cmp_Node, ptr %t435, i32 0, i32 4 - %t437 = load ptr, ptr %t412 - store ptr %t437, ptr %t436 - br label %ifend191 -ifend191: - %t438 = load ptr, ptr @g_prog - %t439 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 1 - %t440 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 2 - %t441 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 0 - %t442 = load i32, ptr %t439 - %t443 = load i32, ptr %t440 - %t444 = icmp sge i32 %t442, %t443 - br i1 %t444, label %grow194, label %put195 -grow194: - %t445 = mul i32 %t443, 2 - %t446 = icmp eq i32 %t443, 0 - %t447 = select i1 %t446, i32 8, i32 %t445 - %t448 = getelementptr ptr, ptr null, i32 1 - %t449 = ptrtoint ptr %t448 to i64 - %t450 = zext i32 %t447 to i64 - %t451 = mul i64 %t450, %t449 - %t452 = load ptr, ptr %t441 - %t453 = call ptr @realloc(ptr %t452, i64 %t451) - store ptr %t453, ptr %t441 - store i32 %t447, ptr %t440 - br label %put195 -put195: - %t454 = load ptr, ptr %t291 - %t455 = load ptr, ptr %t441 - %t456 = getelementptr inbounds ptr, ptr %t455, i32 %t442 - store ptr %t454, ptr %t456 - %t457 = add i32 %t442, 1 - store i32 %t457, ptr %t439 + %t290 = load ptr, ptr @g_prog + %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 + %t292 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 2 + %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 + %t294 = load i32, ptr %t291 + %t295 = load i32, ptr %t292 + %t296 = icmp sge i32 %t294, %t295 + br i1 %t296, label %grow135, label %put136 +grow135: + %t297 = mul i32 %t295, 2 + %t298 = icmp eq i32 %t295, 0 + %t299 = select i1 %t298, i32 8, i32 %t297 + %t300 = getelementptr ptr, ptr null, i32 1 + %t301 = ptrtoint ptr %t300 to i64 + %t302 = zext i32 %t299 to i64 + %t303 = mul i64 %t302, %t301 + %t304 = load ptr, ptr %t293 + %t305 = call ptr @realloc(ptr %t304, i64 %t303) + store ptr %t305, ptr %t293 + store i32 %t299, ptr %t292 + br label %put136 +put136: + %t306 = call ptr @fn_parse_prefab() + %t307 = load ptr, ptr %t293 + %t308 = getelementptr inbounds ptr, ptr %t307, i32 %t294 + store ptr %t306, ptr %t308 + %t309 = add i32 %t294, 1 + store i32 %t309, ptr %t291 br label %ret ifend134: - %t458 = call i32 @fn_is_id(ptr @.str321) - %t459 = icmp ne i32 %t458, 0 - br i1 %t459, label %then196, label %ifend198 -then196: + %t310 = call i32 @fn_is_id(ptr @.str348) + %t311 = icmp ne i32 %t310, 0 + br i1 %t311, label %then137, label %ifend139 +then137: + %t312 = call ptr @fn_parse_system() + store ptr %t312, ptr %t313 + %t314 = load ptr, ptr %t14 + %t315 = icmp ne ptr %t314, null + %t316 = zext i1 %t315 to i32 + %t317 = icmp ne i32 %t316, 0 + br i1 %t317, label %then140, label %ifend142 +then140: + %t318 = load ptr, ptr %t14 + %t319 = call i32 @fn_str_eq(ptr %t318, ptr @.str349) + %t320 = icmp ne i32 %t319, 0 + br i1 %t320, label %then143, label %else144 +then143: + %t321 = load ptr, ptr %t313 + %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 2 + store i32 1, ptr %t322 + br label %ifend145 +else144: + %t323 = load ptr, ptr %t313 + %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 2 + store i32 2, ptr %t324 + br label %ifend145 +ifend145: + br label %ifend142 +ifend142: + %t325 = load ptr, ptr %t9 + %t326 = icmp ne ptr %t325, null + %t327 = zext i1 %t326 to i32 + %t328 = icmp ne i32 %t327, 0 + br i1 %t328, label %then146, label %ifend148 +then146: + %t329 = load ptr, ptr %t9 + %t330 = load ptr, ptr %t313 + %t331 = getelementptr inbounds %Cmp_Node, ptr %t330, i32 0, i32 4 + %t332 = load ptr, ptr %t331 + call void @fn_register_onlisten(ptr %t329, ptr %t332) + br label %ret +ifend148: + %t333 = load ptr, ptr %t2 + %t334 = icmp ne ptr %t333, null + %t335 = zext i1 %t334 to i32 + %t336 = icmp ne i32 %t335, 0 + br i1 %t336, label %then149, label %ifend151 +then149: + %t337 = load ptr, ptr %t2 + %t338 = load ptr, ptr %t313 + %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 4 + %t340 = load ptr, ptr %t339 + call void @fn_register_onspawn(ptr %t337, ptr %t340) + %t341 = load i32, ptr %t10 + %t342 = icmp ne i32 %t341, 0 + br i1 %t342, label %then152, label %ifend154 +then152: + %t343 = load ptr, ptr %t2 + %t344 = call ptr @fn_str_concat(ptr @.str350, ptr %t343) + %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str351) + call void @fn_ensure_event(ptr %t345, i32 0) + br label %ifend154 +ifend154: + br label %ret +ifend151: + %t346 = load ptr, ptr %t3 + %t347 = icmp ne ptr %t346, null + %t348 = zext i1 %t347 to i32 + %t349 = icmp ne i32 %t348, 0 + br i1 %t349, label %then155, label %ifend157 +then155: + %t350 = load ptr, ptr %t3 + %t351 = load ptr, ptr %t313 + %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 4 + %t353 = load ptr, ptr %t352 + %t354 = load ptr, ptr %t4 + call void @fn_register_ondespawn(ptr %t350, ptr %t353, ptr %t354) + %t355 = load i32, ptr %t10 + %t356 = icmp ne i32 %t355, 0 + br i1 %t356, label %then158, label %ifend160 +then158: + %t357 = load ptr, ptr %t3 + %t358 = call ptr @fn_str_concat(ptr @.str352, ptr %t357) + %t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str353) + call void @fn_ensure_event(ptr %t359, i32 1) + br label %ifend160 +ifend160: + br label %ret +ifend157: + %t360 = load ptr, ptr %t5 + %t361 = icmp ne ptr %t360, null + %t362 = zext i1 %t361 to i32 + %t363 = icmp ne i32 %t362, 0 + br i1 %t363, label %then161, label %ifend163 +then161: + %t364 = load ptr, ptr %t5 + %t365 = load ptr, ptr %t313 + %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 4 + %t367 = load ptr, ptr %t366 + call void @fn_register_onattach(ptr %t364, ptr %t367) + %t368 = load i32, ptr %t10 + %t369 = icmp ne i32 %t368, 0 + br i1 %t369, label %then164, label %ifend166 +then164: + %t370 = load ptr, ptr %t5 + %t371 = call ptr @fn_str_concat(ptr @.str354, ptr %t370) + %t372 = call ptr @fn_str_concat(ptr %t371, ptr @.str355) + call void @fn_ensure_event(ptr %t372, i32 0) + br label %ifend166 +ifend166: + br label %ret +ifend163: + %t373 = load ptr, ptr %t6 + %t374 = icmp ne ptr %t373, null + %t375 = zext i1 %t374 to i32 + %t376 = icmp ne i32 %t375, 0 + br i1 %t376, label %then167, label %ifend169 +then167: + %t377 = load ptr, ptr %t6 + %t378 = load ptr, ptr %t313 + %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 4 + %t380 = load ptr, ptr %t379 + call void @fn_register_ondetach(ptr %t377, ptr %t380) + %t381 = load i32, ptr %t10 + %t382 = icmp ne i32 %t381, 0 + br i1 %t382, label %then170, label %ifend172 +then170: + %t383 = load ptr, ptr %t6 + %t384 = call ptr @fn_str_concat(ptr @.str356, ptr %t383) + %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str357) + call void @fn_ensure_event(ptr %t385, i32 0) + br label %ifend172 +ifend172: + br label %ret +ifend169: + %t386 = load ptr, ptr %t7 + %t387 = icmp ne ptr %t386, null + %t388 = zext i1 %t387 to i32 + %t389 = icmp ne i32 %t388, 0 + br i1 %t389, label %then173, label %ifend175 +then173: + %t390 = load ptr, ptr %t7 + %t391 = load ptr, ptr %t313 + %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 4 + %t393 = load ptr, ptr %t392 + call void @fn_register_onenable(ptr %t390, ptr %t393) + %t394 = load i32, ptr %t10 + %t395 = icmp ne i32 %t394, 0 + br i1 %t395, label %then176, label %ifend178 +then176: + %t396 = load ptr, ptr %t7 + %t397 = call ptr @fn_str_concat(ptr @.str358, ptr %t396) + %t398 = call ptr @fn_str_concat(ptr %t397, ptr @.str359) + call void @fn_ensure_event(ptr %t398, i32 0) + br label %ifend178 +ifend178: + br label %ret +ifend175: + %t399 = load ptr, ptr %t8 + %t400 = icmp ne ptr %t399, null + %t401 = zext i1 %t400 to i32 + %t402 = icmp ne i32 %t401, 0 + br i1 %t402, label %then179, label %ifend181 +then179: + %t403 = load ptr, ptr %t8 + %t404 = load ptr, ptr %t313 + %t405 = getelementptr inbounds %Cmp_Node, ptr %t404, i32 0, i32 4 + %t406 = load ptr, ptr %t405 + call void @fn_register_ondisable(ptr %t403, ptr %t406) + %t407 = load i32, ptr %t10 + %t408 = icmp ne i32 %t407, 0 + br i1 %t408, label %then182, label %ifend184 +then182: + %t409 = load ptr, ptr %t8 + %t410 = call ptr @fn_str_concat(ptr @.str360, ptr %t409) + %t411 = call ptr @fn_str_concat(ptr %t410, ptr @.str361) + call void @fn_ensure_event(ptr %t411, i32 0) + br label %ifend184 +ifend184: + br label %ret +ifend181: + %t412 = load ptr, ptr %t11 + %t413 = icmp ne ptr %t412, null + %t414 = zext i1 %t413 to i32 + %t415 = icmp ne i32 %t414, 0 + br i1 %t415, label %then185, label %ifend187 +then185: + %t416 = load ptr, ptr %t313 + %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 3 + %t418 = load ptr, ptr %t11 + store ptr %t418, ptr %t417 + %t419 = load i32, ptr %t10 + %t420 = icmp ne i32 %t419, 0 + br i1 %t420, label %then188, label %ifend190 +then188: + %t421 = load ptr, ptr %t11 + %t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str362) + %t423 = icmp ne i32 %t422, 0 + br i1 %t423, label %then191, label %else192 +then191: + call void @fn_ensure_event_empty(ptr @.str363) + br label %ifend193 +else192: + call void @fn_ensure_event_empty(ptr @.str364) + br label %ifend193 +ifend193: + br label %ifend190 +ifend190: + br label %ifend187 +ifend187: + %t424 = load ptr, ptr %t1 + %t425 = icmp ne ptr %t424, null + %t426 = zext i1 %t425 to i32 + %t427 = icmp ne i32 %t426, 0 + br i1 %t427, label %then194, label %ifend196 +then194: + %t428 = load ptr, ptr %t1 + %t429 = getelementptr inbounds %Cmp_Node, ptr %t428, i32 0, i32 4 + %t430 = load ptr, ptr %t313 + %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 4 + %t432 = load ptr, ptr %t431 + store ptr %t432, ptr %t429 + %t433 = call ptr @fn_node(i32 7) + store ptr %t433, ptr %t434 + %t435 = load ptr, ptr %t434 + %t436 = getelementptr inbounds %Cmp_Node, ptr %t435, i32 0, i32 7 + %t437 = load ptr, ptr %t436 + %t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 1 + %t439 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 2 + %t440 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0 + %t441 = load i32, ptr %t438 + %t442 = load i32, ptr %t439 + %t443 = icmp sge i32 %t441, %t442 + br i1 %t443, label %grow197, label %put198 +grow197: + %t444 = mul i32 %t442, 2 + %t445 = icmp eq i32 %t442, 0 + %t446 = select i1 %t445, i32 8, i32 %t444 + %t447 = getelementptr ptr, ptr null, i32 1 + %t448 = ptrtoint ptr %t447 to i64 + %t449 = zext i32 %t446 to i64 + %t450 = mul i64 %t449, %t448 + %t451 = load ptr, ptr %t440 + %t452 = call ptr @realloc(ptr %t451, i64 %t450) + store ptr %t452, ptr %t440 + store i32 %t446, ptr %t439 + br label %put198 +put198: + %t453 = load ptr, ptr %t1 + %t454 = load ptr, ptr %t440 + %t455 = getelementptr inbounds ptr, ptr %t454, i32 %t441 + store ptr %t453, ptr %t455 + %t456 = add i32 %t441, 1 + store i32 %t456, ptr %t438 + %t457 = load ptr, ptr %t313 + %t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 4 + %t459 = load ptr, ptr %t434 + store ptr %t459, ptr %t458 + br label %ifend196 +ifend196: %t460 = load ptr, ptr @g_prog %t461 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 1 %t462 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 2 @@ -19661,56 +21763,56 @@ grow199: store i32 %t469, ptr %t462 br label %put200 put200: - %t476 = call ptr @fn_parse_ui() + %t476 = load ptr, ptr %t313 %t477 = load ptr, ptr %t463 %t478 = getelementptr inbounds ptr, ptr %t477, i32 %t464 store ptr %t476, ptr %t478 %t479 = add i32 %t464, 1 store i32 %t479, ptr %t461 br label %ret -ifend198: - %t480 = call i32 @fn_is_id(ptr @.str322) +ifend139: + %t480 = call i32 @fn_is_id(ptr @.str365) %t481 = icmp ne i32 %t480, 0 br i1 %t481, label %then201, label %ifend203 then201: - call void @fn_parse_namespace() + %t482 = load ptr, ptr @g_prog + %t483 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 1 + %t484 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 2 + %t485 = getelementptr inbounds %LSlice, ptr %t482, i32 0, i32 0 + %t486 = load i32, ptr %t483 + %t487 = load i32, ptr %t484 + %t488 = icmp sge i32 %t486, %t487 + br i1 %t488, label %grow204, label %put205 +grow204: + %t489 = mul i32 %t487, 2 + %t490 = icmp eq i32 %t487, 0 + %t491 = select i1 %t490, i32 8, i32 %t489 + %t492 = getelementptr ptr, ptr null, i32 1 + %t493 = ptrtoint ptr %t492 to i64 + %t494 = zext i32 %t491 to i64 + %t495 = mul i64 %t494, %t493 + %t496 = load ptr, ptr %t485 + %t497 = call ptr @realloc(ptr %t496, i64 %t495) + store ptr %t497, ptr %t485 + store i32 %t491, ptr %t484 + br label %put205 +put205: + %t498 = call ptr @fn_parse_ui() + %t499 = load ptr, ptr %t485 + %t500 = getelementptr inbounds ptr, ptr %t499, i32 %t486 + store ptr %t498, ptr %t500 + %t501 = add i32 %t486, 1 + store i32 %t501, ptr %t483 br label %ret ifend203: - %t482 = call i32 @fn_is_id(ptr @.str323) - %t483 = icmp ne i32 %t482, 0 - br i1 %t483, label %then204, label %ifend206 -then204: - %t484 = load ptr, ptr @g_prog - %t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 1 - %t486 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 2 - %t487 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0 - %t488 = load i32, ptr %t485 - %t489 = load i32, ptr %t486 - %t490 = icmp sge i32 %t488, %t489 - br i1 %t490, label %grow207, label %put208 -grow207: - %t491 = mul i32 %t489, 2 - %t492 = icmp eq i32 %t489, 0 - %t493 = select i1 %t492, i32 8, i32 %t491 - %t494 = getelementptr ptr, ptr null, i32 1 - %t495 = ptrtoint ptr %t494 to i64 - %t496 = zext i32 %t493 to i64 - %t497 = mul i64 %t496, %t495 - %t498 = load ptr, ptr %t487 - %t499 = call ptr @realloc(ptr %t498, i64 %t497) - store ptr %t499, ptr %t487 - store i32 %t493, ptr %t486 - br label %put208 -put208: - %t500 = call ptr @fn_parse_var() - %t501 = load ptr, ptr %t487 - %t502 = getelementptr inbounds ptr, ptr %t501, i32 %t488 - store ptr %t500, ptr %t502 - %t503 = add i32 %t488, 1 - store i32 %t503, ptr %t485 + %t502 = call i32 @fn_is_id(ptr @.str366) + %t503 = icmp ne i32 %t502, 0 + br i1 %t503, label %then206, label %ifend208 +then206: + call void @fn_parse_namespace() br label %ret -ifend206: - %t504 = call i32 @fn_is_id(ptr @.str324) +ifend208: + %t504 = call i32 @fn_is_id(ptr @.str367) %t505 = icmp ne i32 %t504, 0 br i1 %t505, label %then209, label %ifend211 then209: @@ -19736,7 +21838,7 @@ grow212: store i32 %t515, ptr %t508 br label %put213 put213: - %t522 = call ptr @fn_parse_const() + %t522 = call ptr @fn_parse_var() %t523 = load ptr, ptr %t509 %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t510 store ptr %t522, ptr %t524 @@ -19744,66 +21846,70 @@ put213: store i32 %t525, ptr %t507 br label %ret ifend211: - %t526 = call i32 @fn_is_id(ptr @.str325) + %t526 = call i32 @fn_is_id(ptr @.str368) %t527 = icmp ne i32 %t526, 0 br i1 %t527, label %then214, label %ifend216 then214: - %t528 = call ptr @fn_parse_fn() - store ptr %t528, ptr %t529 - %t530 = load i32, ptr %t0 - %t531 = icmp ne i32 %t530, 0 - br i1 %t531, label %then217, label %ifend219 -then217: - %t532 = load ptr, ptr %t529 - %t533 = getelementptr inbounds %Cmp_Node, ptr %t532, i32 0, i32 2 - store i32 1, ptr %t533 - br label %ifend219 -ifend219: - %t534 = load ptr, ptr %t16 - %t535 = icmp ne ptr %t534, null - %t536 = zext i1 %t535 to i32 - %t537 = icmp ne i32 %t536, 0 - br i1 %t537, label %then220, label %ifend222 -then220: - %t538 = load ptr, ptr @g_g_mod_sys_fn - %t539 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 1 - %t540 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 2 - %t541 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 0 - %t542 = load i32, ptr %t539 - %t543 = load i32, ptr %t540 - %t544 = icmp sge i32 %t542, %t543 - br i1 %t544, label %grow223, label %put224 -grow223: - %t545 = mul i32 %t543, 2 - %t546 = icmp eq i32 %t543, 0 - %t547 = select i1 %t546, i32 8, i32 %t545 - %t548 = getelementptr ptr, ptr null, i32 1 - %t549 = ptrtoint ptr %t548 to i64 - %t550 = zext i32 %t547 to i64 - %t551 = mul i64 %t550, %t549 - %t552 = load ptr, ptr %t541 - %t553 = call ptr @realloc(ptr %t552, i64 %t551) - store ptr %t553, ptr %t541 - store i32 %t547, ptr %t540 - br label %put224 -put224: - %t554 = load ptr, ptr %t529 - %t555 = getelementptr inbounds %Cmp_Node, ptr %t554, i32 0, i32 1 - %t556 = load ptr, ptr %t555 - %t557 = load ptr, ptr %t541 - %t558 = getelementptr inbounds ptr, ptr %t557, i32 %t542 - store ptr %t556, ptr %t558 - %t559 = add i32 %t542, 1 - store i32 %t559, ptr %t539 - %t560 = load ptr, ptr @g_g_mod_sys_phase + %t528 = load ptr, ptr @g_prog + %t529 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 1 + %t530 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 2 + %t531 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 0 + %t532 = load i32, ptr %t529 + %t533 = load i32, ptr %t530 + %t534 = icmp sge i32 %t532, %t533 + br i1 %t534, label %grow217, label %put218 +grow217: + %t535 = mul i32 %t533, 2 + %t536 = icmp eq i32 %t533, 0 + %t537 = select i1 %t536, i32 8, i32 %t535 + %t538 = getelementptr ptr, ptr null, i32 1 + %t539 = ptrtoint ptr %t538 to i64 + %t540 = zext i32 %t537 to i64 + %t541 = mul i64 %t540, %t539 + %t542 = load ptr, ptr %t531 + %t543 = call ptr @realloc(ptr %t542, i64 %t541) + store ptr %t543, ptr %t531 + store i32 %t537, ptr %t530 + br label %put218 +put218: + %t544 = call ptr @fn_parse_const() + %t545 = load ptr, ptr %t531 + %t546 = getelementptr inbounds ptr, ptr %t545, i32 %t532 + store ptr %t544, ptr %t546 + %t547 = add i32 %t532, 1 + store i32 %t547, ptr %t529 + br label %ret +ifend216: + %t548 = call i32 @fn_is_id(ptr @.str369) + %t549 = icmp ne i32 %t548, 0 + br i1 %t549, label %then219, label %ifend221 +then219: + %t550 = call ptr @fn_parse_fn() + store ptr %t550, ptr %t551 + %t552 = load i32, ptr %t0 + %t553 = icmp ne i32 %t552, 0 + br i1 %t553, label %then222, label %ifend224 +then222: + %t554 = load ptr, ptr %t551 + %t555 = getelementptr inbounds %Cmp_Node, ptr %t554, i32 0, i32 2 + store i32 1, ptr %t555 + br label %ifend224 +ifend224: + %t556 = load ptr, ptr %t16 + %t557 = icmp ne ptr %t556, null + %t558 = zext i1 %t557 to i32 + %t559 = icmp ne i32 %t558, 0 + br i1 %t559, label %then225, label %ifend227 +then225: + %t560 = load ptr, ptr @g_g_mod_sys_fn %t561 = getelementptr inbounds %LSlice, ptr %t560, i32 0, i32 1 %t562 = getelementptr inbounds %LSlice, ptr %t560, i32 0, i32 2 %t563 = getelementptr inbounds %LSlice, ptr %t560, i32 0, i32 0 %t564 = load i32, ptr %t561 %t565 = load i32, ptr %t562 %t566 = icmp sge i32 %t564, %t565 - br i1 %t566, label %grow225, label %put226 -grow225: + br i1 %t566, label %grow228, label %put229 +grow228: %t567 = mul i32 %t565, 2 %t568 = icmp eq i32 %t565, 0 %t569 = select i1 %t568, i32 8, i32 %t567 @@ -19815,89 +21921,89 @@ grow225: %t575 = call ptr @realloc(ptr %t574, i64 %t573) store ptr %t575, ptr %t563 store i32 %t569, ptr %t562 - br label %put226 -put226: - %t576 = load ptr, ptr %t16 - %t577 = load ptr, ptr %t563 - %t578 = getelementptr inbounds ptr, ptr %t577, i32 %t564 - store ptr %t576, ptr %t578 - %t579 = add i32 %t564, 1 - store i32 %t579, ptr %t561 - br label %ifend222 -ifend222: - %t580 = load ptr, ptr %t17 - %t581 = icmp ne ptr %t580, null - %t582 = zext i1 %t581 to i32 - %t583 = icmp ne i32 %t582, 0 - br i1 %t583, label %then227, label %ifend229 -then227: - %t584 = load ptr, ptr @g_g_esys_comp - %t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 1 - %t586 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 2 - %t587 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0 - %t588 = load i32, ptr %t585 - %t589 = load i32, ptr %t586 - %t590 = icmp sge i32 %t588, %t589 - br i1 %t590, label %grow230, label %put231 + br label %put229 +put229: + %t576 = load ptr, ptr %t551 + %t577 = getelementptr inbounds %Cmp_Node, ptr %t576, i32 0, i32 1 + %t578 = load ptr, ptr %t577 + %t579 = load ptr, ptr %t563 + %t580 = getelementptr inbounds ptr, ptr %t579, i32 %t564 + store ptr %t578, ptr %t580 + %t581 = add i32 %t564, 1 + store i32 %t581, ptr %t561 + %t582 = load ptr, ptr @g_g_mod_sys_phase + %t583 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 1 + %t584 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 2 + %t585 = getelementptr inbounds %LSlice, ptr %t582, i32 0, i32 0 + %t586 = load i32, ptr %t583 + %t587 = load i32, ptr %t584 + %t588 = icmp sge i32 %t586, %t587 + br i1 %t588, label %grow230, label %put231 grow230: - %t591 = mul i32 %t589, 2 - %t592 = icmp eq i32 %t589, 0 - %t593 = select i1 %t592, i32 8, i32 %t591 - %t594 = getelementptr ptr, ptr null, i32 1 - %t595 = ptrtoint ptr %t594 to i64 - %t596 = zext i32 %t593 to i64 - %t597 = mul i64 %t596, %t595 - %t598 = load ptr, ptr %t587 - %t599 = call ptr @realloc(ptr %t598, i64 %t597) - store ptr %t599, ptr %t587 - store i32 %t593, ptr %t586 + %t589 = mul i32 %t587, 2 + %t590 = icmp eq i32 %t587, 0 + %t591 = select i1 %t590, i32 8, i32 %t589 + %t592 = getelementptr ptr, ptr null, i32 1 + %t593 = ptrtoint ptr %t592 to i64 + %t594 = zext i32 %t591 to i64 + %t595 = mul i64 %t594, %t593 + %t596 = load ptr, ptr %t585 + %t597 = call ptr @realloc(ptr %t596, i64 %t595) + store ptr %t597, ptr %t585 + store i32 %t591, ptr %t584 br label %put231 put231: - %t600 = load ptr, ptr %t17 - %t601 = load ptr, ptr %t587 - %t602 = getelementptr inbounds ptr, ptr %t601, i32 %t588 - store ptr %t600, ptr %t602 - %t603 = add i32 %t588, 1 - store i32 %t603, ptr %t585 - %t604 = load ptr, ptr @g_g_esys_fn - %t605 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 1 - %t606 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 2 - %t607 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 0 - %t608 = load i32, ptr %t605 - %t609 = load i32, ptr %t606 - %t610 = icmp sge i32 %t608, %t609 - br i1 %t610, label %grow232, label %put233 -grow232: - %t611 = mul i32 %t609, 2 - %t612 = icmp eq i32 %t609, 0 - %t613 = select i1 %t612, i32 8, i32 %t611 - %t614 = getelementptr ptr, ptr null, i32 1 - %t615 = ptrtoint ptr %t614 to i64 - %t616 = zext i32 %t613 to i64 - %t617 = mul i64 %t616, %t615 - %t618 = load ptr, ptr %t607 - %t619 = call ptr @realloc(ptr %t618, i64 %t617) - store ptr %t619, ptr %t607 - store i32 %t613, ptr %t606 - br label %put233 -put233: - %t620 = load ptr, ptr %t529 - %t621 = getelementptr inbounds %Cmp_Node, ptr %t620, i32 0, i32 1 - %t622 = load ptr, ptr %t621 - %t623 = load ptr, ptr %t607 - %t624 = getelementptr inbounds ptr, ptr %t623, i32 %t608 + %t598 = load ptr, ptr %t16 + %t599 = load ptr, ptr %t585 + %t600 = getelementptr inbounds ptr, ptr %t599, i32 %t586 + store ptr %t598, ptr %t600 + %t601 = add i32 %t586, 1 + store i32 %t601, ptr %t583 + br label %ifend227 +ifend227: + %t602 = load ptr, ptr %t17 + %t603 = icmp ne ptr %t602, null + %t604 = zext i1 %t603 to i32 + %t605 = icmp ne i32 %t604, 0 + br i1 %t605, label %then232, label %ifend234 +then232: + %t606 = load ptr, ptr @g_g_esys_comp + %t607 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 1 + %t608 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 2 + %t609 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 0 + %t610 = load i32, ptr %t607 + %t611 = load i32, ptr %t608 + %t612 = icmp sge i32 %t610, %t611 + br i1 %t612, label %grow235, label %put236 +grow235: + %t613 = mul i32 %t611, 2 + %t614 = icmp eq i32 %t611, 0 + %t615 = select i1 %t614, i32 8, i32 %t613 + %t616 = getelementptr ptr, ptr null, i32 1 + %t617 = ptrtoint ptr %t616 to i64 + %t618 = zext i32 %t615 to i64 + %t619 = mul i64 %t618, %t617 + %t620 = load ptr, ptr %t609 + %t621 = call ptr @realloc(ptr %t620, i64 %t619) + store ptr %t621, ptr %t609 + store i32 %t615, ptr %t608 + br label %put236 +put236: + %t622 = load ptr, ptr %t17 + %t623 = load ptr, ptr %t609 + %t624 = getelementptr inbounds ptr, ptr %t623, i32 %t610 store ptr %t622, ptr %t624 - %t625 = add i32 %t608, 1 - store i32 %t625, ptr %t605 - %t626 = load ptr, ptr @g_g_esys_phase + %t625 = add i32 %t610, 1 + store i32 %t625, ptr %t607 + %t626 = load ptr, ptr @g_g_esys_fn %t627 = getelementptr inbounds %LSlice, ptr %t626, i32 0, i32 1 %t628 = getelementptr inbounds %LSlice, ptr %t626, i32 0, i32 2 %t629 = getelementptr inbounds %LSlice, ptr %t626, i32 0, i32 0 %t630 = load i32, ptr %t627 %t631 = load i32, ptr %t628 %t632 = icmp sge i32 %t630, %t631 - br i1 %t632, label %grow234, label %put235 -grow234: + br i1 %t632, label %grow237, label %put238 +grow237: %t633 = mul i32 %t631, 2 %t634 = icmp eq i32 %t631, 0 %t635 = select i1 %t634, i32 8, i32 %t633 @@ -19909,60 +22015,56 @@ grow234: %t641 = call ptr @realloc(ptr %t640, i64 %t639) store ptr %t641, ptr %t629 store i32 %t635, ptr %t628 - br label %put235 -put235: - %t642 = load ptr, ptr %t18 - %t643 = load ptr, ptr %t629 - %t644 = getelementptr inbounds ptr, ptr %t643, i32 %t630 - store ptr %t642, ptr %t644 - %t645 = add i32 %t630, 1 - store i32 %t645, ptr %t627 - br label %ifend229 -ifend229: - %t646 = load ptr, ptr %t19 - %t647 = icmp ne ptr %t646, null - %t648 = zext i1 %t647 to i32 - %t649 = icmp ne i32 %t648, 0 - br i1 %t649, label %then236, label %ifend238 -then236: - %t650 = load ptr, ptr %t19 - call void @fn_register_namespace(ptr %t650) - br label %ifend238 -ifend238: - %t651 = load ptr, ptr @g_prog - %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 %grow239, label %put240 + br label %put238 +put238: + %t642 = load ptr, ptr %t551 + %t643 = getelementptr inbounds %Cmp_Node, ptr %t642, i32 0, i32 1 + %t644 = load ptr, ptr %t643 + %t645 = load ptr, ptr %t629 + %t646 = getelementptr inbounds ptr, ptr %t645, i32 %t630 + store ptr %t644, ptr %t646 + %t647 = add i32 %t630, 1 + store i32 %t647, ptr %t627 + %t648 = load ptr, ptr @g_g_esys_phase + %t649 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 1 + %t650 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 2 + %t651 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 0 + %t652 = load i32, ptr %t649 + %t653 = load i32, ptr %t650 + %t654 = icmp sge i32 %t652, %t653 + br i1 %t654, label %grow239, label %put240 grow239: - %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 + %t655 = mul i32 %t653, 2 + %t656 = icmp eq i32 %t653, 0 + %t657 = select i1 %t656, i32 8, i32 %t655 + %t658 = getelementptr ptr, ptr null, i32 1 + %t659 = ptrtoint ptr %t658 to i64 + %t660 = zext i32 %t657 to i64 + %t661 = mul i64 %t660, %t659 + %t662 = load ptr, ptr %t651 + %t663 = call ptr @realloc(ptr %t662, i64 %t661) + store ptr %t663, ptr %t651 + store i32 %t657, ptr %t650 br label %put240 put240: - %t667 = load ptr, ptr %t529 - %t668 = load ptr, ptr %t654 - %t669 = getelementptr inbounds ptr, ptr %t668, i32 %t655 - store ptr %t667, ptr %t669 - %t670 = add i32 %t655, 1 - store i32 %t670, ptr %t652 - br label %ret -ifend216: - %t671 = call i32 @fn_is_id(ptr @.str326) - %t672 = icmp ne i32 %t671, 0 - br i1 %t672, label %then241, label %ifend243 + %t664 = load ptr, ptr %t18 + %t665 = load ptr, ptr %t651 + %t666 = getelementptr inbounds ptr, ptr %t665, i32 %t652 + store ptr %t664, ptr %t666 + %t667 = add i32 %t652, 1 + store i32 %t667, ptr %t649 + br label %ifend234 +ifend234: + %t668 = load ptr, ptr %t19 + %t669 = icmp ne ptr %t668, null + %t670 = zext i1 %t669 to i32 + %t671 = icmp ne i32 %t670, 0 + br i1 %t671, label %then241, label %ifend243 then241: + %t672 = load ptr, ptr %t19 + call void @fn_register_namespace(ptr %t672) + br label %ifend243 +ifend243: %t673 = load ptr, ptr @g_prog %t674 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 1 %t675 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 2 @@ -19985,15 +22087,15 @@ grow244: store i32 %t682, ptr %t675 br label %put245 put245: - %t689 = call ptr @fn_parse_extern() + %t689 = load ptr, ptr %t551 %t690 = load ptr, ptr %t676 %t691 = getelementptr inbounds ptr, ptr %t690, i32 %t677 store ptr %t689, ptr %t691 %t692 = add i32 %t677, 1 store i32 %t692, ptr %t674 br label %ret -ifend243: - %t693 = call i32 @fn_is_id(ptr @.str327) +ifend221: + %t693 = call i32 @fn_is_id(ptr @.str370) %t694 = icmp ne i32 %t693, 0 br i1 %t694, label %then246, label %ifend248 then246: @@ -20019,7 +22121,7 @@ grow249: store i32 %t704, ptr %t697 br label %put250 put250: - %t711 = call ptr @fn_parse_main() + %t711 = call ptr @fn_parse_extern() %t712 = load ptr, ptr %t698 %t713 = getelementptr inbounds ptr, ptr %t712, i32 %t699 store ptr %t711, ptr %t713 @@ -20027,11 +22129,11 @@ put250: store i32 %t714, ptr %t696 br label %ret ifend248: - %t715 = call i32 @fn_is_id(ptr @.str328) + %t715 = call i32 @fn_is_id(ptr @.str371) %t716 = icmp ne i32 %t715, 0 br i1 %t716, label %then251, label %ifend253 then251: - %t717 = load ptr, ptr @g_g_tests + %t717 = load ptr, ptr @g_prog %t718 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 1 %t719 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 2 %t720 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 0 @@ -20053,7 +22155,7 @@ grow254: store i32 %t726, ptr %t719 br label %put255 put255: - %t733 = call ptr @fn_parse_test() + %t733 = call ptr @fn_parse_main() %t734 = load ptr, ptr %t720 %t735 = getelementptr inbounds ptr, ptr %t734, i32 %t721 store ptr %t733, ptr %t735 @@ -20061,7 +22163,41 @@ put255: store i32 %t736, ptr %t718 br label %ret ifend253: - call void @fn_perr(ptr @.str329) + %t737 = call i32 @fn_is_id(ptr @.str372) + %t738 = icmp ne i32 %t737, 0 + br i1 %t738, label %then256, label %ifend258 +then256: + %t739 = load ptr, ptr @g_g_tests + %t740 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 1 + %t741 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 2 + %t742 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 0 + %t743 = load i32, ptr %t740 + %t744 = load i32, ptr %t741 + %t745 = icmp sge i32 %t743, %t744 + br i1 %t745, label %grow259, label %put260 +grow259: + %t746 = mul i32 %t744, 2 + %t747 = icmp eq i32 %t744, 0 + %t748 = select i1 %t747, i32 8, i32 %t746 + %t749 = getelementptr ptr, ptr null, i32 1 + %t750 = ptrtoint ptr %t749 to i64 + %t751 = zext i32 %t748 to i64 + %t752 = mul i64 %t751, %t750 + %t753 = load ptr, ptr %t742 + %t754 = call ptr @realloc(ptr %t753, i64 %t752) + store ptr %t754, ptr %t742 + store i32 %t748, ptr %t741 + br label %put260 +put260: + %t755 = call ptr @fn_parse_test() + %t756 = load ptr, ptr %t742 + %t757 = getelementptr inbounds ptr, ptr %t756, i32 %t743 + store ptr %t755, ptr %t757 + %t758 = add i32 %t743, 1 + store i32 %t758, ptr %t740 + br label %ret +ifend258: + call void @fn_perr(ptr @.str373) br label %ret ret: ret void @@ -20097,7 +22233,7 @@ entry: %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then0, label %ifend2 then0: - call void @fn_perr(ptr @.str330) + call void @fn_perr(ptr @.str374) br label %ifend2 ifend2: %t22 = call ptr @fn_node(i32 51) @@ -20240,223 +22376,544 @@ ret: ret i32 %t57 } +define i32 @fn_str_less(ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t9 = alloca i32 + %t15 = alloca i32 + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = icmp ne i32 1, 0 + br i1 %t3, label %wbody1, label %wend2 +wbody1: + %t4 = load ptr, ptr %t0 + %t5 = load i32, ptr %t2 + %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 + %t7 = load i8, ptr %t6 + %t8 = zext i8 %t7 to i32 + store i32 %t8, ptr %t9 + %t10 = load ptr, ptr %t1 + %t11 = load i32, ptr %t2 + %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 + %t13 = load i8, ptr %t12 + %t14 = zext i8 %t13 to i32 + store i32 %t14, ptr %t15 + %t16 = load i32, ptr %t9 + %t17 = load i32, ptr %t15 + %t18 = icmp ne i32 %t16, %t17 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load i32, ptr %t9 + %t22 = load i32, ptr %t15 + %t23 = icmp slt i32 %t21, %t22 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %retval + br label %ret +ifend5: + %t25 = load i32, ptr %t9 + %t26 = icmp eq i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + store i32 0, ptr %retval + br label %ret +ifend8: + %t29 = load i32, ptr %t2 + %t30 = add i32 %t29, 1 + store i32 %t30, ptr %t2 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t31 = load i32, ptr %retval + ret i32 %t31 +} + +define void @fn_do_import_dir(ptr %arg_rel) { +entry: + %t0 = alloca ptr + %t7 = alloca ptr + %t12 = alloca ptr + %t19 = alloca i32 + %t28 = alloca i32 + %t31 = alloca i32 + %t62 = alloca ptr + %t95 = alloca ptr + %t99 = alloca i32 + %t100 = alloca i32 + store ptr %arg_rel, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i64 @strlen(ptr %t2) + %t4 = trunc i64 %t3 to i32 + %t5 = sub i32 %t4, 8 + %t6 = call ptr @fn_str_slice(ptr %t1, i32 0, i32 %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr @g_cur_dir + %t9 = load ptr, ptr %t7 + %t10 = call ptr @fn_join_path(ptr %t8, ptr %t9) + %t11 = call ptr @fn_fs_list(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = icmp eq ptr %t13, null + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then0, label %ifend2 +then0: + %t17 = load ptr, ptr %t7 + %t18 = call ptr @fn_str_concat(ptr @.str375, ptr %t17) + call void @fn_perr(ptr %t18) + br label %ifend2 +ifend2: + store i32 0, ptr %t19 + br label %wcond3 +wcond3: + %t20 = load i32, ptr %t19 + %t21 = load ptr, ptr %t12 + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 + %t23 = load i32, ptr %t22 + %t24 = icmp slt i32 %t20, %t23 + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %wbody4, label %wend5 +wbody4: + %t27 = load i32, ptr %t19 + store i32 %t27, ptr %t28 + %t29 = load i32, ptr %t19 + %t30 = add i32 %t29, 1 + store i32 %t30, ptr %t31 + br label %wcond6 +wcond6: + %t32 = load i32, ptr %t31 + %t33 = load ptr, ptr %t12 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t35 = load i32, ptr %t34 + %t36 = icmp slt i32 %t32, %t35 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %wbody7, label %wend8 +wbody7: + %t39 = load ptr, ptr %t12 + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = load i32, ptr %t31 + %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = load ptr, ptr %t12 + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = load i32, ptr %t28 + %t49 = getelementptr inbounds ptr, ptr %t47, i32 %t48 + %t50 = load ptr, ptr %t49 + %t51 = call i32 @fn_str_less(ptr %t44, ptr %t50) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then9, label %ifend11 +then9: + %t53 = load i32, ptr %t31 + store i32 %t53, ptr %t28 + br label %ifend11 +ifend11: + %t54 = load i32, ptr %t31 + %t55 = add i32 %t54, 1 + store i32 %t55, ptr %t31 + br label %wcond6 +wend8: + %t56 = load ptr, ptr %t12 + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + %t58 = load ptr, ptr %t57 + %t59 = load i32, ptr %t19 + %t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59 + %t61 = load ptr, ptr %t60 + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t12 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = load i32, ptr %t19 + %t67 = getelementptr inbounds ptr, ptr %t65, i32 %t66 + %t68 = load ptr, ptr %t12 + %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 + %t70 = load ptr, ptr %t69 + %t71 = load i32, ptr %t28 + %t72 = getelementptr inbounds ptr, ptr %t70, i32 %t71 + %t73 = load ptr, ptr %t72 + store ptr %t73, ptr %t67 + %t74 = load ptr, ptr %t12 + %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + %t76 = load ptr, ptr %t75 + %t77 = load i32, ptr %t28 + %t78 = getelementptr inbounds ptr, ptr %t76, i32 %t77 + %t79 = load ptr, ptr %t62 + store ptr %t79, ptr %t78 + %t80 = load i32, ptr %t19 + %t81 = add i32 %t80, 1 + store i32 %t81, ptr %t19 + br label %wcond3 +wend5: + store i32 0, ptr %t19 + br label %wcond12 +wcond12: + %t82 = load i32, ptr %t19 + %t83 = load ptr, ptr %t12 + %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 + %t85 = load i32, ptr %t84 + %t86 = icmp slt i32 %t82, %t85 + %t87 = zext i1 %t86 to i32 + %t88 = icmp ne i32 %t87, 0 + br i1 %t88, label %wbody13, label %wend14 +wbody13: + %t89 = load ptr, ptr %t12 + %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = load i32, ptr %t19 + %t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92 + %t94 = load ptr, ptr %t93 + store ptr %t94, ptr %t95 + %t96 = load ptr, ptr %t95 + %t97 = call i64 @strlen(ptr %t96) + %t98 = trunc i64 %t97 to i32 + store i32 %t98, ptr %t99 + %t101 = load i32, ptr %t99 + %t102 = icmp sgt i32 %t101, 6 + %t103 = zext i1 %t102 to i32 + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t100 + br i1 %t104, label %sc15, label %scend16 +sc15: + %t106 = load ptr, ptr %t95 + %t107 = load i32, ptr %t99 + %t108 = sub i32 %t107, 6 + %t109 = load i32, ptr %t99 + %t110 = call ptr @fn_str_slice(ptr %t106, i32 %t108, i32 %t109) + %t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str376) + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t100 + br label %scend16 +scend16: + %t114 = load i32, ptr %t100 + %t115 = icmp ne i32 %t114, 0 + br i1 %t115, label %then17, label %ifend19 +then17: + %t116 = load ptr, ptr %t7 + %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str377) + %t118 = load ptr, ptr %t95 + %t119 = call ptr @fn_str_concat(ptr %t117, ptr %t118) + call void @fn_do_import(ptr %t119) + br label %ifend19 +ifend19: + %t120 = load i32, ptr %t19 + %t121 = add i32 %t120, 1 + store i32 %t121, ptr %t19 + br label %wcond12 +wend14: + br label %ret +ret: + ret void +} + define void @fn_do_import(ptr %arg_rel) { entry: %t0 = alloca ptr - %t4 = alloca ptr - %t7 = alloca ptr - %t8 = alloca i32 - %t9 = alloca i32 - %t38 = alloca ptr - %t42 = alloca ptr - %t45 = alloca ptr - %t52 = alloca i32 - %t72 = alloca ptr - %t75 = alloca ptr - %t112 = alloca ptr - %t114 = alloca i32 - %t116 = alloca ptr + %t1 = alloca i32 + %t27 = alloca ptr + %t30 = alloca ptr + %t31 = alloca i32 + %t32 = alloca i32 + %t61 = alloca ptr + %t65 = alloca ptr + %t68 = alloca ptr + %t75 = alloca i32 + %t95 = alloca ptr + %t98 = alloca ptr + %t134 = alloca ptr + %t138 = alloca i32 + %t139 = alloca i32 + %t163 = alloca ptr + %t165 = alloca i32 + %t167 = alloca ptr store ptr %arg_rel, ptr %t0 - %t1 = load ptr, ptr @g_cur_dir %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_path_join(ptr %t1, ptr %t2) - store ptr %t3, ptr %t4 - %t5 = load ptr, ptr %t4 - %t6 = call ptr @fn_read_file(ptr %t5) - store ptr %t6, ptr %t7 - %t10 = load ptr, ptr %t7 - %t11 = icmp eq ptr %t10, null - %t12 = zext i1 %t11 to i32 - %t13 = icmp ne i32 %t12, 0 - %t14 = zext i1 %t13 to i32 - store i32 %t14, ptr %t9 - br i1 %t13, label %sc0, label %scend1 + %t3 = call i64 @strlen(ptr %t2) + %t4 = trunc i64 %t3 to i32 + %t5 = icmp sgt i32 %t4, 8 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + store i32 %t8, ptr %t1 + br i1 %t7, label %sc0, label %scend1 sc0: - %t15 = load ptr, ptr %t0 - %t16 = getelementptr inbounds i8, ptr %t15, i32 0 - %t17 = load i8, ptr %t16 - %t18 = zext i8 %t17 to i32 - %t19 = icmp ne i32 %t18, 47 + %t9 = load ptr, ptr %t0 + %t10 = load ptr, ptr %t0 + %t11 = call i64 @strlen(ptr %t10) + %t12 = trunc i64 %t11 to i32 + %t13 = sub i32 %t12, 8 + %t14 = load ptr, ptr %t0 + %t15 = call i64 @strlen(ptr %t14) + %t16 = trunc i64 %t15 to i32 + %t17 = call ptr @fn_str_slice(ptr %t9, i32 %t13, i32 %t16) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str378) + %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 - %t21 = icmp ne i32 %t20, 0 - %t22 = zext i1 %t21 to i32 - store i32 %t22, ptr %t9 + store i32 %t20, ptr %t1 br label %scend1 scend1: - %t23 = load i32, ptr %t9 - %t24 = icmp ne i32 %t23, 0 - %t25 = zext i1 %t24 to i32 - store i32 %t25, ptr %t8 - br i1 %t24, label %sc2, label %scend3 -sc2: - %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_is_runtime_path(ptr %t26) - %t28 = icmp ne i32 %t27, 0 - %t29 = zext i1 %t28 to i32 - store i32 %t29, ptr %t8 - br label %scend3 -scend3: - %t30 = load i32, ptr %t8 - %t31 = icmp ne i32 %t30, 0 - br i1 %t31, label %then4, label %ifend6 -then4: - %t32 = load ptr, ptr @L_argv - %t33 = getelementptr ptr, ptr %t32, i32 0 - %t34 = load ptr, ptr %t33 - %t35 = call ptr @fn_dir_of(ptr %t34) - %t36 = call ptr @fn_getenv_or(ptr @.str331, ptr %t35) - %t37 = call ptr @fn_ensure_slash(ptr %t36) - store ptr %t37, ptr %t38 - %t39 = load ptr, ptr %t38 - %t40 = load ptr, ptr %t0 - %t41 = call ptr @fn_str_concat(ptr %t39, ptr %t40) - store ptr %t41, ptr %t42 - %t43 = load ptr, ptr %t42 - %t44 = call ptr @fn_read_file(ptr %t43) - store ptr %t44, ptr %t45 - %t46 = load ptr, ptr %t45 - %t47 = icmp ne ptr %t46, null + %t21 = load i32, ptr %t1 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then2, label %ifend4 +then2: + %t23 = load ptr, ptr %t0 + call void @fn_do_import_dir(ptr %t23) + br label %ret +ifend4: + %t24 = load ptr, ptr @g_cur_dir + %t25 = load ptr, ptr %t0 + %t26 = call ptr @fn_join_path(ptr %t24, ptr %t25) + store ptr %t26, ptr %t27 + %t28 = load ptr, ptr %t27 + %t29 = call ptr @fn_read_file(ptr %t28) + store ptr %t29, ptr %t30 + %t33 = load ptr, ptr %t30 + %t34 = icmp eq ptr %t33, null + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t32 + br i1 %t36, label %sc5, label %scend6 +sc5: + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds i8, ptr %t38, i32 0 + %t40 = load i8, ptr %t39 + %t41 = zext i8 %t40 to i32 + %t42 = icmp ne i32 %t41, 47 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t32 + br label %scend6 +scend6: + %t46 = load i32, ptr %t32 + %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 - %t49 = icmp ne i32 %t48, 0 - br i1 %t49, label %then7, label %ifend9 -then7: - %t50 = load ptr, ptr %t42 - store ptr %t50, ptr %t4 - %t51 = load ptr, ptr %t45 - store ptr %t51, ptr %t7 - br label %ifend9 -ifend9: - br label %ifend6 -ifend6: - %t53 = load ptr, ptr %t7 - %t54 = icmp eq ptr %t53, null - %t55 = zext i1 %t54 to i32 - %t56 = icmp ne i32 %t55, 0 - %t57 = zext i1 %t56 to i32 - store i32 %t57, ptr %t52 - br i1 %t56, label %sc10, label %scend11 -sc10: - %t58 = load ptr, ptr %t0 - %t59 = getelementptr inbounds i8, ptr %t58, i32 0 - %t60 = load i8, ptr %t59 - %t61 = zext i8 %t60 to i32 - %t62 = icmp ne i32 %t61, 47 - %t63 = zext i1 %t62 to i32 - %t64 = icmp ne i32 %t63, 0 - %t65 = zext i1 %t64 to i32 - store i32 %t65, ptr %t52 - br label %scend11 -scend11: - %t66 = load i32, ptr %t52 - %t67 = icmp ne i32 %t66, 0 - br i1 %t67, label %then12, label %ifend14 + store i32 %t48, ptr %t31 + br i1 %t47, label %sc7, label %scend8 +sc7: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @fn_is_runtime_path(ptr %t49) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t31 + br label %scend8 +scend8: + %t53 = load i32, ptr %t31 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then9, label %ifend11 +then9: + %t55 = load ptr, ptr @L_argv + %t56 = getelementptr ptr, ptr %t55, i32 0 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @fn_dir_of(ptr %t57) + %t59 = call ptr @fn_getenv_or(ptr @.str379, ptr %t58) + %t60 = call ptr @fn_ensure_slash(ptr %t59) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t61 + %t63 = load ptr, ptr %t0 + %t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t65 + %t67 = call ptr @fn_read_file(ptr %t66) + store ptr %t67, ptr %t68 + %t69 = load ptr, ptr %t68 + %t70 = icmp ne ptr %t69, null + %t71 = zext i1 %t70 to i32 + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then12, label %ifend14 then12: - %t68 = call ptr @fn_getenv_or(ptr @.str332, ptr @.str333) - %t69 = call ptr @fn_ensure_slash(ptr %t68) - %t70 = load ptr, ptr %t0 - %t71 = call ptr @fn_str_concat(ptr %t69, ptr %t70) - store ptr %t71, ptr %t72 - %t73 = load ptr, ptr %t72 - %t74 = call ptr @fn_read_file(ptr %t73) - store ptr %t74, ptr %t75 - %t76 = load ptr, ptr %t75 - %t77 = icmp ne ptr %t76, null - %t78 = zext i1 %t77 to i32 - %t79 = icmp ne i32 %t78, 0 - br i1 %t79, label %then15, label %ifend17 -then15: - %t80 = load ptr, ptr %t72 - store ptr %t80, ptr %t4 - %t81 = load ptr, ptr %t75 - store ptr %t81, ptr %t7 - br label %ifend17 -ifend17: + %t73 = load ptr, ptr %t65 + store ptr %t73, ptr %t27 + %t74 = load ptr, ptr %t68 + store ptr %t74, ptr %t30 br label %ifend14 ifend14: - %t82 = load ptr, ptr %t4 - %t83 = call i32 @fn_already_loaded(ptr %t82) - %t84 = icmp ne i32 %t83, 0 - br i1 %t84, label %then18, label %ifend20 -then18: - br label %ret -ifend20: - %t85 = load ptr, ptr @g_loaded_paths - %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 - %t87 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 2 - %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 - %t89 = load i32, ptr %t86 - %t90 = load i32, ptr %t87 - %t91 = icmp sge i32 %t89, %t90 - br i1 %t91, label %grow21, label %put22 -grow21: - %t92 = mul i32 %t90, 2 - %t93 = icmp eq i32 %t90, 0 - %t94 = select i1 %t93, i32 8, i32 %t92 - %t95 = getelementptr ptr, ptr null, i32 1 - %t96 = ptrtoint ptr %t95 to i64 - %t97 = zext i32 %t94 to i64 - %t98 = mul i64 %t97, %t96 - %t99 = load ptr, ptr %t88 - %t100 = call ptr @realloc(ptr %t99, i64 %t98) - store ptr %t100, ptr %t88 - store i32 %t94, ptr %t87 - br label %put22 -put22: - %t101 = load ptr, ptr %t4 - %t102 = load ptr, ptr %t88 - %t103 = getelementptr inbounds ptr, ptr %t102, i32 %t89 - store ptr %t101, ptr %t103 - %t104 = add i32 %t89, 1 - store i32 %t104, ptr %t86 - %t105 = load ptr, ptr %t7 - %t106 = icmp eq ptr %t105, null - %t107 = zext i1 %t106 to i32 - %t108 = icmp ne i32 %t107, 0 - br i1 %t108, label %then23, label %ifend25 + br label %ifend11 +ifend11: + %t76 = load ptr, ptr %t30 + %t77 = icmp eq ptr %t76, null + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t75 + br i1 %t79, label %sc15, label %scend16 +sc15: + %t81 = load ptr, ptr %t0 + %t82 = getelementptr inbounds i8, ptr %t81, i32 0 + %t83 = load i8, ptr %t82 + %t84 = zext i8 %t83 to i32 + %t85 = icmp ne i32 %t84, 47 + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t75 + br label %scend16 +scend16: + %t89 = load i32, ptr %t75 + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then17, label %ifend19 +then17: + %t91 = call ptr @fn_getenv_or(ptr @.str380, ptr @.str381) + %t92 = call ptr @fn_ensure_slash(ptr %t91) + %t93 = load ptr, ptr %t0 + %t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93) + store ptr %t94, ptr %t95 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @fn_read_file(ptr %t96) + store ptr %t97, ptr %t98 + %t99 = load ptr, ptr %t98 + %t100 = icmp ne ptr %t99, null + %t101 = zext i1 %t100 to i32 + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then20, label %ifend22 +then20: + %t103 = load ptr, ptr %t95 + store ptr %t103, ptr %t27 + %t104 = load ptr, ptr %t98 + store ptr %t104, ptr %t30 + br label %ifend22 +ifend22: + br label %ifend19 +ifend19: + %t105 = load ptr, ptr %t27 + %t106 = call i32 @fn_already_loaded(ptr %t105) + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then23, label %ifend25 then23: - %t109 = load ptr, ptr %t4 - %t110 = call ptr @fn_str_concat(ptr @.str334, ptr %t109) - call void @fn_perr(ptr %t110) - br label %ifend25 + br label %ret ifend25: - %t111 = load ptr, ptr @g_toks - store ptr %t111, ptr %t112 - %t113 = load i32, ptr @g_pi - store i32 %t113, ptr %t114 - %t115 = load ptr, ptr @g_cur_dir - store ptr %t115, ptr %t116 - %t117 = load ptr, ptr %t4 - %t118 = call ptr @fn_dir_of(ptr %t117) - store ptr %t118, ptr @g_cur_dir - %t119 = load ptr, ptr %t7 - call void @fn_lex(ptr %t119) + %t108 = load ptr, ptr @g_loaded_paths + %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 + %t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 + %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 + %t112 = load i32, ptr %t109 + %t113 = load i32, ptr %t110 + %t114 = icmp sge i32 %t112, %t113 + br i1 %t114, label %grow26, label %put27 +grow26: + %t115 = mul i32 %t113, 2 + %t116 = icmp eq i32 %t113, 0 + %t117 = select i1 %t116, i32 8, i32 %t115 + %t118 = getelementptr ptr, ptr null, i32 1 + %t119 = ptrtoint ptr %t118 to i64 + %t120 = zext i32 %t117 to i64 + %t121 = mul i64 %t120, %t119 + %t122 = load ptr, ptr %t111 + %t123 = call ptr @realloc(ptr %t122, i64 %t121) + store ptr %t123, ptr %t111 + store i32 %t117, ptr %t110 + br label %put27 +put27: + %t124 = load ptr, ptr %t27 + %t125 = load ptr, ptr %t111 + %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t112 + store ptr %t124, ptr %t126 + %t127 = add i32 %t112, 1 + store i32 %t127, ptr %t109 + %t128 = load ptr, ptr %t30 + %t129 = icmp eq ptr %t128, null + %t130 = zext i1 %t129 to i32 + %t131 = icmp ne i32 %t130, 0 + br i1 %t131, label %then28, label %ifend30 +then28: + %t132 = load ptr, ptr %t27 + %t133 = call ptr @fn_str_concat(ptr @.str382, ptr %t132) + call void @fn_perr(ptr %t133) + br label %ifend30 +ifend30: + store ptr @.str383, ptr %t134 + %t135 = load ptr, ptr %t27 + %t136 = call i64 @strlen(ptr %t135) + %t137 = trunc i64 %t136 to i32 + store i32 %t137, ptr %t138 + %t140 = load i32, ptr %t138 + %t141 = load ptr, ptr %t134 + %t142 = call i64 @strlen(ptr %t141) + %t143 = trunc i64 %t142 to i32 + %t144 = icmp sge i32 %t140, %t143 + %t145 = zext i1 %t144 to i32 + %t146 = icmp ne i32 %t145, 0 + %t147 = zext i1 %t146 to i32 + store i32 %t147, ptr %t139 + br i1 %t146, label %sc31, label %scend32 +sc31: + %t148 = load ptr, ptr %t27 + %t149 = load i32, ptr %t138 + %t150 = load ptr, ptr %t134 + %t151 = call i64 @strlen(ptr %t150) + %t152 = trunc i64 %t151 to i32 + %t153 = sub i32 %t149, %t152 + %t154 = load i32, ptr %t138 + %t155 = call ptr @fn_str_slice(ptr %t148, i32 %t153, i32 %t154) + %t156 = load ptr, ptr %t134 + %t157 = call i32 @fn_str_eq(ptr %t155, ptr %t156) + %t158 = icmp ne i32 %t157, 0 + %t159 = zext i1 %t158 to i32 + store i32 %t159, ptr %t139 + br label %scend32 +scend32: + %t160 = load i32, ptr %t139 + %t161 = icmp ne i32 %t160, 0 + br i1 %t161, label %then33, label %ifend35 +then33: + store i32 1, ptr @g_g_uses_audio + br label %ifend35 +ifend35: + %t162 = load ptr, ptr @g_toks + store ptr %t162, ptr %t163 + %t164 = load i32, ptr @g_pi + store i32 %t164, ptr %t165 + %t166 = load ptr, ptr @g_cur_dir + store ptr %t166, ptr %t167 + %t168 = load ptr, ptr %t27 + %t169 = call ptr @fn_dir_of(ptr %t168) + store ptr %t169, ptr @g_cur_dir + %t170 = load ptr, ptr %t30 + call void @fn_lex(ptr %t170) store i32 0, ptr @g_pi call void @fn_skipnl() - br label %wcond26 -wcond26: - %t120 = load ptr, ptr @g_toks - %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 - %t122 = load ptr, ptr %t121 - %t123 = load i32, ptr @g_pi - %t124 = getelementptr inbounds ptr, ptr %t122, i32 %t123 - %t125 = load ptr, ptr %t124 - %t126 = getelementptr inbounds %Cmp_Tok, ptr %t125, i32 0, i32 0 - %t127 = load i32, ptr %t126 - %t128 = icmp ne i32 %t127, 5 - %t129 = zext i1 %t128 to i32 - %t130 = icmp ne i32 %t129, 0 - br i1 %t130, label %wbody27, label %wend28 -wbody27: + br label %wcond36 +wcond36: + %t171 = load ptr, ptr @g_toks + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = load i32, ptr @g_pi + %t175 = getelementptr inbounds ptr, ptr %t173, i32 %t174 + %t176 = load ptr, ptr %t175 + %t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 0 + %t178 = load i32, ptr %t177 + %t179 = icmp ne i32 %t178, 5 + %t180 = zext i1 %t179 to i32 + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %wbody37, label %wend38 +wbody37: call void @fn_parse_one_decl() call void @fn_skipnl() - br label %wcond26 -wend28: - %t131 = load ptr, ptr %t112 - store ptr %t131, ptr @g_toks - %t132 = load i32, ptr %t114 - store i32 %t132, ptr @g_pi - %t133 = load ptr, ptr %t116 - store ptr %t133, ptr @g_cur_dir + br label %wcond36 +wend38: + %t182 = load ptr, ptr %t163 + store ptr %t182, ptr @g_toks + %t183 = load i32, ptr %t165 + store i32 %t183, ptr @g_pi + %t184 = load ptr, ptr %t167 + store ptr %t184, ptr @g_cur_dir br label %ret ret: ret void @@ -20465,16 +22922,16 @@ ret: define void @fn_maybe_splice_runtime() { entry: %t1 = alloca ptr - %t63 = alloca i32 - %t88 = alloca i32 + %t66 = alloca i32 + %t95 = alloca i32 %t0 = load ptr, ptr @g_cur_dir store ptr %t0, ptr %t1 %t2 = call i32 @fn_has_ecs() %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: - store ptr @.str335, ptr @g_cur_dir - call void @fn_do_import(ptr @.str336) + store ptr @.str384, ptr @g_cur_dir + call void @fn_do_import(ptr @.str385) %t4 = load ptr, ptr %t1 store ptr %t4, ptr @g_cur_dir br label %ifend2 @@ -20483,9 +22940,9 @@ ifend2: %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: - store ptr @.str337, ptr @g_cur_dir - call void @fn_do_import(ptr @.str338) - call void @fn_do_import(ptr @.str339) + store ptr @.str386, ptr @g_cur_dir + call void @fn_do_import(ptr @.str387) + call void @fn_do_import(ptr @.str388) %t7 = load ptr, ptr %t1 store ptr %t7, ptr @g_cur_dir br label %ifend5 @@ -20494,8 +22951,8 @@ ifend5: %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: - store ptr @.str340, ptr @g_cur_dir - call void @fn_do_import(ptr @.str341) + store ptr @.str389, ptr @g_cur_dir + call void @fn_do_import(ptr @.str390) %t10 = load ptr, ptr %t1 store ptr %t10, ptr @g_cur_dir br label %ifend8 @@ -20504,8 +22961,8 @@ ifend8: %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: - store ptr @.str342, ptr @g_cur_dir - call void @fn_do_import(ptr @.str343) + store ptr @.str391, ptr @g_cur_dir + call void @fn_do_import(ptr @.str392) %t13 = load ptr, ptr %t1 store ptr %t13, ptr @g_cur_dir br label %ifend11 @@ -20514,8 +22971,8 @@ ifend11: %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: - store ptr @.str344, ptr @g_cur_dir - call void @fn_do_import(ptr @.str345) + store ptr @.str393, ptr @g_cur_dir + call void @fn_do_import(ptr @.str394) %t16 = load ptr, ptr %t1 store ptr %t16, ptr @g_cur_dir br label %ifend14 @@ -20524,8 +22981,8 @@ ifend14: %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: - store ptr @.str346, ptr @g_cur_dir - call void @fn_do_import(ptr @.str347) + store ptr @.str395, ptr @g_cur_dir + call void @fn_do_import(ptr @.str396) %t19 = load ptr, ptr %t1 store ptr %t19, ptr @g_cur_dir br label %ifend17 @@ -20534,8 +22991,8 @@ ifend17: %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: - store ptr @.str348, ptr @g_cur_dir - call void @fn_do_import(ptr @.str349) + store ptr @.str397, ptr @g_cur_dir + call void @fn_do_import(ptr @.str398) %t22 = load ptr, ptr %t1 store ptr %t22, ptr @g_cur_dir br label %ifend20 @@ -20544,8 +23001,8 @@ ifend20: %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: - store ptr @.str350, ptr @g_cur_dir - call void @fn_do_import(ptr @.str351) + store ptr @.str399, ptr @g_cur_dir + call void @fn_do_import(ptr @.str400) %t25 = load ptr, ptr %t1 store ptr %t25, ptr @g_cur_dir br label %ifend23 @@ -20554,8 +23011,8 @@ ifend23: %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: - store ptr @.str352, ptr @g_cur_dir - call void @fn_do_import(ptr @.str353) + store ptr @.str401, ptr @g_cur_dir + call void @fn_do_import(ptr @.str402) %t28 = load ptr, ptr %t1 store ptr %t28, ptr @g_cur_dir br label %ifend26 @@ -20564,8 +23021,8 @@ ifend26: %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: - store ptr @.str354, ptr @g_cur_dir - call void @fn_do_import(ptr @.str355) + store ptr @.str403, ptr @g_cur_dir + call void @fn_do_import(ptr @.str404) %t31 = load ptr, ptr %t1 store ptr %t31, ptr @g_cur_dir br label %ifend29 @@ -20574,199 +23031,221 @@ ifend29: %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: - store ptr @.str356, ptr @g_cur_dir - call void @fn_do_import(ptr @.str357) - call void @fn_do_import(ptr @.str358) + store ptr @.str405, ptr @g_cur_dir + call void @fn_do_import(ptr @.str406) + call void @fn_do_import(ptr @.str407) + call void @fn_do_import(ptr @.str408) %t34 = load ptr, ptr %t1 store ptr %t34, ptr @g_cur_dir br label %ifend32 ifend32: - %t35 = load i32, ptr @g_g_uses_base64 + %t35 = load i32, ptr @g_g_uses_fx %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: - store ptr @.str359, ptr @g_cur_dir - call void @fn_do_import(ptr @.str360) - call void @fn_do_import(ptr @.str361) - call void @fn_do_import(ptr @.str362) + store ptr @.str409, ptr @g_cur_dir + call void @fn_do_import(ptr @.str410) + call void @fn_do_import(ptr @.str411) %t37 = load ptr, ptr %t1 store ptr %t37, ptr @g_cur_dir br label %ifend35 ifend35: - %t38 = load i32, ptr @g_g_uses_tiled + %t38 = load i32, ptr @g_g_uses_base64 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: - store ptr @.str363, ptr @g_cur_dir - call void @fn_do_import(ptr @.str364) - call void @fn_do_import(ptr @.str365) - call void @fn_do_import(ptr @.str366) - call void @fn_do_import(ptr @.str367) - call void @fn_do_import(ptr @.str368) - call void @fn_do_import(ptr @.str369) - call void @fn_do_import(ptr @.str370) - %t40 = call i32 @fn_has_ecs() - %t41 = icmp ne i32 %t40, 0 - br i1 %t41, label %then39, label %ifend41 -then39: - call void @fn_do_import(ptr @.str371) - br label %ifend41 -ifend41: - %t42 = load ptr, ptr %t1 - store ptr %t42, ptr @g_cur_dir + store ptr @.str412, ptr @g_cur_dir + call void @fn_do_import(ptr @.str413) + call void @fn_do_import(ptr @.str414) + call void @fn_do_import(ptr @.str415) + %t40 = load ptr, ptr %t1 + store ptr %t40, ptr @g_cur_dir br label %ifend38 ifend38: - %t43 = load i32, ptr @g_g_uses_reflect_io + %t41 = load i32, ptr @g_g_uses_tiled + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store ptr @.str416, ptr @g_cur_dir + call void @fn_do_import(ptr @.str417) + call void @fn_do_import(ptr @.str418) + call void @fn_do_import(ptr @.str419) + call void @fn_do_import(ptr @.str420) + call void @fn_do_import(ptr @.str421) + call void @fn_do_import(ptr @.str422) + call void @fn_do_import(ptr @.str423) + %t43 = call i32 @fn_has_ecs() %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then42, label %ifend44 then42: - store ptr @.str372, ptr @g_cur_dir - call void @fn_do_import(ptr @.str373) - %t45 = load ptr, ptr %t1 - store ptr %t45, ptr @g_cur_dir + call void @fn_do_import(ptr @.str424) br label %ifend44 ifend44: - %t46 = load i32, ptr @g_g_uses_input + %t45 = load ptr, ptr %t1 + store ptr %t45, ptr @g_cur_dir + br label %ifend41 +ifend41: + %t46 = load i32, ptr @g_g_uses_reflect_io %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then45, label %ifend47 then45: - store ptr @.str374, ptr @g_cur_dir - call void @fn_do_import(ptr @.str375) - call void @fn_do_import(ptr @.str376) + store ptr @.str425, ptr @g_cur_dir + call void @fn_do_import(ptr @.str426) %t48 = load ptr, ptr %t1 store ptr %t48, ptr @g_cur_dir br label %ifend47 ifend47: - %t49 = load i32, ptr @g_g_uses_tween_rt + %t49 = load i32, ptr @g_g_uses_input %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then48, label %ifend50 then48: - store ptr @.str377, ptr @g_cur_dir - call void @fn_do_import(ptr @.str378) - call void @fn_do_import(ptr @.str379) + store ptr @.str427, ptr @g_cur_dir + call void @fn_do_import(ptr @.str428) + call void @fn_do_import(ptr @.str429) %t51 = load ptr, ptr %t1 store ptr %t51, ptr @g_cur_dir br label %ifend50 ifend50: - %t52 = load i32, ptr @g_g_uses_audio + %t52 = load i32, ptr @g_g_uses_tween_rt %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then51, label %ifend53 then51: - store ptr @.str380, ptr @g_cur_dir - call void @fn_do_import(ptr @.str381) + store ptr @.str430, ptr @g_cur_dir + call void @fn_do_import(ptr @.str431) + call void @fn_do_import(ptr @.str432) %t54 = load ptr, ptr %t1 store ptr %t54, ptr @g_cur_dir br label %ifend53 ifend53: - %t55 = load i32, ptr @g_g_uses_http + %t55 = load i32, ptr @g_g_uses_audio %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then54, label %ifend56 then54: - store ptr @.str382, ptr @g_cur_dir - call void @fn_do_import(ptr @.str383) + store ptr @.str433, ptr @g_cur_dir + call void @fn_do_import(ptr @.str434) %t57 = load ptr, ptr %t1 store ptr %t57, ptr @g_cur_dir br label %ifend56 ifend56: - %t58 = load i32, ptr @g_g_uses_anim_rt + %t58 = load i32, ptr @g_g_uses_http %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then57, label %ifend59 then57: - store i32 1, ptr @g_g_uses_esys - store ptr @.str384, ptr @g_cur_dir - call void @fn_do_import(ptr @.str385) - call void @fn_do_import(ptr @.str386) + store ptr @.str435, ptr @g_cur_dir + call void @fn_do_import(ptr @.str436) %t60 = load ptr, ptr %t1 store ptr %t60, ptr @g_cur_dir br label %ifend59 ifend59: - %t61 = call i32 @fn_uses_engine_systems() + %t61 = load i32, ptr @g_g_uses_anim_rt %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then60, label %ifend62 then60: store i32 1, ptr @g_g_uses_esys - store ptr @.str387, ptr @g_cur_dir - %t64 = call ptr @fn_find_comp(ptr @.str388) - %t65 = icmp ne ptr %t64, null - %t66 = zext i1 %t65 to i32 - %t67 = icmp ne i32 %t66, 0 - %t68 = zext i1 %t67 to i32 - store i32 %t68, ptr %t63 - br i1 %t67, label %scend64, label %sc63 -sc63: - %t69 = call ptr @fn_find_comp(ptr @.str389) - %t70 = icmp ne ptr %t69, null - %t71 = zext i1 %t70 to i32 - %t72 = icmp ne i32 %t71, 0 - %t73 = zext i1 %t72 to i32 - store i32 %t73, ptr %t63 - br label %scend64 -scend64: - %t74 = load i32, ptr %t63 - %t75 = icmp ne i32 %t74, 0 - br i1 %t75, label %then65, label %ifend67 -then65: - call void @fn_do_import(ptr @.str390) - br label %ifend67 -ifend67: - %t76 = call ptr @fn_find_comp(ptr @.str391) - %t77 = icmp ne ptr %t76, null - %t78 = zext i1 %t77 to i32 - %t79 = icmp ne i32 %t78, 0 - br i1 %t79, label %then68, label %ifend70 -then68: - call void @fn_do_import(ptr @.str392) - call void @fn_do_import(ptr @.str393) - br label %ifend70 -ifend70: - %t80 = call ptr @fn_find_comp(ptr @.str394) - %t81 = icmp ne ptr %t80, null - %t82 = zext i1 %t81 to i32 - %t83 = icmp ne i32 %t82, 0 - br i1 %t83, label %then71, label %ifend73 -then71: - call void @fn_do_import(ptr @.str395) - call void @fn_do_import(ptr @.str396) - br label %ifend73 -ifend73: - %t84 = call ptr @fn_find_comp(ptr @.str397) - %t85 = icmp ne ptr %t84, null - %t86 = zext i1 %t85 to i32 - %t87 = icmp ne i32 %t86, 0 - br i1 %t87, label %then74, label %ifend76 -then74: - call void @fn_do_import(ptr @.str398) - br label %ifend76 -ifend76: - %t89 = call ptr @fn_find_comp(ptr @.str399) - %t90 = icmp ne ptr %t89, null - %t91 = zext i1 %t90 to i32 - %t92 = icmp ne i32 %t91, 0 - %t93 = zext i1 %t92 to i32 - store i32 %t93, ptr %t88 - br i1 %t92, label %scend78, label %sc77 -sc77: - %t94 = call ptr @fn_find_comp(ptr @.str400) - %t95 = icmp ne ptr %t94, null - %t96 = zext i1 %t95 to i32 - %t97 = icmp ne i32 %t96, 0 - %t98 = zext i1 %t97 to i32 - store i32 %t98, ptr %t88 - br label %scend78 -scend78: - %t99 = load i32, ptr %t88 - %t100 = icmp ne i32 %t99, 0 - br i1 %t100, label %then79, label %ifend81 -then79: - call void @fn_do_import(ptr @.str401) - call void @fn_do_import(ptr @.str402) - store i32 1, ptr @g_g_uses_light - br label %ifend81 -ifend81: - %t101 = load ptr, ptr %t1 - store ptr %t101, ptr @g_cur_dir + store ptr @.str437, ptr @g_cur_dir + call void @fn_do_import(ptr @.str438) + call void @fn_do_import(ptr @.str439) + %t63 = load ptr, ptr %t1 + store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: + %t64 = call i32 @fn_uses_engine_systems() + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then63, label %ifend65 +then63: + store i32 1, ptr @g_g_uses_esys + store ptr @.str440, ptr @g_cur_dir + %t67 = call ptr @fn_find_comp(ptr @.str441) + %t68 = icmp ne ptr %t67, null + %t69 = zext i1 %t68 to i32 + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t66 + br i1 %t70, label %scend67, label %sc66 +sc66: + %t72 = call ptr @fn_find_comp(ptr @.str442) + %t73 = icmp ne ptr %t72, null + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t66 + br label %scend67 +scend67: + %t77 = load i32, ptr %t66 + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then68, label %ifend70 +then68: + call void @fn_do_import(ptr @.str443) + br label %ifend70 +ifend70: + %t79 = call ptr @fn_find_comp(ptr @.str444) + %t80 = icmp ne ptr %t79, null + %t81 = zext i1 %t80 to i32 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then71, label %ifend73 +then71: + call void @fn_do_import(ptr @.str445) + call void @fn_do_import(ptr @.str446) + br label %ifend73 +ifend73: + %t83 = call ptr @fn_find_comp(ptr @.str447) + %t84 = icmp ne ptr %t83, null + %t85 = zext i1 %t84 to i32 + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then74, label %ifend76 +then74: + call void @fn_do_import(ptr @.str448) + call void @fn_do_import(ptr @.str449) + br label %ifend76 +ifend76: + %t87 = call ptr @fn_find_comp(ptr @.str450) + %t88 = icmp ne ptr %t87, null + %t89 = zext i1 %t88 to i32 + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then77, label %ifend79 +then77: + call void @fn_do_import(ptr @.str451) + call void @fn_do_import(ptr @.str452) + br label %ifend79 +ifend79: + %t91 = call ptr @fn_find_comp(ptr @.str453) + %t92 = icmp ne ptr %t91, null + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + br i1 %t94, label %then80, label %ifend82 +then80: + call void @fn_do_import(ptr @.str454) + br label %ifend82 +ifend82: + %t96 = call ptr @fn_find_comp(ptr @.str455) + %t97 = icmp ne ptr %t96, null + %t98 = zext i1 %t97 to i32 + %t99 = icmp ne i32 %t98, 0 + %t100 = zext i1 %t99 to i32 + store i32 %t100, ptr %t95 + br i1 %t99, label %scend84, label %sc83 +sc83: + %t101 = call ptr @fn_find_comp(ptr @.str456) + %t102 = icmp ne ptr %t101, null + %t103 = zext i1 %t102 to i32 + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t95 + br label %scend84 +scend84: + %t106 = load i32, ptr %t95 + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then85, label %ifend87 +then85: + call void @fn_do_import(ptr @.str457) + call void @fn_do_import(ptr @.str458) + store i32 1, ptr @g_g_uses_light + br label %ifend87 +ifend87: + %t108 = load ptr, ptr %t1 + store ptr %t108, ptr @g_cur_dir + br label %ifend65 +ifend65: br label %ret ret: ret void @@ -20774,10 +23253,10 @@ ret: define void @fn_parse_program() { entry: - %t490 = alloca ptr - %t494 = alloca ptr - %t503 = alloca ptr - %t506 = alloca i32 + %t547 = alloca ptr + %t551 = alloca ptr + %t560 = alloca ptr + %t563 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) @@ -20919,6 +23398,7 @@ entry: store i32 0, ptr @g_g_uses_base64 store i32 0, ptr @g_g_uses_tiled store i32 0, ptr @g_g_uses_atlas + store i32 0, ptr @g_g_uses_fx store i32 0, ptr @g_g_uses_reflect_io %t72 = getelementptr %LSlice, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 @@ -21014,7 +23494,7 @@ grow0: put1: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds ptr, ptr %t130, i32 %t118 - store ptr @.str403, ptr %t131 + store ptr @.str459, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 %t133 = load ptr, ptr @g_g_esys_fn @@ -21041,7 +23521,7 @@ grow2: put3: %t149 = load ptr, ptr %t136 %t150 = getelementptr inbounds ptr, ptr %t149, i32 %t137 - store ptr @.str404, ptr %t150 + store ptr @.str460, ptr %t150 %t151 = add i32 %t137, 1 store i32 %t151, ptr %t134 %t152 = load ptr, ptr @g_g_esys_phase @@ -21068,7 +23548,7 @@ grow4: put5: %t168 = load ptr, ptr %t155 %t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156 - store ptr @.str405, ptr %t169 + store ptr @.str461, ptr %t169 %t170 = add i32 %t156, 1 store i32 %t170, ptr %t153 %t171 = load ptr, ptr @g_g_esys_comp @@ -21095,7 +23575,7 @@ grow6: put7: %t187 = load ptr, ptr %t174 %t188 = getelementptr inbounds ptr, ptr %t187, i32 %t175 - store ptr @.str406, ptr %t188 + store ptr @.str462, ptr %t188 %t189 = add i32 %t175, 1 store i32 %t189, ptr %t172 %t190 = load ptr, ptr @g_g_esys_fn @@ -21122,7 +23602,7 @@ grow8: put9: %t206 = load ptr, ptr %t193 %t207 = getelementptr inbounds ptr, ptr %t206, i32 %t194 - store ptr @.str407, ptr %t207 + store ptr @.str463, ptr %t207 %t208 = add i32 %t194, 1 store i32 %t208, ptr %t191 %t209 = load ptr, ptr @g_g_esys_phase @@ -21149,7 +23629,7 @@ grow10: put11: %t225 = load ptr, ptr %t212 %t226 = getelementptr inbounds ptr, ptr %t225, i32 %t213 - store ptr @.str408, ptr %t226 + store ptr @.str464, ptr %t226 %t227 = add i32 %t213, 1 store i32 %t227, ptr %t210 %t228 = load ptr, ptr @g_g_esys_comp @@ -21176,7 +23656,7 @@ grow12: put13: %t244 = load ptr, ptr %t231 %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232 - store ptr @.str409, ptr %t245 + store ptr @.str465, ptr %t245 %t246 = add i32 %t232, 1 store i32 %t246, ptr %t229 %t247 = load ptr, ptr @g_g_esys_fn @@ -21203,7 +23683,7 @@ grow14: put15: %t263 = load ptr, ptr %t250 %t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251 - store ptr @.str410, ptr %t264 + store ptr @.str466, ptr %t264 %t265 = add i32 %t251, 1 store i32 %t265, ptr %t248 %t266 = load ptr, ptr @g_g_esys_phase @@ -21230,7 +23710,7 @@ grow16: put17: %t282 = load ptr, ptr %t269 %t283 = getelementptr inbounds ptr, ptr %t282, i32 %t270 - store ptr @.str411, ptr %t283 + store ptr @.str467, ptr %t283 %t284 = add i32 %t270, 1 store i32 %t284, ptr %t267 %t285 = load ptr, ptr @g_g_esys_comp @@ -21257,7 +23737,7 @@ grow18: put19: %t301 = load ptr, ptr %t288 %t302 = getelementptr inbounds ptr, ptr %t301, i32 %t289 - store ptr @.str412, ptr %t302 + store ptr @.str468, ptr %t302 %t303 = add i32 %t289, 1 store i32 %t303, ptr %t286 %t304 = load ptr, ptr @g_g_esys_fn @@ -21284,7 +23764,7 @@ grow20: put21: %t320 = load ptr, ptr %t307 %t321 = getelementptr inbounds ptr, ptr %t320, i32 %t308 - store ptr @.str413, ptr %t321 + store ptr @.str469, ptr %t321 %t322 = add i32 %t308, 1 store i32 %t322, ptr %t305 %t323 = load ptr, ptr @g_g_esys_phase @@ -21311,7 +23791,7 @@ grow22: put23: %t339 = load ptr, ptr %t326 %t340 = getelementptr inbounds ptr, ptr %t339, i32 %t327 - store ptr @.str414, ptr %t340 + store ptr @.str470, ptr %t340 %t341 = add i32 %t327, 1 store i32 %t341, ptr %t324 %t342 = load ptr, ptr @g_g_esys_comp @@ -21338,7 +23818,7 @@ grow24: put25: %t358 = load ptr, ptr %t345 %t359 = getelementptr inbounds ptr, ptr %t358, i32 %t346 - store ptr @.str415, ptr %t359 + store ptr @.str471, ptr %t359 %t360 = add i32 %t346, 1 store i32 %t360, ptr %t343 %t361 = load ptr, ptr @g_g_esys_fn @@ -21365,7 +23845,7 @@ grow26: put27: %t377 = load ptr, ptr %t364 %t378 = getelementptr inbounds ptr, ptr %t377, i32 %t365 - store ptr @.str416, ptr %t378 + store ptr @.str472, ptr %t378 %t379 = add i32 %t365, 1 store i32 %t379, ptr %t362 %t380 = load ptr, ptr @g_g_esys_phase @@ -21392,7 +23872,7 @@ grow28: put29: %t396 = load ptr, ptr %t383 %t397 = getelementptr inbounds ptr, ptr %t396, i32 %t384 - store ptr @.str417, ptr %t397 + store ptr @.str473, ptr %t397 %t398 = add i32 %t384, 1 store i32 %t398, ptr %t381 %t399 = load ptr, ptr @g_g_esys_comp @@ -21419,7 +23899,7 @@ grow30: put31: %t415 = load ptr, ptr %t402 %t416 = getelementptr inbounds ptr, ptr %t415, i32 %t403 - store ptr @.str418, ptr %t416 + store ptr @.str474, ptr %t416 %t417 = add i32 %t403, 1 store i32 %t417, ptr %t400 %t418 = load ptr, ptr @g_g_esys_fn @@ -21446,7 +23926,7 @@ grow32: put33: %t434 = load ptr, ptr %t421 %t435 = getelementptr inbounds ptr, ptr %t434, i32 %t422 - store ptr @.str419, ptr %t435 + store ptr @.str475, ptr %t435 %t436 = add i32 %t422, 1 store i32 %t436, ptr %t419 %t437 = load ptr, ptr @g_g_esys_phase @@ -21473,179 +23953,260 @@ grow34: put35: %t453 = load ptr, ptr %t440 %t454 = getelementptr inbounds ptr, ptr %t453, i32 %t441 - store ptr @.str420, ptr %t454 + store ptr @.str476, ptr %t454 %t455 = add i32 %t441, 1 store i32 %t455, ptr %t438 - %t456 = getelementptr %LSlice, ptr null, i32 1 - %t457 = ptrtoint ptr %t456 to i64 - %t458 = call ptr @malloc(i64 %t457) - %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 - store ptr null, ptr %t459 - %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 - store i32 0, ptr %t460 - %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 - store i32 0, ptr %t461 - store ptr %t458, ptr @g_g_namespaces - %t462 = getelementptr %LSlice, ptr null, i32 1 - %t463 = ptrtoint ptr %t462 to i64 - %t464 = call ptr @malloc(i64 %t463) - %t465 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 0 - store ptr null, ptr %t465 - %t466 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 1 - store i32 0, ptr %t466 - %t467 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 2 - store i32 0, ptr %t467 - store ptr %t464, ptr @g_g_ns_blocks - %t468 = getelementptr %LSlice, ptr null, i32 1 - %t469 = ptrtoint ptr %t468 to i64 - %t470 = call ptr @malloc(i64 %t469) - %t471 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0 - store ptr null, ptr %t471 - %t472 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 1 - store i32 0, ptr %t472 - %t473 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 2 - store i32 0, ptr %t473 - store ptr %t470, ptr @g_g_ns_exports - %t474 = getelementptr %LSlice, ptr null, i32 1 - %t475 = ptrtoint ptr %t474 to i64 - %t476 = call ptr @malloc(i64 %t475) - %t477 = getelementptr inbounds %LSlice, ptr %t476, i32 0, i32 0 - store ptr null, ptr %t477 - %t478 = getelementptr inbounds %LSlice, ptr %t476, i32 0, i32 1 - store i32 0, ptr %t478 - %t479 = getelementptr inbounds %LSlice, ptr %t476, i32 0, i32 2 - store i32 0, ptr %t479 - store ptr %t476, ptr @g_loaded_paths + %t456 = load ptr, ptr @g_g_esys_comp + %t457 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 1 + %t458 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 2 + %t459 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 0 + %t460 = load i32, ptr %t457 + %t461 = load i32, ptr %t458 + %t462 = icmp sge i32 %t460, %t461 + br i1 %t462, label %grow36, label %put37 +grow36: + %t463 = mul i32 %t461, 2 + %t464 = icmp eq i32 %t461, 0 + %t465 = select i1 %t464, i32 8, i32 %t463 + %t466 = getelementptr ptr, ptr null, i32 1 + %t467 = ptrtoint ptr %t466 to i64 + %t468 = zext i32 %t465 to i64 + %t469 = mul i64 %t468, %t467 + %t470 = load ptr, ptr %t459 + %t471 = call ptr @realloc(ptr %t470, i64 %t469) + store ptr %t471, ptr %t459 + store i32 %t465, ptr %t458 + br label %put37 +put37: + %t472 = load ptr, ptr %t459 + %t473 = getelementptr inbounds ptr, ptr %t472, i32 %t460 + store ptr @.str477, ptr %t473 + %t474 = add i32 %t460, 1 + store i32 %t474, ptr %t457 + %t475 = load ptr, ptr @g_g_esys_fn + %t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 1 + %t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 2 + %t478 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 + %t479 = load i32, ptr %t476 + %t480 = load i32, ptr %t477 + %t481 = icmp sge i32 %t479, %t480 + br i1 %t481, label %grow38, label %put39 +grow38: + %t482 = mul i32 %t480, 2 + %t483 = icmp eq i32 %t480, 0 + %t484 = select i1 %t483, i32 8, i32 %t482 + %t485 = getelementptr ptr, ptr null, i32 1 + %t486 = ptrtoint ptr %t485 to i64 + %t487 = zext i32 %t484 to i64 + %t488 = mul i64 %t487, %t486 + %t489 = load ptr, ptr %t478 + %t490 = call ptr @realloc(ptr %t489, i64 %t488) + store ptr %t490, ptr %t478 + store i32 %t484, ptr %t477 + br label %put39 +put39: + %t491 = load ptr, ptr %t478 + %t492 = getelementptr inbounds ptr, ptr %t491, i32 %t479 + store ptr @.str478, ptr %t492 + %t493 = add i32 %t479, 1 + store i32 %t493, ptr %t476 + %t494 = load ptr, ptr @g_g_esys_phase + %t495 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 1 + %t496 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 2 + %t497 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 0 + %t498 = load i32, ptr %t495 + %t499 = load i32, ptr %t496 + %t500 = icmp sge i32 %t498, %t499 + br i1 %t500, label %grow40, label %put41 +grow40: + %t501 = mul i32 %t499, 2 + %t502 = icmp eq i32 %t499, 0 + %t503 = select i1 %t502, i32 8, i32 %t501 + %t504 = getelementptr ptr, ptr null, i32 1 + %t505 = ptrtoint ptr %t504 to i64 + %t506 = zext i32 %t503 to i64 + %t507 = mul i64 %t506, %t505 + %t508 = load ptr, ptr %t497 + %t509 = call ptr @realloc(ptr %t508, i64 %t507) + store ptr %t509, ptr %t497 + store i32 %t503, ptr %t496 + br label %put41 +put41: + %t510 = load ptr, ptr %t497 + %t511 = getelementptr inbounds ptr, ptr %t510, i32 %t498 + store ptr @.str479, ptr %t511 + %t512 = add i32 %t498, 1 + store i32 %t512, ptr %t495 + %t513 = getelementptr %LSlice, ptr null, i32 1 + %t514 = ptrtoint ptr %t513 to i64 + %t515 = call ptr @malloc(i64 %t514) + %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 + store ptr null, ptr %t516 + %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 + store i32 0, ptr %t517 + %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 + store i32 0, ptr %t518 + store ptr %t515, ptr @g_g_namespaces + %t519 = getelementptr %LSlice, ptr null, i32 1 + %t520 = ptrtoint ptr %t519 to i64 + %t521 = call ptr @malloc(i64 %t520) + %t522 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 0 + store ptr null, ptr %t522 + %t523 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 1 + store i32 0, ptr %t523 + %t524 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 2 + store i32 0, ptr %t524 + store ptr %t521, ptr @g_g_ns_blocks + %t525 = getelementptr %LSlice, ptr null, i32 1 + %t526 = ptrtoint ptr %t525 to i64 + %t527 = call ptr @malloc(i64 %t526) + %t528 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0 + store ptr null, ptr %t528 + %t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1 + store i32 0, ptr %t529 + %t530 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2 + store i32 0, ptr %t530 + store ptr %t527, ptr @g_g_ns_exports + %t531 = getelementptr %LSlice, ptr null, i32 1 + %t532 = ptrtoint ptr %t531 to i64 + %t533 = call ptr @malloc(i64 %t532) + %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 0 + store ptr null, ptr %t534 + %t535 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 + store i32 0, ptr %t535 + %t536 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 2 + store i32 0, ptr %t536 + store ptr %t533, ptr @g_loaded_paths call void @fn_skipnl() - store ptr @.str421, ptr @g_g_game_name - br label %wcond36 -wcond36: - %t480 = call i32 @fn_is_id(ptr @.str422) - %t481 = icmp ne i32 %t480, 0 - br i1 %t481, label %wbody37, label %wend38 -wbody37: - %t482 = load i32, ptr @g_pi - %t483 = add i32 %t482, 1 - store i32 %t483, ptr @g_pi - %t484 = load ptr, ptr @g_toks - %t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0 - %t486 = load ptr, ptr %t485 - %t487 = load i32, ptr @g_pi - %t488 = getelementptr inbounds ptr, ptr %t486, i32 %t487 - %t489 = load ptr, ptr %t488 - store ptr %t489, ptr %t490 - %t491 = load ptr, ptr %t490 - %t492 = getelementptr inbounds %Cmp_Tok, ptr %t491, i32 0, i32 1 - %t493 = load ptr, ptr %t492 - store ptr %t493, ptr %t494 - %t495 = load i32, ptr @g_pi - %t496 = add i32 %t495, 1 - store i32 %t496, ptr @g_pi - %t497 = load ptr, ptr %t494 - call void @fn_do_import(ptr %t497) + store ptr @.str480, ptr @g_g_game_name + br label %wcond42 +wcond42: + %t537 = call i32 @fn_is_id(ptr @.str481) + %t538 = icmp ne i32 %t537, 0 + br i1 %t538, label %wbody43, label %wend44 +wbody43: + %t539 = load i32, ptr @g_pi + %t540 = add i32 %t539, 1 + store i32 %t540, ptr @g_pi + %t541 = load ptr, ptr @g_toks + %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 + %t543 = load ptr, ptr %t542 + %t544 = load i32, ptr @g_pi + %t545 = getelementptr inbounds ptr, ptr %t543, i32 %t544 + %t546 = load ptr, ptr %t545 + store ptr %t546, ptr %t547 + %t548 = load ptr, ptr %t547 + %t549 = getelementptr inbounds %Cmp_Tok, ptr %t548, i32 0, i32 1 + %t550 = load ptr, ptr %t549 + store ptr %t550, ptr %t551 + %t552 = load i32, ptr @g_pi + %t553 = add i32 %t552, 1 + store i32 %t553, ptr @g_pi + %t554 = load ptr, ptr %t551 + call void @fn_do_import(ptr %t554) call void @fn_skipnl() - br label %wcond36 -wend38: - br label %wcond39 -wcond39: - %t498 = call i32 @fn_is_op(ptr @.str423) - %t499 = icmp ne i32 %t498, 0 - br i1 %t499, label %wbody40, label %wend41 -wbody40: - %t500 = load i32, ptr @g_pi - %t501 = add i32 %t500, 1 - store i32 %t501, ptr @g_pi - %t502 = call ptr @fn_eat_id() - store ptr %t502, ptr %t503 - %t504 = call i32 @fn_is_op(ptr @.str424) - %t505 = icmp ne i32 %t504, 0 - br i1 %t505, label %then42, label %ifend44 -then42: - store i32 0, ptr %t506 + br label %wcond42 +wend44: br label %wcond45 wcond45: - %t507 = icmp ne i32 1, 0 - br i1 %t507, label %wbody46, label %wend47 + %t555 = call i32 @fn_is_op(ptr @.str482) + %t556 = icmp ne i32 %t555, 0 + br i1 %t556, label %wbody46, label %wend47 wbody46: - %t508 = call i32 @fn_is_op(ptr @.str425) - %t509 = icmp ne i32 %t508, 0 - br i1 %t509, label %then48, label %ifend50 + %t557 = load i32, ptr @g_pi + %t558 = add i32 %t557, 1 + store i32 %t558, ptr @g_pi + %t559 = call ptr @fn_eat_id() + store ptr %t559, ptr %t560 + %t561 = call i32 @fn_is_op(ptr @.str483) + %t562 = icmp ne i32 %t561, 0 + br i1 %t562, label %then48, label %ifend50 then48: - %t510 = load i32, ptr %t506 - %t511 = add i32 %t510, 1 - store i32 %t511, ptr %t506 - br label %ifend50 -ifend50: - %t512 = call i32 @fn_is_op(ptr @.str426) - %t513 = icmp ne i32 %t512, 0 - br i1 %t513, label %then51, label %ifend53 -then51: - %t514 = load i32, ptr %t506 - %t515 = sub i32 %t514, 1 - store i32 %t515, ptr %t506 - br label %ifend53 -ifend53: - %t516 = load i32, ptr @g_pi - %t517 = add i32 %t516, 1 - store i32 %t517, ptr @g_pi - %t518 = load i32, ptr %t506 - %t519 = icmp eq i32 %t518, 0 - %t520 = zext i1 %t519 to i32 - %t521 = icmp ne i32 %t520, 0 - br i1 %t521, label %then54, label %ifend56 + store i32 0, ptr %t563 + br label %wcond51 +wcond51: + %t564 = icmp ne i32 1, 0 + br i1 %t564, label %wbody52, label %wend53 +wbody52: + %t565 = call i32 @fn_is_op(ptr @.str484) + %t566 = icmp ne i32 %t565, 0 + br i1 %t566, label %then54, label %ifend56 then54: - br label %wend47 + %t567 = load i32, ptr %t563 + %t568 = add i32 %t567, 1 + store i32 %t568, ptr %t563 + br label %ifend56 ifend56: - br label %wcond45 -wend47: - br label %ifend44 -ifend44: - call void @fn_skipnl() - br label %wcond39 -wend41: - %t522 = call i32 @fn_is_id(ptr @.str427) - %t523 = icmp ne i32 %t522, 0 - br i1 %t523, label %then57, label %ifend59 + %t569 = call i32 @fn_is_op(ptr @.str485) + %t570 = icmp ne i32 %t569, 0 + br i1 %t570, label %then57, label %ifend59 then57: - %t524 = load i32, ptr @g_pi - %t525 = add i32 %t524, 1 - store i32 %t525, ptr @g_pi - %t526 = call ptr @fn_eat_id() - store ptr %t526, ptr @g_g_game_name - call void @fn_skipnl() - call void @fn_eat_op(ptr @.str428) + %t571 = load i32, ptr %t563 + %t572 = sub i32 %t571, 1 + store i32 %t572, ptr %t563 br label %ifend59 ifend59: - br label %wcond60 -wcond60: - %t527 = icmp ne i32 1, 0 - br i1 %t527, label %wbody61, label %wend62 -wbody61: + %t573 = load i32, ptr @g_pi + %t574 = add i32 %t573, 1 + store i32 %t574, ptr @g_pi + %t575 = load i32, ptr %t563 + %t576 = icmp eq i32 %t575, 0 + %t577 = zext i1 %t576 to i32 + %t578 = icmp ne i32 %t577, 0 + br i1 %t578, label %then60, label %ifend62 +then60: + br label %wend53 +ifend62: + br label %wcond51 +wend53: + br label %ifend50 +ifend50: call void @fn_skipnl() - %t528 = load ptr, ptr @g_toks - %t529 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 0 - %t530 = load ptr, ptr %t529 - %t531 = load i32, ptr @g_pi - %t532 = getelementptr inbounds ptr, ptr %t530, i32 %t531 - %t533 = load ptr, ptr %t532 - %t534 = getelementptr inbounds %Cmp_Tok, ptr %t533, i32 0, i32 0 - %t535 = load i32, ptr %t534 - %t536 = icmp eq i32 %t535, 5 - %t537 = zext i1 %t536 to i32 - %t538 = icmp ne i32 %t537, 0 - br i1 %t538, label %then63, label %ifend65 + br label %wcond45 +wend47: + %t579 = call i32 @fn_is_id(ptr @.str486) + %t580 = icmp ne i32 %t579, 0 + br i1 %t580, label %then63, label %ifend65 then63: - br label %wend62 + %t581 = load i32, ptr @g_pi + %t582 = add i32 %t581, 1 + store i32 %t582, ptr @g_pi + %t583 = call ptr @fn_eat_id() + store ptr %t583, ptr @g_g_game_name + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str487) + br label %ifend65 ifend65: - %t539 = call i32 @fn_is_op(ptr @.str429) - %t540 = icmp ne i32 %t539, 0 - br i1 %t540, label %then66, label %ifend68 -then66: - br label %wend62 -ifend68: + br label %wcond66 +wcond66: + %t584 = icmp ne i32 1, 0 + br i1 %t584, label %wbody67, label %wend68 +wbody67: + call void @fn_skipnl() + %t585 = load ptr, ptr @g_toks + %t586 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 0 + %t587 = load ptr, ptr %t586 + %t588 = load i32, ptr @g_pi + %t589 = getelementptr inbounds ptr, ptr %t587, i32 %t588 + %t590 = load ptr, ptr %t589 + %t591 = getelementptr inbounds %Cmp_Tok, ptr %t590, i32 0, i32 0 + %t592 = load i32, ptr %t591 + %t593 = icmp eq i32 %t592, 5 + %t594 = zext i1 %t593 to i32 + %t595 = icmp ne i32 %t594, 0 + br i1 %t595, label %then69, label %ifend71 +then69: + br label %wend68 +ifend71: + %t596 = call i32 @fn_is_op(ptr @.str488) + %t597 = icmp ne i32 %t596, 0 + br i1 %t597, label %then72, label %ifend74 +then72: + br label %wend68 +ifend74: call void @fn_parse_one_decl() - br label %wcond60 -wend62: + br label %wcond66 +wend68: br label %ret ret: ret void @@ -21669,14 +24230,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str430) + call void @fn_eat_op(ptr @.str489) 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 @.str431) + %t8 = call i32 @fn_is_op(ptr @.str490) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -21684,7 +24245,7 @@ then3: ifend5: store i32 0, ptr %t10 store i32 0, ptr %t11 - %t12 = call i32 @fn_is_op(ptr @.str432) + %t12 = call i32 @fn_is_op(ptr @.str491) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -21694,7 +24255,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 @.str433) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str492) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %else10 then9: @@ -21702,7 +24263,7 @@ then9: br label %ifend11 else10: %t21 = load ptr, ptr %t17 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str434) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str493) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then12, label %ifend14 then12: @@ -21720,12 +24281,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 @.str435) + call void @fn_eat_op(ptr @.str494) %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 @.str436) + %t32 = call i32 @fn_is_op(ptr @.str495) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then15, label %ifend17 then15: @@ -21798,7 +24359,7 @@ put25: store i32 %t78, ptr %t60 br label %ifend23 ifend23: - %t79 = call i32 @fn_is_op(ptr @.str437) + %t79 = call i32 @fn_is_op(ptr @.str496) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then26, label %ifend28 then26: @@ -21809,7 +24370,7 @@ then26: ifend28: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str438) + call void @fn_eat_op(ptr @.str497) %t83 = load ptr, ptr %t3 store ptr %t83, ptr %retval br label %ret @@ -21828,7 +24389,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 @.str439) + %t4 = call i32 @fn_is_id(ptr @.str498) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: @@ -21845,14 +24406,14 @@ ifend2: %t12 = call ptr @fn_eat_id() store ptr %t12, ptr %t11 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str440) + call void @fn_eat_op(ptr @.str499) 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 @.str441) + %t14 = call i32 @fn_is_op(ptr @.str500) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %ifend8 then6: @@ -21864,12 +24425,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 @.str442) + call void @fn_eat_op(ptr @.str501) %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 @.str443) + %t24 = call i32 @fn_is_op(ptr @.str502) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: @@ -21912,7 +24473,7 @@ put13: store ptr %t49, ptr %t51 %t52 = add i32 %t37, 1 store i32 %t52, ptr %t34 - %t53 = call i32 @fn_is_op(ptr @.str444) + %t53 = call i32 @fn_is_op(ptr @.str503) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then14, label %ifend16 then14: @@ -21923,7 +24484,7 @@ then14: ifend16: br label %wcond3 wend5: - call void @fn_eat_op(ptr @.str445) + call void @fn_eat_op(ptr @.str504) %t57 = load ptr, ptr %t3 store ptr %t57, ptr %retval br label %ret @@ -21949,14 +24510,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 @.str446, ptr %t8 + store ptr @.str505, 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 @.str447) + %t10 = call i32 @fn_is_op(ptr @.str506) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: @@ -21965,7 +24526,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 @.str448) + %t16 = call i32 @fn_is_op(ptr @.str507) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: @@ -21975,7 +24536,7 @@ wcond9: %t19 = icmp ne i32 1, 0 br i1 %t19, label %wbody10, label %wend11 wbody10: - %t20 = call i32 @fn_is_op(ptr @.str449) + %t20 = call i32 @fn_is_op(ptr @.str508) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then12, label %ifend14 then12: @@ -21984,7 +24545,7 @@ then12: store i32 %t23, ptr %t18 br label %ifend14 ifend14: - %t24 = call i32 @fn_is_op(ptr @.str450) + %t24 = call i32 @fn_is_op(ptr @.str509) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then15, label %ifend17 then15: @@ -22010,7 +24571,7 @@ wend11: ifend8: br label %wcond0 ifend5: - %t34 = call i32 @fn_is_id(ptr @.str451) + %t34 = call i32 @fn_is_id(ptr @.str510) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then21, label %ifend23 then21: @@ -22044,18 +24605,18 @@ entry: %t1 = alloca ptr %t11 = alloca ptr %t40 = alloca ptr - call void @fn_eat_op(ptr @.str452) + call void @fn_eat_op(ptr @.str511) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: - %t2 = call i32 @fn_is_op(ptr @.str453) + %t2 = call i32 @fn_is_op(ptr @.str512) %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 @.str454) + %t6 = call i32 @fn_is_op(ptr @.str513) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %else4 then3: @@ -22101,7 +24662,7 @@ put7: store ptr %t35, ptr %t37 %t38 = add i32 %t23, 1 store i32 %t38, ptr %t20 - call void @fn_eat_op(ptr @.str455) + call void @fn_eat_op(ptr @.str514) br label %ifend5 else4: %t39 = call ptr @fn_node(i32 33) @@ -22145,7 +24706,7 @@ put9: store i32 %t67, ptr %t49 br label %ifend5 ifend5: - %t68 = call i32 @fn_is_op(ptr @.str456) + %t68 = call i32 @fn_is_op(ptr @.str515) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then10, label %ifend12 then10: @@ -22156,8 +24717,8 @@ then10: ifend12: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str457) - %t72 = call i32 @fn_is_id(ptr @.str458) + call void @fn_eat_op(ptr @.str516) + %t72 = call i32 @fn_is_id(ptr @.str517) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then13, label %ifend15 then13: @@ -22186,10 +24747,10 @@ entry: %t38 = alloca ptr %t0 = call ptr @fn_node(i32 21) store ptr %t0, ptr %t1 - call void @fn_eat_op(ptr @.str459) + call void @fn_eat_op(ptr @.str518) br label %wcond0 wcond0: - %t2 = call i32 @fn_is_op(ptr @.str460) + %t2 = call i32 @fn_is_op(ptr @.str519) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 @@ -22231,7 +24792,7 @@ put4: store ptr %t29, ptr %t31 %t32 = add i32 %t17, 1 store i32 %t32, ptr %t14 - %t33 = call i32 @fn_is_op(ptr @.str461) + %t33 = call i32 @fn_is_op(ptr @.str520) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: @@ -22242,16 +24803,16 @@ then5: ifend7: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str462) + call void @fn_eat_op(ptr @.str521) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 - %t39 = call i32 @fn_is_id(ptr @.str463) + %t39 = call i32 @fn_is_id(ptr @.str522) %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 @.str464) + call void @fn_perr(ptr @.str523) br label %ifend10 ifend10: %t43 = load i32, ptr @g_pi @@ -22303,7 +24864,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 @.str465, ptr %t10 + store ptr @.str524, ptr %t10 %t11 = load ptr, ptr %t8 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %t13 = load ptr, ptr %t0 @@ -22450,7 +25011,7 @@ entry: %t85 = alloca ptr %t102 = alloca ptr %t104 = alloca ptr - call void @fn_eat_op(ptr @.str466) + call void @fn_eat_op(ptr @.str525) %t0 = call ptr @fn_node(i32 21) store ptr %t0, ptr %t1 %t2 = call ptr @fn_node(i32 7) @@ -22458,14 +25019,14 @@ entry: store ptr null, ptr %t4 br label %wcond0 wcond0: - %t5 = call i32 @fn_is_op(ptr @.str467) + %t5 = call i32 @fn_is_op(ptr @.str526) %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 @.str468) + %t9 = call i32 @fn_is_op(ptr @.str527) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: @@ -22473,17 +25034,17 @@ then3: ifend5: %t11 = call ptr @fn_eat_id() store ptr %t11, ptr %t12 - call void @fn_eat_op(ptr @.str469) + call void @fn_eat_op(ptr @.str528) %t13 = load ptr, ptr %t12 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str470) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str529) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: - call void @fn_eat_op(ptr @.str471) + call void @fn_eat_op(ptr @.str530) call void @fn_skipnl() br label %wcond9 wcond9: - %t16 = call i32 @fn_is_op(ptr @.str472) + %t16 = call i32 @fn_is_op(ptr @.str531) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 @@ -22566,7 +25127,7 @@ put15: store ptr %t74, ptr %t76 %t77 = add i32 %t62, 1 store i32 %t77, ptr %t59 - %t78 = call i32 @fn_is_op(ptr @.str473) + %t78 = call i32 @fn_is_op(ptr @.str532) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then16, label %ifend18 then16: @@ -22575,7 +25136,7 @@ then16: store i32 %t81, ptr @g_pi %t82 = call ptr @fn_expr() store ptr %t82, ptr %t83 - call void @fn_eat_op(ptr @.str474) + call void @fn_eat_op(ptr @.str533) %t84 = call ptr @fn_node(i32 33) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 @@ -22590,7 +25151,7 @@ then16: store ptr %t93, ptr %t4 br label %ifend18 ifend18: - %t94 = call i32 @fn_is_op(ptr @.str475) + %t94 = call i32 @fn_is_op(ptr @.str534) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then19, label %ifend21 then19: @@ -22602,11 +25163,11 @@ ifend21: call void @fn_skipnl() br label %wcond9 wend11: - call void @fn_eat_op(ptr @.str476) + call void @fn_eat_op(ptr @.str535) br label %ifend8 else7: %t98 = load ptr, ptr %t12 - %t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str477) + %t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str536) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then22, label %else23 then22: @@ -22658,7 +25219,7 @@ else23: ifend24: br label %ifend8 ifend8: - %t133 = call i32 @fn_is_op(ptr @.str478) + %t133 = call i32 @fn_is_op(ptr @.str537) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: @@ -22670,7 +25231,7 @@ ifend29: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str479) + call void @fn_eat_op(ptr @.str538) %t137 = load ptr, ptr %t1 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6 %t139 = load ptr, ptr %t3 @@ -22691,7 +25252,6 @@ define ptr @fn_parse_spawn() { entry: %retval = alloca ptr %t3 = alloca ptr - %t11 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi @@ -22702,88 +25262,140 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str480) + call void @fn_eat_op(ptr @.str539) + %t7 = load ptr, ptr %t3 + call void @fn_parse_component_records(ptr %t7) + call void @fn_eat_op(ptr @.str540) + %t8 = load ptr, ptr %t3 + store ptr %t8, ptr %retval + br label %ret +ret: + %t9 = load ptr, ptr %retval + ret ptr %t9 +} + +define void @fn_parse_component_records(ptr %arg_n) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_n, ptr %t0 br label %wcond0 wcond0: - %t7 = icmp ne i32 1, 0 - br i1 %t7, label %wbody1, label %wend2 + %t1 = icmp ne i32 1, 0 + br i1 %t1, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() - %t8 = call i32 @fn_is_op(ptr @.str481) - %t9 = icmp ne i32 %t8, 0 - br i1 %t9, label %then3, label %ifend5 + %t2 = call i32 @fn_is_op(ptr @.str541) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then3, label %ifend5 then3: br label %wend2 ifend5: - %t10 = call ptr @fn_node(i32 42) - store ptr %t10, ptr %t11 - %t12 = load ptr, ptr %t11 - %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 - %t14 = call ptr @fn_eat_id() - store ptr %t14, ptr %t13 - %t15 = load ptr, ptr %t11 - %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 - %t17 = call ptr @fn_record() - store ptr %t17, ptr %t16 - %t18 = load ptr, ptr %t3 - %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 - %t20 = load ptr, ptr %t19 - %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 - %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 - %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 - %t24 = load i32, ptr %t21 - %t25 = load i32, ptr %t22 - %t26 = icmp sge i32 %t24, %t25 - br i1 %t26, label %grow6, label %put7 + %t4 = call ptr @fn_node(i32 42) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + %t8 = call ptr @fn_eat_id() + store ptr %t8, ptr %t7 + %t9 = load ptr, ptr %t5 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 + %t11 = call ptr @fn_record() + store ptr %t11, ptr %t10 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 + %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t18 = load i32, ptr %t15 + %t19 = load i32, ptr %t16 + %t20 = icmp sge i32 %t18, %t19 + br i1 %t20, label %grow6, label %put7 grow6: - %t27 = mul i32 %t25, 2 - %t28 = icmp eq i32 %t25, 0 - %t29 = select i1 %t28, i32 8, i32 %t27 - %t30 = getelementptr ptr, ptr null, i32 1 - %t31 = ptrtoint ptr %t30 to i64 - %t32 = zext i32 %t29 to i64 - %t33 = mul i64 %t32, %t31 - %t34 = load ptr, ptr %t23 - %t35 = call ptr @realloc(ptr %t34, i64 %t33) - store ptr %t35, ptr %t23 - store i32 %t29, ptr %t22 + %t21 = mul i32 %t19, 2 + %t22 = icmp eq i32 %t19, 0 + %t23 = select i1 %t22, i32 8, i32 %t21 + %t24 = getelementptr ptr, ptr null, i32 1 + %t25 = ptrtoint ptr %t24 to i64 + %t26 = zext i32 %t23 to i64 + %t27 = mul i64 %t26, %t25 + %t28 = load ptr, ptr %t17 + %t29 = call ptr @realloc(ptr %t28, i64 %t27) + store ptr %t29, ptr %t17 + store i32 %t23, ptr %t16 br label %put7 put7: - %t36 = load ptr, ptr %t11 - %t37 = load ptr, ptr %t23 - %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24 - store ptr %t36, ptr %t38 - %t39 = add i32 %t24, 1 - store i32 %t39, ptr %t21 - %t40 = call i32 @fn_is_op(ptr @.str482) - %t41 = icmp ne i32 %t40, 0 - br i1 %t41, label %then8, label %ifend10 + %t30 = load ptr, ptr %t5 + %t31 = load ptr, ptr %t17 + %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t18 + store ptr %t30, ptr %t32 + %t33 = add i32 %t18, 1 + store i32 %t33, ptr %t15 + %t34 = call i32 @fn_is_op(ptr @.str542) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 then8: - %t42 = load i32, ptr @g_pi - %t43 = add i32 %t42, 1 - store i32 %t43, ptr @g_pi + %t36 = load i32, ptr @g_pi + %t37 = add i32 %t36, 1 + store i32 %t37, ptr @g_pi br label %ifend10 ifend10: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str483) - %t44 = load ptr, ptr %t3 - store ptr %t44, ptr %retval br label %ret ret: - %t45 = load ptr, ptr %retval - ret ptr %t45 + ret void +} + +define ptr @fn_parse_prefab() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 53) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_eat_op(ptr @.str543) + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 + %t9 = call ptr @fn_eat_id() + store ptr %t9, ptr %t8 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str544) + %t10 = load ptr, ptr %t3 + call void @fn_parse_component_records(ptr %t10) + call void @fn_eat_op(ptr @.str545) + %t11 = load ptr, ptr %t3 + store ptr %t11, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 } define void @fn_parse_scene() { entry: %t3 = alloca ptr %t10 = alloca i32 - %t11 = alloca i32 - %t49 = alloca ptr - %t67 = alloca ptr - %t79 = alloca ptr - %t91 = alloca ptr + %t11 = alloca ptr + %t12 = alloca ptr + %t13 = alloca ptr + %t14 = alloca i32 + %t15 = alloca i32 + %t16 = alloca i32 + %t17 = alloca i32 + %t103 = alloca ptr + %t121 = alloca ptr + %t133 = alloca ptr + %t140 = alloca ptr + %t146 = alloca ptr + %t159 = alloca ptr + %t170 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi @@ -22798,248 +25410,1597 @@ entry: %t9 = load i32, ptr @g_g_scene_count store i32 %t9, ptr %t8 store i32 0, ptr %t10 + store ptr null, ptr %t11 + store ptr null, ptr %t12 + store ptr null, ptr %t13 br label %wcond0 wcond0: - %t12 = call i32 @fn_is_id(ptr @.str484) - %t13 = icmp ne i32 %t12, 0 - %t14 = zext i1 %t13 to i32 - store i32 %t14, ptr %t11 - br i1 %t13, label %scend4, label %sc3 + %t18 = call i32 @fn_is_id(ptr @.str546) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t17 + br i1 %t19, label %scend4, label %sc3 sc3: - %t15 = call i32 @fn_is_id(ptr @.str485) - %t16 = icmp ne i32 %t15, 0 - %t17 = zext i1 %t16 to i32 - store i32 %t17, ptr %t11 + %t21 = call i32 @fn_is_id(ptr @.str547) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t17 br label %scend4 scend4: - %t18 = load i32, ptr %t11 - %t19 = icmp ne i32 %t18, 0 - br i1 %t19, label %wbody1, label %wend2 -wbody1: - %t20 = call i32 @fn_is_id(ptr @.str486) - %t21 = icmp ne i32 %t20, 0 - br i1 %t21, label %then5, label %else6 -then5: - %t22 = load i32, ptr @g_pi - %t23 = add i32 %t22, 1 - store i32 %t23, ptr @g_pi - %t24 = load i32, ptr @g_g_scene_count - store i32 %t24, ptr @g_g_start_scene - br label %ifend7 -else6: - %t25 = load i32, ptr @g_pi - %t26 = add i32 %t25, 1 - store i32 %t26, ptr @g_pi - store i32 1, ptr %t10 - br label %ifend7 -ifend7: - br label %wcond0 -wend2: - %t27 = load i32, ptr @g_g_scene_count - %t28 = add i32 %t27, 1 - store i32 %t28, ptr @g_g_scene_count - %t29 = load i32, ptr %t10 - %t30 = icmp ne i32 %t29, 0 - br i1 %t30, label %then8, label %ifend10 -then8: - %t31 = load ptr, ptr %t3 - %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 - %t33 = load ptr, ptr %t32 - %t34 = call ptr @fn_str_concat(ptr @.str487, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str488) - 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 @.str489, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str490) - call void @fn_ensure_event_empty(ptr %t40) - br label %ifend10 -ifend10: - call void @fn_skipnl() - call void @fn_eat_op(ptr @.str491) - 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 @.str492) + %t24 = load i32, ptr %t17 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t16 + br i1 %t25, label %scend6, label %sc5 +sc5: + %t27 = call i32 @fn_is_id(ptr @.str548) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t16 + br label %scend6 +scend6: + %t30 = load i32, ptr %t16 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t15 + br i1 %t31, label %scend8, label %sc7 +sc7: + %t33 = call i32 @fn_is_id(ptr @.str549) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t15 + br label %scend8 +scend8: + %t36 = load i32, ptr %t15 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t14 + br i1 %t37, label %scend10, label %sc9 +sc9: + %t39 = call i32 @fn_is_id(ptr @.str550) + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t14 + br label %scend10 +scend10: + %t42 = load i32, ptr %t14 %t43 = icmp ne i32 %t42, 0 - br i1 %t43, label %then14, label %ifend16 -then14: - br label %wend13 -ifend16: - %t44 = call i32 @fn_is_id(ptr @.str493) + br i1 %t43, label %wbody1, label %wend2 +wbody1: + %t44 = call i32 @fn_is_id(ptr @.str551) %t45 = icmp ne i32 %t44, 0 - br i1 %t45, label %then17, label %ifend19 -then17: + br i1 %t45, label %then11, label %else12 +then11: %t46 = load i32, ptr @g_pi %t47 = add i32 %t46, 1 store i32 %t47, ptr @g_pi - %t48 = call ptr @fn_eat_id() - store ptr %t48, ptr %t49 - call void @fn_skipnl() - %t50 = load ptr, ptr %t49 - %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str494) - %t52 = icmp ne i32 %t51, 0 - br i1 %t52, label %then20, label %else21 -then20: + %t48 = load i32, ptr @g_g_scene_count + store i32 %t48, ptr @g_g_start_scene + br label %ifend13 +else12: + %t49 = call i32 @fn_is_id(ptr @.str552) + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then14, label %else15 +then14: + %t51 = load i32, ptr @g_pi + %t52 = add i32 %t51, 1 + store i32 %t52, ptr @g_pi %t53 = load ptr, ptr %t3 - %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 - %t55 = call ptr @fn_block() + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 + %t55 = call ptr @fn_eat_id() store ptr %t55, ptr %t54 - br label %ifend22 -else21: - %t56 = load ptr, ptr %t49 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str495) - %t58 = icmp ne i32 %t57, 0 - br i1 %t58, label %then23, label %else24 -then23: - %t59 = load ptr, ptr %t3 - %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 5 - %t61 = call ptr @fn_block() - store ptr %t61, ptr %t60 - br label %ifend25 -else24: - call void @fn_perr(ptr @.str496) - br label %ifend25 -ifend25: + br label %ifend16 +else15: + %t56 = call i32 @fn_is_id(ptr @.str553) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then17, label %else18 +then17: + %t58 = load i32, ptr @g_pi + %t59 = add i32 %t58, 1 + store i32 %t59, ptr @g_pi + %t60 = call ptr @fn_expr() + store ptr %t60, ptr %t11 + %t61 = call i32 @fn_is_id(ptr @.str554) + %t62 = icmp eq i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then20, label %ifend22 +then20: + call void @fn_perr(ptr @.str555) br label %ifend22 ifend22: - br label %wcond11 -ifend19: - %t62 = call i32 @fn_is_id(ptr @.str497) - %t63 = icmp ne i32 %t62, 0 - br i1 %t63, label %then26, label %ifend28 -then26: - %t64 = load i32, ptr @g_pi - %t65 = add i32 %t64, 1 - store i32 %t65, ptr @g_pi - %t66 = call ptr @fn_eat_id() - store ptr %t66, ptr %t67 - %t68 = call i32 @fn_is_id(ptr @.str498) + %t65 = load i32, ptr @g_pi + %t66 = add i32 %t65, 1 + store i32 %t66, ptr @g_pi + %t67 = call ptr @fn_eat_id() + store ptr %t67, ptr %t12 + br label %ifend19 +else18: + %t68 = call i32 @fn_is_id(ptr @.str556) %t69 = icmp ne i32 %t68, 0 - br i1 %t69, label %then29, label %ifend31 -then29: + br i1 %t69, label %then23, label %else24 +then23: %t70 = load i32, ptr @g_pi %t71 = add i32 %t70, 1 store i32 %t71, ptr @g_pi - %t72 = load ptr, ptr %t67 - %t73 = call ptr @fn_str_concat(ptr @.str499, ptr %t72) - %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str500) - call void @fn_ensure_event_empty(ptr %t74) - %t75 = load ptr, ptr %t67 - %t76 = call ptr @fn_str_concat(ptr @.str501, ptr %t75) - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str502) - call void @fn_ensure_event_empty(ptr %t77) + %t72 = call i32 @fn_is_id(ptr @.str557) + %t73 = icmp eq i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then26, label %ifend28 +then26: + call void @fn_perr(ptr @.str558) + br label %ifend28 +ifend28: + %t76 = load i32, ptr @g_pi + %t77 = add i32 %t76, 1 + store i32 %t77, ptr @g_pi + %t78 = call ptr @fn_eat_id() + store ptr %t78, ptr %t13 + store i32 1, ptr @g_g_uses_atlas + br label %ifend25 +else24: + %t79 = load i32, ptr @g_pi + %t80 = add i32 %t79, 1 + store i32 %t80, ptr @g_pi + store i32 1, ptr %t10 + br label %ifend25 +ifend25: + br label %ifend19 +ifend19: + br label %ifend16 +ifend16: + br label %ifend13 +ifend13: + br label %wcond0 +wend2: + %t81 = load i32, ptr @g_g_scene_count + %t82 = add i32 %t81, 1 + store i32 %t82, ptr @g_g_scene_count + %t83 = load i32, ptr %t10 + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then29, label %ifend31 +then29: + %t85 = load ptr, ptr %t3 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_str_concat(ptr @.str559, ptr %t87) + %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str560) + call void @fn_ensure_event_empty(ptr %t89) + %t90 = load ptr, ptr %t3 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @fn_str_concat(ptr @.str561, ptr %t92) + %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str562) + call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() - call void @fn_eat_op(ptr @.str503) - %t78 = call ptr @fn_node(i32 33) - store ptr %t78, ptr %t79 - %t80 = load ptr, ptr %t79 - %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 - %t82 = load ptr, ptr %t67 - store ptr %t82, ptr %t81 + call void @fn_eat_op(ptr @.str563) br label %wcond32 wcond32: - %t83 = icmp ne i32 1, 0 - br i1 %t83, label %wbody33, label %wend34 + %t95 = icmp ne i32 1, 0 + br i1 %t95, label %wbody33, label %wend34 wbody33: call void @fn_skipnl() - %t84 = call i32 @fn_is_op(ptr @.str504) - %t85 = icmp ne i32 %t84, 0 - br i1 %t85, label %then35, label %ifend37 + %t96 = call i32 @fn_is_op(ptr @.str564) + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then35, label %ifend37 then35: br label %wend34 ifend37: - %t86 = call i32 @fn_is_id(ptr @.str505) - %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 + %t98 = call i32 @fn_is_id(ptr @.str565) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then38, label %ifend40 then38: - call void @fn_perr(ptr @.str506) - br label %ifend40 -ifend40: - %t90 = call ptr @fn_parse_system() - store ptr %t90, ptr %t91 - %t92 = load ptr, ptr %t91 - %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6 - %t94 = load ptr, ptr %t3 - store ptr %t94, ptr %t93 - %t95 = load ptr, ptr %t91 - %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 5 - %t97 = load ptr, ptr %t79 - store ptr %t97, ptr %t96 - %t98 = load ptr, ptr @g_prog - %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 - %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 - %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 - %t102 = load i32, ptr %t99 - %t103 = load i32, ptr %t100 - %t104 = icmp sge i32 %t102, %t103 - br i1 %t104, label %grow41, label %put42 -grow41: - %t105 = mul i32 %t103, 2 - %t106 = icmp eq i32 %t103, 0 - %t107 = select i1 %t106, i32 8, i32 %t105 - %t108 = getelementptr ptr, ptr null, i32 1 - %t109 = ptrtoint ptr %t108 to i64 - %t110 = zext i32 %t107 to i64 - %t111 = mul i64 %t110, %t109 - %t112 = load ptr, ptr %t101 - %t113 = call ptr @realloc(ptr %t112, i64 %t111) - store ptr %t113, ptr %t101 - store i32 %t107, ptr %t100 - br label %put42 -put42: - %t114 = load ptr, ptr %t91 - %t115 = load ptr, ptr %t101 - %t116 = getelementptr inbounds ptr, ptr %t115, i32 %t102 - store ptr %t114, ptr %t116 - %t117 = add i32 %t102, 1 - store i32 %t117, ptr %t99 + %t100 = load i32, ptr @g_pi + %t101 = add i32 %t100, 1 + store i32 %t101, ptr @g_pi + %t102 = call ptr @fn_eat_id() + store ptr %t102, ptr %t103 call void @fn_skipnl() + %t104 = load ptr, ptr %t103 + %t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str566) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then41, label %else42 +then41: + %t107 = load ptr, ptr %t3 + %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 + %t109 = call ptr @fn_block() + store ptr %t109, ptr %t108 + br label %ifend43 +else42: + %t110 = load ptr, ptr %t103 + %t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str567) + %t112 = icmp ne i32 %t111, 0 + br i1 %t112, label %then44, label %else45 +then44: + %t113 = load ptr, ptr %t3 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 5 + %t115 = call ptr @fn_block() + store ptr %t115, ptr %t114 + br label %ifend46 +else45: + call void @fn_perr(ptr @.str568) + br label %ifend46 +ifend46: + br label %ifend43 +ifend43: + br label %wcond32 +ifend40: + %t116 = call i32 @fn_is_id(ptr @.str569) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then47, label %ifend49 +then47: + %t118 = load i32, ptr @g_pi + %t119 = add i32 %t118, 1 + store i32 %t119, ptr @g_pi + %t120 = call ptr @fn_eat_id() + store ptr %t120, ptr %t121 + %t122 = call i32 @fn_is_id(ptr @.str570) + %t123 = icmp ne i32 %t122, 0 + br i1 %t123, label %then50, label %ifend52 +then50: + %t124 = load i32, ptr @g_pi + %t125 = add i32 %t124, 1 + store i32 %t125, ptr @g_pi + %t126 = load ptr, ptr %t121 + %t127 = call ptr @fn_str_concat(ptr @.str571, ptr %t126) + %t128 = call ptr @fn_str_concat(ptr %t127, ptr @.str572) + call void @fn_ensure_event_empty(ptr %t128) + %t129 = load ptr, ptr %t121 + %t130 = call ptr @fn_str_concat(ptr @.str573, ptr %t129) + %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str574) + call void @fn_ensure_event_empty(ptr %t131) + br label %ifend52 +ifend52: + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str575) + %t132 = call ptr @fn_node(i32 33) + store ptr %t132, ptr %t133 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 + %t136 = load ptr, ptr %t121 + store ptr %t136, ptr %t135 + br label %wcond53 +wcond53: + %t137 = icmp ne i32 1, 0 + br i1 %t137, label %wbody54, label %wend55 +wbody54: + call void @fn_skipnl() + %t138 = call i32 @fn_is_op(ptr @.str576) + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then56, label %ifend58 +then56: + br label %wend55 +ifend58: + store ptr null, ptr %t140 + br label %wcond59 +wcond59: + %t141 = call i32 @fn_is_op(ptr @.str577) + %t142 = icmp ne i32 %t141, 0 + br i1 %t142, label %wbody60, label %wend61 +wbody60: + %t143 = load i32, ptr @g_pi + %t144 = add i32 %t143, 1 + store i32 %t144, ptr @g_pi + %t145 = call ptr @fn_eat_id() + store ptr %t145, ptr %t146 + %t147 = load ptr, ptr %t146 + %t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str578) + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then62, label %else63 +then62: + %t150 = call ptr @fn_parse_queries_anno() + store ptr %t150, ptr %t140 + br label %ifend64 +else63: + %t151 = load ptr, ptr %t146 + %t152 = call ptr @fn_str_concat(ptr @.str579, ptr %t151) + %t153 = call ptr @fn_str_concat(ptr %t152, ptr @.str580) + call void @fn_perr(ptr %t153) + br label %ifend64 +ifend64: + call void @fn_skipnl() + br label %wcond59 +wend61: + %t154 = call i32 @fn_is_id(ptr @.str581) + %t155 = icmp eq i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + %t157 = icmp ne i32 %t156, 0 + br i1 %t157, label %then65, label %ifend67 +then65: + call void @fn_perr(ptr @.str582) + br label %ifend67 +ifend67: + %t158 = call ptr @fn_parse_system() + store ptr %t158, ptr %t159 + %t160 = load ptr, ptr %t140 + %t161 = icmp ne ptr %t160, null + %t162 = zext i1 %t161 to i32 + %t163 = icmp ne i32 %t162, 0 + br i1 %t163, label %then68, label %ifend70 +then68: + %t164 = load ptr, ptr %t140 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 4 + %t166 = load ptr, ptr %t159 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 + %t168 = load ptr, ptr %t167 + store ptr %t168, ptr %t165 + %t169 = call ptr @fn_node(i32 7) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 + %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 2 + %t176 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 + %t177 = load i32, ptr %t174 + %t178 = load i32, ptr %t175 + %t179 = icmp sge i32 %t177, %t178 + br i1 %t179, label %grow71, label %put72 +grow71: + %t180 = mul i32 %t178, 2 + %t181 = icmp eq i32 %t178, 0 + %t182 = select i1 %t181, i32 8, i32 %t180 + %t183 = getelementptr ptr, ptr null, i32 1 + %t184 = ptrtoint ptr %t183 to i64 + %t185 = zext i32 %t182 to i64 + %t186 = mul i64 %t185, %t184 + %t187 = load ptr, ptr %t176 + %t188 = call ptr @realloc(ptr %t187, i64 %t186) + store ptr %t188, ptr %t176 + store i32 %t182, ptr %t175 + br label %put72 +put72: + %t189 = load ptr, ptr %t140 + %t190 = load ptr, ptr %t176 + %t191 = getelementptr inbounds ptr, ptr %t190, i32 %t177 + store ptr %t189, ptr %t191 + %t192 = add i32 %t177, 1 + store i32 %t192, ptr %t174 + %t193 = load ptr, ptr %t159 + %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 4 + %t195 = load ptr, ptr %t170 + store ptr %t195, ptr %t194 + br label %ifend70 +ifend70: + %t196 = load ptr, ptr %t159 + %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1 + %t198 = load ptr, ptr %t3 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 + %t200 = load ptr, ptr %t199 + %t201 = call ptr @fn_str_concat(ptr %t200, ptr @.str583) + %t202 = load ptr, ptr %t159 + %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @fn_str_concat(ptr %t201, ptr %t204) + store ptr %t205, ptr %t197 + %t206 = load ptr, ptr %t159 + %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 6 + %t208 = load ptr, ptr %t3 + store ptr %t208, ptr %t207 + %t209 = load ptr, ptr %t159 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5 + %t211 = load ptr, ptr %t133 + store ptr %t211, ptr %t210 + %t212 = load ptr, ptr @g_prog + %t213 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 + %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 2 + %t215 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 + %t216 = load i32, ptr %t213 + %t217 = load i32, ptr %t214 + %t218 = icmp sge i32 %t216, %t217 + br i1 %t218, label %grow73, label %put74 +grow73: + %t219 = mul i32 %t217, 2 + %t220 = icmp eq i32 %t217, 0 + %t221 = select i1 %t220, i32 8, i32 %t219 + %t222 = getelementptr ptr, ptr null, i32 1 + %t223 = ptrtoint ptr %t222 to i64 + %t224 = zext i32 %t221 to i64 + %t225 = mul i64 %t224, %t223 + %t226 = load ptr, ptr %t215 + %t227 = call ptr @realloc(ptr %t226, i64 %t225) + store ptr %t227, ptr %t215 + store i32 %t221, ptr %t214 + br label %put74 +put74: + %t228 = load ptr, ptr %t159 + %t229 = load ptr, ptr %t215 + %t230 = getelementptr inbounds ptr, ptr %t229, i32 %t216 + store ptr %t228, ptr %t230 + %t231 = add i32 %t216, 1 + store i32 %t231, ptr %t213 + call void @fn_skipnl() + br label %wcond53 +wend55: + call void @fn_eat_op(ptr @.str584) + br label %wcond32 +ifend49: + call void @fn_perr(ptr @.str585) br label %wcond32 wend34: - call void @fn_eat_op(ptr @.str507) - br label %wcond11 -ifend28: - call void @fn_perr(ptr @.str508) - br label %wcond11 -wend13: - call void @fn_eat_op(ptr @.str509) - %t118 = load ptr, ptr @g_g_scenes - %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 - %t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 2 - %t121 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 - %t122 = load i32, ptr %t119 + call void @fn_eat_op(ptr @.str586) + %t232 = load ptr, ptr %t11 + %t233 = icmp ne ptr %t232, null + %t234 = zext i1 %t233 to i32 + %t235 = icmp ne i32 %t234, 0 + br i1 %t235, label %then75, label %ifend77 +then75: + %t236 = load ptr, ptr %t3 + %t237 = load ptr, ptr %t11 + %t238 = load ptr, ptr %t12 + call void @fn_scene_add_timer(ptr %t236, ptr %t237, ptr %t238) + br label %ifend77 +ifend77: + %t239 = load ptr, ptr %t13 + %t240 = icmp ne ptr %t239, null + %t241 = zext i1 %t240 to i32 + %t242 = icmp ne i32 %t241, 0 + br i1 %t242, label %then78, label %ifend80 +then78: + %t243 = load ptr, ptr %t3 + %t244 = load ptr, ptr %t13 + call void @fn_scene_add_loader(ptr %t243, ptr %t244) + br label %ifend80 +ifend80: + %t245 = load ptr, ptr @g_g_scenes + %t246 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 + %t247 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 2 + %t248 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 + %t249 = load i32, ptr %t246 + %t250 = load i32, ptr %t247 + %t251 = icmp sge i32 %t249, %t250 + br i1 %t251, label %grow81, label %put82 +grow81: + %t252 = mul i32 %t250, 2 + %t253 = icmp eq i32 %t250, 0 + %t254 = select i1 %t253, i32 8, i32 %t252 + %t255 = getelementptr ptr, ptr null, i32 1 + %t256 = ptrtoint ptr %t255 to i64 + %t257 = zext i32 %t254 to i64 + %t258 = mul i64 %t257, %t256 + %t259 = load ptr, ptr %t248 + %t260 = call ptr @realloc(ptr %t259, i64 %t258) + store ptr %t260, ptr %t248 + store i32 %t254, ptr %t247 + br label %put82 +put82: + %t261 = load ptr, ptr %t3 + %t262 = load ptr, ptr %t248 + %t263 = getelementptr inbounds ptr, ptr %t262, i32 %t249 + store ptr %t261, ptr %t263 + %t264 = add i32 %t249, 1 + store i32 %t264, ptr %t246 + br label %ret +ret: + ret void +} + +define void @fn_scene_add_loader(ptr %arg_sc, ptr %arg_next) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + %t16 = alloca ptr + %t18 = alloca ptr + %t20 = alloca ptr + %t22 = alloca ptr + %t24 = alloca ptr + %t36 = alloca ptr + %t87 = alloca ptr + %t89 = alloca ptr + %t91 = alloca ptr + %t93 = alloca ptr + %t111 = alloca ptr + %t185 = alloca ptr + %t198 = alloca ptr + %t200 = alloca ptr + %t202 = alloca ptr + %t209 = alloca ptr + store ptr %arg_sc, ptr %t0 + store ptr %arg_next, ptr %t1 + %t2 = call ptr @fn_node(i32 9) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str587) + store ptr %t9, ptr %t5 + %t10 = load ptr, ptr %t3 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 + store ptr @.str588, ptr %t11 + %t12 = load ptr, ptr %t3 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 6 + %t14 = load ptr, ptr %t0 + store ptr %t14, ptr %t13 + %t15 = call ptr @fn_node(i32 7) + store ptr %t15, ptr %t16 + %t17 = call ptr @fn_node(i32 16) + store ptr %t17, ptr %t18 + %t19 = call ptr @fn_node(i32 34) + store ptr %t19, ptr %t20 + %t21 = call ptr @fn_node(i32 35) + store ptr %t21, ptr %t22 + %t23 = call ptr @fn_node(i32 33) + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + store ptr @.str589, ptr %t26 + %t27 = load ptr, ptr %t22 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 4 + %t29 = load ptr, ptr %t24 + store ptr %t29, ptr %t28 + %t30 = load ptr, ptr %t22 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 + store ptr @.str590, ptr %t31 + %t32 = load ptr, ptr %t20 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 + %t34 = load ptr, ptr %t22 + store ptr %t34, ptr %t33 + %t35 = call ptr @fn_node(i32 30) + store ptr %t35, ptr %t36 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 2 + store i32 4, ptr %t38 + %t39 = load ptr, ptr %t20 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 + %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 + %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 + %t45 = load i32, ptr %t42 + %t46 = load i32, ptr %t43 + %t47 = icmp sge i32 %t45, %t46 + br i1 %t47, label %grow0, label %put1 +grow0: + %t48 = mul i32 %t46, 2 + %t49 = icmp eq i32 %t46, 0 + %t50 = select i1 %t49, i32 8, i32 %t48 + %t51 = getelementptr ptr, ptr null, i32 1 + %t52 = ptrtoint ptr %t51 to i64 + %t53 = zext i32 %t50 to i64 + %t54 = mul i64 %t53, %t52 + %t55 = load ptr, ptr %t44 + %t56 = call ptr @realloc(ptr %t55, i64 %t54) + store ptr %t56, ptr %t44 + store i32 %t50, ptr %t43 + br label %put1 +put1: + %t57 = load ptr, ptr %t36 + %t58 = load ptr, ptr %t44 + %t59 = getelementptr inbounds ptr, ptr %t58, i32 %t45 + store ptr %t57, ptr %t59 + %t60 = add i32 %t45, 1 + store i32 %t60, ptr %t42 + %t61 = load ptr, ptr %t18 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 + %t63 = load ptr, ptr %t20 + store ptr %t63, ptr %t62 + %t64 = load ptr, ptr %t16 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 + %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t70 = load i32, ptr %t67 + %t71 = load i32, ptr %t68 + %t72 = icmp sge i32 %t70, %t71 + br i1 %t72, label %grow2, label %put3 +grow2: + %t73 = mul i32 %t71, 2 + %t74 = icmp eq i32 %t71, 0 + %t75 = select i1 %t74, i32 8, i32 %t73 + %t76 = getelementptr ptr, ptr null, i32 1 + %t77 = ptrtoint ptr %t76 to i64 + %t78 = zext i32 %t75 to i64 + %t79 = mul i64 %t78, %t77 + %t80 = load ptr, ptr %t69 + %t81 = call ptr @realloc(ptr %t80, i64 %t79) + store ptr %t81, ptr %t69 + store i32 %t75, ptr %t68 + br label %put3 +put3: + %t82 = load ptr, ptr %t18 + %t83 = load ptr, ptr %t69 + %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t70 + store ptr %t82, ptr %t84 + %t85 = add i32 %t70, 1 + store i32 %t85, ptr %t67 + %t86 = call ptr @fn_node(i32 12) + store ptr %t86, ptr %t87 + %t88 = call ptr @fn_node(i32 34) + store ptr %t88, ptr %t89 + %t90 = call ptr @fn_node(i32 35) + store ptr %t90, ptr %t91 + %t92 = call ptr @fn_node(i32 33) + store ptr %t92, ptr %t93 + %t94 = load ptr, ptr %t93 + %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 + store ptr @.str591, ptr %t95 + %t96 = load ptr, ptr %t91 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 + %t98 = load ptr, ptr %t93 + store ptr %t98, ptr %t97 + %t99 = load ptr, ptr %t91 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + store ptr @.str592, ptr %t100 + %t101 = load ptr, ptr %t89 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 + %t103 = load ptr, ptr %t91 + store ptr %t103, ptr %t102 + %t104 = load ptr, ptr %t87 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t89 + store ptr %t106, ptr %t105 + %t107 = load ptr, ptr %t87 + %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 5 + %t109 = call ptr @fn_node(i32 7) + store ptr %t109, ptr %t108 + %t110 = call ptr @fn_node(i32 26) + store ptr %t110, ptr %t111 + %t112 = load ptr, ptr %t111 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 + %t114 = load ptr, ptr %t1 + store ptr %t114, ptr %t113 + %t115 = load ptr, ptr %t87 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 5 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 + %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 + %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t123 = load i32, ptr %t120 - %t124 = icmp sge i32 %t122, %t123 - br i1 %t124, label %grow43, label %put44 -grow43: - %t125 = mul i32 %t123, 2 - %t126 = icmp eq i32 %t123, 0 - %t127 = select i1 %t126, i32 8, i32 %t125 - %t128 = getelementptr ptr, ptr null, i32 1 - %t129 = ptrtoint ptr %t128 to i64 - %t130 = zext i32 %t127 to i64 - %t131 = mul i64 %t130, %t129 - %t132 = load ptr, ptr %t121 - %t133 = call ptr @realloc(ptr %t132, i64 %t131) - store ptr %t133, ptr %t121 - store i32 %t127, ptr %t120 - br label %put44 -put44: - %t134 = load ptr, ptr %t3 - %t135 = load ptr, ptr %t121 - %t136 = getelementptr inbounds ptr, ptr %t135, i32 %t122 - store ptr %t134, ptr %t136 - %t137 = add i32 %t122, 1 - store i32 %t137, ptr %t119 + %t124 = load i32, ptr %t121 + %t125 = icmp sge i32 %t123, %t124 + br i1 %t125, label %grow4, label %put5 +grow4: + %t126 = mul i32 %t124, 2 + %t127 = icmp eq i32 %t124, 0 + %t128 = select i1 %t127, i32 8, i32 %t126 + %t129 = getelementptr ptr, ptr null, i32 1 + %t130 = ptrtoint ptr %t129 to i64 + %t131 = zext i32 %t128 to i64 + %t132 = mul i64 %t131, %t130 + %t133 = load ptr, ptr %t122 + %t134 = call ptr @realloc(ptr %t133, i64 %t132) + store ptr %t134, ptr %t122 + store i32 %t128, ptr %t121 + br label %put5 +put5: + %t135 = load ptr, ptr %t111 + %t136 = load ptr, ptr %t122 + %t137 = getelementptr inbounds ptr, ptr %t136, i32 %t123 + store ptr %t135, ptr %t137 + %t138 = add i32 %t123, 1 + store i32 %t138, ptr %t120 + %t139 = load ptr, ptr %t16 + %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 + %t141 = load ptr, ptr %t140 + %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 + %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 2 + %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 + %t145 = load i32, ptr %t142 + %t146 = load i32, ptr %t143 + %t147 = icmp sge i32 %t145, %t146 + br i1 %t147, label %grow6, label %put7 +grow6: + %t148 = mul i32 %t146, 2 + %t149 = icmp eq i32 %t146, 0 + %t150 = select i1 %t149, i32 8, i32 %t148 + %t151 = getelementptr ptr, ptr null, i32 1 + %t152 = ptrtoint ptr %t151 to i64 + %t153 = zext i32 %t150 to i64 + %t154 = mul i64 %t153, %t152 + %t155 = load ptr, ptr %t144 + %t156 = call ptr @realloc(ptr %t155, i64 %t154) + store ptr %t156, ptr %t144 + store i32 %t150, ptr %t143 + br label %put7 +put7: + %t157 = load ptr, ptr %t87 + %t158 = load ptr, ptr %t144 + %t159 = getelementptr inbounds ptr, ptr %t158, i32 %t145 + store ptr %t157, ptr %t159 + %t160 = add i32 %t145, 1 + store i32 %t160, ptr %t142 + %t161 = load ptr, ptr %t3 + %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 4 + %t163 = load ptr, ptr %t16 + store ptr %t163, ptr %t162 + %t164 = load ptr, ptr @g_prog + %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 + %t166 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 2 + %t167 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 + %t168 = load i32, ptr %t165 + %t169 = load i32, ptr %t166 + %t170 = icmp sge i32 %t168, %t169 + br i1 %t170, label %grow8, label %put9 +grow8: + %t171 = mul i32 %t169, 2 + %t172 = icmp eq i32 %t169, 0 + %t173 = select i1 %t172, i32 8, i32 %t171 + %t174 = getelementptr ptr, ptr null, i32 1 + %t175 = ptrtoint ptr %t174 to i64 + %t176 = zext i32 %t173 to i64 + %t177 = mul i64 %t176, %t175 + %t178 = load ptr, ptr %t167 + %t179 = call ptr @realloc(ptr %t178, i64 %t177) + store ptr %t179, ptr %t167 + store i32 %t173, ptr %t166 + br label %put9 +put9: + %t180 = load ptr, ptr %t3 + %t181 = load ptr, ptr %t167 + %t182 = getelementptr inbounds ptr, ptr %t181, i32 %t168 + store ptr %t180, ptr %t182 + %t183 = add i32 %t168, 1 + store i32 %t183, ptr %t165 + %t184 = call ptr @fn_node(i32 9) + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %t185 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 + %t188 = load ptr, ptr %t0 + %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 + %t190 = load ptr, ptr %t189 + %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str593) + store ptr %t191, ptr %t187 + %t192 = load ptr, ptr %t185 + %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 + store ptr @.str594, ptr %t193 + %t194 = load ptr, ptr %t185 + %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 6 + %t196 = load ptr, ptr %t0 + store ptr %t196, ptr %t195 + %t197 = call ptr @fn_node(i32 7) + store ptr %t197, ptr %t198 + %t199 = call ptr @fn_node(i32 34) + store ptr %t199, ptr %t200 + %t201 = call ptr @fn_node(i32 33) + store ptr %t201, ptr %t202 + %t203 = load ptr, ptr %t202 + %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 + store ptr @.str595, ptr %t204 + %t205 = load ptr, ptr %t200 + %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 4 + %t207 = load ptr, ptr %t202 + store ptr %t207, ptr %t206 + %t208 = call ptr @fn_node(i32 16) + store ptr %t208, ptr %t209 + %t210 = load ptr, ptr %t209 + %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 4 + %t212 = load ptr, ptr %t200 + store ptr %t212, ptr %t211 + %t213 = load ptr, ptr %t198 + %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 + %t215 = load ptr, ptr %t214 + %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 + %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 2 + %t218 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 + %t219 = load i32, ptr %t216 + %t220 = load i32, ptr %t217 + %t221 = icmp sge i32 %t219, %t220 + br i1 %t221, label %grow10, label %put11 +grow10: + %t222 = mul i32 %t220, 2 + %t223 = icmp eq i32 %t220, 0 + %t224 = select i1 %t223, i32 8, i32 %t222 + %t225 = getelementptr ptr, ptr null, i32 1 + %t226 = ptrtoint ptr %t225 to i64 + %t227 = zext i32 %t224 to i64 + %t228 = mul i64 %t227, %t226 + %t229 = load ptr, ptr %t218 + %t230 = call ptr @realloc(ptr %t229, i64 %t228) + store ptr %t230, ptr %t218 + store i32 %t224, ptr %t217 + br label %put11 +put11: + %t231 = load ptr, ptr %t209 + %t232 = load ptr, ptr %t218 + %t233 = getelementptr inbounds ptr, ptr %t232, i32 %t219 + store ptr %t231, ptr %t233 + %t234 = add i32 %t219, 1 + store i32 %t234, ptr %t216 + %t235 = load ptr, ptr %t185 + %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 4 + %t237 = load ptr, ptr %t198 + store ptr %t237, ptr %t236 + %t238 = load ptr, ptr @g_prog + %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 + %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 + %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 + %t242 = load i32, ptr %t239 + %t243 = load i32, ptr %t240 + %t244 = icmp sge i32 %t242, %t243 + br i1 %t244, label %grow12, label %put13 +grow12: + %t245 = mul i32 %t243, 2 + %t246 = icmp eq i32 %t243, 0 + %t247 = select i1 %t246, i32 8, i32 %t245 + %t248 = getelementptr ptr, ptr null, i32 1 + %t249 = ptrtoint ptr %t248 to i64 + %t250 = zext i32 %t247 to i64 + %t251 = mul i64 %t250, %t249 + %t252 = load ptr, ptr %t241 + %t253 = call ptr @realloc(ptr %t252, i64 %t251) + store ptr %t253, ptr %t241 + store i32 %t247, ptr %t240 + br label %put13 +put13: + %t254 = load ptr, ptr %t185 + %t255 = load ptr, ptr %t241 + %t256 = getelementptr inbounds ptr, ptr %t255, i32 %t242 + store ptr %t254, ptr %t256 + %t257 = add i32 %t242, 1 + store i32 %t257, ptr %t239 + br label %ret +ret: + ret void +} + +define void @fn_scene_add_timer(ptr %arg_sc, ptr %arg_frames, ptr %arg_next) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t8 = alloca ptr + %t10 = alloca ptr + %t46 = alloca ptr + %t50 = alloca ptr + %t66 = alloca ptr + %t87 = alloca i32 + %t136 = alloca ptr + %t149 = alloca ptr + %t151 = alloca ptr + %t155 = alloca ptr + %t163 = alloca ptr + %t192 = alloca ptr + %t196 = alloca ptr + %t204 = alloca ptr + %t211 = alloca ptr + %t219 = alloca ptr + store ptr %arg_sc, ptr %t0 + store ptr %arg_frames, ptr %t1 + store ptr %arg_next, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @fn_str_concat(ptr @.str596, ptr %t5) + %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str597) + store ptr %t7, ptr %t8 + %t9 = call ptr @fn_node(i32 2) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 + %t13 = load ptr, ptr %t8 + store ptr %t13, ptr %t12 + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3 + store ptr @.str598, ptr %t15 + %t16 = load ptr, ptr @g_prog + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 + %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 + %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t20 = load i32, ptr %t17 + %t21 = load i32, ptr %t18 + %t22 = icmp sge i32 %t20, %t21 + br i1 %t22, label %grow0, label %put1 +grow0: + %t23 = mul i32 %t21, 2 + %t24 = icmp eq i32 %t21, 0 + %t25 = select i1 %t24, i32 8, i32 %t23 + %t26 = getelementptr ptr, ptr null, i32 1 + %t27 = ptrtoint ptr %t26 to i64 + %t28 = zext i32 %t25 to i64 + %t29 = mul i64 %t28, %t27 + %t30 = load ptr, ptr %t19 + %t31 = call ptr @realloc(ptr %t30, i64 %t29) + store ptr %t31, ptr %t19 + store i32 %t25, ptr %t18 + br label %put1 +put1: + %t32 = load ptr, ptr %t10 + %t33 = load ptr, ptr %t19 + %t34 = getelementptr inbounds ptr, ptr %t33, i32 %t20 + store ptr %t32, ptr %t34 + %t35 = add i32 %t20, 1 + store i32 %t35, ptr %t17 + %t36 = load ptr, ptr %t0 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 + %t38 = load ptr, ptr %t37 + %t39 = icmp eq ptr %t38, null + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then2, label %ifend4 +then2: + %t42 = load ptr, ptr %t0 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 4 + %t44 = call ptr @fn_node(i32 7) + store ptr %t44, ptr %t43 + br label %ifend4 +ifend4: + %t45 = call ptr @fn_node(i32 11) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 + store ptr @.str599, ptr %t48 + %t49 = call ptr @fn_node(i32 33) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 + %t53 = load ptr, ptr %t8 + store ptr %t53, ptr %t52 + %t54 = load ptr, ptr %t46 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 + %t56 = load ptr, ptr %t50 + store ptr %t56, ptr %t55 + %t57 = load ptr, ptr %t46 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 5 + %t59 = load ptr, ptr %t1 + store ptr %t59, ptr %t58 + %t60 = getelementptr %LSlice, ptr null, i32 1 + %t61 = ptrtoint ptr %t60 to i64 + %t62 = call ptr @malloc(i64 %t61) + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 + store i32 0, ptr %t64 + %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 + store i32 0, ptr %t65 + store ptr %t62, ptr %t66 + %t67 = load ptr, ptr %t66 + %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 + %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 2 + %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 + %t71 = load i32, ptr %t68 + %t72 = load i32, ptr %t69 + %t73 = icmp sge i32 %t71, %t72 + br i1 %t73, label %grow5, label %put6 +grow5: + %t74 = mul i32 %t72, 2 + %t75 = icmp eq i32 %t72, 0 + %t76 = select i1 %t75, i32 8, i32 %t74 + %t77 = getelementptr ptr, ptr null, i32 1 + %t78 = ptrtoint ptr %t77 to i64 + %t79 = zext i32 %t76 to i64 + %t80 = mul i64 %t79, %t78 + %t81 = load ptr, ptr %t70 + %t82 = call ptr @realloc(ptr %t81, i64 %t80) + store ptr %t82, ptr %t70 + store i32 %t76, ptr %t69 + br label %put6 +put6: + %t83 = load ptr, ptr %t46 + %t84 = load ptr, ptr %t70 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 %t71 + store ptr %t83, ptr %t85 + %t86 = add i32 %t71, 1 + store i32 %t86, ptr %t68 + store i32 0, ptr %t87 + br label %wcond7 +wcond7: + %t88 = load i32, ptr %t87 + %t89 = load ptr, ptr %t0 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 4 + %t91 = load ptr, ptr %t90 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 + %t93 = load ptr, ptr %t92 + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 + %t95 = load i32, ptr %t94 + %t96 = icmp slt i32 %t88, %t95 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %wbody8, label %wend9 +wbody8: + %t99 = load ptr, ptr %t66 + %t100 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 + %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 + %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 + %t103 = load i32, ptr %t100 + %t104 = load i32, ptr %t101 + %t105 = icmp sge i32 %t103, %t104 + br i1 %t105, label %grow10, label %put11 +grow10: + %t106 = mul i32 %t104, 2 + %t107 = icmp eq i32 %t104, 0 + %t108 = select i1 %t107, i32 8, i32 %t106 + %t109 = getelementptr ptr, ptr null, i32 1 + %t110 = ptrtoint ptr %t109 to i64 + %t111 = zext i32 %t108 to i64 + %t112 = mul i64 %t111, %t110 + %t113 = load ptr, ptr %t102 + %t114 = call ptr @realloc(ptr %t113, i64 %t112) + store ptr %t114, ptr %t102 + store i32 %t108, ptr %t101 + br label %put11 +put11: + %t115 = load ptr, ptr %t0 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 4 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 + %t121 = load ptr, ptr %t120 + %t122 = load i32, ptr %t87 + %t123 = getelementptr inbounds ptr, ptr %t121, i32 %t122 + %t124 = load ptr, ptr %t123 + %t125 = load ptr, ptr %t102 + %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t103 + store ptr %t124, ptr %t126 + %t127 = add i32 %t103, 1 + store i32 %t127, ptr %t100 + %t128 = load i32, ptr %t87 + %t129 = add i32 %t128, 1 + store i32 %t129, ptr %t87 + br label %wcond7 +wend9: + %t130 = load ptr, ptr %t0 + %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 4 + %t132 = load ptr, ptr %t131 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t66 + store ptr %t134, ptr %t133 + %t135 = call ptr @fn_node(i32 9) + store ptr %t135, ptr %t136 + %t137 = load ptr, ptr %t136 + %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 + %t139 = load ptr, ptr %t0 + %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 + %t141 = load ptr, ptr %t140 + %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str600) + store ptr %t142, ptr %t138 + %t143 = load ptr, ptr %t136 + %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 + store ptr @.str601, ptr %t144 + %t145 = load ptr, ptr %t136 + %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 6 + %t147 = load ptr, ptr %t0 + store ptr %t147, ptr %t146 + %t148 = call ptr @fn_node(i32 7) + store ptr %t148, ptr %t149 + %t150 = call ptr @fn_node(i32 11) + store ptr %t150, ptr %t151 + %t152 = load ptr, ptr %t151 + %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 + store ptr @.str602, ptr %t153 + %t154 = call ptr @fn_node(i32 33) + store ptr %t154, ptr %t155 + %t156 = load ptr, ptr %t155 + %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1 + %t158 = load ptr, ptr %t8 + store ptr %t158, ptr %t157 + %t159 = load ptr, ptr %t151 + %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 + %t161 = load ptr, ptr %t155 + store ptr %t161, ptr %t160 + %t162 = call ptr @fn_node(i32 30) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 2 + store i32 1, ptr %t165 + %t166 = load ptr, ptr %t151 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 5 + %t168 = load ptr, ptr %t163 + store ptr %t168, ptr %t167 + %t169 = load ptr, ptr %t149 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 + %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2 + %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t175 = load i32, ptr %t172 + %t176 = load i32, ptr %t173 + %t177 = icmp sge i32 %t175, %t176 + br i1 %t177, label %grow12, label %put13 +grow12: + %t178 = mul i32 %t176, 2 + %t179 = icmp eq i32 %t176, 0 + %t180 = select i1 %t179, i32 8, i32 %t178 + %t181 = getelementptr ptr, ptr null, i32 1 + %t182 = ptrtoint ptr %t181 to i64 + %t183 = zext i32 %t180 to i64 + %t184 = mul i64 %t183, %t182 + %t185 = load ptr, ptr %t174 + %t186 = call ptr @realloc(ptr %t185, i64 %t184) + store ptr %t186, ptr %t174 + store i32 %t180, ptr %t173 + br label %put13 +put13: + %t187 = load ptr, ptr %t151 + %t188 = load ptr, ptr %t174 + %t189 = getelementptr inbounds ptr, ptr %t188, i32 %t175 + store ptr %t187, ptr %t189 + %t190 = add i32 %t175, 1 + store i32 %t190, ptr %t172 + %t191 = call ptr @fn_node(i32 37) + store ptr %t191, ptr %t192 + %t193 = load ptr, ptr %t192 + %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 1 + store ptr @.str603, ptr %t194 + %t195 = call ptr @fn_node(i32 33) + store ptr %t195, ptr %t196 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t8 + store ptr %t199, ptr %t198 + %t200 = load ptr, ptr %t192 + %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 4 + %t202 = load ptr, ptr %t196 + store ptr %t202, ptr %t201 + %t203 = call ptr @fn_node(i32 30) + store ptr %t203, ptr %t204 + %t205 = load ptr, ptr %t204 + %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 2 + store i32 0, ptr %t206 + %t207 = load ptr, ptr %t192 + %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 5 + %t209 = load ptr, ptr %t204 + store ptr %t209, ptr %t208 + %t210 = call ptr @fn_node(i32 12) + store ptr %t210, ptr %t211 + %t212 = load ptr, ptr %t211 + %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 4 + %t214 = load ptr, ptr %t192 + store ptr %t214, ptr %t213 + %t215 = load ptr, ptr %t211 + %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 5 + %t217 = call ptr @fn_node(i32 7) + store ptr %t217, ptr %t216 + %t218 = call ptr @fn_node(i32 26) + store ptr %t218, ptr %t219 + %t220 = load ptr, ptr %t219 + %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1 + %t222 = load ptr, ptr %t2 + store ptr %t222, ptr %t221 + %t223 = load ptr, ptr %t211 + %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 5 + %t225 = load ptr, ptr %t224 + %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 7 + %t227 = load ptr, ptr %t226 + %t228 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 + %t229 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 2 + %t230 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0 + %t231 = load i32, ptr %t228 + %t232 = load i32, ptr %t229 + %t233 = icmp sge i32 %t231, %t232 + br i1 %t233, label %grow14, label %put15 +grow14: + %t234 = mul i32 %t232, 2 + %t235 = icmp eq i32 %t232, 0 + %t236 = select i1 %t235, i32 8, i32 %t234 + %t237 = getelementptr ptr, ptr null, i32 1 + %t238 = ptrtoint ptr %t237 to i64 + %t239 = zext i32 %t236 to i64 + %t240 = mul i64 %t239, %t238 + %t241 = load ptr, ptr %t230 + %t242 = call ptr @realloc(ptr %t241, i64 %t240) + store ptr %t242, ptr %t230 + store i32 %t236, ptr %t229 + br label %put15 +put15: + %t243 = load ptr, ptr %t219 + %t244 = load ptr, ptr %t230 + %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t231 + store ptr %t243, ptr %t245 + %t246 = add i32 %t231, 1 + store i32 %t246, ptr %t228 + %t247 = load ptr, ptr %t149 + %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 7 + %t249 = load ptr, ptr %t248 + %t250 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 + %t251 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 2 + %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 + %t253 = load i32, ptr %t250 + %t254 = load i32, ptr %t251 + %t255 = icmp sge i32 %t253, %t254 + br i1 %t255, label %grow16, label %put17 +grow16: + %t256 = mul i32 %t254, 2 + %t257 = icmp eq i32 %t254, 0 + %t258 = select i1 %t257, i32 8, i32 %t256 + %t259 = getelementptr ptr, ptr null, i32 1 + %t260 = ptrtoint ptr %t259 to i64 + %t261 = zext i32 %t258 to i64 + %t262 = mul i64 %t261, %t260 + %t263 = load ptr, ptr %t252 + %t264 = call ptr @realloc(ptr %t263, i64 %t262) + store ptr %t264, ptr %t252 + store i32 %t258, ptr %t251 + br label %put17 +put17: + %t265 = load ptr, ptr %t211 + %t266 = load ptr, ptr %t252 + %t267 = getelementptr inbounds ptr, ptr %t266, i32 %t253 + store ptr %t265, ptr %t267 + %t268 = add i32 %t253, 1 + store i32 %t268, ptr %t250 + %t269 = load ptr, ptr %t136 + %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 4 + %t271 = load ptr, ptr %t149 + store ptr %t271, ptr %t270 + %t272 = load ptr, ptr @g_prog + %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 + %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 2 + %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 + %t276 = load i32, ptr %t273 + %t277 = load i32, ptr %t274 + %t278 = icmp sge i32 %t276, %t277 + br i1 %t278, label %grow18, label %put19 +grow18: + %t279 = mul i32 %t277, 2 + %t280 = icmp eq i32 %t277, 0 + %t281 = select i1 %t280, i32 8, i32 %t279 + %t282 = getelementptr ptr, ptr null, i32 1 + %t283 = ptrtoint ptr %t282 to i64 + %t284 = zext i32 %t281 to i64 + %t285 = mul i64 %t284, %t283 + %t286 = load ptr, ptr %t275 + %t287 = call ptr @realloc(ptr %t286, i64 %t285) + store ptr %t287, ptr %t275 + store i32 %t281, ptr %t274 + br label %put19 +put19: + %t288 = load ptr, ptr %t136 + %t289 = load ptr, ptr %t275 + %t290 = getelementptr inbounds ptr, ptr %t289, i32 %t276 + store ptr %t288, ptr %t290 + %t291 = add i32 %t276, 1 + store i32 %t291, ptr %t273 + br label %ret +ret: + ret void +} + +define void @fn_ui_register_gotos() { +entry: + %t0 = alloca i32 + %t8 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t0 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 12 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t8 + br i1 %t19, label %sc3, label %scend4 +sc3: + %t21 = load ptr, ptr @g_prog + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = load i32, ptr %t0 + %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 1 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t8 + br label %scend4 +scend4: + %t33 = load i32, ptr %t8 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + %t35 = load ptr, ptr @g_prog + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = load i32, ptr %t0 + %t39 = getelementptr inbounds ptr, ptr %t37, i32 %t38 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 + %t42 = load ptr, ptr %t41 + call void @fn_ui_gotos_in(ptr %t42) + br label %ifend7 +ifend7: + %t43 = load i32, ptr %t0 + %t44 = add i32 %t43, 1 + store i32 %t44, ptr %t0 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_ui_gotos_in(ptr %arg_w) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t25 = alloca ptr + %t26 = alloca i32 + %t49 = alloca i32 + %t74 = alloca i32 + %t88 = alloca ptr + %t90 = alloca ptr + %t94 = alloca ptr + %t101 = alloca ptr + %t110 = alloca ptr + %t118 = alloca ptr + %t169 = alloca i32 + store ptr %arg_w, ptr %t0 + store ptr null, ptr %t1 + store ptr null, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load i32, ptr %t3 + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 7 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 + %t11 = load i32, ptr %t10 + %t12 = icmp slt i32 %t4, %t11 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %wbody1, label %wend2 +wbody1: + %t15 = load ptr, ptr %t0 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t3 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t25 + %t27 = load ptr, ptr %t25 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 + %t29 = load ptr, ptr %t28 + %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str604) + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t26 + br i1 %t31, label %sc3, label %scend4 +sc3: + %t33 = load ptr, ptr %t25 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 + %t37 = load i32, ptr %t36 + %t38 = icmp eq i32 %t37, 33 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t26 + br label %scend4 +scend4: + %t42 = load i32, ptr %t26 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then5, label %ifend7 +then5: + %t44 = load ptr, ptr %t25 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 + %t48 = load ptr, ptr %t47 + store ptr %t48, ptr %t1 + br label %ifend7 +ifend7: + %t50 = load ptr, ptr %t25 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str605) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t49 + br i1 %t54, label %sc8, label %scend9 +sc8: + %t56 = load ptr, ptr %t25 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 0 + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 33 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t49 + br label %scend9 +scend9: + %t65 = load i32, ptr %t49 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then10, label %ifend12 +then10: + %t67 = load ptr, ptr %t25 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + store ptr %t71, ptr %t2 + br label %ifend12 +ifend12: + %t72 = load i32, ptr %t3 + %t73 = add i32 %t72, 1 + store i32 %t73, ptr %t3 + br label %wcond0 +wend2: + %t75 = load ptr, ptr %t1 + %t76 = icmp ne ptr %t75, null + %t77 = zext i1 %t76 to i32 + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t74 + br i1 %t78, label %sc13, label %scend14 +sc13: + %t80 = load ptr, ptr %t2 + %t81 = icmp ne ptr %t80, null + %t82 = zext i1 %t81 to i32 + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t74 + br label %scend14 +scend14: + %t85 = load i32, ptr %t74 + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then15, label %ifend17 +then15: + %t87 = call ptr @fn_node(i32 7) + store ptr %t87, ptr %t88 + %t89 = call ptr @fn_node(i32 37) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr %t90 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 + store ptr @.str606, ptr %t92 + %t93 = call ptr @fn_node(i32 33) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + store ptr @.str607, ptr %t96 + %t97 = load ptr, ptr %t90 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 + %t99 = load ptr, ptr %t94 + store ptr %t99, ptr %t98 + %t100 = call ptr @fn_node(i32 33) + store ptr %t100, ptr %t101 + %t102 = load ptr, ptr %t101 + %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 + %t104 = load ptr, ptr %t1 + %t105 = call ptr @fn_str_concat(ptr @.str608, ptr %t104) + store ptr %t105, ptr %t103 + %t106 = load ptr, ptr %t90 + %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 5 + %t108 = load ptr, ptr %t101 + store ptr %t108, ptr %t107 + %t109 = call ptr @fn_node(i32 12) + store ptr %t109, ptr %t110 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 + %t113 = load ptr, ptr %t90 + store ptr %t113, ptr %t112 + %t114 = load ptr, ptr %t110 + %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5 + %t116 = call ptr @fn_node(i32 7) + store ptr %t116, ptr %t115 + %t117 = call ptr @fn_node(i32 26) + store ptr %t117, ptr %t118 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 + %t121 = load ptr, ptr %t2 + store ptr %t121, ptr %t120 + %t122 = load ptr, ptr %t110 + %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 5 + %t124 = load ptr, ptr %t123 + %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 + %t126 = load ptr, ptr %t125 + %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 + %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 2 + %t129 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 + %t130 = load i32, ptr %t127 + %t131 = load i32, ptr %t128 + %t132 = icmp sge i32 %t130, %t131 + br i1 %t132, label %grow18, label %put19 +grow18: + %t133 = mul i32 %t131, 2 + %t134 = icmp eq i32 %t131, 0 + %t135 = select i1 %t134, i32 8, i32 %t133 + %t136 = getelementptr ptr, ptr null, i32 1 + %t137 = ptrtoint ptr %t136 to i64 + %t138 = zext i32 %t135 to i64 + %t139 = mul i64 %t138, %t137 + %t140 = load ptr, ptr %t129 + %t141 = call ptr @realloc(ptr %t140, i64 %t139) + store ptr %t141, ptr %t129 + store i32 %t135, ptr %t128 + br label %put19 +put19: + %t142 = load ptr, ptr %t118 + %t143 = load ptr, ptr %t129 + %t144 = getelementptr inbounds ptr, ptr %t143, i32 %t130 + store ptr %t142, ptr %t144 + %t145 = add i32 %t130, 1 + store i32 %t145, ptr %t127 + %t146 = load ptr, ptr %t88 + %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 + %t148 = load ptr, ptr %t147 + %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 + %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 2 + %t151 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 + %t152 = load i32, ptr %t149 + %t153 = load i32, ptr %t150 + %t154 = icmp sge i32 %t152, %t153 + br i1 %t154, label %grow20, label %put21 +grow20: + %t155 = mul i32 %t153, 2 + %t156 = icmp eq i32 %t153, 0 + %t157 = select i1 %t156, i32 8, i32 %t155 + %t158 = getelementptr ptr, ptr null, i32 1 + %t159 = ptrtoint ptr %t158 to i64 + %t160 = zext i32 %t157 to i64 + %t161 = mul i64 %t160, %t159 + %t162 = load ptr, ptr %t151 + %t163 = call ptr @realloc(ptr %t162, i64 %t161) + store ptr %t163, ptr %t151 + store i32 %t157, ptr %t150 + br label %put21 +put21: + %t164 = load ptr, ptr %t110 + %t165 = load ptr, ptr %t151 + %t166 = getelementptr inbounds ptr, ptr %t165, i32 %t152 + store ptr %t164, ptr %t166 + %t167 = add i32 %t152, 1 + store i32 %t167, ptr %t149 + %t168 = load ptr, ptr %t88 + call void @fn_register_onlisten(ptr @.str609, ptr %t168) + br label %ifend17 +ifend17: + store i32 0, ptr %t169 + br label %wcond22 +wcond22: + %t170 = load i32, ptr %t169 + %t171 = load ptr, ptr %t0 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 + %t175 = load i32, ptr %t174 + %t176 = icmp slt i32 %t170, %t175 + %t177 = zext i1 %t176 to i32 + %t178 = icmp ne i32 %t177, 0 + br i1 %t178, label %wbody23, label %wend24 +wbody23: + %t179 = load ptr, ptr %t0 + %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7 + %t181 = load ptr, ptr %t180 + %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 + %t183 = load ptr, ptr %t182 + %t184 = load i32, ptr %t169 + %t185 = getelementptr inbounds ptr, ptr %t183, i32 %t184 + %t186 = load ptr, ptr %t185 + call void @fn_ui_gotos_in(ptr %t186) + %t187 = load i32, ptr %t169 + %t188 = add i32 %t187, 1 + store i32 %t188, ptr %t169 + br label %wcond22 +wend24: br label %ret ret: ret void @@ -23061,14 +27022,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str510) + call void @fn_eat_op(ptr @.str610) 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 @.str511) + %t8 = call i32 @fn_is_op(ptr @.str611) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -23080,7 +27041,7 @@ ifend5: %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = call ptr @fn_eat_id() store ptr %t14, ptr %t13 - %t15 = call i32 @fn_is_op(ptr @.str512) + %t15 = call i32 @fn_is_op(ptr @.str612) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then6, label %ifend8 then6: @@ -23090,7 +27051,7 @@ then6: call void @fn_skipnl() br label %wcond9 wcond9: - %t19 = call i32 @fn_is_op(ptr @.str513) + %t19 = call i32 @fn_is_op(ptr @.str613) %t20 = icmp eq i32 %t19, 0 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 @@ -23132,7 +27093,7 @@ put13: store ptr %t46, ptr %t48 %t49 = add i32 %t34, 1 store i32 %t49, ptr %t31 - %t50 = call i32 @fn_is_op(ptr @.str514) + %t50 = call i32 @fn_is_op(ptr @.str614) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: @@ -23144,7 +27105,7 @@ ifend16: call void @fn_skipnl() br label %wcond9 wend11: - call void @fn_eat_op(ptr @.str515) + call void @fn_eat_op(ptr @.str615) br label %ifend8 ifend8: %t54 = load ptr, ptr %t3 @@ -23177,7 +27138,7 @@ put18: store ptr %t72, ptr %t74 %t75 = add i32 %t60, 1 store i32 %t75, ptr %t57 - %t76 = call i32 @fn_is_op(ptr @.str516) + %t76 = call i32 @fn_is_op(ptr @.str616) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then19, label %ifend21 then19: @@ -23189,7 +27150,7 @@ ifend21: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str517) + call void @fn_eat_op(ptr @.str617) %t80 = load ptr, ptr %t3 store ptr %t80, ptr %retval br label %ret @@ -23214,14 +27175,14 @@ entry: %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() - call void @fn_eat_op(ptr @.str518) + call void @fn_eat_op(ptr @.str618) 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 @.str519) + %t8 = call i32 @fn_is_op(ptr @.str619) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -23229,7 +27190,7 @@ then3: ifend5: %t10 = call ptr @fn_node(i32 33) store ptr %t10, ptr %t11 - %t12 = call i32 @fn_is_op(ptr @.str520) + %t12 = call i32 @fn_is_op(ptr @.str620) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -23239,7 +27200,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 @.str521) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str621) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %ifend11 then9: @@ -23285,7 +27246,7 @@ put13: store ptr %t44, ptr %t46 %t47 = add i32 %t32, 1 store i32 %t47, ptr %t29 - %t48 = call i32 @fn_is_op(ptr @.str522) + %t48 = call i32 @fn_is_op(ptr @.str622) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then14, label %ifend16 then14: @@ -23297,7 +27258,7 @@ ifend16: call void @fn_skipnl() br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str523) + call void @fn_eat_op(ptr @.str623) %t52 = load ptr, ptr %t3 store ptr %t52, ptr %retval br label %ret @@ -23324,10 +27285,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 @.str524) + call void @fn_eat_op(ptr @.str624) br label %wcond0 wcond0: - %t9 = call i32 @fn_is_op(ptr @.str525) + %t9 = call i32 @fn_is_op(ptr @.str625) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 @@ -23339,7 +27300,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 @.str526) + call void @fn_eat_op(ptr @.str626) %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 %t20 = call ptr @fn_ptype() @@ -23374,7 +27335,7 @@ put4: store ptr %t39, ptr %t41 %t42 = add i32 %t27, 1 store i32 %t42, ptr %t24 - %t43 = call i32 @fn_is_op(ptr @.str527) + %t43 = call i32 @fn_is_op(ptr @.str627) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then5, label %ifend7 then5: @@ -23385,11 +27346,11 @@ then5: ifend7: br label %wcond0 wend2: - call void @fn_eat_op(ptr @.str528) + call void @fn_eat_op(ptr @.str628) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 - store ptr @.str529, ptr %t48 - %t49 = call i32 @fn_is_op(ptr @.str530) + store ptr @.str629, ptr %t48 + %t49 = call i32 @fn_is_op(ptr @.str630) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: @@ -23402,7 +27363,7 @@ then8: store ptr %t55, ptr %t54 br label %ifend10 ifend10: - call void @fn_eat_op(ptr @.str531) + call void @fn_eat_op(ptr @.str631) %t56 = load ptr, ptr @g_toks %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 @@ -23498,7 +27459,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 @.str532) + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str632) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t8 @@ -23514,7 +27475,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 @.str533) + call void @fn_eat_op(ptr @.str633) %t57 = load ptr, ptr %t53 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = call ptr @fn_expr() @@ -23554,7 +27515,7 @@ put8: br label %wcond0 wend2: call void @fn_skipnl() - %t84 = call i32 @fn_is_op(ptr @.str534) + %t84 = call i32 @fn_is_op(ptr @.str634) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: @@ -23567,7 +27528,7 @@ wcond12: br i1 %t88, label %wbody13, label %wend14 wbody13: call void @fn_skipnl() - %t89 = call i32 @fn_is_op(ptr @.str535) + %t89 = call i32 @fn_is_op(ptr @.str635) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then15, label %ifend17 then15: @@ -23605,7 +27566,7 @@ put19: store i32 %t112, ptr %t94 br label %wcond12 wend14: - call void @fn_eat_op(ptr @.str536) + call void @fn_eat_op(ptr @.str636) br label %ifend11 ifend11: %t113 = load ptr, ptr %t1 @@ -23633,14 +27594,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 @.str537) + call void @fn_eat_op(ptr @.str637) 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 @.str538) + call void @fn_eat_op(ptr @.str638) %t12 = load ptr, ptr %t3 store ptr %t12, ptr %retval br label %ret @@ -23796,30 +27757,30 @@ ifend8: store i32 %t14, ptr %t15 %t16 = call ptr @fn_nreg() store ptr %t16, ptr %t17 - call void @fn_emit(ptr @.str539) + call void @fn_emit(ptr @.str639) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str540) + call void @fn_emit(ptr @.str640) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str541) + call void @fn_emit(ptr @.str641) %t21 = load ptr, ptr %t17 - %t22 = call ptr @fn_str_concat(ptr @.str542, ptr %t21) + %t22 = call ptr @fn_str_concat(ptr @.str642, ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 - %t26 = call ptr @fn_str_concat(ptr @.str543, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str544) + %t26 = call ptr @fn_str_concat(ptr @.str643, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str644) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 - call void @fn_emit(ptr @.str545) + call void @fn_emit(ptr @.str645) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str546) + call void @fn_emit(ptr @.str646) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str547) + call void @fn_emit(ptr @.str647) br label %ret ret: ret void @@ -23909,23 +27870,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 @.str548, ptr %t2) + %t3 = call ptr @fn_str_concat(ptr @.str648, 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 @.str549) + call void @fn_buf_puts(ptr %t7, ptr @.str649) %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 @.str550) + call void @fn_buf_puts(ptr %t10, ptr @.str650) %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 @.str551) + call void @fn_buf_puts(ptr %t13, ptr @.str651) %t14 = load ptr, ptr %t4 store ptr %t14, ptr %retval br label %ret @@ -23940,7 +27901,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 @.str552, ptr %t1) + %t2 = call ptr @fn_str_concat(ptr @.str652, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_ll_t %t5 = add i32 %t4, 1 @@ -23982,18 +27943,18 @@ entry: %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 - %t43 = alloca i32 - %t44 = alloca i32 + %t49 = alloca i32 + %t50 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str553) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str653) %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 @.str554) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str654) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -24006,7 +27967,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str555) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str655) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -24019,7 +27980,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str556) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str656) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -24029,96 +27990,112 @@ scend5: %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: - store ptr @.str557, ptr %retval + store ptr @.str657, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str558) + %t29 = call i32 @fn_is_bare_enum(ptr %t28) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: - store ptr @.str559, ptr %retval + store ptr @.str658, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str560) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str659) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: - store ptr @.str561, ptr %retval + store ptr @.str660, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str562) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str661) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: - store ptr @.str563, ptr %retval + store ptr @.str662, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 - %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str564) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str663) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: - store ptr @.str565, ptr %retval + store ptr @.str664, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str566) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str665) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: - store ptr @.str567, ptr %retval + store ptr @.str666, ptr %retval br label %ret ifend23: - %t45 = load ptr, ptr %t0 - %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str568) - %t47 = icmp ne i32 %t46, 0 - %t48 = zext i1 %t47 to i32 - store i32 %t48, ptr %t44 - br i1 %t47, label %scend25, label %sc24 -sc24: - %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str569) - %t51 = icmp ne i32 %t50, 0 - %t52 = zext i1 %t51 to i32 - store i32 %t52, ptr %t44 - br label %scend25 -scend25: - %t53 = load i32, ptr %t44 - %t54 = icmp ne i32 %t53, 0 - %t55 = zext i1 %t54 to i32 - store i32 %t55, ptr %t43 - br i1 %t54, label %scend27, label %sc26 -sc26: - %t56 = load ptr, ptr %t0 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str570) - %t58 = icmp ne i32 %t57, 0 - %t59 = zext i1 %t58 to i32 - store i32 %t59, ptr %t43 - br label %scend27 -scend27: - %t60 = load i32, ptr %t43 - %t61 = icmp ne i32 %t60, 0 - br i1 %t61, label %then28, label %ifend30 -then28: - store ptr @.str571, ptr %retval + %t43 = load ptr, ptr %t0 + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str667) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then24, label %ifend26 +then24: + store ptr @.str668, ptr %retval br label %ret -ifend30: +ifend26: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str669) + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then27, label %ifend29 +then27: + store ptr @.str670, ptr %retval + br label %ret +ifend29: + %t51 = load ptr, ptr %t0 + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str671) + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t50 + br i1 %t53, label %scend31, label %sc30 +sc30: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str672) + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t50 + br label %scend31 +scend31: + %t59 = load i32, ptr %t50 + %t60 = icmp ne i32 %t59, 0 + %t61 = zext i1 %t60 to i32 + store i32 %t61, ptr %t49 + br i1 %t60, label %scend33, label %sc32 +sc32: %t62 = load ptr, ptr %t0 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str572) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str673) %t64 = icmp ne i32 %t63, 0 - br i1 %t64, label %then31, label %ifend33 -then31: - store ptr @.str573, ptr %retval + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t49 + br label %scend33 +scend33: + %t66 = load i32, ptr %t49 + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then34, label %ifend36 +then34: + store ptr @.str674, ptr %retval br label %ret -ifend33: - store ptr @.str574, ptr %retval +ifend36: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str675) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then37, label %ifend39 +then37: + store ptr @.str676, ptr %retval + br label %ret +ifend39: + store ptr @.str677, ptr %retval br label %ret ret: - %t65 = load ptr, ptr %retval - ret ptr %t65 + %t71 = load ptr, ptr %retval + ret ptr %t71 } define i32 @fn_is_slice_ty(ptr %arg_t) { @@ -24328,7 +28305,7 @@ entry: %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str575, ptr %t1) + %t2 = call ptr @fn_str_concat(ptr @.str678, ptr %t1) store ptr %t2, ptr %retval br label %ret ret: @@ -24445,7 +28422,7 @@ ifend5: store i32 %t36, ptr %t2 br label %wcond0 wend2: - store ptr @.str576, ptr %retval + store ptr @.str679, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval @@ -24648,12 +28625,12 @@ ifend7: br label %wcond0 wend2: %t62 = load ptr, ptr %t0 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str577) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str680) %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 @.str578) + %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str681) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: @@ -24661,7 +28638,7 @@ then17: br label %ret ifend19: %t68 = load ptr, ptr %t1 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str579) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str682) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then20, label %ifend22 then20: @@ -24669,7 +28646,7 @@ then20: br label %ret ifend22: %t71 = load ptr, ptr %t1 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str580) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str683) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then23, label %ifend25 then23: @@ -24686,6 +28663,265 @@ ret: ret i32 %t75 } +define i32 @fn_is_bare_enum(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t3 = alloca ptr + %t8 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_find_enum(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = icmp eq ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + store i32 0, ptr %t8 + br label %wcond3 +wcond3: + %t9 = load i32, ptr %t8 + %t10 = load ptr, ptr %t3 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t9, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody4, label %wend5 +wbody4: + %t18 = load ptr, ptr %t3 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t8 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp sgt i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + store i32 0, ptr %retval + br label %ret +ifend8: + %t33 = load i32, ptr %t8 + %t34 = add i32 %t33, 1 + store i32 %t34, ptr %t8 + br label %wcond3 +wend5: + store i32 1, ptr %retval + br label %ret +ret: + %t35 = load i32, ptr %retval + ret i32 %t35 +} + +define ptr @fn_find_prefab(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 53 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define i32 @fn_has_prefabs() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 53 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t0 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define i32 @fn_has_countdowns() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t14 = alloca ptr + %t21 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 8 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + store i32 0, ptr %t21 + br label %wcond6 +wcond6: + %t22 = load i32, ptr %t21 + %t23 = load ptr, ptr %t14 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 + %t27 = load i32, ptr %t26 + %t28 = icmp slt i32 %t22, %t27 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %wbody7, label %wend8 +wbody7: + %t31 = load ptr, ptr %t14 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t21 + %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3 + %t40 = load ptr, ptr %t39 + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str684) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t43 = load i32, ptr %t21 + %t44 = add i32 %t43, 1 + store i32 %t44, ptr %t21 + br label %wcond6 +wend8: + br label %ifend5 +ifend5: + %t45 = load i32, ptr %t0 + %t46 = add i32 %t45, 1 + store i32 %t46, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t47 = load i32, ptr %retval + ret i32 %t47 +} + define ptr @fn_find_fn(ptr %arg_name) { entry: %retval = alloca ptr @@ -25191,7 +29427,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 @.str581) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str685) %t10 = load ptr, ptr %t1 %t11 = call ptr @fn_str_concat(ptr %t9, ptr %t10) store ptr %t11, ptr %t7 @@ -25255,7 +29491,7 @@ then0: br label %ret ifend2: %t6 = load ptr, ptr %t0 - %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str582) + %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str686) %t8 = load ptr, ptr %t1 %t9 = call ptr @fn_str_concat(ptr %t7, ptr %t8) store ptr %t9, ptr %t10 @@ -25312,6 +29548,25 @@ entry: %retval = alloca ptr %t0 = alloca ptr %t11 = alloca i32 + %t26 = alloca ptr + %t54 = alloca ptr + %t62 = alloca i32 + %t85 = alloca i32 + %t115 = alloca i32 + %t126 = alloca i32 + %t127 = alloca i32 + %t128 = alloca i32 + %t129 = alloca i32 + %t130 = alloca i32 + %t131 = alloca i32 + %t208 = alloca i32 + %t219 = alloca i32 + %t220 = alloca i32 + %t253 = alloca i32 + %t274 = alloca i32 + %t311 = alloca ptr + %t329 = alloca ptr + %t336 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 @@ -25341,13 +29596,472 @@ then3: store ptr %t21, ptr %retval br label %ret ifend5: + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @fn_find_global(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = icmp ne ptr %t27, null + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then6, label %ifend8 +then6: + %t31 = load ptr, ptr %t26 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %retval + br label %ret +ifend8: br label %ifend2 ifend2: + %t34 = load ptr, ptr %t0 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 0 + %t36 = load i32, ptr %t35 + %t37 = icmp eq i32 %t36, 34 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then9, label %ifend11 +then9: + %t40 = load ptr, ptr %t0 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 + %t44 = load i32, ptr %t43 + %t45 = icmp eq i32 %t44, 33 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then12, label %ifend14 +then12: + %t48 = load ptr, ptr %t0 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @fn_find_fn(ptr %t52) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t54 + %t56 = icmp ne ptr %t55, null + %t57 = zext i1 %t56 to i32 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then15, label %ifend17 +then15: + %t59 = load ptr, ptr %t54 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 + %t61 = load ptr, ptr %t60 + store ptr %t61, ptr %retval + br label %ret +ifend17: + br label %ifend14 +ifend14: + %t63 = load ptr, ptr %t0 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 + %t65 = load ptr, ptr %t64 + %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0 + %t67 = load i32, ptr %t66 + %t68 = icmp eq i32 %t67, 35 + %t69 = zext i1 %t68 to i32 + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t62 + br i1 %t70, label %sc18, label %scend19 +sc18: + %t72 = load ptr, ptr %t0 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 + %t74 = load ptr, ptr %t73 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 4 + %t76 = load ptr, ptr %t75 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 0 + %t78 = load i32, ptr %t77 + %t79 = icmp eq i32 %t78, 33 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + %t82 = zext i1 %t81 to i32 + store i32 %t82, ptr %t62 + br label %scend19 +scend19: + %t83 = load i32, ptr %t62 + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then20, label %ifend22 +then20: + %t86 = load ptr, ptr %t0 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = load ptr, ptr %t87 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 4 + %t90 = load ptr, ptr %t89 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @fn_find_comp(ptr %t92) + %t94 = icmp ne ptr %t93, null + %t95 = zext i1 %t94 to i32 + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t85 + br i1 %t96, label %sc23, label %scend24 +sc23: + %t98 = load ptr, ptr %t0 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = load ptr, ptr %t99 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 + %t102 = load ptr, ptr %t101 + %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str687) + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t85 + br label %scend24 +scend24: + %t106 = load i32, ptr %t85 + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then25, label %ifend27 +then25: + %t108 = load ptr, ptr %t0 + %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 4 + %t110 = load ptr, ptr %t109 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 + %t112 = load ptr, ptr %t111 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 + %t114 = load ptr, ptr %t113 + store ptr %t114, ptr %retval + br label %ret +ifend27: + %t116 = load ptr, ptr %t0 + %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4 + %t118 = load ptr, ptr %t117 + %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 4 + %t120 = load ptr, ptr %t119 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 + %t122 = load ptr, ptr %t121 + %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str688) + %t124 = icmp ne i32 %t123, 0 + %t125 = zext i1 %t124 to i32 + store i32 %t125, ptr %t115 + br i1 %t124, label %sc28, label %scend29 +sc28: + %t132 = load ptr, ptr %t0 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 4 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 + %t136 = load ptr, ptr %t135 + %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str689) + %t138 = icmp ne i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + store i32 %t139, ptr %t131 + br i1 %t138, label %scend31, label %sc30 +sc30: + %t140 = load ptr, ptr %t0 + %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 4 + %t142 = load ptr, ptr %t141 + %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 + %t144 = load ptr, ptr %t143 + %t145 = call i32 @fn_str_eq(ptr %t144, ptr @.str690) + %t146 = icmp ne i32 %t145, 0 + %t147 = zext i1 %t146 to i32 + store i32 %t147, ptr %t131 + br label %scend31 +scend31: + %t148 = load i32, ptr %t131 + %t149 = icmp ne i32 %t148, 0 + %t150 = zext i1 %t149 to i32 + store i32 %t150, ptr %t130 + br i1 %t149, label %scend33, label %sc32 +sc32: + %t151 = load ptr, ptr %t0 + %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 4 + %t153 = load ptr, ptr %t152 + %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 + %t155 = load ptr, ptr %t154 + %t156 = call i32 @fn_str_eq(ptr %t155, ptr @.str691) + %t157 = icmp ne i32 %t156, 0 + %t158 = zext i1 %t157 to i32 + store i32 %t158, ptr %t130 + br label %scend33 +scend33: + %t159 = load i32, ptr %t130 + %t160 = icmp ne i32 %t159, 0 + %t161 = zext i1 %t160 to i32 + store i32 %t161, ptr %t129 + br i1 %t160, label %scend35, label %sc34 +sc34: + %t162 = load ptr, ptr %t0 + %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 4 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 1 + %t166 = load ptr, ptr %t165 + %t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str692) + %t168 = icmp ne i32 %t167, 0 + %t169 = zext i1 %t168 to i32 + store i32 %t169, ptr %t129 + br label %scend35 +scend35: + %t170 = load i32, ptr %t129 + %t171 = icmp ne i32 %t170, 0 + %t172 = zext i1 %t171 to i32 + store i32 %t172, ptr %t128 + br i1 %t171, label %scend37, label %sc36 +sc36: + %t173 = load ptr, ptr %t0 + %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 4 + %t175 = load ptr, ptr %t174 + %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 + %t177 = load ptr, ptr %t176 + %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str693) + %t179 = icmp ne i32 %t178, 0 + %t180 = zext i1 %t179 to i32 + store i32 %t180, ptr %t128 + br label %scend37 +scend37: + %t181 = load i32, ptr %t128 + %t182 = icmp ne i32 %t181, 0 + %t183 = zext i1 %t182 to i32 + store i32 %t183, ptr %t127 + br i1 %t182, label %scend39, label %sc38 +sc38: + %t184 = load ptr, ptr %t0 + %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 4 + %t186 = load ptr, ptr %t185 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 + %t188 = load ptr, ptr %t187 + %t189 = call i32 @fn_str_eq(ptr %t188, ptr @.str694) + %t190 = icmp ne i32 %t189, 0 + %t191 = zext i1 %t190 to i32 + store i32 %t191, ptr %t127 + br label %scend39 +scend39: + %t192 = load i32, ptr %t127 + %t193 = icmp ne i32 %t192, 0 + %t194 = zext i1 %t193 to i32 + store i32 %t194, ptr %t126 + br i1 %t193, label %scend41, label %sc40 +sc40: + %t195 = load ptr, ptr %t0 + %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 4 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t198 + %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str695) + %t201 = icmp ne i32 %t200, 0 + %t202 = zext i1 %t201 to i32 + store i32 %t202, ptr %t126 + br label %scend41 +scend41: + %t203 = load i32, ptr %t126 + %t204 = icmp ne i32 %t203, 0 + %t205 = zext i1 %t204 to i32 + store i32 %t205, ptr %t115 + br label %scend29 +scend29: + %t206 = load i32, ptr %t115 + %t207 = icmp ne i32 %t206, 0 + br i1 %t207, label %then42, label %ifend44 +then42: + store ptr @.str696, ptr %retval + br label %ret +ifend44: + %t209 = load ptr, ptr %t0 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 4 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 4 + %t213 = load ptr, ptr %t212 + %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 1 + %t215 = load ptr, ptr %t214 + %t216 = call i32 @fn_str_eq(ptr %t215, ptr @.str697) + %t217 = icmp ne i32 %t216, 0 + %t218 = zext i1 %t217 to i32 + store i32 %t218, ptr %t208 + br i1 %t217, label %sc45, label %scend46 +sc45: + %t221 = load ptr, ptr %t0 + %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 4 + %t223 = load ptr, ptr %t222 + %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 1 + %t225 = load ptr, ptr %t224 + %t226 = call i32 @fn_str_eq(ptr %t225, ptr @.str698) + %t227 = icmp ne i32 %t226, 0 + %t228 = zext i1 %t227 to i32 + store i32 %t228, ptr %t220 + br i1 %t227, label %scend48, label %sc47 +sc47: + %t229 = load ptr, ptr %t0 + %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 4 + %t231 = load ptr, ptr %t230 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 1 + %t233 = load ptr, ptr %t232 + %t234 = call i32 @fn_str_eq(ptr %t233, ptr @.str699) + %t235 = icmp ne i32 %t234, 0 + %t236 = zext i1 %t235 to i32 + store i32 %t236, ptr %t220 + br label %scend48 +scend48: + %t237 = load i32, ptr %t220 + %t238 = icmp ne i32 %t237, 0 + %t239 = zext i1 %t238 to i32 + store i32 %t239, ptr %t219 + br i1 %t238, label %scend50, label %sc49 +sc49: + %t240 = load ptr, ptr %t0 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 4 + %t242 = load ptr, ptr %t241 + %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 1 + %t244 = load ptr, ptr %t243 + %t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str700) + %t246 = icmp ne i32 %t245, 0 + %t247 = zext i1 %t246 to i32 + store i32 %t247, ptr %t219 + br label %scend50 +scend50: + %t248 = load i32, ptr %t219 + %t249 = icmp ne i32 %t248, 0 + %t250 = zext i1 %t249 to i32 + store i32 %t250, ptr %t208 + br label %scend46 +scend46: + %t251 = load i32, ptr %t208 + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then51, label %ifend53 +then51: + store ptr @.str701, ptr %retval + br label %ret +ifend53: + %t254 = load ptr, ptr %t0 + %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 4 + %t256 = load ptr, ptr %t255 + %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 4 + %t258 = load ptr, ptr %t257 + %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 1 + %t260 = load ptr, ptr %t259 + %t261 = call i32 @fn_str_eq(ptr %t260, ptr @.str702) + %t262 = icmp ne i32 %t261, 0 + %t263 = zext i1 %t262 to i32 + store i32 %t263, ptr %t253 + br i1 %t262, label %sc54, label %scend55 +sc54: + %t264 = load ptr, ptr %t0 + %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 4 + %t266 = load ptr, ptr %t265 + %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 1 + %t268 = load ptr, ptr %t267 + %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str703) + %t270 = icmp ne i32 %t269, 0 + %t271 = zext i1 %t270 to i32 + store i32 %t271, ptr %t253 + br label %scend55 +scend55: + %t272 = load i32, ptr %t253 + %t273 = icmp ne i32 %t272, 0 + br i1 %t273, label %then56, label %ifend58 +then56: + store ptr @.str704, ptr %retval + br label %ret +ifend58: + %t275 = load ptr, ptr %t0 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 4 + %t277 = load ptr, ptr %t276 + %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 4 + %t279 = load ptr, ptr %t278 + %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 1 + %t281 = load ptr, ptr %t280 + %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str705) + %t283 = icmp ne i32 %t282, 0 + %t284 = zext i1 %t283 to i32 + store i32 %t284, ptr %t274 + br i1 %t283, label %sc59, label %scend60 +sc59: + %t285 = load ptr, ptr %t0 + %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 4 + %t287 = load ptr, ptr %t286 + %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 1 + %t289 = load ptr, ptr %t288 + %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str706) + %t291 = icmp ne i32 %t290, 0 + %t292 = zext i1 %t291 to i32 + store i32 %t292, ptr %t274 + br label %scend60 +scend60: + %t293 = load i32, ptr %t274 + %t294 = icmp ne i32 %t293, 0 + br i1 %t294, label %then61, label %ifend63 +then61: + store ptr @.str707, ptr %retval + br label %ret +ifend63: + %t295 = load ptr, ptr %t0 + %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 4 + %t297 = load ptr, ptr %t296 + %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 4 + %t299 = load ptr, ptr %t298 + %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 1 + %t301 = load ptr, ptr %t300 + %t302 = call ptr @fn_ns_lower(ptr %t301) + %t303 = call ptr @fn_str_concat(ptr %t302, ptr @.str708) + %t304 = load ptr, ptr %t0 + %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 4 + %t306 = load ptr, ptr %t305 + %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 1 + %t308 = load ptr, ptr %t307 + %t309 = call ptr @fn_str_concat(ptr %t303, ptr %t308) + %t310 = call ptr @fn_find_fn(ptr %t309) + store ptr %t310, ptr %t311 + %t312 = load ptr, ptr %t311 + %t313 = icmp ne ptr %t312, null + %t314 = zext i1 %t313 to i32 + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then64, label %ifend66 +then64: + %t316 = load ptr, ptr %t311 + %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 3 + %t318 = load ptr, ptr %t317 + store ptr %t318, ptr %retval + br label %ret +ifend66: + br label %ifend22 +ifend22: + br label %ifend11 +ifend11: + %t319 = load ptr, ptr %t0 + %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 0 + %t321 = load i32, ptr %t320 + %t322 = icmp eq i32 %t321, 35 + %t323 = zext i1 %t322 to i32 + %t324 = icmp ne i32 %t323, 0 + br i1 %t324, label %then67, label %ifend69 +then67: + %t325 = load ptr, ptr %t0 + %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 4 + %t327 = load ptr, ptr %t326 + %t328 = call ptr @fn_static_type(ptr %t327) + store ptr %t328, ptr %t329 + %t330 = load ptr, ptr %t329 + %t331 = icmp ne ptr %t330, null + %t332 = zext i1 %t331 to i32 + %t333 = icmp ne i32 %t332, 0 + br i1 %t333, label %then70, label %ifend72 +then70: + %t334 = load ptr, ptr %t329 + %t335 = call ptr @fn_layout_node(ptr %t334) + store ptr %t335, ptr %t336 + %t337 = load ptr, ptr %t336 + %t338 = icmp ne ptr %t337, null + %t339 = zext i1 %t338 to i32 + %t340 = icmp ne i32 %t339, 0 + br i1 %t340, label %then73, label %ifend75 +then73: + %t341 = load ptr, ptr %t336 + %t342 = load ptr, ptr %t0 + %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 1 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @fn_field_type(ptr %t341, ptr %t344) + store ptr %t345, ptr %retval + br label %ret +ifend75: + br label %ifend72 +ifend72: + br label %ifend69 +ifend69: store ptr null, ptr %retval br label %ret ret: - %t22 = load ptr, ptr %retval - ret ptr %t22 + %t346 = load ptr, ptr %retval + ret ptr %t346 } define void @fn_register_onspawn(ptr %arg_model, ptr %arg_body) { @@ -26147,10 +30861,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 @.str583, ptr %t15 + store ptr @.str709, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 - store ptr @.str584, ptr %t17 + store ptr @.str710, ptr %t17 %t18 = load ptr, ptr %t8 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 @@ -26189,10 +30903,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 @.str585, ptr %t45 + store ptr @.str711, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 - store ptr @.str586, ptr %t47 + store ptr @.str712, ptr %t47 %t48 = load ptr, ptr %t8 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 @@ -26671,7 +31385,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 @.str587, ptr %t2) + %t3 = call ptr @fn_str_concat(ptr @.str713, ptr %t2) store ptr %t3, ptr %t4 %t5 = load i32, ptr @g_ll_str %t6 = add i32 %t5, 1 @@ -26682,12 +31396,12 @@ entry: store i32 %t9, ptr %t10 %t11 = load ptr, ptr %t4 call void @fn_emith(ptr %t11) - call void @fn_emith(ptr @.str588) + call void @fn_emith(ptr @.str714) %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 @.str589) + call void @fn_emith(ptr @.str715) store i32 0, ptr %t15 br label %wcond0 wcond0: @@ -26776,7 +31490,7 @@ ifend11: store i32 %t70, ptr %t15 br label %wcond0 wend2: - call void @fn_emith(ptr @.str590) + call void @fn_emith(ptr @.str716) %t71 = load ptr, ptr %t4 store ptr %t71, ptr %retval br label %ret @@ -26794,6 +31508,8 @@ entry: %t18 = alloca i32 %t49 = alloca i32 %t50 = alloca i32 + %t85 = alloca i32 + %t113 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 @@ -26807,14 +31523,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 @.str591) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str717) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: - store ptr @.str592, ptr %retval + store ptr @.str718, ptr %retval br label %ret ifend5: - store ptr @.str593, ptr %retval + store ptr @.str719, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t0 @@ -26881,7 +31597,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 @.str594) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str720) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t50 @@ -26915,104 +31631,451 @@ 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 @.str595, ptr %t83) + %t84 = call ptr @fn_str_concat(ptr @.str721, ptr %t83) store ptr %t84, ptr %retval br label %ret ifend19: - %t85 = load ptr, ptr %t0 - %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 - %t87 = load ptr, ptr %t86 - %t88 = call ptr @fn_llty(ptr %t87) - %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str596) - %t90 = icmp ne i32 %t89, 0 - br i1 %t90, label %then20, label %ifend22 -then20: - store ptr @.str597, ptr %retval + %t86 = load ptr, ptr %t16 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 0 + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 35 + %t90 = zext i1 %t89 to i32 + %t91 = icmp ne i32 %t90, 0 + %t92 = zext i1 %t91 to i32 + store i32 %t92, ptr %t85 + br i1 %t91, label %sc20, label %scend21 +sc20: + %t93 = load ptr, ptr %t16 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 + %t97 = load i32, ptr %t96 + %t98 = icmp eq i32 %t97, 33 + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + %t101 = zext i1 %t100 to i32 + store i32 %t101, ptr %t85 + br label %scend21 +scend21: + %t102 = load i32, ptr %t85 + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then22, label %ifend24 +then22: + %t104 = load ptr, ptr %t16 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t105 + %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 + %t108 = load ptr, ptr %t107 + %t109 = load ptr, ptr %t16 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 + %t111 = load ptr, ptr %t110 + %t112 = call i32 @fn_enum_ordinal(ptr %t108, ptr %t111) + store i32 %t112, ptr %t113 + %t114 = load i32, ptr %t113 + %t115 = icmp sge i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then25, label %ifend27 +then25: + %t118 = load i32, ptr %t113 + %t119 = call ptr @fn_itoa(i32 %t118) + store ptr %t119, ptr %retval br label %ret -ifend22: - store ptr @.str598, ptr %retval +ifend27: + br label %ifend24 +ifend24: + %t120 = load ptr, ptr %t0 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 3 + %t122 = load ptr, ptr %t121 + %t123 = call ptr @fn_llty(ptr %t122) + %t124 = call i32 @fn_str_eq(ptr %t123, ptr @.str722) + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then28, label %ifend30 +then28: + store ptr @.str723, ptr %retval + br label %ret +ifend30: + store ptr @.str724, ptr %retval br label %ret ret: - %t91 = load ptr, ptr %retval - ret ptr %t91 + %t126 = load ptr, ptr %retval + ret ptr %t126 +} + +define i32 @fn_global_needs_init_code(ptr %arg_d) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t50 = alloca i32 + %t51 = alloca i32 + %t79 = alloca i32 + store ptr %arg_d, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %t10 + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 30 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t13 + br i1 %t19, label %scend4, label %sc3 +sc3: + %t21 = load ptr, ptr %t10 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 40 + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t13 + br label %scend4 +scend4: + %t28 = load i32, ptr %t13 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t12 + br i1 %t29, label %scend6, label %sc5 +sc5: + %t31 = load ptr, ptr %t10 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 32 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t12 + br label %scend6 +scend6: + %t38 = load i32, ptr %t12 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t11 + br i1 %t39, label %scend8, label %sc7 +sc7: + %t41 = load ptr, ptr %t10 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 + %t43 = load i32, ptr %t42 + %t44 = icmp eq i32 %t43, 43 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t11 + br label %scend8 +scend8: + %t48 = load i32, ptr %t11 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then9, label %ifend11 +then9: + store i32 0, ptr %retval + br label %ret +ifend11: + %t52 = load ptr, ptr %t10 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 0 + %t54 = load i32, ptr %t53 + %t55 = icmp eq i32 %t54, 38 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t51 + br i1 %t57, label %sc12, label %scend13 +sc12: + %t59 = load ptr, ptr %t10 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 + %t61 = load ptr, ptr %t60 + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str725) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t51 + br label %scend13 +scend13: + %t65 = load i32, ptr %t51 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t50 + br i1 %t66, label %sc14, label %scend15 +sc14: + %t68 = load ptr, ptr %t10 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 4 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 0 + %t72 = load i32, ptr %t71 + %t73 = icmp eq i32 %t72, 30 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t50 + br label %scend15 +scend15: + %t77 = load i32, ptr %t50 + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then16, label %ifend18 +then16: + store i32 0, ptr %retval + br label %ret +ifend18: + %t80 = load ptr, ptr %t10 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 35 + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + %t86 = zext i1 %t85 to i32 + store i32 %t86, ptr %t79 + br i1 %t85, label %sc19, label %scend20 +sc19: + %t87 = load ptr, ptr %t10 + %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 4 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 + %t91 = load i32, ptr %t90 + %t92 = icmp eq i32 %t91, 33 + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t79 + br label %scend20 +scend20: + %t96 = load i32, ptr %t79 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then21, label %ifend23 +then21: + %t98 = load ptr, ptr %t10 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = load ptr, ptr %t99 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 + %t102 = load ptr, ptr %t101 + %t103 = load ptr, ptr %t10 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 + %t105 = load ptr, ptr %t104 + %t106 = call i32 @fn_enum_ordinal(ptr %t102, ptr %t105) + %t107 = icmp sge i32 %t106, 0 + %t108 = zext i1 %t107 to i32 + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then24, label %ifend26 +then24: + store i32 0, ptr %retval + br label %ret +ifend26: + br label %ifend23 +ifend23: + store i32 1, ptr %retval + br label %ret +ret: + %t110 = load i32, ptr %retval + ret i32 %t110 +} + +define void @fn_emit_global_init_fn() { +entry: + %t1 = alloca ptr + %t4 = alloca ptr + %t6 = alloca i32 + %t20 = alloca ptr + %t21 = alloca i32 + %t39 = alloca ptr + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr @.str726, ptr @g_ret_ty + %t0 = call ptr @fn_buf_new() + store ptr %t0, ptr %t1 + %t2 = call ptr @fn_buf_new() + store ptr %t2, ptr @g_falloc + %t3 = load ptr, ptr @g_code + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t1 + store ptr %t5, ptr @g_code + store i32 0, ptr %t6 + br label %wcond0 +wcond0: + %t7 = load i32, ptr %t6 + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + %t10 = load i32, ptr %t9 + %t11 = icmp slt i32 %t7, %t10 + %t12 = zext i1 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %wbody1, label %wend2 +wbody1: + %t14 = load ptr, ptr @g_prog + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t6 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %t20 + %t22 = load ptr, ptr %t20 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 2 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t21 + br i1 %t27, label %sc3, label %scend4 +sc3: + %t29 = load ptr, ptr %t20 + %t30 = call i32 @fn_global_needs_init_code(ptr %t29) + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t21 + br label %scend4 +scend4: + %t33 = load i32, ptr %t21 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + %t35 = load ptr, ptr %t20 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @fn_emit_expr(ptr %t37) + store ptr %t38, ptr %t39 + call void @fn_emit(ptr @.str727) + %t40 = load ptr, ptr %t20 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @fn_llty(ptr %t42) + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str728) + %t44 = load ptr, ptr %t39 + %t45 = load ptr, ptr %t20 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @fn_coerce_code(ptr %t44, ptr %t47) + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str729) + %t49 = load ptr, ptr %t20 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + call void @fn_emit(ptr %t51) + call void @fn_emit(ptr @.str730) + br label %ifend7 +ifend7: + %t52 = load i32, ptr %t6 + %t53 = add i32 %t52, 1 + store i32 %t53, ptr %t6 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str731) + %t54 = load ptr, ptr %t4 + store ptr %t54, ptr @g_code + call void @fn_emit(ptr @.str732) + %t55 = load ptr, ptr @g_falloc + %t56 = call ptr @fn_buf_str(ptr %t55) + call void @fn_emit(ptr %t56) + %t57 = load ptr, ptr %t1 + %t58 = call ptr @fn_buf_str(ptr %t57) + call void @fn_emit(ptr %t58) + call void @fn_emit(ptr @.str733) + br label %ret +ret: + ret void } define void @fn_emit_header() { entry: %t6 = alloca i32 %t20 = alloca ptr - %t39 = alloca i32 - %t81 = alloca ptr - call void @fn_emith(ptr @.str599) - call void @fn_emith(ptr @.str600) - call void @fn_emith(ptr @.str601) - call void @fn_emith(ptr @.str602) - call void @fn_emith(ptr @.str603) - call void @fn_emith(ptr @.str604) - call void @fn_emith(ptr @.str605) - call void @fn_emith(ptr @.str606) - call void @fn_emith(ptr @.str607) - call void @fn_emith(ptr @.str608) - call void @fn_emith(ptr @.str609) - call void @fn_emith(ptr @.str610) - call void @fn_emith(ptr @.str611) - call void @fn_emith(ptr @.str612) - call void @fn_emith(ptr @.str613) - call void @fn_emith(ptr @.str614) - call void @fn_emith(ptr @.str615) - call void @fn_emith(ptr @.str616) - call void @fn_emith(ptr @.str617) - call void @fn_emith(ptr @.str618) - call void @fn_emith(ptr @.str619) - call void @fn_emith(ptr @.str620) - call void @fn_emith(ptr @.str621) - call void @fn_emith(ptr @.str622) - call void @fn_emith(ptr @.str623) - call void @fn_emith(ptr @.str624) - call void @fn_emith(ptr @.str625) - call void @fn_emith(ptr @.str626) - call void @fn_emith(ptr @.str627) - call void @fn_emith(ptr @.str628) - call void @fn_emith(ptr @.str629) - call void @fn_emith(ptr @.str630) - call void @fn_emith(ptr @.str631) - call void @fn_emith(ptr @.str632) - call void @fn_emith(ptr @.str633) - call void @fn_emith(ptr @.str634) - call void @fn_emith(ptr @.str635) - call void @fn_emith(ptr @.str636) - call void @fn_emith(ptr @.str637) - call void @fn_emith(ptr @.str638) - call void @fn_emith(ptr @.str639) - call void @fn_emith(ptr @.str640) - call void @fn_emith(ptr @.str641) - call void @fn_emith(ptr @.str642) - call void @fn_emith(ptr @.str643) - call void @fn_emith(ptr @.str644) - call void @fn_emith(ptr @.str645) - call void @fn_emith(ptr @.str646) - call void @fn_emith(ptr @.str647) - call void @fn_emith(ptr @.str648) - call void @fn_emith(ptr @.str649) - call void @fn_emith(ptr @.str650) - call void @fn_emith(ptr @.str651) - call void @fn_emith(ptr @.str652) - call void @fn_emith(ptr @.str653) - call void @fn_emith(ptr @.str654) - call void @fn_emith(ptr @.str655) - call void @fn_emith(ptr @.str656) - call void @fn_emith(ptr @.str657) + %t27 = alloca i32 + %t33 = alloca i32 + %t62 = alloca i32 + %t101 = alloca i32 + %t143 = alloca ptr + %t150 = alloca i32 + %t156 = alloca i32 + %t185 = alloca i32 + call void @fn_emith(ptr @.str734) + call void @fn_emith(ptr @.str735) + call void @fn_emith(ptr @.str736) + call void @fn_emith(ptr @.str737) + call void @fn_emith(ptr @.str738) + call void @fn_emith(ptr @.str739) + call void @fn_emith(ptr @.str740) + call void @fn_emith(ptr @.str741) + call void @fn_emith(ptr @.str742) + call void @fn_emith(ptr @.str743) + call void @fn_emith(ptr @.str744) + call void @fn_emith(ptr @.str745) + call void @fn_emith(ptr @.str746) + call void @fn_emith(ptr @.str747) + call void @fn_emith(ptr @.str748) + call void @fn_emith(ptr @.str749) + call void @fn_emith(ptr @.str750) + call void @fn_emith(ptr @.str751) + call void @fn_emith(ptr @.str752) + call void @fn_emith(ptr @.str753) + call void @fn_emith(ptr @.str754) + call void @fn_emith(ptr @.str755) + call void @fn_emith(ptr @.str756) + call void @fn_emith(ptr @.str757) + call void @fn_emith(ptr @.str758) + call void @fn_emith(ptr @.str759) + call void @fn_emith(ptr @.str760) + call void @fn_emith(ptr @.str761) + call void @fn_emith(ptr @.str762) + call void @fn_emith(ptr @.str763) + call void @fn_emith(ptr @.str764) + call void @fn_emith(ptr @.str765) + call void @fn_emith(ptr @.str766) + call void @fn_emith(ptr @.str767) + call void @fn_emith(ptr @.str768) + call void @fn_emith(ptr @.str769) + call void @fn_emith(ptr @.str770) + call void @fn_emith(ptr @.str771) + call void @fn_emith(ptr @.str772) + call void @fn_emith(ptr @.str773) + call void @fn_emith(ptr @.str774) + call void @fn_emith(ptr @.str775) + call void @fn_emith(ptr @.str776) + call void @fn_emith(ptr @.str777) + call void @fn_emith(ptr @.str778) + call void @fn_emith(ptr @.str779) + call void @fn_emith(ptr @.str780) + call void @fn_emith(ptr @.str781) + call void @fn_emith(ptr @.str782) + call void @fn_emith(ptr @.str783) + call void @fn_emith(ptr @.str784) + call void @fn_emith(ptr @.str785) + call void @fn_emith(ptr @.str786) + call void @fn_emith(ptr @.str787) + call void @fn_emith(ptr @.str788) + call void @fn_emith(ptr @.str789) + call void @fn_emith(ptr @.str790) + call void @fn_emith(ptr @.str791) + call void @fn_emith(ptr @.str792) %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 @.str658) + call void @fn_emith(ptr @.str793) %t5 = load ptr, ptr @g_g_game_name call void @fn_emith(ptr %t5) - call void @fn_emith(ptr @.str659) - call void @fn_emith(ptr @.str660) + call void @fn_emith(ptr @.str794) + call void @fn_emith(ptr @.str795) store i32 0, ptr %t6 br label %wcond0 wcond0: @@ -27040,123 +32103,301 @@ wbody1: %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: - %t27 = load ptr, ptr %t20 - %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 - %t29 = load ptr, ptr %t28 - %t30 = call ptr @fn_layout_ty(ptr %t29) - call void @fn_emith(ptr %t30) - call void @fn_emith(ptr @.str661) - %t31 = load ptr, ptr %t20 - %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 - %t33 = load ptr, ptr %t32 - %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 - %t35 = load i32, ptr %t34 - %t36 = icmp eq i32 %t35, 0 - %t37 = zext i1 %t36 to i32 - %t38 = icmp ne i32 %t37, 0 - br i1 %t38, label %then6, label %ifend8 -then6: - call void @fn_emith(ptr @.str662) - br label %ifend8 -ifend8: - store i32 0, ptr %t39 - br label %wcond9 -wcond9: - %t40 = load i32, ptr %t39 - %t41 = load ptr, ptr %t20 - %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 - %t43 = load ptr, ptr %t42 - %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 - %t45 = load i32, ptr %t44 - %t46 = icmp slt i32 %t40, %t45 - %t47 = zext i1 %t46 to i32 - %t48 = icmp ne i32 %t47, 0 - br i1 %t48, label %wbody10, label %wend11 -wbody10: - %t49 = load i32, ptr %t39 - %t50 = icmp sgt i32 %t49, 0 - %t51 = zext i1 %t50 to i32 - %t52 = icmp ne i32 %t51, 0 - br i1 %t52, label %then12, label %ifend14 -then12: - call void @fn_emith(ptr @.str663) - br label %ifend14 -ifend14: - %t53 = load ptr, ptr %t20 - %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 - %t55 = load ptr, ptr %t54 - %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 - %t57 = load ptr, ptr %t56 - %t58 = load i32, ptr %t39 - %t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58 - %t60 = load ptr, ptr %t59 - %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 3 - %t62 = load ptr, ptr %t61 - %t63 = call ptr @fn_llty(ptr %t62) - call void @fn_emith(ptr %t63) - %t64 = load i32, ptr %t39 - %t65 = add i32 %t64, 1 - store i32 %t65, ptr %t39 - br label %wcond9 -wend11: - call void @fn_emith(ptr @.str664) + store i32 0, ptr %t27 + br label %wcond6 +wcond6: + %t28 = load i32, ptr %t27 + %t29 = load i32, ptr %t6 + %t30 = icmp slt i32 %t28, %t29 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %wbody7, label %wend8 +wbody7: + %t34 = load ptr, ptr @g_prog + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t27 + %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 8 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t33 + br i1 %t44, label %sc9, label %scend10 +sc9: + %t46 = load ptr, ptr @g_prog + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = load i32, ptr %t27 + %t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 + %t53 = load ptr, ptr %t52 + %t54 = load ptr, ptr %t20 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 + %t56 = load ptr, ptr %t55 + %t57 = call i32 @fn_str_eq(ptr %t53, ptr %t56) + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t33 + br label %scend10 +scend10: + %t60 = load i32, ptr %t33 + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then11, label %ifend13 +then11: + %t63 = load i32, ptr %t27 + %t64 = load i32, ptr @g_g_prog_user_end + %t65 = icmp slt i32 %t63, %t64 + %t66 = zext i1 %t65 to i32 + %t67 = icmp ne i32 %t66, 0 + %t68 = zext i1 %t67 to i32 + store i32 %t68, ptr %t62 + br i1 %t67, label %sc14, label %scend15 +sc14: + %t69 = load i32, ptr %t6 + %t70 = load i32, ptr @g_g_prog_user_end + %t71 = icmp sge i32 %t69, %t70 + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t62 + br label %scend15 +scend15: + %t75 = load i32, ptr %t62 + %t76 = icmp ne i32 %t75, 0 + br i1 %t76, label %then16, label %ifend18 +then16: + %t77 = load ptr, ptr %t20 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 + %t79 = load ptr, ptr %t78 + %t80 = call ptr @fn_str_concat(ptr @.str796, ptr %t79) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str797) + call void @fn_perr(ptr %t81) + br label %ifend18 +ifend18: + %t82 = load ptr, ptr %t20 + %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 + %t84 = load ptr, ptr %t83 + %t85 = call ptr @fn_str_concat(ptr @.str798, ptr %t84) + %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str799) + call void @fn_perr(ptr %t86) + br label %ifend13 +ifend13: + %t87 = load i32, ptr %t27 + %t88 = add i32 %t87, 1 + store i32 %t88, ptr %t27 + br label %wcond6 +wend8: + %t89 = load ptr, ptr %t20 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_layout_ty(ptr %t91) + call void @fn_emith(ptr %t92) + call void @fn_emith(ptr @.str800) + %t93 = load ptr, ptr %t20 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 + %t97 = load i32, ptr %t96 + %t98 = icmp eq i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then19, label %ifend21 +then19: + call void @fn_emith(ptr @.str801) + br label %ifend21 +ifend21: + store i32 0, ptr %t101 + br label %wcond22 +wcond22: + %t102 = load i32, ptr %t101 + %t103 = load ptr, ptr %t20 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 + %t107 = load i32, ptr %t106 + %t108 = icmp slt i32 %t102, %t107 + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %wbody23, label %wend24 +wbody23: + %t111 = load i32, ptr %t101 + %t112 = icmp sgt i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then25, label %ifend27 +then25: + call void @fn_emith(ptr @.str802) + br label %ifend27 +ifend27: + %t115 = load ptr, ptr %t20 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 + %t119 = load ptr, ptr %t118 + %t120 = load i32, ptr %t101 + %t121 = getelementptr inbounds ptr, ptr %t119, i32 %t120 + %t122 = load ptr, ptr %t121 + %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @fn_llty(ptr %t124) + call void @fn_emith(ptr %t125) + %t126 = load i32, ptr %t101 + %t127 = add i32 %t126, 1 + store i32 %t127, ptr %t101 + br label %wcond22 +wend24: + call void @fn_emith(ptr @.str803) br label %ifend5 ifend5: - %t66 = load i32, ptr %t6 - %t67 = add i32 %t66, 1 - store i32 %t67, ptr %t6 + %t128 = load i32, ptr %t6 + %t129 = add i32 %t128, 1 + store i32 %t129, ptr %t6 br label %wcond0 wend2: store i32 0, ptr %t6 - br label %wcond15 -wcond15: - %t68 = load i32, ptr %t6 - %t69 = load ptr, ptr @g_prog - %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 - %t71 = load i32, ptr %t70 - %t72 = icmp slt i32 %t68, %t71 - %t73 = zext i1 %t72 to i32 - %t74 = icmp ne i32 %t73, 0 - br i1 %t74, label %wbody16, label %wend17 -wbody16: - %t75 = load ptr, ptr @g_prog - %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 - %t77 = load ptr, ptr %t76 - %t78 = load i32, ptr %t6 - %t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78 - %t80 = load ptr, ptr %t79 - store ptr %t80, ptr %t81 - %t82 = load ptr, ptr %t81 - %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0 - %t84 = load i32, ptr %t83 - %t85 = icmp eq i32 %t84, 2 - %t86 = zext i1 %t85 to i32 - %t87 = icmp ne i32 %t86, 0 - br i1 %t87, label %then18, label %ifend20 -then18: - call void @fn_emith(ptr @.str665) - %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 @.str666) - %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 @.str667) - %t95 = load ptr, ptr %t81 - %t96 = call ptr @fn_global_init(ptr %t95) - call void @fn_emith(ptr %t96) - call void @fn_emith(ptr @.str668) - br label %ifend20 -ifend20: - %t97 = load i32, ptr %t6 - %t98 = add i32 %t97, 1 - store i32 %t98, ptr %t6 - br label %wcond15 -wend17: + br label %wcond28 +wcond28: + %t130 = load i32, ptr %t6 + %t131 = load ptr, ptr @g_prog + %t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 + %t133 = load i32, ptr %t132 + %t134 = icmp slt i32 %t130, %t133 + %t135 = zext i1 %t134 to i32 + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %wbody29, label %wend30 +wbody29: + %t137 = load ptr, ptr @g_prog + %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 + %t139 = load ptr, ptr %t138 + %t140 = load i32, ptr %t6 + %t141 = getelementptr inbounds ptr, ptr %t139, i32 %t140 + %t142 = load ptr, ptr %t141 + store ptr %t142, ptr %t143 + %t144 = load ptr, ptr %t143 + %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 0 + %t146 = load i32, ptr %t145 + %t147 = icmp eq i32 %t146, 2 + %t148 = zext i1 %t147 to i32 + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then31, label %ifend33 +then31: + store i32 0, ptr %t150 + br label %wcond34 +wcond34: + %t151 = load i32, ptr %t150 + %t152 = load i32, ptr %t6 + %t153 = icmp slt i32 %t151, %t152 + %t154 = zext i1 %t153 to i32 + %t155 = icmp ne i32 %t154, 0 + br i1 %t155, label %wbody35, label %wend36 +wbody35: + %t157 = load ptr, ptr @g_prog + %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 + %t159 = load ptr, ptr %t158 + %t160 = load i32, ptr %t150 + %t161 = getelementptr inbounds ptr, ptr %t159, i32 %t160 + %t162 = load ptr, ptr %t161 + %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 0 + %t164 = load i32, ptr %t163 + %t165 = icmp eq i32 %t164, 2 + %t166 = zext i1 %t165 to i32 + %t167 = icmp ne i32 %t166, 0 + %t168 = zext i1 %t167 to i32 + store i32 %t168, ptr %t156 + br i1 %t167, label %sc37, label %scend38 +sc37: + %t169 = load ptr, ptr @g_prog + %t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 + %t171 = load ptr, ptr %t170 + %t172 = load i32, ptr %t150 + %t173 = getelementptr inbounds ptr, ptr %t171, i32 %t172 + %t174 = load ptr, ptr %t173 + %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 1 + %t176 = load ptr, ptr %t175 + %t177 = load ptr, ptr %t143 + %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 + %t179 = load ptr, ptr %t178 + %t180 = call i32 @fn_str_eq(ptr %t176, ptr %t179) + %t181 = icmp ne i32 %t180, 0 + %t182 = zext i1 %t181 to i32 + store i32 %t182, ptr %t156 + br label %scend38 +scend38: + %t183 = load i32, ptr %t156 + %t184 = icmp ne i32 %t183, 0 + br i1 %t184, label %then39, label %ifend41 +then39: + %t186 = load i32, ptr %t150 + %t187 = load i32, ptr @g_g_prog_user_end + %t188 = icmp slt i32 %t186, %t187 + %t189 = zext i1 %t188 to i32 + %t190 = icmp ne i32 %t189, 0 + %t191 = zext i1 %t190 to i32 + store i32 %t191, ptr %t185 + br i1 %t190, label %sc42, label %scend43 +sc42: + %t192 = load i32, ptr %t6 + %t193 = load i32, ptr @g_g_prog_user_end + %t194 = icmp sge i32 %t192, %t193 + %t195 = zext i1 %t194 to i32 + %t196 = icmp ne i32 %t195, 0 + %t197 = zext i1 %t196 to i32 + store i32 %t197, ptr %t185 + br label %scend43 +scend43: + %t198 = load i32, ptr %t185 + %t199 = icmp ne i32 %t198, 0 + br i1 %t199, label %then44, label %ifend46 +then44: + %t200 = load ptr, ptr %t143 + %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 + %t202 = load ptr, ptr %t201 + %t203 = call ptr @fn_str_concat(ptr @.str804, ptr %t202) + %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str805) + call void @fn_perr(ptr %t204) + br label %ifend46 +ifend46: + %t205 = load ptr, ptr %t143 + %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 1 + %t207 = load ptr, ptr %t206 + %t208 = call ptr @fn_str_concat(ptr @.str806, ptr %t207) + %t209 = call ptr @fn_str_concat(ptr %t208, ptr @.str807) + call void @fn_perr(ptr %t209) + br label %ifend41 +ifend41: + %t210 = load i32, ptr %t150 + %t211 = add i32 %t210, 1 + store i32 %t211, ptr %t150 + br label %wcond34 +wend36: + call void @fn_emith(ptr @.str808) + %t212 = load ptr, ptr %t143 + %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1 + %t214 = load ptr, ptr %t213 + call void @fn_emith(ptr %t214) + call void @fn_emith(ptr @.str809) + %t215 = load ptr, ptr %t143 + %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 3 + %t217 = load ptr, ptr %t216 + %t218 = call ptr @fn_llty(ptr %t217) + call void @fn_emith(ptr %t218) + call void @fn_emith(ptr @.str810) + %t219 = load ptr, ptr %t143 + %t220 = call ptr @fn_global_init(ptr %t219) + call void @fn_emith(ptr %t220) + call void @fn_emith(ptr @.str811) + br label %ifend33 +ifend33: + %t221 = load i32, ptr %t6 + %t222 = add i32 %t221, 1 + store i32 %t222, ptr %t6 + br label %wcond28 +wend30: br label %ret ret: ret void @@ -27194,20 +32435,20 @@ wbody1: %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: - call void @fn_emith(ptr @.str669) + call void @fn_emith(ptr @.str812) %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 @.str670) + call void @fn_emith(ptr @.str813) %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 @.str671) + call void @fn_emith(ptr @.str814) store i32 0, ptr %t30 br label %wcond6 wcond6: @@ -27228,7 +32469,7 @@ wbody7: %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: - call void @fn_emith(ptr @.str672) + call void @fn_emith(ptr @.str815) br label %ifend11 ifend11: %t44 = load ptr, ptr %t14 @@ -27248,7 +32489,7 @@ ifend11: store i32 %t56, ptr %t30 br label %wcond6 wend8: - call void @fn_emith(ptr @.str673) + call void @fn_emith(ptr @.str816) br label %ifend5 ifend5: %t57 = load i32, ptr %t0 @@ -27263,41 +32504,41 @@ ret: define void @fn_emit_str_prelude() { entry: - call void @fn_emith(ptr @.str674) - call void @fn_emith(ptr @.str675) - call void @fn_emith(ptr @.str676) - call void @fn_emith(ptr @.str677) - call void @fn_emith(ptr @.str678) - call void @fn_emith(ptr @.str679) - call void @fn_emith(ptr @.str680) - call void @fn_emith(ptr @.str681) - call void @fn_emith(ptr @.str682) - call void @fn_emith(ptr @.str683) - call void @fn_emith(ptr @.str684) - call void @fn_emith(ptr @.str685) - call void @fn_emith(ptr @.str686) - call void @fn_emith(ptr @.str687) - call void @fn_emith(ptr @.str688) - call void @fn_emith(ptr @.str689) - call void @fn_emith(ptr @.str690) - call void @fn_emith(ptr @.str691) - call void @fn_emith(ptr @.str692) - call void @fn_emith(ptr @.str693) - call void @fn_emith(ptr @.str694) - call void @fn_emith(ptr @.str695) - call void @fn_emith(ptr @.str696) - call void @fn_emith(ptr @.str697) - call void @fn_emith(ptr @.str698) - call void @fn_emith(ptr @.str699) - call void @fn_emith(ptr @.str700) - call void @fn_emith(ptr @.str701) - call void @fn_emith(ptr @.str702) - call void @fn_emith(ptr @.str703) - call void @fn_emith(ptr @.str704) - call void @fn_emith(ptr @.str705) - call void @fn_emith(ptr @.str706) - call void @fn_emith(ptr @.str707) - call void @fn_emith(ptr @.str708) + call void @fn_emith(ptr @.str817) + call void @fn_emith(ptr @.str818) + call void @fn_emith(ptr @.str819) + call void @fn_emith(ptr @.str820) + call void @fn_emith(ptr @.str821) + call void @fn_emith(ptr @.str822) + call void @fn_emith(ptr @.str823) + call void @fn_emith(ptr @.str824) + call void @fn_emith(ptr @.str825) + call void @fn_emith(ptr @.str826) + call void @fn_emith(ptr @.str827) + call void @fn_emith(ptr @.str828) + call void @fn_emith(ptr @.str829) + call void @fn_emith(ptr @.str830) + call void @fn_emith(ptr @.str831) + call void @fn_emith(ptr @.str832) + call void @fn_emith(ptr @.str833) + call void @fn_emith(ptr @.str834) + call void @fn_emith(ptr @.str835) + call void @fn_emith(ptr @.str836) + call void @fn_emith(ptr @.str837) + call void @fn_emith(ptr @.str838) + call void @fn_emith(ptr @.str839) + call void @fn_emith(ptr @.str840) + call void @fn_emith(ptr @.str841) + call void @fn_emith(ptr @.str842) + call void @fn_emith(ptr @.str843) + call void @fn_emith(ptr @.str844) + call void @fn_emith(ptr @.str845) + call void @fn_emith(ptr @.str846) + call void @fn_emith(ptr @.str847) + call void @fn_emith(ptr @.str848) + call void @fn_emith(ptr @.str849) + call void @fn_emith(ptr @.str850) + call void @fn_emith(ptr @.str851) br label %ret ret: ret void @@ -27305,23 +32546,23 @@ ret: define void @fn_emit_int_str() { entry: - call void @fn_emith(ptr @.str709) - call void @fn_emith(ptr @.str710) - call void @fn_emith(ptr @.str711) - call void @fn_emith(ptr @.str712) - call void @fn_emith(ptr @.str713) - call void @fn_emith(ptr @.str714) - call void @fn_emith(ptr @.str715) - call void @fn_emith(ptr @.str716) - call void @fn_emith(ptr @.str717) - call void @fn_emith(ptr @.str718) - call void @fn_emith(ptr @.str719) - call void @fn_emith(ptr @.str720) - call void @fn_emith(ptr @.str721) - call void @fn_emith(ptr @.str722) - call void @fn_emith(ptr @.str723) - call void @fn_emith(ptr @.str724) - call void @fn_emith(ptr @.str725) + call void @fn_emith(ptr @.str852) + call void @fn_emith(ptr @.str853) + call void @fn_emith(ptr @.str854) + call void @fn_emith(ptr @.str855) + call void @fn_emith(ptr @.str856) + call void @fn_emith(ptr @.str857) + call void @fn_emith(ptr @.str858) + call void @fn_emith(ptr @.str859) + call void @fn_emith(ptr @.str860) + call void @fn_emith(ptr @.str861) + call void @fn_emith(ptr @.str862) + call void @fn_emith(ptr @.str863) + call void @fn_emith(ptr @.str864) + call void @fn_emith(ptr @.str865) + call void @fn_emith(ptr @.str866) + call void @fn_emith(ptr @.str867) + call void @fn_emith(ptr @.str868) br label %ret ret: ret void @@ -27329,23 +32570,23 @@ ret: define void @fn_emit_long_str() { entry: - call void @fn_emith(ptr @.str726) - call void @fn_emith(ptr @.str727) - call void @fn_emith(ptr @.str728) - call void @fn_emith(ptr @.str729) - call void @fn_emith(ptr @.str730) - call void @fn_emith(ptr @.str731) - call void @fn_emith(ptr @.str732) - call void @fn_emith(ptr @.str733) - call void @fn_emith(ptr @.str734) - call void @fn_emith(ptr @.str735) - call void @fn_emith(ptr @.str736) - call void @fn_emith(ptr @.str737) - call void @fn_emith(ptr @.str738) - call void @fn_emith(ptr @.str739) - call void @fn_emith(ptr @.str740) - call void @fn_emith(ptr @.str741) - call void @fn_emith(ptr @.str742) + call void @fn_emith(ptr @.str869) + call void @fn_emith(ptr @.str870) + call void @fn_emith(ptr @.str871) + call void @fn_emith(ptr @.str872) + call void @fn_emith(ptr @.str873) + call void @fn_emith(ptr @.str874) + call void @fn_emith(ptr @.str875) + call void @fn_emith(ptr @.str876) + call void @fn_emith(ptr @.str877) + call void @fn_emith(ptr @.str878) + call void @fn_emith(ptr @.str879) + call void @fn_emith(ptr @.str880) + call void @fn_emith(ptr @.str881) + call void @fn_emith(ptr @.str882) + call void @fn_emith(ptr @.str883) + call void @fn_emith(ptr @.str884) + call void @fn_emith(ptr @.str885) br label %ret ret: ret void @@ -27353,14 +32594,14 @@ ret: define void @fn_emit_str_slice() { entry: - call void @fn_emith(ptr @.str743) - call void @fn_emith(ptr @.str744) - call void @fn_emith(ptr @.str745) - call void @fn_emith(ptr @.str746) - call void @fn_emith(ptr @.str747) - call void @fn_emith(ptr @.str748) - call void @fn_emith(ptr @.str749) - call void @fn_emith(ptr @.str750) + call void @fn_emith(ptr @.str886) + call void @fn_emith(ptr @.str887) + call void @fn_emith(ptr @.str888) + call void @fn_emith(ptr @.str889) + call void @fn_emith(ptr @.str890) + call void @fn_emith(ptr @.str891) + call void @fn_emith(ptr @.str892) + call void @fn_emith(ptr @.str893) br label %ret ret: ret void @@ -27394,7 +32635,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 @.str751, ptr %t17) + %t18 = call ptr @fn_str_concat(ptr @.str894, ptr %t17) call void @fn_perr(ptr %t18) br label %ifend2 ifend2: @@ -27413,7 +32654,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 @.str752, ptr %t31) + %t32 = call ptr @fn_str_concat(ptr @.str895, ptr %t31) call void @fn_perr(ptr %t32) br label %ifend5 ifend5: @@ -27425,25 +32666,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 @.str753) + call void @fn_emit(ptr @.str896) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str754) + call void @fn_emit(ptr @.str897) %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 @.str755) + call void @fn_emit(ptr @.str898) %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 @.str756) + call void @fn_emit(ptr @.str899) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str757) + call void @fn_emit(ptr @.str900) %t50 = load ptr, ptr %t39 store ptr %t50, ptr %retval br label %ret @@ -27490,22 +32731,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 @.str758) + %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str901) %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 @.str759, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str760) + %t26 = call ptr @fn_str_concat(ptr @.str902, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str903) %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 @.str761, ptr @g_g_addr_ty + store ptr @.str904, ptr @g_g_addr_ty %t34 = load ptr, ptr %t33 store ptr %t34, ptr %retval br label %ret @@ -27513,22 +32754,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 @.str762) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str905) %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 @.str763, ptr %t42) - %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str764) + %t43 = call ptr @fn_str_concat(ptr @.str906, ptr %t42) + %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str907) %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 @.str765, ptr @g_g_addr_ty + store ptr @.str908, ptr @g_g_addr_ty %t51 = load ptr, ptr %t50 store ptr %t51, ptr %retval br label %ret @@ -27536,22 +32777,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 @.str766) + %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str909) %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 @.str767, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str768) + %t60 = call ptr @fn_str_concat(ptr @.str910, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str911) %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 @.str769, ptr @g_g_addr_ty + store ptr @.str912, ptr @g_g_addr_ty %t68 = load ptr, ptr %t67 store ptr %t68, ptr %retval br label %ret @@ -27559,15 +32800,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 @.str770, ptr %t71) - %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str771) + %t72 = call ptr @fn_str_concat(ptr @.str913, ptr %t71) + %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str914) %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 @.str772, ptr @g_g_addr_ty + store ptr @.str915, ptr @g_g_addr_ty %t80 = load ptr, ptr %t79 store ptr %t80, ptr %retval br label %ret @@ -27579,24 +32820,24 @@ ifend2: store ptr %t84, ptr %t85 %t86 = call ptr @fn_nreg() store ptr %t86, ptr %t87 - call void @fn_emit(ptr @.str773) + call void @fn_emit(ptr @.str916) %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str774) + call void @fn_emit(ptr @.str917) %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 @.str775) + call void @fn_emit(ptr @.str918) %t92 = call ptr @fn_nreg() store ptr %t92, ptr %t93 - call void @fn_emit(ptr @.str776) + call void @fn_emit(ptr @.str919) %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str777) + call void @fn_emit(ptr @.str920) %t95 = load ptr, ptr %t87 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str778) + call void @fn_emit(ptr @.str921) %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 5 %t98 = load ptr, ptr %t97 @@ -27604,22 +32845,22 @@ ifend2: store ptr %t99, ptr %t100 %t101 = call ptr @fn_nreg() store ptr %t101, ptr %t102 - call void @fn_emit(ptr @.str779) + call void @fn_emit(ptr @.str922) %t103 = load ptr, ptr %t102 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str780) + call void @fn_emit(ptr @.str923) %t104 = load ptr, ptr %t85 %t105 = call ptr @fn_llty(ptr %t104) call void @fn_emit(ptr %t105) - call void @fn_emit(ptr @.str781) + call void @fn_emit(ptr @.str924) %t106 = load ptr, ptr %t93 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str782) + call void @fn_emit(ptr @.str925) %t107 = load ptr, ptr %t100 %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str783) + call void @fn_emit(ptr @.str926) %t110 = load ptr, ptr %t85 store ptr %t110, ptr @g_g_addr_ty %t111 = load ptr, ptr %t102 @@ -27644,7 +32885,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 @.str784) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str927) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -27652,14 +32893,14 @@ then0: br label %ret ifend2: %t6 = load ptr, ptr %t0 - %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str785) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str928) %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 @.str786) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str929) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 @@ -27672,7 +32913,7 @@ scend4: br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t0 - %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str787) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str930) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 @@ -27686,14 +32927,14 @@ then7: br label %ret ifend9: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str788) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str931) %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 @.str789) + %t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str932) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t24 @@ -27706,7 +32947,7 @@ scend11: br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str790) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str933) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t23 @@ -27720,14 +32961,14 @@ then14: br label %ret ifend16: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str791) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str934) %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 @.str792) + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str935) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t43 @@ -27740,7 +32981,7 @@ scend18: br i1 %t53, label %scend20, label %sc19 sc19: %t55 = load ptr, ptr %t0 - %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str793) + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str936) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t42 @@ -27754,14 +32995,14 @@ then21: br label %ret ifend23: %t62 = load ptr, ptr %t0 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str794) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str937) %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 @.str795) + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str938) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t61 @@ -27775,14 +33016,14 @@ then26: br label %ret ifend28: %t73 = load ptr, ptr %t0 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str796) + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str939) %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 @.str797) + %t78 = call i32 @fn_str_eq(ptr %t77, ptr @.str940) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t72 @@ -27796,7 +33037,7 @@ then31: br label %ret ifend33: %t83 = load ptr, ptr %t0 - %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str798) + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str941) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then34, label %ifend36 then34: @@ -27818,13 +33059,13 @@ entry: store ptr %arg_rest, ptr %t0 %t1 = call ptr @fn_nreg() store ptr %t1, ptr %t2 - call void @fn_emit(ptr @.str799) + call void @fn_emit(ptr @.str942) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str800) + call void @fn_emit(ptr @.str943) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str801) + call void @fn_emit(ptr @.str944) %t5 = load ptr, ptr %t2 store ptr %t5, ptr %retval br label %ret @@ -27896,7 +33137,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 @.str802) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str945) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -27907,23 +33148,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 @.str803, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str804) + %t12 = call ptr @fn_str_concat(ptr @.str946, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str947) %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 @.str805, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str806) + %t17 = call ptr @fn_str_concat(ptr @.str948, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str949) %t19 = load ptr, ptr %t15 %t20 = call ptr @fn_str_concat(ptr %t18, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str807) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str950) %t22 = call ptr @fn_emit_bind(ptr %t21) - %t23 = call ptr @fn_val(ptr %t22, ptr @.str808) + %t23 = call ptr @fn_val(ptr %t22, ptr @.str951) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 - %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str809) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str952) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: @@ -27934,25 +33175,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 @.str810, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str811) + %t34 = call ptr @fn_str_concat(ptr @.str953, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str954) %t36 = load ptr, ptr %t32 %t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36) - %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str812) + %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str955) %t39 = call ptr @fn_emit_bind(ptr %t38) - %t40 = call ptr @fn_val(ptr %t39, ptr @.str813) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str956) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str814) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str957) %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 @.str815) + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str958) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 @@ -27972,43 +33213,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 @.str816, ptr %t61) - %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str817) + %t62 = call ptr @fn_str_concat(ptr @.str959, ptr %t61) + %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str960) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 - store ptr @.str818, ptr %t66 + store ptr @.str961, ptr %t66 %t67 = load ptr, ptr %t0 - %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str819) + %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str962) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: - store ptr @.str820, ptr %t66 + store ptr @.str963, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 - %t71 = call ptr @fn_str_concat(ptr @.str821, ptr %t70) - %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str822) + %t71 = call ptr @fn_str_concat(ptr @.str964, ptr %t70) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str965) %t73 = load ptr, ptr %t57 %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str823) + %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str966) %t76 = load ptr, ptr %t65 %t77 = call ptr @fn_str_concat(ptr %t75, ptr %t76) - %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str824) + %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str967) %t79 = load ptr, ptr %t54 %t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str825) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str968) %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 @.str826, ptr %t84) - %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str827) + %t85 = call ptr @fn_str_concat(ptr @.str969, ptr %t84) + %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str970) %t87 = call ptr @fn_emit_bind(ptr %t86) - %t88 = call ptr @fn_val(ptr %t87, ptr @.str828) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str971) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 - %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str829) + %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str972) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then14, label %ifend16 then14: @@ -28022,26 +33263,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 @.str830, ptr %t101) - %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str831) + %t102 = call ptr @fn_str_concat(ptr @.str973, ptr %t101) + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str974) %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 @.str832, ptr %t106) - %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str833) + %t107 = call ptr @fn_str_concat(ptr @.str975, ptr %t106) + %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str976) %t109 = load ptr, ptr %t105 %t110 = call ptr @fn_str_concat(ptr %t108, ptr %t109) - %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str834) + %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str977) %t112 = load ptr, ptr %t100 %t113 = call ptr @fn_str_concat(ptr %t111, ptr %t112) - %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str835) + %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str978) %t115 = call ptr @fn_emit_bind(ptr %t114) - %t116 = call ptr @fn_val(ptr %t115, ptr @.str836) + %t116 = call ptr @fn_val(ptr %t115, ptr @.str979) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 - %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str837) + %t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str980) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then17, label %ifend19 then17: @@ -28049,36 +33290,36 @@ then17: %t121 = call ptr @fn_arg_code(ptr %t120, i32 0) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 - %t124 = call ptr @fn_str_concat(ptr @.str838, ptr %t123) - %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str839) + %t124 = call ptr @fn_str_concat(ptr @.str981, ptr %t123) + %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str982) %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 @.str840, ptr %t128) - %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str841) + %t129 = call ptr @fn_str_concat(ptr @.str983, ptr %t128) + %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str984) %t131 = call ptr @fn_emit_bind(ptr %t130) - %t132 = call ptr @fn_val(ptr %t131, ptr @.str842) + %t132 = call ptr @fn_val(ptr %t131, ptr @.str985) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 - %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str843) + %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str986) %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 @.str844) + call void @fn_emit(ptr @.str987) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str845) - %t140 = call ptr @fn_val(ptr @.str846, ptr @.str847) + call void @fn_emit(ptr @.str988) + %t140 = call ptr @fn_val(ptr @.str989, ptr @.str990) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 - %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str848) + %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str991) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then23, label %ifend25 then23: @@ -28086,88 +33327,88 @@ then23: %t144 = load ptr, ptr %t1 %t145 = call ptr @fn_arg_code(ptr %t144, i32 0) store ptr %t145, ptr %t146 - call void @fn_emit(ptr @.str849) + call void @fn_emit(ptr @.str992) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str850) - %t148 = call ptr @fn_val(ptr @.str851, ptr @.str852) + call void @fn_emit(ptr @.str993) + %t148 = call ptr @fn_val(ptr @.str994, ptr @.str995) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 - %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str853) + %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str996) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: - %t152 = call ptr @fn_emit_bind(ptr @.str854) - %t153 = call ptr @fn_val(ptr %t152, ptr @.str855) + %t152 = call ptr @fn_emit_bind(ptr @.str997) + %t153 = call ptr @fn_val(ptr %t152, ptr @.str998) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 - %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str856) + %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str999) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then29, label %ifend31 then29: %t157 = load ptr, ptr %t1 %t158 = call ptr @fn_arg_code(ptr %t157, i32 0) store ptr %t158, ptr %t159 - %t160 = call ptr @fn_emit_bind(ptr @.str857) + %t160 = call ptr @fn_emit_bind(ptr @.str1000) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 - %t163 = call ptr @fn_str_concat(ptr @.str858, ptr %t162) - %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str859) + %t163 = call ptr @fn_str_concat(ptr @.str1001, ptr %t162) + %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str1002) %t165 = load ptr, ptr %t159 %t166 = call ptr @fn_str_concat(ptr %t164, ptr %t165) %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t168 - %t170 = call ptr @fn_str_concat(ptr @.str860, ptr %t169) + %t170 = call ptr @fn_str_concat(ptr @.str1003, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) - %t172 = call ptr @fn_val(ptr %t171, ptr @.str861) + %t172 = call ptr @fn_val(ptr %t171, ptr @.str1004) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 - %t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str862) + %t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str1005) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then32, label %ifend34 then32: %t176 = load ptr, ptr %t1 %t177 = call ptr @fn_arg_code(ptr %t176, i32 0) store ptr %t177, ptr %t178 - call void @fn_emit(ptr @.str863) + call void @fn_emit(ptr @.str1006) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) - call void @fn_emit(ptr @.str864) - call void @fn_emit(ptr @.str865) + call void @fn_emit(ptr @.str1007) + call void @fn_emit(ptr @.str1008) store i32 1, ptr @g_g_term - %t180 = call ptr @fn_val(ptr @.str866, ptr @.str867) + %t180 = call ptr @fn_val(ptr @.str1009, ptr @.str1010) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 - %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str868) + %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str1011) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then35, label %ifend37 then35: - %t184 = call ptr @fn_emit_bind(ptr @.str869) - %t185 = call ptr @fn_val(ptr %t184, ptr @.str870) + %t184 = call ptr @fn_emit_bind(ptr @.str1012) + %t185 = call ptr @fn_val(ptr %t184, ptr @.str1013) store ptr %t185, ptr %retval br label %ret ifend37: %t186 = load ptr, ptr %t0 - %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str871) + %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str1014) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then38, label %ifend40 then38: - %t189 = call ptr @fn_emit_bind(ptr @.str872) - %t190 = call ptr @fn_val(ptr %t189, ptr @.str873) + %t189 = call ptr @fn_emit_bind(ptr @.str1015) + %t190 = call ptr @fn_val(ptr %t189, ptr @.str1016) store ptr %t190, ptr %retval br label %ret ifend40: %t191 = load ptr, ptr %t0 - %t192 = call i32 @fn_str_eq(ptr %t191, ptr @.str874) + %t192 = call i32 @fn_str_eq(ptr %t191, ptr @.str1017) %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then41, label %ifend43 then41: @@ -28175,15 +33416,15 @@ then41: %t195 = call ptr @fn_arg_code(ptr %t194, i32 0) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t196 - %t198 = call ptr @fn_str_concat(ptr @.str875, ptr %t197) - %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str876) + %t198 = call ptr @fn_str_concat(ptr @.str1018, ptr %t197) + %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str1019) %t200 = call ptr @fn_emit_bind(ptr %t199) - %t201 = call ptr @fn_val(ptr %t200, ptr @.str877) + %t201 = call ptr @fn_val(ptr %t200, ptr @.str1020) store ptr %t201, ptr %retval br label %ret ifend43: %t202 = load ptr, ptr %t0 - %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str878) + %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str1021) %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then44, label %ifend46 then44: @@ -28191,15 +33432,15 @@ then44: %t206 = call ptr @fn_arg_code(ptr %t205, i32 0) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t207 - %t209 = call ptr @fn_str_concat(ptr @.str879, ptr %t208) - %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str880) + %t209 = call ptr @fn_str_concat(ptr @.str1022, ptr %t208) + %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str1023) %t211 = call ptr @fn_emit_bind(ptr %t210) - %t212 = call ptr @fn_val(ptr %t211, ptr @.str881) + %t212 = call ptr @fn_val(ptr %t211, ptr @.str1024) store ptr %t212, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok - %t213 = call ptr @fn_val(ptr @.str882, ptr @.str883) + %t213 = call ptr @fn_val(ptr @.str1025, ptr @.str1026) store ptr %t213, ptr %retval br label %ret ret: @@ -28233,14 +33474,14 @@ entry: %t185 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str884) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1027) %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 @.str885) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1028) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 @@ -28254,14 +33495,14 @@ then2: br label %ret ifend4: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str886) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str1029) %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 @.str887) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str1030) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 @@ -28275,14 +33516,14 @@ then7: br label %ret ifend9: %t24 = load ptr, ptr %t0 - %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str888) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str1031) %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 @.str889) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str1032) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t23 @@ -28296,14 +33537,14 @@ then12: br label %ret ifend14: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str890) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1033) %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 @.str891) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str1034) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t34 @@ -28317,14 +33558,14 @@ then17: br label %ret ifend19: %t47 = load ptr, ptr %t0 - %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str892) + %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1035) %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 @.str893) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str1036) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 @@ -28337,7 +33578,7 @@ scend21: br i1 %t56, label %scend23, label %sc22 sc22: %t58 = load ptr, ptr %t0 - %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str894) + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str1037) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t45 @@ -28351,14 +33592,14 @@ then24: br label %ret ifend26: %t65 = load ptr, ptr %t0 - %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str895) + %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str1038) %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 @.str896) + %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1039) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t64 @@ -28372,14 +33613,14 @@ then29: br label %ret ifend31: %t76 = load ptr, ptr %t0 - %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str897) + %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1040) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t75 br i1 %t78, label %scend33, label %sc32 sc32: %t80 = load ptr, ptr %t0 - %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str898) + %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str1041) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t75 @@ -28393,14 +33634,14 @@ then34: br label %ret ifend36: %t87 = load ptr, ptr %t0 - %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str899) + %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str1042) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t86 br i1 %t89, label %scend38, label %sc37 sc37: %t91 = load ptr, ptr %t0 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str900) + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str1043) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t86 @@ -28414,7 +33655,7 @@ then39: br label %ret ifend41: %t97 = load ptr, ptr %t0 - %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str901) + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1044) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then42, label %ifend44 then42: @@ -28422,14 +33663,14 @@ then42: br label %ret ifend44: %t102 = load ptr, ptr %t0 - %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str902) + %t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str1045) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t101 br i1 %t104, label %scend46, label %sc45 sc45: %t106 = load ptr, ptr %t0 - %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str903) + %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str1046) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t101 @@ -28442,7 +33683,7 @@ scend46: br i1 %t111, label %scend48, label %sc47 sc47: %t113 = load ptr, ptr %t0 - %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str904) + %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1047) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t100 @@ -28456,14 +33697,14 @@ then49: br label %ret ifend51: %t121 = load ptr, ptr %t0 - %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str905) + %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str1048) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t120 br i1 %t123, label %scend53, label %sc52 sc52: %t125 = load ptr, ptr %t0 - %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str906) + %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str1049) %t127 = icmp ne i32 %t126, 0 %t128 = zext i1 %t127 to i32 store i32 %t128, ptr %t120 @@ -28476,7 +33717,7 @@ scend53: br i1 %t130, label %scend55, label %sc54 sc54: %t132 = load ptr, ptr %t0 - %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str907) + %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str1050) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t119 @@ -28490,14 +33731,14 @@ then56: br label %ret ifend58: %t140 = load ptr, ptr %t0 - %t141 = call i32 @fn_str_eq(ptr %t140, ptr @.str908) + %t141 = call i32 @fn_str_eq(ptr %t140, ptr @.str1051) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t139 br i1 %t142, label %scend60, label %sc59 sc59: %t144 = load ptr, ptr %t0 - %t145 = call i32 @fn_str_eq(ptr %t144, ptr @.str909) + %t145 = call i32 @fn_str_eq(ptr %t144, ptr @.str1052) %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t139 @@ -28510,7 +33751,7 @@ scend60: br i1 %t149, label %scend62, label %sc61 sc61: %t151 = load ptr, ptr %t0 - %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str910) + %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str1053) %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t138 @@ -28524,14 +33765,14 @@ then63: br label %ret ifend65: %t160 = load ptr, ptr %t0 - %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str911) + %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str1054) %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t159 br i1 %t162, label %scend67, label %sc66 sc66: %t164 = load ptr, ptr %t0 - %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str912) + %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str1055) %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t159 @@ -28544,7 +33785,7 @@ scend67: br i1 %t169, label %scend69, label %sc68 sc68: %t171 = load ptr, ptr %t0 - %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str913) + %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str1056) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t158 @@ -28557,7 +33798,7 @@ scend69: br i1 %t176, label %scend71, label %sc70 sc70: %t178 = load ptr, ptr %t0 - %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str914) + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str1057) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t157 @@ -28571,14 +33812,14 @@ then72: br label %ret ifend74: %t186 = load ptr, ptr %t0 - %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str915) + %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str1058) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t185 br i1 %t188, label %scend76, label %sc75 sc75: %t190 = load ptr, ptr %t0 - %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str916) + %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str1059) %t192 = icmp ne i32 %t191, 0 %t193 = zext i1 %t192 to i32 store i32 %t193, ptr %t185 @@ -28591,7 +33832,7 @@ scend76: br i1 %t195, label %scend78, label %sc77 sc77: %t197 = load ptr, ptr %t0 - %t198 = call i32 @fn_str_eq(ptr %t197, ptr @.str917) + %t198 = call i32 @fn_str_eq(ptr %t197, ptr @.str1060) %t199 = icmp ne i32 %t198, 0 %t200 = zext i1 %t199 to i32 store i32 %t200, ptr %t184 @@ -28669,23 +33910,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 @.str918) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1061) %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 @.str919) + call void @fn_emit(ptr @.str1062) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str920) - %t9 = call ptr @fn_val(ptr @.str921, ptr @.str922) + call void @fn_emit(ptr @.str1063) + %t9 = call ptr @fn_val(ptr @.str1064, ptr @.str1065) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str923) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str1066) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: @@ -28699,26 +33940,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 @.str924, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str925) + %t23 = call ptr @fn_str_concat(ptr @.str1067, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str1068) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - call void @fn_emit(ptr @.str926) + call void @fn_emit(ptr @.str1069) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str927) + call void @fn_emit(ptr @.str1070) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str928) + call void @fn_emit(ptr @.str1071) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str929) - %t30 = call ptr @fn_val(ptr @.str930, ptr @.str931) + call void @fn_emit(ptr @.str1072) + %t30 = call ptr @fn_val(ptr @.str1073, ptr @.str1074) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str932) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1075) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: @@ -28730,33 +33971,33 @@ then6: store ptr %t38, ptr %t39 %t40 = call ptr @fn_nreg() store ptr %t40, ptr %t41 - call void @fn_emit(ptr @.str933) + call void @fn_emit(ptr @.str1076) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str934) + call void @fn_emit(ptr @.str1077) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str935) + call void @fn_emit(ptr @.str1078) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str936) + call void @fn_emit(ptr @.str1079) %t45 = load ptr, ptr %t41 - %t46 = call ptr @fn_val(ptr %t45, ptr @.str937) + %t46 = call ptr @fn_val(ptr %t45, ptr @.str1080) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 - %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str938) + %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1081) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: - %t50 = call ptr @fn_emit_bind(ptr @.str939) - %t51 = call ptr @fn_val(ptr %t50, ptr @.str940) + %t50 = call ptr @fn_emit_bind(ptr @.str1082) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str1083) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str941) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1084) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: @@ -28772,12 +34013,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 @.str942) + %t67 = call ptr @fn_val(ptr %t66, ptr @.str1085) store ptr %t67, ptr %retval br label %ret ifend14: %t68 = load ptr, ptr %t0 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str943) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1086) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then15, label %ifend17 then15: @@ -28793,12 +34034,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 @.str944) + %t83 = call ptr @fn_val(ptr %t82, ptr @.str1087) store ptr %t83, ptr %retval br label %ret ifend17: %t84 = load ptr, ptr %t0 - %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str945) + %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str1088) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then18, label %ifend20 then18: @@ -28806,45 +34047,45 @@ then18: %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then21, label %ifend23 then21: - %t89 = call ptr @fn_val(ptr @.str946, ptr @.str947) + %t89 = call ptr @fn_val(ptr @.str1089, ptr @.str1090) store ptr %t89, ptr %retval br label %ret ifend23: - %t90 = call ptr @fn_val(ptr @.str948, ptr @.str949) + %t90 = call ptr @fn_val(ptr @.str1091, ptr @.str1092) store ptr %t90, ptr %retval br label %ret ifend20: %t91 = load ptr, ptr %t0 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str950) + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str1093) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: - %t94 = call ptr @fn_val(ptr @.str951, ptr @.str952) + %t94 = call ptr @fn_val(ptr @.str1094, ptr @.str1095) store ptr %t94, ptr %retval br label %ret ifend26: %t95 = load ptr, ptr %t0 - %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str953) + %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str1096) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then27, label %ifend29 then27: - %t98 = call ptr @fn_emit_bind(ptr @.str954) - %t99 = call ptr @fn_val(ptr %t98, ptr @.str955) + %t98 = call ptr @fn_emit_bind(ptr @.str1097) + %t99 = call ptr @fn_val(ptr %t98, ptr @.str1098) store ptr %t99, ptr %retval br label %ret ifend29: %t100 = load ptr, ptr %t0 - %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str956) + %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str1099) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then30, label %ifend32 then30: - %t103 = call ptr @fn_emit_bind(ptr @.str957) - %t104 = call ptr @fn_val(ptr %t103, ptr @.str958) + %t103 = call ptr @fn_emit_bind(ptr @.str1100) + %t104 = call ptr @fn_val(ptr %t103, ptr @.str1101) store ptr %t104, ptr %retval br label %ret ifend32: %t105 = load ptr, ptr %t0 - %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str959) + %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str1102) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then33, label %ifend35 then33: @@ -28860,25 +34101,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 @.str960) + call void @fn_emit(ptr @.str1103) %t120 = load ptr, ptr %t110 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str961) + call void @fn_emit(ptr @.str1104) %t121 = load ptr, ptr %t113 call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str962) + call void @fn_emit(ptr @.str1105) %t122 = load ptr, ptr %t116 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str963) + call void @fn_emit(ptr @.str1106) %t123 = load ptr, ptr %t119 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str964) - %t124 = call ptr @fn_val(ptr @.str965, ptr @.str966) + call void @fn_emit(ptr @.str1107) + %t124 = call ptr @fn_val(ptr @.str1108, ptr @.str1109) store ptr %t124, ptr %retval br label %ret ifend35: %t125 = load ptr, ptr %t0 - %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str967) + %t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str1110) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then36, label %ifend38 then36: @@ -28891,112 +34132,112 @@ then36: %t134 = load ptr, ptr %t1 %t135 = call ptr @fn_arg_code(ptr %t134, i32 2) store ptr %t135, ptr %t136 - call void @fn_emit(ptr @.str968) + call void @fn_emit(ptr @.str1111) %t137 = load ptr, ptr %t130 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str969) + call void @fn_emit(ptr @.str1112) %t138 = load ptr, ptr %t133 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str970) + call void @fn_emit(ptr @.str1113) %t139 = load ptr, ptr %t136 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str971) - %t140 = call ptr @fn_val(ptr @.str972, ptr @.str973) + call void @fn_emit(ptr @.str1114) + %t140 = call ptr @fn_val(ptr @.str1115, ptr @.str1116) store ptr %t140, ptr %retval br label %ret ifend38: %t141 = load ptr, ptr %t0 - %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str974) + %t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str1117) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then39, label %ifend41 then39: - call void @fn_emit(ptr @.str975) - %t144 = call ptr @fn_val(ptr @.str976, ptr @.str977) + call void @fn_emit(ptr @.str1118) + %t144 = call ptr @fn_val(ptr @.str1119, ptr @.str1120) store ptr %t144, ptr %retval br label %ret ifend41: %t145 = load ptr, ptr %t0 - %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str978) + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str1121) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then42, label %ifend44 then42: %t148 = load ptr, ptr %t1 %t149 = call ptr @fn_arg_code(ptr %t148, i32 0) store ptr %t149, ptr %t150 - call void @fn_emit(ptr @.str979) + call void @fn_emit(ptr @.str1122) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str980) - %t152 = call ptr @fn_val(ptr @.str981, ptr @.str982) + call void @fn_emit(ptr @.str1123) + %t152 = call ptr @fn_val(ptr @.str1124, ptr @.str1125) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 - %t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str983) + %t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str1126) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then45, label %ifend47 then45: %t156 = load ptr, ptr %t1 %t157 = call ptr @fn_arg_code(ptr %t156, i32 0) store ptr %t157, ptr %t158 - call void @fn_emit(ptr @.str984) + call void @fn_emit(ptr @.str1127) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) - call void @fn_emit(ptr @.str985) - %t160 = call ptr @fn_val(ptr @.str986, ptr @.str987) + call void @fn_emit(ptr @.str1128) + %t160 = call ptr @fn_val(ptr @.str1129, ptr @.str1130) store ptr %t160, ptr %retval br label %ret ifend47: %t161 = load ptr, ptr %t0 - %t162 = call i32 @fn_str_eq(ptr %t161, ptr @.str988) + %t162 = call i32 @fn_str_eq(ptr %t161, ptr @.str1131) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then48, label %ifend50 then48: %t164 = load ptr, ptr %t1 %t165 = call ptr @fn_arg_code(ptr %t164, i32 0) store ptr %t165, ptr %t166 - call void @fn_emit(ptr @.str989) + call void @fn_emit(ptr @.str1132) %t167 = load ptr, ptr %t166 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str990) - %t168 = call ptr @fn_val(ptr @.str991, ptr @.str992) + call void @fn_emit(ptr @.str1133) + %t168 = call ptr @fn_val(ptr @.str1134, ptr @.str1135) store ptr %t168, ptr %retval br label %ret ifend50: %t169 = load ptr, ptr %t0 - %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str993) + %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str1136) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then51, label %ifend53 then51: %t172 = load ptr, ptr %t1 %t173 = call ptr @fn_arg_code(ptr %t172, i32 0) store ptr %t173, ptr %t174 - call void @fn_emit(ptr @.str994) + call void @fn_emit(ptr @.str1137) %t175 = load ptr, ptr %t174 call void @fn_emit(ptr %t175) - call void @fn_emit(ptr @.str995) - %t176 = call ptr @fn_val(ptr @.str996, ptr @.str997) + call void @fn_emit(ptr @.str1138) + %t176 = call ptr @fn_val(ptr @.str1139, ptr @.str1140) store ptr %t176, ptr %retval br label %ret ifend53: %t177 = load ptr, ptr %t0 - %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str998) + %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str1141) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then54, label %ifend56 then54: %t180 = load ptr, ptr %t1 %t181 = call ptr @fn_arg_code(ptr %t180, i32 0) store ptr %t181, ptr %t182 - call void @fn_emit(ptr @.str999) + call void @fn_emit(ptr @.str1142) %t183 = load ptr, ptr %t182 call void @fn_emit(ptr %t183) - call void @fn_emit(ptr @.str1000) - %t184 = call ptr @fn_val(ptr @.str1001, ptr @.str1002) + call void @fn_emit(ptr @.str1143) + %t184 = call ptr @fn_val(ptr @.str1144, ptr @.str1145) store ptr %t184, ptr %retval br label %ret ifend56: %t185 = load ptr, ptr %t0 - %t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str1003) + %t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str1146) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then57, label %ifend59 then57: @@ -29004,15 +34245,15 @@ then57: %t189 = call ptr @fn_arg_code(ptr %t188, i32 0) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 - %t192 = call ptr @fn_str_concat(ptr @.str1004, ptr %t191) - %t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str1005) + %t192 = call ptr @fn_str_concat(ptr @.str1147, ptr %t191) + %t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str1148) %t194 = call ptr @fn_emit_bind(ptr %t193) - %t195 = call ptr @fn_val(ptr %t194, ptr @.str1006) + %t195 = call ptr @fn_val(ptr %t194, ptr @.str1149) store ptr %t195, ptr %retval br label %ret ifend59: %t196 = load ptr, ptr %t0 - %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str1007) + %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str1150) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then60, label %ifend62 then60: @@ -29028,41 +34269,41 @@ then60: %t208 = load ptr, ptr %t1 %t209 = call ptr @fn_arg_code(ptr %t208, i32 3) store ptr %t209, ptr %t210 - call void @fn_emit(ptr @.str1008) + call void @fn_emit(ptr @.str1151) %t211 = load ptr, ptr %t201 call void @fn_emit(ptr %t211) - call void @fn_emit(ptr @.str1009) + call void @fn_emit(ptr @.str1152) %t212 = load ptr, ptr %t204 call void @fn_emit(ptr %t212) - call void @fn_emit(ptr @.str1010) + call void @fn_emit(ptr @.str1153) %t213 = load ptr, ptr %t207 call void @fn_emit(ptr %t213) - call void @fn_emit(ptr @.str1011) + call void @fn_emit(ptr @.str1154) %t214 = load ptr, ptr %t210 call void @fn_emit(ptr %t214) - call void @fn_emit(ptr @.str1012) - %t215 = call ptr @fn_val(ptr @.str1013, ptr @.str1014) + call void @fn_emit(ptr @.str1155) + %t215 = call ptr @fn_val(ptr @.str1156, ptr @.str1157) store ptr %t215, ptr %retval br label %ret ifend62: %t216 = load ptr, ptr %t0 - %t217 = call i32 @fn_str_eq(ptr %t216, ptr @.str1015) + %t217 = call i32 @fn_str_eq(ptr %t216, ptr @.str1158) %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then63, label %ifend65 then63: %t219 = load ptr, ptr %t1 %t220 = call ptr @fn_arg_code(ptr %t219, i32 0) store ptr %t220, ptr %t221 - call void @fn_emit(ptr @.str1016) + call void @fn_emit(ptr @.str1159) %t222 = load ptr, ptr %t221 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str1017) - %t223 = call ptr @fn_val(ptr @.str1018, ptr @.str1019) + call void @fn_emit(ptr @.str1160) + %t223 = call ptr @fn_val(ptr @.str1161, ptr @.str1162) store ptr %t223, ptr %retval br label %ret ifend65: %t224 = load ptr, ptr %t0 - %t225 = call i32 @fn_str_eq(ptr %t224, ptr @.str1020) + %t225 = call i32 @fn_str_eq(ptr %t224, ptr @.str1163) %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then66, label %ifend68 then66: @@ -29070,15 +34311,15 @@ then66: %t228 = call ptr @fn_arg_code(ptr %t227, i32 0) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t229 - %t231 = call ptr @fn_str_concat(ptr @.str1021, ptr %t230) - %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1022) + %t231 = call ptr @fn_str_concat(ptr @.str1164, ptr %t230) + %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1165) %t233 = call ptr @fn_emit_bind(ptr %t232) - %t234 = call ptr @fn_val(ptr %t233, ptr @.str1023) + %t234 = call ptr @fn_val(ptr %t233, ptr @.str1166) store ptr %t234, ptr %retval br label %ret ifend68: %t235 = load ptr, ptr %t0 - %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str1024) + %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str1167) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then69, label %ifend71 then69: @@ -29088,19 +34329,19 @@ then69: %t241 = load ptr, ptr %t1 %t242 = call ptr @fn_arg_code(ptr %t241, i32 1) store ptr %t242, ptr %t243 - call void @fn_emit(ptr @.str1025) + call void @fn_emit(ptr @.str1168) %t244 = load ptr, ptr %t240 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str1026) + call void @fn_emit(ptr @.str1169) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str1027) - %t246 = call ptr @fn_val(ptr @.str1028, ptr @.str1029) + call void @fn_emit(ptr @.str1170) + %t246 = call ptr @fn_val(ptr @.str1171, ptr @.str1172) store ptr %t246, ptr %retval br label %ret ifend71: %t247 = load ptr, ptr %t0 - %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str1030) + %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str1173) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then72, label %ifend74 then72: @@ -29110,19 +34351,19 @@ then72: %t253 = load ptr, ptr %t1 %t254 = call ptr @fn_arg_code(ptr %t253, i32 1) store ptr %t254, ptr %t255 - call void @fn_emit(ptr @.str1031) + call void @fn_emit(ptr @.str1174) %t256 = load ptr, ptr %t252 call void @fn_emit(ptr %t256) - call void @fn_emit(ptr @.str1032) + call void @fn_emit(ptr @.str1175) %t257 = load ptr, ptr %t255 call void @fn_emit(ptr %t257) - call void @fn_emit(ptr @.str1033) - %t258 = call ptr @fn_val(ptr @.str1034, ptr @.str1035) + call void @fn_emit(ptr @.str1176) + %t258 = call ptr @fn_val(ptr @.str1177, ptr @.str1178) store ptr %t258, ptr %retval br label %ret ifend74: %t259 = load ptr, ptr %t0 - %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str1036) + %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str1179) %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then75, label %ifend77 then75: @@ -29133,18 +34374,18 @@ then75: %t266 = call ptr @fn_arg_code(ptr %t265, i32 1) store ptr %t266, ptr %t267 %t268 = load ptr, ptr %t264 - %t269 = call ptr @fn_str_concat(ptr @.str1037, ptr %t268) - %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1038) + %t269 = call ptr @fn_str_concat(ptr @.str1180, ptr %t268) + %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1181) %t271 = load ptr, ptr %t267 %t272 = call ptr @fn_str_concat(ptr %t270, ptr %t271) - %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1039) + %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1182) %t274 = call ptr @fn_emit_bind(ptr %t273) - %t275 = call ptr @fn_val(ptr %t274, ptr @.str1040) + %t275 = call ptr @fn_val(ptr %t274, ptr @.str1183) store ptr %t275, ptr %retval br label %ret ifend77: %t276 = load ptr, ptr %t0 - %t277 = call i32 @fn_str_eq(ptr %t276, ptr @.str1041) + %t277 = call i32 @fn_str_eq(ptr %t276, ptr @.str1184) %t278 = icmp ne i32 %t277, 0 br i1 %t278, label %then78, label %ifend80 then78: @@ -29157,22 +34398,22 @@ then78: %t285 = load ptr, ptr %t1 %t286 = call ptr @fn_arg_code(ptr %t285, i32 2) store ptr %t286, ptr %t287 - call void @fn_emit(ptr @.str1042) + call void @fn_emit(ptr @.str1185) %t288 = load ptr, ptr %t281 call void @fn_emit(ptr %t288) - call void @fn_emit(ptr @.str1043) + call void @fn_emit(ptr @.str1186) %t289 = load ptr, ptr %t284 call void @fn_emit(ptr %t289) - call void @fn_emit(ptr @.str1044) + call void @fn_emit(ptr @.str1187) %t290 = load ptr, ptr %t287 call void @fn_emit(ptr %t290) - call void @fn_emit(ptr @.str1045) - %t291 = call ptr @fn_val(ptr @.str1046, ptr @.str1047) + call void @fn_emit(ptr @.str1188) + %t291 = call ptr @fn_val(ptr @.str1189, ptr @.str1190) store ptr %t291, ptr %retval br label %ret ifend80: %t292 = load ptr, ptr %t0 - %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str1048) + %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str1191) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then81, label %ifend83 then81: @@ -29185,22 +34426,22 @@ then81: %t301 = load ptr, ptr %t1 %t302 = call ptr @fn_arg_code(ptr %t301, i32 2) store ptr %t302, ptr %t303 - call void @fn_emit(ptr @.str1049) + call void @fn_emit(ptr @.str1192) %t304 = load ptr, ptr %t297 call void @fn_emit(ptr %t304) - call void @fn_emit(ptr @.str1050) + call void @fn_emit(ptr @.str1193) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) - call void @fn_emit(ptr @.str1051) + call void @fn_emit(ptr @.str1194) %t306 = load ptr, ptr %t303 call void @fn_emit(ptr %t306) - call void @fn_emit(ptr @.str1052) - %t307 = call ptr @fn_val(ptr @.str1053, ptr @.str1054) + call void @fn_emit(ptr @.str1195) + %t307 = call ptr @fn_val(ptr @.str1196, ptr @.str1197) store ptr %t307, ptr %retval br label %ret ifend83: %t308 = load ptr, ptr %t0 - %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str1055) + %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str1198) %t310 = icmp ne i32 %t309, 0 br i1 %t310, label %then84, label %ifend86 then84: @@ -29210,19 +34451,19 @@ then84: %t314 = load ptr, ptr %t1 %t315 = call ptr @fn_arg_code(ptr %t314, i32 1) store ptr %t315, ptr %t316 - call void @fn_emit(ptr @.str1056) + call void @fn_emit(ptr @.str1199) %t317 = load ptr, ptr %t313 call void @fn_emit(ptr %t317) - call void @fn_emit(ptr @.str1057) + call void @fn_emit(ptr @.str1200) %t318 = load ptr, ptr %t316 call void @fn_emit(ptr %t318) - call void @fn_emit(ptr @.str1058) - %t319 = call ptr @fn_val(ptr @.str1059, ptr @.str1060) + call void @fn_emit(ptr @.str1201) + %t319 = call ptr @fn_val(ptr @.str1202, ptr @.str1203) store ptr %t319, ptr %retval br label %ret ifend86: %t320 = load ptr, ptr %t0 - %t321 = call i32 @fn_str_eq(ptr %t320, ptr @.str1061) + %t321 = call i32 @fn_str_eq(ptr %t320, ptr @.str1204) %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then87, label %ifend89 then87: @@ -29230,15 +34471,15 @@ then87: %t324 = call ptr @fn_arg_code(ptr %t323, i32 0) store ptr %t324, ptr %t325 %t326 = load ptr, ptr %t325 - %t327 = call ptr @fn_str_concat(ptr @.str1062, ptr %t326) - %t328 = call ptr @fn_str_concat(ptr %t327, ptr @.str1063) + %t327 = call ptr @fn_str_concat(ptr @.str1205, ptr %t326) + %t328 = call ptr @fn_str_concat(ptr %t327, ptr @.str1206) %t329 = call ptr @fn_emit_bind(ptr %t328) - %t330 = call ptr @fn_val(ptr %t329, ptr @.str1064) + %t330 = call ptr @fn_val(ptr %t329, ptr @.str1207) store ptr %t330, ptr %retval br label %ret ifend89: %t331 = load ptr, ptr %t0 - %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str1065) + %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str1208) %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then90, label %ifend92 then90: @@ -29246,15 +34487,15 @@ then90: %t335 = call ptr @fn_arg_code(ptr %t334, i32 0) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t336 - %t338 = call ptr @fn_str_concat(ptr @.str1066, ptr %t337) - %t339 = call ptr @fn_str_concat(ptr %t338, ptr @.str1067) + %t338 = call ptr @fn_str_concat(ptr @.str1209, ptr %t337) + %t339 = call ptr @fn_str_concat(ptr %t338, ptr @.str1210) %t340 = call ptr @fn_emit_bind(ptr %t339) - %t341 = call ptr @fn_val(ptr %t340, ptr @.str1068) + %t341 = call ptr @fn_val(ptr %t340, ptr @.str1211) store ptr %t341, ptr %retval br label %ret ifend92: %t342 = load ptr, ptr %t0 - %t343 = call i32 @fn_str_eq(ptr %t342, ptr @.str1069) + %t343 = call i32 @fn_str_eq(ptr %t342, ptr @.str1212) %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then93, label %ifend95 then93: @@ -29262,15 +34503,15 @@ then93: %t346 = call ptr @fn_arg_code(ptr %t345, i32 0) store ptr %t346, ptr %t347 %t348 = load ptr, ptr %t347 - %t349 = call ptr @fn_str_concat(ptr @.str1070, ptr %t348) - %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str1071) + %t349 = call ptr @fn_str_concat(ptr @.str1213, ptr %t348) + %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str1214) %t351 = call ptr @fn_emit_bind(ptr %t350) - %t352 = call ptr @fn_val(ptr %t351, ptr @.str1072) + %t352 = call ptr @fn_val(ptr %t351, ptr @.str1215) store ptr %t352, ptr %retval br label %ret ifend95: %t353 = load ptr, ptr %t0 - %t354 = call i32 @fn_str_eq(ptr %t353, ptr @.str1073) + %t354 = call i32 @fn_str_eq(ptr %t353, ptr @.str1216) %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then96, label %ifend98 then96: @@ -29278,15 +34519,15 @@ then96: %t357 = call ptr @fn_arg_code(ptr %t356, i32 0) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t358 - %t360 = call ptr @fn_str_concat(ptr @.str1074, ptr %t359) - %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str1075) + %t360 = call ptr @fn_str_concat(ptr @.str1217, ptr %t359) + %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str1218) %t362 = call ptr @fn_emit_bind(ptr %t361) - %t363 = call ptr @fn_val(ptr %t362, ptr @.str1076) + %t363 = call ptr @fn_val(ptr %t362, ptr @.str1219) store ptr %t363, ptr %retval br label %ret ifend98: %t364 = load ptr, ptr %t0 - %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1077) + %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1220) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then99, label %ifend101 then99: @@ -29297,33 +34538,33 @@ then99: %t371 = call ptr @fn_arg_code(ptr %t370, i32 1) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t369 - %t374 = call ptr @fn_str_concat(ptr @.str1078, ptr %t373) - %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1079) + %t374 = call ptr @fn_str_concat(ptr @.str1221, ptr %t373) + %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1222) %t376 = load ptr, ptr %t372 %t377 = call ptr @fn_str_concat(ptr %t375, ptr %t376) - %t378 = call ptr @fn_str_concat(ptr %t377, ptr @.str1080) + %t378 = call ptr @fn_str_concat(ptr %t377, ptr @.str1223) %t379 = call ptr @fn_emit_bind(ptr %t378) - %t380 = call ptr @fn_val(ptr %t379, ptr @.str1081) + %t380 = call ptr @fn_val(ptr %t379, ptr @.str1224) store ptr %t380, ptr %retval br label %ret ifend101: %t381 = load ptr, ptr %t0 - %t382 = call i32 @fn_str_eq(ptr %t381, ptr @.str1082) + %t382 = call i32 @fn_str_eq(ptr %t381, ptr @.str1225) %t383 = icmp ne i32 %t382, 0 br i1 %t383, label %then102, label %ifend104 then102: %t384 = load ptr, ptr %t1 %t385 = call ptr @fn_arg_code(ptr %t384, i32 0) store ptr %t385, ptr %t386 - call void @fn_emit(ptr @.str1083) + call void @fn_emit(ptr @.str1226) %t387 = load ptr, ptr %t386 call void @fn_emit(ptr %t387) - call void @fn_emit(ptr @.str1084) - %t388 = call ptr @fn_val(ptr @.str1085, ptr @.str1086) + call void @fn_emit(ptr @.str1227) + %t388 = call ptr @fn_val(ptr @.str1228, ptr @.str1229) store ptr %t388, ptr %retval br label %ret ifend104: - %t389 = call ptr @fn_val(ptr @.str1087, ptr @.str1088) + %t389 = call ptr @fn_val(ptr @.str1230, ptr @.str1231) store ptr %t389, ptr %retval br label %ret ret: @@ -29340,14 +34581,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 @.str1089) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1232) %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 @.str1090) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1233) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -29360,7 +34601,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1091) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1234) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -29373,7 +34614,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1092) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1235) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -29409,7 +34650,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 @.str1093) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1236) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -29425,22 +34666,22 @@ 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 @.str1094, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1095) + %t17 = call ptr @fn_str_concat(ptr @.str1237, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1238) %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 @.str1096, ptr %t23) + %t24 = call ptr @fn_str_concat(ptr @.str1239, 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 @.str1097, ptr %t27) - %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str1098) + %t28 = call ptr @fn_str_concat(ptr @.str1240, ptr %t27) + %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str1241) %t30 = load ptr, ptr %t26 %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1099) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1242) %t33 = load ptr, ptr %t13 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 @@ -29454,14 +34695,14 @@ then0: br label %ret ifend2: %t43 = load ptr, ptr %t0 - %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str1100) + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str1243) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t42 br i1 %t45, label %scend4, label %sc3 sc3: %t47 = load ptr, ptr %t0 - %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1101) + %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str1244) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t42 @@ -29489,23 +34730,23 @@ then5: %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_expr(ptr %t68) store ptr %t69, ptr %t70 - store ptr @.str1102, ptr %t71 + store ptr @.str1245, ptr %t71 %t72 = load ptr, ptr %t0 - %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1103) + %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1246) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then8, label %ifend10 then8: - store ptr @.str1104, ptr %t71 + store ptr @.str1247, ptr %t71 br label %ifend10 ifend10: %t75 = load ptr, ptr %t71 - %t76 = call ptr @fn_str_concat(ptr @.str1105, ptr %t75) - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str1106) + %t76 = call ptr @fn_str_concat(ptr @.str1248, ptr %t75) + %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str1249) %t78 = load ptr, ptr %t61 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_str_concat(ptr %t77, ptr %t80) - %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str1107) + %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str1250) %t83 = load ptr, ptr %t70 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 @@ -29513,13 +34754,13 @@ ifend10: %t87 = call ptr @fn_emit_bind(ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t88 - %t90 = call ptr @fn_str_concat(ptr @.str1108, ptr %t89) - %t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str1109) + %t90 = call ptr @fn_str_concat(ptr @.str1251, ptr %t89) + %t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str1252) %t92 = load ptr, ptr %t61 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = call ptr @fn_str_concat(ptr %t91, ptr %t94) - %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str1110) + %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str1253) %t97 = load ptr, ptr %t70 %t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 @@ -29562,8 +34803,8 @@ ifend7: %t133 = load ptr, ptr %t114 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 - %t136 = call ptr @fn_str_concat(ptr @.str1111, ptr %t135) - %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str1112) + %t136 = call ptr @fn_str_concat(ptr @.str1254, ptr %t135) + %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str1255) %t138 = load ptr, ptr %t132 %t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0 %t140 = load ptr, ptr %t139 @@ -29571,13 +34812,13 @@ ifend7: %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 - %t145 = call ptr @fn_str_concat(ptr @.str1113, ptr %t144) - %t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str1114) + %t145 = call ptr @fn_str_concat(ptr @.str1256, ptr %t144) + %t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str1257) %t147 = load ptr, ptr %t114 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = call ptr @fn_str_concat(ptr %t146, ptr %t149) - %t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str1115) + %t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str1258) %t152 = load ptr, ptr %t132 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 @@ -29587,20 +34828,20 @@ ifend7: %t158 = load ptr, ptr %t123 %t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 - %t161 = call ptr @fn_str_concat(ptr @.str1116, ptr %t160) - %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str1117) + %t161 = call ptr @fn_str_concat(ptr @.str1259, ptr %t160) + %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str1260) %t163 = load ptr, ptr %t157 %t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163) %t165 = call ptr @fn_emit_bind(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 - %t168 = call ptr @fn_str_concat(ptr @.str1118, ptr %t167) - %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str1119) + %t168 = call ptr @fn_str_concat(ptr @.str1261, ptr %t167) + %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str1262) %t170 = load ptr, ptr %t123 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = call ptr @fn_str_concat(ptr %t169, ptr %t172) - %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1120) + %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1263) %t175 = load ptr, ptr %t157 %t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) @@ -29627,30 +34868,30 @@ entry: store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str1121, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1122) + %t3 = call ptr @fn_str_concat(ptr @.str1264, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1265) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 - %t8 = call ptr @fn_str_concat(ptr @.str1123, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1124) + %t8 = call ptr @fn_str_concat(ptr @.str1266, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1267) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 - %t13 = call ptr @fn_str_concat(ptr @.str1125, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1126) + %t13 = call ptr @fn_str_concat(ptr @.str1268, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1269) %t15 = load ptr, ptr %t11 %t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 - %t20 = call ptr @fn_str_concat(ptr @.str1127, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str1128) + %t20 = call ptr @fn_str_concat(ptr @.str1270, ptr %t19) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str1271) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 - %t25 = call ptr @fn_str_concat(ptr @.str1129, ptr %t24) - %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1130) + %t25 = call ptr @fn_str_concat(ptr @.str1272, ptr %t24) + %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1273) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret @@ -29671,30 +34912,30 @@ entry: store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str1131, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1132) + %t3 = call ptr @fn_str_concat(ptr @.str1274, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1275) %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 @.str1133, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1134) + %t8 = call ptr @fn_str_concat(ptr @.str1276, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1277) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 - %t13 = call ptr @fn_str_concat(ptr @.str1135, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1136) + %t13 = call ptr @fn_str_concat(ptr @.str1278, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1279) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t11 - %t18 = call ptr @fn_str_concat(ptr @.str1137, ptr %t17) - %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1138) + %t18 = call ptr @fn_str_concat(ptr @.str1280, ptr %t17) + %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1281) %t20 = load ptr, ptr %t16 %t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 - %t25 = call ptr @fn_str_concat(ptr @.str1139, ptr %t24) - %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1140) + %t25 = call ptr @fn_str_concat(ptr @.str1282, ptr %t24) + %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1283) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret @@ -29715,8 +34956,8 @@ entry: store ptr %arg_b, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t1 - %t4 = call ptr @fn_str_concat(ptr @.str1141, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1142) + %t4 = call ptr @fn_str_concat(ptr @.str1284, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1285) %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) @@ -29726,8 +34967,8 @@ entry: %t12 = call ptr @fn_fx_mul_code(ptr %t10, ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t0 - %t15 = call ptr @fn_str_concat(ptr @.str1143, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1144) + %t15 = call ptr @fn_str_concat(ptr @.str1286, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1287) %t17 = load ptr, ptr %t13 %t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @fn_emit_bind(ptr %t18) @@ -29750,15 +34991,15 @@ entry: store ptr %arg_b, ptr %t1 store ptr %arg_v, ptr %t2 %t3 = load ptr, ptr %t2 - %t4 = call ptr @fn_str_concat(ptr @.str1145, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1146) + %t4 = call ptr @fn_str_concat(ptr @.str1288, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1289) %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 - %t11 = call ptr @fn_str_concat(ptr @.str1147, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1148) + %t11 = call ptr @fn_str_concat(ptr @.str1290, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1291) %t13 = load ptr, ptr %t0 %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) @@ -29802,14 +35043,14 @@ entry: %t194 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1149) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1292) %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 @.str1150) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1293) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -29822,7 +35063,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1151) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1294) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -29835,7 +35076,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1152) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1295) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -29849,14 +35090,14 @@ then6: br label %ret ifend8: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1153) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1296) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1154) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1297) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 @@ -29869,7 +35110,7 @@ scend10: br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1155) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1298) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 @@ -29882,7 +35123,7 @@ scend12: br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1156) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1299) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 @@ -29896,14 +35137,14 @@ then15: br label %ret ifend17: %t57 = load ptr, ptr %t0 - %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1157) + %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1300) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t56 br i1 %t59, label %scend19, label %sc18 sc18: %t61 = load ptr, ptr %t0 - %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str1158) + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str1301) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t56 @@ -29916,7 +35157,7 @@ scend19: br i1 %t66, label %scend21, label %sc20 sc20: %t68 = load ptr, ptr %t0 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1159) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1302) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t55 @@ -29930,14 +35171,14 @@ then22: br label %ret ifend24: %t78 = load ptr, ptr %t0 - %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str1160) + %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str1303) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t77 br i1 %t80, label %scend26, label %sc25 sc25: %t82 = load ptr, ptr %t0 - %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str1161) + %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str1304) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t77 @@ -29950,7 +35191,7 @@ scend26: br i1 %t87, label %scend28, label %sc27 sc27: %t89 = load ptr, ptr %t0 - %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1162) + %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1305) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t76 @@ -29963,7 +35204,7 @@ scend28: br i1 %t94, label %scend30, label %sc29 sc29: %t96 = load ptr, ptr %t0 - %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str1163) + %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str1306) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t75 @@ -29976,7 +35217,7 @@ scend30: br i1 %t101, label %scend32, label %sc31 sc31: %t103 = load ptr, ptr %t0 - %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str1164) + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str1307) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t74 @@ -29990,14 +35231,14 @@ then33: br label %ret ifend35: %t111 = load ptr, ptr %t0 - %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str1165) + %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str1308) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t110 br i1 %t113, label %scend37, label %sc36 sc36: %t115 = load ptr, ptr %t0 - %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str1166) + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str1309) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t110 @@ -30010,7 +35251,7 @@ scend37: br i1 %t120, label %scend39, label %sc38 sc38: %t122 = load ptr, ptr %t0 - %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str1167) + %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str1310) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t109 @@ -30024,14 +35265,14 @@ then40: br label %ret ifend42: %t131 = load ptr, ptr %t0 - %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str1168) + %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str1311) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t130 br i1 %t133, label %scend44, label %sc43 sc43: %t135 = load ptr, ptr %t0 - %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str1169) + %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str1312) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t130 @@ -30044,7 +35285,7 @@ scend44: br i1 %t140, label %scend46, label %sc45 sc45: %t142 = load ptr, ptr %t0 - %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str1170) + %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str1313) %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t129 @@ -30057,7 +35298,7 @@ scend46: br i1 %t147, label %scend48, label %sc47 sc47: %t149 = load ptr, ptr %t0 - %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str1171) + %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str1314) %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t128 @@ -30071,14 +35312,14 @@ then49: br label %ret ifend51: %t158 = load ptr, ptr %t0 - %t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1172) + %t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1315) %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t157 br i1 %t160, label %scend53, label %sc52 sc52: %t162 = load ptr, ptr %t0 - %t163 = call i32 @fn_str_eq(ptr %t162, ptr @.str1173) + %t163 = call i32 @fn_str_eq(ptr %t162, ptr @.str1316) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t157 @@ -30091,7 +35332,7 @@ scend53: br i1 %t167, label %scend55, label %sc54 sc54: %t169 = load ptr, ptr %t0 - %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str1174) + %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str1317) %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t156 @@ -30104,7 +35345,7 @@ scend55: br i1 %t174, label %scend57, label %sc56 sc56: %t176 = load ptr, ptr %t0 - %t177 = call i32 @fn_str_eq(ptr %t176, ptr @.str1175) + %t177 = call i32 @fn_str_eq(ptr %t176, ptr @.str1318) %t178 = icmp ne i32 %t177, 0 %t179 = zext i1 %t178 to i32 store i32 %t179, ptr %t155 @@ -30118,14 +35359,14 @@ then58: br label %ret ifend60: %t183 = load ptr, ptr %t0 - %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str1176) + %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str1319) %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t182 br i1 %t185, label %scend62, label %sc61 sc61: %t187 = load ptr, ptr %t0 - %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1177) + %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1320) %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t182 @@ -30139,14 +35380,14 @@ then63: br label %ret ifend65: %t195 = load ptr, ptr %t0 - %t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str1178) + %t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str1321) %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t194 br i1 %t197, label %scend67, label %sc66 sc66: %t199 = load ptr, ptr %t0 - %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str1179) + %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str1322) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t194 @@ -30159,7 +35400,7 @@ scend67: br i1 %t204, label %scend69, label %sc68 sc68: %t206 = load ptr, ptr %t0 - %t207 = call i32 @fn_str_eq(ptr %t206, ptr @.str1180) + %t207 = call i32 @fn_str_eq(ptr %t206, ptr @.str1323) %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t193 @@ -30313,14 +35554,14 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t5 = load ptr, ptr %t0 - %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str1181) + %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str1324) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t4 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 - %t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str1182) + %t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str1325) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 @@ -30333,7 +35574,7 @@ scend1: br i1 %t14, label %scend3, label %sc2 sc2: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1183) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1326) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t3 @@ -30346,7 +35587,7 @@ scend3: br i1 %t21, label %scend5, label %sc4 sc4: %t23 = load ptr, ptr %t0 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1184) + %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1327) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t2 @@ -30363,7 +35604,7 @@ then6: br label %ret ifend8: %t32 = load ptr, ptr %t0 - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str1185) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str1328) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %ifend11 then9: @@ -30379,34 +35620,34 @@ then9: %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str1186, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str1187) + %t47 = call ptr @fn_str_concat(ptr @.str1329, ptr %t46) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str1330) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t43 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 - %t54 = call ptr @fn_str_concat(ptr @.str1188, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1189) + %t54 = call ptr @fn_str_concat(ptr @.str1331, ptr %t53) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1332) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 - %t59 = call ptr @fn_str_concat(ptr @.str1190, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str1191) + %t59 = call ptr @fn_str_concat(ptr @.str1333, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str1334) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t50 - %t64 = call ptr @fn_str_concat(ptr @.str1192, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1193) + %t64 = call ptr @fn_str_concat(ptr @.str1335, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1336) %t66 = load ptr, ptr %t62 %t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) - %t69 = call ptr @fn_val(ptr %t68, ptr @.str1194) + %t69 = call ptr @fn_val(ptr %t68, ptr @.str1337) store ptr %t69, ptr %retval br label %ret ifend11: %t70 = load ptr, ptr %t0 - %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1195) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1338) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then12, label %ifend14 then12: @@ -30422,15 +35663,15 @@ then12: %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 - %t85 = call ptr @fn_str_concat(ptr @.str1196, ptr %t84) - %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str1197) + %t85 = call ptr @fn_str_concat(ptr @.str1339, ptr %t84) + %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str1340) %t87 = call ptr @fn_emit_bind(ptr %t86) - %t88 = call ptr @fn_val(ptr %t87, ptr @.str1198) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str1341) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 - %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1199) + %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1342) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then15, label %ifend17 then15: @@ -30446,20 +35687,20 @@ then15: %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 - %t104 = call ptr @fn_str_concat(ptr @.str1200, ptr %t103) - %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str1201) + %t104 = call ptr @fn_str_concat(ptr @.str1343, ptr %t103) + %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str1344) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t107 - %t109 = call ptr @fn_str_concat(ptr @.str1202, ptr %t108) - %t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str1203) + %t109 = call ptr @fn_str_concat(ptr @.str1345, ptr %t108) + %t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str1346) %t111 = call ptr @fn_emit_bind(ptr %t110) - %t112 = call ptr @fn_val(ptr %t111, ptr @.str1204) + %t112 = call ptr @fn_val(ptr %t111, ptr @.str1347) store ptr %t112, ptr %retval br label %ret ifend17: %t113 = load ptr, ptr %t0 - %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1205) + %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1348) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: @@ -30475,20 +35716,20 @@ then18: %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 - %t128 = call ptr @fn_str_concat(ptr @.str1206, ptr %t127) - %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str1207) + %t128 = call ptr @fn_str_concat(ptr @.str1349, ptr %t127) + %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str1350) %t130 = call ptr @fn_emit_bind(ptr %t129) store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t131 - %t133 = call ptr @fn_str_concat(ptr @.str1208, ptr %t132) - %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str1209) + %t133 = call ptr @fn_str_concat(ptr @.str1351, ptr %t132) + %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str1352) %t135 = call ptr @fn_emit_bind(ptr %t134) - %t136 = call ptr @fn_val(ptr %t135, ptr @.str1210) + %t136 = call ptr @fn_val(ptr %t135, ptr @.str1353) store ptr %t136, ptr %retval br label %ret ifend20: %t137 = load ptr, ptr %t0 - %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str1211) + %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str1354) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then21, label %ifend23 then21: @@ -30529,12 +35770,12 @@ then21: %t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_fx_lerp_code(ptr %t169, ptr %t172, ptr %t175) - %t177 = call ptr @fn_val(ptr %t176, ptr @.str1212) + %t177 = call ptr @fn_val(ptr %t176, ptr @.str1355) store ptr %t177, ptr %retval br label %ret ifend23: %t178 = load ptr, ptr %t0 - %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str1213) + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str1356) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then24, label %ifend26 then24: @@ -30575,12 +35816,12 @@ then24: %t215 = getelementptr inbounds %Cmp_Val, ptr %t214, i32 0, i32 0 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_fx_inv_lerp_code(ptr %t210, ptr %t213, ptr %t216) - %t218 = call ptr @fn_val(ptr %t217, ptr @.str1214) + %t218 = call ptr @fn_val(ptr %t217, ptr @.str1357) store ptr %t218, ptr %retval br label %ret ifend26: %t219 = load ptr, ptr %t0 - %t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str1215) + %t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str1358) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then27, label %ifend29 then27: @@ -30597,15 +35838,15 @@ then27: %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 - %t234 = call ptr @fn_str_concat(ptr @.str1216, ptr %t233) - %t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str1217) + %t234 = call ptr @fn_str_concat(ptr @.str1359, ptr %t233) + %t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str1360) %t236 = call ptr @fn_emit_bind(ptr %t235) - %t237 = call ptr @fn_val(ptr %t236, ptr @.str1218) + %t237 = call ptr @fn_val(ptr %t236, ptr @.str1361) store ptr %t237, ptr %retval br label %ret ifend29: %t238 = load ptr, ptr %t0 - %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str1219) + %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str1362) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then30, label %ifend32 then30: @@ -30622,15 +35863,15 @@ then30: %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 - %t253 = call ptr @fn_str_concat(ptr @.str1220, ptr %t252) - %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str1221) + %t253 = call ptr @fn_str_concat(ptr @.str1363, ptr %t252) + %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str1364) %t255 = call ptr @fn_emit_bind(ptr %t254) - %t256 = call ptr @fn_val(ptr %t255, ptr @.str1222) + %t256 = call ptr @fn_val(ptr %t255, ptr @.str1365) store ptr %t256, ptr %retval br label %ret ifend32: %t257 = load ptr, ptr %t0 - %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str1223) + %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str1366) %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then33, label %ifend35 then33: @@ -30647,20 +35888,20 @@ then33: %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0 %t271 = load ptr, ptr %t270 - %t272 = call ptr @fn_str_concat(ptr @.str1224, ptr %t271) - %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1225) + %t272 = call ptr @fn_str_concat(ptr @.str1367, ptr %t271) + %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1368) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t275 - %t277 = call ptr @fn_str_concat(ptr @.str1226, ptr %t276) - %t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str1227) + %t277 = call ptr @fn_str_concat(ptr @.str1369, ptr %t276) + %t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str1370) %t279 = call ptr @fn_emit_bind(ptr %t278) - %t280 = call ptr @fn_val(ptr %t279, ptr @.str1228) + %t280 = call ptr @fn_val(ptr %t279, ptr @.str1371) store ptr %t280, ptr %retval br label %ret ifend35: %t281 = load ptr, ptr %t0 - %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str1229) + %t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str1372) %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then36, label %ifend38 then36: @@ -30677,31 +35918,31 @@ then36: %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 - %t296 = call ptr @fn_str_concat(ptr @.str1230, ptr %t295) - %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str1231) + %t296 = call ptr @fn_str_concat(ptr @.str1373, ptr %t295) + %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str1374) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t292 %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 %t302 = load ptr, ptr %t301 - %t303 = call ptr @fn_str_concat(ptr @.str1232, ptr %t302) - %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str1233) + %t303 = call ptr @fn_str_concat(ptr @.str1375, ptr %t302) + %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str1376) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 - %t308 = call ptr @fn_str_concat(ptr @.str1234, ptr %t307) - %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str1235) + %t308 = call ptr @fn_str_concat(ptr @.str1377, ptr %t307) + %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str1378) %t310 = call ptr @fn_emit_bind(ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t299 %t313 = load ptr, ptr %t311 %t314 = call ptr @fn_fx_div_code(ptr %t312, ptr %t313) - %t315 = call ptr @fn_val(ptr %t314, ptr @.str1236) + %t315 = call ptr @fn_val(ptr %t314, ptr @.str1379) store ptr %t315, ptr %retval br label %ret ifend38: %t316 = load ptr, ptr %t0 - %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str1237) + %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str1380) %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then39, label %ifend41 then39: @@ -30727,20 +35968,20 @@ then39: %t337 = load ptr, ptr %t327 %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 - %t340 = call ptr @fn_str_concat(ptr @.str1238, ptr %t339) - %t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str1239) + %t340 = call ptr @fn_str_concat(ptr @.str1381, ptr %t339) + %t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str1382) %t342 = load ptr, ptr %t336 %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = call ptr @fn_str_concat(ptr %t341, ptr %t344) - %t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str1240) + %t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str1383) %t347 = call ptr @fn_emit_bind(ptr %t346) - %t348 = call ptr @fn_val(ptr %t347, ptr @.str1241) + %t348 = call ptr @fn_val(ptr %t347, ptr @.str1384) store ptr %t348, ptr %retval br label %ret ifend41: %t349 = load ptr, ptr %t0 - %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str1242) + %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str1385) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then42, label %ifend44 then42: @@ -30763,29 +36004,29 @@ then42: %t367 = call ptr @fn_fx_mul_code(ptr %t363, ptr %t366) store ptr %t367, ptr %t368 %t369 = load ptr, ptr %t368 - %t370 = call ptr @fn_str_concat(ptr @.str1243, ptr %t369) + %t370 = call ptr @fn_str_concat(ptr @.str1386, ptr %t369) %t371 = call ptr @fn_emit_bind(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t372 - %t374 = call ptr @fn_str_concat(ptr @.str1244, ptr %t373) - %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1245) + %t374 = call ptr @fn_str_concat(ptr @.str1387, ptr %t373) + %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1388) %t376 = call ptr @fn_emit_bind(ptr %t375) store ptr %t376, ptr %t377 %t378 = load ptr, ptr %t360 %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 %t380 = load ptr, ptr %t379 - %t381 = call ptr @fn_str_concat(ptr @.str1246, ptr %t380) - %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1247) + %t381 = call ptr @fn_str_concat(ptr @.str1389, ptr %t380) + %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1390) %t383 = load ptr, ptr %t377 %t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383) - %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1248) + %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1391) %t386 = call ptr @fn_emit_bind(ptr %t385) - %t387 = call ptr @fn_val(ptr %t386, ptr @.str1249) + %t387 = call ptr @fn_val(ptr %t386, ptr @.str1392) store ptr %t387, ptr %retval br label %ret ifend44: %t388 = load ptr, ptr %t0 - %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str1250) + %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str1393) %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then45, label %ifend47 then45: @@ -30808,29 +36049,29 @@ then45: %t406 = call ptr @fn_fx_mul_code(ptr %t402, ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t407 - %t409 = call ptr @fn_str_concat(ptr @.str1251, ptr %t408) + %t409 = call ptr @fn_str_concat(ptr @.str1394, ptr %t408) %t410 = call ptr @fn_emit_bind(ptr %t409) store ptr %t410, ptr %t411 %t412 = load ptr, ptr %t411 - %t413 = call ptr @fn_str_concat(ptr @.str1252, ptr %t412) - %t414 = call ptr @fn_str_concat(ptr %t413, ptr @.str1253) + %t413 = call ptr @fn_str_concat(ptr @.str1395, ptr %t412) + %t414 = call ptr @fn_str_concat(ptr %t413, ptr @.str1396) %t415 = call ptr @fn_emit_bind(ptr %t414) store ptr %t415, ptr %t416 %t417 = load ptr, ptr %t416 - %t418 = call ptr @fn_str_concat(ptr @.str1254, ptr %t417) - %t419 = call ptr @fn_str_concat(ptr %t418, ptr @.str1255) + %t418 = call ptr @fn_str_concat(ptr @.str1397, ptr %t417) + %t419 = call ptr @fn_str_concat(ptr %t418, ptr @.str1398) %t420 = load ptr, ptr %t399 %t421 = getelementptr inbounds %Cmp_Val, ptr %t420, i32 0, i32 0 %t422 = load ptr, ptr %t421 %t423 = call ptr @fn_str_concat(ptr %t419, ptr %t422) - %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1256) + %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1399) %t425 = call ptr @fn_emit_bind(ptr %t424) - %t426 = call ptr @fn_val(ptr %t425, ptr @.str1257) + %t426 = call ptr @fn_val(ptr %t425, ptr @.str1400) store ptr %t426, ptr %retval br label %ret ifend47: %t427 = load ptr, ptr %t0 - %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str1258) + %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str1401) %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then48, label %ifend50 then48: @@ -30870,22 +36111,22 @@ then48: %t462 = call ptr @fn_fx_mul_code(ptr %t458, ptr %t461) store ptr %t462, ptr %t463 %t464 = load ptr, ptr %t455 - %t465 = call ptr @fn_str_concat(ptr @.str1259, ptr %t464) - %t466 = call ptr @fn_str_concat(ptr %t465, ptr @.str1260) + %t465 = call ptr @fn_str_concat(ptr @.str1402, ptr %t464) + %t466 = call ptr @fn_str_concat(ptr %t465, ptr @.str1403) %t467 = load ptr, ptr %t463 %t468 = call ptr @fn_str_concat(ptr %t466, ptr %t467) %t469 = call ptr @fn_emit_bind(ptr %t468) store ptr %t469, ptr %t470 %t471 = load ptr, ptr %t470 - %t472 = call ptr @fn_str_concat(ptr @.str1261, ptr %t471) - %t473 = call ptr @fn_str_concat(ptr %t472, ptr @.str1262) + %t472 = call ptr @fn_str_concat(ptr @.str1404, ptr %t471) + %t473 = call ptr @fn_str_concat(ptr %t472, ptr @.str1405) %t474 = call ptr @fn_emit_bind(ptr %t473) - %t475 = call ptr @fn_val(ptr %t474, ptr @.str1263) + %t475 = call ptr @fn_val(ptr %t474, ptr @.str1406) store ptr %t475, ptr %retval br label %ret ifend50: %t476 = load ptr, ptr %t0 - %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1264) + %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1407) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then51, label %ifend53 then51: @@ -30928,8 +36169,8 @@ then51: %t515 = load ptr, ptr %t505 %t516 = getelementptr inbounds %Cmp_Val, ptr %t515, i32 0, i32 0 %t517 = load ptr, ptr %t516 - %t518 = call ptr @fn_str_concat(ptr @.str1265, ptr %t517) - %t519 = call ptr @fn_str_concat(ptr %t518, ptr @.str1266) + %t518 = call ptr @fn_str_concat(ptr @.str1408, ptr %t517) + %t519 = call ptr @fn_str_concat(ptr %t518, ptr @.str1409) %t520 = load ptr, ptr %t487 %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 %t522 = load ptr, ptr %t521 @@ -30939,8 +36180,8 @@ then51: %t526 = load ptr, ptr %t514 %t527 = getelementptr inbounds %Cmp_Val, ptr %t526, i32 0, i32 0 %t528 = load ptr, ptr %t527 - %t529 = call ptr @fn_str_concat(ptr @.str1267, ptr %t528) - %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str1268) + %t529 = call ptr @fn_str_concat(ptr @.str1410, ptr %t528) + %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str1411) %t531 = load ptr, ptr %t496 %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 %t533 = load ptr, ptr %t532 @@ -30956,17 +36197,17 @@ then51: %t543 = call ptr @fn_fx_mul_code(ptr %t541, ptr %t542) store ptr %t543, ptr %t544 %t545 = load ptr, ptr %t540 - %t546 = call ptr @fn_str_concat(ptr @.str1269, ptr %t545) - %t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1270) + %t546 = call ptr @fn_str_concat(ptr @.str1412, ptr %t545) + %t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1413) %t548 = load ptr, ptr %t544 %t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548) %t550 = call ptr @fn_emit_bind(ptr %t549) - %t551 = call ptr @fn_val(ptr %t550, ptr @.str1271) + %t551 = call ptr @fn_val(ptr %t550, ptr @.str1414) store ptr %t551, ptr %retval br label %ret ifend53: %t552 = load ptr, ptr %t0 - %t553 = call i32 @fn_str_eq(ptr %t552, ptr @.str1272) + %t553 = call i32 @fn_str_eq(ptr %t552, ptr @.str1415) %t554 = icmp ne i32 %t553, 0 br i1 %t554, label %then54, label %ifend56 then54: @@ -31010,8 +36251,8 @@ then54: %t591 = load ptr, ptr %t581 %t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0 %t593 = load ptr, ptr %t592 - %t594 = call ptr @fn_str_concat(ptr @.str1273, ptr %t593) - %t595 = call ptr @fn_str_concat(ptr %t594, ptr @.str1274) + %t594 = call ptr @fn_str_concat(ptr @.str1416, ptr %t593) + %t595 = call ptr @fn_str_concat(ptr %t594, ptr @.str1417) %t596 = load ptr, ptr %t563 %t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0 %t598 = load ptr, ptr %t597 @@ -31021,8 +36262,8 @@ then54: %t602 = load ptr, ptr %t590 %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 %t604 = load ptr, ptr %t603 - %t605 = call ptr @fn_str_concat(ptr @.str1275, ptr %t604) - %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1276) + %t605 = call ptr @fn_str_concat(ptr @.str1418, ptr %t604) + %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1419) %t607 = load ptr, ptr %t572 %t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0 %t609 = load ptr, ptr %t608 @@ -31038,22 +36279,22 @@ then54: %t619 = call ptr @fn_fx_mul_code(ptr %t617, ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t616 - %t622 = call ptr @fn_str_concat(ptr @.str1277, ptr %t621) - %t623 = call ptr @fn_str_concat(ptr %t622, ptr @.str1278) + %t622 = call ptr @fn_str_concat(ptr @.str1420, ptr %t621) + %t623 = call ptr @fn_str_concat(ptr %t622, ptr @.str1421) %t624 = load ptr, ptr %t620 %t625 = call ptr @fn_str_concat(ptr %t623, ptr %t624) %t626 = call ptr @fn_emit_bind(ptr %t625) store ptr %t626, ptr %t627 %t628 = load ptr, ptr %t627 - %t629 = call ptr @fn_str_concat(ptr @.str1279, ptr %t628) - %t630 = call ptr @fn_str_concat(ptr %t629, ptr @.str1280) + %t629 = call ptr @fn_str_concat(ptr @.str1422, ptr %t628) + %t630 = call ptr @fn_str_concat(ptr %t629, ptr @.str1423) %t631 = call ptr @fn_emit_bind(ptr %t630) - %t632 = call ptr @fn_val(ptr %t631, ptr @.str1281) + %t632 = call ptr @fn_val(ptr %t631, ptr @.str1424) store ptr %t632, ptr %retval br label %ret ifend56: %t633 = load ptr, ptr %t0 - %t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str1282) + %t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str1425) %t635 = icmp ne i32 %t634, 0 br i1 %t635, label %then57, label %ifend59 then57: @@ -31070,18 +36311,18 @@ then57: %t645 = load ptr, ptr %t644 %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 %t647 = load ptr, ptr %t646 - %t648 = call ptr @fn_fx_mul_code(ptr %t647, ptr @.str1283) + %t648 = call ptr @fn_fx_mul_code(ptr %t647, ptr @.str1426) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 - %t651 = call ptr @fn_str_concat(ptr @.str1284, ptr %t650) - %t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str1285) + %t651 = call ptr @fn_str_concat(ptr @.str1427, ptr %t650) + %t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str1428) %t653 = call ptr @fn_emit_bind(ptr %t652) - %t654 = call ptr @fn_val(ptr %t653, ptr @.str1286) + %t654 = call ptr @fn_val(ptr %t653, ptr @.str1429) store ptr %t654, ptr %retval br label %ret ifend59: %t655 = load ptr, ptr %t0 - %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str1287) + %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str1430) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then60, label %ifend62 then60: @@ -31098,18 +36339,18 @@ then60: %t667 = load ptr, ptr %t666 %t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0 %t669 = load ptr, ptr %t668 - %t670 = call ptr @fn_str_concat(ptr @.str1288, ptr %t669) - %t671 = call ptr @fn_str_concat(ptr %t670, ptr @.str1289) + %t670 = call ptr @fn_str_concat(ptr @.str1431, ptr %t669) + %t671 = call ptr @fn_str_concat(ptr %t670, ptr @.str1432) %t672 = call ptr @fn_emit_bind(ptr %t671) store ptr %t672, ptr %t673 %t674 = load ptr, ptr %t673 - %t675 = call ptr @fn_fx_mul_code(ptr %t674, ptr @.str1290) - %t676 = call ptr @fn_val(ptr %t675, ptr @.str1291) + %t675 = call ptr @fn_fx_mul_code(ptr %t674, ptr @.str1433) + %t676 = call ptr @fn_val(ptr %t675, ptr @.str1434) store ptr %t676, ptr %retval br label %ret ifend62: %t677 = load ptr, ptr %t0 - %t678 = call i32 @fn_str_eq(ptr %t677, ptr @.str1292) + %t678 = call i32 @fn_str_eq(ptr %t677, ptr @.str1435) %t679 = icmp ne i32 %t678, 0 br i1 %t679, label %then63, label %ifend65 then63: @@ -31135,8 +36376,8 @@ then63: %t698 = load ptr, ptr %t688 %t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0 %t700 = load ptr, ptr %t699 - %t701 = call ptr @fn_str_concat(ptr @.str1293, ptr %t700) - %t702 = call ptr @fn_str_concat(ptr %t701, ptr @.str1294) + %t701 = call ptr @fn_str_concat(ptr @.str1436, ptr %t700) + %t702 = call ptr @fn_str_concat(ptr %t701, ptr @.str1437) %t703 = call ptr @fn_emit_bind(ptr %t702) store ptr %t703, ptr %t704 %t705 = load ptr, ptr %t697 @@ -31146,15 +36387,15 @@ then63: %t709 = call ptr @fn_fx_mul_code(ptr %t707, ptr %t708) store ptr %t709, ptr %t710 %t711 = load ptr, ptr %t710 - %t712 = call ptr @fn_str_concat(ptr @.str1295, ptr %t711) - %t713 = call ptr @fn_str_concat(ptr %t712, ptr @.str1296) + %t712 = call ptr @fn_str_concat(ptr @.str1438, ptr %t711) + %t713 = call ptr @fn_str_concat(ptr %t712, ptr @.str1439) %t714 = call ptr @fn_emit_bind(ptr %t713) - %t715 = call ptr @fn_val(ptr %t714, ptr @.str1297) + %t715 = call ptr @fn_val(ptr %t714, ptr @.str1440) store ptr %t715, ptr %retval br label %ret ifend65: %t716 = load ptr, ptr %t0 - %t717 = call i32 @fn_str_eq(ptr %t716, ptr @.str1298) + %t717 = call i32 @fn_str_eq(ptr %t716, ptr @.str1441) %t718 = icmp ne i32 %t717, 0 br i1 %t718, label %then66, label %ifend68 then66: @@ -31170,13 +36411,13 @@ then66: %t728 = load ptr, ptr %t727 %t729 = getelementptr inbounds %Cmp_Val, ptr %t728, i32 0, i32 0 %t730 = load ptr, ptr %t729 - %t731 = call ptr @fn_fx_mul_code(ptr %t730, ptr @.str1299) - %t732 = call ptr @fn_val(ptr %t731, ptr @.str1300) + %t731 = call ptr @fn_fx_mul_code(ptr %t730, ptr @.str1442) + %t732 = call ptr @fn_val(ptr %t731, ptr @.str1443) store ptr %t732, ptr %retval br label %ret ifend68: %t733 = load ptr, ptr %t0 - %t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str1301) + %t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str1444) %t735 = icmp ne i32 %t734, 0 br i1 %t735, label %then69, label %ifend71 then69: @@ -31192,13 +36433,13 @@ then69: %t745 = load ptr, ptr %t744 %t746 = getelementptr inbounds %Cmp_Val, ptr %t745, i32 0, i32 0 %t747 = load ptr, ptr %t746 - %t748 = call ptr @fn_fx_mul_code(ptr %t747, ptr @.str1302) - %t749 = call ptr @fn_val(ptr %t748, ptr @.str1303) + %t748 = call ptr @fn_fx_mul_code(ptr %t747, ptr @.str1445) + %t749 = call ptr @fn_val(ptr %t748, ptr @.str1446) store ptr %t749, ptr %retval br label %ret ifend71: %t750 = load ptr, ptr %t0 - %t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str1304) + %t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str1447) %t752 = icmp ne i32 %t751, 0 br i1 %t752, label %then72, label %ifend74 then72: @@ -31223,8 +36464,8 @@ then72: %t771 = load ptr, ptr %t761 %t772 = getelementptr inbounds %Cmp_Val, ptr %t771, i32 0, i32 0 %t773 = load ptr, ptr %t772 - %t774 = call ptr @fn_str_concat(ptr @.str1305, ptr %t773) - %t775 = call ptr @fn_str_concat(ptr %t774, ptr @.str1306) + %t774 = call ptr @fn_str_concat(ptr @.str1448, ptr %t773) + %t775 = call ptr @fn_str_concat(ptr %t774, ptr @.str1449) %t776 = load ptr, ptr %t770 %t777 = getelementptr inbounds %Cmp_Val, ptr %t776, i32 0, i32 0 %t778 = load ptr, ptr %t777 @@ -31232,8 +36473,8 @@ then72: %t780 = call ptr @fn_emit_bind(ptr %t779) store ptr %t780, ptr %t781 %t782 = load ptr, ptr %t781 - %t783 = call ptr @fn_str_concat(ptr @.str1307, ptr %t782) - %t784 = call ptr @fn_str_concat(ptr %t783, ptr @.str1308) + %t783 = call ptr @fn_str_concat(ptr @.str1450, ptr %t782) + %t784 = call ptr @fn_str_concat(ptr %t783, ptr @.str1451) %t785 = load ptr, ptr %t770 %t786 = getelementptr inbounds %Cmp_Val, ptr %t785, i32 0, i32 0 %t787 = load ptr, ptr %t786 @@ -31241,19 +36482,19 @@ then72: %t789 = call ptr @fn_emit_bind(ptr %t788) store ptr %t789, ptr %t790 %t791 = load ptr, ptr %t790 - %t792 = call ptr @fn_str_concat(ptr @.str1309, ptr %t791) - %t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str1310) + %t792 = call ptr @fn_str_concat(ptr @.str1452, ptr %t791) + %t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str1453) %t794 = load ptr, ptr %t770 %t795 = getelementptr inbounds %Cmp_Val, ptr %t794, i32 0, i32 0 %t796 = load ptr, ptr %t795 %t797 = call ptr @fn_str_concat(ptr %t793, ptr %t796) %t798 = call ptr @fn_emit_bind(ptr %t797) - %t799 = call ptr @fn_val(ptr %t798, ptr @.str1311) + %t799 = call ptr @fn_val(ptr %t798, ptr @.str1454) store ptr %t799, ptr %retval br label %ret ifend74: %t800 = load ptr, ptr %t0 - %t801 = call i32 @fn_str_eq(ptr %t800, ptr @.str1312) + %t801 = call i32 @fn_str_eq(ptr %t800, ptr @.str1455) %t802 = icmp ne i32 %t801, 0 br i1 %t802, label %then75, label %ifend77 then75: @@ -31287,8 +36528,8 @@ then75: %t830 = load ptr, ptr %t829 %t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0 %t832 = load ptr, ptr %t831 - %t833 = call ptr @fn_str_concat(ptr @.str1313, ptr %t832) - %t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str1314) + %t833 = call ptr @fn_str_concat(ptr @.str1456, ptr %t832) + %t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str1457) %t835 = load ptr, ptr %t820 %t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0 %t837 = load ptr, ptr %t836 @@ -31298,8 +36539,8 @@ then75: %t841 = load ptr, ptr %t811 %t842 = getelementptr inbounds %Cmp_Val, ptr %t841, i32 0, i32 0 %t843 = load ptr, ptr %t842 - %t844 = call ptr @fn_str_concat(ptr @.str1315, ptr %t843) - %t845 = call ptr @fn_str_concat(ptr %t844, ptr @.str1316) + %t844 = call ptr @fn_str_concat(ptr @.str1458, ptr %t843) + %t845 = call ptr @fn_str_concat(ptr %t844, ptr @.str1459) %t846 = load ptr, ptr %t820 %t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 0 %t848 = load ptr, ptr %t847 @@ -31307,22 +36548,22 @@ then75: %t850 = call ptr @fn_emit_bind(ptr %t849) store ptr %t850, ptr %t851 %t852 = load ptr, ptr %t851 - %t853 = call ptr @fn_str_concat(ptr @.str1317, ptr %t852) - %t854 = call ptr @fn_str_concat(ptr %t853, ptr @.str1318) + %t853 = call ptr @fn_str_concat(ptr @.str1460, ptr %t852) + %t854 = call ptr @fn_str_concat(ptr %t853, ptr @.str1461) %t855 = load ptr, ptr %t840 %t856 = call ptr @fn_str_concat(ptr %t854, ptr %t855) %t857 = call ptr @fn_emit_bind(ptr %t856) store ptr %t857, ptr %t858 %t859 = load ptr, ptr %t858 - %t860 = call ptr @fn_str_concat(ptr @.str1319, ptr %t859) - %t861 = call ptr @fn_str_concat(ptr %t860, ptr @.str1320) + %t860 = call ptr @fn_str_concat(ptr @.str1462, ptr %t859) + %t861 = call ptr @fn_str_concat(ptr %t860, ptr @.str1463) %t862 = load ptr, ptr %t840 %t863 = call ptr @fn_str_concat(ptr %t861, ptr %t862) %t864 = call ptr @fn_emit_bind(ptr %t863) store ptr %t864, ptr %t865 %t866 = load ptr, ptr %t865 - %t867 = call ptr @fn_str_concat(ptr @.str1321, ptr %t866) - %t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str1322) + %t867 = call ptr @fn_str_concat(ptr @.str1464, ptr %t866) + %t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str1465) %t869 = load ptr, ptr %t840 %t870 = call ptr @fn_str_concat(ptr %t868, ptr %t869) %t871 = call ptr @fn_emit_bind(ptr %t870) @@ -31330,17 +36571,17 @@ then75: %t873 = load ptr, ptr %t820 %t874 = getelementptr inbounds %Cmp_Val, ptr %t873, i32 0, i32 0 %t875 = load ptr, ptr %t874 - %t876 = call ptr @fn_str_concat(ptr @.str1323, ptr %t875) - %t877 = call ptr @fn_str_concat(ptr %t876, ptr @.str1324) + %t876 = call ptr @fn_str_concat(ptr @.str1466, ptr %t875) + %t877 = call ptr @fn_str_concat(ptr %t876, ptr @.str1467) %t878 = load ptr, ptr %t872 %t879 = call ptr @fn_str_concat(ptr %t877, ptr %t878) %t880 = call ptr @fn_emit_bind(ptr %t879) - %t881 = call ptr @fn_val(ptr %t880, ptr @.str1325) + %t881 = call ptr @fn_val(ptr %t880, ptr @.str1468) store ptr %t881, ptr %retval br label %ret ifend77: %t882 = load ptr, ptr %t0 - %t883 = call i32 @fn_str_eq(ptr %t882, ptr @.str1326) + %t883 = call i32 @fn_str_eq(ptr %t882, ptr @.str1469) %t884 = icmp ne i32 %t883, 0 br i1 %t884, label %then78, label %ifend80 then78: @@ -31365,36 +36606,36 @@ then78: %t903 = load ptr, ptr %t902 %t904 = getelementptr inbounds %Cmp_Val, ptr %t903, i32 0, i32 0 %t905 = load ptr, ptr %t904 - %t906 = call ptr @fn_str_concat(ptr @.str1327, ptr %t905) - %t907 = call ptr @fn_str_concat(ptr %t906, ptr @.str1328) + %t906 = call ptr @fn_str_concat(ptr @.str1470, ptr %t905) + %t907 = call ptr @fn_str_concat(ptr %t906, ptr @.str1471) %t908 = call ptr @fn_emit_bind(ptr %t907) store ptr %t908, ptr %t909 %t910 = load ptr, ptr %t893 %t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0 %t912 = load ptr, ptr %t911 - %t913 = call ptr @fn_str_concat(ptr @.str1329, ptr %t912) - %t914 = call ptr @fn_str_concat(ptr %t913, ptr @.str1330) + %t913 = call ptr @fn_str_concat(ptr @.str1472, ptr %t912) + %t914 = call ptr @fn_str_concat(ptr %t913, ptr @.str1473) %t915 = load ptr, ptr %t909 %t916 = call ptr @fn_str_concat(ptr %t914, ptr %t915) %t917 = call ptr @fn_emit_bind(ptr %t916) store ptr %t917, ptr %t918 %t919 = load ptr, ptr %t918 - %t920 = call ptr @fn_str_concat(ptr @.str1331, ptr %t919) - %t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str1332) + %t920 = call ptr @fn_str_concat(ptr @.str1474, ptr %t919) + %t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str1475) %t922 = load ptr, ptr %t909 %t923 = call ptr @fn_str_concat(ptr %t921, ptr %t922) %t924 = call ptr @fn_emit_bind(ptr %t923) store ptr %t924, ptr %t925 %t926 = load ptr, ptr %t925 - %t927 = call ptr @fn_str_concat(ptr @.str1333, ptr %t926) - %t928 = call ptr @fn_str_concat(ptr %t927, ptr @.str1334) + %t927 = call ptr @fn_str_concat(ptr @.str1476, ptr %t926) + %t928 = call ptr @fn_str_concat(ptr %t927, ptr @.str1477) %t929 = load ptr, ptr %t909 %t930 = call ptr @fn_str_concat(ptr %t928, ptr %t929) %t931 = call ptr @fn_emit_bind(ptr %t930) store ptr %t931, ptr %t932 %t933 = load ptr, ptr %t932 - %t934 = call ptr @fn_str_concat(ptr @.str1335, ptr %t933) - %t935 = call ptr @fn_str_concat(ptr %t934, ptr @.str1336) + %t934 = call ptr @fn_str_concat(ptr @.str1478, ptr %t933) + %t935 = call ptr @fn_str_concat(ptr %t934, ptr @.str1479) %t936 = load ptr, ptr %t902 %t937 = getelementptr inbounds %Cmp_Val, ptr %t936, i32 0, i32 0 %t938 = load ptr, ptr %t937 @@ -31402,20 +36643,20 @@ then78: %t940 = call ptr @fn_emit_bind(ptr %t939) store ptr %t940, ptr %t941 %t942 = load ptr, ptr %t941 - %t943 = call ptr @fn_str_concat(ptr @.str1337, ptr %t942) + %t943 = call ptr @fn_str_concat(ptr @.str1480, ptr %t942) %t944 = call ptr @fn_emit_bind(ptr %t943) store ptr %t944, ptr %t945 %t946 = load ptr, ptr %t941 - %t947 = call ptr @fn_str_concat(ptr @.str1338, ptr %t946) - %t948 = call ptr @fn_str_concat(ptr %t947, ptr @.str1339) + %t947 = call ptr @fn_str_concat(ptr @.str1481, ptr %t946) + %t948 = call ptr @fn_str_concat(ptr %t947, ptr @.str1482) %t949 = call ptr @fn_emit_bind(ptr %t948) store ptr %t949, ptr %t950 %t951 = load ptr, ptr %t950 - %t952 = call ptr @fn_str_concat(ptr @.str1340, ptr %t951) - %t953 = call ptr @fn_str_concat(ptr %t952, ptr @.str1341) + %t952 = call ptr @fn_str_concat(ptr @.str1483, ptr %t951) + %t953 = call ptr @fn_str_concat(ptr %t952, ptr @.str1484) %t954 = load ptr, ptr %t945 %t955 = call ptr @fn_str_concat(ptr %t953, ptr %t954) - %t956 = call ptr @fn_str_concat(ptr %t955, ptr @.str1342) + %t956 = call ptr @fn_str_concat(ptr %t955, ptr @.str1485) %t957 = load ptr, ptr %t941 %t958 = call ptr @fn_str_concat(ptr %t956, ptr %t957) %t959 = call ptr @fn_emit_bind(ptr %t958) @@ -31423,17 +36664,17 @@ then78: %t961 = load ptr, ptr %t902 %t962 = getelementptr inbounds %Cmp_Val, ptr %t961, i32 0, i32 0 %t963 = load ptr, ptr %t962 - %t964 = call ptr @fn_str_concat(ptr @.str1343, ptr %t963) - %t965 = call ptr @fn_str_concat(ptr %t964, ptr @.str1344) + %t964 = call ptr @fn_str_concat(ptr @.str1486, ptr %t963) + %t965 = call ptr @fn_str_concat(ptr %t964, ptr @.str1487) %t966 = load ptr, ptr %t960 %t967 = call ptr @fn_str_concat(ptr %t965, ptr %t966) %t968 = call ptr @fn_emit_bind(ptr %t967) - %t969 = call ptr @fn_val(ptr %t968, ptr @.str1345) + %t969 = call ptr @fn_val(ptr %t968, ptr @.str1488) store ptr %t969, ptr %retval br label %ret ifend80: %t970 = load ptr, ptr %t0 - %t971 = call i32 @fn_str_eq(ptr %t970, ptr @.str1346) + %t971 = call i32 @fn_str_eq(ptr %t970, ptr @.str1489) %t972 = icmp ne i32 %t971, 0 br i1 %t972, label %then81, label %ifend83 then81: @@ -31464,29 +36705,29 @@ then81: %t997 = call ptr @fn_fx_div_code(ptr %t993, ptr %t996) store ptr %t997, ptr %t998 %t999 = load ptr, ptr %t998 - %t1000 = call ptr @fn_str_concat(ptr @.str1347, ptr %t999) - %t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str1348) + %t1000 = call ptr @fn_str_concat(ptr @.str1490, ptr %t999) + %t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str1491) %t1002 = call ptr @fn_emit_bind(ptr %t1001) store ptr %t1002, ptr %t1003 %t1004 = load ptr, ptr %t1003 - %t1005 = call ptr @fn_str_concat(ptr @.str1349, ptr %t1004) - %t1006 = call ptr @fn_str_concat(ptr %t1005, ptr @.str1350) + %t1005 = call ptr @fn_str_concat(ptr @.str1492, ptr %t1004) + %t1006 = call ptr @fn_str_concat(ptr %t1005, ptr @.str1493) %t1007 = call ptr @fn_emit_bind(ptr %t1006) store ptr %t1007, ptr %t1008 %t1009 = load ptr, ptr %t1008 - %t1010 = call ptr @fn_str_concat(ptr @.str1351, ptr %t1009) - %t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str1352) + %t1010 = call ptr @fn_str_concat(ptr @.str1494, ptr %t1009) + %t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str1495) %t1012 = load ptr, ptr %t990 %t1013 = getelementptr inbounds %Cmp_Val, ptr %t1012, i32 0, i32 0 %t1014 = load ptr, ptr %t1013 %t1015 = call ptr @fn_str_concat(ptr %t1011, ptr %t1014) %t1016 = call ptr @fn_emit_bind(ptr %t1015) - %t1017 = call ptr @fn_val(ptr %t1016, ptr @.str1353) + %t1017 = call ptr @fn_val(ptr %t1016, ptr @.str1496) store ptr %t1017, ptr %retval br label %ret ifend83: %t1018 = load ptr, ptr %t0 - %t1019 = call i32 @fn_str_eq(ptr %t1018, ptr @.str1354) + %t1019 = call i32 @fn_str_eq(ptr %t1018, ptr @.str1497) %t1020 = icmp ne i32 %t1019, 0 br i1 %t1020, label %then84, label %ifend86 then84: @@ -31520,8 +36761,8 @@ then84: %t1048 = load ptr, ptr %t1038 %t1049 = getelementptr inbounds %Cmp_Val, ptr %t1048, i32 0, i32 0 %t1050 = load ptr, ptr %t1049 - %t1051 = call ptr @fn_str_concat(ptr @.str1355, ptr %t1050) - %t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str1356) + %t1051 = call ptr @fn_str_concat(ptr @.str1498, ptr %t1050) + %t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str1499) %t1053 = load ptr, ptr %t1029 %t1054 = getelementptr inbounds %Cmp_Val, ptr %t1053, i32 0, i32 0 %t1055 = load ptr, ptr %t1054 @@ -31529,49 +36770,49 @@ then84: %t1057 = call ptr @fn_emit_bind(ptr %t1056) store ptr %t1057, ptr %t1058 %t1059 = load ptr, ptr %t1058 - %t1060 = call ptr @fn_str_concat(ptr @.str1357, ptr %t1059) + %t1060 = call ptr @fn_str_concat(ptr @.str1500, ptr %t1059) %t1061 = call ptr @fn_emit_bind(ptr %t1060) store ptr %t1061, ptr %t1062 %t1063 = load ptr, ptr %t1058 - %t1064 = call ptr @fn_str_concat(ptr @.str1358, ptr %t1063) - %t1065 = call ptr @fn_str_concat(ptr %t1064, ptr @.str1359) + %t1064 = call ptr @fn_str_concat(ptr @.str1501, ptr %t1063) + %t1065 = call ptr @fn_str_concat(ptr %t1064, ptr @.str1502) %t1066 = call ptr @fn_emit_bind(ptr %t1065) store ptr %t1066, ptr %t1067 %t1068 = load ptr, ptr %t1067 - %t1069 = call ptr @fn_str_concat(ptr @.str1360, ptr %t1068) - %t1070 = call ptr @fn_str_concat(ptr %t1069, ptr @.str1361) + %t1069 = call ptr @fn_str_concat(ptr @.str1503, ptr %t1068) + %t1070 = call ptr @fn_str_concat(ptr %t1069, ptr @.str1504) %t1071 = load ptr, ptr %t1062 %t1072 = call ptr @fn_str_concat(ptr %t1070, ptr %t1071) - %t1073 = call ptr @fn_str_concat(ptr %t1072, ptr @.str1362) + %t1073 = call ptr @fn_str_concat(ptr %t1072, ptr @.str1505) %t1074 = load ptr, ptr %t1058 %t1075 = call ptr @fn_str_concat(ptr %t1073, ptr %t1074) %t1076 = call ptr @fn_emit_bind(ptr %t1075) store ptr %t1076, ptr %t1077 %t1078 = load ptr, ptr %t1058 - %t1079 = call ptr @fn_str_concat(ptr @.str1363, ptr %t1078) - %t1080 = call ptr @fn_str_concat(ptr %t1079, ptr @.str1364) + %t1079 = call ptr @fn_str_concat(ptr @.str1506, ptr %t1078) + %t1080 = call ptr @fn_str_concat(ptr %t1079, ptr @.str1507) %t1081 = call ptr @fn_emit_bind(ptr %t1080) store ptr %t1081, ptr %t1082 %t1083 = load ptr, ptr %t1058 - %t1084 = call ptr @fn_str_concat(ptr @.str1365, ptr %t1083) - %t1085 = call ptr @fn_str_concat(ptr %t1084, ptr @.str1366) + %t1084 = call ptr @fn_str_concat(ptr @.str1508, ptr %t1083) + %t1085 = call ptr @fn_str_concat(ptr %t1084, ptr @.str1509) %t1086 = call ptr @fn_emit_bind(ptr %t1085) store ptr %t1086, ptr %t1087 %t1088 = load ptr, ptr %t1087 - %t1089 = call ptr @fn_str_concat(ptr @.str1367, ptr %t1088) - %t1090 = call ptr @fn_str_concat(ptr %t1089, ptr @.str1368) + %t1089 = call ptr @fn_str_concat(ptr @.str1510, ptr %t1088) + %t1090 = call ptr @fn_str_concat(ptr %t1089, ptr @.str1511) %t1091 = call ptr @fn_emit_bind(ptr %t1090) store ptr %t1091, ptr %t1092 %t1093 = load ptr, ptr %t1082 - %t1094 = call ptr @fn_str_concat(ptr @.str1369, ptr %t1093) - %t1095 = call ptr @fn_str_concat(ptr %t1094, ptr @.str1370) + %t1094 = call ptr @fn_str_concat(ptr @.str1512, ptr %t1093) + %t1095 = call ptr @fn_str_concat(ptr %t1094, ptr @.str1513) %t1096 = load ptr, ptr %t1092 %t1097 = call ptr @fn_str_concat(ptr %t1095, ptr %t1096) %t1098 = call ptr @fn_emit_bind(ptr %t1097) store ptr %t1098, ptr %t1099 %t1100 = load ptr, ptr %t1099 - %t1101 = call ptr @fn_str_concat(ptr @.str1371, ptr %t1100) - %t1102 = call ptr @fn_str_concat(ptr %t1101, ptr @.str1372) + %t1101 = call ptr @fn_str_concat(ptr @.str1514, ptr %t1100) + %t1102 = call ptr @fn_str_concat(ptr %t1101, ptr @.str1515) %t1103 = load ptr, ptr %t1047 %t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0 %t1105 = load ptr, ptr %t1104 @@ -31581,15 +36822,15 @@ then84: %t1109 = load ptr, ptr %t1029 %t1110 = getelementptr inbounds %Cmp_Val, ptr %t1109, i32 0, i32 0 %t1111 = load ptr, ptr %t1110 - %t1112 = call ptr @fn_str_concat(ptr @.str1373, ptr %t1111) - %t1113 = call ptr @fn_str_concat(ptr %t1112, ptr @.str1374) + %t1112 = call ptr @fn_str_concat(ptr @.str1516, ptr %t1111) + %t1113 = call ptr @fn_str_concat(ptr %t1112, ptr @.str1517) %t1114 = load ptr, ptr %t1108 %t1115 = call ptr @fn_str_concat(ptr %t1113, ptr %t1114) %t1116 = call ptr @fn_emit_bind(ptr %t1115) store ptr %t1116, ptr %t1117 %t1118 = load ptr, ptr %t1077 - %t1119 = call ptr @fn_str_concat(ptr @.str1375, ptr %t1118) - %t1120 = call ptr @fn_str_concat(ptr %t1119, ptr @.str1376) + %t1119 = call ptr @fn_str_concat(ptr @.str1518, ptr %t1118) + %t1120 = call ptr @fn_str_concat(ptr %t1119, ptr @.str1519) %t1121 = load ptr, ptr %t1047 %t1122 = getelementptr inbounds %Cmp_Val, ptr %t1121, i32 0, i32 0 %t1123 = load ptr, ptr %t1122 @@ -31597,22 +36838,22 @@ then84: %t1125 = call ptr @fn_emit_bind(ptr %t1124) store ptr %t1125, ptr %t1126 %t1127 = load ptr, ptr %t1126 - %t1128 = call ptr @fn_str_concat(ptr @.str1377, ptr %t1127) - %t1129 = call ptr @fn_str_concat(ptr %t1128, ptr @.str1378) + %t1128 = call ptr @fn_str_concat(ptr @.str1520, ptr %t1127) + %t1129 = call ptr @fn_str_concat(ptr %t1128, ptr @.str1521) %t1130 = load ptr, ptr %t1038 %t1131 = getelementptr inbounds %Cmp_Val, ptr %t1130, i32 0, i32 0 %t1132 = load ptr, ptr %t1131 %t1133 = call ptr @fn_str_concat(ptr %t1129, ptr %t1132) - %t1134 = call ptr @fn_str_concat(ptr %t1133, ptr @.str1379) + %t1134 = call ptr @fn_str_concat(ptr %t1133, ptr @.str1522) %t1135 = load ptr, ptr %t1117 %t1136 = call ptr @fn_str_concat(ptr %t1134, ptr %t1135) %t1137 = call ptr @fn_emit_bind(ptr %t1136) - %t1138 = call ptr @fn_val(ptr %t1137, ptr @.str1380) + %t1138 = call ptr @fn_val(ptr %t1137, ptr @.str1523) store ptr %t1138, ptr %retval br label %ret ifend86: %t1139 = load ptr, ptr %t0 - %t1140 = call i32 @fn_str_eq(ptr %t1139, ptr @.str1381) + %t1140 = call i32 @fn_str_eq(ptr %t1139, ptr @.str1524) %t1141 = icmp ne i32 %t1140, 0 br i1 %t1141, label %then87, label %ifend89 then87: @@ -31655,36 +36896,36 @@ then87: %t1178 = call ptr @fn_fx_inv_lerp_code(ptr %t1171, ptr %t1174, ptr %t1177) store ptr %t1178, ptr %t1179 %t1180 = load ptr, ptr %t1179 - %t1181 = call ptr @fn_str_concat(ptr @.str1382, ptr %t1180) - %t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str1383) + %t1181 = call ptr @fn_str_concat(ptr @.str1525, ptr %t1180) + %t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str1526) %t1183 = call ptr @fn_emit_bind(ptr %t1182) store ptr %t1183, ptr %t1184 %t1185 = load ptr, ptr %t1184 - %t1186 = call ptr @fn_str_concat(ptr @.str1384, ptr %t1185) - %t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str1385) + %t1186 = call ptr @fn_str_concat(ptr @.str1527, ptr %t1185) + %t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str1528) %t1188 = load ptr, ptr %t1179 %t1189 = call ptr @fn_str_concat(ptr %t1187, ptr %t1188) %t1190 = call ptr @fn_emit_bind(ptr %t1189) store ptr %t1190, ptr %t1191 %t1192 = load ptr, ptr %t1191 - %t1193 = call ptr @fn_str_concat(ptr @.str1386, ptr %t1192) - %t1194 = call ptr @fn_str_concat(ptr %t1193, ptr @.str1387) + %t1193 = call ptr @fn_str_concat(ptr @.str1529, ptr %t1192) + %t1194 = call ptr @fn_str_concat(ptr %t1193, ptr @.str1530) %t1195 = call ptr @fn_emit_bind(ptr %t1194) store ptr %t1195, ptr %t1196 %t1197 = load ptr, ptr %t1196 - %t1198 = call ptr @fn_str_concat(ptr @.str1388, ptr %t1197) - %t1199 = call ptr @fn_str_concat(ptr %t1198, ptr @.str1389) + %t1198 = call ptr @fn_str_concat(ptr @.str1531, ptr %t1197) + %t1199 = call ptr @fn_str_concat(ptr %t1198, ptr @.str1532) %t1200 = load ptr, ptr %t1191 %t1201 = call ptr @fn_str_concat(ptr %t1199, ptr %t1200) %t1202 = call ptr @fn_emit_bind(ptr %t1201) store ptr %t1202, ptr %t1203 %t1204 = load ptr, ptr %t1203 - %t1205 = call ptr @fn_str_concat(ptr @.str1390, ptr %t1204) - %t1206 = call ptr @fn_str_concat(ptr %t1205, ptr @.str1391) + %t1205 = call ptr @fn_str_concat(ptr @.str1533, ptr %t1204) + %t1206 = call ptr @fn_str_concat(ptr %t1205, ptr @.str1534) %t1207 = call ptr @fn_emit_bind(ptr %t1206) store ptr %t1207, ptr %t1208 %t1209 = load ptr, ptr %t1208 - %t1210 = call ptr @fn_str_concat(ptr @.str1392, ptr %t1209) + %t1210 = call ptr @fn_str_concat(ptr @.str1535, ptr %t1209) %t1211 = call ptr @fn_emit_bind(ptr %t1210) store ptr %t1211, ptr %t1212 %t1213 = load ptr, ptr %t1203 @@ -31694,7 +36935,7 @@ then87: %t1217 = load ptr, ptr %t1216 %t1218 = load ptr, ptr %t1212 %t1219 = call ptr @fn_fx_mul_code(ptr %t1217, ptr %t1218) - %t1220 = call ptr @fn_val(ptr %t1219, ptr @.str1393) + %t1220 = call ptr @fn_val(ptr %t1219, ptr @.str1536) store ptr %t1220, ptr %retval br label %ret ifend89: @@ -31762,7 +37003,7 @@ ifend89: %t1282 = load ptr, ptr %t1281 %t1283 = load ptr, ptr %t1276 %t1284 = call ptr @fn_fx_lerp_code(ptr %t1279, ptr %t1282, ptr %t1283) - %t1285 = call ptr @fn_val(ptr %t1284, ptr @.str1394) + %t1285 = call ptr @fn_val(ptr %t1284, ptr @.str1537) store ptr %t1285, ptr %retval br label %ret ret: @@ -31772,115 +37013,115 @@ ret: define void @fn_emit_math_prelude() { entry: - call void @fn_emith(ptr @.str1395) - call void @fn_emith(ptr @.str1396) - call void @fn_emith(ptr @.str1397) - call void @fn_emith(ptr @.str1398) - call void @fn_emith(ptr @.str1399) - call void @fn_emith(ptr @.str1400) - call void @fn_emith(ptr @.str1401) - call void @fn_emith(ptr @.str1402) - call void @fn_emith(ptr @.str1403) - call void @fn_emith(ptr @.str1404) - call void @fn_emith(ptr @.str1405) - call void @fn_emith(ptr @.str1406) - call void @fn_emith(ptr @.str1407) - call void @fn_emith(ptr @.str1408) - call void @fn_emith(ptr @.str1409) - call void @fn_emith(ptr @.str1410) - call void @fn_emith(ptr @.str1411) - call void @fn_emith(ptr @.str1412) - call void @fn_emith(ptr @.str1413) - call void @fn_emith(ptr @.str1414) - call void @fn_emith(ptr @.str1415) - call void @fn_emith(ptr @.str1416) - call void @fn_emith(ptr @.str1417) - call void @fn_emith(ptr @.str1418) - call void @fn_emith(ptr @.str1419) - call void @fn_emith(ptr @.str1420) - call void @fn_emith(ptr @.str1421) - call void @fn_emith(ptr @.str1422) - call void @fn_emith(ptr @.str1423) - call void @fn_emith(ptr @.str1424) - call void @fn_emith(ptr @.str1425) - call void @fn_emith(ptr @.str1426) - call void @fn_emith(ptr @.str1427) - call void @fn_emith(ptr @.str1428) - call void @fn_emith(ptr @.str1429) - call void @fn_emith(ptr @.str1430) - call void @fn_emith(ptr @.str1431) - call void @fn_emith(ptr @.str1432) - call void @fn_emith(ptr @.str1433) - call void @fn_emith(ptr @.str1434) - call void @fn_emith(ptr @.str1435) - call void @fn_emith(ptr @.str1436) - call void @fn_emith(ptr @.str1437) - call void @fn_emith(ptr @.str1438) - call void @fn_emith(ptr @.str1439) - call void @fn_emith(ptr @.str1440) - call void @fn_emith(ptr @.str1441) - call void @fn_emith(ptr @.str1442) - call void @fn_emith(ptr @.str1443) - call void @fn_emith(ptr @.str1444) - call void @fn_emith(ptr @.str1445) - call void @fn_emith(ptr @.str1446) - call void @fn_emith(ptr @.str1447) - call void @fn_emith(ptr @.str1448) - call void @fn_emith(ptr @.str1449) - call void @fn_emith(ptr @.str1450) - call void @fn_emith(ptr @.str1451) - call void @fn_emith(ptr @.str1452) - call void @fn_emith(ptr @.str1453) - call void @fn_emith(ptr @.str1454) - call void @fn_emith(ptr @.str1455) - call void @fn_emith(ptr @.str1456) - call void @fn_emith(ptr @.str1457) - call void @fn_emith(ptr @.str1458) - call void @fn_emith(ptr @.str1459) - call void @fn_emith(ptr @.str1460) - call void @fn_emith(ptr @.str1461) - call void @fn_emith(ptr @.str1462) - call void @fn_emith(ptr @.str1463) - call void @fn_emith(ptr @.str1464) - call void @fn_emith(ptr @.str1465) - call void @fn_emith(ptr @.str1466) - call void @fn_emith(ptr @.str1467) - call void @fn_emith(ptr @.str1468) - call void @fn_emith(ptr @.str1469) - call void @fn_emith(ptr @.str1470) - call void @fn_emith(ptr @.str1471) - call void @fn_emith(ptr @.str1472) - call void @fn_emith(ptr @.str1473) - call void @fn_emith(ptr @.str1474) - call void @fn_emith(ptr @.str1475) - call void @fn_emith(ptr @.str1476) - call void @fn_emith(ptr @.str1477) - call void @fn_emith(ptr @.str1478) - call void @fn_emith(ptr @.str1479) - call void @fn_emith(ptr @.str1480) - call void @fn_emith(ptr @.str1481) - call void @fn_emith(ptr @.str1482) - call void @fn_emith(ptr @.str1483) - call void @fn_emith(ptr @.str1484) - call void @fn_emith(ptr @.str1485) - call void @fn_emith(ptr @.str1486) - call void @fn_emith(ptr @.str1487) - call void @fn_emith(ptr @.str1488) - call void @fn_emith(ptr @.str1489) - call void @fn_emith(ptr @.str1490) - call void @fn_emith(ptr @.str1491) - call void @fn_emith(ptr @.str1492) - call void @fn_emith(ptr @.str1493) - call void @fn_emith(ptr @.str1494) - call void @fn_emith(ptr @.str1495) - call void @fn_emith(ptr @.str1496) - call void @fn_emith(ptr @.str1497) - call void @fn_emith(ptr @.str1498) - call void @fn_emith(ptr @.str1499) - call void @fn_emith(ptr @.str1500) - call void @fn_emith(ptr @.str1501) - call void @fn_emith(ptr @.str1502) - call void @fn_emith(ptr @.str1503) + call void @fn_emith(ptr @.str1538) + call void @fn_emith(ptr @.str1539) + call void @fn_emith(ptr @.str1540) + call void @fn_emith(ptr @.str1541) + call void @fn_emith(ptr @.str1542) + call void @fn_emith(ptr @.str1543) + call void @fn_emith(ptr @.str1544) + call void @fn_emith(ptr @.str1545) + call void @fn_emith(ptr @.str1546) + call void @fn_emith(ptr @.str1547) + call void @fn_emith(ptr @.str1548) + call void @fn_emith(ptr @.str1549) + call void @fn_emith(ptr @.str1550) + call void @fn_emith(ptr @.str1551) + call void @fn_emith(ptr @.str1552) + call void @fn_emith(ptr @.str1553) + call void @fn_emith(ptr @.str1554) + call void @fn_emith(ptr @.str1555) + call void @fn_emith(ptr @.str1556) + call void @fn_emith(ptr @.str1557) + call void @fn_emith(ptr @.str1558) + call void @fn_emith(ptr @.str1559) + call void @fn_emith(ptr @.str1560) + call void @fn_emith(ptr @.str1561) + call void @fn_emith(ptr @.str1562) + call void @fn_emith(ptr @.str1563) + call void @fn_emith(ptr @.str1564) + call void @fn_emith(ptr @.str1565) + call void @fn_emith(ptr @.str1566) + call void @fn_emith(ptr @.str1567) + call void @fn_emith(ptr @.str1568) + call void @fn_emith(ptr @.str1569) + call void @fn_emith(ptr @.str1570) + call void @fn_emith(ptr @.str1571) + call void @fn_emith(ptr @.str1572) + call void @fn_emith(ptr @.str1573) + call void @fn_emith(ptr @.str1574) + call void @fn_emith(ptr @.str1575) + call void @fn_emith(ptr @.str1576) + call void @fn_emith(ptr @.str1577) + call void @fn_emith(ptr @.str1578) + call void @fn_emith(ptr @.str1579) + call void @fn_emith(ptr @.str1580) + call void @fn_emith(ptr @.str1581) + call void @fn_emith(ptr @.str1582) + call void @fn_emith(ptr @.str1583) + call void @fn_emith(ptr @.str1584) + call void @fn_emith(ptr @.str1585) + call void @fn_emith(ptr @.str1586) + call void @fn_emith(ptr @.str1587) + call void @fn_emith(ptr @.str1588) + call void @fn_emith(ptr @.str1589) + call void @fn_emith(ptr @.str1590) + call void @fn_emith(ptr @.str1591) + call void @fn_emith(ptr @.str1592) + call void @fn_emith(ptr @.str1593) + call void @fn_emith(ptr @.str1594) + call void @fn_emith(ptr @.str1595) + call void @fn_emith(ptr @.str1596) + call void @fn_emith(ptr @.str1597) + call void @fn_emith(ptr @.str1598) + call void @fn_emith(ptr @.str1599) + call void @fn_emith(ptr @.str1600) + call void @fn_emith(ptr @.str1601) + call void @fn_emith(ptr @.str1602) + call void @fn_emith(ptr @.str1603) + call void @fn_emith(ptr @.str1604) + call void @fn_emith(ptr @.str1605) + call void @fn_emith(ptr @.str1606) + call void @fn_emith(ptr @.str1607) + call void @fn_emith(ptr @.str1608) + call void @fn_emith(ptr @.str1609) + call void @fn_emith(ptr @.str1610) + call void @fn_emith(ptr @.str1611) + call void @fn_emith(ptr @.str1612) + call void @fn_emith(ptr @.str1613) + call void @fn_emith(ptr @.str1614) + call void @fn_emith(ptr @.str1615) + call void @fn_emith(ptr @.str1616) + call void @fn_emith(ptr @.str1617) + call void @fn_emith(ptr @.str1618) + call void @fn_emith(ptr @.str1619) + call void @fn_emith(ptr @.str1620) + call void @fn_emith(ptr @.str1621) + call void @fn_emith(ptr @.str1622) + call void @fn_emith(ptr @.str1623) + call void @fn_emith(ptr @.str1624) + call void @fn_emith(ptr @.str1625) + call void @fn_emith(ptr @.str1626) + call void @fn_emith(ptr @.str1627) + call void @fn_emith(ptr @.str1628) + call void @fn_emith(ptr @.str1629) + call void @fn_emith(ptr @.str1630) + call void @fn_emith(ptr @.str1631) + call void @fn_emith(ptr @.str1632) + call void @fn_emith(ptr @.str1633) + call void @fn_emith(ptr @.str1634) + call void @fn_emith(ptr @.str1635) + call void @fn_emith(ptr @.str1636) + call void @fn_emith(ptr @.str1637) + call void @fn_emith(ptr @.str1638) + call void @fn_emith(ptr @.str1639) + call void @fn_emith(ptr @.str1640) + call void @fn_emith(ptr @.str1641) + call void @fn_emith(ptr @.str1642) + call void @fn_emith(ptr @.str1643) + call void @fn_emith(ptr @.str1644) + call void @fn_emith(ptr @.str1645) + call void @fn_emith(ptr @.str1646) br label %ret ret: ret void @@ -31897,23 +37138,23 @@ entry: store ptr %arg_x, ptr %t0 store ptr %arg_y, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str1504, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1505) + %t3 = call ptr @fn_str_concat(ptr @.str1647, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1648) %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 @.str1506, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1507) + %t8 = call ptr @fn_str_concat(ptr @.str1649, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1650) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 - %t13 = call ptr @fn_str_concat(ptr @.str1508, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1509) + %t13 = call ptr @fn_str_concat(ptr @.str1651, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1652) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t11 - %t18 = call ptr @fn_str_concat(ptr @.str1510, ptr %t17) - %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1511) + %t18 = call ptr @fn_str_concat(ptr @.str1653, ptr %t17) + %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1654) %t20 = load ptr, ptr %t16 %t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) @@ -31931,13 +37172,13 @@ entry: %t5 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str1512, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1513) + %t2 = call ptr @fn_str_concat(ptr @.str1655, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1656) %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 @.str1514, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1515) + %t7 = call ptr @fn_str_concat(ptr @.str1657, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1658) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret @@ -31952,8 +37193,8 @@ entry: %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str1516, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1517) + %t2 = call ptr @fn_str_concat(ptr @.str1659, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1660) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %retval br label %ret @@ -31979,14 +37220,14 @@ entry: %t83 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1518) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1661) %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 @.str1519) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1662) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -31999,7 +37240,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1520) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1663) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -32012,7 +37253,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1521) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1664) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -32026,14 +37267,14 @@ then6: br label %ret ifend8: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1522) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1665) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1523) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1666) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 @@ -32046,7 +37287,7 @@ scend10: br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1524) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1667) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 @@ -32059,7 +37300,7 @@ scend12: br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1525) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1668) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 @@ -32073,14 +37314,14 @@ then15: br label %ret ifend17: %t58 = load ptr, ptr %t0 - %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str1526) + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str1669) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t57 br i1 %t60, label %scend19, label %sc18 sc18: %t62 = load ptr, ptr %t0 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str1527) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str1670) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t57 @@ -32093,7 +37334,7 @@ scend19: br i1 %t67, label %scend21, label %sc20 sc20: %t69 = load ptr, ptr %t0 - %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1528) + %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1671) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t56 @@ -32106,7 +37347,7 @@ scend21: br i1 %t74, label %scend23, label %sc22 sc22: %t76 = load ptr, ptr %t0 - %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1529) + %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1672) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t55 @@ -32120,14 +37361,14 @@ then24: br label %ret ifend26: %t84 = load ptr, ptr %t0 - %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str1530) + %t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str1673) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t83 br i1 %t86, label %scend28, label %sc27 sc27: %t88 = load ptr, ptr %t0 - %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str1531) + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str1674) %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t83 @@ -32140,7 +37381,7 @@ scend28: br i1 %t93, label %scend30, label %sc29 sc29: %t95 = load ptr, ptr %t0 - %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str1532) + %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str1675) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t82 @@ -32260,16 +37501,16 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1533) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1676) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_val(ptr @.str1534, ptr @.str1535) + %t5 = call ptr @fn_val(ptr @.str1677, ptr @.str1678) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 - %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1536) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1679) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: @@ -32298,12 +37539,12 @@ then3: %t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_vec_pack(ptr %t29, ptr %t32) - %t34 = call ptr @fn_val(ptr %t33, ptr @.str1537) + %t34 = call ptr @fn_val(ptr %t33, ptr @.str1680) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1538) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1681) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: @@ -32320,12 +37561,12 @@ then6: %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_vec_x(ptr %t49) - %t51 = call ptr @fn_val(ptr %t50, ptr @.str1539) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str1682) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1540) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1683) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: @@ -32342,12 +37583,12 @@ then9: %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_vec_y(ptr %t66) - %t68 = call ptr @fn_val(ptr %t67, ptr @.str1541) + %t68 = call ptr @fn_val(ptr %t67, ptr @.str1684) store ptr %t68, ptr %retval br label %ret ifend11: %t69 = load ptr, ptr %t0 - %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1542) + %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1685) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then12, label %ifend14 then12: @@ -32390,15 +37631,15 @@ then12: %t108 = call ptr @fn_vec_y(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t94 - %t111 = call ptr @fn_str_concat(ptr @.str1543, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1544) + %t111 = call ptr @fn_str_concat(ptr @.str1686, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1687) %t113 = load ptr, ptr %t104 %t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %t116 %t117 = load ptr, ptr %t99 - %t118 = call ptr @fn_str_concat(ptr @.str1545, ptr %t117) - %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1546) + %t118 = call ptr @fn_str_concat(ptr @.str1688, ptr %t117) + %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1689) %t120 = load ptr, ptr %t109 %t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) @@ -32406,12 +37647,12 @@ then12: %t124 = load ptr, ptr %t116 %t125 = load ptr, ptr %t123 %t126 = call ptr @fn_vec_pack(ptr %t124, ptr %t125) - %t127 = call ptr @fn_val(ptr %t126, ptr @.str1547) + %t127 = call ptr @fn_val(ptr %t126, ptr @.str1690) store ptr %t127, ptr %retval br label %ret ifend14: %t128 = load ptr, ptr %t0 - %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1548) + %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1691) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then15, label %ifend17 then15: @@ -32454,15 +37695,15 @@ then15: %t167 = call ptr @fn_vec_y(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t153 - %t170 = call ptr @fn_str_concat(ptr @.str1549, ptr %t169) - %t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1550) + %t170 = call ptr @fn_str_concat(ptr @.str1692, ptr %t169) + %t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1693) %t172 = load ptr, ptr %t163 %t173 = call ptr @fn_str_concat(ptr %t171, ptr %t172) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t158 - %t177 = call ptr @fn_str_concat(ptr @.str1551, ptr %t176) - %t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1552) + %t177 = call ptr @fn_str_concat(ptr @.str1694, ptr %t176) + %t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1695) %t179 = load ptr, ptr %t168 %t180 = call ptr @fn_str_concat(ptr %t178, ptr %t179) %t181 = call ptr @fn_emit_bind(ptr %t180) @@ -32470,12 +37711,12 @@ then15: %t183 = load ptr, ptr %t175 %t184 = load ptr, ptr %t182 %t185 = call ptr @fn_vec_pack(ptr %t183, ptr %t184) - %t186 = call ptr @fn_val(ptr %t185, ptr @.str1553) + %t186 = call ptr @fn_val(ptr %t185, ptr @.str1696) store ptr %t186, ptr %retval br label %ret ifend17: %t187 = load ptr, ptr %t0 - %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1554) + %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1697) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then18, label %ifend20 then18: @@ -32522,12 +37763,12 @@ then18: %t230 = load ptr, ptr %t223 %t231 = load ptr, ptr %t229 %t232 = call ptr @fn_vec_pack(ptr %t230, ptr %t231) - %t233 = call ptr @fn_val(ptr %t232, ptr @.str1555) + %t233 = call ptr @fn_val(ptr %t232, ptr @.str1698) store ptr %t233, ptr %retval br label %ret ifend20: %t234 = load ptr, ptr %t0 - %t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str1556) + %t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str1699) %t236 = icmp ne i32 %t235, 0 br i1 %t236, label %then21, label %ifend23 then21: @@ -32578,17 +37819,17 @@ then21: %t281 = call ptr @fn_fx_mul_code(ptr %t279, ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t278 - %t284 = call ptr @fn_str_concat(ptr @.str1557, ptr %t283) - %t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str1558) + %t284 = call ptr @fn_str_concat(ptr @.str1700, ptr %t283) + %t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str1701) %t286 = load ptr, ptr %t282 %t287 = call ptr @fn_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @fn_emit_bind(ptr %t287) - %t289 = call ptr @fn_val(ptr %t288, ptr @.str1559) + %t289 = call ptr @fn_val(ptr %t288, ptr @.str1702) store ptr %t289, ptr %retval br label %ret ifend23: %t290 = load ptr, ptr %t0 - %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1560) + %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1703) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then24, label %ifend26 then24: @@ -32621,22 +37862,22 @@ then24: %t318 = call ptr @fn_fx_mul_code(ptr %t316, ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t315 - %t321 = call ptr @fn_str_concat(ptr @.str1561, ptr %t320) - %t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str1562) + %t321 = call ptr @fn_str_concat(ptr @.str1704, ptr %t320) + %t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str1705) %t323 = load ptr, ptr %t319 %t324 = call ptr @fn_str_concat(ptr %t322, ptr %t323) %t325 = call ptr @fn_emit_bind(ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t326 - %t328 = call ptr @fn_str_concat(ptr @.str1563, ptr %t327) - %t329 = call ptr @fn_str_concat(ptr %t328, ptr @.str1564) + %t328 = call ptr @fn_str_concat(ptr @.str1706, ptr %t327) + %t329 = call ptr @fn_str_concat(ptr %t328, ptr @.str1707) %t330 = call ptr @fn_emit_bind(ptr %t329) - %t331 = call ptr @fn_val(ptr %t330, ptr @.str1565) + %t331 = call ptr @fn_val(ptr %t330, ptr @.str1708) store ptr %t331, ptr %retval br label %ret ifend26: %t332 = load ptr, ptr %t0 - %t333 = call i32 @fn_str_eq(ptr %t332, ptr @.str1566) + %t333 = call i32 @fn_str_eq(ptr %t332, ptr @.str1709) %t334 = icmp ne i32 %t333, 0 br i1 %t334, label %then27, label %ifend29 then27: @@ -32680,15 +37921,15 @@ then27: %t371 = call ptr @fn_vec_y(ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t357 - %t374 = call ptr @fn_str_concat(ptr @.str1567, ptr %t373) - %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1568) + %t374 = call ptr @fn_str_concat(ptr @.str1710, ptr %t373) + %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1711) %t376 = load ptr, ptr %t367 %t377 = call ptr @fn_str_concat(ptr %t375, ptr %t376) %t378 = call ptr @fn_emit_bind(ptr %t377) store ptr %t378, ptr %t379 %t380 = load ptr, ptr %t362 - %t381 = call ptr @fn_str_concat(ptr @.str1569, ptr %t380) - %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1570) + %t381 = call ptr @fn_str_concat(ptr @.str1712, ptr %t380) + %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1713) %t383 = load ptr, ptr %t372 %t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383) %t385 = call ptr @fn_emit_bind(ptr %t384) @@ -32702,22 +37943,22 @@ then27: %t393 = call ptr @fn_fx_mul_code(ptr %t391, ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t390 - %t396 = call ptr @fn_str_concat(ptr @.str1571, ptr %t395) - %t397 = call ptr @fn_str_concat(ptr %t396, ptr @.str1572) + %t396 = call ptr @fn_str_concat(ptr @.str1714, ptr %t395) + %t397 = call ptr @fn_str_concat(ptr %t396, ptr @.str1715) %t398 = load ptr, ptr %t394 %t399 = call ptr @fn_str_concat(ptr %t397, ptr %t398) %t400 = call ptr @fn_emit_bind(ptr %t399) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t401 - %t403 = call ptr @fn_str_concat(ptr @.str1573, ptr %t402) - %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1574) + %t403 = call ptr @fn_str_concat(ptr @.str1716, ptr %t402) + %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1717) %t405 = call ptr @fn_emit_bind(ptr %t404) - %t406 = call ptr @fn_val(ptr %t405, ptr @.str1575) + %t406 = call ptr @fn_val(ptr %t405, ptr @.str1718) store ptr %t406, ptr %retval br label %ret ifend29: %t407 = load ptr, ptr %t0 - %t408 = call i32 @fn_str_eq(ptr %t407, ptr @.str1576) + %t408 = call i32 @fn_str_eq(ptr %t407, ptr @.str1719) %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then30, label %ifend32 then30: @@ -32750,31 +37991,31 @@ then30: %t435 = call ptr @fn_fx_mul_code(ptr %t433, ptr %t434) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t432 - %t438 = call ptr @fn_str_concat(ptr @.str1577, ptr %t437) - %t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str1578) + %t438 = call ptr @fn_str_concat(ptr @.str1720, ptr %t437) + %t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str1721) %t440 = load ptr, ptr %t436 %t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440) %t442 = call ptr @fn_emit_bind(ptr %t441) store ptr %t442, ptr %t443 %t444 = load ptr, ptr %t443 - %t445 = call ptr @fn_str_concat(ptr @.str1579, ptr %t444) - %t446 = call ptr @fn_str_concat(ptr %t445, ptr @.str1580) + %t445 = call ptr @fn_str_concat(ptr @.str1722, ptr %t444) + %t446 = call ptr @fn_str_concat(ptr %t445, ptr @.str1723) %t447 = call ptr @fn_emit_bind(ptr %t446) store ptr %t447, ptr %t448 %t449 = load ptr, ptr %t448 - %t450 = call ptr @fn_str_concat(ptr @.str1581, ptr %t449) - %t451 = call ptr @fn_str_concat(ptr %t450, ptr @.str1582) + %t450 = call ptr @fn_str_concat(ptr @.str1724, ptr %t449) + %t451 = call ptr @fn_str_concat(ptr %t450, ptr @.str1725) %t452 = call ptr @fn_emit_bind(ptr %t451) store ptr %t452, ptr %t453 %t454 = load ptr, ptr %t453 - %t455 = call ptr @fn_str_concat(ptr @.str1583, ptr %t454) - %t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str1584) + %t455 = call ptr @fn_str_concat(ptr @.str1726, ptr %t454) + %t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str1727) %t457 = load ptr, ptr %t448 %t458 = call ptr @fn_str_concat(ptr %t456, ptr %t457) %t459 = call ptr @fn_emit_bind(ptr %t458) store ptr %t459, ptr %t460 %t461 = load ptr, ptr %t460 - %t462 = call ptr @fn_fx_div_code(ptr @.str1585, ptr %t461) + %t462 = call ptr @fn_fx_div_code(ptr @.str1728, ptr %t461) store ptr %t462, ptr %t463 %t464 = load ptr, ptr %t423 %t465 = load ptr, ptr %t463 @@ -32787,12 +38028,12 @@ then30: %t472 = load ptr, ptr %t467 %t473 = load ptr, ptr %t471 %t474 = call ptr @fn_vec_pack(ptr %t472, ptr %t473) - %t475 = call ptr @fn_val(ptr %t474, ptr @.str1586) + %t475 = call ptr @fn_val(ptr %t474, ptr @.str1729) store ptr %t475, ptr %retval br label %ret ifend32: %t476 = load ptr, ptr %t0 - %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1587) + %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1730) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then33, label %ifend35 then33: @@ -32818,20 +38059,20 @@ then33: %t497 = load ptr, ptr %t496 %t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0 %t499 = load ptr, ptr %t498 - %t500 = call ptr @fn_str_concat(ptr @.str1588, ptr %t499) - %t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1589) + %t500 = call ptr @fn_str_concat(ptr @.str1731, ptr %t499) + %t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1732) %t502 = call ptr @fn_emit_bind(ptr %t501) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t496 %t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0 %t506 = load ptr, ptr %t505 - %t507 = call ptr @fn_str_concat(ptr @.str1590, ptr %t506) - %t508 = call ptr @fn_str_concat(ptr %t507, ptr @.str1591) + %t507 = call ptr @fn_str_concat(ptr @.str1733, ptr %t506) + %t508 = call ptr @fn_str_concat(ptr %t507, ptr @.str1734) %t509 = call ptr @fn_emit_bind(ptr %t508) store ptr %t509, ptr %t510 %t511 = load ptr, ptr %t510 - %t512 = call ptr @fn_str_concat(ptr @.str1592, ptr %t511) - %t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str1593) + %t512 = call ptr @fn_str_concat(ptr @.str1735, ptr %t511) + %t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str1736) %t514 = call ptr @fn_emit_bind(ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t487 @@ -32861,15 +38102,15 @@ then33: %t540 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t539) store ptr %t540, ptr %t541 %t542 = load ptr, ptr %t529 - %t543 = call ptr @fn_str_concat(ptr @.str1594, ptr %t542) - %t544 = call ptr @fn_str_concat(ptr %t543, ptr @.str1595) + %t543 = call ptr @fn_str_concat(ptr @.str1737, ptr %t542) + %t544 = call ptr @fn_str_concat(ptr %t543, ptr @.str1738) %t545 = load ptr, ptr %t533 %t546 = call ptr @fn_str_concat(ptr %t544, ptr %t545) %t547 = call ptr @fn_emit_bind(ptr %t546) store ptr %t547, ptr %t548 %t549 = load ptr, ptr %t537 - %t550 = call ptr @fn_str_concat(ptr @.str1596, ptr %t549) - %t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1597) + %t550 = call ptr @fn_str_concat(ptr @.str1739, ptr %t549) + %t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1740) %t552 = load ptr, ptr %t541 %t553 = call ptr @fn_str_concat(ptr %t551, ptr %t552) %t554 = call ptr @fn_emit_bind(ptr %t553) @@ -32877,12 +38118,12 @@ then33: %t556 = load ptr, ptr %t548 %t557 = load ptr, ptr %t555 %t558 = call ptr @fn_vec_pack(ptr %t556, ptr %t557) - %t559 = call ptr @fn_val(ptr %t558, ptr @.str1598) + %t559 = call ptr @fn_val(ptr %t558, ptr @.str1741) store ptr %t559, ptr %retval br label %ret ifend35: %t560 = load ptr, ptr %t0 - %t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str1599) + %t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str1742) %t562 = icmp ne i32 %t561, 0 br i1 %t562, label %then36, label %ifend38 then36: @@ -32907,18 +38148,18 @@ then36: %t580 = call ptr @fn_vec_y(ptr %t579) store ptr %t580, ptr %t581 %t582 = load ptr, ptr %t581 - %t583 = call ptr @fn_str_concat(ptr @.str1600, ptr %t582) - %t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1601) + %t583 = call ptr @fn_str_concat(ptr @.str1743, ptr %t582) + %t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1744) %t585 = load ptr, ptr %t576 %t586 = call ptr @fn_str_concat(ptr %t584, ptr %t585) - %t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str1602) + %t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str1745) %t588 = call ptr @fn_emit_bind(ptr %t587) - %t589 = call ptr @fn_val(ptr %t588, ptr @.str1603) + %t589 = call ptr @fn_val(ptr %t588, ptr @.str1746) store ptr %t589, ptr %retval br label %ret ifend38: %t590 = load ptr, ptr %t0 - %t591 = call i32 @fn_str_eq(ptr %t590, ptr @.str1604) + %t591 = call i32 @fn_str_eq(ptr %t590, ptr @.str1747) %t592 = icmp ne i32 %t591, 0 br i1 %t592, label %then39, label %ifend41 then39: @@ -32935,26 +38176,26 @@ then39: %t602 = load ptr, ptr %t601 %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 %t604 = load ptr, ptr %t603 - %t605 = call ptr @fn_str_concat(ptr @.str1605, ptr %t604) - %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1606) + %t605 = call ptr @fn_str_concat(ptr @.str1748, ptr %t604) + %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1749) %t607 = call ptr @fn_emit_bind(ptr %t606) store ptr %t607, ptr %t608 %t609 = load ptr, ptr %t601 %t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 0 %t611 = load ptr, ptr %t610 - %t612 = call ptr @fn_str_concat(ptr @.str1607, ptr %t611) - %t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1608) + %t612 = call ptr @fn_str_concat(ptr @.str1750, ptr %t611) + %t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1751) %t614 = call ptr @fn_emit_bind(ptr %t613) store ptr %t614, ptr %t615 %t616 = load ptr, ptr %t615 - %t617 = call ptr @fn_str_concat(ptr @.str1609, ptr %t616) - %t618 = call ptr @fn_str_concat(ptr %t617, ptr @.str1610) + %t617 = call ptr @fn_str_concat(ptr @.str1752, ptr %t616) + %t618 = call ptr @fn_str_concat(ptr %t617, ptr @.str1753) %t619 = call ptr @fn_emit_bind(ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t620 %t622 = load ptr, ptr %t608 %t623 = call ptr @fn_vec_pack(ptr %t621, ptr %t622) - %t624 = call ptr @fn_val(ptr %t623, ptr @.str1611) + %t624 = call ptr @fn_val(ptr %t623, ptr @.str1754) store ptr %t624, ptr %retval br label %ret ifend41: @@ -33022,7 +38263,7 @@ ifend41: %t686 = load ptr, ptr %t678 %t687 = load ptr, ptr %t685 %t688 = call ptr @fn_vec_pack(ptr %t686, ptr %t687) - %t689 = call ptr @fn_val(ptr %t688, ptr @.str1612) + %t689 = call ptr @fn_val(ptr %t688, ptr @.str1755) store ptr %t689, ptr %retval br label %ret ret: @@ -33038,20 +38279,20 @@ entry: %t9 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str1613, ptr %t1) + %t2 = call ptr @fn_str_concat(ptr @.str1756, ptr %t1) %t3 = call ptr @fn_emit_bind(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t0 - %t6 = call ptr @fn_str_concat(ptr @.str1614, ptr %t5) - %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str1615) + %t6 = call ptr @fn_str_concat(ptr @.str1757, ptr %t5) + %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str1758) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 - %t11 = call ptr @fn_str_concat(ptr @.str1616, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1617) + %t11 = call ptr @fn_str_concat(ptr @.str1759, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1760) %t13 = load ptr, ptr %t4 %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1618) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1761) %t16 = load ptr, ptr %t0 %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) @@ -33074,16 +38315,20 @@ entry: %t30 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 + %t74 = alloca i32 + %t75 = alloca i32 + %t76 = alloca i32 + %t77 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1619) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1762) %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 @.str1620) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1763) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -33096,7 +38341,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1621) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1764) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -33109,7 +38354,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1622) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1765) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -33123,14 +38368,14 @@ then6: br label %ret ifend8: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1623) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1766) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1624) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1767) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 @@ -33143,7 +38388,7 @@ scend10: br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1625) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1768) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 @@ -33156,7 +38401,7 @@ scend12: br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1626) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1769) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 @@ -33170,14 +38415,14 @@ then15: br label %ret ifend17: %t57 = load ptr, ptr %t0 - %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1627) + %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str1770) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t56 br i1 %t59, label %scend19, label %sc18 sc18: %t61 = load ptr, ptr %t0 - %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str1628) + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str1771) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t56 @@ -33190,7 +38435,7 @@ scend19: br i1 %t66, label %scend21, label %sc20 sc20: %t68 = load ptr, ptr %t0 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1629) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1772) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t55 @@ -33203,11 +38448,71 @@ then22: store i32 1, ptr %retval br label %ret ifend24: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str1773) + %t80 = icmp ne i32 %t79, 0 + %t81 = zext i1 %t80 to i32 + store i32 %t81, ptr %t77 + br i1 %t80, label %scend26, label %sc25 +sc25: + %t82 = load ptr, ptr %t0 + %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str1774) + %t84 = icmp ne i32 %t83, 0 + %t85 = zext i1 %t84 to i32 + store i32 %t85, ptr %t77 + br label %scend26 +scend26: + %t86 = load i32, ptr %t77 + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t76 + br i1 %t87, label %scend28, label %sc27 +sc27: + %t89 = load ptr, ptr %t0 + %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1775) + %t91 = icmp ne i32 %t90, 0 + %t92 = zext i1 %t91 to i32 + store i32 %t92, ptr %t76 + br label %scend28 +scend28: + %t93 = load i32, ptr %t76 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t75 + br i1 %t94, label %scend30, label %sc29 +sc29: + %t96 = load ptr, ptr %t0 + %t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str1776) + %t98 = icmp ne i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + store i32 %t99, ptr %t75 + br label %scend30 +scend30: + %t100 = load i32, ptr %t75 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t74 + br i1 %t101, label %scend32, label %sc31 +sc31: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str1777) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t74 + br label %scend32 +scend32: + %t107 = load i32, ptr %t74 + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then33, label %ifend35 +then33: + store i32 1, ptr %retval + br label %ret +ifend35: store i32 0, ptr %retval br label %ret ret: - %t74 = load i32, ptr %retval - ret i32 %t74 + %t109 = load i32, ptr %retval + ret i32 %t109 } define ptr @fn_emit_ivec_ns(ptr %arg_meth, ptr %arg_e) { @@ -33219,67 +38524,84 @@ entry: %t26 = alloca ptr %t46 = alloca ptr %t63 = alloca ptr - %t80 = alloca ptr - %t89 = alloca ptr - %t94 = alloca ptr - %t99 = alloca ptr - %t104 = alloca ptr - %t109 = alloca ptr - %t116 = alloca ptr + %t69 = alloca i32 + %t88 = alloca ptr + %t97 = alloca ptr + %t110 = alloca ptr %t123 = alloca ptr - %t139 = alloca ptr - %t148 = alloca ptr - %t153 = alloca ptr + %t130 = alloca ptr + %t137 = alloca ptr + %t144 = alloca ptr %t158 = alloca ptr - %t163 = alloca ptr - %t168 = alloca ptr - %t175 = alloca ptr - %t182 = alloca ptr - %t198 = alloca ptr - %t207 = alloca ptr - %t212 = alloca ptr - %t217 = alloca ptr - %t226 = alloca ptr - %t235 = alloca ptr - %t251 = alloca ptr - %t260 = alloca ptr - %t265 = alloca ptr - %t270 = alloca ptr - %t275 = alloca ptr - %t280 = alloca ptr - %t287 = alloca ptr - %t294 = alloca ptr + %t169 = alloca ptr + %t176 = alloca ptr + %t197 = alloca ptr + %t206 = alloca ptr + %t234 = alloca ptr + %t243 = alloca ptr + %t252 = alloca ptr + %t285 = alloca ptr + %t304 = alloca ptr %t313 = alloca ptr - %t322 = alloca ptr + %t318 = alloca ptr + %t323 = alloca ptr + %t328 = alloca ptr %t333 = alloca ptr - %t350 = alloca ptr - %t359 = alloca ptr - %t364 = alloca ptr - %t369 = alloca ptr - %t374 = alloca ptr - %t379 = alloca ptr - %t386 = alloca ptr - %t393 = alloca ptr - %t396 = alloca ptr + %t340 = alloca ptr + %t347 = alloca ptr + %t363 = alloca ptr + %t372 = alloca ptr + %t377 = alloca ptr + %t382 = alloca ptr + %t387 = alloca ptr + %t392 = alloca ptr %t399 = alloca ptr - %t415 = alloca ptr - %t420 = alloca ptr - %t425 = alloca ptr - %t430 = alloca ptr - %t435 = alloca ptr + %t406 = alloca ptr + %t422 = alloca ptr + %t431 = alloca ptr + %t436 = alloca ptr + %t441 = alloca ptr + %t450 = alloca ptr + %t459 = alloca ptr + %t475 = alloca ptr + %t484 = alloca ptr + %t489 = alloca ptr + %t494 = alloca ptr + %t499 = alloca ptr + %t504 = alloca ptr + %t511 = alloca ptr + %t518 = alloca ptr + %t537 = alloca ptr + %t546 = alloca ptr + %t557 = alloca ptr + %t574 = alloca ptr + %t583 = alloca ptr + %t588 = alloca ptr + %t593 = alloca ptr + %t598 = alloca ptr + %t603 = alloca ptr + %t610 = alloca ptr + %t617 = alloca ptr + %t620 = alloca ptr + %t623 = alloca ptr + %t639 = alloca ptr + %t644 = alloca ptr + %t649 = alloca ptr + %t654 = alloca ptr + %t659 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1630) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1778) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_val(ptr @.str1631, ptr @.str1632) + %t5 = call ptr @fn_val(ptr @.str1779, ptr @.str1780) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 - %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1633) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1781) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: @@ -33308,12 +38630,12 @@ then3: %t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_vec_pack(ptr %t29, ptr %t32) - %t34 = call ptr @fn_val(ptr %t33, ptr @.str1634) + %t34 = call ptr @fn_val(ptr %t33, ptr @.str1782) store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1635) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1783) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %ifend8 then6: @@ -33330,12 +38652,12 @@ then6: %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_vec_x(ptr %t49) - %t51 = call ptr @fn_val(ptr %t50, ptr @.str1636) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str1784) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1637) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1785) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: @@ -33352,416 +38674,685 @@ then9: %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_vec_y(ptr %t66) - %t68 = call ptr @fn_val(ptr %t67, ptr @.str1638) + %t68 = call ptr @fn_val(ptr %t67, ptr @.str1786) store ptr %t68, ptr %retval br label %ret ifend11: - %t69 = load ptr, ptr %t0 - %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1639) - %t71 = icmp ne i32 %t70, 0 - br i1 %t71, label %then12, label %ifend14 -then12: - %t72 = load ptr, ptr %t1 - %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7 - %t74 = load ptr, ptr %t73 - %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 - %t76 = load ptr, ptr %t75 - %t77 = getelementptr inbounds ptr, ptr %t76, i32 0 - %t78 = load ptr, ptr %t77 - %t79 = call ptr @fn_emit_expr(ptr %t78) - store ptr %t79, ptr %t80 - %t81 = load ptr, ptr %t1 - %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7 - %t83 = load ptr, ptr %t82 - %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 - %t85 = load ptr, ptr %t84 - %t86 = getelementptr inbounds ptr, ptr %t85, i32 1 - %t87 = load ptr, ptr %t86 - %t88 = call ptr @fn_emit_expr(ptr %t87) - store ptr %t88, ptr %t89 - %t90 = load ptr, ptr %t80 - %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 - %t92 = load ptr, ptr %t91 - %t93 = call ptr @fn_vec_x(ptr %t92) - store ptr %t93, ptr %t94 - %t95 = load ptr, ptr %t80 - %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 - %t97 = load ptr, ptr %t96 - %t98 = call ptr @fn_vec_y(ptr %t97) - store ptr %t98, ptr %t99 - %t100 = load ptr, ptr %t89 - %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 - %t102 = load ptr, ptr %t101 - %t103 = call ptr @fn_vec_x(ptr %t102) - store ptr %t103, ptr %t104 - %t105 = load ptr, ptr %t89 - %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 - %t107 = load ptr, ptr %t106 - %t108 = call ptr @fn_vec_y(ptr %t107) - store ptr %t108, ptr %t109 - %t110 = load ptr, ptr %t94 - %t111 = call ptr @fn_str_concat(ptr @.str1640, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1641) - %t113 = load ptr, ptr %t104 - %t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113) - %t115 = call ptr @fn_emit_bind(ptr %t114) - store ptr %t115, ptr %t116 - %t117 = load ptr, ptr %t99 - %t118 = call ptr @fn_str_concat(ptr @.str1642, ptr %t117) - %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1643) - %t120 = load ptr, ptr %t109 - %t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120) + %t70 = load ptr, ptr %t0 + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str1787) + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t69 + br i1 %t72, label %scend13, label %sc12 +sc12: + %t74 = load ptr, ptr %t0 + %t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str1788) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t69 + br label %scend13 +scend13: + %t78 = load i32, ptr %t69 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then14, label %ifend16 +then14: + %t80 = load ptr, ptr %t1 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 0 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t1 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7 + %t91 = load ptr, ptr %t90 + %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 + %t93 = load ptr, ptr %t92 + %t94 = getelementptr inbounds ptr, ptr %t93, i32 1 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @fn_emit_expr(ptr %t95) + store ptr %t96, ptr %t97 + %t98 = load ptr, ptr %t97 + %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @fn_vec_x(ptr %t100) + %t102 = call ptr @fn_str_concat(ptr @.str1789, ptr %t101) + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str1790) + %t104 = load ptr, ptr %t88 + %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 + %t106 = load ptr, ptr %t105 + %t107 = call ptr @fn_vec_x(ptr %t106) + %t108 = call ptr @fn_str_concat(ptr %t103, ptr %t107) + %t109 = call ptr @fn_emit_bind(ptr %t108) + store ptr %t109, ptr %t110 + %t111 = load ptr, ptr %t97 + %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 + %t113 = load ptr, ptr %t112 + %t114 = call ptr @fn_vec_y(ptr %t113) + %t115 = call ptr @fn_str_concat(ptr @.str1791, ptr %t114) + %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str1792) + %t117 = load ptr, ptr %t88 + %t118 = getelementptr inbounds %Cmp_Val, ptr %t117, i32 0, i32 0 + %t119 = load ptr, ptr %t118 + %t120 = call ptr @fn_vec_y(ptr %t119) + %t121 = call ptr @fn_str_concat(ptr %t116, ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 - %t124 = load ptr, ptr %t116 - %t125 = load ptr, ptr %t123 - %t126 = call ptr @fn_vec_pack(ptr %t124, ptr %t125) - %t127 = call ptr @fn_val(ptr %t126, ptr @.str1644) - store ptr %t127, ptr %retval + %t124 = load ptr, ptr %t110 + %t125 = call ptr @fn_str_concat(ptr @.str1793, ptr %t124) + %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str1794) + %t127 = load ptr, ptr %t110 + %t128 = call ptr @fn_str_concat(ptr %t126, ptr %t127) + %t129 = call ptr @fn_emit_bind(ptr %t128) + store ptr %t129, ptr %t130 + %t131 = load ptr, ptr %t123 + %t132 = call ptr @fn_str_concat(ptr @.str1795, ptr %t131) + %t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str1796) + %t134 = load ptr, ptr %t123 + %t135 = call ptr @fn_str_concat(ptr %t133, ptr %t134) + %t136 = call ptr @fn_emit_bind(ptr %t135) + store ptr %t136, ptr %t137 + %t138 = load ptr, ptr %t130 + %t139 = call ptr @fn_str_concat(ptr @.str1797, ptr %t138) + %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str1798) + %t141 = load ptr, ptr %t137 + %t142 = call ptr @fn_str_concat(ptr %t140, ptr %t141) + %t143 = call ptr @fn_emit_bind(ptr %t142) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t0 + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str1799) + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then17, label %ifend19 +then17: + %t148 = load ptr, ptr %t144 + %t149 = call ptr @fn_val(ptr %t148, ptr @.str1800) + store ptr %t149, ptr %retval br label %ret -ifend14: - %t128 = load ptr, ptr %t0 - %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1645) - %t130 = icmp ne i32 %t129, 0 - br i1 %t130, label %then15, label %ifend17 -then15: - %t131 = load ptr, ptr %t1 - %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 - %t133 = load ptr, ptr %t132 - %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 - %t135 = load ptr, ptr %t134 - %t136 = getelementptr inbounds ptr, ptr %t135, i32 0 - %t137 = load ptr, ptr %t136 - %t138 = call ptr @fn_emit_expr(ptr %t137) - store ptr %t138, ptr %t139 - %t140 = load ptr, ptr %t1 - %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7 - %t142 = load ptr, ptr %t141 - %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 - %t144 = load ptr, ptr %t143 - %t145 = getelementptr inbounds ptr, ptr %t144, i32 1 - %t146 = load ptr, ptr %t145 - %t147 = call ptr @fn_emit_expr(ptr %t146) - store ptr %t147, ptr %t148 - %t149 = load ptr, ptr %t139 - %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 - %t151 = load ptr, ptr %t150 - %t152 = call ptr @fn_vec_x(ptr %t151) - store ptr %t152, ptr %t153 - %t154 = load ptr, ptr %t139 - %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 +ifend19: + %t150 = load ptr, ptr %t1 + %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 + %t152 = load ptr, ptr %t151 + %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = getelementptr inbounds ptr, ptr %t154, i32 2 %t156 = load ptr, ptr %t155 - %t157 = call ptr @fn_vec_y(ptr %t156) + %t157 = call ptr @fn_emit_expr(ptr %t156) store ptr %t157, ptr %t158 - %t159 = load ptr, ptr %t148 + %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 - %t162 = call ptr @fn_vec_x(ptr %t161) - store ptr %t162, ptr %t163 - %t164 = load ptr, ptr %t148 + %t162 = call ptr @fn_str_concat(ptr @.str1801, ptr %t161) + %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str1802) + %t164 = load ptr, ptr %t158 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 - %t167 = call ptr @fn_vec_y(ptr %t166) - store ptr %t167, ptr %t168 - %t169 = load ptr, ptr %t153 - %t170 = call ptr @fn_str_concat(ptr @.str1646, ptr %t169) - %t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1647) - %t172 = load ptr, ptr %t163 - %t173 = call ptr @fn_str_concat(ptr %t171, ptr %t172) - %t174 = call ptr @fn_emit_bind(ptr %t173) - store ptr %t174, ptr %t175 - %t176 = load ptr, ptr %t158 - %t177 = call ptr @fn_str_concat(ptr @.str1648, ptr %t176) - %t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1649) - %t179 = load ptr, ptr %t168 - %t180 = call ptr @fn_str_concat(ptr %t178, ptr %t179) - %t181 = call ptr @fn_emit_bind(ptr %t180) - store ptr %t181, ptr %t182 - %t183 = load ptr, ptr %t175 - %t184 = load ptr, ptr %t182 - %t185 = call ptr @fn_vec_pack(ptr %t183, ptr %t184) - %t186 = call ptr @fn_val(ptr %t185, ptr @.str1650) - store ptr %t186, ptr %retval + %t167 = call ptr @fn_str_concat(ptr %t163, ptr %t166) + %t168 = call ptr @fn_emit_bind(ptr %t167) + store ptr %t168, ptr %t169 + %t170 = load ptr, ptr %t144 + %t171 = call ptr @fn_str_concat(ptr @.str1803, ptr %t170) + %t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str1804) + %t173 = load ptr, ptr %t169 + %t174 = call ptr @fn_str_concat(ptr %t172, ptr %t173) + %t175 = call ptr @fn_emit_bind(ptr %t174) + store ptr %t175, ptr %t176 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @fn_str_concat(ptr @.str1805, ptr %t177) + %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str1806) + %t180 = call ptr @fn_emit_bind(ptr %t179) + %t181 = call ptr @fn_val(ptr %t180, ptr @.str1807) + store ptr %t181, ptr %retval br label %ret -ifend17: - %t187 = load ptr, ptr %t0 - %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1651) - %t189 = icmp ne i32 %t188, 0 - br i1 %t189, label %then18, label %ifend20 -then18: - %t190 = load ptr, ptr %t1 - %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7 - %t192 = load ptr, ptr %t191 - %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 - %t194 = load ptr, ptr %t193 - %t195 = getelementptr inbounds ptr, ptr %t194, i32 0 - %t196 = load ptr, ptr %t195 - %t197 = call ptr @fn_emit_expr(ptr %t196) - store ptr %t197, ptr %t198 - %t199 = load ptr, ptr %t1 - %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7 - %t201 = load ptr, ptr %t200 - %t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0 - %t203 = load ptr, ptr %t202 - %t204 = getelementptr inbounds ptr, ptr %t203, i32 1 - %t205 = load ptr, ptr %t204 - %t206 = call ptr @fn_emit_expr(ptr %t205) - store ptr %t206, ptr %t207 - %t208 = load ptr, ptr %t198 - %t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0 - %t210 = load ptr, ptr %t209 - %t211 = call ptr @fn_vec_x(ptr %t210) - store ptr %t211, ptr %t212 - %t213 = load ptr, ptr %t198 - %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 - %t215 = load ptr, ptr %t214 - %t216 = call ptr @fn_vec_y(ptr %t215) - store ptr %t216, ptr %t217 - %t218 = load ptr, ptr %t212 - %t219 = call ptr @fn_str_concat(ptr @.str1652, ptr %t218) - %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str1653) - %t221 = load ptr, ptr %t207 - %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 - %t223 = load ptr, ptr %t222 - %t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223) - %t225 = call ptr @fn_emit_bind(ptr %t224) - store ptr %t225, ptr %t226 - %t227 = load ptr, ptr %t217 - %t228 = call ptr @fn_str_concat(ptr @.str1654, ptr %t227) - %t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str1655) - %t230 = load ptr, ptr %t207 - %t231 = getelementptr inbounds %Cmp_Val, ptr %t230, i32 0, i32 0 +ifend16: + %t182 = load ptr, ptr %t0 + %t183 = call i32 @fn_str_eq(ptr %t182, ptr @.str1808) + %t184 = icmp ne i32 %t183, 0 + br i1 %t184, label %then20, label %ifend22 +then20: + %t185 = call ptr @fn_find_fn(ptr @.str1809) + %t186 = icmp eq ptr %t185, null + %t187 = zext i1 %t186 to i32 + %t188 = icmp ne i32 %t187, 0 + br i1 %t188, label %then23, label %ifend25 +then23: + call void @fn_perr(ptr @.str1810) + br label %ifend25 +ifend25: + %t189 = load ptr, ptr %t1 + %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 7 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 + %t193 = load ptr, ptr %t192 + %t194 = getelementptr inbounds ptr, ptr %t193, i32 0 + %t195 = load ptr, ptr %t194 + %t196 = call ptr @fn_emit_expr(ptr %t195) + store ptr %t196, ptr %t197 + %t198 = load ptr, ptr %t1 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7 + %t200 = load ptr, ptr %t199 + %t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0 + %t202 = load ptr, ptr %t201 + %t203 = getelementptr inbounds ptr, ptr %t202, i32 1 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @fn_emit_expr(ptr %t204) + store ptr %t205, ptr %t206 + %t207 = load ptr, ptr %t197 + %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 + %t209 = load ptr, ptr %t208 + %t210 = call ptr @fn_str_concat(ptr @.str1811, ptr %t209) + %t211 = call ptr @fn_str_concat(ptr %t210, ptr @.str1812) + %t212 = load ptr, ptr %t206 + %t213 = getelementptr inbounds %Cmp_Val, ptr %t212, i32 0, i32 0 + %t214 = load ptr, ptr %t213 + %t215 = call ptr @fn_str_concat(ptr %t211, ptr %t214) + %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str1813) + %t217 = call ptr @fn_emit_bind(ptr %t216) + %t218 = call ptr @fn_val(ptr %t217, ptr @.str1814) + store ptr %t218, ptr %retval + br label %ret +ifend22: + %t219 = load ptr, ptr %t0 + %t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str1815) + %t221 = icmp ne i32 %t220, 0 + br i1 %t221, label %then26, label %ifend28 +then26: + %t222 = call ptr @fn_find_fn(ptr @.str1816) + %t223 = icmp eq ptr %t222, null + %t224 = zext i1 %t223 to i32 + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then29, label %ifend31 +then29: + call void @fn_perr(ptr @.str1817) + br label %ifend31 +ifend31: + %t226 = load ptr, ptr %t1 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 + %t230 = load ptr, ptr %t229 + %t231 = getelementptr inbounds ptr, ptr %t230, i32 0 %t232 = load ptr, ptr %t231 - %t233 = call ptr @fn_str_concat(ptr %t229, ptr %t232) - %t234 = call ptr @fn_emit_bind(ptr %t233) - store ptr %t234, ptr %t235 - %t236 = load ptr, ptr %t226 - %t237 = load ptr, ptr %t235 - %t238 = call ptr @fn_vec_pack(ptr %t236, ptr %t237) - %t239 = call ptr @fn_val(ptr %t238, ptr @.str1656) - store ptr %t239, ptr %retval + %t233 = call ptr @fn_emit_expr(ptr %t232) + store ptr %t233, ptr %t234 + %t235 = load ptr, ptr %t1 + %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 + %t237 = load ptr, ptr %t236 + %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 + %t239 = load ptr, ptr %t238 + %t240 = getelementptr inbounds ptr, ptr %t239, i32 1 + %t241 = load ptr, ptr %t240 + %t242 = call ptr @fn_emit_expr(ptr %t241) + store ptr %t242, ptr %t243 + %t244 = load ptr, ptr %t1 + %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 + %t246 = load ptr, ptr %t245 + %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 + %t248 = load ptr, ptr %t247 + %t249 = getelementptr inbounds ptr, ptr %t248, i32 2 + %t250 = load ptr, ptr %t249 + %t251 = call ptr @fn_emit_expr(ptr %t250) + store ptr %t251, ptr %t252 + %t253 = load ptr, ptr %t234 + %t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0 + %t255 = load ptr, ptr %t254 + %t256 = call ptr @fn_str_concat(ptr @.str1818, ptr %t255) + %t257 = call ptr @fn_str_concat(ptr %t256, ptr @.str1819) + %t258 = load ptr, ptr %t243 + %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 + %t260 = load ptr, ptr %t259 + %t261 = call ptr @fn_str_concat(ptr %t257, ptr %t260) + %t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str1820) + %t263 = load ptr, ptr %t252 + %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 + %t265 = load ptr, ptr %t264 + %t266 = call ptr @fn_str_concat(ptr %t262, ptr %t265) + %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str1821) + %t268 = call ptr @fn_emit_bind(ptr %t267) + %t269 = call ptr @fn_val(ptr %t268, ptr @.str1822) + store ptr %t269, ptr %retval br label %ret -ifend20: - %t240 = load ptr, ptr %t0 - %t241 = call i32 @fn_str_eq(ptr %t240, ptr @.str1657) - %t242 = icmp ne i32 %t241, 0 - br i1 %t242, label %then21, label %ifend23 -then21: - %t243 = load ptr, ptr %t1 - %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 7 - %t245 = load ptr, ptr %t244 - %t246 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 - %t247 = load ptr, ptr %t246 - %t248 = getelementptr inbounds ptr, ptr %t247, i32 0 - %t249 = load ptr, ptr %t248 - %t250 = call ptr @fn_emit_expr(ptr %t249) - store ptr %t250, ptr %t251 - %t252 = load ptr, ptr %t1 - %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 7 - %t254 = load ptr, ptr %t253 - %t255 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 - %t256 = load ptr, ptr %t255 - %t257 = getelementptr inbounds ptr, ptr %t256, i32 1 - %t258 = load ptr, ptr %t257 - %t259 = call ptr @fn_emit_expr(ptr %t258) - store ptr %t259, ptr %t260 - %t261 = load ptr, ptr %t251 - %t262 = getelementptr inbounds %Cmp_Val, ptr %t261, i32 0, i32 0 - %t263 = load ptr, ptr %t262 - %t264 = call ptr @fn_vec_x(ptr %t263) - store ptr %t264, ptr %t265 - %t266 = load ptr, ptr %t251 - %t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0 - %t268 = load ptr, ptr %t267 - %t269 = call ptr @fn_vec_y(ptr %t268) - store ptr %t269, ptr %t270 - %t271 = load ptr, ptr %t260 - %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 - %t273 = load ptr, ptr %t272 - %t274 = call ptr @fn_vec_x(ptr %t273) - store ptr %t274, ptr %t275 - %t276 = load ptr, ptr %t260 - %t277 = getelementptr inbounds %Cmp_Val, ptr %t276, i32 0, i32 0 - %t278 = load ptr, ptr %t277 - %t279 = call ptr @fn_vec_y(ptr %t278) - store ptr %t279, ptr %t280 - %t281 = load ptr, ptr %t265 - %t282 = call ptr @fn_str_concat(ptr @.str1658, ptr %t281) - %t283 = call ptr @fn_str_concat(ptr %t282, ptr @.str1659) - %t284 = load ptr, ptr %t275 - %t285 = call ptr @fn_str_concat(ptr %t283, ptr %t284) - %t286 = call ptr @fn_emit_bind(ptr %t285) - store ptr %t286, ptr %t287 - %t288 = load ptr, ptr %t270 - %t289 = call ptr @fn_str_concat(ptr @.str1660, ptr %t288) - %t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str1661) - %t291 = load ptr, ptr %t280 - %t292 = call ptr @fn_str_concat(ptr %t290, ptr %t291) - %t293 = call ptr @fn_emit_bind(ptr %t292) - store ptr %t293, ptr %t294 - %t295 = load ptr, ptr %t287 - %t296 = call ptr @fn_str_concat(ptr @.str1662, ptr %t295) - %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str1663) - %t298 = load ptr, ptr %t294 - %t299 = call ptr @fn_str_concat(ptr %t297, ptr %t298) - %t300 = call ptr @fn_emit_bind(ptr %t299) - %t301 = call ptr @fn_val(ptr %t300, ptr @.str1664) - store ptr %t301, ptr %retval +ifend28: + %t270 = load ptr, ptr %t0 + %t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str1823) + %t272 = icmp ne i32 %t271, 0 + br i1 %t272, label %then32, label %ifend34 +then32: + %t273 = call ptr @fn_find_fn(ptr @.str1824) + %t274 = icmp eq ptr %t273, null + %t275 = zext i1 %t274 to i32 + %t276 = icmp ne i32 %t275, 0 + br i1 %t276, label %then35, label %ifend37 +then35: + call void @fn_perr(ptr @.str1825) + br label %ifend37 +ifend37: + %t277 = load ptr, ptr %t1 + %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 7 + %t279 = load ptr, ptr %t278 + %t280 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 + %t281 = load ptr, ptr %t280 + %t282 = getelementptr inbounds ptr, ptr %t281, i32 0 + %t283 = load ptr, ptr %t282 + %t284 = call ptr @fn_emit_expr(ptr %t283) + store ptr %t284, ptr %t285 + %t286 = load ptr, ptr %t285 + %t287 = getelementptr inbounds %Cmp_Val, ptr %t286, i32 0, i32 0 + %t288 = load ptr, ptr %t287 + %t289 = call ptr @fn_str_concat(ptr @.str1826, ptr %t288) + %t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str1827) + %t291 = call ptr @fn_emit_bind(ptr %t290) + %t292 = call ptr @fn_val(ptr %t291, ptr @.str1828) + store ptr %t292, ptr %retval br label %ret -ifend23: - %t302 = load ptr, ptr %t0 - %t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str1665) - %t304 = icmp ne i32 %t303, 0 - br i1 %t304, label %then24, label %ifend26 -then24: +ifend34: + %t293 = load ptr, ptr %t0 + %t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str1829) + %t295 = icmp ne i32 %t294, 0 + br i1 %t295, label %then38, label %ifend40 +then38: + %t296 = load ptr, ptr %t1 + %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7 + %t298 = load ptr, ptr %t297 + %t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 + %t300 = load ptr, ptr %t299 + %t301 = getelementptr inbounds ptr, ptr %t300, i32 0 + %t302 = load ptr, ptr %t301 + %t303 = call ptr @fn_emit_expr(ptr %t302) + store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t1 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 - %t310 = getelementptr inbounds ptr, ptr %t309, i32 0 + %t310 = getelementptr inbounds ptr, ptr %t309, i32 1 %t311 = load ptr, ptr %t310 %t312 = call ptr @fn_emit_expr(ptr %t311) store ptr %t312, ptr %t313 - %t314 = load ptr, ptr %t1 - %t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 7 + %t314 = load ptr, ptr %t304 + %t315 = getelementptr inbounds %Cmp_Val, ptr %t314, i32 0, i32 0 %t316 = load ptr, ptr %t315 - %t317 = getelementptr inbounds %LSlice, ptr %t316, i32 0, i32 0 - %t318 = load ptr, ptr %t317 - %t319 = getelementptr inbounds ptr, ptr %t318, i32 1 - %t320 = load ptr, ptr %t319 - %t321 = call ptr @fn_emit_expr(ptr %t320) - store ptr %t321, ptr %t322 - %t323 = load ptr, ptr %t313 - %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 - %t325 = load ptr, ptr %t324 - %t326 = call ptr @fn_str_concat(ptr @.str1666, ptr %t325) - %t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str1667) - %t328 = load ptr, ptr %t322 - %t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0 - %t330 = load ptr, ptr %t329 - %t331 = call ptr @fn_str_concat(ptr %t327, ptr %t330) - %t332 = call ptr @fn_emit_bind(ptr %t331) + %t317 = call ptr @fn_vec_x(ptr %t316) + store ptr %t317, ptr %t318 + %t319 = load ptr, ptr %t304 + %t320 = getelementptr inbounds %Cmp_Val, ptr %t319, i32 0, i32 0 + %t321 = load ptr, ptr %t320 + %t322 = call ptr @fn_vec_y(ptr %t321) + store ptr %t322, ptr %t323 + %t324 = load ptr, ptr %t313 + %t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0 + %t326 = load ptr, ptr %t325 + %t327 = call ptr @fn_vec_x(ptr %t326) + store ptr %t327, ptr %t328 + %t329 = load ptr, ptr %t313 + %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 + %t331 = load ptr, ptr %t330 + %t332 = call ptr @fn_vec_y(ptr %t331) store ptr %t332, ptr %t333 - %t334 = load ptr, ptr %t333 - %t335 = call ptr @fn_str_concat(ptr @.str1668, ptr %t334) - %t336 = call ptr @fn_str_concat(ptr %t335, ptr @.str1669) - %t337 = call ptr @fn_emit_bind(ptr %t336) - %t338 = call ptr @fn_val(ptr %t337, ptr @.str1670) - store ptr %t338, ptr %retval + %t334 = load ptr, ptr %t318 + %t335 = call ptr @fn_str_concat(ptr @.str1830, ptr %t334) + %t336 = call ptr @fn_str_concat(ptr %t335, ptr @.str1831) + %t337 = load ptr, ptr %t328 + %t338 = call ptr @fn_str_concat(ptr %t336, ptr %t337) + %t339 = call ptr @fn_emit_bind(ptr %t338) + store ptr %t339, ptr %t340 + %t341 = load ptr, ptr %t323 + %t342 = call ptr @fn_str_concat(ptr @.str1832, ptr %t341) + %t343 = call ptr @fn_str_concat(ptr %t342, ptr @.str1833) + %t344 = load ptr, ptr %t333 + %t345 = call ptr @fn_str_concat(ptr %t343, ptr %t344) + %t346 = call ptr @fn_emit_bind(ptr %t345) + store ptr %t346, ptr %t347 + %t348 = load ptr, ptr %t340 + %t349 = load ptr, ptr %t347 + %t350 = call ptr @fn_vec_pack(ptr %t348, ptr %t349) + %t351 = call ptr @fn_val(ptr %t350, ptr @.str1834) + store ptr %t351, ptr %retval br label %ret -ifend26: - %t339 = load ptr, ptr %t0 - %t340 = call i32 @fn_str_eq(ptr %t339, ptr @.str1671) - %t341 = icmp ne i32 %t340, 0 - br i1 %t341, label %then27, label %ifend29 -then27: - %t342 = load ptr, ptr %t1 - %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 7 - %t344 = load ptr, ptr %t343 - %t345 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 - %t346 = load ptr, ptr %t345 - %t347 = getelementptr inbounds ptr, ptr %t346, i32 0 - %t348 = load ptr, ptr %t347 - %t349 = call ptr @fn_emit_expr(ptr %t348) - store ptr %t349, ptr %t350 - %t351 = load ptr, ptr %t1 - %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 7 - %t353 = load ptr, ptr %t352 - %t354 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 0 - %t355 = load ptr, ptr %t354 - %t356 = getelementptr inbounds ptr, ptr %t355, i32 1 +ifend40: + %t352 = load ptr, ptr %t0 + %t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str1835) + %t354 = icmp ne i32 %t353, 0 + br i1 %t354, label %then41, label %ifend43 +then41: + %t355 = load ptr, ptr %t1 + %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 7 %t357 = load ptr, ptr %t356 - %t358 = call ptr @fn_emit_expr(ptr %t357) - store ptr %t358, ptr %t359 - %t360 = load ptr, ptr %t350 - %t361 = getelementptr inbounds %Cmp_Val, ptr %t360, i32 0, i32 0 - %t362 = load ptr, ptr %t361 - %t363 = call ptr @fn_vec_x(ptr %t362) - store ptr %t363, ptr %t364 - %t365 = load ptr, ptr %t350 - %t366 = getelementptr inbounds %Cmp_Val, ptr %t365, i32 0, i32 0 - %t367 = load ptr, ptr %t366 - %t368 = call ptr @fn_vec_y(ptr %t367) - store ptr %t368, ptr %t369 - %t370 = load ptr, ptr %t359 - %t371 = getelementptr inbounds %Cmp_Val, ptr %t370, i32 0, i32 0 - %t372 = load ptr, ptr %t371 - %t373 = call ptr @fn_vec_x(ptr %t372) - store ptr %t373, ptr %t374 - %t375 = load ptr, ptr %t359 - %t376 = getelementptr inbounds %Cmp_Val, ptr %t375, i32 0, i32 0 - %t377 = load ptr, ptr %t376 - %t378 = call ptr @fn_vec_y(ptr %t377) - store ptr %t378, ptr %t379 - %t380 = load ptr, ptr %t364 - %t381 = call ptr @fn_str_concat(ptr @.str1672, ptr %t380) - %t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1673) - %t383 = load ptr, ptr %t374 - %t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383) - %t385 = call ptr @fn_emit_bind(ptr %t384) - store ptr %t385, ptr %t386 - %t387 = load ptr, ptr %t369 - %t388 = call ptr @fn_str_concat(ptr @.str1674, ptr %t387) - %t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str1675) - %t390 = load ptr, ptr %t379 - %t391 = call ptr @fn_str_concat(ptr %t389, ptr %t390) - %t392 = call ptr @fn_emit_bind(ptr %t391) - store ptr %t392, ptr %t393 - %t394 = load ptr, ptr %t386 - %t395 = call ptr @fn_ivec_abs(ptr %t394) - store ptr %t395, ptr %t396 - %t397 = load ptr, ptr %t393 - %t398 = call ptr @fn_ivec_abs(ptr %t397) + %t358 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 0 + %t359 = load ptr, ptr %t358 + %t360 = getelementptr inbounds ptr, ptr %t359, i32 0 + %t361 = load ptr, ptr %t360 + %t362 = call ptr @fn_emit_expr(ptr %t361) + store ptr %t362, ptr %t363 + %t364 = load ptr, ptr %t1 + %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 7 + %t366 = load ptr, ptr %t365 + %t367 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 0 + %t368 = load ptr, ptr %t367 + %t369 = getelementptr inbounds ptr, ptr %t368, i32 1 + %t370 = load ptr, ptr %t369 + %t371 = call ptr @fn_emit_expr(ptr %t370) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t363 + %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 + %t375 = load ptr, ptr %t374 + %t376 = call ptr @fn_vec_x(ptr %t375) + store ptr %t376, ptr %t377 + %t378 = load ptr, ptr %t363 + %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 + %t380 = load ptr, ptr %t379 + %t381 = call ptr @fn_vec_y(ptr %t380) + store ptr %t381, ptr %t382 + %t383 = load ptr, ptr %t372 + %t384 = getelementptr inbounds %Cmp_Val, ptr %t383, i32 0, i32 0 + %t385 = load ptr, ptr %t384 + %t386 = call ptr @fn_vec_x(ptr %t385) + store ptr %t386, ptr %t387 + %t388 = load ptr, ptr %t372 + %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 + %t390 = load ptr, ptr %t389 + %t391 = call ptr @fn_vec_y(ptr %t390) + store ptr %t391, ptr %t392 + %t393 = load ptr, ptr %t377 + %t394 = call ptr @fn_str_concat(ptr @.str1836, ptr %t393) + %t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str1837) + %t396 = load ptr, ptr %t387 + %t397 = call ptr @fn_str_concat(ptr %t395, ptr %t396) + %t398 = call ptr @fn_emit_bind(ptr %t397) store ptr %t398, ptr %t399 - %t400 = load ptr, ptr %t396 - %t401 = call ptr @fn_str_concat(ptr @.str1676, ptr %t400) - %t402 = call ptr @fn_str_concat(ptr %t401, ptr @.str1677) - %t403 = load ptr, ptr %t399 + %t400 = load ptr, ptr %t382 + %t401 = call ptr @fn_str_concat(ptr @.str1838, ptr %t400) + %t402 = call ptr @fn_str_concat(ptr %t401, ptr @.str1839) + %t403 = load ptr, ptr %t392 %t404 = call ptr @fn_str_concat(ptr %t402, ptr %t403) %t405 = call ptr @fn_emit_bind(ptr %t404) - %t406 = call ptr @fn_val(ptr %t405, ptr @.str1678) - store ptr %t406, ptr %retval + store ptr %t405, ptr %t406 + %t407 = load ptr, ptr %t399 + %t408 = load ptr, ptr %t406 + %t409 = call ptr @fn_vec_pack(ptr %t407, ptr %t408) + %t410 = call ptr @fn_val(ptr %t409, ptr @.str1840) + store ptr %t410, ptr %retval br label %ret -ifend29: - %t407 = load ptr, ptr %t1 - %t408 = getelementptr inbounds %Cmp_Node, ptr %t407, i32 0, i32 7 - %t409 = load ptr, ptr %t408 - %t410 = getelementptr inbounds %LSlice, ptr %t409, i32 0, i32 0 - %t411 = load ptr, ptr %t410 - %t412 = getelementptr inbounds ptr, ptr %t411, i32 0 - %t413 = load ptr, ptr %t412 - %t414 = call ptr @fn_emit_expr(ptr %t413) - store ptr %t414, ptr %t415 +ifend43: + %t411 = load ptr, ptr %t0 + %t412 = call i32 @fn_str_eq(ptr %t411, ptr @.str1841) + %t413 = icmp ne i32 %t412, 0 + br i1 %t413, label %then44, label %ifend46 +then44: + %t414 = load ptr, ptr %t1 + %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7 %t416 = load ptr, ptr %t415 - %t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0 + %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 %t418 = load ptr, ptr %t417 - %t419 = call ptr @fn_vec_x(ptr %t418) - store ptr %t419, ptr %t420 - %t421 = load ptr, ptr %t415 - %t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0 - %t423 = load ptr, ptr %t422 - %t424 = call ptr @fn_vec_y(ptr %t423) - store ptr %t424, ptr %t425 - %t426 = load ptr, ptr %t420 - %t427 = call ptr @fn_str_concat(ptr @.str1679, ptr %t426) - %t428 = call ptr @fn_str_concat(ptr %t427, ptr @.str1680) - %t429 = call ptr @fn_emit_bind(ptr %t428) - store ptr %t429, ptr %t430 - %t431 = load ptr, ptr %t425 - %t432 = call ptr @fn_str_concat(ptr @.str1681, ptr %t431) - %t433 = call ptr @fn_str_concat(ptr %t432, ptr @.str1682) - %t434 = call ptr @fn_emit_bind(ptr %t433) - store ptr %t434, ptr %t435 - %t436 = load ptr, ptr %t430 - %t437 = load ptr, ptr %t435 - %t438 = call ptr @fn_vec_pack(ptr %t436, ptr %t437) - %t439 = call ptr @fn_val(ptr %t438, ptr @.str1683) - store ptr %t439, ptr %retval + %t419 = getelementptr inbounds ptr, ptr %t418, i32 0 + %t420 = load ptr, ptr %t419 + %t421 = call ptr @fn_emit_expr(ptr %t420) + store ptr %t421, ptr %t422 + %t423 = load ptr, ptr %t1 + %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7 + %t425 = load ptr, ptr %t424 + %t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0 + %t427 = load ptr, ptr %t426 + %t428 = getelementptr inbounds ptr, ptr %t427, i32 1 + %t429 = load ptr, ptr %t428 + %t430 = call ptr @fn_emit_expr(ptr %t429) + store ptr %t430, ptr %t431 + %t432 = load ptr, ptr %t422 + %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 + %t434 = load ptr, ptr %t433 + %t435 = call ptr @fn_vec_x(ptr %t434) + store ptr %t435, ptr %t436 + %t437 = load ptr, ptr %t422 + %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 + %t439 = load ptr, ptr %t438 + %t440 = call ptr @fn_vec_y(ptr %t439) + store ptr %t440, ptr %t441 + %t442 = load ptr, ptr %t436 + %t443 = call ptr @fn_str_concat(ptr @.str1842, ptr %t442) + %t444 = call ptr @fn_str_concat(ptr %t443, ptr @.str1843) + %t445 = load ptr, ptr %t431 + %t446 = getelementptr inbounds %Cmp_Val, ptr %t445, i32 0, i32 0 + %t447 = load ptr, ptr %t446 + %t448 = call ptr @fn_str_concat(ptr %t444, ptr %t447) + %t449 = call ptr @fn_emit_bind(ptr %t448) + store ptr %t449, ptr %t450 + %t451 = load ptr, ptr %t441 + %t452 = call ptr @fn_str_concat(ptr @.str1844, ptr %t451) + %t453 = call ptr @fn_str_concat(ptr %t452, ptr @.str1845) + %t454 = load ptr, ptr %t431 + %t455 = getelementptr inbounds %Cmp_Val, ptr %t454, i32 0, i32 0 + %t456 = load ptr, ptr %t455 + %t457 = call ptr @fn_str_concat(ptr %t453, ptr %t456) + %t458 = call ptr @fn_emit_bind(ptr %t457) + store ptr %t458, ptr %t459 + %t460 = load ptr, ptr %t450 + %t461 = load ptr, ptr %t459 + %t462 = call ptr @fn_vec_pack(ptr %t460, ptr %t461) + %t463 = call ptr @fn_val(ptr %t462, ptr @.str1846) + store ptr %t463, ptr %retval + br label %ret +ifend46: + %t464 = load ptr, ptr %t0 + %t465 = call i32 @fn_str_eq(ptr %t464, ptr @.str1847) + %t466 = icmp ne i32 %t465, 0 + br i1 %t466, label %then47, label %ifend49 +then47: + %t467 = load ptr, ptr %t1 + %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 7 + %t469 = load ptr, ptr %t468 + %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 + %t471 = load ptr, ptr %t470 + %t472 = getelementptr inbounds ptr, ptr %t471, i32 0 + %t473 = load ptr, ptr %t472 + %t474 = call ptr @fn_emit_expr(ptr %t473) + store ptr %t474, ptr %t475 + %t476 = load ptr, ptr %t1 + %t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 7 + %t478 = load ptr, ptr %t477 + %t479 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 0 + %t480 = load ptr, ptr %t479 + %t481 = getelementptr inbounds ptr, ptr %t480, i32 1 + %t482 = load ptr, ptr %t481 + %t483 = call ptr @fn_emit_expr(ptr %t482) + store ptr %t483, ptr %t484 + %t485 = load ptr, ptr %t475 + %t486 = getelementptr inbounds %Cmp_Val, ptr %t485, i32 0, i32 0 + %t487 = load ptr, ptr %t486 + %t488 = call ptr @fn_vec_x(ptr %t487) + store ptr %t488, ptr %t489 + %t490 = load ptr, ptr %t475 + %t491 = getelementptr inbounds %Cmp_Val, ptr %t490, i32 0, i32 0 + %t492 = load ptr, ptr %t491 + %t493 = call ptr @fn_vec_y(ptr %t492) + store ptr %t493, ptr %t494 + %t495 = load ptr, ptr %t484 + %t496 = getelementptr inbounds %Cmp_Val, ptr %t495, i32 0, i32 0 + %t497 = load ptr, ptr %t496 + %t498 = call ptr @fn_vec_x(ptr %t497) + store ptr %t498, ptr %t499 + %t500 = load ptr, ptr %t484 + %t501 = getelementptr inbounds %Cmp_Val, ptr %t500, i32 0, i32 0 + %t502 = load ptr, ptr %t501 + %t503 = call ptr @fn_vec_y(ptr %t502) + store ptr %t503, ptr %t504 + %t505 = load ptr, ptr %t489 + %t506 = call ptr @fn_str_concat(ptr @.str1848, ptr %t505) + %t507 = call ptr @fn_str_concat(ptr %t506, ptr @.str1849) + %t508 = load ptr, ptr %t499 + %t509 = call ptr @fn_str_concat(ptr %t507, ptr %t508) + %t510 = call ptr @fn_emit_bind(ptr %t509) + store ptr %t510, ptr %t511 + %t512 = load ptr, ptr %t494 + %t513 = call ptr @fn_str_concat(ptr @.str1850, ptr %t512) + %t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str1851) + %t515 = load ptr, ptr %t504 + %t516 = call ptr @fn_str_concat(ptr %t514, ptr %t515) + %t517 = call ptr @fn_emit_bind(ptr %t516) + store ptr %t517, ptr %t518 + %t519 = load ptr, ptr %t511 + %t520 = call ptr @fn_str_concat(ptr @.str1852, ptr %t519) + %t521 = call ptr @fn_str_concat(ptr %t520, ptr @.str1853) + %t522 = load ptr, ptr %t518 + %t523 = call ptr @fn_str_concat(ptr %t521, ptr %t522) + %t524 = call ptr @fn_emit_bind(ptr %t523) + %t525 = call ptr @fn_val(ptr %t524, ptr @.str1854) + store ptr %t525, ptr %retval + br label %ret +ifend49: + %t526 = load ptr, ptr %t0 + %t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str1855) + %t528 = icmp ne i32 %t527, 0 + br i1 %t528, label %then50, label %ifend52 +then50: + %t529 = load ptr, ptr %t1 + %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 7 + %t531 = load ptr, ptr %t530 + %t532 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0 + %t533 = load ptr, ptr %t532 + %t534 = getelementptr inbounds ptr, ptr %t533, i32 0 + %t535 = load ptr, ptr %t534 + %t536 = call ptr @fn_emit_expr(ptr %t535) + store ptr %t536, ptr %t537 + %t538 = load ptr, ptr %t1 + %t539 = getelementptr inbounds %Cmp_Node, ptr %t538, i32 0, i32 7 + %t540 = load ptr, ptr %t539 + %t541 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 0 + %t542 = load ptr, ptr %t541 + %t543 = getelementptr inbounds ptr, ptr %t542, i32 1 + %t544 = load ptr, ptr %t543 + %t545 = call ptr @fn_emit_expr(ptr %t544) + store ptr %t545, ptr %t546 + %t547 = load ptr, ptr %t537 + %t548 = getelementptr inbounds %Cmp_Val, ptr %t547, i32 0, i32 0 + %t549 = load ptr, ptr %t548 + %t550 = call ptr @fn_str_concat(ptr @.str1856, ptr %t549) + %t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1857) + %t552 = load ptr, ptr %t546 + %t553 = getelementptr inbounds %Cmp_Val, ptr %t552, i32 0, i32 0 + %t554 = load ptr, ptr %t553 + %t555 = call ptr @fn_str_concat(ptr %t551, ptr %t554) + %t556 = call ptr @fn_emit_bind(ptr %t555) + store ptr %t556, ptr %t557 + %t558 = load ptr, ptr %t557 + %t559 = call ptr @fn_str_concat(ptr @.str1858, ptr %t558) + %t560 = call ptr @fn_str_concat(ptr %t559, ptr @.str1859) + %t561 = call ptr @fn_emit_bind(ptr %t560) + %t562 = call ptr @fn_val(ptr %t561, ptr @.str1860) + store ptr %t562, ptr %retval + br label %ret +ifend52: + %t563 = load ptr, ptr %t0 + %t564 = call i32 @fn_str_eq(ptr %t563, ptr @.str1861) + %t565 = icmp ne i32 %t564, 0 + br i1 %t565, label %then53, label %ifend55 +then53: + %t566 = load ptr, ptr %t1 + %t567 = getelementptr inbounds %Cmp_Node, ptr %t566, i32 0, i32 7 + %t568 = load ptr, ptr %t567 + %t569 = getelementptr inbounds %LSlice, ptr %t568, i32 0, i32 0 + %t570 = load ptr, ptr %t569 + %t571 = getelementptr inbounds ptr, ptr %t570, i32 0 + %t572 = load ptr, ptr %t571 + %t573 = call ptr @fn_emit_expr(ptr %t572) + store ptr %t573, ptr %t574 + %t575 = load ptr, ptr %t1 + %t576 = getelementptr inbounds %Cmp_Node, ptr %t575, i32 0, i32 7 + %t577 = load ptr, ptr %t576 + %t578 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 0 + %t579 = load ptr, ptr %t578 + %t580 = getelementptr inbounds ptr, ptr %t579, i32 1 + %t581 = load ptr, ptr %t580 + %t582 = call ptr @fn_emit_expr(ptr %t581) + store ptr %t582, ptr %t583 + %t584 = load ptr, ptr %t574 + %t585 = getelementptr inbounds %Cmp_Val, ptr %t584, i32 0, i32 0 + %t586 = load ptr, ptr %t585 + %t587 = call ptr @fn_vec_x(ptr %t586) + store ptr %t587, ptr %t588 + %t589 = load ptr, ptr %t574 + %t590 = getelementptr inbounds %Cmp_Val, ptr %t589, i32 0, i32 0 + %t591 = load ptr, ptr %t590 + %t592 = call ptr @fn_vec_y(ptr %t591) + store ptr %t592, ptr %t593 + %t594 = load ptr, ptr %t583 + %t595 = getelementptr inbounds %Cmp_Val, ptr %t594, i32 0, i32 0 + %t596 = load ptr, ptr %t595 + %t597 = call ptr @fn_vec_x(ptr %t596) + store ptr %t597, ptr %t598 + %t599 = load ptr, ptr %t583 + %t600 = getelementptr inbounds %Cmp_Val, ptr %t599, i32 0, i32 0 + %t601 = load ptr, ptr %t600 + %t602 = call ptr @fn_vec_y(ptr %t601) + store ptr %t602, ptr %t603 + %t604 = load ptr, ptr %t588 + %t605 = call ptr @fn_str_concat(ptr @.str1862, ptr %t604) + %t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1863) + %t607 = load ptr, ptr %t598 + %t608 = call ptr @fn_str_concat(ptr %t606, ptr %t607) + %t609 = call ptr @fn_emit_bind(ptr %t608) + store ptr %t609, ptr %t610 + %t611 = load ptr, ptr %t593 + %t612 = call ptr @fn_str_concat(ptr @.str1864, ptr %t611) + %t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1865) + %t614 = load ptr, ptr %t603 + %t615 = call ptr @fn_str_concat(ptr %t613, ptr %t614) + %t616 = call ptr @fn_emit_bind(ptr %t615) + store ptr %t616, ptr %t617 + %t618 = load ptr, ptr %t610 + %t619 = call ptr @fn_ivec_abs(ptr %t618) + store ptr %t619, ptr %t620 + %t621 = load ptr, ptr %t617 + %t622 = call ptr @fn_ivec_abs(ptr %t621) + store ptr %t622, ptr %t623 + %t624 = load ptr, ptr %t620 + %t625 = call ptr @fn_str_concat(ptr @.str1866, ptr %t624) + %t626 = call ptr @fn_str_concat(ptr %t625, ptr @.str1867) + %t627 = load ptr, ptr %t623 + %t628 = call ptr @fn_str_concat(ptr %t626, ptr %t627) + %t629 = call ptr @fn_emit_bind(ptr %t628) + %t630 = call ptr @fn_val(ptr %t629, ptr @.str1868) + store ptr %t630, ptr %retval + br label %ret +ifend55: + %t631 = load ptr, ptr %t1 + %t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 7 + %t633 = load ptr, ptr %t632 + %t634 = getelementptr inbounds %LSlice, ptr %t633, i32 0, i32 0 + %t635 = load ptr, ptr %t634 + %t636 = getelementptr inbounds ptr, ptr %t635, i32 0 + %t637 = load ptr, ptr %t636 + %t638 = call ptr @fn_emit_expr(ptr %t637) + store ptr %t638, ptr %t639 + %t640 = load ptr, ptr %t639 + %t641 = getelementptr inbounds %Cmp_Val, ptr %t640, i32 0, i32 0 + %t642 = load ptr, ptr %t641 + %t643 = call ptr @fn_vec_x(ptr %t642) + store ptr %t643, ptr %t644 + %t645 = load ptr, ptr %t639 + %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 + %t647 = load ptr, ptr %t646 + %t648 = call ptr @fn_vec_y(ptr %t647) + store ptr %t648, ptr %t649 + %t650 = load ptr, ptr %t644 + %t651 = call ptr @fn_str_concat(ptr @.str1869, ptr %t650) + %t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str1870) + %t653 = call ptr @fn_emit_bind(ptr %t652) + store ptr %t653, ptr %t654 + %t655 = load ptr, ptr %t649 + %t656 = call ptr @fn_str_concat(ptr @.str1871, ptr %t655) + %t657 = call ptr @fn_str_concat(ptr %t656, ptr @.str1872) + %t658 = call ptr @fn_emit_bind(ptr %t657) + store ptr %t658, ptr %t659 + %t660 = load ptr, ptr %t654 + %t661 = load ptr, ptr %t659 + %t662 = call ptr @fn_vec_pack(ptr %t660, ptr %t661) + %t663 = call ptr @fn_val(ptr %t662, ptr @.str1873) + store ptr %t663, ptr %retval br label %ret ret: - %t440 = load ptr, ptr %retval - ret ptr %t440 + %t664 = load ptr, ptr %retval + ret ptr %t664 } define ptr @fn_rect_pack(ptr %arg_x, ptr %arg_y, ptr %arg_w, ptr %arg_h) { @@ -33785,57 +39376,57 @@ entry: store ptr %arg_w, ptr %t2 store ptr %arg_h, ptr %t3 %t4 = load ptr, ptr %t0 - %t5 = call ptr @fn_str_concat(ptr @.str1684, ptr %t4) - %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str1685) + %t5 = call ptr @fn_str_concat(ptr @.str1874, ptr %t4) + %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str1875) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 - %t10 = call ptr @fn_str_concat(ptr @.str1686, ptr %t9) - %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str1687) + %t10 = call ptr @fn_str_concat(ptr @.str1876, ptr %t9) + %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str1877) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t1 - %t15 = call ptr @fn_str_concat(ptr @.str1688, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1689) + %t15 = call ptr @fn_str_concat(ptr @.str1878, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str1879) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 - %t20 = call ptr @fn_str_concat(ptr @.str1690, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str1691) + %t20 = call ptr @fn_str_concat(ptr @.str1880, ptr %t19) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str1881) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t2 - %t25 = call ptr @fn_str_concat(ptr @.str1692, ptr %t24) - %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1693) + %t25 = call ptr @fn_str_concat(ptr @.str1882, ptr %t24) + %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1883) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 - %t30 = call ptr @fn_str_concat(ptr @.str1694, ptr %t29) - %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str1695) + %t30 = call ptr @fn_str_concat(ptr @.str1884, ptr %t29) + %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str1885) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t3 - %t35 = call ptr @fn_str_concat(ptr @.str1696, ptr %t34) - %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str1697) + %t35 = call ptr @fn_str_concat(ptr @.str1886, ptr %t34) + %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str1887) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t13 - %t40 = call ptr @fn_str_concat(ptr @.str1698, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str1699) + %t40 = call ptr @fn_str_concat(ptr @.str1888, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str1889) %t42 = load ptr, ptr %t23 %t43 = call ptr @fn_str_concat(ptr %t41, ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str1700, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str1701) + %t47 = call ptr @fn_str_concat(ptr @.str1890, ptr %t46) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str1891) %t49 = load ptr, ptr %t33 %t50 = call ptr @fn_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 - %t54 = call ptr @fn_str_concat(ptr @.str1702, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1703) + %t54 = call ptr @fn_str_concat(ptr @.str1892, ptr %t53) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1893) %t56 = load ptr, ptr %t38 %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) @@ -33861,23 +39452,23 @@ entry: br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t0 - %t7 = call ptr @fn_str_concat(ptr @.str1704, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1705) + %t7 = call ptr @fn_str_concat(ptr @.str1894, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1895) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 - %t11 = call ptr @fn_str_concat(ptr @.str1706, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1707) + %t11 = call ptr @fn_str_concat(ptr @.str1896, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str1897) %t13 = load i32, ptr %t1 %t14 = call ptr @fn_itoa(i32 %t13) %t15 = call ptr @fn_str_concat(ptr %t12, ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 - %t19 = call ptr @fn_str_concat(ptr @.str1708, ptr %t18) - %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1709) + %t19 = call ptr @fn_str_concat(ptr @.str1898, ptr %t18) + %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1899) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %retval br label %ret @@ -33897,18 +39488,18 @@ entry: store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 %t3 = load ptr, ptr %t0 - %t4 = call ptr @fn_str_concat(ptr @.str1710, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1711) + %t4 = call ptr @fn_str_concat(ptr @.str1900, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str1901) %t6 = load ptr, ptr %t1 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1712) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1902) %t9 = load ptr, ptr %t2 %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 - %t14 = call ptr @fn_str_concat(ptr @.str1713, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1714) + %t14 = call ptr @fn_str_concat(ptr @.str1903, ptr %t13) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1904) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %retval br label %ret @@ -33930,14 +39521,14 @@ entry: %t55 = alloca i32 store ptr %arg_meth, ptr %t0 %t5 = load ptr, ptr %t0 - %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str1715) + %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str1905) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t4 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 - %t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str1716) + %t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str1906) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 @@ -33950,7 +39541,7 @@ scend1: br i1 %t14, label %scend3, label %sc2 sc2: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1717) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str1907) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t3 @@ -33963,7 +39554,7 @@ scend3: br i1 %t21, label %scend5, label %sc4 sc4: %t23 = load ptr, ptr %t0 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1718) + %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1908) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t2 @@ -33976,7 +39567,7 @@ scend5: br i1 %t28, label %scend7, label %sc6 sc6: %t30 = load ptr, ptr %t0 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str1719) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str1909) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t1 @@ -33990,14 +39581,14 @@ then8: br label %ret ifend10: %t38 = load ptr, ptr %t0 - %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str1720) + %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str1910) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t37 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1721) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1911) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t37 @@ -34010,7 +39601,7 @@ scend12: br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1722) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1912) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t36 @@ -34024,14 +39615,14 @@ then15: br label %ret ifend17: %t56 = load ptr, ptr %t0 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str1723) + %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str1913) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t55 br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str1724) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str1914) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t55 @@ -34117,7 +39708,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1725) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1915) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -34170,12 +39761,12 @@ then0: %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_rect_pack(ptr %t43, ptr %t46, ptr %t49, ptr %t52) - %t54 = call ptr @fn_val(ptr %t53, ptr @.str1726) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str1916) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 - %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str1727) + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str1917) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then3, label %ifend5 then3: @@ -34192,12 +39783,12 @@ then3: %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_rect_field(ptr %t69, i32 96) - %t71 = call ptr @fn_val(ptr %t70, ptr @.str1728) + %t71 = call ptr @fn_val(ptr %t70, ptr @.str1918) store ptr %t71, ptr %retval br label %ret ifend5: %t72 = load ptr, ptr %t0 - %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1729) + %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1919) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then6, label %ifend8 then6: @@ -34214,12 +39805,12 @@ then6: %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_rect_field(ptr %t86, i32 64) - %t88 = call ptr @fn_val(ptr %t87, ptr @.str1730) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str1920) store ptr %t88, ptr %retval br label %ret ifend8: %t89 = load ptr, ptr %t0 - %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1731) + %t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str1921) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then9, label %ifend11 then9: @@ -34236,12 +39827,12 @@ then9: %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_rect_field(ptr %t103, i32 32) - %t105 = call ptr @fn_val(ptr %t104, ptr @.str1732) + %t105 = call ptr @fn_val(ptr %t104, ptr @.str1922) store ptr %t105, ptr %retval br label %ret ifend11: %t106 = load ptr, ptr %t0 - %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str1733) + %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str1923) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then12, label %ifend14 then12: @@ -34258,12 +39849,12 @@ then12: %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_rect_field(ptr %t120, i32 0) - %t122 = call ptr @fn_val(ptr %t121, ptr @.str1734) + %t122 = call ptr @fn_val(ptr %t121, ptr @.str1924) store ptr %t122, ptr %retval br label %ret ifend14: %t123 = load ptr, ptr %t0 - %t124 = call i32 @fn_str_eq(ptr %t123, ptr @.str1735) + %t124 = call i32 @fn_str_eq(ptr %t123, ptr @.str1925) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then15, label %ifend17 then15: @@ -34287,17 +39878,17 @@ then15: %t143 = call ptr @fn_rect_field(ptr %t142, i32 32) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t139 - %t146 = call ptr @fn_str_concat(ptr @.str1736, ptr %t145) - %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str1737) + %t146 = call ptr @fn_str_concat(ptr @.str1926, ptr %t145) + %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str1927) %t148 = load ptr, ptr %t144 %t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) - %t151 = call ptr @fn_val(ptr %t150, ptr @.str1738) + %t151 = call ptr @fn_val(ptr %t150, ptr @.str1928) store ptr %t151, ptr %retval br label %ret ifend17: %t152 = load ptr, ptr %t0 - %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str1739) + %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str1929) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then18, label %ifend20 then18: @@ -34321,17 +39912,17 @@ then18: %t172 = call ptr @fn_rect_field(ptr %t171, i32 0) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t168 - %t175 = call ptr @fn_str_concat(ptr @.str1740, ptr %t174) - %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str1741) + %t175 = call ptr @fn_str_concat(ptr @.str1930, ptr %t174) + %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str1931) %t177 = load ptr, ptr %t173 %t178 = call ptr @fn_str_concat(ptr %t176, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) - %t180 = call ptr @fn_val(ptr %t179, ptr @.str1742) + %t180 = call ptr @fn_val(ptr %t179, ptr @.str1932) store ptr %t180, ptr %retval br label %ret ifend20: %t181 = load ptr, ptr %t0 - %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str1743) + %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str1933) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then21, label %ifend23 then21: @@ -34365,25 +39956,25 @@ then21: %t211 = call ptr @fn_rect_field(ptr %t210, i32 0) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t207 - %t214 = call ptr @fn_str_concat(ptr @.str1744, ptr %t213) - %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str1745) + %t214 = call ptr @fn_str_concat(ptr @.str1934, ptr %t213) + %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str1935) %t216 = call ptr @fn_emit_bind(ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t212 - %t219 = call ptr @fn_str_concat(ptr @.str1746, ptr %t218) - %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str1747) + %t219 = call ptr @fn_str_concat(ptr @.str1936, ptr %t218) + %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str1937) %t221 = call ptr @fn_emit_bind(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t197 - %t224 = call ptr @fn_str_concat(ptr @.str1748, ptr %t223) - %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str1749) + %t224 = call ptr @fn_str_concat(ptr @.str1938, ptr %t223) + %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str1939) %t226 = load ptr, ptr %t217 %t227 = call ptr @fn_str_concat(ptr %t225, ptr %t226) %t228 = call ptr @fn_emit_bind(ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t202 - %t231 = call ptr @fn_str_concat(ptr @.str1750, ptr %t230) - %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1751) + %t231 = call ptr @fn_str_concat(ptr @.str1940, ptr %t230) + %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str1941) %t233 = load ptr, ptr %t222 %t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233) %t235 = call ptr @fn_emit_bind(ptr %t234) @@ -34391,12 +39982,12 @@ then21: %t237 = load ptr, ptr %t229 %t238 = load ptr, ptr %t236 %t239 = call ptr @fn_vec_pack(ptr %t237, ptr %t238) - %t240 = call ptr @fn_val(ptr %t239, ptr @.str1752) + %t240 = call ptr @fn_val(ptr %t239, ptr @.str1942) store ptr %t240, ptr %retval br label %ret ifend23: %t241 = load ptr, ptr %t0 - %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str1753) + %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str1943) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then24, label %ifend26 then24: @@ -34448,15 +40039,15 @@ then24: %t289 = call ptr @fn_rect_field(ptr %t288, i32 0) store ptr %t289, ptr %t290 %t291 = load ptr, ptr %t275 - %t292 = call ptr @fn_str_concat(ptr @.str1754, ptr %t291) - %t293 = call ptr @fn_str_concat(ptr %t292, ptr @.str1755) + %t292 = call ptr @fn_str_concat(ptr @.str1944, ptr %t291) + %t293 = call ptr @fn_str_concat(ptr %t292, ptr @.str1945) %t294 = load ptr, ptr %t285 %t295 = call ptr @fn_str_concat(ptr %t293, ptr %t294) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t280 - %t299 = call ptr @fn_str_concat(ptr @.str1756, ptr %t298) - %t300 = call ptr @fn_str_concat(ptr %t299, ptr @.str1757) + %t299 = call ptr @fn_str_concat(ptr @.str1946, ptr %t298) + %t300 = call ptr @fn_str_concat(ptr %t299, ptr @.str1947) %t301 = load ptr, ptr %t290 %t302 = call ptr @fn_str_concat(ptr %t300, ptr %t301) %t303 = call ptr @fn_emit_bind(ptr %t302) @@ -34465,47 +40056,47 @@ then24: %t306 = getelementptr inbounds %Cmp_Val, ptr %t305, i32 0, i32 0 %t307 = load ptr, ptr %t306 %t308 = load ptr, ptr %t275 - %t309 = call ptr @fn_rect_cmp(ptr @.str1758, ptr %t307, ptr %t308) + %t309 = call ptr @fn_rect_cmp(ptr @.str1948, ptr %t307, ptr %t308) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t261 %t312 = getelementptr inbounds %Cmp_Val, ptr %t311, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = load ptr, ptr %t297 - %t315 = call ptr @fn_rect_cmp(ptr @.str1759, ptr %t313, ptr %t314) + %t315 = call ptr @fn_rect_cmp(ptr @.str1949, ptr %t313, ptr %t314) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t270 %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0 %t319 = load ptr, ptr %t318 %t320 = load ptr, ptr %t280 - %t321 = call ptr @fn_rect_cmp(ptr @.str1760, ptr %t319, ptr %t320) + %t321 = call ptr @fn_rect_cmp(ptr @.str1950, ptr %t319, ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t270 %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 %t326 = load ptr, ptr %t304 - %t327 = call ptr @fn_rect_cmp(ptr @.str1761, ptr %t325, ptr %t326) + %t327 = call ptr @fn_rect_cmp(ptr @.str1951, ptr %t325, ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t310 - %t330 = call ptr @fn_str_concat(ptr @.str1762, ptr %t329) - %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str1763) + %t330 = call ptr @fn_str_concat(ptr @.str1952, ptr %t329) + %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str1953) %t332 = load ptr, ptr %t316 %t333 = call ptr @fn_str_concat(ptr %t331, ptr %t332) %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t322 - %t337 = call ptr @fn_str_concat(ptr @.str1764, ptr %t336) - %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str1765) + %t337 = call ptr @fn_str_concat(ptr @.str1954, ptr %t336) + %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str1955) %t339 = load ptr, ptr %t328 %t340 = call ptr @fn_str_concat(ptr %t338, ptr %t339) %t341 = call ptr @fn_emit_bind(ptr %t340) store ptr %t341, ptr %t342 %t343 = load ptr, ptr %t335 - %t344 = call ptr @fn_str_concat(ptr @.str1766, ptr %t343) - %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str1767) + %t344 = call ptr @fn_str_concat(ptr @.str1956, ptr %t343) + %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str1957) %t346 = load ptr, ptr %t342 %t347 = call ptr @fn_str_concat(ptr %t345, ptr %t346) %t348 = call ptr @fn_emit_bind(ptr %t347) - %t349 = call ptr @fn_val(ptr %t348, ptr @.str1768) + %t349 = call ptr @fn_val(ptr %t348, ptr @.str1958) store ptr %t349, ptr %retval br label %ret ifend26: @@ -34568,70 +40159,70 @@ ifend26: %t406 = call ptr @fn_rect_field(ptr %t405, i32 0) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t372 - %t409 = call ptr @fn_str_concat(ptr @.str1769, ptr %t408) - %t410 = call ptr @fn_str_concat(ptr %t409, ptr @.str1770) + %t409 = call ptr @fn_str_concat(ptr @.str1959, ptr %t408) + %t410 = call ptr @fn_str_concat(ptr %t409, ptr @.str1960) %t411 = load ptr, ptr %t382 %t412 = call ptr @fn_str_concat(ptr %t410, ptr %t411) %t413 = call ptr @fn_emit_bind(ptr %t412) store ptr %t413, ptr %t414 %t415 = load ptr, ptr %t377 - %t416 = call ptr @fn_str_concat(ptr @.str1771, ptr %t415) - %t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str1772) + %t416 = call ptr @fn_str_concat(ptr @.str1961, ptr %t415) + %t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str1962) %t418 = load ptr, ptr %t387 %t419 = call ptr @fn_str_concat(ptr %t417, ptr %t418) %t420 = call ptr @fn_emit_bind(ptr %t419) store ptr %t420, ptr %t421 %t422 = load ptr, ptr %t392 - %t423 = call ptr @fn_str_concat(ptr @.str1773, ptr %t422) - %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1774) + %t423 = call ptr @fn_str_concat(ptr @.str1963, ptr %t422) + %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1964) %t425 = load ptr, ptr %t402 %t426 = call ptr @fn_str_concat(ptr %t424, ptr %t425) %t427 = call ptr @fn_emit_bind(ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t397 - %t430 = call ptr @fn_str_concat(ptr @.str1775, ptr %t429) - %t431 = call ptr @fn_str_concat(ptr %t430, ptr @.str1776) + %t430 = call ptr @fn_str_concat(ptr @.str1965, ptr %t429) + %t431 = call ptr @fn_str_concat(ptr %t430, ptr @.str1966) %t432 = load ptr, ptr %t407 %t433 = call ptr @fn_str_concat(ptr %t431, ptr %t432) %t434 = call ptr @fn_emit_bind(ptr %t433) store ptr %t434, ptr %t435 %t436 = load ptr, ptr %t372 %t437 = load ptr, ptr %t428 - %t438 = call ptr @fn_rect_cmp(ptr @.str1777, ptr %t436, ptr %t437) + %t438 = call ptr @fn_rect_cmp(ptr @.str1967, ptr %t436, ptr %t437) store ptr %t438, ptr %t439 %t440 = load ptr, ptr %t392 %t441 = load ptr, ptr %t414 - %t442 = call ptr @fn_rect_cmp(ptr @.str1778, ptr %t440, ptr %t441) + %t442 = call ptr @fn_rect_cmp(ptr @.str1968, ptr %t440, ptr %t441) store ptr %t442, ptr %t443 %t444 = load ptr, ptr %t377 %t445 = load ptr, ptr %t435 - %t446 = call ptr @fn_rect_cmp(ptr @.str1779, ptr %t444, ptr %t445) + %t446 = call ptr @fn_rect_cmp(ptr @.str1969, ptr %t444, ptr %t445) store ptr %t446, ptr %t447 %t448 = load ptr, ptr %t397 %t449 = load ptr, ptr %t421 - %t450 = call ptr @fn_rect_cmp(ptr @.str1780, ptr %t448, ptr %t449) + %t450 = call ptr @fn_rect_cmp(ptr @.str1970, ptr %t448, ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t439 - %t453 = call ptr @fn_str_concat(ptr @.str1781, ptr %t452) - %t454 = call ptr @fn_str_concat(ptr %t453, ptr @.str1782) + %t453 = call ptr @fn_str_concat(ptr @.str1971, ptr %t452) + %t454 = call ptr @fn_str_concat(ptr %t453, ptr @.str1972) %t455 = load ptr, ptr %t443 %t456 = call ptr @fn_str_concat(ptr %t454, ptr %t455) %t457 = call ptr @fn_emit_bind(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t447 - %t460 = call ptr @fn_str_concat(ptr @.str1783, ptr %t459) - %t461 = call ptr @fn_str_concat(ptr %t460, ptr @.str1784) + %t460 = call ptr @fn_str_concat(ptr @.str1973, ptr %t459) + %t461 = call ptr @fn_str_concat(ptr %t460, ptr @.str1974) %t462 = load ptr, ptr %t451 %t463 = call ptr @fn_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @fn_emit_bind(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t458 - %t467 = call ptr @fn_str_concat(ptr @.str1785, ptr %t466) - %t468 = call ptr @fn_str_concat(ptr %t467, ptr @.str1786) + %t467 = call ptr @fn_str_concat(ptr @.str1975, ptr %t466) + %t468 = call ptr @fn_str_concat(ptr %t467, ptr @.str1976) %t469 = load ptr, ptr %t465 %t470 = call ptr @fn_str_concat(ptr %t468, ptr %t469) %t471 = call ptr @fn_emit_bind(ptr %t470) - %t472 = call ptr @fn_val(ptr %t471, ptr @.str1787) + %t472 = call ptr @fn_val(ptr %t471, ptr @.str1977) store ptr %t472, ptr %retval br label %ret ret: @@ -34658,14 +40249,14 @@ entry: %t108 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1788) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1978) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1789) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1979) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -34678,7 +40269,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1790) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1980) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -34692,14 +40283,14 @@ then4: br label %ret ifend6: %t23 = load ptr, ptr %t0 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1791) + %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1981) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t22 br i1 %t25, label %scend8, label %sc7 sc7: %t27 = load ptr, ptr %t0 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str1792) + %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str1982) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t22 @@ -34712,7 +40303,7 @@ scend8: br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str1793) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str1983) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 @@ -34725,7 +40316,7 @@ scend10: br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str1794) + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str1984) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t20 @@ -34739,14 +40330,14 @@ then13: br label %ret ifend15: %t48 = load ptr, ptr %t0 - %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str1795) + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str1985) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend17, label %sc16 sc16: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1796) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1986) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 @@ -34760,14 +40351,14 @@ then18: br label %ret ifend20: %t59 = load ptr, ptr %t0 - %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str1797) + %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str1987) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t58 br i1 %t61, label %scend22, label %sc21 sc21: %t63 = load ptr, ptr %t0 - %t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str1798) + %t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str1988) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 @@ -34781,14 +40372,14 @@ then23: br label %ret ifend25: %t72 = load ptr, ptr %t0 - %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1799) + %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1989) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t71 br i1 %t74, label %scend27, label %sc26 sc26: %t76 = load ptr, ptr %t0 - %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1800) + %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1990) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t71 @@ -34801,7 +40392,7 @@ scend27: br i1 %t81, label %scend29, label %sc28 sc28: %t83 = load ptr, ptr %t0 - %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str1801) + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str1991) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t70 @@ -34814,7 +40405,7 @@ scend29: br i1 %t88, label %scend31, label %sc30 sc30: %t90 = load ptr, ptr %t0 - %t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str1802) + %t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str1992) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t69 @@ -34828,14 +40419,14 @@ then32: br label %ret ifend34: %t97 = load ptr, ptr %t0 - %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1803) + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1993) %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t96 br i1 %t99, label %scend36, label %sc35 sc35: %t101 = load ptr, ptr %t0 - %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1804) + %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1994) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t96 @@ -34849,14 +40440,14 @@ then37: br label %ret ifend39: %t109 = load ptr, ptr %t0 - %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str1805) + %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str1995) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t108 br i1 %t111, label %scend41, label %sc40 sc40: %t113 = load ptr, ptr %t0 - %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1806) + %t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1996) %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t108 @@ -34869,7 +40460,7 @@ scend41: br i1 %t118, label %scend43, label %sc42 sc42: %t120 = load ptr, ptr %t0 - %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1807) + %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1997) %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t107 @@ -34940,7 +40531,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1808) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1998) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -34957,15 +40548,15 @@ then0: %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str1809, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1810) + %t17 = call ptr @fn_str_concat(ptr @.str1999, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2000) %t19 = call ptr @fn_emit_bind(ptr %t18) - %t20 = call ptr @fn_val(ptr %t19, ptr @.str1811) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str2001) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1812) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2002) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: @@ -35000,25 +40591,25 @@ then3: %t51 = load ptr, ptr %t32 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 - %t54 = call ptr @fn_str_concat(ptr @.str1813, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1814) + %t54 = call ptr @fn_str_concat(ptr @.str2003, ptr %t53) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str2004) %t56 = load ptr, ptr %t41 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = call ptr @fn_str_concat(ptr %t55, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str1815) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2005) %t61 = load ptr, ptr %t50 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1816) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str2006) %t66 = call ptr @fn_emit_bind(ptr %t65) - %t67 = call ptr @fn_val(ptr %t66, ptr @.str1817) + %t67 = call ptr @fn_val(ptr %t66, ptr @.str2007) store ptr %t67, ptr %retval br label %ret ifend5: %t68 = load ptr, ptr %t0 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1818) + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2008) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then6, label %ifend8 then6: @@ -35044,20 +40635,20 @@ then6: %t89 = load ptr, ptr %t79 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 - %t92 = call ptr @fn_str_concat(ptr @.str1819, ptr %t91) - %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str1820) + %t92 = call ptr @fn_str_concat(ptr @.str2009, ptr %t91) + %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str2010) %t94 = load ptr, ptr %t88 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str1821) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2011) %t99 = call ptr @fn_emit_bind(ptr %t98) - %t100 = call ptr @fn_val(ptr %t99, ptr @.str1822) + %t100 = call ptr @fn_val(ptr %t99, ptr @.str2012) store ptr %t100, ptr %retval br label %ret ifend8: %t101 = load ptr, ptr %t0 - %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1823) + %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2013) %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then9, label %ifend11 then9: @@ -35083,15 +40674,15 @@ then9: %t122 = load ptr, ptr %t112 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 - %t125 = call ptr @fn_str_concat(ptr @.str1824, ptr %t124) - %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str1825) + %t125 = call ptr @fn_str_concat(ptr @.str2014, ptr %t124) + %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str2015) %t127 = load ptr, ptr %t121 %t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0 %t129 = load ptr, ptr %t128 %t130 = call ptr @fn_str_concat(ptr %t126, ptr %t129) - %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str1826) + %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str2016) %t132 = call ptr @fn_emit_bind(ptr %t131) - %t133 = call ptr @fn_val(ptr %t132, ptr @.str1827) + %t133 = call ptr @fn_val(ptr %t132, ptr @.str2017) store ptr %t133, ptr %retval br label %ret ifend11: @@ -35105,27 +40696,27 @@ ifend11: %t141 = call ptr @fn_emit_expr(ptr %t140) store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t0 - %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str1828) + %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2018) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then12, label %ifend14 then12: %t146 = load ptr, ptr %t142 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 - %t149 = call ptr @fn_str_concat(ptr @.str1829, ptr %t148) - %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str1830) + %t149 = call ptr @fn_str_concat(ptr @.str2019, ptr %t148) + %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str2020) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 - %t154 = call ptr @fn_str_concat(ptr @.str1831, ptr %t153) - %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1832) + %t154 = call ptr @fn_str_concat(ptr @.str2021, ptr %t153) + %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str2022) %t156 = call ptr @fn_emit_bind(ptr %t155) - %t157 = call ptr @fn_val(ptr %t156, ptr @.str1833) + %t157 = call ptr @fn_val(ptr %t156, ptr @.str2023) store ptr %t157, ptr %retval br label %ret ifend14: %t158 = load ptr, ptr %t0 - %t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1834) + %t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str2024) %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then15, label %ifend17 then15: @@ -35141,8 +40732,8 @@ then15: %t170 = load ptr, ptr %t142 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 - %t173 = call ptr @fn_str_concat(ptr @.str1835, ptr %t172) - %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1836) + %t173 = call ptr @fn_str_concat(ptr @.str2025, ptr %t172) + %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str2026) %t175 = load ptr, ptr %t169 %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 @@ -35150,34 +40741,34 @@ then15: %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t180 - %t182 = call ptr @fn_str_concat(ptr @.str1837, ptr %t181) + %t182 = call ptr @fn_str_concat(ptr @.str2027, ptr %t181) %t183 = call ptr @fn_emit_bind(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 - %t186 = call ptr @fn_str_concat(ptr @.str1838, ptr %t185) - %t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str1839) + %t186 = call ptr @fn_str_concat(ptr @.str2028, ptr %t185) + %t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str2029) %t188 = call ptr @fn_emit_bind(ptr %t187) - %t189 = call ptr @fn_val(ptr %t188, ptr @.str1840) + %t189 = call ptr @fn_val(ptr %t188, ptr @.str2030) store ptr %t189, ptr %retval br label %ret ifend17: %t190 = load ptr, ptr %t0 - %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str1841) + %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str2031) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then18, label %ifend20 then18: %t193 = load ptr, ptr %t142 %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 - %t196 = call ptr @fn_str_concat(ptr @.str1842, ptr %t195) - %t197 = call ptr @fn_str_concat(ptr %t196, ptr @.str1843) + %t196 = call ptr @fn_str_concat(ptr @.str2032, ptr %t195) + %t197 = call ptr @fn_str_concat(ptr %t196, ptr @.str2033) %t198 = call ptr @fn_emit_bind(ptr %t197) - %t199 = call ptr @fn_val(ptr %t198, ptr @.str1844) + %t199 = call ptr @fn_val(ptr %t198, ptr @.str2034) store ptr %t199, ptr %retval br label %ret ifend20: %t200 = load ptr, ptr %t0 - %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str1845) + %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str2035) %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then21, label %ifend23 then21: @@ -35185,15 +40776,15 @@ then21: %t203 = load ptr, ptr %t142 %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 - %t206 = call ptr @fn_str_concat(ptr @.str1846, ptr %t205) - %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str1847) + %t206 = call ptr @fn_str_concat(ptr @.str2036, ptr %t205) + %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str2037) %t208 = call ptr @fn_emit_bind(ptr %t207) - %t209 = call ptr @fn_val(ptr %t208, ptr @.str1848) + %t209 = call ptr @fn_val(ptr %t208, ptr @.str2038) store ptr %t209, ptr %retval br label %ret ifend23: %t210 = load ptr, ptr %t0 - %t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str1849) + %t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str2039) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then24, label %ifend26 then24: @@ -35201,15 +40792,15 @@ then24: %t213 = load ptr, ptr %t142 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 - %t216 = call ptr @fn_str_concat(ptr @.str1850, ptr %t215) - %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str1851) + %t216 = call ptr @fn_str_concat(ptr @.str2040, ptr %t215) + %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str2041) %t218 = call ptr @fn_emit_bind(ptr %t217) - %t219 = call ptr @fn_val(ptr %t218, ptr @.str1852) + %t219 = call ptr @fn_val(ptr %t218, ptr @.str2042) store ptr %t219, ptr %retval br label %ret ifend26: %t220 = load ptr, ptr %t0 - %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str1853) + %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str2043) %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then27, label %ifend29 then27: @@ -35217,15 +40808,15 @@ then27: %t223 = load ptr, ptr %t142 %t224 = getelementptr inbounds %Cmp_Val, ptr %t223, i32 0, i32 0 %t225 = load ptr, ptr %t224 - %t226 = call ptr @fn_str_concat(ptr @.str1854, ptr %t225) - %t227 = call ptr @fn_str_concat(ptr %t226, ptr @.str1855) + %t226 = call ptr @fn_str_concat(ptr @.str2044, ptr %t225) + %t227 = call ptr @fn_str_concat(ptr %t226, ptr @.str2045) %t228 = call ptr @fn_emit_bind(ptr %t227) - %t229 = call ptr @fn_val(ptr %t228, ptr @.str1856) + %t229 = call ptr @fn_val(ptr %t228, ptr @.str2046) store ptr %t229, ptr %retval br label %ret ifend29: %t230 = load ptr, ptr %t0 - %t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str1857) + %t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str2047) %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then30, label %ifend32 then30: @@ -35242,20 +40833,20 @@ then30: %t242 = load ptr, ptr %t142 %t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0 %t244 = load ptr, ptr %t243 - %t245 = call ptr @fn_str_concat(ptr @.str1858, ptr %t244) - %t246 = call ptr @fn_str_concat(ptr %t245, ptr @.str1859) + %t245 = call ptr @fn_str_concat(ptr @.str2048, ptr %t244) + %t246 = call ptr @fn_str_concat(ptr %t245, ptr @.str2049) %t247 = load ptr, ptr %t241 %t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_str_concat(ptr %t246, ptr %t249) - %t251 = call ptr @fn_str_concat(ptr %t250, ptr @.str1860) + %t251 = call ptr @fn_str_concat(ptr %t250, ptr @.str2050) %t252 = call ptr @fn_emit_bind(ptr %t251) - %t253 = call ptr @fn_val(ptr %t252, ptr @.str1861) + %t253 = call ptr @fn_val(ptr %t252, ptr @.str2051) store ptr %t253, ptr %retval br label %ret ifend32: %t254 = load ptr, ptr %t0 - %t255 = call i32 @fn_str_eq(ptr %t254, ptr @.str1862) + %t255 = call i32 @fn_str_eq(ptr %t254, ptr @.str2052) %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then33, label %ifend35 then33: @@ -35272,20 +40863,20 @@ then33: %t266 = load ptr, ptr %t142 %t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0 %t268 = load ptr, ptr %t267 - %t269 = call ptr @fn_str_concat(ptr @.str1863, ptr %t268) - %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1864) + %t269 = call ptr @fn_str_concat(ptr @.str2053, ptr %t268) + %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str2054) %t271 = load ptr, ptr %t265 %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 %t273 = load ptr, ptr %t272 %t274 = call ptr @fn_str_concat(ptr %t270, ptr %t273) - %t275 = call ptr @fn_str_concat(ptr %t274, ptr @.str1865) + %t275 = call ptr @fn_str_concat(ptr %t274, ptr @.str2055) %t276 = call ptr @fn_emit_bind(ptr %t275) - %t277 = call ptr @fn_val(ptr %t276, ptr @.str1866) + %t277 = call ptr @fn_val(ptr %t276, ptr @.str2056) store ptr %t277, ptr %retval br label %ret ifend35: %t278 = load ptr, ptr %t0 - %t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str1867) + %t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str2057) %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then36, label %ifend38 then36: @@ -35302,20 +40893,20 @@ then36: %t290 = load ptr, ptr %t142 %t291 = getelementptr inbounds %Cmp_Val, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 - %t293 = call ptr @fn_str_concat(ptr @.str1868, ptr %t292) - %t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str1869) + %t293 = call ptr @fn_str_concat(ptr @.str2058, ptr %t292) + %t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str2059) %t295 = load ptr, ptr %t289 %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = call ptr @fn_str_concat(ptr %t294, ptr %t297) - %t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str1870) + %t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str2060) %t300 = call ptr @fn_emit_bind(ptr %t299) - %t301 = call ptr @fn_val(ptr %t300, ptr @.str1871) + %t301 = call ptr @fn_val(ptr %t300, ptr @.str2061) store ptr %t301, ptr %retval br label %ret ifend38: %t302 = load ptr, ptr %t0 - %t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str1872) + %t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str2062) %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then39, label %ifend41 then39: @@ -35341,25 +40932,25 @@ then39: %t323 = load ptr, ptr %t142 %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 - %t326 = call ptr @fn_str_concat(ptr @.str1873, ptr %t325) - %t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str1874) + %t326 = call ptr @fn_str_concat(ptr @.str2063, ptr %t325) + %t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str2064) %t328 = load ptr, ptr %t313 %t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0 %t330 = load ptr, ptr %t329 %t331 = call ptr @fn_str_concat(ptr %t327, ptr %t330) - %t332 = call ptr @fn_str_concat(ptr %t331, ptr @.str1875) + %t332 = call ptr @fn_str_concat(ptr %t331, ptr @.str2065) %t333 = load ptr, ptr %t322 %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 %t335 = load ptr, ptr %t334 %t336 = call ptr @fn_str_concat(ptr %t332, ptr %t335) - %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str1876) + %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str2066) %t338 = call ptr @fn_emit_bind(ptr %t337) - %t339 = call ptr @fn_val(ptr %t338, ptr @.str1877) + %t339 = call ptr @fn_val(ptr %t338, ptr @.str2067) store ptr %t339, ptr %retval br label %ret ifend41: %t340 = load ptr, ptr %t0 - %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str1878) + %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str2068) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then42, label %ifend44 then42: @@ -35376,20 +40967,20 @@ then42: %t352 = load ptr, ptr %t142 %t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0 %t354 = load ptr, ptr %t353 - %t355 = call ptr @fn_str_concat(ptr @.str1879, ptr %t354) - %t356 = call ptr @fn_str_concat(ptr %t355, ptr @.str1880) + %t355 = call ptr @fn_str_concat(ptr @.str2069, ptr %t354) + %t356 = call ptr @fn_str_concat(ptr %t355, ptr @.str2070) %t357 = load ptr, ptr %t351 %t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0 %t359 = load ptr, ptr %t358 %t360 = call ptr @fn_str_concat(ptr %t356, ptr %t359) - %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str1881) + %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str2071) %t362 = call ptr @fn_emit_bind(ptr %t361) - %t363 = call ptr @fn_val(ptr %t362, ptr @.str1882) + %t363 = call ptr @fn_val(ptr %t362, ptr @.str2072) store ptr %t363, ptr %retval br label %ret ifend44: %t364 = load ptr, ptr %t0 - %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1883) + %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str2073) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then45, label %ifend47 then45: @@ -35406,27 +40997,27 @@ then45: %t376 = load ptr, ptr %t142 %t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0 %t378 = load ptr, ptr %t377 - %t379 = call ptr @fn_str_concat(ptr @.str1884, ptr %t378) - %t380 = call ptr @fn_str_concat(ptr %t379, ptr @.str1885) + %t379 = call ptr @fn_str_concat(ptr @.str2074, ptr %t378) + %t380 = call ptr @fn_str_concat(ptr %t379, ptr @.str2075) %t381 = load ptr, ptr %t375 %t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0 %t383 = load ptr, ptr %t382 %t384 = call ptr @fn_str_concat(ptr %t380, ptr %t383) - %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1886) + %t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str2076) %t386 = call ptr @fn_emit_bind(ptr %t385) - %t387 = call ptr @fn_val(ptr %t386, ptr @.str1887) + %t387 = call ptr @fn_val(ptr %t386, ptr @.str2077) store ptr %t387, ptr %retval br label %ret ifend47: %t389 = load ptr, ptr %t0 - %t390 = call i32 @fn_str_eq(ptr %t389, ptr @.str1888) + %t390 = call i32 @fn_str_eq(ptr %t389, ptr @.str2078) %t391 = icmp ne i32 %t390, 0 %t392 = zext i1 %t391 to i32 store i32 %t392, ptr %t388 br i1 %t391, label %scend49, label %sc48 sc48: %t393 = load ptr, ptr %t0 - %t394 = call i32 @fn_str_eq(ptr %t393, ptr @.str1889) + %t394 = call i32 @fn_str_eq(ptr %t393, ptr @.str2079) %t395 = icmp ne i32 %t394, 0 %t396 = zext i1 %t395 to i32 store i32 %t396, ptr %t388 @@ -35448,69 +41039,69 @@ then50: %t408 = load ptr, ptr %t142 %t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 - %t411 = call ptr @fn_str_concat(ptr @.str1890, ptr %t410) - %t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str1891) + %t411 = call ptr @fn_str_concat(ptr @.str2080, ptr %t410) + %t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str2081) %t413 = load ptr, ptr %t407 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 %t416 = call ptr @fn_str_concat(ptr %t412, ptr %t415) - %t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str1892) + %t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str2082) %t418 = call ptr @fn_emit_bind(ptr %t417) store ptr %t418, ptr %t419 %t420 = load ptr, ptr %t0 - %t421 = call i32 @fn_str_eq(ptr %t420, ptr @.str1893) + %t421 = call i32 @fn_str_eq(ptr %t420, ptr @.str2083) %t422 = icmp ne i32 %t421, 0 br i1 %t422, label %then53, label %ifend55 then53: %t423 = load ptr, ptr %t419 - %t424 = call ptr @fn_str_concat(ptr @.str1894, ptr %t423) - %t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str1895) + %t424 = call ptr @fn_str_concat(ptr @.str2084, ptr %t423) + %t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str2085) %t426 = call ptr @fn_emit_bind(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t427 - %t429 = call ptr @fn_str_concat(ptr @.str1896, ptr %t428) - %t430 = call ptr @fn_str_concat(ptr %t429, ptr @.str1897) + %t429 = call ptr @fn_str_concat(ptr @.str2086, ptr %t428) + %t430 = call ptr @fn_str_concat(ptr %t429, ptr @.str2087) %t431 = call ptr @fn_emit_bind(ptr %t430) - %t432 = call ptr @fn_val(ptr %t431, ptr @.str1898) + %t432 = call ptr @fn_val(ptr %t431, ptr @.str2088) store ptr %t432, ptr %retval br label %ret ifend55: %t433 = load ptr, ptr %t419 - %t434 = call ptr @fn_str_concat(ptr @.str1899, ptr %t433) - %t435 = call ptr @fn_str_concat(ptr %t434, ptr @.str1900) + %t434 = call ptr @fn_str_concat(ptr @.str2089, ptr %t433) + %t435 = call ptr @fn_str_concat(ptr %t434, ptr @.str2090) %t436 = call ptr @fn_emit_bind(ptr %t435) store ptr %t436, ptr %t437 %t438 = load ptr, ptr %t419 - %t439 = call ptr @fn_str_concat(ptr @.str1901, ptr %t438) - %t440 = call ptr @fn_str_concat(ptr %t439, ptr @.str1902) + %t439 = call ptr @fn_str_concat(ptr @.str2091, ptr %t438) + %t440 = call ptr @fn_str_concat(ptr %t439, ptr @.str2092) %t441 = call ptr @fn_emit_bind(ptr %t440) store ptr %t441, ptr %t442 %t443 = load ptr, ptr %t142 %t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0 %t445 = load ptr, ptr %t444 - %t446 = call ptr @fn_str_concat(ptr @.str1903, ptr %t445) - %t447 = call ptr @fn_str_concat(ptr %t446, ptr @.str1904) + %t446 = call ptr @fn_str_concat(ptr @.str2093, ptr %t445) + %t447 = call ptr @fn_str_concat(ptr %t446, ptr @.str2094) %t448 = call ptr @fn_emit_bind(ptr %t447) store ptr %t448, ptr %t449 %t450 = load ptr, ptr %t442 - %t451 = call ptr @fn_str_concat(ptr @.str1905, ptr %t450) - %t452 = call ptr @fn_str_concat(ptr %t451, ptr @.str1906) + %t451 = call ptr @fn_str_concat(ptr @.str2095, ptr %t450) + %t452 = call ptr @fn_str_concat(ptr %t451, ptr @.str2096) %t453 = load ptr, ptr %t449 %t454 = call ptr @fn_str_concat(ptr %t452, ptr %t453) %t455 = call ptr @fn_emit_bind(ptr %t454) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t456 - %t458 = call ptr @fn_str_concat(ptr @.str1907, ptr %t457) - %t459 = call ptr @fn_str_concat(ptr %t458, ptr @.str1908) + %t458 = call ptr @fn_str_concat(ptr @.str2097, ptr %t457) + %t459 = call ptr @fn_str_concat(ptr %t458, ptr @.str2098) %t460 = call ptr @fn_emit_bind(ptr %t459) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t437 - %t463 = call ptr @fn_str_concat(ptr @.str1909, ptr %t462) - %t464 = call ptr @fn_str_concat(ptr %t463, ptr @.str1910) + %t463 = call ptr @fn_str_concat(ptr @.str2099, ptr %t462) + %t464 = call ptr @fn_str_concat(ptr %t463, ptr @.str2100) %t465 = load ptr, ptr %t461 %t466 = call ptr @fn_str_concat(ptr %t464, ptr %t465) %t467 = call ptr @fn_emit_bind(ptr %t466) - %t468 = call ptr @fn_val(ptr %t467, ptr @.str1911) + %t468 = call ptr @fn_val(ptr %t467, ptr @.str2101) store ptr %t468, ptr %retval br label %ret ifend52: @@ -35526,129 +41117,129 @@ ifend52: %t478 = load ptr, ptr %t477 %t479 = getelementptr inbounds %Cmp_Val, ptr %t478, i32 0, i32 0 %t480 = load ptr, ptr %t479 - %t481 = call ptr @fn_str_concat(ptr @.str1912, ptr %t480) - %t482 = call ptr @fn_str_concat(ptr %t481, ptr @.str1913) + %t481 = call ptr @fn_str_concat(ptr @.str2102, ptr %t480) + %t482 = call ptr @fn_str_concat(ptr %t481, ptr @.str2103) %t483 = call ptr @fn_emit_bind(ptr %t482) store ptr %t483, ptr %t484 %t485 = load ptr, ptr %t0 - %t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str1914) + %t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str2104) %t487 = icmp ne i32 %t486, 0 br i1 %t487, label %then56, label %ifend58 then56: %t488 = load ptr, ptr %t142 %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0 %t490 = load ptr, ptr %t489 - %t491 = call ptr @fn_str_concat(ptr @.str1915, ptr %t490) - %t492 = call ptr @fn_str_concat(ptr %t491, ptr @.str1916) + %t491 = call ptr @fn_str_concat(ptr @.str2105, ptr %t490) + %t492 = call ptr @fn_str_concat(ptr %t491, ptr @.str2106) %t493 = load ptr, ptr %t477 %t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0 %t495 = load ptr, ptr %t494 %t496 = call ptr @fn_str_concat(ptr %t492, ptr %t495) - %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str1917) + %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str2107) %t498 = load ptr, ptr %t484 %t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498) - %t500 = call ptr @fn_str_concat(ptr %t499, ptr @.str1918) + %t500 = call ptr @fn_str_concat(ptr %t499, ptr @.str2108) %t501 = call ptr @fn_emit_bind(ptr %t500) store ptr %t501, ptr %t502 %t503 = load ptr, ptr %t502 - %t504 = call ptr @fn_str_concat(ptr @.str1919, ptr %t503) - %t505 = call ptr @fn_str_concat(ptr %t504, ptr @.str1920) + %t504 = call ptr @fn_str_concat(ptr @.str2109, ptr %t503) + %t505 = call ptr @fn_str_concat(ptr %t504, ptr @.str2110) %t506 = call ptr @fn_emit_bind(ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t507 - %t509 = call ptr @fn_str_concat(ptr @.str1921, ptr %t508) - %t510 = call ptr @fn_str_concat(ptr %t509, ptr @.str1922) + %t509 = call ptr @fn_str_concat(ptr @.str2111, ptr %t508) + %t510 = call ptr @fn_str_concat(ptr %t509, ptr @.str2112) %t511 = call ptr @fn_emit_bind(ptr %t510) - %t512 = call ptr @fn_val(ptr %t511, ptr @.str1923) + %t512 = call ptr @fn_val(ptr %t511, ptr @.str2113) store ptr %t512, ptr %retval br label %ret ifend58: %t513 = load ptr, ptr %t142 %t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0 %t515 = load ptr, ptr %t514 - %t516 = call ptr @fn_str_concat(ptr @.str1924, ptr %t515) - %t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str1925) + %t516 = call ptr @fn_str_concat(ptr @.str2114, ptr %t515) + %t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str2115) %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 @.str1926, ptr %t520) - %t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str1927) + %t521 = call ptr @fn_str_concat(ptr @.str2116, ptr %t520) + %t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str2117) %t523 = load ptr, ptr %t484 %t524 = call ptr @fn_str_concat(ptr %t522, ptr %t523) %t525 = call ptr @fn_emit_bind(ptr %t524) store ptr %t525, ptr %t526 - %t527 = call ptr @fn_emit_alloca(ptr @.str1928) + %t527 = call ptr @fn_emit_alloca(ptr @.str2118) store ptr %t527, ptr %t528 %t529 = load ptr, ptr %t528 - call void @fn_store_at(ptr @.str1929, ptr @.str1930, ptr %t529) + call void @fn_store_at(ptr @.str2119, ptr @.str2120, ptr %t529) %t530 = load ptr, ptr %t526 - %t531 = call ptr @fn_str_concat(ptr @.str1931, ptr %t530) - %t532 = call ptr @fn_str_concat(ptr %t531, ptr @.str1932) + %t531 = call ptr @fn_str_concat(ptr @.str2121, ptr %t530) + %t532 = call ptr @fn_str_concat(ptr %t531, ptr @.str2122) %t533 = call ptr @fn_emit_bind(ptr %t532) store ptr %t533, ptr %t534 - %t535 = call ptr @fn_lbl(ptr @.str1933) + %t535 = call ptr @fn_lbl(ptr @.str2123) store ptr %t535, ptr %t536 - %t537 = call ptr @fn_lbl(ptr @.str1934) + %t537 = call ptr @fn_lbl(ptr @.str2124) store ptr %t537, ptr %t538 - call void @fn_emit(ptr @.str1935) + call void @fn_emit(ptr @.str2125) %t539 = load ptr, ptr %t534 call void @fn_emit(ptr %t539) - call void @fn_emit(ptr @.str1936) + call void @fn_emit(ptr @.str2126) %t540 = load ptr, ptr %t538 call void @fn_emit(ptr %t540) - call void @fn_emit(ptr @.str1937) + call void @fn_emit(ptr @.str2127) %t541 = load ptr, ptr %t536 call void @fn_emit(ptr %t541) - call void @fn_emit(ptr @.str1938) + call void @fn_emit(ptr @.str2128) %t542 = load ptr, ptr %t536 call void @fn_emit(ptr %t542) - call void @fn_emit(ptr @.str1939) + call void @fn_emit(ptr @.str2129) %t543 = load ptr, ptr %t142 %t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0 %t545 = load ptr, ptr %t544 - %t546 = call ptr @fn_str_concat(ptr @.str1940, ptr %t545) - %t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1941) + %t546 = call ptr @fn_str_concat(ptr @.str2130, ptr %t545) + %t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str2131) %t548 = load ptr, ptr %t526 %t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548) %t550 = call ptr @fn_emit_bind(ptr %t549) store ptr %t550, ptr %t551 %t552 = load ptr, ptr %t551 - %t553 = call ptr @fn_str_concat(ptr @.str1942, ptr %t552) - %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str1943) + %t553 = call ptr @fn_str_concat(ptr @.str2132, ptr %t552) + %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str2133) %t555 = load ptr, ptr %t477 %t556 = getelementptr inbounds %Cmp_Val, ptr %t555, i32 0, i32 0 %t557 = load ptr, ptr %t556 %t558 = call ptr @fn_str_concat(ptr %t554, ptr %t557) - %t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str1944) + %t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str2134) %t560 = load ptr, ptr %t484 %t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560) - %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str1945) + %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str2135) %t563 = call ptr @fn_emit_bind(ptr %t562) store ptr %t563, ptr %t564 %t565 = load ptr, ptr %t564 - %t566 = call ptr @fn_str_concat(ptr @.str1946, ptr %t565) - %t567 = call ptr @fn_str_concat(ptr %t566, ptr @.str1947) + %t566 = call ptr @fn_str_concat(ptr @.str2136, ptr %t565) + %t567 = call ptr @fn_str_concat(ptr %t566, ptr @.str2137) %t568 = call ptr @fn_emit_bind(ptr %t567) store ptr %t568, ptr %t569 %t570 = load ptr, ptr %t569 - %t571 = call ptr @fn_str_concat(ptr @.str1948, ptr %t570) - %t572 = call ptr @fn_str_concat(ptr %t571, ptr @.str1949) + %t571 = call ptr @fn_str_concat(ptr @.str2138, ptr %t570) + %t572 = call ptr @fn_str_concat(ptr %t571, ptr @.str2139) %t573 = call ptr @fn_emit_bind(ptr %t572) store ptr %t573, ptr %t574 %t575 = load ptr, ptr %t574 %t576 = load ptr, ptr %t528 - call void @fn_store_at(ptr @.str1950, ptr %t575, ptr %t576) - call void @fn_emit(ptr @.str1951) + call void @fn_store_at(ptr @.str2140, ptr %t575, ptr %t576) + call void @fn_emit(ptr @.str2141) %t577 = load ptr, ptr %t538 call void @fn_emit(ptr %t577) - call void @fn_emit(ptr @.str1952) + call void @fn_emit(ptr @.str2142) %t578 = load ptr, ptr %t538 call void @fn_emit(ptr %t578) - call void @fn_emit(ptr @.str1953) + call void @fn_emit(ptr @.str2143) %t579 = load ptr, ptr %t528 - %t580 = call ptr @fn_str_concat(ptr @.str1954, ptr %t579) + %t580 = call ptr @fn_str_concat(ptr @.str2144, ptr %t579) %t581 = call ptr @fn_emit_bind(ptr %t580) - %t582 = call ptr @fn_val(ptr %t581, ptr @.str1955) + %t582 = call ptr @fn_val(ptr %t581, ptr @.str2145) store ptr %t582, ptr %retval br label %ret ret: @@ -35658,196 +41249,6 @@ ret: define void @fn_emit_text_prelude() { entry: - call void @fn_emith(ptr @.str1956) - call void @fn_emith(ptr @.str1957) - call void @fn_emith(ptr @.str1958) - call void @fn_emith(ptr @.str1959) - call void @fn_emith(ptr @.str1960) - call void @fn_emith(ptr @.str1961) - call void @fn_emith(ptr @.str1962) - call void @fn_emith(ptr @.str1963) - call void @fn_emith(ptr @.str1964) - call void @fn_emith(ptr @.str1965) - call void @fn_emith(ptr @.str1966) - call void @fn_emith(ptr @.str1967) - call void @fn_emith(ptr @.str1968) - call void @fn_emith(ptr @.str1969) - call void @fn_emith(ptr @.str1970) - call void @fn_emith(ptr @.str1971) - call void @fn_emith(ptr @.str1972) - call void @fn_emith(ptr @.str1973) - call void @fn_emith(ptr @.str1974) - call void @fn_emith(ptr @.str1975) - call void @fn_emith(ptr @.str1976) - call void @fn_emith(ptr @.str1977) - call void @fn_emith(ptr @.str1978) - call void @fn_emith(ptr @.str1979) - call void @fn_emith(ptr @.str1980) - call void @fn_emith(ptr @.str1981) - call void @fn_emith(ptr @.str1982) - call void @fn_emith(ptr @.str1983) - call void @fn_emith(ptr @.str1984) - call void @fn_emith(ptr @.str1985) - call void @fn_emith(ptr @.str1986) - call void @fn_emith(ptr @.str1987) - call void @fn_emith(ptr @.str1988) - call void @fn_emith(ptr @.str1989) - call void @fn_emith(ptr @.str1990) - call void @fn_emith(ptr @.str1991) - call void @fn_emith(ptr @.str1992) - call void @fn_emith(ptr @.str1993) - call void @fn_emith(ptr @.str1994) - call void @fn_emith(ptr @.str1995) - call void @fn_emith(ptr @.str1996) - call void @fn_emith(ptr @.str1997) - call void @fn_emith(ptr @.str1998) - call void @fn_emith(ptr @.str1999) - call void @fn_emith(ptr @.str2000) - call void @fn_emith(ptr @.str2001) - call void @fn_emith(ptr @.str2002) - call void @fn_emith(ptr @.str2003) - call void @fn_emith(ptr @.str2004) - call void @fn_emith(ptr @.str2005) - call void @fn_emith(ptr @.str2006) - call void @fn_emith(ptr @.str2007) - call void @fn_emith(ptr @.str2008) - call void @fn_emith(ptr @.str2009) - call void @fn_emith(ptr @.str2010) - call void @fn_emith(ptr @.str2011) - call void @fn_emith(ptr @.str2012) - call void @fn_emith(ptr @.str2013) - call void @fn_emith(ptr @.str2014) - call void @fn_emith(ptr @.str2015) - call void @fn_emith(ptr @.str2016) - call void @fn_emith(ptr @.str2017) - call void @fn_emith(ptr @.str2018) - call void @fn_emith(ptr @.str2019) - call void @fn_emith(ptr @.str2020) - call void @fn_emith(ptr @.str2021) - call void @fn_emith(ptr @.str2022) - call void @fn_emith(ptr @.str2023) - call void @fn_emith(ptr @.str2024) - call void @fn_emith(ptr @.str2025) - call void @fn_emith(ptr @.str2026) - call void @fn_emith(ptr @.str2027) - call void @fn_emith(ptr @.str2028) - call void @fn_emith(ptr @.str2029) - call void @fn_emith(ptr @.str2030) - call void @fn_emith(ptr @.str2031) - call void @fn_emith(ptr @.str2032) - call void @fn_emith(ptr @.str2033) - call void @fn_emith(ptr @.str2034) - call void @fn_emith(ptr @.str2035) - call void @fn_emith(ptr @.str2036) - call void @fn_emith(ptr @.str2037) - call void @fn_emith(ptr @.str2038) - call void @fn_emith(ptr @.str2039) - call void @fn_emith(ptr @.str2040) - call void @fn_emith(ptr @.str2041) - call void @fn_emith(ptr @.str2042) - call void @fn_emith(ptr @.str2043) - call void @fn_emith(ptr @.str2044) - call void @fn_emith(ptr @.str2045) - call void @fn_emith(ptr @.str2046) - call void @fn_emith(ptr @.str2047) - call void @fn_emith(ptr @.str2048) - call void @fn_emith(ptr @.str2049) - call void @fn_emith(ptr @.str2050) - call void @fn_emith(ptr @.str2051) - call void @fn_emith(ptr @.str2052) - call void @fn_emith(ptr @.str2053) - call void @fn_emith(ptr @.str2054) - call void @fn_emith(ptr @.str2055) - call void @fn_emith(ptr @.str2056) - call void @fn_emith(ptr @.str2057) - call void @fn_emith(ptr @.str2058) - call void @fn_emith(ptr @.str2059) - call void @fn_emith(ptr @.str2060) - call void @fn_emith(ptr @.str2061) - call void @fn_emith(ptr @.str2062) - call void @fn_emith(ptr @.str2063) - call void @fn_emith(ptr @.str2064) - call void @fn_emith(ptr @.str2065) - call void @fn_emith(ptr @.str2066) - call void @fn_emith(ptr @.str2067) - call void @fn_emith(ptr @.str2068) - call void @fn_emith(ptr @.str2069) - call void @fn_emith(ptr @.str2070) - call void @fn_emith(ptr @.str2071) - call void @fn_emith(ptr @.str2072) - call void @fn_emith(ptr @.str2073) - call void @fn_emith(ptr @.str2074) - call void @fn_emith(ptr @.str2075) - call void @fn_emith(ptr @.str2076) - call void @fn_emith(ptr @.str2077) - call void @fn_emith(ptr @.str2078) - call void @fn_emith(ptr @.str2079) - call void @fn_emith(ptr @.str2080) - call void @fn_emith(ptr @.str2081) - call void @fn_emith(ptr @.str2082) - call void @fn_emith(ptr @.str2083) - call void @fn_emith(ptr @.str2084) - call void @fn_emith(ptr @.str2085) - call void @fn_emith(ptr @.str2086) - call void @fn_emith(ptr @.str2087) - call void @fn_emith(ptr @.str2088) - call void @fn_emith(ptr @.str2089) - call void @fn_emith(ptr @.str2090) - call void @fn_emith(ptr @.str2091) - call void @fn_emith(ptr @.str2092) - call void @fn_emith(ptr @.str2093) - call void @fn_emith(ptr @.str2094) - call void @fn_emith(ptr @.str2095) - call void @fn_emith(ptr @.str2096) - call void @fn_emith(ptr @.str2097) - call void @fn_emith(ptr @.str2098) - call void @fn_emith(ptr @.str2099) - call void @fn_emith(ptr @.str2100) - call void @fn_emith(ptr @.str2101) - call void @fn_emith(ptr @.str2102) - call void @fn_emith(ptr @.str2103) - call void @fn_emith(ptr @.str2104) - call void @fn_emith(ptr @.str2105) - call void @fn_emith(ptr @.str2106) - call void @fn_emith(ptr @.str2107) - call void @fn_emith(ptr @.str2108) - call void @fn_emith(ptr @.str2109) - call void @fn_emith(ptr @.str2110) - call void @fn_emith(ptr @.str2111) - call void @fn_emith(ptr @.str2112) - call void @fn_emith(ptr @.str2113) - call void @fn_emith(ptr @.str2114) - call void @fn_emith(ptr @.str2115) - call void @fn_emith(ptr @.str2116) - call void @fn_emith(ptr @.str2117) - call void @fn_emith(ptr @.str2118) - call void @fn_emith(ptr @.str2119) - call void @fn_emith(ptr @.str2120) - call void @fn_emith(ptr @.str2121) - call void @fn_emith(ptr @.str2122) - call void @fn_emith(ptr @.str2123) - call void @fn_emith(ptr @.str2124) - call void @fn_emith(ptr @.str2125) - call void @fn_emith(ptr @.str2126) - call void @fn_emith(ptr @.str2127) - call void @fn_emith(ptr @.str2128) - call void @fn_emith(ptr @.str2129) - call void @fn_emith(ptr @.str2130) - call void @fn_emith(ptr @.str2131) - call void @fn_emith(ptr @.str2132) - call void @fn_emith(ptr @.str2133) - call void @fn_emith(ptr @.str2134) - call void @fn_emith(ptr @.str2135) - call void @fn_emith(ptr @.str2136) - call void @fn_emith(ptr @.str2137) - call void @fn_emith(ptr @.str2138) - call void @fn_emith(ptr @.str2139) - call void @fn_emith(ptr @.str2140) - call void @fn_emith(ptr @.str2141) - call void @fn_emith(ptr @.str2142) - call void @fn_emith(ptr @.str2143) - call void @fn_emith(ptr @.str2144) - call void @fn_emith(ptr @.str2145) call void @fn_emith(ptr @.str2146) call void @fn_emith(ptr @.str2147) call void @fn_emith(ptr @.str2148) @@ -35856,13 +41257,6 @@ entry: call void @fn_emith(ptr @.str2151) call void @fn_emith(ptr @.str2152) call void @fn_emith(ptr @.str2153) - br label %ret -ret: - ret void -} - -define void @fn_emit_text2_prelude() { -entry: call void @fn_emith(ptr @.str2154) call void @fn_emith(ptr @.str2155) call void @fn_emith(ptr @.str2156) @@ -36053,6 +41447,13 @@ entry: call void @fn_emith(ptr @.str2341) call void @fn_emith(ptr @.str2342) call void @fn_emith(ptr @.str2343) + br label %ret +ret: + ret void +} + +define void @fn_emit_text2_prelude() { +entry: call void @fn_emith(ptr @.str2344) call void @fn_emith(ptr @.str2345) call void @fn_emith(ptr @.str2346) @@ -36074,490 +41475,78 @@ entry: call void @fn_emith(ptr @.str2362) call void @fn_emith(ptr @.str2363) call void @fn_emith(ptr @.str2364) - br label %ret -ret: - ret void -} - -define i32 @fn_is_hash_ns(ptr %arg_meth) { -entry: - %retval = alloca i32 - %t0 = alloca ptr - %t1 = alloca i32 - %t2 = alloca i32 - %t20 = alloca i32 - %t31 = alloca i32 - %t32 = alloca i32 - store ptr %arg_meth, ptr %t0 - %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2365) - %t5 = icmp ne i32 %t4, 0 - %t6 = zext i1 %t5 to i32 - store i32 %t6, ptr %t2 - br i1 %t5, label %scend1, label %sc0 -sc0: - %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2366) - %t9 = icmp ne i32 %t8, 0 - %t10 = zext i1 %t9 to i32 - store i32 %t10, ptr %t2 - br label %scend1 -scend1: - %t11 = load i32, ptr %t2 - %t12 = icmp ne i32 %t11, 0 - %t13 = zext i1 %t12 to i32 - store i32 %t13, ptr %t1 - br i1 %t12, label %scend3, label %sc2 -sc2: - %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2367) - %t16 = icmp ne i32 %t15, 0 - %t17 = zext i1 %t16 to i32 - store i32 %t17, ptr %t1 - br label %scend3 -scend3: - %t18 = load i32, ptr %t1 - %t19 = icmp ne i32 %t18, 0 - br i1 %t19, label %then4, label %ifend6 -then4: - store i32 1, ptr %retval - br label %ret -ifend6: - %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2368) - %t23 = icmp ne i32 %t22, 0 - %t24 = zext i1 %t23 to i32 - store i32 %t24, ptr %t20 - br i1 %t23, label %scend8, label %sc7 -sc7: - %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2369) - %t27 = icmp ne i32 %t26, 0 - %t28 = zext i1 %t27 to i32 - store i32 %t28, ptr %t20 - br label %scend8 -scend8: - %t29 = load i32, ptr %t20 - %t30 = icmp ne i32 %t29, 0 - br i1 %t30, label %then9, label %ifend11 -then9: - store i32 1, ptr %retval - br label %ret -ifend11: - %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2370) - %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 @.str2371) - %t39 = icmp ne i32 %t38, 0 - %t40 = zext i1 %t39 to i32 - store i32 %t40, ptr %t32 - br label %scend13 -scend13: - %t41 = load i32, ptr %t32 - %t42 = icmp ne i32 %t41, 0 - %t43 = zext i1 %t42 to i32 - store i32 %t43, ptr %t31 - br i1 %t42, label %scend15, label %sc14 -sc14: - %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2372) - %t46 = icmp ne i32 %t45, 0 - %t47 = zext i1 %t46 to i32 - store i32 %t47, ptr %t31 - br label %scend15 -scend15: - %t48 = load i32, ptr %t31 - %t49 = icmp ne i32 %t48, 0 - br i1 %t49, label %then16, label %ifend18 -then16: - store i32 1, ptr %retval - br label %ret -ifend18: - store i32 0, ptr %retval - br label %ret -ret: - %t50 = load i32, ptr %retval - ret i32 %t50 -} - -define ptr @fn_hash_mix_code(ptr %arg_x) { -entry: - %retval = alloca ptr - %t0 = alloca ptr - %t5 = alloca ptr - %t12 = alloca ptr - %t17 = alloca ptr - %t22 = alloca ptr - %t29 = alloca ptr - %t34 = alloca ptr - %t39 = alloca ptr - store ptr %arg_x, ptr %t0 - %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str2373, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2374) - %t4 = call ptr @fn_emit_bind(ptr %t3) - store ptr %t4, ptr %t5 - %t6 = load ptr, ptr %t0 - %t7 = call ptr @fn_str_concat(ptr @.str2375, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2376) - %t9 = load ptr, ptr %t5 - %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) - %t11 = call ptr @fn_emit_bind(ptr %t10) - store ptr %t11, ptr %t12 - %t13 = load ptr, ptr %t12 - %t14 = call ptr @fn_str_concat(ptr @.str2377, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2378) - %t16 = call ptr @fn_emit_bind(ptr %t15) - store ptr %t16, ptr %t17 - %t18 = load ptr, ptr %t17 - %t19 = call ptr @fn_str_concat(ptr @.str2379, ptr %t18) - %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2380) - %t21 = call ptr @fn_emit_bind(ptr %t20) - store ptr %t21, ptr %t22 - %t23 = load ptr, ptr %t17 - %t24 = call ptr @fn_str_concat(ptr @.str2381, ptr %t23) - %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2382) - %t26 = load ptr, ptr %t22 - %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26) - %t28 = call ptr @fn_emit_bind(ptr %t27) - store ptr %t28, ptr %t29 - %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str2383, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2384) - %t33 = call ptr @fn_emit_bind(ptr %t32) - store ptr %t33, ptr %t34 - %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_str_concat(ptr @.str2385, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2386) - %t38 = call ptr @fn_emit_bind(ptr %t37) - store ptr %t38, ptr %t39 - %t40 = load ptr, ptr %t34 - %t41 = call ptr @fn_str_concat(ptr @.str2387, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2388) - %t43 = load ptr, ptr %t39 - %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43) - %t45 = call ptr @fn_emit_bind(ptr %t44) - store ptr %t45, ptr %retval - br label %ret -ret: - %t46 = load ptr, ptr %retval - ret ptr %t46 -} - -define ptr @fn_hash_mix64_code(ptr %arg_x) { -entry: - %retval = alloca ptr - %t0 = alloca ptr - %t5 = alloca ptr - %t12 = alloca ptr - %t17 = alloca ptr - %t22 = alloca ptr - %t29 = alloca ptr - %t34 = alloca ptr - %t39 = alloca ptr - store ptr %arg_x, ptr %t0 - %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str2389, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2390) - %t4 = call ptr @fn_emit_bind(ptr %t3) - store ptr %t4, ptr %t5 - %t6 = load ptr, ptr %t0 - %t7 = call ptr @fn_str_concat(ptr @.str2391, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2392) - %t9 = load ptr, ptr %t5 - %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) - %t11 = call ptr @fn_emit_bind(ptr %t10) - store ptr %t11, ptr %t12 - %t13 = load ptr, ptr %t12 - %t14 = call ptr @fn_str_concat(ptr @.str2393, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2394) - %t16 = call ptr @fn_emit_bind(ptr %t15) - store ptr %t16, ptr %t17 - %t18 = load ptr, ptr %t17 - %t19 = call ptr @fn_str_concat(ptr @.str2395, ptr %t18) - %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2396) - %t21 = call ptr @fn_emit_bind(ptr %t20) - store ptr %t21, ptr %t22 - %t23 = load ptr, ptr %t17 - %t24 = call ptr @fn_str_concat(ptr @.str2397, ptr %t23) - %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2398) - %t26 = load ptr, ptr %t22 - %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26) - %t28 = call ptr @fn_emit_bind(ptr %t27) - store ptr %t28, ptr %t29 - %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str2399, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2400) - %t33 = call ptr @fn_emit_bind(ptr %t32) - store ptr %t33, ptr %t34 - %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_str_concat(ptr @.str2401, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2402) - %t38 = call ptr @fn_emit_bind(ptr %t37) - store ptr %t38, ptr %t39 - %t40 = load ptr, ptr %t34 - %t41 = call ptr @fn_str_concat(ptr @.str2403, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2404) - %t43 = load ptr, ptr %t39 - %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43) - %t45 = call ptr @fn_emit_bind(ptr %t44) - store ptr %t45, ptr %retval - br label %ret -ret: - %t46 = load ptr, ptr %retval - ret ptr %t46 -} - -define ptr @fn_emit_hash_ns(ptr %arg_meth, ptr %arg_e) { -entry: - %retval = alloca ptr - %t0 = alloca ptr - %t1 = alloca ptr - %t2 = alloca i32 - %t21 = alloca ptr - %t29 = alloca i32 - %t48 = alloca ptr - %t67 = alloca ptr - %t83 = alloca ptr - %t102 = alloca ptr - %t108 = alloca ptr - %t109 = alloca i32 - %t128 = alloca ptr - %t135 = alloca ptr - %t140 = alloca ptr - %t145 = alloca ptr - %t152 = alloca ptr - %t159 = alloca ptr - store ptr %arg_meth, ptr %t0 - store ptr %arg_e, ptr %t1 - %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2405) - %t5 = icmp ne i32 %t4, 0 - %t6 = zext i1 %t5 to i32 - store i32 %t6, ptr %t2 - br i1 %t5, label %scend1, label %sc0 -sc0: - %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2406) - %t9 = icmp ne i32 %t8, 0 - %t10 = zext i1 %t9 to i32 - store i32 %t10, ptr %t2 - br label %scend1 -scend1: - %t11 = load i32, ptr %t2 - %t12 = icmp ne i32 %t11, 0 - br i1 %t12, label %then2, label %ifend4 -then2: - store i32 1, ptr @g_g_uses_hashrt - %t13 = load ptr, ptr %t1 - %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 - %t15 = load ptr, ptr %t14 - %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 - %t17 = load ptr, ptr %t16 - %t18 = getelementptr inbounds ptr, ptr %t17, i32 0 - %t19 = load ptr, ptr %t18 - %t20 = call ptr @fn_emit_expr(ptr %t19) - store ptr %t20, ptr %t21 - %t22 = load ptr, ptr %t21 - %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 - %t24 = load ptr, ptr %t23 - %t25 = call ptr @fn_str_concat(ptr @.str2407, ptr %t24) - %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str2408) - %t27 = call ptr @fn_emit_bind(ptr %t26) - %t28 = call ptr @fn_val(ptr %t27, ptr @.str2409) - store ptr %t28, ptr %retval - br label %ret -ifend4: - %t30 = load ptr, ptr %t0 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2410) - %t32 = icmp ne i32 %t31, 0 - %t33 = zext i1 %t32 to i32 - store i32 %t33, ptr %t29 - br i1 %t32, label %scend6, label %sc5 -sc5: - %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2411) - %t36 = icmp ne i32 %t35, 0 - %t37 = zext i1 %t36 to i32 - store i32 %t37, ptr %t29 - br label %scend6 -scend6: - %t38 = load i32, ptr %t29 - %t39 = icmp ne i32 %t38, 0 - br i1 %t39, label %then7, label %ifend9 -then7: - store i32 1, ptr @g_g_uses_hashrt - %t40 = load ptr, ptr %t1 - %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 - %t42 = load ptr, ptr %t41 - %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 - %t44 = load ptr, ptr %t43 - %t45 = getelementptr inbounds ptr, ptr %t44, i32 0 - %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_emit_expr(ptr %t46) - store ptr %t47, ptr %t48 - %t49 = load ptr, ptr %t48 - %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0 - %t51 = load ptr, ptr %t50 - %t52 = call ptr @fn_str_concat(ptr @.str2412, ptr %t51) - %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str2413) - %t54 = call ptr @fn_emit_bind(ptr %t53) - %t55 = call ptr @fn_val(ptr %t54, ptr @.str2414) - store ptr %t55, ptr %retval - br label %ret -ifend9: - %t56 = load ptr, ptr %t0 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str2415) - %t58 = icmp ne i32 %t57, 0 - br i1 %t58, label %then10, label %ifend12 -then10: - %t59 = load ptr, ptr %t1 - %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 - %t61 = load ptr, ptr %t60 - %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 - %t63 = load ptr, ptr %t62 - %t64 = getelementptr inbounds ptr, ptr %t63, i32 0 - %t65 = load ptr, ptr %t64 - %t66 = call ptr @fn_emit_expr(ptr %t65) - store ptr %t66, ptr %t67 - %t68 = load ptr, ptr %t67 - %t69 = call ptr @fn_to_long(ptr %t68) - %t70 = call ptr @fn_hash_mix64_code(ptr %t69) - %t71 = call ptr @fn_val(ptr %t70, ptr @.str2416) - store ptr %t71, ptr %retval - br label %ret -ifend12: - %t72 = load ptr, ptr %t0 - %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str2417) - %t74 = icmp ne i32 %t73, 0 - br i1 %t74, label %then13, label %ifend15 -then13: - store i32 1, ptr @g_g_uses_hashrt - %t75 = load ptr, ptr %t1 - %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 - %t77 = load ptr, ptr %t76 - %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 - %t79 = load ptr, ptr %t78 - %t80 = getelementptr inbounds ptr, ptr %t79, i32 0 - %t81 = load ptr, ptr %t80 - %t82 = call ptr @fn_emit_expr(ptr %t81) - store ptr %t82, ptr %t83 - %t84 = load ptr, ptr %t83 - %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 - %t86 = load ptr, ptr %t85 - %t87 = call ptr @fn_str_concat(ptr @.str2418, ptr %t86) - %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str2419) - %t89 = call ptr @fn_emit_bind(ptr %t88) - %t90 = call ptr @fn_val(ptr %t89, ptr @.str2420) - store ptr %t90, ptr %retval - br label %ret -ifend15: - %t91 = load ptr, ptr %t0 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str2421) - %t93 = icmp ne i32 %t92, 0 - br i1 %t93, label %then16, label %ifend18 -then16: - %t94 = load ptr, ptr %t1 - %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7 - %t96 = load ptr, ptr %t95 - %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 - %t98 = load ptr, ptr %t97 - %t99 = getelementptr inbounds ptr, ptr %t98, i32 0 - %t100 = load ptr, ptr %t99 - %t101 = call ptr @fn_emit_expr(ptr %t100) - store ptr %t101, ptr %t102 - %t103 = load ptr, ptr %t102 - %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 - %t105 = load ptr, ptr %t104 - %t106 = call ptr @fn_hash_mix_code(ptr %t105) - %t107 = call ptr @fn_val(ptr %t106, ptr @.str2422) - store ptr %t107, ptr %retval - br label %ret -ifend18: - store ptr @.str2423, ptr %t108 - store i32 0, ptr %t109 - br label %wcond19 -wcond19: - %t110 = load i32, ptr %t109 - %t111 = load ptr, ptr %t1 - %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7 - %t113 = load ptr, ptr %t112 - %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 - %t115 = load i32, ptr %t114 - %t116 = icmp slt i32 %t110, %t115 - %t117 = zext i1 %t116 to i32 - %t118 = icmp ne i32 %t117, 0 - br i1 %t118, label %wbody20, label %wend21 -wbody20: - %t119 = load ptr, ptr %t1 - %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 - %t121 = load ptr, ptr %t120 - %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 - %t123 = load ptr, ptr %t122 - %t124 = load i32, ptr %t109 - %t125 = getelementptr inbounds ptr, ptr %t123, i32 %t124 - %t126 = load ptr, ptr %t125 - %t127 = call ptr @fn_emit_expr(ptr %t126) - store ptr %t127, ptr %t128 - %t129 = load ptr, ptr %t128 - %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 - %t131 = load ptr, ptr %t130 - %t132 = call ptr @fn_str_concat(ptr @.str2424, ptr %t131) - %t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str2425) - %t134 = call ptr @fn_emit_bind(ptr %t133) - store ptr %t134, ptr %t135 - %t136 = load ptr, ptr %t108 - %t137 = call ptr @fn_str_concat(ptr @.str2426, ptr %t136) - %t138 = call ptr @fn_str_concat(ptr %t137, ptr @.str2427) - %t139 = call ptr @fn_emit_bind(ptr %t138) - store ptr %t139, ptr %t140 - %t141 = load ptr, ptr %t108 - %t142 = call ptr @fn_str_concat(ptr @.str2428, ptr %t141) - %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str2429) - %t144 = call ptr @fn_emit_bind(ptr %t143) - store ptr %t144, ptr %t145 - %t146 = load ptr, ptr %t135 - %t147 = call ptr @fn_str_concat(ptr @.str2430, ptr %t146) - %t148 = call ptr @fn_str_concat(ptr %t147, ptr @.str2431) - %t149 = load ptr, ptr %t140 - %t150 = call ptr @fn_str_concat(ptr %t148, ptr %t149) - %t151 = call ptr @fn_emit_bind(ptr %t150) - store ptr %t151, ptr %t152 - %t153 = load ptr, ptr %t152 - %t154 = call ptr @fn_str_concat(ptr @.str2432, ptr %t153) - %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str2433) - %t156 = load ptr, ptr %t145 - %t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156) - %t158 = call ptr @fn_emit_bind(ptr %t157) - store ptr %t158, ptr %t159 - %t160 = load ptr, ptr %t108 - %t161 = call ptr @fn_str_concat(ptr @.str2434, ptr %t160) - %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str2435) - %t163 = load ptr, ptr %t159 - %t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163) - %t165 = call ptr @fn_emit_bind(ptr %t164) - store ptr %t165, ptr %t108 - %t166 = load i32, ptr %t109 - %t167 = add i32 %t166, 1 - store i32 %t167, ptr %t109 - br label %wcond19 -wend21: - %t168 = load ptr, ptr %t108 - %t169 = call ptr @fn_val(ptr %t168, ptr @.str2436) - store ptr %t169, ptr %retval - br label %ret -ret: - %t170 = load ptr, ptr %retval - ret ptr %t170 -} - -define void @fn_emit_hash_prelude() { -entry: + call void @fn_emith(ptr @.str2365) + call void @fn_emith(ptr @.str2366) + call void @fn_emith(ptr @.str2367) + call void @fn_emith(ptr @.str2368) + call void @fn_emith(ptr @.str2369) + call void @fn_emith(ptr @.str2370) + call void @fn_emith(ptr @.str2371) + call void @fn_emith(ptr @.str2372) + call void @fn_emith(ptr @.str2373) + call void @fn_emith(ptr @.str2374) + call void @fn_emith(ptr @.str2375) + call void @fn_emith(ptr @.str2376) + call void @fn_emith(ptr @.str2377) + call void @fn_emith(ptr @.str2378) + call void @fn_emith(ptr @.str2379) + call void @fn_emith(ptr @.str2380) + call void @fn_emith(ptr @.str2381) + call void @fn_emith(ptr @.str2382) + call void @fn_emith(ptr @.str2383) + call void @fn_emith(ptr @.str2384) + call void @fn_emith(ptr @.str2385) + call void @fn_emith(ptr @.str2386) + call void @fn_emith(ptr @.str2387) + call void @fn_emith(ptr @.str2388) + call void @fn_emith(ptr @.str2389) + call void @fn_emith(ptr @.str2390) + call void @fn_emith(ptr @.str2391) + call void @fn_emith(ptr @.str2392) + call void @fn_emith(ptr @.str2393) + call void @fn_emith(ptr @.str2394) + call void @fn_emith(ptr @.str2395) + call void @fn_emith(ptr @.str2396) + call void @fn_emith(ptr @.str2397) + call void @fn_emith(ptr @.str2398) + call void @fn_emith(ptr @.str2399) + call void @fn_emith(ptr @.str2400) + call void @fn_emith(ptr @.str2401) + call void @fn_emith(ptr @.str2402) + call void @fn_emith(ptr @.str2403) + call void @fn_emith(ptr @.str2404) + call void @fn_emith(ptr @.str2405) + call void @fn_emith(ptr @.str2406) + call void @fn_emith(ptr @.str2407) + call void @fn_emith(ptr @.str2408) + call void @fn_emith(ptr @.str2409) + call void @fn_emith(ptr @.str2410) + call void @fn_emith(ptr @.str2411) + call void @fn_emith(ptr @.str2412) + call void @fn_emith(ptr @.str2413) + call void @fn_emith(ptr @.str2414) + call void @fn_emith(ptr @.str2415) + call void @fn_emith(ptr @.str2416) + call void @fn_emith(ptr @.str2417) + call void @fn_emith(ptr @.str2418) + call void @fn_emith(ptr @.str2419) + call void @fn_emith(ptr @.str2420) + call void @fn_emith(ptr @.str2421) + call void @fn_emith(ptr @.str2422) + call void @fn_emith(ptr @.str2423) + call void @fn_emith(ptr @.str2424) + call void @fn_emith(ptr @.str2425) + call void @fn_emith(ptr @.str2426) + call void @fn_emith(ptr @.str2427) + call void @fn_emith(ptr @.str2428) + call void @fn_emith(ptr @.str2429) + call void @fn_emith(ptr @.str2430) + call void @fn_emith(ptr @.str2431) + call void @fn_emith(ptr @.str2432) + call void @fn_emith(ptr @.str2433) + call void @fn_emith(ptr @.str2434) + call void @fn_emith(ptr @.str2435) + call void @fn_emith(ptr @.str2436) call void @fn_emith(ptr @.str2437) call void @fn_emith(ptr @.str2438) call void @fn_emith(ptr @.str2439) @@ -36655,12 +41644,33 @@ entry: call void @fn_emith(ptr @.str2531) call void @fn_emith(ptr @.str2532) call void @fn_emith(ptr @.str2533) + call void @fn_emith(ptr @.str2534) + call void @fn_emith(ptr @.str2535) + call void @fn_emith(ptr @.str2536) + call void @fn_emith(ptr @.str2537) + call void @fn_emith(ptr @.str2538) + call void @fn_emith(ptr @.str2539) + call void @fn_emith(ptr @.str2540) + call void @fn_emith(ptr @.str2541) + call void @fn_emith(ptr @.str2542) + call void @fn_emith(ptr @.str2543) + call void @fn_emith(ptr @.str2544) + call void @fn_emith(ptr @.str2545) + call void @fn_emith(ptr @.str2546) + call void @fn_emith(ptr @.str2547) + call void @fn_emith(ptr @.str2548) + call void @fn_emith(ptr @.str2549) + call void @fn_emith(ptr @.str2550) + call void @fn_emith(ptr @.str2551) + call void @fn_emith(ptr @.str2552) + call void @fn_emith(ptr @.str2553) + call void @fn_emith(ptr @.str2554) br label %ret ret: ret void } -define i32 @fn_is_crypto_ns(ptr %arg_meth) { +define i32 @fn_is_hash_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr @@ -36671,14 +41681,14 @@ entry: %t32 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2534) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2555) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2535) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2556) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -36691,7 +41701,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2536) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2557) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -36705,14 +41715,14 @@ then4: br label %ret ifend6: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2537) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2558) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2538) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2559) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 @@ -36726,14 +41736,14 @@ then9: br label %ret ifend11: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2539) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2560) %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 @.str2540) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str2561) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 @@ -36746,7 +41756,7 @@ scend13: br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2541) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2562) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 @@ -36759,346 +41769,386 @@ then16: store i32 1, ptr %retval br label %ret ifend18: - %t50 = load ptr, ptr %t0 - %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str2542) - %t52 = icmp ne i32 %t51, 0 - br i1 %t52, label %then19, label %ifend21 -then19: - store i32 1, ptr %retval - br label %ret -ifend21: store i32 0, ptr %retval br label %ret ret: - %t53 = load i32, ptr %retval - ret i32 %t53 + %t50 = load i32, ptr %retval + ret i32 %t50 } -define ptr @fn_emit_crypto_ns(ptr %arg_meth, ptr %arg_e) { +define ptr @fn_hash_mix_code(ptr %arg_x) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca ptr + %t17 = alloca ptr + %t22 = alloca ptr + %t29 = alloca ptr + %t34 = alloca ptr + %t39 = alloca ptr + store ptr %arg_x, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_str_concat(ptr @.str2563, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2564) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = call ptr @fn_str_concat(ptr @.str2565, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2566) + %t9 = load ptr, ptr %t5 + %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @fn_str_concat(ptr @.str2567, ptr %t13) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2568) + %t16 = call ptr @fn_emit_bind(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @fn_str_concat(ptr @.str2569, ptr %t18) + %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2570) + %t21 = call ptr @fn_emit_bind(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t17 + %t24 = call ptr @fn_str_concat(ptr @.str2571, ptr %t23) + %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2572) + %t26 = load ptr, ptr %t22 + %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_str_concat(ptr @.str2573, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2574) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @fn_str_concat(ptr @.str2575, ptr %t35) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2576) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t34 + %t41 = call ptr @fn_str_concat(ptr @.str2577, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2578) + %t43 = load ptr, ptr %t39 + %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @fn_emit_bind(ptr %t44) + store ptr %t45, ptr %retval + br label %ret +ret: + %t46 = load ptr, ptr %retval + ret ptr %t46 +} + +define ptr @fn_hash_mix64_code(ptr %arg_x) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca ptr + %t17 = alloca ptr + %t22 = alloca ptr + %t29 = alloca ptr + %t34 = alloca ptr + %t39 = alloca ptr + store ptr %arg_x, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_str_concat(ptr @.str2579, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2580) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = call ptr @fn_str_concat(ptr @.str2581, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2582) + %t9 = load ptr, ptr %t5 + %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @fn_str_concat(ptr @.str2583, ptr %t13) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2584) + %t16 = call ptr @fn_emit_bind(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @fn_str_concat(ptr @.str2585, ptr %t18) + %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2586) + %t21 = call ptr @fn_emit_bind(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t17 + %t24 = call ptr @fn_str_concat(ptr @.str2587, ptr %t23) + %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2588) + %t26 = load ptr, ptr %t22 + %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_str_concat(ptr @.str2589, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2590) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @fn_str_concat(ptr @.str2591, ptr %t35) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2592) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t34 + %t41 = call ptr @fn_str_concat(ptr @.str2593, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2594) + %t43 = load ptr, ptr %t39 + %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @fn_emit_bind(ptr %t44) + store ptr %t45, ptr %retval + br label %ret +ret: + %t46 = load ptr, ptr %retval + ret ptr %t46 +} + +define ptr @fn_emit_hash_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr - %t13 = alloca ptr - %t32 = alloca ptr - %t41 = alloca ptr - %t65 = alloca ptr - %t84 = alloca ptr - %t93 = alloca ptr - %t106 = alloca i32 - %t125 = alloca ptr - %t132 = alloca ptr - %t154 = alloca ptr - %t170 = alloca ptr - %t179 = alloca ptr - %t188 = alloca ptr - %t200 = alloca ptr + %t2 = alloca i32 + %t21 = alloca ptr + %t29 = alloca i32 + %t48 = alloca ptr + %t67 = alloca ptr + %t83 = alloca ptr + %t102 = alloca ptr + %t108 = alloca ptr + %t109 = alloca i32 + %t128 = alloca ptr + %t135 = alloca ptr + %t140 = alloca ptr + %t145 = alloca ptr + %t152 = alloca ptr + %t159 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 - store i32 1, ptr @g_g_uses_cryptort - %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2543) - %t4 = icmp ne i32 %t3, 0 - br i1 %t4, label %then0, label %ifend2 -then0: - %t5 = load ptr, ptr %t1 - %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 - %t7 = load ptr, ptr %t6 - %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 - %t9 = load ptr, ptr %t8 - %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 - %t11 = load ptr, ptr %t10 - %t12 = call ptr @fn_emit_expr(ptr %t11) - store ptr %t12, ptr %t13 - %t14 = load ptr, ptr %t13 - %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 - %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str2544, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2545) - %t19 = call ptr @fn_emit_bind(ptr %t18) - %t20 = call ptr @fn_val(ptr %t19, ptr @.str2546) - store ptr %t20, ptr %retval + %t3 = load ptr, ptr %t0 + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2595) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2596) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then2, label %ifend4 +then2: + store i32 1, ptr @g_g_uses_hashrt + %t13 = load ptr, ptr %t1 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds ptr, ptr %t17, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = call ptr @fn_emit_expr(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @fn_str_concat(ptr @.str2597, ptr %t24) + %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str2598) + %t27 = call ptr @fn_emit_bind(ptr %t26) + %t28 = call ptr @fn_val(ptr %t27, ptr @.str2599) + store ptr %t28, ptr %retval br label %ret -ifend2: - %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2547) - %t23 = icmp ne i32 %t22, 0 - br i1 %t23, label %then3, label %ifend5 -then3: - %t24 = load ptr, ptr %t1 - %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 - %t26 = load ptr, ptr %t25 - %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 - %t28 = load ptr, ptr %t27 - %t29 = getelementptr inbounds ptr, ptr %t28, i32 0 - %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_emit_expr(ptr %t30) - store ptr %t31, ptr %t32 - %t33 = load ptr, ptr %t1 - %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 - %t35 = load ptr, ptr %t34 - %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 - %t37 = load ptr, ptr %t36 - %t38 = getelementptr inbounds ptr, ptr %t37, i32 1 - %t39 = load ptr, ptr %t38 - %t40 = call ptr @fn_emit_expr(ptr %t39) - store ptr %t40, ptr %t41 - %t42 = load ptr, ptr %t32 - %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 +ifend4: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2600) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend6, label %sc5 +sc5: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2601) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend6 +scend6: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then7, label %ifend9 +then7: + store i32 1, ptr @g_g_uses_hashrt + %t40 = load ptr, ptr %t1 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 - %t45 = call ptr @fn_str_concat(ptr @.str2548, ptr %t44) - %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2549) - %t47 = load ptr, ptr %t41 - %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 + %t45 = getelementptr inbounds ptr, ptr %t44, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @fn_emit_expr(ptr %t46) + store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 - %t50 = call ptr @fn_str_concat(ptr %t46, ptr %t49) - %t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str2550) - %t52 = call ptr @fn_emit_bind(ptr %t51) - %t53 = call ptr @fn_val(ptr %t52, ptr @.str2551) - store ptr %t53, ptr %retval + %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @fn_str_concat(ptr @.str2602, ptr %t51) + %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str2603) + %t54 = call ptr @fn_emit_bind(ptr %t53) + %t55 = call ptr @fn_val(ptr %t54, ptr @.str2604) + store ptr %t55, ptr %retval br label %ret -ifend5: - %t54 = load ptr, ptr %t0 - %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str2552) - %t56 = icmp ne i32 %t55, 0 - br i1 %t56, label %then6, label %ifend8 -then6: - %t57 = load ptr, ptr %t1 - %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 - %t59 = load ptr, ptr %t58 - %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 +ifend9: + %t56 = load ptr, ptr %t0 + %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str2605) + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then10, label %ifend12 +then10: + %t59 = load ptr, ptr %t1 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 - %t62 = getelementptr inbounds ptr, ptr %t61, i32 0 + %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 - %t64 = call ptr @fn_emit_expr(ptr %t63) - store ptr %t64, ptr %t65 - %t66 = load ptr, ptr %t65 - %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 + %t64 = getelementptr inbounds ptr, ptr %t63, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @fn_emit_expr(ptr %t65) + store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 - %t69 = call ptr @fn_str_concat(ptr @.str2553, ptr %t68) - %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2554) - %t71 = call ptr @fn_emit_bind(ptr %t70) - %t72 = call ptr @fn_val(ptr %t71, ptr @.str2555) - store ptr %t72, ptr %retval + %t69 = call ptr @fn_to_long(ptr %t68) + %t70 = call ptr @fn_hash_mix64_code(ptr %t69) + %t71 = call ptr @fn_val(ptr %t70, ptr @.str2606) + store ptr %t71, ptr %retval br label %ret -ifend8: - %t73 = load ptr, ptr %t0 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2556) - %t75 = icmp ne i32 %t74, 0 - br i1 %t75, label %then9, label %ifend11 -then9: - %t76 = load ptr, ptr %t1 - %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 - %t78 = load ptr, ptr %t77 - %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 - %t80 = load ptr, ptr %t79 - %t81 = getelementptr inbounds ptr, ptr %t80, i32 0 - %t82 = load ptr, ptr %t81 - %t83 = call ptr @fn_emit_expr(ptr %t82) - store ptr %t83, ptr %t84 - %t85 = load ptr, ptr %t1 - %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 - %t87 = load ptr, ptr %t86 - %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 - %t89 = load ptr, ptr %t88 - %t90 = getelementptr inbounds ptr, ptr %t89, i32 1 - %t91 = load ptr, ptr %t90 - %t92 = call ptr @fn_emit_expr(ptr %t91) - store ptr %t92, ptr %t93 - %t94 = load ptr, ptr %t84 - %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 +ifend12: + %t72 = load ptr, ptr %t0 + %t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str2607) + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then13, label %ifend15 +then13: + store i32 1, ptr @g_g_uses_hashrt + %t75 = load ptr, ptr %t1 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 + %t79 = load ptr, ptr %t78 + %t80 = getelementptr inbounds ptr, ptr %t79, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @fn_emit_expr(ptr %t81) + store ptr %t82, ptr %t83 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_str_concat(ptr @.str2608, ptr %t86) + %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str2609) + %t89 = call ptr @fn_emit_bind(ptr %t88) + %t90 = call ptr @fn_val(ptr %t89, ptr @.str2610) + store ptr %t90, ptr %retval + br label %ret +ifend15: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str2611) + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then16, label %ifend18 +then16: + %t94 = load ptr, ptr %t1 + %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7 %t96 = load ptr, ptr %t95 - %t97 = call ptr @fn_str_concat(ptr @.str2557, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2558) - %t99 = load ptr, ptr %t93 - %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 - %t101 = load ptr, ptr %t100 - %t102 = call ptr @fn_str_concat(ptr %t98, ptr %t101) - %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str2559) - %t104 = call ptr @fn_emit_bind(ptr %t103) - %t105 = call ptr @fn_val(ptr %t104, ptr @.str2560) - store ptr %t105, ptr %retval + %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 + %t98 = load ptr, ptr %t97 + %t99 = getelementptr inbounds ptr, ptr %t98, i32 0 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @fn_emit_expr(ptr %t100) + store ptr %t101, ptr %t102 + %t103 = load ptr, ptr %t102 + %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 + %t105 = load ptr, ptr %t104 + %t106 = call ptr @fn_hash_mix_code(ptr %t105) + %t107 = call ptr @fn_val(ptr %t106, ptr @.str2612) + store ptr %t107, ptr %retval br label %ret -ifend11: - %t107 = load ptr, ptr %t0 - %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str2561) - %t109 = icmp ne i32 %t108, 0 - %t110 = zext i1 %t109 to i32 - store i32 %t110, ptr %t106 - br i1 %t109, label %scend13, label %sc12 -sc12: - %t111 = load ptr, ptr %t0 - %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str2562) - %t113 = icmp ne i32 %t112, 0 - %t114 = zext i1 %t113 to i32 - store i32 %t114, ptr %t106 - br label %scend13 -scend13: - %t115 = load i32, ptr %t106 - %t116 = icmp ne i32 %t115, 0 - br i1 %t116, label %then14, label %ifend16 -then14: - %t117 = load ptr, ptr %t1 - %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 - %t119 = load ptr, ptr %t118 - %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 +ifend18: + store ptr @.str2613, ptr %t108 + store i32 0, ptr %t109 + br label %wcond19 +wcond19: + %t110 = load i32, ptr %t109 + %t111 = load ptr, ptr %t1 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7 + %t113 = load ptr, ptr %t112 + %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 + %t115 = load i32, ptr %t114 + %t116 = icmp slt i32 %t110, %t115 + %t117 = zext i1 %t116 to i32 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %wbody20, label %wend21 +wbody20: + %t119 = load ptr, ptr %t1 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 %t121 = load ptr, ptr %t120 - %t122 = getelementptr inbounds ptr, ptr %t121, i32 0 + %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 - %t124 = call ptr @fn_emit_expr(ptr %t123) - store ptr %t124, ptr %t125 + %t124 = load i32, ptr %t109 + %t125 = getelementptr inbounds ptr, ptr %t123, i32 %t124 %t126 = load ptr, ptr %t125 - %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 - %t128 = load ptr, ptr %t127 - %t129 = call ptr @fn_str_concat(ptr @.str2563, ptr %t128) - %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str2564) - %t131 = call ptr @fn_emit_bind(ptr %t130) - store ptr %t131, ptr %t132 - %t133 = load ptr, ptr %t132 - %t134 = call ptr @fn_str_concat(ptr @.str2565, ptr %t133) - %t135 = call ptr @fn_str_concat(ptr %t134, ptr @.str2566) - %t136 = call ptr @fn_emit_bind(ptr %t135) - %t137 = call ptr @fn_val(ptr %t136, ptr @.str2567) - store ptr %t137, ptr %retval - br label %ret -ifend16: - %t138 = load ptr, ptr %t0 - %t139 = call i32 @fn_str_eq(ptr %t138, ptr @.str2568) - %t140 = icmp ne i32 %t139, 0 - br i1 %t140, label %then17, label %ifend19 -then17: - %t141 = call ptr @fn_emit_bind(ptr @.str2569) - %t142 = call ptr @fn_val(ptr %t141, ptr @.str2570) - store ptr %t142, ptr %retval - br label %ret -ifend19: - %t143 = load ptr, ptr %t0 - %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2571) - %t145 = icmp ne i32 %t144, 0 - br i1 %t145, label %then20, label %ifend22 -then20: - %t146 = load ptr, ptr %t1 - %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 - %t148 = load ptr, ptr %t147 - %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 - %t150 = load ptr, ptr %t149 - %t151 = getelementptr inbounds ptr, ptr %t150, i32 0 - %t152 = load ptr, ptr %t151 - %t153 = call ptr @fn_emit_expr(ptr %t152) - store ptr %t153, ptr %t154 - %t155 = load ptr, ptr %t154 - %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 - %t157 = load ptr, ptr %t156 - %t158 = call ptr @fn_str_concat(ptr @.str2572, ptr %t157) - %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2573) - %t160 = call ptr @fn_emit_bind(ptr %t159) - %t161 = call ptr @fn_val(ptr %t160, ptr @.str2574) - store ptr %t161, ptr %retval - br label %ret -ifend22: - %t162 = load ptr, ptr %t1 - %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7 - %t164 = load ptr, ptr %t163 - %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 - %t166 = load ptr, ptr %t165 - %t167 = getelementptr inbounds ptr, ptr %t166, i32 0 - %t168 = load ptr, ptr %t167 - %t169 = call ptr @fn_emit_expr(ptr %t168) - store ptr %t169, ptr %t170 - %t171 = load ptr, ptr %t1 - %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 - %t173 = load ptr, ptr %t172 - %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 - %t175 = load ptr, ptr %t174 - %t176 = getelementptr inbounds ptr, ptr %t175, i32 1 - %t177 = load ptr, ptr %t176 - %t178 = call ptr @fn_emit_expr(ptr %t177) - store ptr %t178, ptr %t179 - %t180 = load ptr, ptr %t1 - %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7 - %t182 = load ptr, ptr %t181 - %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 - %t184 = load ptr, ptr %t183 - %t185 = getelementptr inbounds ptr, ptr %t184, i32 2 - %t186 = load ptr, ptr %t185 - %t187 = call ptr @fn_emit_expr(ptr %t186) - store ptr %t187, ptr %t188 - %t189 = load ptr, ptr %t170 - %t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0 - %t191 = load ptr, ptr %t190 - %t192 = call ptr @fn_str_concat(ptr @.str2575, ptr %t191) - %t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str2576) - %t194 = load ptr, ptr %t179 - %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 - %t196 = load ptr, ptr %t195 - %t197 = call ptr @fn_str_concat(ptr %t193, ptr %t196) - %t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str2577) - %t199 = call ptr @fn_emit_bind(ptr %t198) - store ptr %t199, ptr %t200 - %t201 = load ptr, ptr %t200 - %t202 = call ptr @fn_str_concat(ptr @.str2578, ptr %t201) - %t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str2579) - %t204 = load ptr, ptr %t188 - %t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0 - %t206 = load ptr, ptr %t205 - %t207 = call ptr @fn_str_concat(ptr %t203, ptr %t206) - %t208 = call ptr @fn_str_concat(ptr %t207, ptr @.str2580) - %t209 = call ptr @fn_emit_bind(ptr %t208) - %t210 = call ptr @fn_val(ptr %t209, ptr @.str2581) - store ptr %t210, ptr %retval + %t127 = call ptr @fn_emit_expr(ptr %t126) + store ptr %t127, ptr %t128 + %t129 = load ptr, ptr %t128 + %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 + %t131 = load ptr, ptr %t130 + %t132 = call ptr @fn_str_concat(ptr @.str2614, ptr %t131) + %t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str2615) + %t134 = call ptr @fn_emit_bind(ptr %t133) + store ptr %t134, ptr %t135 + %t136 = load ptr, ptr %t108 + %t137 = call ptr @fn_str_concat(ptr @.str2616, ptr %t136) + %t138 = call ptr @fn_str_concat(ptr %t137, ptr @.str2617) + %t139 = call ptr @fn_emit_bind(ptr %t138) + store ptr %t139, ptr %t140 + %t141 = load ptr, ptr %t108 + %t142 = call ptr @fn_str_concat(ptr @.str2618, ptr %t141) + %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str2619) + %t144 = call ptr @fn_emit_bind(ptr %t143) + store ptr %t144, ptr %t145 + %t146 = load ptr, ptr %t135 + %t147 = call ptr @fn_str_concat(ptr @.str2620, ptr %t146) + %t148 = call ptr @fn_str_concat(ptr %t147, ptr @.str2621) + %t149 = load ptr, ptr %t140 + %t150 = call ptr @fn_str_concat(ptr %t148, ptr %t149) + %t151 = call ptr @fn_emit_bind(ptr %t150) + store ptr %t151, ptr %t152 + %t153 = load ptr, ptr %t152 + %t154 = call ptr @fn_str_concat(ptr @.str2622, ptr %t153) + %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str2623) + %t156 = load ptr, ptr %t145 + %t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156) + %t158 = call ptr @fn_emit_bind(ptr %t157) + store ptr %t158, ptr %t159 + %t160 = load ptr, ptr %t108 + %t161 = call ptr @fn_str_concat(ptr @.str2624, ptr %t160) + %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str2625) + %t163 = load ptr, ptr %t159 + %t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163) + %t165 = call ptr @fn_emit_bind(ptr %t164) + store ptr %t165, ptr %t108 + %t166 = load i32, ptr %t109 + %t167 = add i32 %t166, 1 + store i32 %t167, ptr %t109 + br label %wcond19 +wend21: + %t168 = load ptr, ptr %t108 + %t169 = call ptr @fn_val(ptr %t168, ptr @.str2626) + store ptr %t169, ptr %retval br label %ret ret: - %t211 = load ptr, ptr %retval - ret ptr %t211 + %t170 = load ptr, ptr %retval + ret ptr %t170 } -define void @fn_emit_crypto_prelude() { +define void @fn_emit_hash_prelude() { entry: - call void @fn_emith(ptr @.str2582) - call void @fn_emith(ptr @.str2583) - call void @fn_emith(ptr @.str2584) - call void @fn_emith(ptr @.str2585) - call void @fn_emith(ptr @.str2586) - call void @fn_emith(ptr @.str2587) - call void @fn_emith(ptr @.str2588) - call void @fn_emith(ptr @.str2589) - call void @fn_emith(ptr @.str2590) - call void @fn_emith(ptr @.str2591) - call void @fn_emith(ptr @.str2592) - call void @fn_emith(ptr @.str2593) - call void @fn_emith(ptr @.str2594) - call void @fn_emith(ptr @.str2595) - call void @fn_emith(ptr @.str2596) - call void @fn_emith(ptr @.str2597) - call void @fn_emith(ptr @.str2598) - call void @fn_emith(ptr @.str2599) - call void @fn_emith(ptr @.str2600) - call void @fn_emith(ptr @.str2601) - call void @fn_emith(ptr @.str2602) - call void @fn_emith(ptr @.str2603) - call void @fn_emith(ptr @.str2604) - call void @fn_emith(ptr @.str2605) - call void @fn_emith(ptr @.str2606) - call void @fn_emith(ptr @.str2607) - call void @fn_emith(ptr @.str2608) - call void @fn_emith(ptr @.str2609) - call void @fn_emith(ptr @.str2610) - call void @fn_emith(ptr @.str2611) - call void @fn_emith(ptr @.str2612) - call void @fn_emith(ptr @.str2613) - call void @fn_emith(ptr @.str2614) - call void @fn_emith(ptr @.str2615) - call void @fn_emith(ptr @.str2616) - call void @fn_emith(ptr @.str2617) - call void @fn_emith(ptr @.str2618) - call void @fn_emith(ptr @.str2619) - call void @fn_emith(ptr @.str2620) - call void @fn_emith(ptr @.str2621) - call void @fn_emith(ptr @.str2622) - call void @fn_emith(ptr @.str2623) - call void @fn_emith(ptr @.str2624) - call void @fn_emith(ptr @.str2625) - call void @fn_emith(ptr @.str2626) call void @fn_emith(ptr @.str2627) call void @fn_emith(ptr @.str2628) call void @fn_emith(ptr @.str2629) @@ -37196,62 +42246,405 @@ entry: call void @fn_emith(ptr @.str2721) call void @fn_emith(ptr @.str2722) call void @fn_emith(ptr @.str2723) - call void @fn_emith(ptr @.str2724) - call void @fn_emith(ptr @.str2725) - call void @fn_emith(ptr @.str2726) - call void @fn_emith(ptr @.str2727) - call void @fn_emith(ptr @.str2728) - call void @fn_emith(ptr @.str2729) - call void @fn_emith(ptr @.str2730) - call void @fn_emith(ptr @.str2731) - call void @fn_emith(ptr @.str2732) - call void @fn_emith(ptr @.str2733) - call void @fn_emit_secure_rand_prelude() br label %ret ret: ret void } -define void @fn_emit_secure_rand_prelude() { +define i32 @fn_is_crypto_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t31 = alloca i32 + %t32 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2724) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2725) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2726) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2727) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t20 + br i1 %t23, label %scend8, label %sc7 +sc7: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str2728) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t20 + br label %scend8 +scend8: + %t29 = load i32, ptr %t20 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2729) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t32 + br i1 %t35, label %scend13, label %sc12 +sc12: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str2730) + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t32 + br label %scend13 +scend13: + %t41 = load i32, ptr %t32 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t31 + br i1 %t42, label %scend15, label %sc14 +sc14: + %t44 = load ptr, ptr %t0 + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str2731) + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t31 + br label %scend15 +scend15: + %t48 = load i32, ptr %t31 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then16, label %ifend18 +then16: + store i32 1, ptr %retval + br label %ret +ifend18: + %t50 = load ptr, ptr %t0 + %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str2732) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then19, label %ifend21 +then19: + store i32 1, ptr %retval + br label %ret +ifend21: + store i32 0, ptr %retval + br label %ret +ret: + %t53 = load i32, ptr %retval + ret i32 %t53 +} + +define ptr @fn_emit_crypto_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t32 = alloca ptr + %t41 = alloca ptr + %t65 = alloca ptr + %t84 = alloca ptr + %t93 = alloca ptr + %t106 = alloca i32 + %t125 = alloca ptr + %t132 = alloca ptr + %t154 = alloca ptr + %t170 = alloca ptr + %t179 = alloca ptr + %t188 = alloca ptr + %t200 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_uses_cryptort + %t2 = load ptr, ptr %t0 + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2733) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @fn_str_concat(ptr @.str2734, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2735) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str2736) + store ptr %t20, ptr %retval + br label %ret +ifend2: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2737) + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = load ptr, ptr %t1 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds ptr, ptr %t28, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_emit_expr(ptr %t30) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t1 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 1 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @fn_emit_expr(ptr %t39) + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t32 + %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @fn_str_concat(ptr @.str2738, ptr %t44) + %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2739) + %t47 = load ptr, ptr %t41 + %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @fn_str_concat(ptr %t46, ptr %t49) + %t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str2740) + %t52 = call ptr @fn_emit_bind(ptr %t51) + %t53 = call ptr @fn_val(ptr %t52, ptr @.str2741) + store ptr %t53, ptr %retval + br label %ret +ifend5: + %t54 = load ptr, ptr %t0 + %t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str2742) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then6, label %ifend8 +then6: + %t57 = load ptr, ptr %t1 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 + %t59 = load ptr, ptr %t58 + %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 + %t61 = load ptr, ptr %t60 + %t62 = getelementptr inbounds ptr, ptr %t61, i32 0 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @fn_emit_expr(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @fn_str_concat(ptr @.str2743, ptr %t68) + %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2744) + %t71 = call ptr @fn_emit_bind(ptr %t70) + %t72 = call ptr @fn_val(ptr %t71, ptr @.str2745) + store ptr %t72, ptr %retval + br label %ret +ifend8: + %t73 = load ptr, ptr %t0 + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2746) + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then9, label %ifend11 +then9: + %t76 = load ptr, ptr %t1 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 0 + %t82 = load ptr, ptr %t81 + %t83 = call ptr @fn_emit_expr(ptr %t82) + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t1 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 + %t87 = load ptr, ptr %t86 + %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds ptr, ptr %t89, i32 1 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_emit_expr(ptr %t91) + store ptr %t92, ptr %t93 + %t94 = load ptr, ptr %t84 + %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @fn_str_concat(ptr @.str2747, ptr %t96) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2748) + %t99 = load ptr, ptr %t93 + %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @fn_str_concat(ptr %t98, ptr %t101) + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str2749) + %t104 = call ptr @fn_emit_bind(ptr %t103) + %t105 = call ptr @fn_val(ptr %t104, ptr @.str2750) + store ptr %t105, ptr %retval + br label %ret +ifend11: + %t107 = load ptr, ptr %t0 + %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str2751) + %t109 = icmp ne i32 %t108, 0 + %t110 = zext i1 %t109 to i32 + store i32 %t110, ptr %t106 + br i1 %t109, label %scend13, label %sc12 +sc12: + %t111 = load ptr, ptr %t0 + %t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str2752) + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t106 + br label %scend13 +scend13: + %t115 = load i32, ptr %t106 + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %then14, label %ifend16 +then14: + %t117 = load ptr, ptr %t1 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds ptr, ptr %t121, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @fn_emit_expr(ptr %t123) + store ptr %t124, ptr %t125 + %t126 = load ptr, ptr %t125 + %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 + %t128 = load ptr, ptr %t127 + %t129 = call ptr @fn_str_concat(ptr @.str2753, ptr %t128) + %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str2754) + %t131 = call ptr @fn_emit_bind(ptr %t130) + store ptr %t131, ptr %t132 + %t133 = load ptr, ptr %t132 + %t134 = call ptr @fn_str_concat(ptr @.str2755, ptr %t133) + %t135 = call ptr @fn_str_concat(ptr %t134, ptr @.str2756) + %t136 = call ptr @fn_emit_bind(ptr %t135) + %t137 = call ptr @fn_val(ptr %t136, ptr @.str2757) + store ptr %t137, ptr %retval + br label %ret +ifend16: + %t138 = load ptr, ptr %t0 + %t139 = call i32 @fn_str_eq(ptr %t138, ptr @.str2758) + %t140 = icmp ne i32 %t139, 0 + br i1 %t140, label %then17, label %ifend19 +then17: + %t141 = call ptr @fn_emit_bind(ptr @.str2759) + %t142 = call ptr @fn_val(ptr %t141, ptr @.str2760) + store ptr %t142, ptr %retval + br label %ret +ifend19: + %t143 = load ptr, ptr %t0 + %t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2761) + %t145 = icmp ne i32 %t144, 0 + br i1 %t145, label %then20, label %ifend22 +then20: + %t146 = load ptr, ptr %t1 + %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 + %t148 = load ptr, ptr %t147 + %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 + %t150 = load ptr, ptr %t149 + %t151 = getelementptr inbounds ptr, ptr %t150, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = call ptr @fn_emit_expr(ptr %t152) + store ptr %t153, ptr %t154 + %t155 = load ptr, ptr %t154 + %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 + %t157 = load ptr, ptr %t156 + %t158 = call ptr @fn_str_concat(ptr @.str2762, ptr %t157) + %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2763) + %t160 = call ptr @fn_emit_bind(ptr %t159) + %t161 = call ptr @fn_val(ptr %t160, ptr @.str2764) + store ptr %t161, ptr %retval + br label %ret +ifend22: + %t162 = load ptr, ptr %t1 + %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + %t167 = getelementptr inbounds ptr, ptr %t166, i32 0 + %t168 = load ptr, ptr %t167 + %t169 = call ptr @fn_emit_expr(ptr %t168) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t1 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 + %t175 = load ptr, ptr %t174 + %t176 = getelementptr inbounds ptr, ptr %t175, i32 1 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @fn_emit_expr(ptr %t177) + store ptr %t178, ptr %t179 + %t180 = load ptr, ptr %t1 + %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7 + %t182 = load ptr, ptr %t181 + %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 + %t184 = load ptr, ptr %t183 + %t185 = getelementptr inbounds ptr, ptr %t184, i32 2 + %t186 = load ptr, ptr %t185 + %t187 = call ptr @fn_emit_expr(ptr %t186) + store ptr %t187, ptr %t188 + %t189 = load ptr, ptr %t170 + %t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0 + %t191 = load ptr, ptr %t190 + %t192 = call ptr @fn_str_concat(ptr @.str2765, ptr %t191) + %t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str2766) + %t194 = load ptr, ptr %t179 + %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 + %t196 = load ptr, ptr %t195 + %t197 = call ptr @fn_str_concat(ptr %t193, ptr %t196) + %t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str2767) + %t199 = call ptr @fn_emit_bind(ptr %t198) + store ptr %t199, ptr %t200 + %t201 = load ptr, ptr %t200 + %t202 = call ptr @fn_str_concat(ptr @.str2768, ptr %t201) + %t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str2769) + %t204 = load ptr, ptr %t188 + %t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0 + %t206 = load ptr, ptr %t205 + %t207 = call ptr @fn_str_concat(ptr %t203, ptr %t206) + %t208 = call ptr @fn_str_concat(ptr %t207, ptr @.str2770) + %t209 = call ptr @fn_emit_bind(ptr %t208) + %t210 = call ptr @fn_val(ptr %t209, ptr @.str2771) + store ptr %t210, ptr %retval + br label %ret +ret: + %t211 = load ptr, ptr %retval + ret ptr %t211 +} + +define void @fn_emit_crypto_prelude() { entry: - call void @fn_emith(ptr @.str2734) - call void @fn_emith(ptr @.str2735) - call void @fn_emith(ptr @.str2736) - call void @fn_emith(ptr @.str2737) - call void @fn_emith(ptr @.str2738) - call void @fn_emith(ptr @.str2739) - call void @fn_emith(ptr @.str2740) - call void @fn_emith(ptr @.str2741) - call void @fn_emith(ptr @.str2742) - call void @fn_emith(ptr @.str2743) - call void @fn_emith(ptr @.str2744) - call void @fn_emith(ptr @.str2745) - call void @fn_emith(ptr @.str2746) - call void @fn_emith(ptr @.str2747) - call void @fn_emith(ptr @.str2748) - call void @fn_emith(ptr @.str2749) - call void @fn_emith(ptr @.str2750) - call void @fn_emith(ptr @.str2751) - call void @fn_emith(ptr @.str2752) - call void @fn_emith(ptr @.str2753) - call void @fn_emith(ptr @.str2754) - call void @fn_emith(ptr @.str2755) - call void @fn_emith(ptr @.str2756) - call void @fn_emith(ptr @.str2757) - call void @fn_emith(ptr @.str2758) - call void @fn_emith(ptr @.str2759) - call void @fn_emith(ptr @.str2760) - call void @fn_emith(ptr @.str2761) - call void @fn_emith(ptr @.str2762) - call void @fn_emith(ptr @.str2763) - call void @fn_emith(ptr @.str2764) - call void @fn_emith(ptr @.str2765) - call void @fn_emith(ptr @.str2766) - call void @fn_emith(ptr @.str2767) - call void @fn_emith(ptr @.str2768) - call void @fn_emith(ptr @.str2769) - call void @fn_emith(ptr @.str2770) - call void @fn_emith(ptr @.str2771) call void @fn_emith(ptr @.str2772) call void @fn_emith(ptr @.str2773) call void @fn_emith(ptr @.str2774) @@ -37262,311 +42655,40 @@ entry: call void @fn_emith(ptr @.str2779) call void @fn_emith(ptr @.str2780) call void @fn_emith(ptr @.str2781) - br label %ret -ret: - ret void -} - -define i32 @fn_is_uuid_ns(ptr %arg_meth) { -entry: - %retval = alloca i32 - %t0 = alloca ptr - %t1 = alloca i32 - %t2 = alloca i32 - %t3 = alloca i32 - %t28 = alloca i32 - %t29 = alloca i32 - %t47 = alloca i32 - store ptr %arg_meth, ptr %t0 - %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str2782) - %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 @.str2783) - %t10 = icmp ne i32 %t9, 0 - %t11 = zext i1 %t10 to i32 - store i32 %t11, ptr %t3 - br label %scend1 -scend1: - %t12 = load i32, ptr %t3 - %t13 = icmp ne i32 %t12, 0 - %t14 = zext i1 %t13 to i32 - store i32 %t14, ptr %t2 - br i1 %t13, label %scend3, label %sc2 -sc2: - %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str2784) - %t17 = icmp ne i32 %t16, 0 - %t18 = zext i1 %t17 to i32 - store i32 %t18, ptr %t2 - br label %scend3 -scend3: - %t19 = load i32, ptr %t2 - %t20 = icmp ne i32 %t19, 0 - %t21 = zext i1 %t20 to i32 - store i32 %t21, ptr %t1 - br i1 %t20, label %scend5, label %sc4 -sc4: - %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2785) - %t24 = icmp ne i32 %t23, 0 - %t25 = zext i1 %t24 to i32 - store i32 %t25, ptr %t1 - br label %scend5 -scend5: - %t26 = load i32, ptr %t1 - %t27 = icmp ne i32 %t26, 0 - br i1 %t27, label %then6, label %ifend8 -then6: - store i32 1, ptr %retval - br label %ret -ifend8: - %t30 = load ptr, ptr %t0 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2786) - %t32 = icmp ne i32 %t31, 0 - %t33 = zext i1 %t32 to i32 - store i32 %t33, ptr %t29 - br i1 %t32, label %scend10, label %sc9 -sc9: - %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2787) - %t36 = icmp ne i32 %t35, 0 - %t37 = zext i1 %t36 to i32 - store i32 %t37, ptr %t29 - br label %scend10 -scend10: - %t38 = load i32, ptr %t29 - %t39 = icmp ne i32 %t38, 0 - %t40 = zext i1 %t39 to i32 - store i32 %t40, ptr %t28 - br i1 %t39, label %scend12, label %sc11 -sc11: - %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str2788) - %t43 = icmp ne i32 %t42, 0 - %t44 = zext i1 %t43 to i32 - store i32 %t44, ptr %t28 - br label %scend12 -scend12: - %t45 = load i32, ptr %t28 - %t46 = icmp ne i32 %t45, 0 - br i1 %t46, label %then13, label %ifend15 -then13: - store i32 1, ptr %retval - br label %ret -ifend15: - %t48 = load ptr, ptr %t0 - %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str2789) - %t50 = icmp ne i32 %t49, 0 - %t51 = zext i1 %t50 to i32 - store i32 %t51, ptr %t47 - br i1 %t50, label %scend17, label %sc16 -sc16: - %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2790) - %t54 = icmp ne i32 %t53, 0 - %t55 = zext i1 %t54 to i32 - store i32 %t55, ptr %t47 - br label %scend17 -scend17: - %t56 = load i32, ptr %t47 - %t57 = icmp ne i32 %t56, 0 - br i1 %t57, label %then18, label %ifend20 -then18: - store i32 1, ptr %retval - br label %ret -ifend20: - store i32 0, ptr %retval - br label %ret -ret: - %t58 = load i32, ptr %retval - ret i32 %t58 -} - -define ptr @fn_emit_uuid_ns(ptr %arg_meth, ptr %arg_e) { -entry: - %retval = alloca ptr - %t0 = alloca ptr - %t1 = alloca ptr - %t2 = alloca i32 - %t15 = alloca i32 - %t44 = alloca ptr - %t63 = alloca ptr - %t79 = alloca ptr - %t88 = alloca ptr - %t109 = alloca ptr - store ptr %arg_meth, ptr %t0 - store ptr %arg_e, ptr %t1 - store i32 1, ptr @g_g_uses_cryptort - store i32 1, ptr @g_g_uses_uuidrt - %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2791) - %t5 = icmp ne i32 %t4, 0 - %t6 = zext i1 %t5 to i32 - store i32 %t6, ptr %t2 - br i1 %t5, label %scend1, label %sc0 -sc0: - %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2792) - %t9 = icmp ne i32 %t8, 0 - %t10 = zext i1 %t9 to i32 - store i32 %t10, ptr %t2 - br label %scend1 -scend1: - %t11 = load i32, ptr %t2 - %t12 = icmp ne i32 %t11, 0 - br i1 %t12, label %then2, label %ifend4 -then2: - %t13 = call ptr @fn_emit_bind(ptr @.str2793) - %t14 = call ptr @fn_val(ptr %t13, ptr @.str2794) - store ptr %t14, ptr %retval - br label %ret -ifend4: - %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2795) - %t18 = icmp ne i32 %t17, 0 - %t19 = zext i1 %t18 to i32 - store i32 %t19, ptr %t15 - br i1 %t18, label %scend6, label %sc5 -sc5: - %t20 = load ptr, ptr %t0 - %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2796) - %t22 = icmp ne i32 %t21, 0 - %t23 = zext i1 %t22 to i32 - store i32 %t23, ptr %t15 - br label %scend6 -scend6: - %t24 = load i32, ptr %t15 - %t25 = icmp ne i32 %t24, 0 - br i1 %t25, label %then7, label %ifend9 -then7: - %t26 = call ptr @fn_emit_bind(ptr @.str2797) - %t27 = call ptr @fn_val(ptr %t26, ptr @.str2798) - store ptr %t27, ptr %retval - br label %ret -ifend9: - %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str2799) - %t30 = icmp ne i32 %t29, 0 - br i1 %t30, label %then10, label %ifend12 -then10: - %t31 = call ptr @fn_emit_bind(ptr @.str2800) - %t32 = call ptr @fn_val(ptr %t31, ptr @.str2801) - store ptr %t32, ptr %retval - br label %ret -ifend12: - %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2802) - %t35 = icmp ne i32 %t34, 0 - br i1 %t35, label %then13, label %ifend15 -then13: - %t36 = load ptr, ptr %t1 - %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 - %t38 = load ptr, ptr %t37 - %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 - %t40 = load ptr, ptr %t39 - %t41 = getelementptr inbounds ptr, ptr %t40, i32 0 - %t42 = load ptr, ptr %t41 - %t43 = call ptr @fn_emit_expr(ptr %t42) - store ptr %t43, ptr %t44 - %t45 = load ptr, ptr %t44 - %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 - %t47 = load ptr, ptr %t46 - %t48 = call ptr @fn_str_concat(ptr @.str2803, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2804) - %t50 = call ptr @fn_emit_bind(ptr %t49) - %t51 = call ptr @fn_val(ptr %t50, ptr @.str2805) - store ptr %t51, ptr %retval - br label %ret -ifend15: - %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2806) - %t54 = icmp ne i32 %t53, 0 - br i1 %t54, label %then16, label %ifend18 -then16: - %t55 = load ptr, ptr %t1 - %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 - %t57 = load ptr, ptr %t56 - %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 - %t59 = load ptr, ptr %t58 - %t60 = getelementptr inbounds ptr, ptr %t59, i32 0 - %t61 = load ptr, ptr %t60 - %t62 = call ptr @fn_emit_expr(ptr %t61) - store ptr %t62, ptr %t63 - %t64 = load ptr, ptr %t63 - %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 - %t66 = load ptr, ptr %t65 - %t67 = call ptr @fn_val(ptr %t66, ptr @.str2807) - store ptr %t67, ptr %retval - br label %ret -ifend18: - %t68 = load ptr, ptr %t0 - %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2808) - %t70 = icmp ne i32 %t69, 0 - br i1 %t70, label %then19, label %ifend21 -then19: - %t71 = load ptr, ptr %t1 - %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 - %t73 = load ptr, ptr %t72 - %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 - %t75 = load ptr, ptr %t74 - %t76 = getelementptr inbounds ptr, ptr %t75, i32 0 - %t77 = load ptr, ptr %t76 - %t78 = call ptr @fn_emit_expr(ptr %t77) - store ptr %t78, ptr %t79 - %t80 = load ptr, ptr %t1 - %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 - %t82 = load ptr, ptr %t81 - %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 - %t84 = load ptr, ptr %t83 - %t85 = getelementptr inbounds ptr, ptr %t84, i32 1 - %t86 = load ptr, ptr %t85 - %t87 = call ptr @fn_emit_expr(ptr %t86) - store ptr %t87, ptr %t88 - %t89 = load ptr, ptr %t79 - %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 - %t91 = load ptr, ptr %t90 - %t92 = call ptr @fn_str_concat(ptr @.str2809, ptr %t91) - %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str2810) - %t94 = load ptr, ptr %t88 - %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 - %t96 = load ptr, ptr %t95 - %t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2811) - %t99 = call ptr @fn_emit_bind(ptr %t98) - %t100 = call ptr @fn_val(ptr %t99, ptr @.str2812) - store ptr %t100, ptr %retval - br label %ret -ifend21: - %t101 = load ptr, ptr %t1 - %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 - %t103 = load ptr, ptr %t102 - %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 - %t105 = load ptr, ptr %t104 - %t106 = getelementptr inbounds ptr, ptr %t105, i32 0 - %t107 = load ptr, ptr %t106 - %t108 = call ptr @fn_emit_expr(ptr %t107) - store ptr %t108, ptr %t109 - %t110 = load ptr, ptr %t109 - %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 - %t112 = load ptr, ptr %t111 - %t113 = call ptr @fn_str_concat(ptr @.str2813, ptr %t112) - %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str2814) - %t115 = call ptr @fn_emit_bind(ptr %t114) - %t116 = call ptr @fn_val(ptr %t115, ptr @.str2815) - store ptr %t116, ptr %retval - br label %ret -ret: - %t117 = load ptr, ptr %retval - ret ptr %t117 -} - -define void @fn_emit_uuid_prelude() { -entry: + call void @fn_emith(ptr @.str2782) + call void @fn_emith(ptr @.str2783) + call void @fn_emith(ptr @.str2784) + call void @fn_emith(ptr @.str2785) + call void @fn_emith(ptr @.str2786) + call void @fn_emith(ptr @.str2787) + call void @fn_emith(ptr @.str2788) + call void @fn_emith(ptr @.str2789) + call void @fn_emith(ptr @.str2790) + call void @fn_emith(ptr @.str2791) + call void @fn_emith(ptr @.str2792) + call void @fn_emith(ptr @.str2793) + call void @fn_emith(ptr @.str2794) + call void @fn_emith(ptr @.str2795) + call void @fn_emith(ptr @.str2796) + call void @fn_emith(ptr @.str2797) + call void @fn_emith(ptr @.str2798) + call void @fn_emith(ptr @.str2799) + call void @fn_emith(ptr @.str2800) + call void @fn_emith(ptr @.str2801) + call void @fn_emith(ptr @.str2802) + call void @fn_emith(ptr @.str2803) + call void @fn_emith(ptr @.str2804) + call void @fn_emith(ptr @.str2805) + call void @fn_emith(ptr @.str2806) + call void @fn_emith(ptr @.str2807) + call void @fn_emith(ptr @.str2808) + call void @fn_emith(ptr @.str2809) + call void @fn_emith(ptr @.str2810) + call void @fn_emith(ptr @.str2811) + call void @fn_emith(ptr @.str2812) + call void @fn_emith(ptr @.str2813) + call void @fn_emith(ptr @.str2814) + call void @fn_emith(ptr @.str2815) call void @fn_emith(ptr @.str2816) call void @fn_emith(ptr @.str2817) call void @fn_emith(ptr @.str2818) @@ -37641,6 +42763,475 @@ entry: call void @fn_emith(ptr @.str2887) call void @fn_emith(ptr @.str2888) call void @fn_emith(ptr @.str2889) + call void @fn_emith(ptr @.str2890) + call void @fn_emith(ptr @.str2891) + call void @fn_emith(ptr @.str2892) + call void @fn_emith(ptr @.str2893) + call void @fn_emith(ptr @.str2894) + call void @fn_emith(ptr @.str2895) + call void @fn_emith(ptr @.str2896) + call void @fn_emith(ptr @.str2897) + call void @fn_emith(ptr @.str2898) + call void @fn_emith(ptr @.str2899) + call void @fn_emith(ptr @.str2900) + call void @fn_emith(ptr @.str2901) + call void @fn_emith(ptr @.str2902) + call void @fn_emith(ptr @.str2903) + call void @fn_emith(ptr @.str2904) + call void @fn_emith(ptr @.str2905) + call void @fn_emith(ptr @.str2906) + call void @fn_emith(ptr @.str2907) + call void @fn_emith(ptr @.str2908) + call void @fn_emith(ptr @.str2909) + call void @fn_emith(ptr @.str2910) + call void @fn_emith(ptr @.str2911) + call void @fn_emith(ptr @.str2912) + call void @fn_emith(ptr @.str2913) + call void @fn_emith(ptr @.str2914) + call void @fn_emith(ptr @.str2915) + call void @fn_emith(ptr @.str2916) + call void @fn_emith(ptr @.str2917) + call void @fn_emith(ptr @.str2918) + call void @fn_emith(ptr @.str2919) + call void @fn_emith(ptr @.str2920) + call void @fn_emith(ptr @.str2921) + call void @fn_emith(ptr @.str2922) + call void @fn_emith(ptr @.str2923) + call void @fn_emit_secure_rand_prelude() + br label %ret +ret: + ret void +} + +define void @fn_emit_secure_rand_prelude() { +entry: + call void @fn_emith(ptr @.str2924) + call void @fn_emith(ptr @.str2925) + call void @fn_emith(ptr @.str2926) + call void @fn_emith(ptr @.str2927) + call void @fn_emith(ptr @.str2928) + call void @fn_emith(ptr @.str2929) + call void @fn_emith(ptr @.str2930) + call void @fn_emith(ptr @.str2931) + call void @fn_emith(ptr @.str2932) + call void @fn_emith(ptr @.str2933) + call void @fn_emith(ptr @.str2934) + call void @fn_emith(ptr @.str2935) + call void @fn_emith(ptr @.str2936) + call void @fn_emith(ptr @.str2937) + call void @fn_emith(ptr @.str2938) + call void @fn_emith(ptr @.str2939) + call void @fn_emith(ptr @.str2940) + call void @fn_emith(ptr @.str2941) + call void @fn_emith(ptr @.str2942) + call void @fn_emith(ptr @.str2943) + call void @fn_emith(ptr @.str2944) + call void @fn_emith(ptr @.str2945) + call void @fn_emith(ptr @.str2946) + call void @fn_emith(ptr @.str2947) + call void @fn_emith(ptr @.str2948) + call void @fn_emith(ptr @.str2949) + call void @fn_emith(ptr @.str2950) + call void @fn_emith(ptr @.str2951) + call void @fn_emith(ptr @.str2952) + call void @fn_emith(ptr @.str2953) + call void @fn_emith(ptr @.str2954) + call void @fn_emith(ptr @.str2955) + call void @fn_emith(ptr @.str2956) + call void @fn_emith(ptr @.str2957) + call void @fn_emith(ptr @.str2958) + call void @fn_emith(ptr @.str2959) + call void @fn_emith(ptr @.str2960) + call void @fn_emith(ptr @.str2961) + call void @fn_emith(ptr @.str2962) + call void @fn_emith(ptr @.str2963) + call void @fn_emith(ptr @.str2964) + call void @fn_emith(ptr @.str2965) + call void @fn_emith(ptr @.str2966) + call void @fn_emith(ptr @.str2967) + call void @fn_emith(ptr @.str2968) + call void @fn_emith(ptr @.str2969) + call void @fn_emith(ptr @.str2970) + call void @fn_emith(ptr @.str2971) + br label %ret +ret: + ret void +} + +define i32 @fn_is_uuid_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t47 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str2972) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str2973) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str2974) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2975) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2976) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2977) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend10 +scend10: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t28 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str2978) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend12 +scend12: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + %t48 = load ptr, ptr %t0 + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str2979) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t47 + br i1 %t50, label %scend17, label %sc16 +sc16: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2980) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t47 + br label %scend17 +scend17: + %t56 = load i32, ptr %t47 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then18, label %ifend20 +then18: + store i32 1, ptr %retval + br label %ret +ifend20: + store i32 0, ptr %retval + br label %ret +ret: + %t58 = load i32, ptr %retval + ret i32 %t58 +} + +define ptr @fn_emit_uuid_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t15 = alloca i32 + %t44 = alloca ptr + %t63 = alloca ptr + %t79 = alloca ptr + %t88 = alloca ptr + %t109 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_uses_cryptort + store i32 1, ptr @g_g_uses_uuidrt + %t3 = load ptr, ptr %t0 + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2981) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2982) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then2, label %ifend4 +then2: + %t13 = call ptr @fn_emit_bind(ptr @.str2983) + %t14 = call ptr @fn_val(ptr %t13, ptr @.str2984) + store ptr %t14, ptr %retval + br label %ret +ifend4: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2985) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t15 + br i1 %t18, label %scend6, label %sc5 +sc5: + %t20 = load ptr, ptr %t0 + %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2986) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t15 + br label %scend6 +scend6: + %t24 = load i32, ptr %t15 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then7, label %ifend9 +then7: + %t26 = call ptr @fn_emit_bind(ptr @.str2987) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str2988) + store ptr %t27, ptr %retval + br label %ret +ifend9: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str2989) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then10, label %ifend12 +then10: + %t31 = call ptr @fn_emit_bind(ptr @.str2990) + %t32 = call ptr @fn_val(ptr %t31, ptr @.str2991) + store ptr %t32, ptr %retval + br label %ret +ifend12: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2992) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then13, label %ifend15 +then13: + %t36 = load ptr, ptr %t1 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds ptr, ptr %t40, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @fn_emit_expr(ptr %t42) + store ptr %t43, ptr %t44 + %t45 = load ptr, ptr %t44 + %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @fn_str_concat(ptr @.str2993, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2994) + %t50 = call ptr @fn_emit_bind(ptr %t49) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str2995) + store ptr %t51, ptr %retval + br label %ret +ifend15: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2996) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then16, label %ifend18 +then16: + %t55 = load ptr, ptr %t1 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 + %t59 = load ptr, ptr %t58 + %t60 = getelementptr inbounds ptr, ptr %t59, i32 0 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @fn_emit_expr(ptr %t61) + store ptr %t62, ptr %t63 + %t64 = load ptr, ptr %t63 + %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 + %t66 = load ptr, ptr %t65 + %t67 = call ptr @fn_val(ptr %t66, ptr @.str2997) + store ptr %t67, ptr %retval + br label %ret +ifend18: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2998) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then19, label %ifend21 +then19: + %t71 = load ptr, ptr %t1 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 + %t73 = load ptr, ptr %t72 + %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds ptr, ptr %t75, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = call ptr @fn_emit_expr(ptr %t77) + store ptr %t78, ptr %t79 + %t80 = load ptr, ptr %t1 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 1 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t79 + %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_str_concat(ptr @.str2999, ptr %t91) + %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str3000) + %t94 = load ptr, ptr %t88 + %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str3001) + %t99 = call ptr @fn_emit_bind(ptr %t98) + %t100 = call ptr @fn_val(ptr %t99, ptr @.str3002) + store ptr %t100, ptr %retval + br label %ret +ifend21: + %t101 = load ptr, ptr %t1 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 + %t103 = load ptr, ptr %t102 + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds ptr, ptr %t105, i32 0 + %t107 = load ptr, ptr %t106 + %t108 = call ptr @fn_emit_expr(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t109 + %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 + %t112 = load ptr, ptr %t111 + %t113 = call ptr @fn_str_concat(ptr @.str3003, ptr %t112) + %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str3004) + %t115 = call ptr @fn_emit_bind(ptr %t114) + %t116 = call ptr @fn_val(ptr %t115, ptr @.str3005) + store ptr %t116, ptr %retval + br label %ret +ret: + %t117 = load ptr, ptr %retval + ret ptr %t117 +} + +define void @fn_emit_uuid_prelude() { +entry: + call void @fn_emith(ptr @.str3006) + call void @fn_emith(ptr @.str3007) + call void @fn_emith(ptr @.str3008) + call void @fn_emith(ptr @.str3009) + call void @fn_emith(ptr @.str3010) + call void @fn_emith(ptr @.str3011) + call void @fn_emith(ptr @.str3012) + call void @fn_emith(ptr @.str3013) + call void @fn_emith(ptr @.str3014) + call void @fn_emith(ptr @.str3015) + call void @fn_emith(ptr @.str3016) + call void @fn_emith(ptr @.str3017) + call void @fn_emith(ptr @.str3018) + call void @fn_emith(ptr @.str3019) + call void @fn_emith(ptr @.str3020) + call void @fn_emith(ptr @.str3021) + call void @fn_emith(ptr @.str3022) + call void @fn_emith(ptr @.str3023) + call void @fn_emith(ptr @.str3024) + call void @fn_emith(ptr @.str3025) + call void @fn_emith(ptr @.str3026) + call void @fn_emith(ptr @.str3027) + call void @fn_emith(ptr @.str3028) + call void @fn_emith(ptr @.str3029) + call void @fn_emith(ptr @.str3030) + call void @fn_emith(ptr @.str3031) + call void @fn_emith(ptr @.str3032) + call void @fn_emith(ptr @.str3033) + call void @fn_emith(ptr @.str3034) + call void @fn_emith(ptr @.str3035) + call void @fn_emith(ptr @.str3036) + call void @fn_emith(ptr @.str3037) + call void @fn_emith(ptr @.str3038) + call void @fn_emith(ptr @.str3039) + call void @fn_emith(ptr @.str3040) + call void @fn_emith(ptr @.str3041) + call void @fn_emith(ptr @.str3042) + call void @fn_emith(ptr @.str3043) + call void @fn_emith(ptr @.str3044) + call void @fn_emith(ptr @.str3045) + call void @fn_emith(ptr @.str3046) + call void @fn_emith(ptr @.str3047) + call void @fn_emith(ptr @.str3048) + call void @fn_emith(ptr @.str3049) + call void @fn_emith(ptr @.str3050) + call void @fn_emith(ptr @.str3051) + call void @fn_emith(ptr @.str3052) + call void @fn_emith(ptr @.str3053) + call void @fn_emith(ptr @.str3054) + call void @fn_emith(ptr @.str3055) + call void @fn_emith(ptr @.str3056) + call void @fn_emith(ptr @.str3057) + call void @fn_emith(ptr @.str3058) + call void @fn_emith(ptr @.str3059) + call void @fn_emith(ptr @.str3060) + call void @fn_emith(ptr @.str3061) + call void @fn_emith(ptr @.str3062) + call void @fn_emith(ptr @.str3063) + call void @fn_emith(ptr @.str3064) + call void @fn_emith(ptr @.str3065) + call void @fn_emith(ptr @.str3066) + call void @fn_emith(ptr @.str3067) + call void @fn_emith(ptr @.str3068) + call void @fn_emith(ptr @.str3069) + call void @fn_emith(ptr @.str3070) + call void @fn_emith(ptr @.str3071) + call void @fn_emith(ptr @.str3072) + call void @fn_emith(ptr @.str3073) + call void @fn_emith(ptr @.str3074) + call void @fn_emith(ptr @.str3075) + call void @fn_emith(ptr @.str3076) + call void @fn_emith(ptr @.str3077) + call void @fn_emith(ptr @.str3078) + call void @fn_emith(ptr @.str3079) br label %ret ret: ret void @@ -37656,14 +43247,14 @@ entry: %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2890) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3080) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2891) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3081) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -37676,7 +43267,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2892) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3082) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -37690,14 +43281,14 @@ then4: br label %ret ifend6: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2893) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3083) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2894) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3084) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 @@ -37710,7 +43301,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2895) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3085) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 @@ -37724,7 +43315,7 @@ then11: br label %ret ifend13: %t39 = load ptr, ptr %t0 - %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str2896) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str3086) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: @@ -37767,7 +43358,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2897) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3087) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -37783,21 +43374,21 @@ then0: %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str2898, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2899) + %t17 = call ptr @fn_str_concat(ptr @.str3088, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3089) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 - %t22 = call ptr @fn_str_concat(ptr @.str2900, ptr %t21) - %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2901) + %t22 = call ptr @fn_str_concat(ptr @.str3090, ptr %t21) + %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3091) %t24 = call ptr @fn_emit_bind(ptr %t23) - %t25 = call ptr @fn_val(ptr %t24, ptr @.str2902) + %t25 = call ptr @fn_val(ptr %t24, ptr @.str3092) store ptr %t25, ptr %retval br label %ret ifend2: store i32 1, ptr @g_g_uses_noisert %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2903) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3093) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: @@ -37831,25 +43422,25 @@ then3: %t56 = load ptr, ptr %t37 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 - %t59 = call ptr @fn_str_concat(ptr @.str2904, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2905) + %t59 = call ptr @fn_str_concat(ptr @.str3094, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3095) %t61 = load ptr, ptr %t46 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str2906) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str3096) %t66 = load ptr, ptr %t55 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_str_concat(ptr %t65, ptr %t68) - %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2907) + %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str3097) %t71 = call ptr @fn_emit_bind(ptr %t70) - %t72 = call ptr @fn_val(ptr %t71, ptr @.str2908) + %t72 = call ptr @fn_val(ptr %t71, ptr @.str3098) store ptr %t72, ptr %retval br label %ret ifend5: %t73 = load ptr, ptr %t0 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2909) + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str3099) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then6, label %ifend8 then6: @@ -37883,25 +43474,25 @@ then6: %t103 = load ptr, ptr %t84 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 - %t106 = call ptr @fn_str_concat(ptr @.str2910, ptr %t105) - %t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str2911) + %t106 = call ptr @fn_str_concat(ptr @.str3100, ptr %t105) + %t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str3101) %t108 = load ptr, ptr %t93 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_str_concat(ptr %t107, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str2912) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3102) %t113 = load ptr, ptr %t102 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115) - %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str2913) + %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3103) %t118 = call ptr @fn_emit_bind(ptr %t117) - %t119 = call ptr @fn_val(ptr %t118, ptr @.str2914) + %t119 = call ptr @fn_val(ptr %t118, ptr @.str3104) store ptr %t119, ptr %retval br label %ret ifend8: %t120 = load ptr, ptr %t0 - %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str2915) + %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str3105) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then9, label %ifend11 then9: @@ -37935,25 +43526,25 @@ then9: %t150 = load ptr, ptr %t131 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 - %t153 = call ptr @fn_str_concat(ptr @.str2916, ptr %t152) - %t154 = call ptr @fn_str_concat(ptr %t153, ptr @.str2917) + %t153 = call ptr @fn_str_concat(ptr @.str3106, ptr %t152) + %t154 = call ptr @fn_str_concat(ptr %t153, ptr @.str3107) %t155 = load ptr, ptr %t140 %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = call ptr @fn_str_concat(ptr %t154, ptr %t157) - %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2918) + %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str3108) %t160 = load ptr, ptr %t149 %t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = call ptr @fn_str_concat(ptr %t159, ptr %t162) - %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str2919) + %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str3109) %t165 = call ptr @fn_emit_bind(ptr %t164) - %t166 = call ptr @fn_val(ptr %t165, ptr @.str2920) + %t166 = call ptr @fn_val(ptr %t165, ptr @.str3110) store ptr %t166, ptr %retval br label %ret ifend11: %t167 = load ptr, ptr %t0 - %t168 = call i32 @fn_str_eq(ptr %t167, ptr @.str2921) + %t168 = call i32 @fn_str_eq(ptr %t167, ptr @.str3111) %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then12, label %ifend14 then12: @@ -37997,30 +43588,30 @@ then12: %t206 = load ptr, ptr %t178 %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0 %t208 = load ptr, ptr %t207 - %t209 = call ptr @fn_str_concat(ptr @.str2922, ptr %t208) - %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str2923) + %t209 = call ptr @fn_str_concat(ptr @.str3112, ptr %t208) + %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str3113) %t211 = load ptr, ptr %t187 %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213) - %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str2924) + %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str3114) %t216 = load ptr, ptr %t196 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = call ptr @fn_str_concat(ptr %t215, ptr %t218) - %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str2925) + %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str3115) %t221 = load ptr, ptr %t205 %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 %t223 = load ptr, ptr %t222 %t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223) - %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str2926) + %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str3116) %t226 = call ptr @fn_emit_bind(ptr %t225) - %t227 = call ptr @fn_val(ptr %t226, ptr @.str2927) + %t227 = call ptr @fn_val(ptr %t226, ptr @.str3117) store ptr %t227, ptr %retval br label %ret ifend14: %t228 = load ptr, ptr %t0 - %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str2928) + %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str3118) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then15, label %ifend17 then15: @@ -38055,20 +43646,20 @@ then15: %t258 = load ptr, ptr %t239 %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 %t260 = load ptr, ptr %t259 - %t261 = call ptr @fn_str_concat(ptr @.str2929, ptr %t260) - %t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str2930) + %t261 = call ptr @fn_str_concat(ptr @.str3119, ptr %t260) + %t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str3120) %t263 = load ptr, ptr %t248 %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 %t265 = load ptr, ptr %t264 %t266 = call ptr @fn_str_concat(ptr %t262, ptr %t265) - %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str2931) + %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str3121) %t268 = load ptr, ptr %t257 %t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = call ptr @fn_str_concat(ptr %t267, ptr %t270) - %t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str2932) + %t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str3122) %t273 = call ptr @fn_emit_bind(ptr %t272) - %t274 = call ptr @fn_val(ptr %t273, ptr @.str2933) + %t274 = call ptr @fn_val(ptr %t273, ptr @.str3123) store ptr %t274, ptr %retval br label %ret ifend17: @@ -38102,20 +43693,20 @@ ifend17: %t302 = load ptr, ptr %t283 %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 - %t305 = call ptr @fn_str_concat(ptr @.str2934, ptr %t304) - %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str2935) + %t305 = call ptr @fn_str_concat(ptr @.str3124, ptr %t304) + %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str3125) %t307 = load ptr, ptr %t292 %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = call ptr @fn_str_concat(ptr %t306, ptr %t309) - %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str2936) + %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str3126) %t312 = load ptr, ptr %t301 %t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 %t315 = call ptr @fn_str_concat(ptr %t311, ptr %t314) - %t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str2937) + %t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str3127) %t317 = call ptr @fn_emit_bind(ptr %t316) - %t318 = call ptr @fn_val(ptr %t317, ptr @.str2938) + %t318 = call ptr @fn_val(ptr %t317, ptr @.str3128) store ptr %t318, ptr %retval br label %ret ret: @@ -38125,90 +43716,90 @@ ret: define void @fn_emit_noise_prelude() { entry: - call void @fn_emith(ptr @.str2939) - call void @fn_emith(ptr @.str2940) - call void @fn_emith(ptr @.str2941) - call void @fn_emith(ptr @.str2942) - call void @fn_emith(ptr @.str2943) - call void @fn_emith(ptr @.str2944) - call void @fn_emith(ptr @.str2945) - call void @fn_emith(ptr @.str2946) - call void @fn_emith(ptr @.str2947) - call void @fn_emith(ptr @.str2948) - call void @fn_emith(ptr @.str2949) - call void @fn_emith(ptr @.str2950) - call void @fn_emith(ptr @.str2951) - call void @fn_emith(ptr @.str2952) - call void @fn_emith(ptr @.str2953) - call void @fn_emith(ptr @.str2954) - call void @fn_emith(ptr @.str2955) - call void @fn_emith(ptr @.str2956) - call void @fn_emith(ptr @.str2957) - call void @fn_emith(ptr @.str2958) - call void @fn_emith(ptr @.str2959) - call void @fn_emith(ptr @.str2960) - call void @fn_emith(ptr @.str2961) - call void @fn_emith(ptr @.str2962) - call void @fn_emith(ptr @.str2963) - call void @fn_emith(ptr @.str2964) - call void @fn_emith(ptr @.str2965) - call void @fn_emith(ptr @.str2966) - call void @fn_emith(ptr @.str2967) - call void @fn_emith(ptr @.str2968) - call void @fn_emith(ptr @.str2969) - call void @fn_emith(ptr @.str2970) - call void @fn_emith(ptr @.str2971) - call void @fn_emith(ptr @.str2972) - call void @fn_emith(ptr @.str2973) - call void @fn_emith(ptr @.str2974) - call void @fn_emith(ptr @.str2975) - call void @fn_emith(ptr @.str2976) - call void @fn_emith(ptr @.str2977) - call void @fn_emith(ptr @.str2978) - call void @fn_emith(ptr @.str2979) - call void @fn_emith(ptr @.str2980) - call void @fn_emith(ptr @.str2981) - call void @fn_emith(ptr @.str2982) - call void @fn_emith(ptr @.str2983) - call void @fn_emith(ptr @.str2984) - call void @fn_emith(ptr @.str2985) - call void @fn_emith(ptr @.str2986) - call void @fn_emith(ptr @.str2987) - call void @fn_emith(ptr @.str2988) - call void @fn_emith(ptr @.str2989) - call void @fn_emith(ptr @.str2990) - call void @fn_emith(ptr @.str2991) - call void @fn_emith(ptr @.str2992) - call void @fn_emith(ptr @.str2993) - call void @fn_emith(ptr @.str2994) - call void @fn_emith(ptr @.str2995) - call void @fn_emith(ptr @.str2996) - call void @fn_emith(ptr @.str2997) - call void @fn_emith(ptr @.str2998) - call void @fn_emith(ptr @.str2999) - call void @fn_emith(ptr @.str3000) - call void @fn_emith(ptr @.str3001) - call void @fn_emith(ptr @.str3002) - call void @fn_emith(ptr @.str3003) - call void @fn_emith(ptr @.str3004) - call void @fn_emith(ptr @.str3005) - call void @fn_emith(ptr @.str3006) - call void @fn_emith(ptr @.str3007) - call void @fn_emith(ptr @.str3008) - call void @fn_emith(ptr @.str3009) - call void @fn_emith(ptr @.str3010) - call void @fn_emith(ptr @.str3011) - call void @fn_emith(ptr @.str3012) - call void @fn_emith(ptr @.str3013) - call void @fn_emith(ptr @.str3014) - call void @fn_emith(ptr @.str3015) - call void @fn_emith(ptr @.str3016) - call void @fn_emith(ptr @.str3017) - call void @fn_emith(ptr @.str3018) - call void @fn_emith(ptr @.str3019) - call void @fn_emith(ptr @.str3020) - call void @fn_emith(ptr @.str3021) - call void @fn_emith(ptr @.str3022) + call void @fn_emith(ptr @.str3129) + call void @fn_emith(ptr @.str3130) + call void @fn_emith(ptr @.str3131) + call void @fn_emith(ptr @.str3132) + call void @fn_emith(ptr @.str3133) + call void @fn_emith(ptr @.str3134) + call void @fn_emith(ptr @.str3135) + call void @fn_emith(ptr @.str3136) + call void @fn_emith(ptr @.str3137) + call void @fn_emith(ptr @.str3138) + call void @fn_emith(ptr @.str3139) + call void @fn_emith(ptr @.str3140) + call void @fn_emith(ptr @.str3141) + call void @fn_emith(ptr @.str3142) + call void @fn_emith(ptr @.str3143) + call void @fn_emith(ptr @.str3144) + call void @fn_emith(ptr @.str3145) + call void @fn_emith(ptr @.str3146) + call void @fn_emith(ptr @.str3147) + call void @fn_emith(ptr @.str3148) + call void @fn_emith(ptr @.str3149) + call void @fn_emith(ptr @.str3150) + call void @fn_emith(ptr @.str3151) + call void @fn_emith(ptr @.str3152) + call void @fn_emith(ptr @.str3153) + call void @fn_emith(ptr @.str3154) + call void @fn_emith(ptr @.str3155) + call void @fn_emith(ptr @.str3156) + call void @fn_emith(ptr @.str3157) + call void @fn_emith(ptr @.str3158) + call void @fn_emith(ptr @.str3159) + call void @fn_emith(ptr @.str3160) + call void @fn_emith(ptr @.str3161) + call void @fn_emith(ptr @.str3162) + call void @fn_emith(ptr @.str3163) + call void @fn_emith(ptr @.str3164) + call void @fn_emith(ptr @.str3165) + call void @fn_emith(ptr @.str3166) + call void @fn_emith(ptr @.str3167) + call void @fn_emith(ptr @.str3168) + call void @fn_emith(ptr @.str3169) + call void @fn_emith(ptr @.str3170) + call void @fn_emith(ptr @.str3171) + call void @fn_emith(ptr @.str3172) + call void @fn_emith(ptr @.str3173) + call void @fn_emith(ptr @.str3174) + call void @fn_emith(ptr @.str3175) + call void @fn_emith(ptr @.str3176) + call void @fn_emith(ptr @.str3177) + call void @fn_emith(ptr @.str3178) + call void @fn_emith(ptr @.str3179) + call void @fn_emith(ptr @.str3180) + call void @fn_emith(ptr @.str3181) + call void @fn_emith(ptr @.str3182) + call void @fn_emith(ptr @.str3183) + call void @fn_emith(ptr @.str3184) + call void @fn_emith(ptr @.str3185) + call void @fn_emith(ptr @.str3186) + call void @fn_emith(ptr @.str3187) + call void @fn_emith(ptr @.str3188) + call void @fn_emith(ptr @.str3189) + call void @fn_emith(ptr @.str3190) + call void @fn_emith(ptr @.str3191) + call void @fn_emith(ptr @.str3192) + call void @fn_emith(ptr @.str3193) + call void @fn_emith(ptr @.str3194) + call void @fn_emith(ptr @.str3195) + call void @fn_emith(ptr @.str3196) + call void @fn_emith(ptr @.str3197) + call void @fn_emith(ptr @.str3198) + call void @fn_emith(ptr @.str3199) + call void @fn_emith(ptr @.str3200) + call void @fn_emith(ptr @.str3201) + call void @fn_emith(ptr @.str3202) + call void @fn_emith(ptr @.str3203) + call void @fn_emith(ptr @.str3204) + call void @fn_emith(ptr @.str3205) + call void @fn_emith(ptr @.str3206) + call void @fn_emith(ptr @.str3207) + call void @fn_emith(ptr @.str3208) + call void @fn_emith(ptr @.str3209) + call void @fn_emith(ptr @.str3210) + call void @fn_emith(ptr @.str3211) + call void @fn_emith(ptr @.str3212) call void @fn_emit_noise_cellular() br label %ret ret: @@ -38217,30 +43808,30 @@ ret: define void @fn_emit_noise_cellular() { entry: - call void @fn_emith(ptr @.str3023) - call void @fn_emith(ptr @.str3024) - call void @fn_emith(ptr @.str3025) - call void @fn_emith(ptr @.str3026) - call void @fn_emith(ptr @.str3027) - call void @fn_emith(ptr @.str3028) - call void @fn_emith(ptr @.str3029) - call void @fn_emith(ptr @.str3030) - call void @fn_emith(ptr @.str3031) - call void @fn_emith(ptr @.str3032) - call void @fn_emith(ptr @.str3033) - call void @fn_emith(ptr @.str3034) - call void @fn_emith(ptr @.str3035) - call void @fn_emith(ptr @.str3036) - call void @fn_emith(ptr @.str3037) - call void @fn_emith(ptr @.str3038) - call void @fn_emith(ptr @.str3039) - call void @fn_emith(ptr @.str3040) - call void @fn_emith(ptr @.str3041) - call void @fn_emith(ptr @.str3042) - call void @fn_emith(ptr @.str3043) - call void @fn_emith(ptr @.str3044) - call void @fn_emith(ptr @.str3045) - call void @fn_emith(ptr @.str3046) + call void @fn_emith(ptr @.str3213) + call void @fn_emith(ptr @.str3214) + call void @fn_emith(ptr @.str3215) + call void @fn_emith(ptr @.str3216) + call void @fn_emith(ptr @.str3217) + call void @fn_emith(ptr @.str3218) + call void @fn_emith(ptr @.str3219) + call void @fn_emith(ptr @.str3220) + call void @fn_emith(ptr @.str3221) + call void @fn_emith(ptr @.str3222) + call void @fn_emith(ptr @.str3223) + call void @fn_emith(ptr @.str3224) + call void @fn_emith(ptr @.str3225) + call void @fn_emith(ptr @.str3226) + call void @fn_emith(ptr @.str3227) + call void @fn_emith(ptr @.str3228) + call void @fn_emith(ptr @.str3229) + call void @fn_emith(ptr @.str3230) + call void @fn_emith(ptr @.str3231) + call void @fn_emith(ptr @.str3232) + call void @fn_emith(ptr @.str3233) + call void @fn_emith(ptr @.str3234) + call void @fn_emith(ptr @.str3235) + call void @fn_emith(ptr @.str3236) br label %ret ret: ret void @@ -38256,14 +43847,14 @@ entry: %t31 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3047) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3237) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3048) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3238) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -38276,7 +43867,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3049) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3239) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -38290,14 +43881,14 @@ then4: br label %ret ifend6: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3050) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3240) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3051) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3241) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 @@ -38311,14 +43902,14 @@ then9: br label %ret ifend11: %t32 = load ptr, ptr %t0 - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str3052) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str3242) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t31 br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3053) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3243) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t31 @@ -38347,7 +43938,7 @@ entry: %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_llty(ptr %t3) - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3054) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3244) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: @@ -38361,7 +43952,7 @@ ifend2: %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_llty(ptr %t12) - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3055) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3245) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: @@ -38369,8 +43960,8 @@ then3: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 - %t19 = call ptr @fn_str_concat(ptr @.str3056, ptr %t18) - %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str3057) + %t19 = call ptr @fn_str_concat(ptr @.str3246, ptr %t18) + %t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str3247) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %retval br label %ret @@ -38379,8 +43970,8 @@ ifend5: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 - %t25 = call ptr @fn_str_concat(ptr @.str3058, ptr %t24) - %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str3059) + %t25 = call ptr @fn_str_concat(ptr @.str3248, ptr %t24) + %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str3249) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret @@ -38406,7 +43997,7 @@ entry: store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_uses_logrt %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3060) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3250) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -38422,65 +44013,65 @@ then0: %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str3061, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3062) + %t17 = call ptr @fn_str_concat(ptr @.str3251, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3252) call void @fn_emit(ptr %t18) - %t19 = call ptr @fn_val(ptr @.str3063, ptr @.str3064) + %t19 = call ptr @fn_val(ptr @.str3253, ptr @.str3254) store ptr %t19, ptr %retval br label %ret ifend2: %t20 = load ptr, ptr %t0 - %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str3065) + %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str3255) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: - %t23 = call ptr @fn_emit_bind(ptr @.str3066) - %t24 = call ptr @fn_val(ptr %t23, ptr @.str3067) + %t23 = call ptr @fn_emit_bind(ptr @.str3256) + %t24 = call ptr @fn_val(ptr %t23, ptr @.str3257) store ptr %t24, ptr %retval br label %ret ifend5: - store ptr @.str3068, ptr %t25 - store ptr @.str3069, ptr %t26 + store ptr @.str3258, ptr %t25 + store ptr @.str3259, ptr %t26 %t27 = load ptr, ptr %t0 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str3070) + %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str3260) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: - store ptr @.str3071, ptr %t25 - store ptr @.str3072, ptr %t26 + store ptr @.str3261, ptr %t25 + store ptr @.str3262, ptr %t26 br label %ifend8 ifend8: %t30 = load ptr, ptr %t0 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str3073) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str3263) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then9, label %ifend11 then9: - store ptr @.str3074, ptr %t25 - store ptr @.str3075, ptr %t26 + store ptr @.str3264, ptr %t25 + store ptr @.str3265, ptr %t26 br label %ifend11 ifend11: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3076) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3266) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then12, label %ifend14 then12: - store ptr @.str3077, ptr %t25 - store ptr @.str3078, ptr %t26 + store ptr @.str3267, ptr %t25 + store ptr @.str3268, ptr %t26 br label %ifend14 ifend14: %t36 = load ptr, ptr %t0 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3079) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str3269) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then15, label %ifend17 then15: - store ptr @.str3080, ptr %t25 - store ptr @.str3081, ptr %t26 + store ptr @.str3270, ptr %t25 + store ptr @.str3271, ptr %t26 br label %ifend17 ifend17: store i32 1, ptr @g_g_uses_str %t39 = load ptr, ptr %t26 %t40 = call ptr @fn_emit_str_const(ptr %t39) - %t41 = call ptr @fn_val(ptr %t40, ptr @.str3082) + %t41 = call ptr @fn_val(ptr %t40, ptr @.str3272) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t1 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7 @@ -38494,8 +44085,8 @@ ifend17: %t52 = load ptr, ptr %t42 %t53 = load ptr, ptr %t51 %t54 = call ptr @fn_log_stringify(ptr %t53) - %t55 = call ptr @fn_val(ptr %t54, ptr @.str3084) - %t56 = call ptr @fn_emit_str_op(ptr @.str3083, ptr %t52, ptr %t55) + %t55 = call ptr @fn_val(ptr %t54, ptr @.str3274) + %t56 = call ptr @fn_emit_str_op(ptr @.str3273, ptr %t52, ptr %t55) store ptr %t56, ptr %t42 store i32 1, ptr %t57 br label %wcond18 @@ -38534,26 +44125,26 @@ wbody19: %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 %t89 = load ptr, ptr %t42 - %t90 = call ptr @fn_emit_str_const(ptr @.str3086) - %t91 = call ptr @fn_val(ptr %t90, ptr @.str3087) - %t92 = call ptr @fn_emit_str_op(ptr @.str3085, ptr %t89, ptr %t91) + %t90 = call ptr @fn_emit_str_const(ptr @.str3276) + %t91 = call ptr @fn_val(ptr %t90, ptr @.str3277) + %t92 = call ptr @fn_emit_str_op(ptr @.str3275, ptr %t89, ptr %t91) store ptr %t92, ptr %t42 %t93 = load ptr, ptr %t42 %t94 = load ptr, ptr %t77 %t95 = call ptr @fn_log_stringify(ptr %t94) - %t96 = call ptr @fn_val(ptr %t95, ptr @.str3089) - %t97 = call ptr @fn_emit_str_op(ptr @.str3088, ptr %t93, ptr %t96) + %t96 = call ptr @fn_val(ptr %t95, ptr @.str3279) + %t97 = call ptr @fn_emit_str_op(ptr @.str3278, ptr %t93, ptr %t96) store ptr %t97, ptr %t42 %t98 = load ptr, ptr %t42 - %t99 = call ptr @fn_emit_str_const(ptr @.str3091) - %t100 = call ptr @fn_val(ptr %t99, ptr @.str3092) - %t101 = call ptr @fn_emit_str_op(ptr @.str3090, ptr %t98, ptr %t100) + %t99 = call ptr @fn_emit_str_const(ptr @.str3281) + %t100 = call ptr @fn_val(ptr %t99, ptr @.str3282) + %t101 = call ptr @fn_emit_str_op(ptr @.str3280, ptr %t98, ptr %t100) store ptr %t101, ptr %t42 %t102 = load ptr, ptr %t42 %t103 = load ptr, ptr %t88 %t104 = call ptr @fn_log_stringify(ptr %t103) - %t105 = call ptr @fn_val(ptr %t104, ptr @.str3094) - %t106 = call ptr @fn_emit_str_op(ptr @.str3093, ptr %t102, ptr %t105) + %t105 = call ptr @fn_val(ptr %t104, ptr @.str3284) + %t106 = call ptr @fn_emit_str_op(ptr @.str3283, ptr %t102, ptr %t105) store ptr %t106, ptr %t42 %t107 = load i32, ptr %t57 %t108 = add i32 %t107, 2 @@ -38561,15 +44152,15 @@ wbody19: br label %wcond18 wend20: %t109 = load ptr, ptr %t25 - %t110 = call ptr @fn_str_concat(ptr @.str3095, ptr %t109) - %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str3096) + %t110 = call ptr @fn_str_concat(ptr @.str3285, ptr %t109) + %t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str3286) %t112 = load ptr, ptr %t42 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = call ptr @fn_str_concat(ptr %t111, ptr %t114) - %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str3097) + %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str3287) call void @fn_emit(ptr %t116) - %t117 = call ptr @fn_val(ptr @.str3098, ptr @.str3099) + %t117 = call ptr @fn_val(ptr @.str3288, ptr @.str3289) store ptr %t117, ptr %retval br label %ret ret: @@ -38579,13 +44170,13 @@ ret: define void @fn_emit_log_prelude() { entry: - call void @fn_emith(ptr @.str3100) - call void @fn_emith(ptr @.str3101) - call void @fn_emith(ptr @.str3102) - call void @fn_emith(ptr @.str3103) - call void @fn_emith(ptr @.str3104) - call void @fn_emith(ptr @.str3105) - call void @fn_emith(ptr @.str3106) + call void @fn_emith(ptr @.str3290) + call void @fn_emith(ptr @.str3291) + call void @fn_emith(ptr @.str3292) + call void @fn_emith(ptr @.str3293) + call void @fn_emith(ptr @.str3294) + call void @fn_emith(ptr @.str3295) + call void @fn_emith(ptr @.str3296) br label %ret ret: ret void @@ -38608,14 +44199,14 @@ entry: %t82 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3107) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3297) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3108) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3298) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -38628,7 +44219,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3109) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3299) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -38642,14 +44233,14 @@ then4: br label %ret ifend6: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3110) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3300) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3111) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3301) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 @@ -38662,7 +44253,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3112) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3302) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 @@ -38676,14 +44267,14 @@ then11: br label %ret ifend13: %t40 = load ptr, ptr %t0 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str3113) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str3303) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t39 br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str3114) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str3304) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t39 @@ -38697,14 +44288,14 @@ then16: br label %ret ifend18: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3115) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3305) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t51 br i1 %t54, label %scend20, label %sc19 sc19: %t56 = load ptr, ptr %t0 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str3116) + %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str3306) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t51 @@ -38717,7 +44308,7 @@ scend20: br i1 %t61, label %scend22, label %sc21 sc21: %t63 = load ptr, ptr %t0 - %t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str3117) + %t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str3307) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t50 @@ -38731,14 +44322,14 @@ then23: br label %ret ifend25: %t70 = load ptr, ptr %t0 - %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str3118) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str3308) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t69 br i1 %t72, label %scend27, label %sc26 sc26: %t74 = load ptr, ptr %t0 - %t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str3119) + %t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str3309) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t69 @@ -38752,14 +44343,14 @@ then28: br label %ret ifend30: %t83 = load ptr, ptr %t0 - %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str3120) + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str3310) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t82 br i1 %t85, label %scend32, label %sc31 sc31: %t87 = load ptr, ptr %t0 - %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str3121) + %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str3311) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t82 @@ -38772,7 +44363,7 @@ scend32: br i1 %t92, label %scend34, label %sc33 sc33: %t94 = load ptr, ptr %t0 - %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str3122) + %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str3312) %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t81 @@ -38785,7 +44376,7 @@ scend34: br i1 %t99, label %scend36, label %sc35 sc35: %t101 = load ptr, ptr %t0 - %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str3123) + %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str3313) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t80 @@ -38838,17 +44429,17 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3124) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3314) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_emit_bind(ptr @.str3125) - %t6 = call ptr @fn_val(ptr %t5, ptr @.str3126) + %t5 = call ptr @fn_emit_bind(ptr @.str3315) + %t6 = call ptr @fn_val(ptr %t5, ptr @.str3316) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3127) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3317) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -38861,11 +44452,11 @@ then3: %t16 = load ptr, ptr %t15 %t17 = call ptr @fn_emit_expr(ptr %t16) store ptr %t17, ptr %t18 - %t19 = call ptr @fn_emit_bind(ptr @.str3128) + %t19 = call ptr @fn_emit_bind(ptr @.str3318) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 - %t22 = call ptr @fn_str_concat(ptr @.str3129, ptr %t21) - %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3130) + %t22 = call ptr @fn_str_concat(ptr @.str3319, ptr %t21) + %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3320) %t24 = load ptr, ptr %t18 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 @@ -38873,14 +44464,14 @@ then3: %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str3131, ptr %t30) + %t31 = call ptr @fn_str_concat(ptr @.str3321, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) - %t33 = call ptr @fn_val(ptr %t32, ptr @.str3132) + %t33 = call ptr @fn_val(ptr %t32, ptr @.str3322) store ptr %t33, ptr %retval br label %ret ifend5: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3133) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3323) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: @@ -38896,17 +44487,17 @@ then6: %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 - %t49 = call ptr @fn_str_concat(ptr @.str3134, ptr %t48) - %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str3135) + %t49 = call ptr @fn_str_concat(ptr @.str3324, ptr %t48) + %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str3325) call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str3136) + call void @fn_emit(ptr @.str3326) store i32 1, ptr @g_g_term - %t51 = call ptr @fn_val(ptr @.str3137, ptr @.str3138) + %t51 = call ptr @fn_val(ptr @.str3327, ptr @.str3328) store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3139) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3329) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then9, label %ifend11 then9: @@ -38922,15 +44513,15 @@ then9: %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 - %t67 = call ptr @fn_str_concat(ptr @.str3140, ptr %t66) - %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3141) + %t67 = call ptr @fn_str_concat(ptr @.str3330, ptr %t66) + %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3331) %t69 = call ptr @fn_emit_bind(ptr %t68) - %t70 = call ptr @fn_val(ptr %t69, ptr @.str3142) + %t70 = call ptr @fn_val(ptr %t69, ptr @.str3332) store ptr %t70, ptr %retval br label %ret ifend11: %t71 = load ptr, ptr %t0 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3143) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3333) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then12, label %ifend14 then12: @@ -38946,32 +44537,32 @@ then12: %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 - %t86 = call ptr @fn_str_concat(ptr @.str3144, ptr %t85) - %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3145) + %t86 = call ptr @fn_str_concat(ptr @.str3334, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3335) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 - %t91 = call ptr @fn_str_concat(ptr @.str3146, ptr %t90) - %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str3147) + %t91 = call ptr @fn_str_concat(ptr @.str3336, ptr %t90) + %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str3337) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 - %t96 = call ptr @fn_str_concat(ptr @.str3148, ptr %t95) - %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3149) + %t96 = call ptr @fn_str_concat(ptr @.str3338, ptr %t95) + %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3339) %t98 = call ptr @fn_emit_bind(ptr %t97) - %t99 = call ptr @fn_val(ptr %t98, ptr @.str3150) + %t99 = call ptr @fn_val(ptr %t98, ptr @.str3340) store ptr %t99, ptr %retval br label %ret ifend14: %t101 = load ptr, ptr %t0 - %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str3151) + %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str3341) %t103 = icmp ne i32 %t102, 0 %t104 = zext i1 %t103 to i32 store i32 %t104, ptr %t100 br i1 %t103, label %scend16, label %sc15 sc15: %t105 = load ptr, ptr %t0 - %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3152) + %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3342) %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t100 @@ -38981,13 +44572,13 @@ scend16: %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then17, label %ifend19 then17: - store ptr @.str3153, ptr %t111 + store ptr @.str3343, ptr %t111 %t112 = load ptr, ptr %t0 - %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str3154) + %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str3344) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then20, label %ifend22 then20: - store ptr @.str3155, ptr %t111 + store ptr @.str3345, ptr %t111 br label %ifend22 ifend22: %t115 = load ptr, ptr %t1 @@ -39000,45 +44591,45 @@ ifend22: %t122 = call ptr @fn_emit_expr(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t111 - %t125 = call ptr @fn_str_concat(ptr @.str3156, ptr %t124) + %t125 = call ptr @fn_str_concat(ptr @.str3346, ptr %t124) %t126 = call ptr @fn_emit_bind(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t123 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 - %t131 = call ptr @fn_str_concat(ptr @.str3157, ptr %t130) - %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3158) + %t131 = call ptr @fn_str_concat(ptr @.str3347, ptr %t130) + %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3348) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t123 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 - %t138 = call ptr @fn_str_concat(ptr @.str3159, ptr %t137) - %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3160) + %t138 = call ptr @fn_str_concat(ptr @.str3349, ptr %t137) + %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3350) %t140 = load ptr, ptr %t134 %t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140) - %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str3161) + %t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str3351) %t143 = load ptr, ptr %t127 %t144 = call ptr @fn_str_concat(ptr %t142, ptr %t143) - %t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str3162) + %t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str3352) call void @fn_emit(ptr %t145) - %t146 = call ptr @fn_val(ptr @.str3163, ptr @.str3164) + %t146 = call ptr @fn_val(ptr @.str3353, ptr @.str3354) store ptr %t146, ptr %retval br label %ret ifend19: store i32 1, ptr @g_g_uses_osrt %t147 = load ptr, ptr %t0 - %t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str3165) + %t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str3355) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then23, label %ifend25 then23: - %t150 = call ptr @fn_emit_bind(ptr @.str3166) - %t151 = call ptr @fn_val(ptr %t150, ptr @.str3167) + %t150 = call ptr @fn_emit_bind(ptr @.str3356) + %t151 = call ptr @fn_val(ptr %t150, ptr @.str3357) store ptr %t151, ptr %retval br label %ret ifend25: %t152 = load ptr, ptr %t0 - %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str3168) + %t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str3358) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then26, label %ifend28 then26: @@ -39063,20 +44654,20 @@ then26: %t173 = load ptr, ptr %t163 %t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0 %t175 = load ptr, ptr %t174 - %t176 = call ptr @fn_str_concat(ptr @.str3169, ptr %t175) - %t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str3170) + %t176 = call ptr @fn_str_concat(ptr @.str3359, ptr %t175) + %t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str3360) %t178 = load ptr, ptr %t172 %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = call ptr @fn_str_concat(ptr %t177, ptr %t180) - %t182 = call ptr @fn_str_concat(ptr %t181, ptr @.str3171) + %t182 = call ptr @fn_str_concat(ptr %t181, ptr @.str3361) %t183 = call ptr @fn_emit_bind(ptr %t182) - %t184 = call ptr @fn_val(ptr %t183, ptr @.str3172) + %t184 = call ptr @fn_val(ptr %t183, ptr @.str3362) store ptr %t184, ptr %retval br label %ret ifend28: %t185 = load ptr, ptr %t0 - %t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str3173) + %t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str3363) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then29, label %ifend31 then29: @@ -39101,30 +44692,30 @@ then29: %t206 = load ptr, ptr %t196 %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0 %t208 = load ptr, ptr %t207 - %t209 = call ptr @fn_str_concat(ptr @.str3174, ptr %t208) - %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str3175) + %t209 = call ptr @fn_str_concat(ptr @.str3364, ptr %t208) + %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str3365) %t211 = load ptr, ptr %t205 %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213) - %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str3176) + %t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str3366) %t216 = call ptr @fn_emit_bind(ptr %t215) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t217 - %t219 = call ptr @fn_str_concat(ptr @.str3177, ptr %t218) - %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str3178) + %t219 = call ptr @fn_str_concat(ptr @.str3367, ptr %t218) + %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str3368) %t221 = call ptr @fn_emit_bind(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t222 - %t224 = call ptr @fn_str_concat(ptr @.str3179, ptr %t223) - %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str3180) + %t224 = call ptr @fn_str_concat(ptr @.str3369, ptr %t223) + %t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str3370) %t226 = call ptr @fn_emit_bind(ptr %t225) - %t227 = call ptr @fn_val(ptr %t226, ptr @.str3181) + %t227 = call ptr @fn_val(ptr %t226, ptr @.str3371) store ptr %t227, ptr %retval br label %ret ifend31: %t228 = load ptr, ptr %t0 - %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str3182) + %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str3372) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then32, label %ifend34 then32: @@ -39140,45 +44731,45 @@ then32: %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 - %t243 = call ptr @fn_str_concat(ptr @.str3183, ptr %t242) - %t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str3184) + %t243 = call ptr @fn_str_concat(ptr @.str3373, ptr %t242) + %t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str3374) %t245 = call ptr @fn_emit_bind(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t246 - %t248 = call ptr @fn_str_concat(ptr @.str3185, ptr %t247) - %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str3186) + %t248 = call ptr @fn_str_concat(ptr @.str3375, ptr %t247) + %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str3376) %t250 = call ptr @fn_emit_bind(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t251 - %t253 = call ptr @fn_str_concat(ptr @.str3187, ptr %t252) - %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str3188) + %t253 = call ptr @fn_str_concat(ptr @.str3377, ptr %t252) + %t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str3378) %t255 = call ptr @fn_emit_bind(ptr %t254) - %t256 = call ptr @fn_val(ptr %t255, ptr @.str3189) + %t256 = call ptr @fn_val(ptr %t255, ptr @.str3379) store ptr %t256, ptr %retval br label %ret ifend34: %t257 = load ptr, ptr %t0 - %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str3190) + %t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str3380) %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then35, label %ifend37 then35: - %t260 = call ptr @fn_emit_bind(ptr @.str3191) - %t261 = call ptr @fn_val(ptr %t260, ptr @.str3192) + %t260 = call ptr @fn_emit_bind(ptr @.str3381) + %t261 = call ptr @fn_val(ptr %t260, ptr @.str3382) store ptr %t261, ptr %retval br label %ret ifend37: %t262 = load ptr, ptr %t0 - %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str3193) + %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str3383) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then38, label %ifend40 then38: - %t265 = call ptr @fn_emit_bind(ptr @.str3194) - %t266 = call ptr @fn_val(ptr %t265, ptr @.str3195) + %t265 = call ptr @fn_emit_bind(ptr @.str3384) + %t266 = call ptr @fn_val(ptr %t265, ptr @.str3385) store ptr %t266, ptr %retval br label %ret ifend40: %t267 = load ptr, ptr %t0 - %t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str3196) + %t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str3386) %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then41, label %ifend43 then41: @@ -39194,15 +44785,15 @@ then41: %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %Cmp_Val, ptr %t279, i32 0, i32 0 %t281 = load ptr, ptr %t280 - %t282 = call ptr @fn_str_concat(ptr @.str3197, ptr %t281) - %t283 = call ptr @fn_str_concat(ptr %t282, ptr @.str3198) + %t282 = call ptr @fn_str_concat(ptr @.str3387, ptr %t281) + %t283 = call ptr @fn_str_concat(ptr %t282, ptr @.str3388) %t284 = call ptr @fn_emit_bind(ptr %t283) - %t285 = call ptr @fn_val(ptr %t284, ptr @.str3199) + %t285 = call ptr @fn_val(ptr %t284, ptr @.str3389) store ptr %t285, ptr %retval br label %ret ifend43: %t286 = load ptr, ptr %t0 - %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str3200) + %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str3390) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then44, label %ifend46 then44: @@ -39218,15 +44809,15 @@ then44: %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %Cmp_Val, ptr %t298, i32 0, i32 0 %t300 = load ptr, ptr %t299 - %t301 = call ptr @fn_str_concat(ptr @.str3201, ptr %t300) - %t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str3202) + %t301 = call ptr @fn_str_concat(ptr @.str3391, ptr %t300) + %t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str3392) %t303 = call ptr @fn_emit_bind(ptr %t302) - %t304 = call ptr @fn_val(ptr %t303, ptr @.str3203) + %t304 = call ptr @fn_val(ptr %t303, ptr @.str3393) store ptr %t304, ptr %retval br label %ret ifend46: %t305 = load ptr, ptr %t0 - %t306 = call i32 @fn_str_eq(ptr %t305, ptr @.str3204) + %t306 = call i32 @fn_str_eq(ptr %t305, ptr @.str3394) %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %then47, label %ifend49 then47: @@ -39242,15 +44833,15 @@ then47: %t317 = load ptr, ptr %t316 %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0 %t319 = load ptr, ptr %t318 - %t320 = call ptr @fn_str_concat(ptr @.str3205, ptr %t319) - %t321 = call ptr @fn_str_concat(ptr %t320, ptr @.str3206) + %t320 = call ptr @fn_str_concat(ptr @.str3395, ptr %t319) + %t321 = call ptr @fn_str_concat(ptr %t320, ptr @.str3396) %t322 = call ptr @fn_emit_bind(ptr %t321) - %t323 = call ptr @fn_val(ptr %t322, ptr @.str3207) + %t323 = call ptr @fn_val(ptr %t322, ptr @.str3397) store ptr %t323, ptr %retval br label %ret ifend49: - %t324 = call ptr @fn_emit_bind(ptr @.str3208) - %t325 = call ptr @fn_val(ptr %t324, ptr @.str3209) + %t324 = call ptr @fn_emit_bind(ptr @.str3398) + %t325 = call ptr @fn_val(ptr %t324, ptr @.str3399) store ptr %t325, ptr %retval br label %ret ret: @@ -39270,96 +44861,96 @@ entry: %t15 = alloca ptr %t17 = alloca ptr %t19 = alloca ptr - call void @fn_emith(ptr @.str3210) - call void @fn_emith(ptr @.str3211) - call void @fn_emith(ptr @.str3212) - %t0 = call ptr @fn_emit_str_const(ptr @.str3213) + call void @fn_emith(ptr @.str3400) + call void @fn_emith(ptr @.str3401) + call void @fn_emith(ptr @.str3402) + %t0 = call ptr @fn_emit_str_const(ptr @.str3403) store ptr %t0, ptr %t1 - %t2 = call ptr @fn_emit_str_const(ptr @.str3214) + %t2 = call ptr @fn_emit_str_const(ptr @.str3404) store ptr %t2, ptr %t3 - %t4 = call ptr @fn_emit_str_const(ptr @.str3215) + %t4 = call ptr @fn_emit_str_const(ptr @.str3405) store ptr %t4, ptr %t5 - %t6 = call ptr @fn_emit_str_const(ptr @.str3216) + %t6 = call ptr @fn_emit_str_const(ptr @.str3406) store ptr %t6, ptr %t7 - %t8 = call ptr @fn_emit_str_const(ptr @.str3217) + %t8 = call ptr @fn_emit_str_const(ptr @.str3407) store ptr %t8, ptr %t9 - %t10 = call ptr @fn_emit_str_const(ptr @.str3218) + %t10 = call ptr @fn_emit_str_const(ptr @.str3408) store ptr %t10, ptr %t11 - %t12 = call ptr @fn_emit_str_const(ptr @.str3219) + %t12 = call ptr @fn_emit_str_const(ptr @.str3409) store ptr %t12, ptr %t13 - %t14 = call ptr @fn_emit_str_const(ptr @.str3220) + %t14 = call ptr @fn_emit_str_const(ptr @.str3410) store ptr %t14, ptr %t15 - %t16 = call ptr @fn_emit_str_const(ptr @.str3221) + %t16 = call ptr @fn_emit_str_const(ptr @.str3411) store ptr %t16, ptr %t17 - %t18 = call ptr @fn_emit_str_const(ptr @.str3222) + %t18 = call ptr @fn_emit_str_const(ptr @.str3412) store ptr %t18, ptr %t19 - call void @fn_emith(ptr @.str3223) - call void @fn_emith(ptr @.str3224) - call void @fn_emith(ptr @.str3225) - call void @fn_emith(ptr @.str3226) - call void @fn_emith(ptr @.str3227) - call void @fn_emith(ptr @.str3228) - call void @fn_emith(ptr @.str3229) - call void @fn_emith(ptr @.str3230) - call void @fn_emith(ptr @.str3231) - call void @fn_emith(ptr @.str3232) - call void @fn_emith(ptr @.str3233) - call void @fn_emith(ptr @.str3234) + call void @fn_emith(ptr @.str3413) + call void @fn_emith(ptr @.str3414) + call void @fn_emith(ptr @.str3415) + call void @fn_emith(ptr @.str3416) + call void @fn_emith(ptr @.str3417) + call void @fn_emith(ptr @.str3418) + call void @fn_emith(ptr @.str3419) + call void @fn_emith(ptr @.str3420) + call void @fn_emith(ptr @.str3421) + call void @fn_emith(ptr @.str3422) + call void @fn_emith(ptr @.str3423) + call void @fn_emith(ptr @.str3424) %t20 = load ptr, ptr %t1 - %t21 = call ptr @fn_str_concat(ptr @.str3235, ptr %t20) - %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str3236) + %t21 = call ptr @fn_str_concat(ptr @.str3425, ptr %t20) + %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str3426) %t23 = load ptr, ptr %t3 %t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23) - %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3237) + %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3427) call void @fn_emith(ptr %t25) %t26 = load ptr, ptr %t5 - %t27 = call ptr @fn_str_concat(ptr @.str3238, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3239) + %t27 = call ptr @fn_str_concat(ptr @.str3428, ptr %t26) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3429) call void @fn_emith(ptr %t28) %t29 = load ptr, ptr %t5 - %t30 = call ptr @fn_str_concat(ptr @.str3240, ptr %t29) - %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str3241) + %t30 = call ptr @fn_str_concat(ptr @.str3430, ptr %t29) + %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str3431) call void @fn_emith(ptr %t31) %t32 = load ptr, ptr %t7 - %t33 = call ptr @fn_str_concat(ptr @.str3242, ptr %t32) - %t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str3243) + %t33 = call ptr @fn_str_concat(ptr @.str3432, ptr %t32) + %t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str3433) call void @fn_emith(ptr %t34) %t35 = load ptr, ptr %t9 - %t36 = call ptr @fn_str_concat(ptr @.str3244, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3245) + %t36 = call ptr @fn_str_concat(ptr @.str3434, ptr %t35) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3435) %t38 = load ptr, ptr %t11 %t39 = call ptr @fn_str_concat(ptr %t37, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str3246) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str3436) call void @fn_emith(ptr %t40) - call void @fn_emith(ptr @.str3247) - call void @fn_emith(ptr @.str3248) - call void @fn_emith(ptr @.str3249) - call void @fn_emith(ptr @.str3250) - call void @fn_emith(ptr @.str3251) - call void @fn_emith(ptr @.str3252) - call void @fn_emith(ptr @.str3253) - call void @fn_emith(ptr @.str3254) - call void @fn_emith(ptr @.str3255) + call void @fn_emith(ptr @.str3437) + call void @fn_emith(ptr @.str3438) + call void @fn_emith(ptr @.str3439) + call void @fn_emith(ptr @.str3440) + call void @fn_emith(ptr @.str3441) + call void @fn_emith(ptr @.str3442) + call void @fn_emith(ptr @.str3443) + call void @fn_emith(ptr @.str3444) + call void @fn_emith(ptr @.str3445) %t41 = load ptr, ptr %t13 - %t42 = call ptr @fn_str_concat(ptr @.str3256, ptr %t41) - %t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str3257) + %t42 = call ptr @fn_str_concat(ptr @.str3446, ptr %t41) + %t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str3447) call void @fn_emith(ptr %t43) %t44 = load ptr, ptr %t15 - %t45 = call ptr @fn_str_concat(ptr @.str3258, ptr %t44) - %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3259) + %t45 = call ptr @fn_str_concat(ptr @.str3448, ptr %t44) + %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3449) call void @fn_emith(ptr %t46) %t47 = load ptr, ptr %t17 - %t48 = call ptr @fn_str_concat(ptr @.str3260, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3261) + %t48 = call ptr @fn_str_concat(ptr @.str3450, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3451) call void @fn_emith(ptr %t49) %t50 = load ptr, ptr %t19 - %t51 = call ptr @fn_str_concat(ptr @.str3262, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3263) + %t51 = call ptr @fn_str_concat(ptr @.str3452, ptr %t50) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3453) call void @fn_emith(ptr %t52) - call void @fn_emith(ptr @.str3264) - call void @fn_emith(ptr @.str3265) - call void @fn_emith(ptr @.str3266) - call void @fn_emith(ptr @.str3267) + call void @fn_emith(ptr @.str3454) + call void @fn_emith(ptr @.str3455) + call void @fn_emith(ptr @.str3456) + call void @fn_emith(ptr @.str3457) br label %ret ret: ret void @@ -39376,14 +44967,14 @@ entry: %t32 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3268) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3458) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3269) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3459) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -39396,7 +44987,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3270) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3460) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -39410,14 +45001,14 @@ then4: br label %ret ifend6: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3271) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3461) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3272) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3462) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 @@ -39431,14 +45022,14 @@ then9: br label %ret ifend11: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3273) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3463) %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 @.str3274) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str3464) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 @@ -39451,7 +45042,7 @@ scend13: br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 - %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str3275) + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str3465) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 @@ -39465,7 +45056,7 @@ then16: br label %ret ifend18: %t50 = load ptr, ptr %t0 - %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str3276) + %t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str3466) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then19, label %ifend21 then19: @@ -39500,7 +45091,7 @@ entry: store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_uses_unicodert %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3277) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3467) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -39516,20 +45107,20 @@ then0: %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str3278, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3279) + %t17 = call ptr @fn_str_concat(ptr @.str3468, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3469) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 - %t22 = call ptr @fn_str_concat(ptr @.str3280, ptr %t21) - %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3281) + %t22 = call ptr @fn_str_concat(ptr @.str3470, ptr %t21) + %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3471) %t24 = call ptr @fn_emit_bind(ptr %t23) - %t25 = call ptr @fn_val(ptr %t24, ptr @.str3282) + %t25 = call ptr @fn_val(ptr %t24, ptr @.str3472) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3283) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3473) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: @@ -39545,15 +45136,15 @@ then3: %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 - %t41 = call ptr @fn_str_concat(ptr @.str3284, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3285) + %t41 = call ptr @fn_str_concat(ptr @.str3474, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3475) %t43 = call ptr @fn_emit_bind(ptr %t42) - %t44 = call ptr @fn_val(ptr %t43, ptr @.str3286) + %t44 = call ptr @fn_val(ptr %t43, ptr @.str3476) store ptr %t44, ptr %retval br label %ret ifend5: %t45 = load ptr, ptr %t0 - %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str3287) + %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str3477) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: @@ -39569,15 +45160,15 @@ then6: %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 - %t60 = call ptr @fn_str_concat(ptr @.str3288, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3289) + %t60 = call ptr @fn_str_concat(ptr @.str3478, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3479) %t62 = call ptr @fn_emit_bind(ptr %t61) - %t63 = call ptr @fn_val(ptr %t62, ptr @.str3290) + %t63 = call ptr @fn_val(ptr %t62, ptr @.str3480) store ptr %t63, ptr %retval br label %ret ifend8: %t64 = load ptr, ptr %t0 - %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str3291) + %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str3481) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then9, label %ifend11 then9: @@ -39602,20 +45193,20 @@ then9: %t85 = load ptr, ptr %t75 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 - %t88 = call ptr @fn_str_concat(ptr @.str3292, ptr %t87) - %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str3293) + %t88 = call ptr @fn_str_concat(ptr @.str3482, ptr %t87) + %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str3483) %t90 = load ptr, ptr %t84 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_str_concat(ptr %t89, ptr %t92) - %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str3294) + %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str3484) %t95 = call ptr @fn_emit_bind(ptr %t94) - %t96 = call ptr @fn_val(ptr %t95, ptr @.str3295) + %t96 = call ptr @fn_val(ptr %t95, ptr @.str3485) store ptr %t96, ptr %retval br label %ret ifend11: %t97 = load ptr, ptr %t0 - %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str3296) + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str3486) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: @@ -39631,15 +45222,15 @@ then12: %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 - %t112 = call ptr @fn_str_concat(ptr @.str3297, ptr %t111) - %t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str3298) + %t112 = call ptr @fn_str_concat(ptr @.str3487, ptr %t111) + %t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str3488) %t114 = call ptr @fn_emit_bind(ptr %t113) - %t115 = call ptr @fn_val(ptr %t114, ptr @.str3299) + %t115 = call ptr @fn_val(ptr %t114, ptr @.str3489) store ptr %t115, ptr %retval br label %ret ifend14: %t116 = load ptr, ptr %t0 - %t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str3300) + %t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str3490) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then15, label %ifend17 then15: @@ -39655,15 +45246,15 @@ then15: %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 - %t131 = call ptr @fn_str_concat(ptr @.str3301, ptr %t130) - %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3302) + %t131 = call ptr @fn_str_concat(ptr @.str3491, ptr %t130) + %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3492) %t133 = call ptr @fn_emit_bind(ptr %t132) - %t134 = call ptr @fn_val(ptr %t133, ptr @.str3303) + %t134 = call ptr @fn_val(ptr %t133, ptr @.str3493) store ptr %t134, ptr %retval br label %ret ifend17: %t135 = load ptr, ptr %t0 - %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str3304) + %t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str3494) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then18, label %ifend20 then18: @@ -39679,15 +45270,15 @@ then18: %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 - %t150 = call ptr @fn_str_concat(ptr @.str3305, ptr %t149) - %t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str3306) + %t150 = call ptr @fn_str_concat(ptr @.str3495, ptr %t149) + %t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str3496) %t152 = call ptr @fn_emit_bind(ptr %t151) - %t153 = call ptr @fn_val(ptr %t152, ptr @.str3307) + %t153 = call ptr @fn_val(ptr %t152, ptr @.str3497) store ptr %t153, ptr %retval br label %ret ifend20: %t154 = load ptr, ptr %t0 - %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str3308) + %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str3498) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then21, label %ifend23 then21: @@ -39712,15 +45303,15 @@ then21: %t175 = load ptr, ptr %t165 %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0 %t177 = load ptr, ptr %t176 - %t178 = call ptr @fn_str_concat(ptr @.str3309, ptr %t177) - %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str3310) + %t178 = call ptr @fn_str_concat(ptr @.str3499, ptr %t177) + %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str3500) %t180 = load ptr, ptr %t174 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_str_concat(ptr %t179, ptr %t182) - %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str3311) + %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str3501) %t185 = call ptr @fn_emit_bind(ptr %t184) - %t186 = call ptr @fn_val(ptr %t185, ptr @.str3312) + %t186 = call ptr @fn_val(ptr %t185, ptr @.str3502) store ptr %t186, ptr %retval br label %ret ifend23: @@ -39736,10 +45327,10 @@ ifend23: %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 - %t199 = call ptr @fn_str_concat(ptr @.str3313, ptr %t198) - %t200 = call ptr @fn_str_concat(ptr %t199, ptr @.str3314) + %t199 = call ptr @fn_str_concat(ptr @.str3503, ptr %t198) + %t200 = call ptr @fn_str_concat(ptr %t199, ptr @.str3504) %t201 = call ptr @fn_emit_bind(ptr %t200) - %t202 = call ptr @fn_val(ptr %t201, ptr @.str3315) + %t202 = call ptr @fn_val(ptr %t201, ptr @.str3505) store ptr %t202, ptr %retval br label %ret ret: @@ -39759,79 +45350,79 @@ ret: define void @fn_emit_uni_core() { entry: - call void @fn_emith(ptr @.str3316) - call void @fn_emith(ptr @.str3317) - call void @fn_emith(ptr @.str3318) - call void @fn_emith(ptr @.str3319) - call void @fn_emith(ptr @.str3320) - call void @fn_emith(ptr @.str3321) - call void @fn_emith(ptr @.str3322) - call void @fn_emith(ptr @.str3323) - call void @fn_emith(ptr @.str3324) - call void @fn_emith(ptr @.str3325) - call void @fn_emith(ptr @.str3326) - call void @fn_emith(ptr @.str3327) - call void @fn_emith(ptr @.str3328) - call void @fn_emith(ptr @.str3329) - call void @fn_emith(ptr @.str3330) - call void @fn_emith(ptr @.str3331) - call void @fn_emith(ptr @.str3332) - call void @fn_emith(ptr @.str3333) - call void @fn_emith(ptr @.str3334) - call void @fn_emith(ptr @.str3335) - call void @fn_emith(ptr @.str3336) - call void @fn_emith(ptr @.str3337) - call void @fn_emith(ptr @.str3338) - call void @fn_emith(ptr @.str3339) - call void @fn_emith(ptr @.str3340) - call void @fn_emith(ptr @.str3341) - call void @fn_emith(ptr @.str3342) - call void @fn_emith(ptr @.str3343) - call void @fn_emith(ptr @.str3344) - call void @fn_emith(ptr @.str3345) - call void @fn_emith(ptr @.str3346) - call void @fn_emith(ptr @.str3347) - call void @fn_emith(ptr @.str3348) - call void @fn_emith(ptr @.str3349) - call void @fn_emith(ptr @.str3350) - call void @fn_emith(ptr @.str3351) - call void @fn_emith(ptr @.str3352) - call void @fn_emith(ptr @.str3353) - call void @fn_emith(ptr @.str3354) - call void @fn_emith(ptr @.str3355) - call void @fn_emith(ptr @.str3356) - call void @fn_emith(ptr @.str3357) - call void @fn_emith(ptr @.str3358) - call void @fn_emith(ptr @.str3359) - call void @fn_emith(ptr @.str3360) - call void @fn_emith(ptr @.str3361) - call void @fn_emith(ptr @.str3362) - call void @fn_emith(ptr @.str3363) - call void @fn_emith(ptr @.str3364) - call void @fn_emith(ptr @.str3365) - call void @fn_emith(ptr @.str3366) - call void @fn_emith(ptr @.str3367) - call void @fn_emith(ptr @.str3368) - call void @fn_emith(ptr @.str3369) - call void @fn_emith(ptr @.str3370) - call void @fn_emith(ptr @.str3371) - call void @fn_emith(ptr @.str3372) - call void @fn_emith(ptr @.str3373) - call void @fn_emith(ptr @.str3374) - call void @fn_emith(ptr @.str3375) - call void @fn_emith(ptr @.str3376) - call void @fn_emith(ptr @.str3377) - call void @fn_emith(ptr @.str3378) - call void @fn_emith(ptr @.str3379) - call void @fn_emith(ptr @.str3380) - call void @fn_emith(ptr @.str3381) - call void @fn_emith(ptr @.str3382) - call void @fn_emith(ptr @.str3383) - call void @fn_emith(ptr @.str3384) - call void @fn_emith(ptr @.str3385) - call void @fn_emith(ptr @.str3386) - call void @fn_emith(ptr @.str3387) - call void @fn_emith(ptr @.str3388) + call void @fn_emith(ptr @.str3506) + call void @fn_emith(ptr @.str3507) + call void @fn_emith(ptr @.str3508) + call void @fn_emith(ptr @.str3509) + call void @fn_emith(ptr @.str3510) + call void @fn_emith(ptr @.str3511) + call void @fn_emith(ptr @.str3512) + call void @fn_emith(ptr @.str3513) + call void @fn_emith(ptr @.str3514) + call void @fn_emith(ptr @.str3515) + call void @fn_emith(ptr @.str3516) + call void @fn_emith(ptr @.str3517) + call void @fn_emith(ptr @.str3518) + call void @fn_emith(ptr @.str3519) + call void @fn_emith(ptr @.str3520) + call void @fn_emith(ptr @.str3521) + call void @fn_emith(ptr @.str3522) + call void @fn_emith(ptr @.str3523) + call void @fn_emith(ptr @.str3524) + call void @fn_emith(ptr @.str3525) + call void @fn_emith(ptr @.str3526) + call void @fn_emith(ptr @.str3527) + call void @fn_emith(ptr @.str3528) + call void @fn_emith(ptr @.str3529) + call void @fn_emith(ptr @.str3530) + call void @fn_emith(ptr @.str3531) + call void @fn_emith(ptr @.str3532) + call void @fn_emith(ptr @.str3533) + call void @fn_emith(ptr @.str3534) + call void @fn_emith(ptr @.str3535) + call void @fn_emith(ptr @.str3536) + call void @fn_emith(ptr @.str3537) + call void @fn_emith(ptr @.str3538) + call void @fn_emith(ptr @.str3539) + call void @fn_emith(ptr @.str3540) + call void @fn_emith(ptr @.str3541) + call void @fn_emith(ptr @.str3542) + call void @fn_emith(ptr @.str3543) + call void @fn_emith(ptr @.str3544) + call void @fn_emith(ptr @.str3545) + call void @fn_emith(ptr @.str3546) + call void @fn_emith(ptr @.str3547) + call void @fn_emith(ptr @.str3548) + call void @fn_emith(ptr @.str3549) + call void @fn_emith(ptr @.str3550) + call void @fn_emith(ptr @.str3551) + call void @fn_emith(ptr @.str3552) + call void @fn_emith(ptr @.str3553) + call void @fn_emith(ptr @.str3554) + call void @fn_emith(ptr @.str3555) + call void @fn_emith(ptr @.str3556) + call void @fn_emith(ptr @.str3557) + call void @fn_emith(ptr @.str3558) + call void @fn_emith(ptr @.str3559) + call void @fn_emith(ptr @.str3560) + call void @fn_emith(ptr @.str3561) + call void @fn_emith(ptr @.str3562) + call void @fn_emith(ptr @.str3563) + call void @fn_emith(ptr @.str3564) + call void @fn_emith(ptr @.str3565) + call void @fn_emith(ptr @.str3566) + call void @fn_emith(ptr @.str3567) + call void @fn_emith(ptr @.str3568) + call void @fn_emith(ptr @.str3569) + call void @fn_emith(ptr @.str3570) + call void @fn_emith(ptr @.str3571) + call void @fn_emith(ptr @.str3572) + call void @fn_emith(ptr @.str3573) + call void @fn_emith(ptr @.str3574) + call void @fn_emith(ptr @.str3575) + call void @fn_emith(ptr @.str3576) + call void @fn_emith(ptr @.str3577) + call void @fn_emith(ptr @.str3578) br label %ret ret: ret void @@ -39839,46 +45430,46 @@ ret: define void @fn_emit_uni_case_fns() { entry: - call void @fn_emith(ptr @.str3389) - call void @fn_emith(ptr @.str3390) - call void @fn_emith(ptr @.str3391) - call void @fn_emith(ptr @.str3392) - call void @fn_emith(ptr @.str3393) - call void @fn_emith(ptr @.str3394) - call void @fn_emith(ptr @.str3395) - call void @fn_emith(ptr @.str3396) - call void @fn_emith(ptr @.str3397) - call void @fn_emith(ptr @.str3398) - call void @fn_emith(ptr @.str3399) - call void @fn_emith(ptr @.str3400) - call void @fn_emith(ptr @.str3401) - call void @fn_emith(ptr @.str3402) - call void @fn_emith(ptr @.str3403) - call void @fn_emith(ptr @.str3404) - call void @fn_emith(ptr @.str3405) - call void @fn_emith(ptr @.str3406) - call void @fn_emith(ptr @.str3407) - call void @fn_emith(ptr @.str3408) - call void @fn_emith(ptr @.str3409) - call void @fn_emith(ptr @.str3410) - call void @fn_emith(ptr @.str3411) - call void @fn_emith(ptr @.str3412) - call void @fn_emith(ptr @.str3413) - call void @fn_emith(ptr @.str3414) - call void @fn_emith(ptr @.str3415) - call void @fn_emith(ptr @.str3416) - call void @fn_emith(ptr @.str3417) - call void @fn_emith(ptr @.str3418) - call void @fn_emith(ptr @.str3419) - call void @fn_emith(ptr @.str3420) - call void @fn_emith(ptr @.str3421) - call void @fn_emith(ptr @.str3422) - call void @fn_emith(ptr @.str3423) - call void @fn_emith(ptr @.str3424) - call void @fn_emith(ptr @.str3425) - call void @fn_emith(ptr @.str3426) - call void @fn_emith(ptr @.str3427) - call void @fn_emith(ptr @.str3428) + call void @fn_emith(ptr @.str3579) + call void @fn_emith(ptr @.str3580) + call void @fn_emith(ptr @.str3581) + call void @fn_emith(ptr @.str3582) + call void @fn_emith(ptr @.str3583) + call void @fn_emith(ptr @.str3584) + call void @fn_emith(ptr @.str3585) + call void @fn_emith(ptr @.str3586) + call void @fn_emith(ptr @.str3587) + call void @fn_emith(ptr @.str3588) + call void @fn_emith(ptr @.str3589) + call void @fn_emith(ptr @.str3590) + call void @fn_emith(ptr @.str3591) + call void @fn_emith(ptr @.str3592) + call void @fn_emith(ptr @.str3593) + call void @fn_emith(ptr @.str3594) + call void @fn_emith(ptr @.str3595) + call void @fn_emith(ptr @.str3596) + call void @fn_emith(ptr @.str3597) + call void @fn_emith(ptr @.str3598) + call void @fn_emith(ptr @.str3599) + call void @fn_emith(ptr @.str3600) + call void @fn_emith(ptr @.str3601) + call void @fn_emith(ptr @.str3602) + call void @fn_emith(ptr @.str3603) + call void @fn_emith(ptr @.str3604) + call void @fn_emith(ptr @.str3605) + call void @fn_emith(ptr @.str3606) + call void @fn_emith(ptr @.str3607) + call void @fn_emith(ptr @.str3608) + call void @fn_emith(ptr @.str3609) + call void @fn_emith(ptr @.str3610) + call void @fn_emith(ptr @.str3611) + call void @fn_emith(ptr @.str3612) + call void @fn_emith(ptr @.str3613) + call void @fn_emith(ptr @.str3614) + call void @fn_emith(ptr @.str3615) + call void @fn_emith(ptr @.str3616) + call void @fn_emith(ptr @.str3617) + call void @fn_emith(ptr @.str3618) br label %ret ret: ret void @@ -39886,43 +45477,43 @@ ret: define void @fn_emit_uni_str_fns() { entry: - call void @fn_emith(ptr @.str3429) - call void @fn_emith(ptr @.str3430) - call void @fn_emith(ptr @.str3431) - call void @fn_emith(ptr @.str3432) - call void @fn_emith(ptr @.str3433) - call void @fn_emith(ptr @.str3434) - call void @fn_emith(ptr @.str3435) - call void @fn_emith(ptr @.str3436) - call void @fn_emith(ptr @.str3437) - call void @fn_emith(ptr @.str3438) - call void @fn_emith(ptr @.str3439) - call void @fn_emith(ptr @.str3440) - call void @fn_emith(ptr @.str3441) - call void @fn_emith(ptr @.str3442) - call void @fn_emith(ptr @.str3443) - call void @fn_emith(ptr @.str3444) - call void @fn_emith(ptr @.str3445) - call void @fn_emith(ptr @.str3446) - call void @fn_emith(ptr @.str3447) - call void @fn_emith(ptr @.str3448) - call void @fn_emith(ptr @.str3449) - call void @fn_emith(ptr @.str3450) - call void @fn_emith(ptr @.str3451) - call void @fn_emith(ptr @.str3452) - call void @fn_emith(ptr @.str3453) - call void @fn_emith(ptr @.str3454) - call void @fn_emith(ptr @.str3455) - call void @fn_emith(ptr @.str3456) - call void @fn_emith(ptr @.str3457) - call void @fn_emith(ptr @.str3458) - call void @fn_emith(ptr @.str3459) - call void @fn_emith(ptr @.str3460) - call void @fn_emith(ptr @.str3461) - call void @fn_emith(ptr @.str3462) - call void @fn_emith(ptr @.str3463) - call void @fn_emith(ptr @.str3464) - call void @fn_emith(ptr @.str3465) + call void @fn_emith(ptr @.str3619) + call void @fn_emith(ptr @.str3620) + call void @fn_emith(ptr @.str3621) + call void @fn_emith(ptr @.str3622) + call void @fn_emith(ptr @.str3623) + call void @fn_emith(ptr @.str3624) + call void @fn_emith(ptr @.str3625) + call void @fn_emith(ptr @.str3626) + call void @fn_emith(ptr @.str3627) + call void @fn_emith(ptr @.str3628) + call void @fn_emith(ptr @.str3629) + call void @fn_emith(ptr @.str3630) + call void @fn_emith(ptr @.str3631) + call void @fn_emith(ptr @.str3632) + call void @fn_emith(ptr @.str3633) + call void @fn_emith(ptr @.str3634) + call void @fn_emith(ptr @.str3635) + call void @fn_emith(ptr @.str3636) + call void @fn_emith(ptr @.str3637) + call void @fn_emith(ptr @.str3638) + call void @fn_emith(ptr @.str3639) + call void @fn_emith(ptr @.str3640) + call void @fn_emith(ptr @.str3641) + call void @fn_emith(ptr @.str3642) + call void @fn_emith(ptr @.str3643) + call void @fn_emith(ptr @.str3644) + call void @fn_emith(ptr @.str3645) + call void @fn_emith(ptr @.str3646) + call void @fn_emith(ptr @.str3647) + call void @fn_emith(ptr @.str3648) + call void @fn_emith(ptr @.str3649) + call void @fn_emith(ptr @.str3650) + call void @fn_emith(ptr @.str3651) + call void @fn_emith(ptr @.str3652) + call void @fn_emith(ptr @.str3653) + call void @fn_emith(ptr @.str3654) + call void @fn_emith(ptr @.str3655) call void @fn_emit_uni_grapheme() br label %ret ret: @@ -39931,25 +45522,25 @@ ret: define void @fn_emit_uni_grapheme() { entry: - call void @fn_emith(ptr @.str3466) - call void @fn_emith(ptr @.str3467) - call void @fn_emith(ptr @.str3468) - call void @fn_emith(ptr @.str3469) - call void @fn_emith(ptr @.str3470) - call void @fn_emith(ptr @.str3471) - call void @fn_emith(ptr @.str3472) - call void @fn_emith(ptr @.str3473) - call void @fn_emith(ptr @.str3474) - call void @fn_emith(ptr @.str3475) - call void @fn_emith(ptr @.str3476) - call void @fn_emith(ptr @.str3477) - call void @fn_emith(ptr @.str3478) - call void @fn_emith(ptr @.str3479) - call void @fn_emith(ptr @.str3480) - call void @fn_emith(ptr @.str3481) - call void @fn_emith(ptr @.str3482) - call void @fn_emith(ptr @.str3483) - call void @fn_emith(ptr @.str3484) + call void @fn_emith(ptr @.str3656) + call void @fn_emith(ptr @.str3657) + call void @fn_emith(ptr @.str3658) + call void @fn_emith(ptr @.str3659) + call void @fn_emith(ptr @.str3660) + call void @fn_emith(ptr @.str3661) + call void @fn_emith(ptr @.str3662) + call void @fn_emith(ptr @.str3663) + call void @fn_emith(ptr @.str3664) + call void @fn_emith(ptr @.str3665) + call void @fn_emith(ptr @.str3666) + call void @fn_emith(ptr @.str3667) + call void @fn_emith(ptr @.str3668) + call void @fn_emith(ptr @.str3669) + call void @fn_emith(ptr @.str3670) + call void @fn_emith(ptr @.str3671) + call void @fn_emith(ptr @.str3672) + call void @fn_emith(ptr @.str3673) + call void @fn_emith(ptr @.str3674) br label %ret ret: ret void @@ -39968,14 +45559,14 @@ entry: %t41 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3485) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3675) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3486) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3676) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -39988,7 +45579,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3487) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3677) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -40002,14 +45593,14 @@ then4: br label %ret ifend6: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3488) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3678) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3489) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3679) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 @@ -40022,7 +45613,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3490) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3680) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 @@ -40036,14 +45627,14 @@ then11: br label %ret ifend13: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str3491) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str3681) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t41 br i1 %t44, label %scend15, label %sc14 sc14: %t46 = load ptr, ptr %t0 - %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str3492) + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str3682) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 @@ -40056,7 +45647,7 @@ scend15: br i1 %t51, label %scend17, label %sc16 sc16: %t53 = load ptr, ptr %t0 - %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str3493) + %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str3683) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t40 @@ -40069,7 +45660,7 @@ scend17: br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str3494) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str3684) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t39 @@ -40099,14 +45690,14 @@ entry: %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3495) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3685) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3496) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3686) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -40119,7 +45710,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3497) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3687) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -40133,14 +45724,14 @@ then4: br label %ret ifend6: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3498) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3688) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3499) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3689) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 @@ -40153,7 +45744,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3500) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3690) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 @@ -40180,14 +45771,14 @@ entry: %t1 = alloca i32 store ptr %arg_meth, ptr %t0 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3501) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3691) %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 @.str3502) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str3692) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 @@ -40227,107 +45818,107 @@ entry: %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3503) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3693) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str3504, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3505) + %t17 = call ptr @fn_str_concat(ptr @.str3694, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3695) %t19 = call ptr @fn_emit_bind(ptr %t18) - %t20 = call ptr @fn_val(ptr %t19, ptr @.str3506) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str3696) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3507) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3697) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 - %t27 = call ptr @fn_str_concat(ptr @.str3508, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3509) + %t27 = call ptr @fn_str_concat(ptr @.str3698, ptr %t26) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3699) %t29 = call ptr @fn_emit_bind(ptr %t28) - %t30 = call ptr @fn_val(ptr %t29, ptr @.str3510) + %t30 = call ptr @fn_val(ptr %t29, ptr @.str3700) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3511) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3701) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: %t34 = load ptr, ptr %t10 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 - %t37 = call ptr @fn_str_concat(ptr @.str3512, ptr %t36) - %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3513) + %t37 = call ptr @fn_str_concat(ptr @.str3702, ptr %t36) + %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3703) %t39 = call ptr @fn_emit_bind(ptr %t38) - %t40 = call ptr @fn_val(ptr %t39, ptr @.str3514) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str3704) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3515) + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3705) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr %t10 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str3516, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3517) + %t47 = call ptr @fn_str_concat(ptr @.str3706, ptr %t46) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3707) %t49 = call ptr @fn_emit_bind(ptr %t48) - %t50 = call ptr @fn_val(ptr %t49, ptr @.str3518) + %t50 = call ptr @fn_val(ptr %t49, ptr @.str3708) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 - %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3519) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3709) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then12, label %ifend14 then12: %t54 = load ptr, ptr %t10 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 - %t57 = call ptr @fn_str_concat(ptr @.str3520, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3521) + %t57 = call ptr @fn_str_concat(ptr @.str3710, ptr %t56) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3711) %t59 = call ptr @fn_emit_bind(ptr %t58) - %t60 = call ptr @fn_val(ptr %t59, ptr @.str3522) + %t60 = call ptr @fn_val(ptr %t59, ptr @.str3712) store ptr %t60, ptr %retval br label %ret ifend14: %t61 = load ptr, ptr %t0 - %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str3523) + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str3713) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then15, label %ifend17 then15: %t64 = load ptr, ptr %t10 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 - %t67 = call ptr @fn_str_concat(ptr @.str3524, ptr %t66) - %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3525) + %t67 = call ptr @fn_str_concat(ptr @.str3714, ptr %t66) + %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3715) %t69 = call ptr @fn_emit_bind(ptr %t68) - %t70 = call ptr @fn_val(ptr %t69, ptr @.str3526) + %t70 = call ptr @fn_val(ptr %t69, ptr @.str3716) store ptr %t70, ptr %retval br label %ret ifend17: %t71 = load ptr, ptr %t0 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3527) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3717) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then18, label %ifend20 then18: %t74 = load ptr, ptr %t10 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 - %t77 = call ptr @fn_str_concat(ptr @.str3528, ptr %t76) - %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3529) + %t77 = call ptr @fn_str_concat(ptr @.str3718, ptr %t76) + %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3719) %t79 = call ptr @fn_emit_bind(ptr %t78) - %t80 = call ptr @fn_val(ptr %t79, ptr @.str3530) + %t80 = call ptr @fn_val(ptr %t79, ptr @.str3720) store ptr %t80, ptr %retval br label %ret ifend20: @@ -40341,57 +45932,57 @@ ifend20: %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t0 - %t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str3531) + %t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str3721) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then21, label %ifend23 then21: %t93 = load ptr, ptr %t10 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 - %t96 = call ptr @fn_str_concat(ptr @.str3532, ptr %t95) - %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3533) + %t96 = call ptr @fn_str_concat(ptr @.str3722, ptr %t95) + %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3723) %t98 = load ptr, ptr %t89 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_str_concat(ptr %t97, ptr %t100) - %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3534) + %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3724) %t103 = call ptr @fn_emit_bind(ptr %t102) - %t104 = call ptr @fn_val(ptr %t103, ptr @.str3535) + %t104 = call ptr @fn_val(ptr %t103, ptr @.str3725) store ptr %t104, ptr %retval br label %ret ifend23: %t105 = load ptr, ptr %t0 - %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3536) + %t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3726) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %ifend26 then24: %t108 = load ptr, ptr %t10 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 - %t111 = call ptr @fn_str_concat(ptr @.str3537, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3538) + %t111 = call ptr @fn_str_concat(ptr @.str3727, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3728) %t113 = load ptr, ptr %t89 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115) - %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3539) + %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3729) %t118 = call ptr @fn_emit_bind(ptr %t117) - %t119 = call ptr @fn_val(ptr %t118, ptr @.str3540) + %t119 = call ptr @fn_val(ptr %t118, ptr @.str3730) store ptr %t119, ptr %retval br label %ret ifend26: %t120 = load ptr, ptr %t10 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 - %t123 = call ptr @fn_str_concat(ptr @.str3541, ptr %t122) - %t124 = call ptr @fn_str_concat(ptr %t123, ptr @.str3542) + %t123 = call ptr @fn_str_concat(ptr @.str3731, ptr %t122) + %t124 = call ptr @fn_str_concat(ptr %t123, ptr @.str3732) %t125 = load ptr, ptr %t89 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = call ptr @fn_str_concat(ptr %t124, ptr %t127) - %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3543) + %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3733) %t130 = call ptr @fn_emit_bind(ptr %t129) - %t131 = call ptr @fn_val(ptr %t130, ptr @.str3544) + %t131 = call ptr @fn_val(ptr %t130, ptr @.str3734) store ptr %t131, ptr %retval br label %ret ret: @@ -40419,77 +46010,77 @@ entry: %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3545) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3735) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str3546, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3547) + %t17 = call ptr @fn_str_concat(ptr @.str3736, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3737) %t19 = call ptr @fn_emit_bind(ptr %t18) - %t20 = call ptr @fn_val(ptr %t19, ptr @.str3548) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str3738) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3549) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3739) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 - %t27 = call ptr @fn_str_concat(ptr @.str3550, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3551) + %t27 = call ptr @fn_str_concat(ptr @.str3740, ptr %t26) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3741) %t29 = call ptr @fn_emit_bind(ptr %t28) - %t30 = call ptr @fn_val(ptr %t29, ptr @.str3552) + %t30 = call ptr @fn_val(ptr %t29, ptr @.str3742) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3553) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3743) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: %t34 = load ptr, ptr %t10 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 - %t37 = call ptr @fn_str_concat(ptr @.str3554, ptr %t36) - %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3555) + %t37 = call ptr @fn_str_concat(ptr @.str3744, ptr %t36) + %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3745) %t39 = call ptr @fn_emit_bind(ptr %t38) - %t40 = call ptr @fn_val(ptr %t39, ptr @.str3556) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str3746) store ptr %t40, ptr %retval br label %ret ifend8: %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3557) + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3747) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr %t10 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str3558, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3559) + %t47 = call ptr @fn_str_concat(ptr @.str3748, ptr %t46) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3749) %t49 = call ptr @fn_emit_bind(ptr %t48) - %t50 = call ptr @fn_val(ptr %t49, ptr @.str3560) + %t50 = call ptr @fn_val(ptr %t49, ptr @.str3750) store ptr %t50, ptr %retval br label %ret ifend11: %t51 = load ptr, ptr %t0 - %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3561) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3751) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then12, label %ifend14 then12: %t54 = load ptr, ptr %t10 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 - %t57 = call ptr @fn_str_concat(ptr @.str3562, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3563) + %t57 = call ptr @fn_str_concat(ptr @.str3752, ptr %t56) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3753) %t59 = call ptr @fn_emit_bind(ptr %t58) - %t60 = call ptr @fn_val(ptr %t59, ptr @.str3564) + %t60 = call ptr @fn_val(ptr %t59, ptr @.str3754) store ptr %t60, ptr %retval br label %ret ifend14: @@ -40505,15 +46096,15 @@ ifend14: %t70 = load ptr, ptr %t10 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 0 %t72 = load ptr, ptr %t71 - %t73 = call ptr @fn_str_concat(ptr @.str3565, ptr %t72) - %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str3566) + %t73 = call ptr @fn_str_concat(ptr @.str3755, ptr %t72) + %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str3756) %t75 = load ptr, ptr %t69 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_str_concat(ptr %t74, ptr %t77) - %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str3567) + %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str3757) %t80 = call ptr @fn_emit_bind(ptr %t79) - %t81 = call ptr @fn_val(ptr %t80, ptr @.str3568) + %t81 = call ptr @fn_val(ptr %t80, ptr @.str3758) store ptr %t81, ptr %retval br label %ret ret: @@ -40540,27 +46131,27 @@ entry: %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3569) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3759) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str3570, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3571) + %t17 = call ptr @fn_str_concat(ptr @.str3760, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3761) %t19 = call ptr @fn_emit_bind(ptr %t18) - %t20 = call ptr @fn_val(ptr %t19, ptr @.str3572) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str3762) store ptr %t20, ptr %retval br label %ret ifend2: %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 - %t24 = call ptr @fn_str_concat(ptr @.str3573, ptr %t23) - %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3574) + %t24 = call ptr @fn_str_concat(ptr @.str3763, ptr %t23) + %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3764) %t26 = call ptr @fn_emit_bind(ptr %t25) - %t27 = call ptr @fn_val(ptr %t26, ptr @.str3575) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str3765) store ptr %t27, ptr %retval br label %ret ret: @@ -40570,13 +46161,13 @@ ret: define void @fn_emit_fs_prelude() { entry: - call void @fn_emith(ptr @.str3576) - call void @fn_emith(ptr @.str3577) - call void @fn_emith(ptr @.str3578) - call void @fn_emith(ptr @.str3579) - call void @fn_emith(ptr @.str3580) - call void @fn_emith(ptr @.str3581) - call void @fn_emith(ptr @.str3582) + call void @fn_emith(ptr @.str3766) + call void @fn_emith(ptr @.str3767) + call void @fn_emith(ptr @.str3768) + call void @fn_emith(ptr @.str3769) + call void @fn_emith(ptr @.str3770) + call void @fn_emith(ptr @.str3771) + call void @fn_emith(ptr @.str3772) call void @fn_emit_fs_common() call void @fn_emit_fs_path() call void @fn_emit_fs_io() @@ -40589,19 +46180,19 @@ ret: define void @fn_emit_fs_common() { entry: - call void @fn_emith(ptr @.str3583) - call void @fn_emith(ptr @.str3584) - call void @fn_emith(ptr @.str3585) - call void @fn_emith(ptr @.str3586) - call void @fn_emith(ptr @.str3587) - call void @fn_emith(ptr @.str3588) - call void @fn_emith(ptr @.str3589) - call void @fn_emith(ptr @.str3590) - call void @fn_emith(ptr @.str3591) - call void @fn_emith(ptr @.str3592) - call void @fn_emith(ptr @.str3593) - call void @fn_emith(ptr @.str3594) - call void @fn_emith(ptr @.str3595) + call void @fn_emith(ptr @.str3773) + call void @fn_emith(ptr @.str3774) + call void @fn_emith(ptr @.str3775) + call void @fn_emith(ptr @.str3776) + call void @fn_emith(ptr @.str3777) + call void @fn_emith(ptr @.str3778) + call void @fn_emith(ptr @.str3779) + call void @fn_emith(ptr @.str3780) + call void @fn_emith(ptr @.str3781) + call void @fn_emith(ptr @.str3782) + call void @fn_emith(ptr @.str3783) + call void @fn_emith(ptr @.str3784) + call void @fn_emith(ptr @.str3785) br label %ret ret: ret void @@ -40609,48 +46200,48 @@ ret: define void @fn_emit_fs_path() { entry: - call void @fn_emith(ptr @.str3596) - call void @fn_emith(ptr @.str3597) - call void @fn_emith(ptr @.str3598) - call void @fn_emith(ptr @.str3599) - call void @fn_emith(ptr @.str3600) - call void @fn_emith(ptr @.str3601) - call void @fn_emith(ptr @.str3602) - call void @fn_emith(ptr @.str3603) - call void @fn_emith(ptr @.str3604) - call void @fn_emith(ptr @.str3605) - call void @fn_emith(ptr @.str3606) - call void @fn_emith(ptr @.str3607) - call void @fn_emith(ptr @.str3608) - call void @fn_emith(ptr @.str3609) - call void @fn_emith(ptr @.str3610) - call void @fn_emith(ptr @.str3611) - call void @fn_emith(ptr @.str3612) - call void @fn_emith(ptr @.str3613) - call void @fn_emith(ptr @.str3614) - call void @fn_emith(ptr @.str3615) - call void @fn_emith(ptr @.str3616) - call void @fn_emith(ptr @.str3617) - call void @fn_emith(ptr @.str3618) - call void @fn_emith(ptr @.str3619) - call void @fn_emith(ptr @.str3620) - call void @fn_emith(ptr @.str3621) - call void @fn_emith(ptr @.str3622) - call void @fn_emith(ptr @.str3623) - call void @fn_emith(ptr @.str3624) - call void @fn_emith(ptr @.str3625) - call void @fn_emith(ptr @.str3626) - call void @fn_emith(ptr @.str3627) - call void @fn_emith(ptr @.str3628) - call void @fn_emith(ptr @.str3629) - call void @fn_emith(ptr @.str3630) - call void @fn_emith(ptr @.str3631) - call void @fn_emith(ptr @.str3632) - call void @fn_emith(ptr @.str3633) - call void @fn_emith(ptr @.str3634) - call void @fn_emith(ptr @.str3635) - call void @fn_emith(ptr @.str3636) - call void @fn_emith(ptr @.str3637) + call void @fn_emith(ptr @.str3786) + call void @fn_emith(ptr @.str3787) + call void @fn_emith(ptr @.str3788) + call void @fn_emith(ptr @.str3789) + call void @fn_emith(ptr @.str3790) + call void @fn_emith(ptr @.str3791) + call void @fn_emith(ptr @.str3792) + call void @fn_emith(ptr @.str3793) + call void @fn_emith(ptr @.str3794) + call void @fn_emith(ptr @.str3795) + call void @fn_emith(ptr @.str3796) + call void @fn_emith(ptr @.str3797) + call void @fn_emith(ptr @.str3798) + call void @fn_emith(ptr @.str3799) + call void @fn_emith(ptr @.str3800) + call void @fn_emith(ptr @.str3801) + call void @fn_emith(ptr @.str3802) + call void @fn_emith(ptr @.str3803) + call void @fn_emith(ptr @.str3804) + call void @fn_emith(ptr @.str3805) + call void @fn_emith(ptr @.str3806) + call void @fn_emith(ptr @.str3807) + call void @fn_emith(ptr @.str3808) + call void @fn_emith(ptr @.str3809) + call void @fn_emith(ptr @.str3810) + call void @fn_emith(ptr @.str3811) + call void @fn_emith(ptr @.str3812) + call void @fn_emith(ptr @.str3813) + call void @fn_emith(ptr @.str3814) + call void @fn_emith(ptr @.str3815) + call void @fn_emith(ptr @.str3816) + call void @fn_emith(ptr @.str3817) + call void @fn_emith(ptr @.str3818) + call void @fn_emith(ptr @.str3819) + call void @fn_emith(ptr @.str3820) + call void @fn_emith(ptr @.str3821) + call void @fn_emith(ptr @.str3822) + call void @fn_emith(ptr @.str3823) + call void @fn_emith(ptr @.str3824) + call void @fn_emith(ptr @.str3825) + call void @fn_emith(ptr @.str3826) + call void @fn_emith(ptr @.str3827) call void @fn_emit_fs_normalize() br label %ret ret: @@ -40659,43 +46250,43 @@ ret: define void @fn_emit_fs_normalize() { entry: - call void @fn_emith(ptr @.str3638) - call void @fn_emith(ptr @.str3639) - call void @fn_emith(ptr @.str3640) - call void @fn_emith(ptr @.str3641) - call void @fn_emith(ptr @.str3642) - call void @fn_emith(ptr @.str3643) - call void @fn_emith(ptr @.str3644) - call void @fn_emith(ptr @.str3645) - call void @fn_emith(ptr @.str3646) - call void @fn_emith(ptr @.str3647) - call void @fn_emith(ptr @.str3648) - call void @fn_emith(ptr @.str3649) - call void @fn_emith(ptr @.str3650) - call void @fn_emith(ptr @.str3651) - call void @fn_emith(ptr @.str3652) - call void @fn_emith(ptr @.str3653) - call void @fn_emith(ptr @.str3654) - call void @fn_emith(ptr @.str3655) - call void @fn_emith(ptr @.str3656) - call void @fn_emith(ptr @.str3657) - call void @fn_emith(ptr @.str3658) - call void @fn_emith(ptr @.str3659) - call void @fn_emith(ptr @.str3660) - call void @fn_emith(ptr @.str3661) - call void @fn_emith(ptr @.str3662) - call void @fn_emith(ptr @.str3663) - call void @fn_emith(ptr @.str3664) - call void @fn_emith(ptr @.str3665) - call void @fn_emith(ptr @.str3666) - call void @fn_emith(ptr @.str3667) - call void @fn_emith(ptr @.str3668) - call void @fn_emith(ptr @.str3669) - call void @fn_emith(ptr @.str3670) - call void @fn_emith(ptr @.str3671) - call void @fn_emith(ptr @.str3672) - call void @fn_emith(ptr @.str3673) - call void @fn_emith(ptr @.str3674) + call void @fn_emith(ptr @.str3828) + call void @fn_emith(ptr @.str3829) + call void @fn_emith(ptr @.str3830) + call void @fn_emith(ptr @.str3831) + call void @fn_emith(ptr @.str3832) + call void @fn_emith(ptr @.str3833) + call void @fn_emith(ptr @.str3834) + call void @fn_emith(ptr @.str3835) + call void @fn_emith(ptr @.str3836) + call void @fn_emith(ptr @.str3837) + call void @fn_emith(ptr @.str3838) + call void @fn_emith(ptr @.str3839) + call void @fn_emith(ptr @.str3840) + call void @fn_emith(ptr @.str3841) + call void @fn_emith(ptr @.str3842) + call void @fn_emith(ptr @.str3843) + call void @fn_emith(ptr @.str3844) + call void @fn_emith(ptr @.str3845) + call void @fn_emith(ptr @.str3846) + call void @fn_emith(ptr @.str3847) + call void @fn_emith(ptr @.str3848) + call void @fn_emith(ptr @.str3849) + call void @fn_emith(ptr @.str3850) + call void @fn_emith(ptr @.str3851) + call void @fn_emith(ptr @.str3852) + call void @fn_emith(ptr @.str3853) + call void @fn_emith(ptr @.str3854) + call void @fn_emith(ptr @.str3855) + call void @fn_emith(ptr @.str3856) + call void @fn_emith(ptr @.str3857) + call void @fn_emith(ptr @.str3858) + call void @fn_emith(ptr @.str3859) + call void @fn_emith(ptr @.str3860) + call void @fn_emith(ptr @.str3861) + call void @fn_emith(ptr @.str3862) + call void @fn_emith(ptr @.str3863) + call void @fn_emith(ptr @.str3864) br label %ret ret: ret void @@ -40703,50 +46294,50 @@ ret: define void @fn_emit_fs_io() { entry: - call void @fn_emith(ptr @.str3675) - call void @fn_emith(ptr @.str3676) - call void @fn_emith(ptr @.str3677) - call void @fn_emith(ptr @.str3678) - call void @fn_emith(ptr @.str3679) - call void @fn_emith(ptr @.str3680) - call void @fn_emith(ptr @.str3681) - call void @fn_emith(ptr @.str3682) - call void @fn_emith(ptr @.str3683) - call void @fn_emith(ptr @.str3684) - call void @fn_emith(ptr @.str3685) - call void @fn_emith(ptr @.str3686) - call void @fn_emith(ptr @.str3687) - call void @fn_emith(ptr @.str3688) - call void @fn_emith(ptr @.str3689) - call void @fn_emith(ptr @.str3690) - call void @fn_emith(ptr @.str3691) - call void @fn_emith(ptr @.str3692) - call void @fn_emith(ptr @.str3693) - call void @fn_emith(ptr @.str3694) - call void @fn_emith(ptr @.str3695) - call void @fn_emith(ptr @.str3696) - call void @fn_emith(ptr @.str3697) - call void @fn_emith(ptr @.str3698) - call void @fn_emith(ptr @.str3699) - call void @fn_emith(ptr @.str3700) - call void @fn_emith(ptr @.str3701) - call void @fn_emith(ptr @.str3702) - call void @fn_emith(ptr @.str3703) - call void @fn_emith(ptr @.str3704) - call void @fn_emith(ptr @.str3705) - call void @fn_emith(ptr @.str3706) - call void @fn_emith(ptr @.str3707) - call void @fn_emith(ptr @.str3708) - call void @fn_emith(ptr @.str3709) - call void @fn_emith(ptr @.str3710) - call void @fn_emith(ptr @.str3711) - call void @fn_emith(ptr @.str3712) - call void @fn_emith(ptr @.str3713) - call void @fn_emith(ptr @.str3714) - call void @fn_emith(ptr @.str3715) - call void @fn_emith(ptr @.str3716) - call void @fn_emith(ptr @.str3717) - call void @fn_emith(ptr @.str3718) + call void @fn_emith(ptr @.str3865) + call void @fn_emith(ptr @.str3866) + call void @fn_emith(ptr @.str3867) + call void @fn_emith(ptr @.str3868) + call void @fn_emith(ptr @.str3869) + call void @fn_emith(ptr @.str3870) + call void @fn_emith(ptr @.str3871) + call void @fn_emith(ptr @.str3872) + call void @fn_emith(ptr @.str3873) + call void @fn_emith(ptr @.str3874) + call void @fn_emith(ptr @.str3875) + call void @fn_emith(ptr @.str3876) + call void @fn_emith(ptr @.str3877) + call void @fn_emith(ptr @.str3878) + call void @fn_emith(ptr @.str3879) + call void @fn_emith(ptr @.str3880) + call void @fn_emith(ptr @.str3881) + call void @fn_emith(ptr @.str3882) + call void @fn_emith(ptr @.str3883) + call void @fn_emith(ptr @.str3884) + call void @fn_emith(ptr @.str3885) + call void @fn_emith(ptr @.str3886) + call void @fn_emith(ptr @.str3887) + call void @fn_emith(ptr @.str3888) + call void @fn_emith(ptr @.str3889) + call void @fn_emith(ptr @.str3890) + call void @fn_emith(ptr @.str3891) + call void @fn_emith(ptr @.str3892) + call void @fn_emith(ptr @.str3893) + call void @fn_emith(ptr @.str3894) + call void @fn_emith(ptr @.str3895) + call void @fn_emith(ptr @.str3896) + call void @fn_emith(ptr @.str3897) + call void @fn_emith(ptr @.str3898) + call void @fn_emith(ptr @.str3899) + call void @fn_emith(ptr @.str3900) + call void @fn_emith(ptr @.str3901) + call void @fn_emith(ptr @.str3902) + call void @fn_emith(ptr @.str3903) + call void @fn_emith(ptr @.str3904) + call void @fn_emith(ptr @.str3905) + call void @fn_emith(ptr @.str3906) + call void @fn_emith(ptr @.str3907) + call void @fn_emith(ptr @.str3908) br label %ret ret: ret void @@ -40754,30 +46345,30 @@ ret: define void @fn_emit_fs_dir() { entry: - call void @fn_emith(ptr @.str3719) - call void @fn_emith(ptr @.str3720) - call void @fn_emith(ptr @.str3721) - call void @fn_emith(ptr @.str3722) - call void @fn_emith(ptr @.str3723) - call void @fn_emith(ptr @.str3724) - call void @fn_emith(ptr @.str3725) - call void @fn_emith(ptr @.str3726) - call void @fn_emith(ptr @.str3727) - call void @fn_emith(ptr @.str3728) - call void @fn_emith(ptr @.str3729) - call void @fn_emith(ptr @.str3730) - call void @fn_emith(ptr @.str3731) - call void @fn_emith(ptr @.str3732) - call void @fn_emith(ptr @.str3733) - call void @fn_emith(ptr @.str3734) - call void @fn_emith(ptr @.str3735) - call void @fn_emith(ptr @.str3736) - call void @fn_emith(ptr @.str3737) - call void @fn_emith(ptr @.str3738) - call void @fn_emith(ptr @.str3739) - call void @fn_emith(ptr @.str3740) - call void @fn_emith(ptr @.str3741) - call void @fn_emith(ptr @.str3742) + call void @fn_emith(ptr @.str3909) + call void @fn_emith(ptr @.str3910) + call void @fn_emith(ptr @.str3911) + call void @fn_emith(ptr @.str3912) + call void @fn_emith(ptr @.str3913) + call void @fn_emith(ptr @.str3914) + call void @fn_emith(ptr @.str3915) + call void @fn_emith(ptr @.str3916) + call void @fn_emith(ptr @.str3917) + call void @fn_emith(ptr @.str3918) + call void @fn_emith(ptr @.str3919) + call void @fn_emith(ptr @.str3920) + call void @fn_emith(ptr @.str3921) + call void @fn_emith(ptr @.str3922) + call void @fn_emith(ptr @.str3923) + call void @fn_emith(ptr @.str3924) + call void @fn_emith(ptr @.str3925) + call void @fn_emith(ptr @.str3926) + call void @fn_emith(ptr @.str3927) + call void @fn_emith(ptr @.str3928) + call void @fn_emith(ptr @.str3929) + call void @fn_emith(ptr @.str3930) + call void @fn_emith(ptr @.str3931) + call void @fn_emith(ptr @.str3932) br label %ret ret: ret void @@ -40836,7 +46427,7 @@ grow0: put1: %t30 = load ptr, ptr %t17 %t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18 - store ptr @.str3743, ptr %t31 + store ptr @.str3933, ptr %t31 %t32 = add i32 %t18, 1 store i32 %t32, ptr %t15 %t33 = load ptr, ptr %t13 @@ -40863,7 +46454,7 @@ grow2: put3: %t49 = load ptr, ptr %t36 %t50 = getelementptr inbounds ptr, ptr %t49, i32 %t37 - store ptr @.str3744, ptr %t50 + store ptr @.str3934, ptr %t50 %t51 = add i32 %t37, 1 store i32 %t51, ptr %t34 %t52 = load ptr, ptr %t6 @@ -40890,7 +46481,7 @@ grow4: put5: %t68 = load ptr, ptr %t55 %t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56 - store ptr @.str3745, ptr %t69 + store ptr @.str3935, ptr %t69 %t70 = add i32 %t56, 1 store i32 %t70, ptr %t53 %t71 = load ptr, ptr %t13 @@ -40917,7 +46508,7 @@ grow6: put7: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75 - store ptr @.str3746, ptr %t88 + store ptr @.str3936, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 %t90 = load ptr, ptr %t6 @@ -40944,7 +46535,7 @@ grow8: put9: %t106 = load ptr, ptr %t93 %t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94 - store ptr @.str3747, ptr %t107 + store ptr @.str3937, ptr %t107 %t108 = add i32 %t94, 1 store i32 %t108, ptr %t91 %t109 = load ptr, ptr %t13 @@ -40971,7 +46562,7 @@ grow10: put11: %t125 = load ptr, ptr %t112 %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113 - store ptr @.str3748, ptr %t126 + store ptr @.str3938, ptr %t126 %t127 = add i32 %t113, 1 store i32 %t127, ptr %t110 %t128 = load ptr, ptr %t6 @@ -40998,7 +46589,7 @@ grow12: put13: %t144 = load ptr, ptr %t131 %t145 = getelementptr inbounds ptr, ptr %t144, i32 %t132 - store ptr @.str3749, ptr %t145 + store ptr @.str3939, ptr %t145 %t146 = add i32 %t132, 1 store i32 %t146, ptr %t129 %t147 = load ptr, ptr %t13 @@ -41025,7 +46616,7 @@ grow14: put15: %t163 = load ptr, ptr %t150 %t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151 - store ptr @.str3750, ptr %t164 + store ptr @.str3940, ptr %t164 %t165 = add i32 %t151, 1 store i32 %t165, ptr %t148 %t166 = load ptr, ptr %t6 @@ -41052,7 +46643,7 @@ grow16: put17: %t182 = load ptr, ptr %t169 %t183 = getelementptr inbounds ptr, ptr %t182, i32 %t170 - store ptr @.str3751, ptr %t183 + store ptr @.str3941, ptr %t183 %t184 = add i32 %t170, 1 store i32 %t184, ptr %t167 %t185 = load ptr, ptr %t13 @@ -41079,7 +46670,7 @@ grow18: put19: %t201 = load ptr, ptr %t188 %t202 = getelementptr inbounds ptr, ptr %t201, i32 %t189 - store ptr @.str3752, ptr %t202 + store ptr @.str3942, ptr %t202 %t203 = add i32 %t189, 1 store i32 %t203, ptr %t186 %t204 = load ptr, ptr %t6 @@ -41106,7 +46697,7 @@ grow20: put21: %t220 = load ptr, ptr %t207 %t221 = getelementptr inbounds ptr, ptr %t220, i32 %t208 - store ptr @.str3753, ptr %t221 + store ptr @.str3943, ptr %t221 %t222 = add i32 %t208, 1 store i32 %t222, ptr %t205 %t223 = load ptr, ptr %t13 @@ -41133,7 +46724,7 @@ grow22: put23: %t239 = load ptr, ptr %t226 %t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227 - store ptr @.str3754, ptr %t240 + store ptr @.str3944, ptr %t240 %t241 = add i32 %t227, 1 store i32 %t241, ptr %t224 %t242 = load ptr, ptr %t6 @@ -41160,7 +46751,7 @@ grow24: put25: %t258 = load ptr, ptr %t245 %t259 = getelementptr inbounds ptr, ptr %t258, i32 %t246 - store ptr @.str3755, ptr %t259 + store ptr @.str3945, ptr %t259 %t260 = add i32 %t246, 1 store i32 %t260, ptr %t243 %t261 = load ptr, ptr %t13 @@ -41187,7 +46778,7 @@ grow26: put27: %t277 = load ptr, ptr %t264 %t278 = getelementptr inbounds ptr, ptr %t277, i32 %t265 - store ptr @.str3756, ptr %t278 + store ptr @.str3946, ptr %t278 %t279 = add i32 %t265, 1 store i32 %t279, ptr %t262 %t280 = load ptr, ptr %t6 @@ -41214,7 +46805,7 @@ grow28: put29: %t296 = load ptr, ptr %t283 %t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284 - store ptr @.str3757, ptr %t297 + store ptr @.str3947, ptr %t297 %t298 = add i32 %t284, 1 store i32 %t298, ptr %t281 %t299 = load ptr, ptr %t13 @@ -41241,7 +46832,7 @@ grow30: put31: %t315 = load ptr, ptr %t302 %t316 = getelementptr inbounds ptr, ptr %t315, i32 %t303 - store ptr @.str3758, ptr %t316 + store ptr @.str3948, ptr %t316 %t317 = add i32 %t303, 1 store i32 %t317, ptr %t300 %t318 = load ptr, ptr %t6 @@ -41268,7 +46859,7 @@ grow32: put33: %t334 = load ptr, ptr %t321 %t335 = getelementptr inbounds ptr, ptr %t334, i32 %t322 - store ptr @.str3759, ptr %t335 + store ptr @.str3949, ptr %t335 %t336 = add i32 %t322, 1 store i32 %t336, ptr %t319 %t337 = load ptr, ptr %t13 @@ -41295,7 +46886,7 @@ grow34: put35: %t353 = load ptr, ptr %t340 %t354 = getelementptr inbounds ptr, ptr %t353, i32 %t341 - store ptr @.str3760, ptr %t354 + store ptr @.str3950, ptr %t354 %t355 = add i32 %t341, 1 store i32 %t355, ptr %t338 %t356 = load ptr, ptr %t6 @@ -41322,7 +46913,7 @@ grow36: put37: %t372 = load ptr, ptr %t359 %t373 = getelementptr inbounds ptr, ptr %t372, i32 %t360 - store ptr @.str3761, ptr %t373 + store ptr @.str3951, ptr %t373 %t374 = add i32 %t360, 1 store i32 %t374, ptr %t357 %t375 = load ptr, ptr %t13 @@ -41349,7 +46940,7 @@ grow38: put39: %t391 = load ptr, ptr %t378 %t392 = getelementptr inbounds ptr, ptr %t391, i32 %t379 - store ptr @.str3762, ptr %t392 + store ptr @.str3952, ptr %t392 %t393 = add i32 %t379, 1 store i32 %t393, ptr %t376 %t394 = load ptr, ptr %t6 @@ -41376,7 +46967,7 @@ grow40: put41: %t410 = load ptr, ptr %t397 %t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398 - store ptr @.str3763, ptr %t411 + store ptr @.str3953, ptr %t411 %t412 = add i32 %t398, 1 store i32 %t412, ptr %t395 %t413 = load ptr, ptr %t13 @@ -41403,7 +46994,7 @@ grow42: put43: %t429 = load ptr, ptr %t416 %t430 = getelementptr inbounds ptr, ptr %t429, i32 %t417 - store ptr @.str3764, ptr %t430 + store ptr @.str3954, ptr %t430 %t431 = add i32 %t417, 1 store i32 %t431, ptr %t414 %t432 = load ptr, ptr %t6 @@ -41430,7 +47021,7 @@ grow44: put45: %t448 = load ptr, ptr %t435 %t449 = getelementptr inbounds ptr, ptr %t448, i32 %t436 - store ptr @.str3765, ptr %t449 + store ptr @.str3955, ptr %t449 %t450 = add i32 %t436, 1 store i32 %t450, ptr %t433 %t451 = load ptr, ptr %t13 @@ -41457,7 +47048,7 @@ grow46: put47: %t467 = load ptr, ptr %t454 %t468 = getelementptr inbounds ptr, ptr %t467, i32 %t455 - store ptr @.str3766, ptr %t468 + store ptr @.str3956, ptr %t468 %t469 = add i32 %t455, 1 store i32 %t469, ptr %t452 %t470 = load ptr, ptr %t6 @@ -41484,7 +47075,7 @@ grow48: put49: %t486 = load ptr, ptr %t473 %t487 = getelementptr inbounds ptr, ptr %t486, i32 %t474 - store ptr @.str3767, ptr %t487 + store ptr @.str3957, ptr %t487 %t488 = add i32 %t474, 1 store i32 %t488, ptr %t471 %t489 = load ptr, ptr %t13 @@ -41511,7 +47102,7 @@ grow50: put51: %t505 = load ptr, ptr %t492 %t506 = getelementptr inbounds ptr, ptr %t505, i32 %t493 - store ptr @.str3768, ptr %t506 + store ptr @.str3958, ptr %t506 %t507 = add i32 %t493, 1 store i32 %t507, ptr %t490 %t508 = load ptr, ptr %t6 @@ -41538,7 +47129,7 @@ grow52: put53: %t524 = load ptr, ptr %t511 %t525 = getelementptr inbounds ptr, ptr %t524, i32 %t512 - store ptr @.str3769, ptr %t525 + store ptr @.str3959, ptr %t525 %t526 = add i32 %t512, 1 store i32 %t526, ptr %t509 %t527 = load ptr, ptr %t13 @@ -41565,7 +47156,7 @@ grow54: put55: %t543 = load ptr, ptr %t530 %t544 = getelementptr inbounds ptr, ptr %t543, i32 %t531 - store ptr @.str3770, ptr %t544 + store ptr @.str3960, ptr %t544 %t545 = add i32 %t531, 1 store i32 %t545, ptr %t528 %t546 = load ptr, ptr %t6 @@ -41592,7 +47183,7 @@ grow56: put57: %t562 = load ptr, ptr %t549 %t563 = getelementptr inbounds ptr, ptr %t562, i32 %t550 - store ptr @.str3771, ptr %t563 + store ptr @.str3961, ptr %t563 %t564 = add i32 %t550, 1 store i32 %t564, ptr %t547 %t565 = load ptr, ptr %t13 @@ -41619,7 +47210,7 @@ grow58: put59: %t581 = load ptr, ptr %t568 %t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569 - store ptr @.str3772, ptr %t582 + store ptr @.str3962, ptr %t582 %t583 = add i32 %t569, 1 store i32 %t583, ptr %t566 %t584 = load ptr, ptr %t6 @@ -41646,7 +47237,7 @@ grow60: put61: %t600 = load ptr, ptr %t587 %t601 = getelementptr inbounds ptr, ptr %t600, i32 %t588 - store ptr @.str3773, ptr %t601 + store ptr @.str3963, ptr %t601 %t602 = add i32 %t588, 1 store i32 %t602, ptr %t585 %t603 = load ptr, ptr %t13 @@ -41673,7 +47264,7 @@ grow62: put63: %t619 = load ptr, ptr %t606 %t620 = getelementptr inbounds ptr, ptr %t619, i32 %t607 - store ptr @.str3774, ptr %t620 + store ptr @.str3964, ptr %t620 %t621 = add i32 %t607, 1 store i32 %t621, ptr %t604 %t622 = load ptr, ptr %t6 @@ -41700,7 +47291,7 @@ grow64: put65: %t638 = load ptr, ptr %t625 %t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626 - store ptr @.str3775, ptr %t639 + store ptr @.str3965, ptr %t639 %t640 = add i32 %t626, 1 store i32 %t640, ptr %t623 %t641 = load ptr, ptr %t13 @@ -41727,7 +47318,7 @@ grow66: put67: %t657 = load ptr, ptr %t644 %t658 = getelementptr inbounds ptr, ptr %t657, i32 %t645 - store ptr @.str3776, ptr %t658 + store ptr @.str3966, ptr %t658 %t659 = add i32 %t645, 1 store i32 %t659, ptr %t642 %t660 = load ptr, ptr %t6 @@ -41754,7 +47345,7 @@ grow68: put69: %t676 = load ptr, ptr %t663 %t677 = getelementptr inbounds ptr, ptr %t676, i32 %t664 - store ptr @.str3777, ptr %t677 + store ptr @.str3967, ptr %t677 %t678 = add i32 %t664, 1 store i32 %t678, ptr %t661 %t679 = load ptr, ptr %t13 @@ -41781,7 +47372,7 @@ grow70: put71: %t695 = load ptr, ptr %t682 %t696 = getelementptr inbounds ptr, ptr %t695, i32 %t683 - store ptr @.str3778, ptr %t696 + store ptr @.str3968, ptr %t696 %t697 = add i32 %t683, 1 store i32 %t697, ptr %t680 %t698 = load ptr, ptr %t6 @@ -41808,7 +47399,7 @@ grow72: put73: %t714 = load ptr, ptr %t701 %t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702 - store ptr @.str3779, ptr %t715 + store ptr @.str3969, ptr %t715 %t716 = add i32 %t702, 1 store i32 %t716, ptr %t699 %t717 = load ptr, ptr %t13 @@ -41835,7 +47426,7 @@ grow74: put75: %t733 = load ptr, ptr %t720 %t734 = getelementptr inbounds ptr, ptr %t733, i32 %t721 - store ptr @.str3780, ptr %t734 + store ptr @.str3970, ptr %t734 %t735 = add i32 %t721, 1 store i32 %t735, ptr %t718 %t736 = load ptr, ptr %t6 @@ -41862,7 +47453,7 @@ grow76: put77: %t752 = load ptr, ptr %t739 %t753 = getelementptr inbounds ptr, ptr %t752, i32 %t740 - store ptr @.str3781, ptr %t753 + store ptr @.str3971, ptr %t753 %t754 = add i32 %t740, 1 store i32 %t754, ptr %t737 %t755 = load ptr, ptr %t13 @@ -41889,7 +47480,7 @@ grow78: put79: %t771 = load ptr, ptr %t758 %t772 = getelementptr inbounds ptr, ptr %t771, i32 %t759 - store ptr @.str3782, ptr %t772 + store ptr @.str3972, ptr %t772 %t773 = add i32 %t759, 1 store i32 %t773, ptr %t756 %t774 = load ptr, ptr %t6 @@ -41916,7 +47507,7 @@ grow80: put81: %t790 = load ptr, ptr %t777 %t791 = getelementptr inbounds ptr, ptr %t790, i32 %t778 - store ptr @.str3783, ptr %t791 + store ptr @.str3973, ptr %t791 %t792 = add i32 %t778, 1 store i32 %t792, ptr %t775 %t793 = load ptr, ptr %t13 @@ -41943,7 +47534,7 @@ grow82: put83: %t809 = load ptr, ptr %t796 %t810 = getelementptr inbounds ptr, ptr %t809, i32 %t797 - store ptr @.str3784, ptr %t810 + store ptr @.str3974, ptr %t810 %t811 = add i32 %t797, 1 store i32 %t811, ptr %t794 %t812 = load ptr, ptr %t6 @@ -41970,7 +47561,7 @@ grow84: put85: %t828 = load ptr, ptr %t815 %t829 = getelementptr inbounds ptr, ptr %t828, i32 %t816 - store ptr @.str3785, ptr %t829 + store ptr @.str3975, ptr %t829 %t830 = add i32 %t816, 1 store i32 %t830, ptr %t813 %t831 = load ptr, ptr %t13 @@ -41997,7 +47588,7 @@ grow86: put87: %t847 = load ptr, ptr %t834 %t848 = getelementptr inbounds ptr, ptr %t847, i32 %t835 - store ptr @.str3786, ptr %t848 + store ptr @.str3976, ptr %t848 %t849 = add i32 %t835, 1 store i32 %t849, ptr %t832 %t850 = load ptr, ptr %t6 @@ -42024,7 +47615,7 @@ grow88: put89: %t866 = load ptr, ptr %t853 %t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854 - store ptr @.str3787, ptr %t867 + store ptr @.str3977, ptr %t867 %t868 = add i32 %t854, 1 store i32 %t868, ptr %t851 %t869 = load ptr, ptr %t13 @@ -42051,7 +47642,7 @@ grow90: put91: %t885 = load ptr, ptr %t872 %t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873 - store ptr @.str3788, ptr %t886 + store ptr @.str3978, ptr %t886 %t887 = add i32 %t873, 1 store i32 %t887, ptr %t870 %t888 = load ptr, ptr %t6 @@ -42078,7 +47669,7 @@ grow92: put93: %t904 = load ptr, ptr %t891 %t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892 - store ptr @.str3789, ptr %t905 + store ptr @.str3979, ptr %t905 %t906 = add i32 %t892, 1 store i32 %t906, ptr %t889 %t907 = load ptr, ptr %t13 @@ -42105,7 +47696,7 @@ grow94: put95: %t923 = load ptr, ptr %t910 %t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911 - store ptr @.str3790, ptr %t924 + store ptr @.str3980, ptr %t924 %t925 = add i32 %t911, 1 store i32 %t925, ptr %t908 %t926 = getelementptr %LSlice, ptr null, i32 1 @@ -42213,7 +47804,7 @@ put102: store i32 %t1001, ptr %t940 br label %wcond96 wend98: - %t1002 = call ptr @fn_emit_str_const(ptr @.str3791) + %t1002 = call ptr @fn_emit_str_const(ptr @.str3981) store ptr %t1002, ptr %t1003 %t1004 = load ptr, ptr %t6 %t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1 @@ -42221,8 +47812,8 @@ wend98: store i32 %t1006, ptr %t1007 %t1008 = load i32, ptr %t1007 %t1009 = call ptr @fn_itoa(i32 %t1008) - %t1010 = call ptr @fn_str_concat(ptr @.str3792, ptr %t1009) - %t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str3793) + %t1010 = call ptr @fn_str_concat(ptr @.str3982, ptr %t1009) + %t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str3983) call void @fn_emith(ptr %t1011) store i32 0, ptr %t940 br label %wcond103 @@ -42242,7 +47833,7 @@ wbody104: %t1022 = icmp ne i32 %t1021, 0 br i1 %t1022, label %then106, label %ifend108 then106: - call void @fn_emith(ptr @.str3794) + call void @fn_emith(ptr @.str3984) br label %ifend108 ifend108: %t1023 = load ptr, ptr %t932 @@ -42251,8 +47842,8 @@ ifend108: %t1026 = load i32, ptr %t940 %t1027 = getelementptr inbounds ptr, ptr %t1025, i32 %t1026 %t1028 = load ptr, ptr %t1027 - %t1029 = call ptr @fn_str_concat(ptr @.str3795, ptr %t1028) - %t1030 = call ptr @fn_str_concat(ptr %t1029, ptr @.str3796) + %t1029 = call ptr @fn_str_concat(ptr @.str3985, ptr %t1028) + %t1030 = call ptr @fn_str_concat(ptr %t1029, ptr @.str3986) %t1031 = load ptr, ptr %t939 %t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0 %t1033 = load ptr, ptr %t1032 @@ -42260,43 +47851,43 @@ ifend108: %t1035 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034 %t1036 = load ptr, ptr %t1035 %t1037 = call ptr @fn_str_concat(ptr %t1030, ptr %t1036) - %t1038 = call ptr @fn_str_concat(ptr %t1037, ptr @.str3797) + %t1038 = call ptr @fn_str_concat(ptr %t1037, ptr @.str3987) call void @fn_emith(ptr %t1038) %t1039 = load i32, ptr %t940 %t1040 = add i32 %t1039, 1 store i32 %t1040, ptr %t940 br label %wcond103 wend105: - call void @fn_emith(ptr @.str3798) - call void @fn_emith(ptr @.str3799) - call void @fn_emith(ptr @.str3800) + call void @fn_emith(ptr @.str3988) + call void @fn_emith(ptr @.str3989) + call void @fn_emith(ptr @.str3990) %t1041 = load i32, ptr %t1007 %t1042 = call ptr @fn_itoa(i32 %t1041) - %t1043 = call ptr @fn_str_concat(ptr @.str3801, ptr %t1042) - %t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str3802) + %t1043 = call ptr @fn_str_concat(ptr @.str3991, ptr %t1042) + %t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str3992) call void @fn_emith(ptr %t1044) %t1045 = load i32, ptr %t1007 %t1046 = call ptr @fn_itoa(i32 %t1045) - %t1047 = call ptr @fn_str_concat(ptr @.str3803, ptr %t1046) - %t1048 = call ptr @fn_str_concat(ptr %t1047, ptr @.str3804) + %t1047 = call ptr @fn_str_concat(ptr @.str3993, ptr %t1046) + %t1048 = call ptr @fn_str_concat(ptr %t1047, ptr @.str3994) call void @fn_emith(ptr %t1048) %t1049 = load i32, ptr %t1007 %t1050 = call ptr @fn_itoa(i32 %t1049) - %t1051 = call ptr @fn_str_concat(ptr @.str3805, ptr %t1050) - %t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str3806) + %t1051 = call ptr @fn_str_concat(ptr @.str3995, ptr %t1050) + %t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str3996) call void @fn_emith(ptr %t1052) - call void @fn_emith(ptr @.str3807) + call void @fn_emith(ptr @.str3997) %t1053 = load ptr, ptr %t1003 - %t1054 = call ptr @fn_str_concat(ptr @.str3808, ptr %t1053) - %t1055 = call ptr @fn_str_concat(ptr %t1054, ptr @.str3809) + %t1054 = call ptr @fn_str_concat(ptr @.str3998, ptr %t1053) + %t1055 = call ptr @fn_str_concat(ptr %t1054, ptr @.str3999) call void @fn_emith(ptr %t1055) - call void @fn_emith(ptr @.str3810) - call void @fn_emith(ptr @.str3811) - call void @fn_emith(ptr @.str3812) - call void @fn_emith(ptr @.str3813) - call void @fn_emith(ptr @.str3814) - call void @fn_emith(ptr @.str3815) - call void @fn_emith(ptr @.str3816) + call void @fn_emith(ptr @.str4000) + call void @fn_emith(ptr @.str4001) + call void @fn_emith(ptr @.str4002) + call void @fn_emith(ptr @.str4003) + call void @fn_emith(ptr @.str4004) + call void @fn_emith(ptr @.str4005) + call void @fn_emith(ptr @.str4006) call void @fn_emit_fs_sniff() br label %ret ret: @@ -42305,30 +47896,30 @@ ret: define void @fn_emit_fs_sniff() { entry: - call void @fn_emith(ptr @.str3817) - call void @fn_emith(ptr @.str3818) - call void @fn_emith(ptr @.str3819) - call void @fn_emith(ptr @.str3820) - call void @fn_emith(ptr @.str3821) - call void @fn_emith(ptr @.str3822) - call void @fn_emith(ptr @.str3823) - call void @fn_emith(ptr @.str3824) - call void @fn_emith(ptr @.str3825) - call void @fn_emith(ptr @.str3826) - call void @fn_emith(ptr @.str3827) - call void @fn_emith(ptr @.str3828) - call void @fn_emith(ptr @.str3829) - call void @fn_emith(ptr @.str3830) - call void @fn_emith(ptr @.str3831) - call void @fn_emith(ptr @.str3832) - call void @fn_emith(ptr @.str3833) - call void @fn_emith(ptr @.str3834) - call void @fn_emith(ptr @.str3835) - call void @fn_emith(ptr @.str3836) - call void @fn_emith(ptr @.str3837) - call void @fn_emith(ptr @.str3838) - call void @fn_emith(ptr @.str3839) - call void @fn_emith(ptr @.str3840) + call void @fn_emith(ptr @.str4007) + call void @fn_emith(ptr @.str4008) + call void @fn_emith(ptr @.str4009) + call void @fn_emith(ptr @.str4010) + call void @fn_emith(ptr @.str4011) + call void @fn_emith(ptr @.str4012) + call void @fn_emith(ptr @.str4013) + call void @fn_emith(ptr @.str4014) + call void @fn_emith(ptr @.str4015) + call void @fn_emith(ptr @.str4016) + call void @fn_emith(ptr @.str4017) + call void @fn_emith(ptr @.str4018) + call void @fn_emith(ptr @.str4019) + call void @fn_emith(ptr @.str4020) + call void @fn_emith(ptr @.str4021) + call void @fn_emith(ptr @.str4022) + call void @fn_emith(ptr @.str4023) + call void @fn_emith(ptr @.str4024) + call void @fn_emith(ptr @.str4025) + call void @fn_emith(ptr @.str4026) + call void @fn_emith(ptr @.str4027) + call void @fn_emith(ptr @.str4028) + call void @fn_emith(ptr @.str4029) + call void @fn_emith(ptr @.str4030) br label %ret ret: ret void @@ -42349,15 +47940,15 @@ entry: %t4 = call ptr @fn_slice_field(ptr %t3, i32 0) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 - %t7 = call ptr @fn_str_concat(ptr @.str3841, ptr %t6) + %t7 = call ptr @fn_str_concat(ptr @.str4031, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 - %t11 = call ptr @fn_str_concat(ptr @.str3842, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3843) + %t11 = call ptr @fn_str_concat(ptr @.str4032, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4033) %t13 = load ptr, ptr %t9 %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3844) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4034) %t16 = load ptr, ptr %t2 %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) @@ -42374,218 +47965,232 @@ entry: %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 - %t20 = alloca i32 - %t21 = alloca i32 - %t22 = alloca i32 - %t47 = alloca i32 - %t48 = alloca i32 - %t66 = alloca i32 - %t67 = alloca i32 - %t68 = alloca i32 - %t93 = alloca i32 - %t94 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + %t55 = alloca i32 + %t56 = alloca i32 + %t74 = alloca i32 + %t75 = alloca i32 + %t76 = alloca i32 + %t101 = alloca i32 + %t102 = alloca i32 store ptr %arg_meth, ptr %t0 - %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3845) - %t5 = icmp ne i32 %t4, 0 - %t6 = zext i1 %t5 to i32 - store i32 %t6, ptr %t2 - br i1 %t5, label %scend1, label %sc0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4035) + %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: - %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3846) - %t9 = icmp ne i32 %t8, 0 - %t10 = zext i1 %t9 to i32 - store i32 %t10, ptr %t2 + %t8 = load ptr, ptr %t0 + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str4036) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 br label %scend1 scend1: - %t11 = load i32, ptr %t2 - %t12 = icmp ne i32 %t11, 0 - %t13 = zext i1 %t12 to i32 - store i32 %t13, ptr %t1 - br i1 %t12, label %scend3, label %sc2 + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 sc2: - %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3847) - %t16 = icmp ne i32 %t15, 0 - %t17 = zext i1 %t16 to i32 - store i32 %t17, ptr %t1 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4037) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 br label %scend3 scend3: - %t18 = load i32, ptr %t1 - %t19 = icmp ne i32 %t18, 0 - br i1 %t19, label %then4, label %ifend6 -then4: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4038) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: store i32 1, ptr %retval br label %ret -ifend6: - %t23 = load ptr, ptr %t0 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str3848) - %t25 = icmp ne i32 %t24, 0 - %t26 = zext i1 %t25 to i32 - store i32 %t26, ptr %t22 - br i1 %t25, label %scend8, label %sc7 -sc7: - %t27 = load ptr, ptr %t0 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str3849) - %t29 = icmp ne i32 %t28, 0 - %t30 = zext i1 %t29 to i32 - store i32 %t30, ptr %t22 - br label %scend8 -scend8: - %t31 = load i32, ptr %t22 - %t32 = icmp ne i32 %t31, 0 - %t33 = zext i1 %t32 to i32 - store i32 %t33, ptr %t21 - br i1 %t32, label %scend10, label %sc9 +ifend8: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str4039) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend10, label %sc9 sc9: - %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3850) - %t36 = icmp ne i32 %t35, 0 - %t37 = zext i1 %t36 to i32 - store i32 %t37, ptr %t21 + %t35 = load ptr, ptr %t0 + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4040) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 br label %scend10 scend10: - %t38 = load i32, ptr %t21 - %t39 = icmp ne i32 %t38, 0 - %t40 = zext i1 %t39 to i32 - store i32 %t40, ptr %t20 - br i1 %t39, label %scend12, label %sc11 + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %scend12, label %sc11 sc11: - %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3851) - %t43 = icmp ne i32 %t42, 0 - %t44 = zext i1 %t43 to i32 - store i32 %t44, ptr %t20 + %t42 = load ptr, ptr %t0 + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str4041) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t29 br label %scend12 scend12: - %t45 = load i32, ptr %t20 - %t46 = icmp ne i32 %t45, 0 - br i1 %t46, label %then13, label %ifend15 -then13: - store i32 1, ptr %retval - br label %ret -ifend15: + %t46 = load i32, ptr %t29 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t28 + br i1 %t47, label %scend14, label %sc13 +sc13: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str3852) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str4042) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 - store i32 %t52, ptr %t48 - br i1 %t51, label %scend17, label %sc16 -sc16: - %t53 = load ptr, ptr %t0 - %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str3853) - %t55 = icmp ne i32 %t54, 0 - %t56 = zext i1 %t55 to i32 - store i32 %t56, ptr %t48 - br label %scend17 -scend17: - %t57 = load i32, ptr %t48 - %t58 = icmp ne i32 %t57, 0 - %t59 = zext i1 %t58 to i32 - store i32 %t59, ptr %t47 - br i1 %t58, label %scend19, label %sc18 + store i32 %t52, ptr %t28 + br label %scend14 +scend14: + %t53 = load i32, ptr %t28 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t57 = load ptr, ptr %t0 + %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str4043) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t56 + br i1 %t59, label %scend19, label %sc18 sc18: - %t60 = load ptr, ptr %t0 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str3854) - %t62 = icmp ne i32 %t61, 0 - %t63 = zext i1 %t62 to i32 - store i32 %t63, ptr %t47 + %t61 = load ptr, ptr %t0 + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str4044) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t56 br label %scend19 scend19: - %t64 = load i32, ptr %t47 - %t65 = icmp ne i32 %t64, 0 - br i1 %t65, label %then20, label %ifend22 -then20: + %t65 = load i32, ptr %t56 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t55 + br i1 %t66, label %scend21, label %sc20 +sc20: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str4045) + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t55 + br label %scend21 +scend21: + %t72 = load i32, ptr %t55 + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then22, label %ifend24 +then22: store i32 1, ptr %retval br label %ret -ifend22: - %t69 = load ptr, ptr %t0 - %t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str3855) - %t71 = icmp ne i32 %t70, 0 - %t72 = zext i1 %t71 to i32 - store i32 %t72, ptr %t68 - br i1 %t71, label %scend24, label %sc23 -sc23: - %t73 = load ptr, ptr %t0 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str3856) - %t75 = icmp ne i32 %t74, 0 - %t76 = zext i1 %t75 to i32 - store i32 %t76, ptr %t68 - br label %scend24 -scend24: - %t77 = load i32, ptr %t68 - %t78 = icmp ne i32 %t77, 0 - %t79 = zext i1 %t78 to i32 - store i32 %t79, ptr %t67 - br i1 %t78, label %scend26, label %sc25 +ifend24: + %t77 = load ptr, ptr %t0 + %t78 = call i32 @fn_str_eq(ptr %t77, ptr @.str4046) + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t76 + br i1 %t79, label %scend26, label %sc25 sc25: - %t80 = load ptr, ptr %t0 - %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str3857) - %t82 = icmp ne i32 %t81, 0 - %t83 = zext i1 %t82 to i32 - store i32 %t83, ptr %t67 + %t81 = load ptr, ptr %t0 + %t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str4047) + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t76 br label %scend26 scend26: - %t84 = load i32, ptr %t67 - %t85 = icmp ne i32 %t84, 0 - %t86 = zext i1 %t85 to i32 - store i32 %t86, ptr %t66 - br i1 %t85, label %scend28, label %sc27 + %t85 = load i32, ptr %t76 + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t75 + br i1 %t86, label %scend28, label %sc27 sc27: - %t87 = load ptr, ptr %t0 - %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str3858) - %t89 = icmp ne i32 %t88, 0 - %t90 = zext i1 %t89 to i32 - store i32 %t90, ptr %t66 + %t88 = load ptr, ptr %t0 + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str4048) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t75 br label %scend28 scend28: - %t91 = load i32, ptr %t66 - %t92 = icmp ne i32 %t91, 0 - br i1 %t92, label %then29, label %ifend31 -then29: - store i32 1, ptr %retval - br label %ret -ifend31: + %t92 = load i32, ptr %t75 + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t74 + br i1 %t93, label %scend30, label %sc29 +sc29: %t95 = load ptr, ptr %t0 - %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str3859) + %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str4049) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 - store i32 %t98, ptr %t94 - br i1 %t97, label %scend33, label %sc32 -sc32: - %t99 = load ptr, ptr %t0 - %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str3860) - %t101 = icmp ne i32 %t100, 0 - %t102 = zext i1 %t101 to i32 - store i32 %t102, ptr %t94 - br label %scend33 -scend33: - %t103 = load i32, ptr %t94 - %t104 = icmp ne i32 %t103, 0 - %t105 = zext i1 %t104 to i32 - store i32 %t105, ptr %t93 - br i1 %t104, label %scend35, label %sc34 -sc34: - %t106 = load ptr, ptr %t0 - %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str3861) - %t108 = icmp ne i32 %t107, 0 - %t109 = zext i1 %t108 to i32 - store i32 %t109, ptr %t93 - br label %scend35 -scend35: - %t110 = load i32, ptr %t93 - %t111 = icmp ne i32 %t110, 0 - br i1 %t111, label %then36, label %ifend38 -then36: + store i32 %t98, ptr %t74 + br label %scend30 +scend30: + %t99 = load i32, ptr %t74 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then31, label %ifend33 +then31: store i32 1, ptr %retval br label %ret -ifend38: +ifend33: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str4050) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t102 + br i1 %t105, label %scend35, label %sc34 +sc34: + %t107 = load ptr, ptr %t0 + %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str4051) + %t109 = icmp ne i32 %t108, 0 + %t110 = zext i1 %t109 to i32 + store i32 %t110, ptr %t102 + br label %scend35 +scend35: + %t111 = load i32, ptr %t102 + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t101 + br i1 %t112, label %scend37, label %sc36 +sc36: + %t114 = load ptr, ptr %t0 + %t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4052) + %t116 = icmp ne i32 %t115, 0 + %t117 = zext i1 %t116 to i32 + store i32 %t117, ptr %t101 + br label %scend37 +scend37: + %t118 = load i32, ptr %t101 + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %then38, label %ifend40 +then38: + store i32 1, ptr %retval + br label %ret +ifend40: store i32 0, ptr %retval br label %ret ret: - %t112 = load i32, ptr %retval - ret i32 %t112 + %t120 = load i32, ptr %retval + ret i32 %t120 } define void @fn_list_grow_if_full(ptr %arg_h, ptr %arg_elt) { @@ -42620,50 +48225,50 @@ entry: %t9 = call ptr @fn_slice_field(ptr %t8, i32 0) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t4 - %t12 = call ptr @fn_str_concat(ptr @.str3862, ptr %t11) + %t12 = call ptr @fn_str_concat(ptr @.str4053, ptr %t11) %t13 = call ptr @fn_emit_bind(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t7 - %t16 = call ptr @fn_str_concat(ptr @.str3863, ptr %t15) + %t16 = call ptr @fn_str_concat(ptr @.str4054, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t14 - %t20 = call ptr @fn_str_concat(ptr @.str3864, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str3865) + %t20 = call ptr @fn_str_concat(ptr @.str4055, ptr %t19) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4056) %t22 = load ptr, ptr %t18 %t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @fn_emit_bind(ptr %t23) store ptr %t24, ptr %t25 - %t26 = call ptr @fn_lbl(ptr @.str3866) + %t26 = call ptr @fn_lbl(ptr @.str4057) store ptr %t26, ptr %t27 - %t28 = call ptr @fn_lbl(ptr @.str3867) + %t28 = call ptr @fn_lbl(ptr @.str4058) store ptr %t28, ptr %t29 - call void @fn_emit(ptr @.str3868) + call void @fn_emit(ptr @.str4059) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str3869) + call void @fn_emit(ptr @.str4060) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str3870) + call void @fn_emit(ptr @.str4061) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str3871) + call void @fn_emit(ptr @.str4062) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str3872) + call void @fn_emit(ptr @.str4063) %t34 = load ptr, ptr %t18 - %t35 = call ptr @fn_str_concat(ptr @.str3873, ptr %t34) - %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3874) + %t35 = call ptr @fn_str_concat(ptr @.str4064, ptr %t34) + %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str4065) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t18 - %t40 = call ptr @fn_str_concat(ptr @.str3875, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str3876) + %t40 = call ptr @fn_str_concat(ptr @.str4066, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str4067) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 - %t45 = call ptr @fn_str_concat(ptr @.str3877, ptr %t44) - %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3878) + %t45 = call ptr @fn_str_concat(ptr @.str4068, ptr %t44) + %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4069) %t47 = load ptr, ptr %t38 %t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @fn_emit_bind(ptr %t48) @@ -42672,50 +48277,50 @@ entry: %t52 = call ptr @fn_emit_sizeof(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t50 - %t55 = call ptr @fn_str_concat(ptr @.str3879, ptr %t54) - %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3880) + %t55 = call ptr @fn_str_concat(ptr @.str4070, ptr %t54) + %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str4071) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 - %t60 = call ptr @fn_str_concat(ptr @.str3881, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3882) + %t60 = call ptr @fn_str_concat(ptr @.str4072, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str4073) %t62 = load ptr, ptr %t53 %t63 = call ptr @fn_str_concat(ptr %t61, ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t10 - %t67 = call ptr @fn_str_concat(ptr @.str3883, ptr %t66) + %t67 = call ptr @fn_str_concat(ptr @.str4074, ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 - %t71 = call ptr @fn_str_concat(ptr @.str3884, ptr %t70) - %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str3885) + %t71 = call ptr @fn_str_concat(ptr @.str4075, ptr %t70) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4076) %t73 = load ptr, ptr %t65 %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str3886) + %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4077) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 - call void @fn_emit(ptr @.str3887) + call void @fn_emit(ptr @.str4078) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str3888) + call void @fn_emit(ptr @.str4079) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str3889) - call void @fn_emit(ptr @.str3890) + call void @fn_emit(ptr @.str4080) + call void @fn_emit(ptr @.str4081) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str3891) + call void @fn_emit(ptr @.str4082) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str3892) - call void @fn_emit(ptr @.str3893) + call void @fn_emit(ptr @.str4083) + call void @fn_emit(ptr @.str4084) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str3894) + call void @fn_emit(ptr @.str4085) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str3895) + call void @fn_emit(ptr @.str4086) br label %ret ret: ret void @@ -42731,11 +48336,11 @@ entry: store ptr %arg_elt, ptr %t1 store ptr %arg_idx, ptr %t2 %t3 = load ptr, ptr %t1 - %t4 = call ptr @fn_str_concat(ptr @.str3896, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3897) + %t4 = call ptr @fn_str_concat(ptr @.str4087, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4088) %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str3898) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4089) %t9 = load ptr, ptr %t2 %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) @@ -42771,11 +48376,11 @@ entry: br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 - %t11 = call ptr @fn_str_concat(ptr @.str3899, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3900) + %t11 = call ptr @fn_str_concat(ptr @.str4090, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4091) %t13 = load ptr, ptr %t5 %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3901) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4092) %t16 = load ptr, ptr %t4 %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) @@ -42789,55 +48394,55 @@ ifend2: br i1 %t22, label %then3, label %ifend5 then3: %t23 = load ptr, ptr %t2 - %t24 = call ptr @fn_str_concat(ptr @.str3902, ptr %t23) - %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3903) + %t24 = call ptr @fn_str_concat(ptr @.str4093, ptr %t23) + %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str4094) %t26 = load ptr, ptr %t0 %t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3904) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str4095) %t29 = load ptr, ptr %t4 %t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29) - %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str3905) + %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str4096) %t32 = load ptr, ptr %t0 %t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32) - %t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str3906) + %t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str4097) %t35 = load ptr, ptr %t5 %t36 = call ptr @fn_str_concat(ptr %t34, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3907) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4098) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 - %t41 = call ptr @fn_str_concat(ptr @.str3908, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3909) + %t41 = call ptr @fn_str_concat(ptr @.str4099, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4100) %t43 = call ptr @fn_emit_bind(ptr %t42) store ptr %t43, ptr %retval br label %ret ifend5: %t44 = load ptr, ptr %t3 - %t45 = call ptr @fn_str_concat(ptr @.str3910, ptr %t44) - %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3911) + %t45 = call ptr @fn_str_concat(ptr @.str4101, ptr %t44) + %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4102) %t47 = load ptr, ptr %t2 %t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3912) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4103) %t50 = load ptr, ptr %t0 %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3913) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4104) %t53 = load ptr, ptr %t4 %t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str3914) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str4105) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t3 - %t59 = call ptr @fn_str_concat(ptr @.str3915, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3916) + %t59 = call ptr @fn_str_concat(ptr @.str4106, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4107) %t61 = load ptr, ptr %t2 %t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61) - %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str3917) + %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str4108) %t64 = load ptr, ptr %t0 %t65 = call ptr @fn_str_concat(ptr %t63, ptr %t64) - %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str3918) + %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str4109) %t67 = load ptr, ptr %t5 %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67) - %t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str3919) + %t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str4110) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load i32, ptr %t1 @@ -42847,11 +48452,11 @@ ifend5: br i1 %t75, label %then6, label %ifend8 then6: %t76 = load ptr, ptr %t3 - %t77 = call ptr @fn_str_concat(ptr @.str3920, ptr %t76) - %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3921) + %t77 = call ptr @fn_str_concat(ptr @.str4111, ptr %t76) + %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str4112) %t79 = load ptr, ptr %t57 %t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str3922) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str4113) %t82 = load ptr, ptr %t71 %t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) @@ -42859,11 +48464,11 @@ then6: br label %ret ifend8: %t85 = load ptr, ptr %t3 - %t86 = call ptr @fn_str_concat(ptr @.str3923, ptr %t85) - %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3924) + %t86 = call ptr @fn_str_concat(ptr @.str4114, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str4115) %t88 = load ptr, ptr %t57 %t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88) - %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str3925) + %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str4116) %t91 = load ptr, ptr %t71 %t92 = call ptr @fn_str_concat(ptr %t90, ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) @@ -42974,249 +48579,249 @@ entry: %t6 = call ptr @fn_slice_field(ptr %t5, i32 0) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @fn_str_concat(ptr @.str3926, ptr %t8) + %t9 = call ptr @fn_str_concat(ptr @.str4117, ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t0 %t13 = call ptr @fn_slice_field(ptr %t12, i32 1) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 - %t16 = call ptr @fn_str_concat(ptr @.str3927, ptr %t15) + %t16 = call ptr @fn_str_concat(ptr @.str4118, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t1 %t20 = call ptr @fn_emit_sizeof(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t18 - %t23 = call ptr @fn_str_concat(ptr @.str3928, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str3929) + %t23 = call ptr @fn_str_concat(ptr @.str4119, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str4120) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 - %t28 = call ptr @fn_str_concat(ptr @.str3930, ptr %t27) - %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str3931) + %t28 = call ptr @fn_str_concat(ptr @.str4121, ptr %t27) + %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str4122) %t30 = load ptr, ptr %t21 %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 - %t35 = call ptr @fn_str_concat(ptr @.str3932, ptr %t34) - %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3933) + %t35 = call ptr @fn_str_concat(ptr @.str4123, ptr %t34) + %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str4124) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 - %t39 = call ptr @fn_emit_alloca(ptr @.str3934) + %t39 = call ptr @fn_emit_alloca(ptr @.str4125) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 - call void @fn_store_at(ptr @.str3935, ptr @.str3936, ptr %t41) - %t42 = call ptr @fn_lbl(ptr @.str3937) + call void @fn_store_at(ptr @.str4126, ptr @.str4127, ptr %t41) + %t42 = call ptr @fn_lbl(ptr @.str4128) store ptr %t42, ptr %t43 - %t44 = call ptr @fn_lbl(ptr @.str3938) + %t44 = call ptr @fn_lbl(ptr @.str4129) store ptr %t44, ptr %t45 - %t46 = call ptr @fn_lbl(ptr @.str3939) + %t46 = call ptr @fn_lbl(ptr @.str4130) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str3940) + call void @fn_emit(ptr @.str4131) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str3941) + call void @fn_emit(ptr @.str4132) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str3942) + call void @fn_emit(ptr @.str4133) %t50 = load ptr, ptr %t40 - %t51 = call ptr @fn_str_concat(ptr @.str3943, ptr %t50) + %t51 = call ptr @fn_str_concat(ptr @.str4134, ptr %t50) %t52 = call ptr @fn_emit_bind(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 - %t55 = call ptr @fn_str_concat(ptr @.str3944, ptr %t54) - %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3945) + %t55 = call ptr @fn_str_concat(ptr @.str4135, ptr %t54) + %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str4136) %t57 = load ptr, ptr %t18 %t58 = call ptr @fn_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 - call void @fn_emit(ptr @.str3946) + call void @fn_emit(ptr @.str4137) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str3947) + call void @fn_emit(ptr @.str4138) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str3948) + call void @fn_emit(ptr @.str4139) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str3949) + call void @fn_emit(ptr @.str4140) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str3950) + call void @fn_emit(ptr @.str4141) %t65 = load ptr, ptr %t53 - %t66 = call ptr @fn_str_concat(ptr @.str3951, ptr %t65) - %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str3952) + %t66 = call ptr @fn_str_concat(ptr @.str4142, ptr %t65) + %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str4143) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 - %t70 = call ptr @fn_emit_alloca(ptr @.str3953) + %t70 = call ptr @fn_emit_alloca(ptr @.str4144) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 - call void @fn_store_at(ptr @.str3954, ptr @.str3955, ptr %t72) - %t73 = call ptr @fn_lbl(ptr @.str3956) + call void @fn_store_at(ptr @.str4145, ptr @.str4146, ptr %t72) + %t73 = call ptr @fn_lbl(ptr @.str4147) store ptr %t73, ptr %t74 - %t75 = call ptr @fn_lbl(ptr @.str3957) + %t75 = call ptr @fn_lbl(ptr @.str4148) store ptr %t75, ptr %t76 - %t77 = call ptr @fn_lbl(ptr @.str3958) + %t77 = call ptr @fn_lbl(ptr @.str4149) store ptr %t77, ptr %t78 - call void @fn_emit(ptr @.str3959) + call void @fn_emit(ptr @.str4150) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str3960) + call void @fn_emit(ptr @.str4151) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str3961) + call void @fn_emit(ptr @.str4152) %t81 = load ptr, ptr %t71 - %t82 = call ptr @fn_str_concat(ptr @.str3962, ptr %t81) + %t82 = call ptr @fn_str_concat(ptr @.str4153, ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 - %t86 = call ptr @fn_str_concat(ptr @.str3963, ptr %t85) - %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3964) + %t86 = call ptr @fn_str_concat(ptr @.str4154, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str4155) %t88 = load ptr, ptr %t18 %t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 - call void @fn_emit(ptr @.str3965) + call void @fn_emit(ptr @.str4156) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str3966) + call void @fn_emit(ptr @.str4157) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str3967) + call void @fn_emit(ptr @.str4158) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str3968) + call void @fn_emit(ptr @.str4159) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str3969) + call void @fn_emit(ptr @.str4160) %t96 = load ptr, ptr %t84 - %t97 = call ptr @fn_str_concat(ptr @.str3970, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str3971) + %t97 = call ptr @fn_str_concat(ptr @.str4161, ptr %t96) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str4162) %t99 = load ptr, ptr %t53 %t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @fn_emit_bind(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 - %t104 = call ptr @fn_str_concat(ptr @.str3972, ptr %t103) - %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str3973) + %t104 = call ptr @fn_str_concat(ptr @.str4163, ptr %t103) + %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4164) %t106 = load ptr, ptr %t18 %t107 = call ptr @fn_str_concat(ptr %t105, ptr %t106) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 - %t111 = call ptr @fn_str_concat(ptr @.str3974, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3975) + %t111 = call ptr @fn_str_concat(ptr @.str4165, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4166) %t113 = load ptr, ptr %t102 %t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113) - %t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str3976) + %t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str4167) %t116 = load ptr, ptr %t18 %t117 = call ptr @fn_str_concat(ptr %t115, ptr %t116) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t84 - %t121 = call ptr @fn_str_concat(ptr @.str3977, ptr %t120) - %t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str3978) + %t121 = call ptr @fn_str_concat(ptr @.str4168, ptr %t120) + %t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str4169) %t123 = load ptr, ptr %t69 %t124 = call ptr @fn_str_concat(ptr %t122, ptr %t123) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t126 - %t128 = call ptr @fn_str_concat(ptr @.str3979, ptr %t127) - %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3980) + %t128 = call ptr @fn_str_concat(ptr @.str4170, ptr %t127) + %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str4171) %t130 = load ptr, ptr %t18 %t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t133 - %t135 = call ptr @fn_str_concat(ptr @.str3981, ptr %t134) - %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str3982) + %t135 = call ptr @fn_str_concat(ptr @.str4172, ptr %t134) + %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str4173) %t137 = load ptr, ptr %t126 %t138 = call ptr @fn_str_concat(ptr %t136, ptr %t137) - %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3983) + %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str4174) %t140 = load ptr, ptr %t18 %t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 - %t144 = call ptr @fn_emit_alloca(ptr @.str3984) + %t144 = call ptr @fn_emit_alloca(ptr @.str4175) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 - call void @fn_store_at(ptr @.str3985, ptr %t146, ptr %t147) - %t148 = call ptr @fn_emit_alloca(ptr @.str3986) + call void @fn_store_at(ptr @.str4176, ptr %t146, ptr %t147) + %t148 = call ptr @fn_emit_alloca(ptr @.str4177) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 - call void @fn_store_at(ptr @.str3987, ptr %t150, ptr %t151) - %t152 = call ptr @fn_emit_alloca(ptr @.str3988) + call void @fn_store_at(ptr @.str4178, ptr %t150, ptr %t151) + %t152 = call ptr @fn_emit_alloca(ptr @.str4179) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 - call void @fn_store_at(ptr @.str3989, ptr %t154, ptr %t155) - %t156 = call ptr @fn_lbl(ptr @.str3990) + call void @fn_store_at(ptr @.str4180, ptr %t154, ptr %t155) + %t156 = call ptr @fn_lbl(ptr @.str4181) store ptr %t156, ptr %t157 - %t158 = call ptr @fn_lbl(ptr @.str3991) + %t158 = call ptr @fn_lbl(ptr @.str4182) store ptr %t158, ptr %t159 - %t160 = call ptr @fn_lbl(ptr @.str3992) + %t160 = call ptr @fn_lbl(ptr @.str4183) store ptr %t160, ptr %t161 - call void @fn_emit(ptr @.str3993) + call void @fn_emit(ptr @.str4184) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) - call void @fn_emit(ptr @.str3994) + call void @fn_emit(ptr @.str4185) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) - call void @fn_emit(ptr @.str3995) + call void @fn_emit(ptr @.str4186) %t164 = load ptr, ptr %t145 - %t165 = call ptr @fn_str_concat(ptr @.str3996, ptr %t164) + %t165 = call ptr @fn_str_concat(ptr @.str4187, ptr %t164) %t166 = call ptr @fn_emit_bind(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t149 - %t169 = call ptr @fn_str_concat(ptr @.str3997, ptr %t168) + %t169 = call ptr @fn_str_concat(ptr @.str4188, ptr %t168) %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t171 %t172 = load ptr, ptr %t167 - %t173 = call ptr @fn_str_concat(ptr @.str3998, ptr %t172) - %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str3999) + %t173 = call ptr @fn_str_concat(ptr @.str4189, ptr %t172) + %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str4190) %t175 = load ptr, ptr %t119 %t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t171 - %t180 = call ptr @fn_str_concat(ptr @.str4000, ptr %t179) - %t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str4001) + %t180 = call ptr @fn_str_concat(ptr @.str4191, ptr %t179) + %t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str4192) %t182 = load ptr, ptr %t143 %t183 = call ptr @fn_str_concat(ptr %t181, ptr %t182) %t184 = call ptr @fn_emit_bind(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t178 - %t187 = call ptr @fn_str_concat(ptr @.str4002, ptr %t186) - %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str4003) + %t187 = call ptr @fn_str_concat(ptr @.str4193, ptr %t186) + %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str4194) %t189 = load ptr, ptr %t185 %t190 = call ptr @fn_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @fn_emit_bind(ptr %t190) store ptr %t191, ptr %t192 - call void @fn_emit(ptr @.str4004) + call void @fn_emit(ptr @.str4195) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) - call void @fn_emit(ptr @.str4005) + call void @fn_emit(ptr @.str4196) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) - call void @fn_emit(ptr @.str4006) + call void @fn_emit(ptr @.str4197) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) - call void @fn_emit(ptr @.str4007) + call void @fn_emit(ptr @.str4198) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str4008) + call void @fn_emit(ptr @.str4199) %t197 = load ptr, ptr %t11 %t198 = load ptr, ptr %t1 %t199 = load ptr, ptr %t167 %t200 = call ptr @fn_gep_at(ptr %t197, ptr %t198, ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t1 - %t203 = call ptr @fn_str_concat(ptr @.str4009, ptr %t202) - %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str4010) + %t203 = call ptr @fn_str_concat(ptr @.str4200, ptr %t202) + %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str4201) %t205 = load ptr, ptr %t201 %t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205) %t207 = call ptr @fn_emit_bind(ptr %t206) @@ -43227,8 +48832,8 @@ entry: %t212 = call ptr @fn_gep_at(ptr %t209, ptr %t210, ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t1 - %t215 = call ptr @fn_str_concat(ptr @.str4011, ptr %t214) - %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str4012) + %t215 = call ptr @fn_str_concat(ptr @.str4202, ptr %t214) + %t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str4203) %t217 = load ptr, ptr %t213 %t218 = call ptr @fn_str_concat(ptr %t216, ptr %t217) %t219 = call ptr @fn_emit_bind(ptr %t218) @@ -43242,7 +48847,7 @@ entry: %t227 = call ptr @fn_emit_takeright(ptr %t221, i32 %t222, ptr %t223, ptr %t224, ptr %t225, ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t153 - %t230 = call ptr @fn_str_concat(ptr @.str4013, ptr %t229) + %t230 = call ptr @fn_str_concat(ptr @.str4204, ptr %t229) %t231 = call ptr @fn_emit_bind(ptr %t230) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t38 @@ -43250,141 +48855,141 @@ entry: %t235 = load ptr, ptr %t232 %t236 = call ptr @fn_gep_at(ptr %t233, ptr %t234, ptr %t235) store ptr %t236, ptr %t237 - %t238 = call ptr @fn_lbl(ptr @.str4014) + %t238 = call ptr @fn_lbl(ptr @.str4205) store ptr %t238, ptr %t239 - %t240 = call ptr @fn_lbl(ptr @.str4015) + %t240 = call ptr @fn_lbl(ptr @.str4206) store ptr %t240, ptr %t241 - %t242 = call ptr @fn_lbl(ptr @.str4016) + %t242 = call ptr @fn_lbl(ptr @.str4207) store ptr %t242, ptr %t243 - call void @fn_emit(ptr @.str4017) + call void @fn_emit(ptr @.str4208) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str4018) + call void @fn_emit(ptr @.str4209) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str4019) + call void @fn_emit(ptr @.str4210) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str4020) + call void @fn_emit(ptr @.str4211) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) - call void @fn_emit(ptr @.str4021) - call void @fn_emit(ptr @.str4022) + call void @fn_emit(ptr @.str4212) + call void @fn_emit(ptr @.str4213) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) - call void @fn_emit(ptr @.str4023) + call void @fn_emit(ptr @.str4214) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) - call void @fn_emit(ptr @.str4024) + call void @fn_emit(ptr @.str4215) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) - call void @fn_emit(ptr @.str4025) + call void @fn_emit(ptr @.str4216) %t251 = load ptr, ptr %t171 - %t252 = call ptr @fn_str_concat(ptr @.str4026, ptr %t251) - %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str4027) + %t252 = call ptr @fn_str_concat(ptr @.str4217, ptr %t251) + %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str4218) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = load ptr, ptr %t255 %t257 = load ptr, ptr %t149 - call void @fn_store_at(ptr @.str4028, ptr %t256, ptr %t257) - call void @fn_emit(ptr @.str4029) + call void @fn_store_at(ptr @.str4219, ptr %t256, ptr %t257) + call void @fn_emit(ptr @.str4220) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) - call void @fn_emit(ptr @.str4030) + call void @fn_emit(ptr @.str4221) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) - call void @fn_emit(ptr @.str4031) - call void @fn_emit(ptr @.str4032) + call void @fn_emit(ptr @.str4222) + call void @fn_emit(ptr @.str4223) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) - call void @fn_emit(ptr @.str4033) + call void @fn_emit(ptr @.str4224) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) - call void @fn_emit(ptr @.str4034) + call void @fn_emit(ptr @.str4225) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) - call void @fn_emit(ptr @.str4035) + call void @fn_emit(ptr @.str4226) %t263 = load ptr, ptr %t167 - %t264 = call ptr @fn_str_concat(ptr @.str4036, ptr %t263) - %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str4037) + %t264 = call ptr @fn_str_concat(ptr @.str4227, ptr %t263) + %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str4228) %t266 = call ptr @fn_emit_bind(ptr %t265) store ptr %t266, ptr %t267 %t268 = load ptr, ptr %t267 %t269 = load ptr, ptr %t145 - call void @fn_store_at(ptr @.str4038, ptr %t268, ptr %t269) - call void @fn_emit(ptr @.str4039) + call void @fn_store_at(ptr @.str4229, ptr %t268, ptr %t269) + call void @fn_emit(ptr @.str4230) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) - call void @fn_emit(ptr @.str4040) + call void @fn_emit(ptr @.str4231) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) - call void @fn_emit(ptr @.str4041) + call void @fn_emit(ptr @.str4232) %t272 = load ptr, ptr %t232 - %t273 = call ptr @fn_str_concat(ptr @.str4042, ptr %t272) - %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str4043) + %t273 = call ptr @fn_str_concat(ptr @.str4233, ptr %t272) + %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str4234) %t275 = call ptr @fn_emit_bind(ptr %t274) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t276 %t278 = load ptr, ptr %t153 - call void @fn_store_at(ptr @.str4044, ptr %t277, ptr %t278) - call void @fn_emit(ptr @.str4045) + call void @fn_store_at(ptr @.str4235, ptr %t277, ptr %t278) + call void @fn_emit(ptr @.str4236) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) - call void @fn_emit(ptr @.str4046) + call void @fn_emit(ptr @.str4237) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) - call void @fn_emit(ptr @.str4047) - %t281 = call ptr @fn_lbl(ptr @.str4048) + call void @fn_emit(ptr @.str4238) + %t281 = call ptr @fn_lbl(ptr @.str4239) store ptr %t281, ptr %t282 - %t283 = call ptr @fn_lbl(ptr @.str4049) + %t283 = call ptr @fn_lbl(ptr @.str4240) store ptr %t283, ptr %t284 - %t285 = call ptr @fn_lbl(ptr @.str4050) + %t285 = call ptr @fn_lbl(ptr @.str4241) store ptr %t285, ptr %t286 - call void @fn_emit(ptr @.str4051) + call void @fn_emit(ptr @.str4242) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str4052) + call void @fn_emit(ptr @.str4243) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) - call void @fn_emit(ptr @.str4053) + call void @fn_emit(ptr @.str4244) %t289 = load ptr, ptr %t145 - %t290 = call ptr @fn_str_concat(ptr @.str4054, ptr %t289) + %t290 = call ptr @fn_str_concat(ptr @.str4245, ptr %t289) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t292 - %t294 = call ptr @fn_str_concat(ptr @.str4055, ptr %t293) - %t295 = call ptr @fn_str_concat(ptr %t294, ptr @.str4056) + %t294 = call ptr @fn_str_concat(ptr @.str4246, ptr %t293) + %t295 = call ptr @fn_str_concat(ptr %t294, ptr @.str4247) %t296 = load ptr, ptr %t119 %t297 = call ptr @fn_str_concat(ptr %t295, ptr %t296) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 - call void @fn_emit(ptr @.str4057) + call void @fn_emit(ptr @.str4248) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) - call void @fn_emit(ptr @.str4058) + call void @fn_emit(ptr @.str4249) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) - call void @fn_emit(ptr @.str4059) + call void @fn_emit(ptr @.str4250) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) - call void @fn_emit(ptr @.str4060) + call void @fn_emit(ptr @.str4251) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) - call void @fn_emit(ptr @.str4061) + call void @fn_emit(ptr @.str4252) %t304 = load ptr, ptr %t11 %t305 = load ptr, ptr %t1 %t306 = load ptr, ptr %t292 %t307 = call ptr @fn_gep_at(ptr %t304, ptr %t305, ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t1 - %t310 = call ptr @fn_str_concat(ptr @.str4062, ptr %t309) - %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str4063) + %t310 = call ptr @fn_str_concat(ptr @.str4253, ptr %t309) + %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str4254) %t312 = load ptr, ptr %t308 %t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312) %t314 = call ptr @fn_emit_bind(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t153 - %t317 = call ptr @fn_str_concat(ptr @.str4064, ptr %t316) + %t317 = call ptr @fn_str_concat(ptr @.str4255, ptr %t316) %t318 = call ptr @fn_emit_bind(ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t38 @@ -43392,90 +48997,90 @@ entry: %t322 = load ptr, ptr %t319 %t323 = call ptr @fn_gep_at(ptr %t320, ptr %t321, ptr %t322) store ptr %t323, ptr %t324 - call void @fn_emit(ptr @.str4065) + call void @fn_emit(ptr @.str4256) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) - call void @fn_emit(ptr @.str4066) + call void @fn_emit(ptr @.str4257) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) - call void @fn_emit(ptr @.str4067) + call void @fn_emit(ptr @.str4258) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) - call void @fn_emit(ptr @.str4068) + call void @fn_emit(ptr @.str4259) %t328 = load ptr, ptr %t292 - %t329 = call ptr @fn_str_concat(ptr @.str4069, ptr %t328) - %t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str4070) + %t329 = call ptr @fn_str_concat(ptr @.str4260, ptr %t328) + %t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str4261) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t332 %t334 = load ptr, ptr %t145 - call void @fn_store_at(ptr @.str4071, ptr %t333, ptr %t334) + call void @fn_store_at(ptr @.str4262, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 - %t336 = call ptr @fn_str_concat(ptr @.str4072, ptr %t335) - %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str4073) + %t336 = call ptr @fn_str_concat(ptr @.str4263, ptr %t335) + %t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str4264) %t338 = call ptr @fn_emit_bind(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 %t341 = load ptr, ptr %t153 - call void @fn_store_at(ptr @.str4074, ptr %t340, ptr %t341) - call void @fn_emit(ptr @.str4075) + call void @fn_store_at(ptr @.str4265, ptr %t340, ptr %t341) + call void @fn_emit(ptr @.str4266) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) - call void @fn_emit(ptr @.str4076) + call void @fn_emit(ptr @.str4267) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) - call void @fn_emit(ptr @.str4077) - %t344 = call ptr @fn_lbl(ptr @.str4078) + call void @fn_emit(ptr @.str4268) + %t344 = call ptr @fn_lbl(ptr @.str4269) store ptr %t344, ptr %t345 - %t346 = call ptr @fn_lbl(ptr @.str4079) + %t346 = call ptr @fn_lbl(ptr @.str4270) store ptr %t346, ptr %t347 - %t348 = call ptr @fn_lbl(ptr @.str4080) + %t348 = call ptr @fn_lbl(ptr @.str4271) store ptr %t348, ptr %t349 - call void @fn_emit(ptr @.str4081) + call void @fn_emit(ptr @.str4272) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) - call void @fn_emit(ptr @.str4082) + call void @fn_emit(ptr @.str4273) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) - call void @fn_emit(ptr @.str4083) + call void @fn_emit(ptr @.str4274) %t352 = load ptr, ptr %t149 - %t353 = call ptr @fn_str_concat(ptr @.str4084, ptr %t352) + %t353 = call ptr @fn_str_concat(ptr @.str4275, ptr %t352) %t354 = call ptr @fn_emit_bind(ptr %t353) store ptr %t354, ptr %t355 %t356 = load ptr, ptr %t355 - %t357 = call ptr @fn_str_concat(ptr @.str4085, ptr %t356) - %t358 = call ptr @fn_str_concat(ptr %t357, ptr @.str4086) + %t357 = call ptr @fn_str_concat(ptr @.str4276, ptr %t356) + %t358 = call ptr @fn_str_concat(ptr %t357, ptr @.str4277) %t359 = load ptr, ptr %t143 %t360 = call ptr @fn_str_concat(ptr %t358, ptr %t359) %t361 = call ptr @fn_emit_bind(ptr %t360) store ptr %t361, ptr %t362 - call void @fn_emit(ptr @.str4087) + call void @fn_emit(ptr @.str4278) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) - call void @fn_emit(ptr @.str4088) + call void @fn_emit(ptr @.str4279) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) - call void @fn_emit(ptr @.str4089) + call void @fn_emit(ptr @.str4280) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) - call void @fn_emit(ptr @.str4090) + call void @fn_emit(ptr @.str4281) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) - call void @fn_emit(ptr @.str4091) + call void @fn_emit(ptr @.str4282) %t367 = load ptr, ptr %t11 %t368 = load ptr, ptr %t1 %t369 = load ptr, ptr %t355 %t370 = call ptr @fn_gep_at(ptr %t367, ptr %t368, ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t1 - %t373 = call ptr @fn_str_concat(ptr @.str4092, ptr %t372) - %t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4093) + %t373 = call ptr @fn_str_concat(ptr @.str4283, ptr %t372) + %t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4284) %t375 = load ptr, ptr %t371 %t376 = call ptr @fn_str_concat(ptr %t374, ptr %t375) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t153 - %t380 = call ptr @fn_str_concat(ptr @.str4094, ptr %t379) + %t380 = call ptr @fn_str_concat(ptr @.str4285, ptr %t379) %t381 = call ptr @fn_emit_bind(ptr %t380) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t38 @@ -43483,89 +49088,89 @@ entry: %t385 = load ptr, ptr %t382 %t386 = call ptr @fn_gep_at(ptr %t383, ptr %t384, ptr %t385) store ptr %t386, ptr %t387 - call void @fn_emit(ptr @.str4095) + call void @fn_emit(ptr @.str4286) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) - call void @fn_emit(ptr @.str4096) + call void @fn_emit(ptr @.str4287) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) - call void @fn_emit(ptr @.str4097) + call void @fn_emit(ptr @.str4288) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) - call void @fn_emit(ptr @.str4098) + call void @fn_emit(ptr @.str4289) %t391 = load ptr, ptr %t355 - %t392 = call ptr @fn_str_concat(ptr @.str4099, ptr %t391) - %t393 = call ptr @fn_str_concat(ptr %t392, ptr @.str4100) + %t392 = call ptr @fn_str_concat(ptr @.str4290, ptr %t391) + %t393 = call ptr @fn_str_concat(ptr %t392, ptr @.str4291) %t394 = call ptr @fn_emit_bind(ptr %t393) store ptr %t394, ptr %t395 %t396 = load ptr, ptr %t395 %t397 = load ptr, ptr %t149 - call void @fn_store_at(ptr @.str4101, ptr %t396, ptr %t397) + call void @fn_store_at(ptr @.str4292, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 - %t399 = call ptr @fn_str_concat(ptr @.str4102, ptr %t398) - %t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str4103) + %t399 = call ptr @fn_str_concat(ptr @.str4293, ptr %t398) + %t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str4294) %t401 = call ptr @fn_emit_bind(ptr %t400) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t402 %t404 = load ptr, ptr %t153 - call void @fn_store_at(ptr @.str4104, ptr %t403, ptr %t404) - call void @fn_emit(ptr @.str4105) + call void @fn_store_at(ptr @.str4295, ptr %t403, ptr %t404) + call void @fn_emit(ptr @.str4296) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) - call void @fn_emit(ptr @.str4106) + call void @fn_emit(ptr @.str4297) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) - call void @fn_emit(ptr @.str4107) - %t407 = call ptr @fn_emit_alloca(ptr @.str4108) + call void @fn_emit(ptr @.str4298) + %t407 = call ptr @fn_emit_alloca(ptr @.str4299) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 - call void @fn_store_at(ptr @.str4109, ptr %t409, ptr %t410) - %t411 = call ptr @fn_lbl(ptr @.str4110) + call void @fn_store_at(ptr @.str4300, ptr %t409, ptr %t410) + %t411 = call ptr @fn_lbl(ptr @.str4301) store ptr %t411, ptr %t412 - %t413 = call ptr @fn_lbl(ptr @.str4111) + %t413 = call ptr @fn_lbl(ptr @.str4302) store ptr %t413, ptr %t414 - %t415 = call ptr @fn_lbl(ptr @.str4112) + %t415 = call ptr @fn_lbl(ptr @.str4303) store ptr %t415, ptr %t416 - call void @fn_emit(ptr @.str4113) + call void @fn_emit(ptr @.str4304) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str4114) + call void @fn_emit(ptr @.str4305) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) - call void @fn_emit(ptr @.str4115) + call void @fn_emit(ptr @.str4306) %t419 = load ptr, ptr %t408 - %t420 = call ptr @fn_str_concat(ptr @.str4116, ptr %t419) + %t420 = call ptr @fn_str_concat(ptr @.str4307, ptr %t419) %t421 = call ptr @fn_emit_bind(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t422 - %t424 = call ptr @fn_str_concat(ptr @.str4117, ptr %t423) - %t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str4118) + %t424 = call ptr @fn_str_concat(ptr @.str4308, ptr %t423) + %t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str4309) %t426 = load ptr, ptr %t143 %t427 = call ptr @fn_str_concat(ptr %t425, ptr %t426) %t428 = call ptr @fn_emit_bind(ptr %t427) store ptr %t428, ptr %t429 - call void @fn_emit(ptr @.str4119) + call void @fn_emit(ptr @.str4310) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) - call void @fn_emit(ptr @.str4120) + call void @fn_emit(ptr @.str4311) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) - call void @fn_emit(ptr @.str4121) + call void @fn_emit(ptr @.str4312) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) - call void @fn_emit(ptr @.str4122) + call void @fn_emit(ptr @.str4313) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) - call void @fn_emit(ptr @.str4123) + call void @fn_emit(ptr @.str4314) %t434 = load ptr, ptr %t38 %t435 = load ptr, ptr %t1 %t436 = load ptr, ptr %t422 %t437 = call ptr @fn_gep_at(ptr %t434, ptr %t435, ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t1 - %t440 = call ptr @fn_str_concat(ptr @.str4124, ptr %t439) - %t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str4125) + %t440 = call ptr @fn_str_concat(ptr @.str4315, ptr %t439) + %t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str4316) %t442 = load ptr, ptr %t438 %t443 = call ptr @fn_str_concat(ptr %t441, ptr %t442) %t444 = call ptr @fn_emit_bind(ptr %t443) @@ -43575,62 +49180,62 @@ entry: %t448 = load ptr, ptr %t422 %t449 = call ptr @fn_gep_at(ptr %t446, ptr %t447, ptr %t448) store ptr %t449, ptr %t450 - call void @fn_emit(ptr @.str4126) + call void @fn_emit(ptr @.str4317) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) - call void @fn_emit(ptr @.str4127) + call void @fn_emit(ptr @.str4318) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) - call void @fn_emit(ptr @.str4128) + call void @fn_emit(ptr @.str4319) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) - call void @fn_emit(ptr @.str4129) + call void @fn_emit(ptr @.str4320) %t454 = load ptr, ptr %t422 - %t455 = call ptr @fn_str_concat(ptr @.str4130, ptr %t454) - %t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str4131) + %t455 = call ptr @fn_str_concat(ptr @.str4321, ptr %t454) + %t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str4322) %t457 = call ptr @fn_emit_bind(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t458 %t460 = load ptr, ptr %t408 - call void @fn_store_at(ptr @.str4132, ptr %t459, ptr %t460) - call void @fn_emit(ptr @.str4133) + call void @fn_store_at(ptr @.str4323, ptr %t459, ptr %t460) + call void @fn_emit(ptr @.str4324) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) - call void @fn_emit(ptr @.str4134) + call void @fn_emit(ptr @.str4325) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) - call void @fn_emit(ptr @.str4135) + call void @fn_emit(ptr @.str4326) %t463 = load ptr, ptr %t84 - %t464 = call ptr @fn_str_concat(ptr @.str4136, ptr %t463) - %t465 = call ptr @fn_str_concat(ptr %t464, ptr @.str4137) + %t464 = call ptr @fn_str_concat(ptr @.str4327, ptr %t463) + %t465 = call ptr @fn_str_concat(ptr %t464, ptr @.str4328) %t466 = load ptr, ptr %t69 %t467 = call ptr @fn_str_concat(ptr %t465, ptr %t466) %t468 = call ptr @fn_emit_bind(ptr %t467) store ptr %t468, ptr %t469 %t470 = load ptr, ptr %t469 %t471 = load ptr, ptr %t71 - call void @fn_store_at(ptr @.str4138, ptr %t470, ptr %t471) - call void @fn_emit(ptr @.str4139) + call void @fn_store_at(ptr @.str4329, ptr %t470, ptr %t471) + call void @fn_emit(ptr @.str4330) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) - call void @fn_emit(ptr @.str4140) + call void @fn_emit(ptr @.str4331) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) - call void @fn_emit(ptr @.str4141) + call void @fn_emit(ptr @.str4332) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 - call void @fn_store_at(ptr @.str4142, ptr %t474, ptr %t475) - call void @fn_emit(ptr @.str4143) + call void @fn_store_at(ptr @.str4333, ptr %t474, ptr %t475) + call void @fn_emit(ptr @.str4334) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) - call void @fn_emit(ptr @.str4144) + call void @fn_emit(ptr @.str4335) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) - call void @fn_emit(ptr @.str4145) - call void @fn_emit(ptr @.str4146) + call void @fn_emit(ptr @.str4336) + call void @fn_emit(ptr @.str4337) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) - call void @fn_emit(ptr @.str4147) + call void @fn_emit(ptr @.str4338) br label %ret ret: ret void @@ -43655,8 +49260,8 @@ entry: br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 - %t11 = call ptr @fn_str_concat(ptr @.str4148, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4149) + %t11 = call ptr @fn_str_concat(ptr @.str4339, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4340) call void @fn_perr(ptr %t12) br label %ifend2 ifend2: @@ -43675,8 +49280,8 @@ ifend2: br i1 %t24, label %then3, label %ifend5 then3: %t25 = load ptr, ptr %t0 - %t26 = call ptr @fn_str_concat(ptr @.str4150, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4151) + %t26 = call ptr @fn_str_concat(ptr @.str4341, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4342) call void @fn_perr(ptr %t27) br label %ifend5 ifend5: @@ -43698,11 +49303,11 @@ ifend5: br i1 %t42, label %then6, label %ifend8 then6: %t43 = load ptr, ptr %t0 - %t44 = call ptr @fn_str_concat(ptr @.str4152, ptr %t43) - %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4153) + %t44 = call ptr @fn_str_concat(ptr @.str4343, ptr %t43) + %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4344) %t46 = load ptr, ptr %t37 %t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4154) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4345) call void @fn_perr(ptr %t48) br label %ifend8 ifend8: @@ -43719,163 +49324,165 @@ entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr - %t20 = alloca ptr - %t35 = alloca ptr - %t38 = alloca ptr - %t42 = alloca ptr - %t45 = alloca ptr + %t23 = alloca ptr + %t32 = alloca ptr %t57 = alloca ptr %t72 = alloca ptr - %t77 = alloca ptr + %t75 = alloca ptr + %t79 = alloca ptr %t82 = alloca ptr - %t97 = alloca ptr - %t102 = alloca ptr - %t107 = alloca ptr + %t94 = alloca ptr + %t109 = alloca ptr %t114 = alloca ptr - %t131 = alloca ptr - %t140 = alloca ptr - %t147 = alloca ptr - %t154 = alloca ptr - %t161 = alloca ptr + %t119 = alloca ptr + %t134 = alloca ptr + %t139 = alloca ptr + %t144 = alloca ptr + %t151 = alloca ptr %t168 = alloca ptr - %t176 = alloca i32 - %t195 = alloca ptr - %t199 = alloca ptr - %t201 = alloca ptr - %t204 = alloca ptr - %t207 = alloca ptr - %t209 = alloca ptr - %t211 = alloca ptr - %t213 = alloca ptr - %t215 = alloca ptr - %t221 = alloca ptr - %t228 = alloca ptr - %t237 = alloca ptr + %t177 = alloca ptr + %t184 = alloca ptr + %t191 = alloca ptr + %t198 = alloca ptr + %t205 = alloca ptr + %t213 = alloca i32 + %t232 = alloca ptr + %t236 = alloca ptr + %t238 = alloca ptr + %t241 = alloca ptr %t244 = alloca ptr - %t256 = alloca ptr - %t269 = alloca ptr - %t277 = alloca ptr - %t287 = alloca ptr - %t304 = alloca ptr - %t313 = alloca ptr - %t319 = alloca ptr - %t321 = alloca ptr - %t325 = alloca ptr - %t327 = alloca ptr - %t329 = alloca ptr - %t335 = alloca ptr - %t344 = alloca ptr - %t353 = alloca ptr + %t246 = alloca ptr + %t248 = alloca ptr + %t250 = alloca ptr + %t252 = alloca ptr + %t258 = alloca ptr + %t265 = alloca ptr + %t274 = alloca ptr + %t281 = alloca ptr + %t293 = alloca ptr + %t306 = alloca ptr + %t314 = alloca ptr + %t324 = alloca ptr + %t341 = alloca ptr + %t350 = alloca ptr + %t356 = alloca ptr %t358 = alloca ptr - %t365 = alloca ptr - %t370 = alloca ptr - %t384 = alloca ptr - %t394 = alloca ptr - %t409 = alloca ptr - %t413 = alloca ptr - %t418 = alloca ptr - %t420 = alloca ptr - %t426 = alloca ptr - %t428 = alloca ptr - %t430 = alloca ptr - %t436 = alloca ptr - %t443 = alloca ptr - %t452 = alloca ptr + %t362 = alloca ptr + %t364 = alloca ptr + %t366 = alloca ptr + %t372 = alloca ptr + %t381 = alloca ptr + %t390 = alloca ptr + %t395 = alloca ptr + %t402 = alloca ptr + %t407 = alloca ptr + %t421 = alloca ptr + %t431 = alloca ptr + %t446 = alloca ptr + %t450 = alloca ptr + %t455 = alloca ptr %t457 = alloca ptr - %t464 = alloca ptr - %t469 = alloca ptr - %t491 = alloca ptr - %t495 = alloca ptr - %t497 = alloca ptr - %t500 = alloca ptr - %t503 = alloca ptr - %t505 = alloca ptr - %t507 = alloca ptr - %t509 = alloca ptr - %t511 = alloca ptr - %t517 = alloca ptr - %t524 = alloca ptr + %t463 = alloca ptr + %t465 = alloca ptr + %t467 = alloca ptr + %t473 = alloca ptr + %t480 = alloca ptr + %t489 = alloca ptr + %t494 = alloca ptr + %t501 = alloca ptr + %t506 = alloca ptr %t528 = alloca ptr - %t533 = alloca ptr + %t532 = alloca ptr + %t534 = alloca ptr + %t537 = alloca ptr %t540 = alloca ptr - %t549 = alloca ptr - %t556 = alloca ptr - %t568 = alloca ptr - %t581 = alloca ptr - %t589 = alloca ptr - %t594 = alloca ptr - %t596 = alloca ptr - %t598 = alloca ptr - %t607 = alloca ptr - %t609 = alloca ptr - %t613 = alloca ptr - %t615 = alloca ptr - %t617 = alloca ptr - %t623 = alloca ptr - %t630 = alloca ptr - %t639 = alloca ptr + %t542 = alloca ptr + %t544 = alloca ptr + %t546 = alloca ptr + %t548 = alloca ptr + %t554 = alloca ptr + %t561 = alloca ptr + %t565 = alloca ptr + %t570 = alloca ptr + %t577 = alloca ptr + %t586 = alloca ptr + %t593 = alloca ptr + %t605 = alloca ptr + %t618 = alloca ptr + %t626 = alloca ptr + %t631 = alloca ptr + %t633 = alloca ptr + %t635 = alloca ptr %t644 = alloca ptr - %t651 = alloca ptr - %t656 = alloca ptr - %t675 = alloca ptr - %t680 = alloca ptr - %t682 = alloca ptr - %t684 = alloca ptr - %t686 = alloca ptr - %t694 = alloca ptr - %t696 = alloca ptr - %t699 = alloca ptr - %t701 = alloca ptr - %t703 = alloca ptr - %t709 = alloca ptr - %t716 = alloca ptr - %t725 = alloca ptr - %t732 = alloca ptr - %t734 = alloca ptr - %t739 = alloca ptr - %t743 = alloca ptr - %t745 = alloca ptr - %t747 = alloca ptr + %t646 = alloca ptr + %t650 = alloca ptr + %t652 = alloca ptr + %t654 = alloca ptr + %t660 = alloca ptr + %t667 = alloca ptr + %t676 = alloca ptr + %t681 = alloca ptr + %t688 = alloca ptr + %t693 = alloca ptr + %t712 = alloca ptr + %t717 = alloca ptr + %t719 = alloca ptr + %t721 = alloca ptr + %t723 = alloca ptr + %t731 = alloca ptr + %t733 = alloca ptr + %t736 = alloca ptr + %t738 = alloca ptr + %t740 = alloca ptr + %t746 = alloca ptr %t753 = alloca ptr - %t758 = alloca ptr - %t763 = alloca ptr - %t770 = alloca ptr + %t762 = alloca ptr + %t769 = alloca ptr + %t771 = alloca ptr + %t776 = alloca ptr %t780 = alloca ptr - %t787 = alloca ptr - %t796 = alloca ptr - %t801 = alloca ptr - %t809 = alloca ptr + %t782 = alloca ptr + %t784 = alloca ptr + %t790 = alloca ptr + %t795 = alloca ptr + %t800 = alloca ptr + %t807 = alloca ptr %t817 = alloca ptr - %t822 = alloca ptr - %t827 = alloca ptr - %t835 = alloca ptr - %t853 = alloca ptr - %t869 = alloca i32 - %t883 = alloca ptr - %t886 = alloca ptr - %t904 = alloca ptr - %t905 = alloca i32 - %t922 = alloca i32 - %t935 = alloca ptr - %t937 = alloca ptr - %t940 = alloca ptr - %t945 = alloca ptr - %t949 = alloca ptr - %t951 = alloca ptr - %t953 = alloca ptr - %t959 = alloca ptr - %t963 = alloca ptr - %t970 = alloca ptr - %t979 = alloca ptr - %t984 = alloca ptr - %t991 = alloca ptr - %t998 = alloca ptr - %t1009 = alloca ptr + %t824 = alloca ptr + %t833 = alloca ptr + %t838 = alloca ptr + %t846 = alloca ptr + %t854 = alloca ptr + %t859 = alloca ptr + %t864 = alloca ptr + %t872 = alloca ptr + %t890 = alloca ptr + %t906 = alloca i32 + %t920 = alloca ptr + %t923 = alloca ptr + %t941 = alloca ptr + %t942 = alloca i32 + %t959 = alloca i32 + %t972 = alloca ptr + %t974 = alloca ptr + %t977 = alloca ptr + %t982 = alloca ptr + %t986 = alloca ptr + %t988 = alloca ptr + %t990 = alloca ptr + %t996 = alloca ptr + %t1000 = alloca ptr + %t1007 = alloca ptr %t1016 = alloca ptr + %t1021 = alloca ptr + %t1028 = alloca ptr + %t1035 = alloca ptr + %t1046 = alloca ptr + %t1053 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4155) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4346) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -43885,7 +49492,7 @@ then0: br label %ret ifend2: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4156) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4347) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -43894,1458 +49501,1505 @@ then3: store ptr %t11, ptr %retval br label %ret ifend5: - %t12 = load ptr, ptr %t1 - %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 - %t14 = load ptr, ptr %t13 - %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 - %t16 = load ptr, ptr %t15 - %t17 = getelementptr inbounds ptr, ptr %t16, i32 0 - %t18 = load ptr, ptr %t17 - %t19 = call ptr @fn_emit_expr(ptr %t18) - store ptr %t19, ptr %t20 - %t21 = load ptr, ptr %t20 - %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 1 - %t23 = load ptr, ptr %t22 - %t24 = call i32 @fn_is_slice_ty(ptr %t23) - %t25 = icmp eq i32 %t24, 0 - %t26 = zext i1 %t25 to i32 - %t27 = icmp ne i32 %t26, 0 - br i1 %t27, label %then6, label %ifend8 + %t12 = load ptr, ptr %t0 + %t13 = call i32 @fn_str_eq(ptr %t12, ptr @.str4348) + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then6, label %ifend8 then6: - %t28 = load ptr, ptr %t0 - %t29 = call ptr @fn_str_concat(ptr @.str4157, ptr %t28) - %t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str4158) - call void @fn_perr(ptr %t30) - br label %ifend8 -ifend8: - %t31 = load ptr, ptr %t20 - %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 1 - %t33 = load ptr, ptr %t32 - %t34 = call ptr @fn_slice_elem(ptr %t33) - store ptr %t34, ptr %t35 - %t36 = load ptr, ptr %t35 - %t37 = call ptr @fn_llty(ptr %t36) - store ptr %t37, ptr %t38 - %t39 = load ptr, ptr %t20 - %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 0 - %t41 = load ptr, ptr %t40 - store ptr %t41, ptr %t42 - %t43 = load ptr, ptr %t42 - %t44 = call ptr @fn_slice_field(ptr %t43, i32 1) - store ptr %t44, ptr %t45 - %t46 = load ptr, ptr %t0 - %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str4159) - %t48 = icmp ne i32 %t47, 0 - br i1 %t48, label %then9, label %ifend11 + %t15 = load ptr, ptr %t1 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds ptr, ptr %t19, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @fn_emit_expr(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t1 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds ptr, ptr %t28, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_emit_expr(ptr %t30) + store ptr %t31, ptr %t32 + %t33 = call ptr @fn_find_fn(ptr @.str4349) + %t34 = icmp eq ptr %t33, null + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str4160) - %t49 = load ptr, ptr %t45 - call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str4161) - %t50 = call ptr @fn_val(ptr @.str4162, ptr @.str4163) - store ptr %t50, ptr %retval - br label %ret + call void @fn_perr(ptr @.str4350) + br label %ifend11 ifend11: - %t51 = load ptr, ptr %t0 - %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str4164) - %t53 = icmp ne i32 %t52, 0 - br i1 %t53, label %then12, label %ifend14 -then12: - %t54 = load ptr, ptr %t42 - %t55 = load ptr, ptr %t38 - %t56 = call ptr @fn_list_elem_addr(ptr %t54, ptr %t55, ptr @.str4165) - store ptr %t56, ptr %t57 - %t58 = load ptr, ptr %t38 - %t59 = call ptr @fn_str_concat(ptr @.str4166, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4167) - %t61 = load ptr, ptr %t57 - %t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61) - %t63 = call ptr @fn_emit_bind(ptr %t62) - %t64 = load ptr, ptr %t35 - %t65 = call ptr @fn_val(ptr %t63, ptr %t64) - store ptr %t65, ptr %retval + %t37 = load ptr, ptr %t23 + %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @fn_str_concat(ptr @.str4351, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str4352) + %t42 = load ptr, ptr %t32 + %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @fn_str_concat(ptr %t41, ptr %t44) + %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4353) + %t47 = call ptr @fn_emit_bind(ptr %t46) + %t48 = call ptr @fn_val(ptr %t47, ptr @.str4354) + store ptr %t48, ptr %retval br label %ret +ifend8: + %t49 = load ptr, ptr %t1 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds ptr, ptr %t53, i32 0 + %t55 = load ptr, ptr %t54 + %t56 = call ptr @fn_emit_expr(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 1 + %t60 = load ptr, ptr %t59 + %t61 = call i32 @fn_is_slice_ty(ptr %t60) + %t62 = icmp eq i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then12, label %ifend14 +then12: + %t65 = load ptr, ptr %t0 + %t66 = call ptr @fn_str_concat(ptr @.str4355, ptr %t65) + %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str4356) + call void @fn_perr(ptr %t67) + br label %ifend14 ifend14: - %t66 = load ptr, ptr %t0 - %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str4168) - %t68 = icmp ne i32 %t67, 0 - br i1 %t68, label %then15, label %ifend17 -then15: - %t69 = load ptr, ptr %t45 - %t70 = call ptr @fn_str_concat(ptr @.str4169, ptr %t69) - %t71 = call ptr @fn_emit_bind(ptr %t70) + %t68 = load ptr, ptr %t57 + %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @fn_slice_elem(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 - %t74 = call ptr @fn_str_concat(ptr @.str4170, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4171) - %t76 = call ptr @fn_emit_bind(ptr %t75) - store ptr %t76, ptr %t77 - %t78 = load ptr, ptr %t42 - %t79 = load ptr, ptr %t38 - %t80 = load ptr, ptr %t77 - %t81 = call ptr @fn_list_elem_addr(ptr %t78, ptr %t79, ptr %t80) + %t74 = call ptr @fn_llty(ptr %t73) + store ptr %t74, ptr %t75 + %t76 = load ptr, ptr %t57 + %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 + %t78 = load ptr, ptr %t77 + store ptr %t78, ptr %t79 + %t80 = load ptr, ptr %t79 + %t81 = call ptr @fn_slice_field(ptr %t80, i32 1) store ptr %t81, ptr %t82 - %t83 = load ptr, ptr %t38 - %t84 = call ptr @fn_str_concat(ptr @.str4172, ptr %t83) - %t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str4173) + %t83 = load ptr, ptr %t0 + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str4357) + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then15, label %ifend17 +then15: + call void @fn_emit(ptr @.str4358) %t86 = load ptr, ptr %t82 - %t87 = call ptr @fn_str_concat(ptr %t85, ptr %t86) - %t88 = call ptr @fn_emit_bind(ptr %t87) - %t89 = load ptr, ptr %t35 - %t90 = call ptr @fn_val(ptr %t88, ptr %t89) - store ptr %t90, ptr %retval + call void @fn_emit(ptr %t86) + call void @fn_emit(ptr @.str4359) + %t87 = call ptr @fn_val(ptr @.str4360, ptr @.str4361) + store ptr %t87, ptr %retval br label %ret ifend17: - %t91 = load ptr, ptr %t0 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str4174) - %t93 = icmp ne i32 %t92, 0 - br i1 %t93, label %then18, label %ifend20 + %t88 = load ptr, ptr %t0 + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str4362) + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then18, label %ifend20 then18: - %t94 = load ptr, ptr %t45 - %t95 = call ptr @fn_str_concat(ptr @.str4175, ptr %t94) - %t96 = call ptr @fn_emit_bind(ptr %t95) - store ptr %t96, ptr %t97 - %t98 = load ptr, ptr %t97 - %t99 = call ptr @fn_str_concat(ptr @.str4176, ptr %t98) - %t100 = call ptr @fn_str_concat(ptr %t99, ptr @.str4177) - %t101 = call ptr @fn_emit_bind(ptr %t100) - store ptr %t101, ptr %t102 - %t103 = load ptr, ptr %t42 - %t104 = load ptr, ptr %t38 - %t105 = load ptr, ptr %t102 - %t106 = call ptr @fn_list_elem_addr(ptr %t103, ptr %t104, ptr %t105) - store ptr %t106, ptr %t107 - %t108 = load ptr, ptr %t38 - %t109 = call ptr @fn_str_concat(ptr @.str4178, ptr %t108) - %t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str4179) - %t111 = load ptr, ptr %t107 - %t112 = call ptr @fn_str_concat(ptr %t110, ptr %t111) - %t113 = call ptr @fn_emit_bind(ptr %t112) - store ptr %t113, ptr %t114 - call void @fn_emit(ptr @.str4180) - %t115 = load ptr, ptr %t102 - call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str4181) - %t116 = load ptr, ptr %t45 - call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str4182) - %t117 = load ptr, ptr %t114 - %t118 = load ptr, ptr %t35 - %t119 = call ptr @fn_val(ptr %t117, ptr %t118) - store ptr %t119, ptr %retval + %t91 = load ptr, ptr %t79 + %t92 = load ptr, ptr %t75 + %t93 = call ptr @fn_list_elem_addr(ptr %t91, ptr %t92, ptr @.str4363) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t75 + %t96 = call ptr @fn_str_concat(ptr @.str4364, ptr %t95) + %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4365) + %t98 = load ptr, ptr %t94 + %t99 = call ptr @fn_str_concat(ptr %t97, ptr %t98) + %t100 = call ptr @fn_emit_bind(ptr %t99) + %t101 = load ptr, ptr %t72 + %t102 = call ptr @fn_val(ptr %t100, ptr %t101) + store ptr %t102, ptr %retval br label %ret ifend20: - %t120 = load ptr, ptr %t0 - %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str4183) - %t122 = icmp ne i32 %t121, 0 - br i1 %t122, label %then21, label %ifend23 + %t103 = load ptr, ptr %t0 + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str4366) + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then21, label %ifend23 then21: - %t123 = load ptr, ptr %t1 - %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 - %t125 = load ptr, ptr %t124 - %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 - %t127 = load ptr, ptr %t126 - %t128 = getelementptr inbounds ptr, ptr %t127, i32 1 - %t129 = load ptr, ptr %t128 - %t130 = call ptr @fn_emit_expr(ptr %t129) - store ptr %t130, ptr %t131 - %t132 = load ptr, ptr %t1 - %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 - %t134 = load ptr, ptr %t133 - %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0 - %t136 = load ptr, ptr %t135 - %t137 = getelementptr inbounds ptr, ptr %t136, i32 2 - %t138 = load ptr, ptr %t137 - %t139 = call ptr @fn_emit_expr(ptr %t138) - store ptr %t139, ptr %t140 - %t141 = load ptr, ptr %t42 - %t142 = load ptr, ptr %t38 - %t143 = load ptr, ptr %t131 - %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0 - %t145 = load ptr, ptr %t144 - %t146 = call ptr @fn_list_elem_addr(ptr %t141, ptr %t142, ptr %t145) - store ptr %t146, ptr %t147 - %t148 = load ptr, ptr %t42 - %t149 = load ptr, ptr %t38 - %t150 = load ptr, ptr %t140 - %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 - %t152 = load ptr, ptr %t151 - %t153 = call ptr @fn_list_elem_addr(ptr %t148, ptr %t149, ptr %t152) - store ptr %t153, ptr %t154 - %t155 = load ptr, ptr %t38 - %t156 = call ptr @fn_str_concat(ptr @.str4184, ptr %t155) - %t157 = call ptr @fn_str_concat(ptr %t156, ptr @.str4185) - %t158 = load ptr, ptr %t147 - %t159 = call ptr @fn_str_concat(ptr %t157, ptr %t158) - %t160 = call ptr @fn_emit_bind(ptr %t159) - store ptr %t160, ptr %t161 - %t162 = load ptr, ptr %t38 - %t163 = call ptr @fn_str_concat(ptr @.str4186, ptr %t162) - %t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str4187) - %t165 = load ptr, ptr %t154 - %t166 = call ptr @fn_str_concat(ptr %t164, ptr %t165) - %t167 = call ptr @fn_emit_bind(ptr %t166) - store ptr %t167, ptr %t168 - call void @fn_emit(ptr @.str4188) - %t169 = load ptr, ptr %t38 - call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str4189) - %t170 = load ptr, ptr %t168 - call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str4190) - %t171 = load ptr, ptr %t147 - call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str4191) - call void @fn_emit(ptr @.str4192) - %t172 = load ptr, ptr %t38 - call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str4193) - %t173 = load ptr, ptr %t161 - call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str4194) - %t174 = load ptr, ptr %t154 - call void @fn_emit(ptr %t174) - call void @fn_emit(ptr @.str4195) - %t175 = call ptr @fn_val(ptr @.str4196, ptr @.str4197) - store ptr %t175, ptr %retval + %t106 = load ptr, ptr %t82 + %t107 = call ptr @fn_str_concat(ptr @.str4367, ptr %t106) + %t108 = call ptr @fn_emit_bind(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @fn_str_concat(ptr @.str4368, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4369) + %t113 = call ptr @fn_emit_bind(ptr %t112) + store ptr %t113, ptr %t114 + %t115 = load ptr, ptr %t79 + %t116 = load ptr, ptr %t75 + %t117 = load ptr, ptr %t114 + %t118 = call ptr @fn_list_elem_addr(ptr %t115, ptr %t116, ptr %t117) + store ptr %t118, ptr %t119 + %t120 = load ptr, ptr %t75 + %t121 = call ptr @fn_str_concat(ptr @.str4370, ptr %t120) + %t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str4371) + %t123 = load ptr, ptr %t119 + %t124 = call ptr @fn_str_concat(ptr %t122, ptr %t123) + %t125 = call ptr @fn_emit_bind(ptr %t124) + %t126 = load ptr, ptr %t72 + %t127 = call ptr @fn_val(ptr %t125, ptr %t126) + store ptr %t127, ptr %retval br label %ret ifend23: - %t177 = load ptr, ptr %t0 - %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str4198) - %t179 = icmp ne i32 %t178, 0 - %t180 = zext i1 %t179 to i32 - store i32 %t180, ptr %t176 - br i1 %t179, label %scend25, label %sc24 -sc24: - %t181 = load ptr, ptr %t0 - %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str4199) - %t183 = icmp ne i32 %t182, 0 - %t184 = zext i1 %t183 to i32 - store i32 %t184, ptr %t176 - br label %scend25 -scend25: - %t185 = load i32, ptr %t176 - %t186 = icmp ne i32 %t185, 0 - br i1 %t186, label %then26, label %ifend28 -then26: - %t187 = load ptr, ptr %t1 - %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7 + %t128 = load ptr, ptr %t0 + %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str4372) + %t130 = icmp ne i32 %t129, 0 + br i1 %t130, label %then24, label %ifend26 +then24: + %t131 = load ptr, ptr %t82 + %t132 = call ptr @fn_str_concat(ptr @.str4373, ptr %t131) + %t133 = call ptr @fn_emit_bind(ptr %t132) + store ptr %t133, ptr %t134 + %t135 = load ptr, ptr %t134 + %t136 = call ptr @fn_str_concat(ptr @.str4374, ptr %t135) + %t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str4375) + %t138 = call ptr @fn_emit_bind(ptr %t137) + store ptr %t138, ptr %t139 + %t140 = load ptr, ptr %t79 + %t141 = load ptr, ptr %t75 + %t142 = load ptr, ptr %t139 + %t143 = call ptr @fn_list_elem_addr(ptr %t140, ptr %t141, ptr %t142) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t75 + %t146 = call ptr @fn_str_concat(ptr @.str4376, ptr %t145) + %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str4377) + %t148 = load ptr, ptr %t144 + %t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148) + %t150 = call ptr @fn_emit_bind(ptr %t149) + store ptr %t150, ptr %t151 + call void @fn_emit(ptr @.str4378) + %t152 = load ptr, ptr %t139 + call void @fn_emit(ptr %t152) + call void @fn_emit(ptr @.str4379) + %t153 = load ptr, ptr %t82 + call void @fn_emit(ptr %t153) + call void @fn_emit(ptr @.str4380) + %t154 = load ptr, ptr %t151 + %t155 = load ptr, ptr %t72 + %t156 = call ptr @fn_val(ptr %t154, ptr %t155) + store ptr %t156, ptr %retval + br label %ret +ifend26: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str4381) + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then27, label %ifend29 +then27: + %t160 = load ptr, ptr %t1 + %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 + %t162 = load ptr, ptr %t161 + %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds ptr, ptr %t164, i32 1 + %t166 = load ptr, ptr %t165 + %t167 = call ptr @fn_emit_expr(ptr %t166) + store ptr %t167, ptr %t168 + %t169 = load ptr, ptr %t1 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds ptr, ptr %t173, i32 2 + %t175 = load ptr, ptr %t174 + %t176 = call ptr @fn_emit_expr(ptr %t175) + store ptr %t176, ptr %t177 + %t178 = load ptr, ptr %t79 + %t179 = load ptr, ptr %t75 + %t180 = load ptr, ptr %t168 + %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @fn_list_elem_addr(ptr %t178, ptr %t179, ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t79 + %t186 = load ptr, ptr %t75 + %t187 = load ptr, ptr %t177 + %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 - %t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0 - %t191 = load ptr, ptr %t190 - %t192 = getelementptr inbounds ptr, ptr %t191, i32 1 - %t193 = load ptr, ptr %t192 - %t194 = call ptr @fn_emit_expr(ptr %t193) - store ptr %t194, ptr %t195 - %t196 = load ptr, ptr %t45 - %t197 = call ptr @fn_str_concat(ptr @.str4200, ptr %t196) - %t198 = call ptr @fn_emit_bind(ptr %t197) - store ptr %t198, ptr %t199 - %t200 = call ptr @fn_emit_alloca(ptr @.str4201) - store ptr %t200, ptr %t201 - %t202 = load ptr, ptr %t201 - call void @fn_store_at(ptr @.str4202, ptr @.str4203, ptr %t202) - %t203 = call ptr @fn_emit_alloca(ptr @.str4204) - store ptr %t203, ptr %t204 - %t205 = load ptr, ptr %t204 - call void @fn_store_at(ptr @.str4205, ptr @.str4206, ptr %t205) - %t206 = call ptr @fn_lbl(ptr @.str4207) - store ptr %t206, ptr %t207 - %t208 = call ptr @fn_lbl(ptr @.str4208) - store ptr %t208, ptr %t209 - %t210 = call ptr @fn_lbl(ptr @.str4209) - store ptr %t210, ptr %t211 - %t212 = call ptr @fn_lbl(ptr @.str4210) - store ptr %t212, ptr %t213 - %t214 = call ptr @fn_lbl(ptr @.str4211) - store ptr %t214, ptr %t215 - call void @fn_emit(ptr @.str4212) - %t216 = load ptr, ptr %t207 - call void @fn_emit(ptr %t216) - call void @fn_emit(ptr @.str4213) - %t217 = load ptr, ptr %t207 - call void @fn_emit(ptr %t217) - call void @fn_emit(ptr @.str4214) - %t218 = load ptr, ptr %t204 - %t219 = call ptr @fn_str_concat(ptr @.str4215, ptr %t218) - %t220 = call ptr @fn_emit_bind(ptr %t219) - store ptr %t220, ptr %t221 - %t222 = load ptr, ptr %t221 - %t223 = call ptr @fn_str_concat(ptr @.str4216, ptr %t222) - %t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str4217) - %t225 = load ptr, ptr %t199 - %t226 = call ptr @fn_str_concat(ptr %t224, ptr %t225) - %t227 = call ptr @fn_emit_bind(ptr %t226) - store ptr %t227, ptr %t228 - call void @fn_emit(ptr @.str4218) - %t229 = load ptr, ptr %t228 - call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str4219) - %t230 = load ptr, ptr %t209 - call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str4220) - %t231 = load ptr, ptr %t215 - call void @fn_emit(ptr %t231) - call void @fn_emit(ptr @.str4221) - %t232 = load ptr, ptr %t209 - call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str4222) - %t233 = load ptr, ptr %t42 - %t234 = load ptr, ptr %t38 - %t235 = load ptr, ptr %t221 - %t236 = call ptr @fn_list_elem_addr(ptr %t233, ptr %t234, ptr %t235) - store ptr %t236, ptr %t237 - %t238 = load ptr, ptr %t38 - %t239 = call ptr @fn_str_concat(ptr @.str4223, ptr %t238) - %t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str4224) - %t241 = load ptr, ptr %t237 - %t242 = call ptr @fn_str_concat(ptr %t240, ptr %t241) - %t243 = call ptr @fn_emit_bind(ptr %t242) - store ptr %t243, ptr %t244 - %t245 = load ptr, ptr %t38 - %t246 = call ptr @fn_str_concat(ptr @.str4225, ptr %t245) - %t247 = call ptr @fn_str_concat(ptr %t246, ptr @.str4226) - %t248 = load ptr, ptr %t244 - %t249 = call ptr @fn_str_concat(ptr %t247, ptr %t248) - %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str4227) - %t251 = load ptr, ptr %t195 - %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 - %t253 = load ptr, ptr %t252 - %t254 = call ptr @fn_str_concat(ptr %t250, ptr %t253) - %t255 = call ptr @fn_emit_bind(ptr %t254) - store ptr %t255, ptr %t256 - call void @fn_emit(ptr @.str4228) - %t257 = load ptr, ptr %t256 - call void @fn_emit(ptr %t257) - call void @fn_emit(ptr @.str4229) - %t258 = load ptr, ptr %t211 - call void @fn_emit(ptr %t258) - call void @fn_emit(ptr @.str4230) - %t259 = load ptr, ptr %t213 - call void @fn_emit(ptr %t259) - call void @fn_emit(ptr @.str4231) - %t260 = load ptr, ptr %t211 - call void @fn_emit(ptr %t260) - call void @fn_emit(ptr @.str4232) - %t261 = load ptr, ptr %t221 - %t262 = load ptr, ptr %t201 - call void @fn_store_at(ptr @.str4233, ptr %t261, ptr %t262) - call void @fn_emit(ptr @.str4234) - %t263 = load ptr, ptr %t215 - call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str4235) - %t264 = load ptr, ptr %t213 - call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str4236) - %t265 = load ptr, ptr %t221 - %t266 = call ptr @fn_str_concat(ptr @.str4237, ptr %t265) - %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str4238) - %t268 = call ptr @fn_emit_bind(ptr %t267) - store ptr %t268, ptr %t269 - %t270 = load ptr, ptr %t269 - %t271 = load ptr, ptr %t204 - call void @fn_store_at(ptr @.str4239, ptr %t270, ptr %t271) - call void @fn_emit(ptr @.str4240) - %t272 = load ptr, ptr %t207 - call void @fn_emit(ptr %t272) - call void @fn_emit(ptr @.str4241) - %t273 = load ptr, ptr %t215 - call void @fn_emit(ptr %t273) - call void @fn_emit(ptr @.str4242) - %t274 = load ptr, ptr %t201 - %t275 = call ptr @fn_str_concat(ptr @.str4243, ptr %t274) - %t276 = call ptr @fn_emit_bind(ptr %t275) - store ptr %t276, ptr %t277 - %t278 = load ptr, ptr %t0 - %t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str4244) - %t280 = icmp ne i32 %t279, 0 - br i1 %t280, label %then29, label %ifend31 -then29: - %t281 = load ptr, ptr %t277 - %t282 = call ptr @fn_val(ptr %t281, ptr @.str4245) - store ptr %t282, ptr %retval + %t190 = call ptr @fn_list_elem_addr(ptr %t185, ptr %t186, ptr %t189) + store ptr %t190, ptr %t191 + %t192 = load ptr, ptr %t75 + %t193 = call ptr @fn_str_concat(ptr @.str4382, ptr %t192) + %t194 = call ptr @fn_str_concat(ptr %t193, ptr @.str4383) + %t195 = load ptr, ptr %t184 + %t196 = call ptr @fn_str_concat(ptr %t194, ptr %t195) + %t197 = call ptr @fn_emit_bind(ptr %t196) + store ptr %t197, ptr %t198 + %t199 = load ptr, ptr %t75 + %t200 = call ptr @fn_str_concat(ptr @.str4384, ptr %t199) + %t201 = call ptr @fn_str_concat(ptr %t200, ptr @.str4385) + %t202 = load ptr, ptr %t191 + %t203 = call ptr @fn_str_concat(ptr %t201, ptr %t202) + %t204 = call ptr @fn_emit_bind(ptr %t203) + store ptr %t204, ptr %t205 + call void @fn_emit(ptr @.str4386) + %t206 = load ptr, ptr %t75 + call void @fn_emit(ptr %t206) + call void @fn_emit(ptr @.str4387) + %t207 = load ptr, ptr %t205 + call void @fn_emit(ptr %t207) + call void @fn_emit(ptr @.str4388) + %t208 = load ptr, ptr %t184 + call void @fn_emit(ptr %t208) + call void @fn_emit(ptr @.str4389) + call void @fn_emit(ptr @.str4390) + %t209 = load ptr, ptr %t75 + call void @fn_emit(ptr %t209) + call void @fn_emit(ptr @.str4391) + %t210 = load ptr, ptr %t198 + call void @fn_emit(ptr %t210) + call void @fn_emit(ptr @.str4392) + %t211 = load ptr, ptr %t191 + call void @fn_emit(ptr %t211) + call void @fn_emit(ptr @.str4393) + %t212 = call ptr @fn_val(ptr @.str4394, ptr @.str4395) + store ptr %t212, ptr %retval br label %ret -ifend31: - %t283 = load ptr, ptr %t277 - %t284 = call ptr @fn_str_concat(ptr @.str4246, ptr %t283) - %t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str4247) - %t286 = call ptr @fn_emit_bind(ptr %t285) - store ptr %t286, ptr %t287 - %t288 = load ptr, ptr %t287 - %t289 = call ptr @fn_str_concat(ptr @.str4248, ptr %t288) - %t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str4249) - %t291 = call ptr @fn_emit_bind(ptr %t290) - %t292 = call ptr @fn_val(ptr %t291, ptr @.str4250) - store ptr %t292, ptr %retval - br label %ret -ifend28: - %t293 = load ptr, ptr %t0 - %t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str4251) - %t295 = icmp ne i32 %t294, 0 - br i1 %t295, label %then32, label %ifend34 +ifend29: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str4396) + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t213 + br i1 %t216, label %scend31, label %sc30 +sc30: + %t218 = load ptr, ptr %t0 + %t219 = call i32 @fn_str_eq(ptr %t218, ptr @.str4397) + %t220 = icmp ne i32 %t219, 0 + %t221 = zext i1 %t220 to i32 + store i32 %t221, ptr %t213 + br label %scend31 +scend31: + %t222 = load i32, ptr %t213 + %t223 = icmp ne i32 %t222, 0 + br i1 %t223, label %then32, label %ifend34 then32: - %t296 = load ptr, ptr %t1 - %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7 - %t298 = load ptr, ptr %t297 - %t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 - %t300 = load ptr, ptr %t299 - %t301 = getelementptr inbounds ptr, ptr %t300, i32 1 - %t302 = load ptr, ptr %t301 - %t303 = call ptr @fn_emit_expr(ptr %t302) - store ptr %t303, ptr %t304 - %t305 = load ptr, ptr %t1 - %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7 + %t224 = load ptr, ptr %t1 + %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 7 + %t226 = load ptr, ptr %t225 + %t227 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds ptr, ptr %t228, i32 1 + %t230 = load ptr, ptr %t229 + %t231 = call ptr @fn_emit_expr(ptr %t230) + store ptr %t231, ptr %t232 + %t233 = load ptr, ptr %t82 + %t234 = call ptr @fn_str_concat(ptr @.str4398, ptr %t233) + %t235 = call ptr @fn_emit_bind(ptr %t234) + store ptr %t235, ptr %t236 + %t237 = call ptr @fn_emit_alloca(ptr @.str4399) + store ptr %t237, ptr %t238 + %t239 = load ptr, ptr %t238 + call void @fn_store_at(ptr @.str4400, ptr @.str4401, ptr %t239) + %t240 = call ptr @fn_emit_alloca(ptr @.str4402) + store ptr %t240, ptr %t241 + %t242 = load ptr, ptr %t241 + call void @fn_store_at(ptr @.str4403, ptr @.str4404, ptr %t242) + %t243 = call ptr @fn_lbl(ptr @.str4405) + store ptr %t243, ptr %t244 + %t245 = call ptr @fn_lbl(ptr @.str4406) + store ptr %t245, ptr %t246 + %t247 = call ptr @fn_lbl(ptr @.str4407) + store ptr %t247, ptr %t248 + %t249 = call ptr @fn_lbl(ptr @.str4408) + store ptr %t249, ptr %t250 + %t251 = call ptr @fn_lbl(ptr @.str4409) + store ptr %t251, ptr %t252 + call void @fn_emit(ptr @.str4410) + %t253 = load ptr, ptr %t244 + call void @fn_emit(ptr %t253) + call void @fn_emit(ptr @.str4411) + %t254 = load ptr, ptr %t244 + call void @fn_emit(ptr %t254) + call void @fn_emit(ptr @.str4412) + %t255 = load ptr, ptr %t241 + %t256 = call ptr @fn_str_concat(ptr @.str4413, ptr %t255) + %t257 = call ptr @fn_emit_bind(ptr %t256) + store ptr %t257, ptr %t258 + %t259 = load ptr, ptr %t258 + %t260 = call ptr @fn_str_concat(ptr @.str4414, ptr %t259) + %t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str4415) + %t262 = load ptr, ptr %t236 + %t263 = call ptr @fn_str_concat(ptr %t261, ptr %t262) + %t264 = call ptr @fn_emit_bind(ptr %t263) + store ptr %t264, ptr %t265 + call void @fn_emit(ptr @.str4416) + %t266 = load ptr, ptr %t265 + call void @fn_emit(ptr %t266) + call void @fn_emit(ptr @.str4417) + %t267 = load ptr, ptr %t246 + call void @fn_emit(ptr %t267) + call void @fn_emit(ptr @.str4418) + %t268 = load ptr, ptr %t252 + call void @fn_emit(ptr %t268) + call void @fn_emit(ptr @.str4419) + %t269 = load ptr, ptr %t246 + call void @fn_emit(ptr %t269) + call void @fn_emit(ptr @.str4420) + %t270 = load ptr, ptr %t79 + %t271 = load ptr, ptr %t75 + %t272 = load ptr, ptr %t258 + %t273 = call ptr @fn_list_elem_addr(ptr %t270, ptr %t271, ptr %t272) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t75 + %t276 = call ptr @fn_str_concat(ptr @.str4421, ptr %t275) + %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4422) + %t278 = load ptr, ptr %t274 + %t279 = call ptr @fn_str_concat(ptr %t277, ptr %t278) + %t280 = call ptr @fn_emit_bind(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = load ptr, ptr %t75 + %t283 = call ptr @fn_str_concat(ptr @.str4423, ptr %t282) + %t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str4424) + %t285 = load ptr, ptr %t281 + %t286 = call ptr @fn_str_concat(ptr %t284, ptr %t285) + %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4425) + %t288 = load ptr, ptr %t232 + %t289 = getelementptr inbounds %Cmp_Val, ptr %t288, i32 0, i32 0 + %t290 = load ptr, ptr %t289 + %t291 = call ptr @fn_str_concat(ptr %t287, ptr %t290) + %t292 = call ptr @fn_emit_bind(ptr %t291) + store ptr %t292, ptr %t293 + call void @fn_emit(ptr @.str4426) + %t294 = load ptr, ptr %t293 + call void @fn_emit(ptr %t294) + call void @fn_emit(ptr @.str4427) + %t295 = load ptr, ptr %t248 + call void @fn_emit(ptr %t295) + call void @fn_emit(ptr @.str4428) + %t296 = load ptr, ptr %t250 + call void @fn_emit(ptr %t296) + call void @fn_emit(ptr @.str4429) + %t297 = load ptr, ptr %t248 + call void @fn_emit(ptr %t297) + call void @fn_emit(ptr @.str4430) + %t298 = load ptr, ptr %t258 + %t299 = load ptr, ptr %t238 + call void @fn_store_at(ptr @.str4431, ptr %t298, ptr %t299) + call void @fn_emit(ptr @.str4432) + %t300 = load ptr, ptr %t252 + call void @fn_emit(ptr %t300) + call void @fn_emit(ptr @.str4433) + %t301 = load ptr, ptr %t250 + call void @fn_emit(ptr %t301) + call void @fn_emit(ptr @.str4434) + %t302 = load ptr, ptr %t258 + %t303 = call ptr @fn_str_concat(ptr @.str4435, ptr %t302) + %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str4436) + %t305 = call ptr @fn_emit_bind(ptr %t304) + store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 - %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 - %t309 = load ptr, ptr %t308 - %t310 = getelementptr inbounds ptr, ptr %t309, i32 2 - %t311 = load ptr, ptr %t310 - %t312 = call ptr @fn_emit_expr(ptr %t311) - store ptr %t312, ptr %t313 - %t314 = load ptr, ptr %t42 - %t315 = load ptr, ptr %t38 - call void @fn_list_grow_if_full(ptr %t314, ptr %t315) - %t316 = load ptr, ptr %t45 - %t317 = call ptr @fn_str_concat(ptr @.str4252, ptr %t316) - %t318 = call ptr @fn_emit_bind(ptr %t317) - store ptr %t318, ptr %t319 - %t320 = call ptr @fn_emit_alloca(ptr @.str4253) - store ptr %t320, ptr %t321 - %t322 = load ptr, ptr %t319 - %t323 = load ptr, ptr %t321 - call void @fn_store_at(ptr @.str4254, ptr %t322, ptr %t323) - %t324 = call ptr @fn_lbl(ptr @.str4255) - store ptr %t324, ptr %t325 - %t326 = call ptr @fn_lbl(ptr @.str4256) - store ptr %t326, ptr %t327 - %t328 = call ptr @fn_lbl(ptr @.str4257) - store ptr %t328, ptr %t329 - call void @fn_emit(ptr @.str4258) - %t330 = load ptr, ptr %t325 - call void @fn_emit(ptr %t330) - call void @fn_emit(ptr @.str4259) - %t331 = load ptr, ptr %t325 - call void @fn_emit(ptr %t331) - call void @fn_emit(ptr @.str4260) - %t332 = load ptr, ptr %t321 - %t333 = call ptr @fn_str_concat(ptr @.str4261, ptr %t332) - %t334 = call ptr @fn_emit_bind(ptr %t333) - store ptr %t334, ptr %t335 - %t336 = load ptr, ptr %t335 - %t337 = call ptr @fn_str_concat(ptr @.str4262, ptr %t336) - %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4263) - %t339 = load ptr, ptr %t304 - %t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0 - %t341 = load ptr, ptr %t340 - %t342 = call ptr @fn_str_concat(ptr %t338, ptr %t341) - %t343 = call ptr @fn_emit_bind(ptr %t342) - store ptr %t343, ptr %t344 - call void @fn_emit(ptr @.str4264) - %t345 = load ptr, ptr %t344 - call void @fn_emit(ptr %t345) - call void @fn_emit(ptr @.str4265) - %t346 = load ptr, ptr %t327 - call void @fn_emit(ptr %t346) - call void @fn_emit(ptr @.str4266) - %t347 = load ptr, ptr %t329 - call void @fn_emit(ptr %t347) - call void @fn_emit(ptr @.str4267) - %t348 = load ptr, ptr %t327 - call void @fn_emit(ptr %t348) - call void @fn_emit(ptr @.str4268) - %t349 = load ptr, ptr %t335 - %t350 = call ptr @fn_str_concat(ptr @.str4269, ptr %t349) - %t351 = call ptr @fn_str_concat(ptr %t350, ptr @.str4270) - %t352 = call ptr @fn_emit_bind(ptr %t351) - store ptr %t352, ptr %t353 - %t354 = load ptr, ptr %t42 - %t355 = load ptr, ptr %t38 - %t356 = load ptr, ptr %t353 - %t357 = call ptr @fn_list_elem_addr(ptr %t354, ptr %t355, ptr %t356) - store ptr %t357, ptr %t358 - %t359 = load ptr, ptr %t38 - %t360 = call ptr @fn_str_concat(ptr @.str4271, ptr %t359) - %t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str4272) - %t362 = load ptr, ptr %t358 - %t363 = call ptr @fn_str_concat(ptr %t361, ptr %t362) - %t364 = call ptr @fn_emit_bind(ptr %t363) - store ptr %t364, ptr %t365 - %t366 = load ptr, ptr %t42 - %t367 = load ptr, ptr %t38 - %t368 = load ptr, ptr %t335 - %t369 = call ptr @fn_list_elem_addr(ptr %t366, ptr %t367, ptr %t368) - store ptr %t369, ptr %t370 - call void @fn_emit(ptr @.str4273) - %t371 = load ptr, ptr %t38 - call void @fn_emit(ptr %t371) - call void @fn_emit(ptr @.str4274) - %t372 = load ptr, ptr %t365 - call void @fn_emit(ptr %t372) - call void @fn_emit(ptr @.str4275) - %t373 = load ptr, ptr %t370 - call void @fn_emit(ptr %t373) - call void @fn_emit(ptr @.str4276) - %t374 = load ptr, ptr %t353 - %t375 = load ptr, ptr %t321 - call void @fn_store_at(ptr @.str4277, ptr %t374, ptr %t375) - call void @fn_emit(ptr @.str4278) - %t376 = load ptr, ptr %t325 - call void @fn_emit(ptr %t376) - call void @fn_emit(ptr @.str4279) - %t377 = load ptr, ptr %t329 - call void @fn_emit(ptr %t377) - call void @fn_emit(ptr @.str4280) - %t378 = load ptr, ptr %t42 - %t379 = load ptr, ptr %t38 - %t380 = load ptr, ptr %t304 - %t381 = getelementptr inbounds %Cmp_Val, ptr %t380, i32 0, i32 0 - %t382 = load ptr, ptr %t381 - %t383 = call ptr @fn_list_elem_addr(ptr %t378, ptr %t379, ptr %t382) - store ptr %t383, ptr %t384 - call void @fn_emit(ptr @.str4281) - %t385 = load ptr, ptr %t38 - call void @fn_emit(ptr %t385) - call void @fn_emit(ptr @.str4282) - %t386 = load ptr, ptr %t313 - %t387 = getelementptr inbounds %Cmp_Val, ptr %t386, i32 0, i32 0 - %t388 = load ptr, ptr %t387 - call void @fn_emit(ptr %t388) - call void @fn_emit(ptr @.str4283) - %t389 = load ptr, ptr %t384 - call void @fn_emit(ptr %t389) - call void @fn_emit(ptr @.str4284) - %t390 = load ptr, ptr %t319 - %t391 = call ptr @fn_str_concat(ptr @.str4285, ptr %t390) - %t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str4286) - %t393 = call ptr @fn_emit_bind(ptr %t392) - store ptr %t393, ptr %t394 - call void @fn_emit(ptr @.str4287) - %t395 = load ptr, ptr %t394 - call void @fn_emit(ptr %t395) - call void @fn_emit(ptr @.str4288) - %t396 = load ptr, ptr %t45 - call void @fn_emit(ptr %t396) - call void @fn_emit(ptr @.str4289) - %t397 = call ptr @fn_val(ptr @.str4290, ptr @.str4291) - store ptr %t397, ptr %retval - br label %ret -ifend34: - %t398 = load ptr, ptr %t0 - %t399 = call i32 @fn_str_eq(ptr %t398, ptr @.str4292) - %t400 = icmp ne i32 %t399, 0 - br i1 %t400, label %then35, label %ifend37 + %t308 = load ptr, ptr %t241 + call void @fn_store_at(ptr @.str4437, ptr %t307, ptr %t308) + call void @fn_emit(ptr @.str4438) + %t309 = load ptr, ptr %t244 + call void @fn_emit(ptr %t309) + call void @fn_emit(ptr @.str4439) + %t310 = load ptr, ptr %t252 + call void @fn_emit(ptr %t310) + call void @fn_emit(ptr @.str4440) + %t311 = load ptr, ptr %t238 + %t312 = call ptr @fn_str_concat(ptr @.str4441, ptr %t311) + %t313 = call ptr @fn_emit_bind(ptr %t312) + store ptr %t313, ptr %t314 + %t315 = load ptr, ptr %t0 + %t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str4442) + %t317 = icmp ne i32 %t316, 0 + br i1 %t317, label %then35, label %ifend37 then35: - %t401 = load ptr, ptr %t1 - %t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 7 - %t403 = load ptr, ptr %t402 - %t404 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0 - %t405 = load ptr, ptr %t404 - %t406 = getelementptr inbounds ptr, ptr %t405, i32 1 - %t407 = load ptr, ptr %t406 - %t408 = call ptr @fn_emit_expr(ptr %t407) - store ptr %t408, ptr %t409 - %t410 = load ptr, ptr %t45 - %t411 = call ptr @fn_str_concat(ptr @.str4293, ptr %t410) - %t412 = call ptr @fn_emit_bind(ptr %t411) - store ptr %t412, ptr %t413 - %t414 = load ptr, ptr %t413 - %t415 = call ptr @fn_str_concat(ptr @.str4294, ptr %t414) - %t416 = call ptr @fn_str_concat(ptr %t415, ptr @.str4295) - %t417 = call ptr @fn_emit_bind(ptr %t416) - store ptr %t417, ptr %t418 - %t419 = call ptr @fn_emit_alloca(ptr @.str4296) - store ptr %t419, ptr %t420 - %t421 = load ptr, ptr %t409 - %t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0 - %t423 = load ptr, ptr %t422 - %t424 = load ptr, ptr %t420 - call void @fn_store_at(ptr @.str4297, ptr %t423, ptr %t424) - %t425 = call ptr @fn_lbl(ptr @.str4298) - store ptr %t425, ptr %t426 - %t427 = call ptr @fn_lbl(ptr @.str4299) - store ptr %t427, ptr %t428 - %t429 = call ptr @fn_lbl(ptr @.str4300) - store ptr %t429, ptr %t430 - call void @fn_emit(ptr @.str4301) - %t431 = load ptr, ptr %t426 - call void @fn_emit(ptr %t431) - call void @fn_emit(ptr @.str4302) - %t432 = load ptr, ptr %t426 - call void @fn_emit(ptr %t432) - call void @fn_emit(ptr @.str4303) - %t433 = load ptr, ptr %t420 - %t434 = call ptr @fn_str_concat(ptr @.str4304, ptr %t433) - %t435 = call ptr @fn_emit_bind(ptr %t434) - store ptr %t435, ptr %t436 - %t437 = load ptr, ptr %t436 - %t438 = call ptr @fn_str_concat(ptr @.str4305, ptr %t437) - %t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str4306) - %t440 = load ptr, ptr %t418 - %t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440) - %t442 = call ptr @fn_emit_bind(ptr %t441) - store ptr %t442, ptr %t443 - call void @fn_emit(ptr @.str4307) - %t444 = load ptr, ptr %t443 - call void @fn_emit(ptr %t444) - call void @fn_emit(ptr @.str4308) - %t445 = load ptr, ptr %t428 - call void @fn_emit(ptr %t445) - call void @fn_emit(ptr @.str4309) - %t446 = load ptr, ptr %t430 - call void @fn_emit(ptr %t446) - call void @fn_emit(ptr @.str4310) - %t447 = load ptr, ptr %t428 - call void @fn_emit(ptr %t447) - call void @fn_emit(ptr @.str4311) - %t448 = load ptr, ptr %t436 - %t449 = call ptr @fn_str_concat(ptr @.str4312, ptr %t448) - %t450 = call ptr @fn_str_concat(ptr %t449, ptr @.str4313) - %t451 = call ptr @fn_emit_bind(ptr %t450) - store ptr %t451, ptr %t452 - %t453 = load ptr, ptr %t42 - %t454 = load ptr, ptr %t38 - %t455 = load ptr, ptr %t452 - %t456 = call ptr @fn_list_elem_addr(ptr %t453, ptr %t454, ptr %t455) - store ptr %t456, ptr %t457 - %t458 = load ptr, ptr %t38 - %t459 = call ptr @fn_str_concat(ptr @.str4314, ptr %t458) - %t460 = call ptr @fn_str_concat(ptr %t459, ptr @.str4315) - %t461 = load ptr, ptr %t457 - %t462 = call ptr @fn_str_concat(ptr %t460, ptr %t461) - %t463 = call ptr @fn_emit_bind(ptr %t462) - store ptr %t463, ptr %t464 - %t465 = load ptr, ptr %t42 - %t466 = load ptr, ptr %t38 - %t467 = load ptr, ptr %t436 - %t468 = call ptr @fn_list_elem_addr(ptr %t465, ptr %t466, ptr %t467) - store ptr %t468, ptr %t469 - call void @fn_emit(ptr @.str4316) - %t470 = load ptr, ptr %t38 - call void @fn_emit(ptr %t470) - call void @fn_emit(ptr @.str4317) - %t471 = load ptr, ptr %t464 - call void @fn_emit(ptr %t471) - call void @fn_emit(ptr @.str4318) - %t472 = load ptr, ptr %t469 - call void @fn_emit(ptr %t472) - call void @fn_emit(ptr @.str4319) - %t473 = load ptr, ptr %t452 - %t474 = load ptr, ptr %t420 - call void @fn_store_at(ptr @.str4320, ptr %t473, ptr %t474) - call void @fn_emit(ptr @.str4321) - %t475 = load ptr, ptr %t426 - call void @fn_emit(ptr %t475) - call void @fn_emit(ptr @.str4322) - %t476 = load ptr, ptr %t430 - call void @fn_emit(ptr %t476) - call void @fn_emit(ptr @.str4323) - call void @fn_emit(ptr @.str4324) - %t477 = load ptr, ptr %t418 - call void @fn_emit(ptr %t477) - call void @fn_emit(ptr @.str4325) - %t478 = load ptr, ptr %t45 - call void @fn_emit(ptr %t478) - call void @fn_emit(ptr @.str4326) - %t479 = call ptr @fn_val(ptr @.str4327, ptr @.str4328) - store ptr %t479, ptr %retval + %t318 = load ptr, ptr %t314 + %t319 = call ptr @fn_val(ptr %t318, ptr @.str4443) + store ptr %t319, ptr %retval br label %ret ifend37: - %t480 = load ptr, ptr %t0 - %t481 = call i32 @fn_str_eq(ptr %t480, ptr @.str4329) - %t482 = icmp ne i32 %t481, 0 - br i1 %t482, label %then38, label %ifend40 + %t320 = load ptr, ptr %t314 + %t321 = call ptr @fn_str_concat(ptr @.str4444, ptr %t320) + %t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str4445) + %t323 = call ptr @fn_emit_bind(ptr %t322) + store ptr %t323, ptr %t324 + %t325 = load ptr, ptr %t324 + %t326 = call ptr @fn_str_concat(ptr @.str4446, ptr %t325) + %t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str4447) + %t328 = call ptr @fn_emit_bind(ptr %t327) + %t329 = call ptr @fn_val(ptr %t328, ptr @.str4448) + store ptr %t329, ptr %retval + br label %ret +ifend34: + %t330 = load ptr, ptr %t0 + %t331 = call i32 @fn_str_eq(ptr %t330, ptr @.str4449) + %t332 = icmp ne i32 %t331, 0 + br i1 %t332, label %then38, label %ifend40 then38: - %t483 = load ptr, ptr %t1 - %t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 7 - %t485 = load ptr, ptr %t484 - %t486 = getelementptr inbounds %LSlice, ptr %t485, i32 0, i32 0 - %t487 = load ptr, ptr %t486 - %t488 = getelementptr inbounds ptr, ptr %t487, i32 1 - %t489 = load ptr, ptr %t488 - %t490 = call ptr @fn_emit_expr(ptr %t489) - store ptr %t490, ptr %t491 - %t492 = load ptr, ptr %t45 - %t493 = call ptr @fn_str_concat(ptr @.str4330, ptr %t492) - %t494 = call ptr @fn_emit_bind(ptr %t493) - store ptr %t494, ptr %t495 - %t496 = call ptr @fn_emit_alloca(ptr @.str4331) - store ptr %t496, ptr %t497 - %t498 = load ptr, ptr %t497 - call void @fn_store_at(ptr @.str4332, ptr @.str4333, ptr %t498) - %t499 = call ptr @fn_emit_alloca(ptr @.str4334) - store ptr %t499, ptr %t500 - %t501 = load ptr, ptr %t500 - call void @fn_store_at(ptr @.str4335, ptr @.str4336, ptr %t501) - %t502 = call ptr @fn_lbl(ptr @.str4337) - store ptr %t502, ptr %t503 - %t504 = call ptr @fn_lbl(ptr @.str4338) - store ptr %t504, ptr %t505 - %t506 = call ptr @fn_lbl(ptr @.str4339) - store ptr %t506, ptr %t507 - %t508 = call ptr @fn_lbl(ptr @.str4340) - store ptr %t508, ptr %t509 - %t510 = call ptr @fn_lbl(ptr @.str4341) - store ptr %t510, ptr %t511 - call void @fn_emit(ptr @.str4342) - %t512 = load ptr, ptr %t503 - call void @fn_emit(ptr %t512) - call void @fn_emit(ptr @.str4343) - %t513 = load ptr, ptr %t503 - call void @fn_emit(ptr %t513) - call void @fn_emit(ptr @.str4344) - %t514 = load ptr, ptr %t500 - %t515 = call ptr @fn_str_concat(ptr @.str4345, ptr %t514) - %t516 = call ptr @fn_emit_bind(ptr %t515) - store ptr %t516, ptr %t517 - %t518 = load ptr, ptr %t517 - %t519 = call ptr @fn_str_concat(ptr @.str4346, ptr %t518) - %t520 = call ptr @fn_str_concat(ptr %t519, ptr @.str4347) - %t521 = load ptr, ptr %t495 - %t522 = call ptr @fn_str_concat(ptr %t520, ptr %t521) - %t523 = call ptr @fn_emit_bind(ptr %t522) - store ptr %t523, ptr %t524 - %t525 = load ptr, ptr %t497 - %t526 = call ptr @fn_str_concat(ptr @.str4348, ptr %t525) - %t527 = call ptr @fn_emit_bind(ptr %t526) - store ptr %t527, ptr %t528 - %t529 = load ptr, ptr %t528 - %t530 = call ptr @fn_str_concat(ptr @.str4349, ptr %t529) - %t531 = call ptr @fn_str_concat(ptr %t530, ptr @.str4350) - %t532 = call ptr @fn_emit_bind(ptr %t531) - store ptr %t532, ptr %t533 - %t534 = load ptr, ptr %t524 - %t535 = call ptr @fn_str_concat(ptr @.str4351, ptr %t534) - %t536 = call ptr @fn_str_concat(ptr %t535, ptr @.str4352) - %t537 = load ptr, ptr %t533 - %t538 = call ptr @fn_str_concat(ptr %t536, ptr %t537) - %t539 = call ptr @fn_emit_bind(ptr %t538) - store ptr %t539, ptr %t540 - call void @fn_emit(ptr @.str4353) - %t541 = load ptr, ptr %t540 - call void @fn_emit(ptr %t541) - call void @fn_emit(ptr @.str4354) - %t542 = load ptr, ptr %t505 - call void @fn_emit(ptr %t542) - call void @fn_emit(ptr @.str4355) - %t543 = load ptr, ptr %t511 - call void @fn_emit(ptr %t543) - call void @fn_emit(ptr @.str4356) - %t544 = load ptr, ptr %t505 - call void @fn_emit(ptr %t544) - call void @fn_emit(ptr @.str4357) - %t545 = load ptr, ptr %t42 - %t546 = load ptr, ptr %t38 - %t547 = load ptr, ptr %t517 - %t548 = call ptr @fn_list_elem_addr(ptr %t545, ptr %t546, ptr %t547) - store ptr %t548, ptr %t549 - %t550 = load ptr, ptr %t38 - %t551 = call ptr @fn_str_concat(ptr @.str4358, ptr %t550) - %t552 = call ptr @fn_str_concat(ptr %t551, ptr @.str4359) - %t553 = load ptr, ptr %t549 - %t554 = call ptr @fn_str_concat(ptr %t552, ptr %t553) - %t555 = call ptr @fn_emit_bind(ptr %t554) - store ptr %t555, ptr %t556 - %t557 = load ptr, ptr %t38 - %t558 = call ptr @fn_str_concat(ptr @.str4360, ptr %t557) - %t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str4361) - %t560 = load ptr, ptr %t556 - %t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560) - %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str4362) - %t563 = load ptr, ptr %t491 - %t564 = getelementptr inbounds %Cmp_Val, ptr %t563, i32 0, i32 0 - %t565 = load ptr, ptr %t564 - %t566 = call ptr @fn_str_concat(ptr %t562, ptr %t565) - %t567 = call ptr @fn_emit_bind(ptr %t566) - store ptr %t567, ptr %t568 - call void @fn_emit(ptr @.str4363) - %t569 = load ptr, ptr %t568 - call void @fn_emit(ptr %t569) - call void @fn_emit(ptr @.str4364) - %t570 = load ptr, ptr %t507 - call void @fn_emit(ptr %t570) - call void @fn_emit(ptr @.str4365) - %t571 = load ptr, ptr %t509 - call void @fn_emit(ptr %t571) - call void @fn_emit(ptr @.str4366) - %t572 = load ptr, ptr %t507 - call void @fn_emit(ptr %t572) - call void @fn_emit(ptr @.str4367) - %t573 = load ptr, ptr %t517 - %t574 = load ptr, ptr %t497 - call void @fn_store_at(ptr @.str4368, ptr %t573, ptr %t574) - call void @fn_emit(ptr @.str4369) - %t575 = load ptr, ptr %t503 - call void @fn_emit(ptr %t575) - call void @fn_emit(ptr @.str4370) - %t576 = load ptr, ptr %t509 - call void @fn_emit(ptr %t576) - call void @fn_emit(ptr @.str4371) - %t577 = load ptr, ptr %t517 - %t578 = call ptr @fn_str_concat(ptr @.str4372, ptr %t577) - %t579 = call ptr @fn_str_concat(ptr %t578, ptr @.str4373) - %t580 = call ptr @fn_emit_bind(ptr %t579) - store ptr %t580, ptr %t581 - %t582 = load ptr, ptr %t581 - %t583 = load ptr, ptr %t500 - call void @fn_store_at(ptr @.str4374, ptr %t582, ptr %t583) - call void @fn_emit(ptr @.str4375) - %t584 = load ptr, ptr %t503 - call void @fn_emit(ptr %t584) - call void @fn_emit(ptr @.str4376) - %t585 = load ptr, ptr %t511 - call void @fn_emit(ptr %t585) - call void @fn_emit(ptr @.str4377) - %t586 = load ptr, ptr %t497 - %t587 = call ptr @fn_str_concat(ptr @.str4378, ptr %t586) - %t588 = call ptr @fn_emit_bind(ptr %t587) - store ptr %t588, ptr %t589 - %t590 = load ptr, ptr %t589 - %t591 = call ptr @fn_str_concat(ptr @.str4379, ptr %t590) - %t592 = call ptr @fn_str_concat(ptr %t591, ptr @.str4380) - %t593 = call ptr @fn_emit_bind(ptr %t592) - store ptr %t593, ptr %t594 - %t595 = call ptr @fn_lbl(ptr @.str4381) - store ptr %t595, ptr %t596 - %t597 = call ptr @fn_lbl(ptr @.str4382) - store ptr %t597, ptr %t598 - call void @fn_emit(ptr @.str4383) - %t599 = load ptr, ptr %t594 - call void @fn_emit(ptr %t599) - call void @fn_emit(ptr @.str4384) - %t600 = load ptr, ptr %t596 - call void @fn_emit(ptr %t600) - call void @fn_emit(ptr @.str4385) - %t601 = load ptr, ptr %t598 - call void @fn_emit(ptr %t601) - call void @fn_emit(ptr @.str4386) - %t602 = load ptr, ptr %t596 - call void @fn_emit(ptr %t602) - call void @fn_emit(ptr @.str4387) - %t603 = load ptr, ptr %t495 - %t604 = call ptr @fn_str_concat(ptr @.str4388, ptr %t603) - %t605 = call ptr @fn_str_concat(ptr %t604, ptr @.str4389) - %t606 = call ptr @fn_emit_bind(ptr %t605) - store ptr %t606, ptr %t607 - %t608 = call ptr @fn_emit_alloca(ptr @.str4390) - store ptr %t608, ptr %t609 - %t610 = load ptr, ptr %t589 - %t611 = load ptr, ptr %t609 - call void @fn_store_at(ptr @.str4391, ptr %t610, ptr %t611) - %t612 = call ptr @fn_lbl(ptr @.str4392) - store ptr %t612, ptr %t613 - %t614 = call ptr @fn_lbl(ptr @.str4393) - store ptr %t614, ptr %t615 - %t616 = call ptr @fn_lbl(ptr @.str4394) - store ptr %t616, ptr %t617 - call void @fn_emit(ptr @.str4395) - %t618 = load ptr, ptr %t613 - call void @fn_emit(ptr %t618) - call void @fn_emit(ptr @.str4396) - %t619 = load ptr, ptr %t613 - call void @fn_emit(ptr %t619) - call void @fn_emit(ptr @.str4397) - %t620 = load ptr, ptr %t609 - %t621 = call ptr @fn_str_concat(ptr @.str4398, ptr %t620) - %t622 = call ptr @fn_emit_bind(ptr %t621) - store ptr %t622, ptr %t623 - %t624 = load ptr, ptr %t623 - %t625 = call ptr @fn_str_concat(ptr @.str4399, ptr %t624) - %t626 = call ptr @fn_str_concat(ptr %t625, ptr @.str4400) - %t627 = load ptr, ptr %t607 - %t628 = call ptr @fn_str_concat(ptr %t626, ptr %t627) - %t629 = call ptr @fn_emit_bind(ptr %t628) - store ptr %t629, ptr %t630 - call void @fn_emit(ptr @.str4401) - %t631 = load ptr, ptr %t630 - call void @fn_emit(ptr %t631) - call void @fn_emit(ptr @.str4402) - %t632 = load ptr, ptr %t615 - call void @fn_emit(ptr %t632) - call void @fn_emit(ptr @.str4403) - %t633 = load ptr, ptr %t617 - call void @fn_emit(ptr %t633) - call void @fn_emit(ptr @.str4404) - %t634 = load ptr, ptr %t615 - call void @fn_emit(ptr %t634) - call void @fn_emit(ptr @.str4405) - %t635 = load ptr, ptr %t623 - %t636 = call ptr @fn_str_concat(ptr @.str4406, ptr %t635) - %t637 = call ptr @fn_str_concat(ptr %t636, ptr @.str4407) - %t638 = call ptr @fn_emit_bind(ptr %t637) - store ptr %t638, ptr %t639 - %t640 = load ptr, ptr %t42 - %t641 = load ptr, ptr %t38 - %t642 = load ptr, ptr %t639 - %t643 = call ptr @fn_list_elem_addr(ptr %t640, ptr %t641, ptr %t642) - store ptr %t643, ptr %t644 - %t645 = load ptr, ptr %t38 - %t646 = call ptr @fn_str_concat(ptr @.str4408, ptr %t645) - %t647 = call ptr @fn_str_concat(ptr %t646, ptr @.str4409) - %t648 = load ptr, ptr %t644 - %t649 = call ptr @fn_str_concat(ptr %t647, ptr %t648) - %t650 = call ptr @fn_emit_bind(ptr %t649) - store ptr %t650, ptr %t651 - %t652 = load ptr, ptr %t42 - %t653 = load ptr, ptr %t38 - %t654 = load ptr, ptr %t623 - %t655 = call ptr @fn_list_elem_addr(ptr %t652, ptr %t653, ptr %t654) - store ptr %t655, ptr %t656 - call void @fn_emit(ptr @.str4410) - %t657 = load ptr, ptr %t38 - call void @fn_emit(ptr %t657) - call void @fn_emit(ptr @.str4411) - %t658 = load ptr, ptr %t651 - call void @fn_emit(ptr %t658) - call void @fn_emit(ptr @.str4412) - %t659 = load ptr, ptr %t656 - call void @fn_emit(ptr %t659) - call void @fn_emit(ptr @.str4413) - %t660 = load ptr, ptr %t639 - %t661 = load ptr, ptr %t609 - call void @fn_store_at(ptr @.str4414, ptr %t660, ptr %t661) - call void @fn_emit(ptr @.str4415) - %t662 = load ptr, ptr %t613 - call void @fn_emit(ptr %t662) - call void @fn_emit(ptr @.str4416) - %t663 = load ptr, ptr %t617 - call void @fn_emit(ptr %t663) - call void @fn_emit(ptr @.str4417) - call void @fn_emit(ptr @.str4418) - %t664 = load ptr, ptr %t607 - call void @fn_emit(ptr %t664) - call void @fn_emit(ptr @.str4419) - %t665 = load ptr, ptr %t45 - call void @fn_emit(ptr %t665) - call void @fn_emit(ptr @.str4420) - call void @fn_emit(ptr @.str4421) - %t666 = load ptr, ptr %t598 - call void @fn_emit(ptr %t666) - call void @fn_emit(ptr @.str4422) - %t667 = load ptr, ptr %t598 - call void @fn_emit(ptr %t667) - call void @fn_emit(ptr @.str4423) - %t668 = call ptr @fn_val(ptr @.str4424, ptr @.str4425) - store ptr %t668, ptr %retval + %t333 = load ptr, ptr %t1 + %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 7 + %t335 = load ptr, ptr %t334 + %t336 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 + %t337 = load ptr, ptr %t336 + %t338 = getelementptr inbounds ptr, ptr %t337, i32 1 + %t339 = load ptr, ptr %t338 + %t340 = call ptr @fn_emit_expr(ptr %t339) + store ptr %t340, ptr %t341 + %t342 = load ptr, ptr %t1 + %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 7 + %t344 = load ptr, ptr %t343 + %t345 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 + %t346 = load ptr, ptr %t345 + %t347 = getelementptr inbounds ptr, ptr %t346, i32 2 + %t348 = load ptr, ptr %t347 + %t349 = call ptr @fn_emit_expr(ptr %t348) + store ptr %t349, ptr %t350 + %t351 = load ptr, ptr %t79 + %t352 = load ptr, ptr %t75 + call void @fn_list_grow_if_full(ptr %t351, ptr %t352) + %t353 = load ptr, ptr %t82 + %t354 = call ptr @fn_str_concat(ptr @.str4450, ptr %t353) + %t355 = call ptr @fn_emit_bind(ptr %t354) + store ptr %t355, ptr %t356 + %t357 = call ptr @fn_emit_alloca(ptr @.str4451) + store ptr %t357, ptr %t358 + %t359 = load ptr, ptr %t356 + %t360 = load ptr, ptr %t358 + call void @fn_store_at(ptr @.str4452, ptr %t359, ptr %t360) + %t361 = call ptr @fn_lbl(ptr @.str4453) + store ptr %t361, ptr %t362 + %t363 = call ptr @fn_lbl(ptr @.str4454) + store ptr %t363, ptr %t364 + %t365 = call ptr @fn_lbl(ptr @.str4455) + store ptr %t365, ptr %t366 + call void @fn_emit(ptr @.str4456) + %t367 = load ptr, ptr %t362 + call void @fn_emit(ptr %t367) + call void @fn_emit(ptr @.str4457) + %t368 = load ptr, ptr %t362 + call void @fn_emit(ptr %t368) + call void @fn_emit(ptr @.str4458) + %t369 = load ptr, ptr %t358 + %t370 = call ptr @fn_str_concat(ptr @.str4459, ptr %t369) + %t371 = call ptr @fn_emit_bind(ptr %t370) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @fn_str_concat(ptr @.str4460, ptr %t373) + %t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str4461) + %t376 = load ptr, ptr %t341 + %t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0 + %t378 = load ptr, ptr %t377 + %t379 = call ptr @fn_str_concat(ptr %t375, ptr %t378) + %t380 = call ptr @fn_emit_bind(ptr %t379) + store ptr %t380, ptr %t381 + call void @fn_emit(ptr @.str4462) + %t382 = load ptr, ptr %t381 + call void @fn_emit(ptr %t382) + call void @fn_emit(ptr @.str4463) + %t383 = load ptr, ptr %t364 + call void @fn_emit(ptr %t383) + call void @fn_emit(ptr @.str4464) + %t384 = load ptr, ptr %t366 + call void @fn_emit(ptr %t384) + call void @fn_emit(ptr @.str4465) + %t385 = load ptr, ptr %t364 + call void @fn_emit(ptr %t385) + call void @fn_emit(ptr @.str4466) + %t386 = load ptr, ptr %t372 + %t387 = call ptr @fn_str_concat(ptr @.str4467, ptr %t386) + %t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4468) + %t389 = call ptr @fn_emit_bind(ptr %t388) + store ptr %t389, ptr %t390 + %t391 = load ptr, ptr %t79 + %t392 = load ptr, ptr %t75 + %t393 = load ptr, ptr %t390 + %t394 = call ptr @fn_list_elem_addr(ptr %t391, ptr %t392, ptr %t393) + store ptr %t394, ptr %t395 + %t396 = load ptr, ptr %t75 + %t397 = call ptr @fn_str_concat(ptr @.str4469, ptr %t396) + %t398 = call ptr @fn_str_concat(ptr %t397, ptr @.str4470) + %t399 = load ptr, ptr %t395 + %t400 = call ptr @fn_str_concat(ptr %t398, ptr %t399) + %t401 = call ptr @fn_emit_bind(ptr %t400) + store ptr %t401, ptr %t402 + %t403 = load ptr, ptr %t79 + %t404 = load ptr, ptr %t75 + %t405 = load ptr, ptr %t372 + %t406 = call ptr @fn_list_elem_addr(ptr %t403, ptr %t404, ptr %t405) + store ptr %t406, ptr %t407 + call void @fn_emit(ptr @.str4471) + %t408 = load ptr, ptr %t75 + call void @fn_emit(ptr %t408) + call void @fn_emit(ptr @.str4472) + %t409 = load ptr, ptr %t402 + call void @fn_emit(ptr %t409) + call void @fn_emit(ptr @.str4473) + %t410 = load ptr, ptr %t407 + call void @fn_emit(ptr %t410) + call void @fn_emit(ptr @.str4474) + %t411 = load ptr, ptr %t390 + %t412 = load ptr, ptr %t358 + call void @fn_store_at(ptr @.str4475, ptr %t411, ptr %t412) + call void @fn_emit(ptr @.str4476) + %t413 = load ptr, ptr %t362 + call void @fn_emit(ptr %t413) + call void @fn_emit(ptr @.str4477) + %t414 = load ptr, ptr %t366 + call void @fn_emit(ptr %t414) + call void @fn_emit(ptr @.str4478) + %t415 = load ptr, ptr %t79 + %t416 = load ptr, ptr %t75 + %t417 = load ptr, ptr %t341 + %t418 = getelementptr inbounds %Cmp_Val, ptr %t417, i32 0, i32 0 + %t419 = load ptr, ptr %t418 + %t420 = call ptr @fn_list_elem_addr(ptr %t415, ptr %t416, ptr %t419) + store ptr %t420, ptr %t421 + call void @fn_emit(ptr @.str4479) + %t422 = load ptr, ptr %t75 + call void @fn_emit(ptr %t422) + call void @fn_emit(ptr @.str4480) + %t423 = load ptr, ptr %t350 + %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 + %t425 = load ptr, ptr %t424 + call void @fn_emit(ptr %t425) + call void @fn_emit(ptr @.str4481) + %t426 = load ptr, ptr %t421 + call void @fn_emit(ptr %t426) + call void @fn_emit(ptr @.str4482) + %t427 = load ptr, ptr %t356 + %t428 = call ptr @fn_str_concat(ptr @.str4483, ptr %t427) + %t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str4484) + %t430 = call ptr @fn_emit_bind(ptr %t429) + store ptr %t430, ptr %t431 + call void @fn_emit(ptr @.str4485) + %t432 = load ptr, ptr %t431 + call void @fn_emit(ptr %t432) + call void @fn_emit(ptr @.str4486) + %t433 = load ptr, ptr %t82 + call void @fn_emit(ptr %t433) + call void @fn_emit(ptr @.str4487) + %t434 = call ptr @fn_val(ptr @.str4488, ptr @.str4489) + store ptr %t434, ptr %retval br label %ret ifend40: - %t669 = load ptr, ptr %t0 - %t670 = call i32 @fn_str_eq(ptr %t669, ptr @.str4426) - %t671 = icmp ne i32 %t670, 0 - br i1 %t671, label %then41, label %ifend43 + %t435 = load ptr, ptr %t0 + %t436 = call i32 @fn_str_eq(ptr %t435, ptr @.str4490) + %t437 = icmp ne i32 %t436, 0 + br i1 %t437, label %then41, label %ifend43 then41: - %t672 = load ptr, ptr %t45 - %t673 = call ptr @fn_str_concat(ptr @.str4427, ptr %t672) - %t674 = call ptr @fn_emit_bind(ptr %t673) - store ptr %t674, ptr %t675 - %t676 = load ptr, ptr %t675 - %t677 = call ptr @fn_str_concat(ptr @.str4428, ptr %t676) - %t678 = call ptr @fn_str_concat(ptr %t677, ptr @.str4429) - %t679 = call ptr @fn_emit_bind(ptr %t678) - store ptr %t679, ptr %t680 - %t681 = call ptr @fn_lbl(ptr @.str4430) - store ptr %t681, ptr %t682 - %t683 = call ptr @fn_lbl(ptr @.str4431) - store ptr %t683, ptr %t684 - %t685 = call ptr @fn_lbl(ptr @.str4432) - store ptr %t685, ptr %t686 - call void @fn_emit(ptr @.str4433) - %t687 = load ptr, ptr %t680 - call void @fn_emit(ptr %t687) - call void @fn_emit(ptr @.str4434) - %t688 = load ptr, ptr %t682 - call void @fn_emit(ptr %t688) - call void @fn_emit(ptr @.str4435) - %t689 = load ptr, ptr %t684 - call void @fn_emit(ptr %t689) - call void @fn_emit(ptr @.str4436) - %t690 = load ptr, ptr %t682 - call void @fn_emit(ptr %t690) - call void @fn_emit(ptr @.str4437) - %t691 = load ptr, ptr %t45 - %t692 = call ptr @fn_str_concat(ptr @.str4438, ptr %t691) - %t693 = call ptr @fn_emit_bind(ptr %t692) - store ptr %t693, ptr %t694 - %t695 = call ptr @fn_emit_alloca(ptr @.str4439) - store ptr %t695, ptr %t696 - %t697 = load ptr, ptr %t696 - call void @fn_store_at(ptr @.str4440, ptr @.str4441, ptr %t697) - %t698 = call ptr @fn_lbl(ptr @.str4442) - store ptr %t698, ptr %t699 - %t700 = call ptr @fn_lbl(ptr @.str4443) - store ptr %t700, ptr %t701 - %t702 = call ptr @fn_lbl(ptr @.str4444) - store ptr %t702, ptr %t703 - call void @fn_emit(ptr @.str4445) - %t704 = load ptr, ptr %t699 - call void @fn_emit(ptr %t704) - call void @fn_emit(ptr @.str4446) - %t705 = load ptr, ptr %t699 - call void @fn_emit(ptr %t705) - call void @fn_emit(ptr @.str4447) - %t706 = load ptr, ptr %t696 - %t707 = call ptr @fn_str_concat(ptr @.str4448, ptr %t706) - %t708 = call ptr @fn_emit_bind(ptr %t707) - store ptr %t708, ptr %t709 - %t710 = load ptr, ptr %t709 - %t711 = call ptr @fn_str_concat(ptr @.str4449, ptr %t710) - %t712 = call ptr @fn_str_concat(ptr %t711, ptr @.str4450) - %t713 = load ptr, ptr %t694 - %t714 = call ptr @fn_str_concat(ptr %t712, ptr %t713) - %t715 = call ptr @fn_emit_bind(ptr %t714) - store ptr %t715, ptr %t716 - call void @fn_emit(ptr @.str4451) - %t717 = load ptr, ptr %t716 - call void @fn_emit(ptr %t717) - call void @fn_emit(ptr @.str4452) - %t718 = load ptr, ptr %t701 - call void @fn_emit(ptr %t718) - call void @fn_emit(ptr @.str4453) - %t719 = load ptr, ptr %t703 - call void @fn_emit(ptr %t719) - call void @fn_emit(ptr @.str4454) - %t720 = load ptr, ptr %t701 - call void @fn_emit(ptr %t720) - call void @fn_emit(ptr @.str4455) - %t721 = load ptr, ptr %t42 - %t722 = load ptr, ptr %t38 - %t723 = load ptr, ptr %t709 - %t724 = call ptr @fn_list_elem_addr(ptr %t721, ptr %t722, ptr %t723) - store ptr %t724, ptr %t725 - %t726 = load ptr, ptr %t38 - %t727 = call ptr @fn_str_concat(ptr @.str4456, ptr %t726) - %t728 = call ptr @fn_str_concat(ptr %t727, ptr @.str4457) - %t729 = load ptr, ptr %t725 - %t730 = call ptr @fn_str_concat(ptr %t728, ptr %t729) - %t731 = call ptr @fn_emit_bind(ptr %t730) - store ptr %t731, ptr %t732 - %t733 = call ptr @fn_emit_alloca(ptr @.str4458) - store ptr %t733, ptr %t734 - %t735 = load ptr, ptr %t709 - %t736 = call ptr @fn_str_concat(ptr @.str4459, ptr %t735) - %t737 = call ptr @fn_str_concat(ptr %t736, ptr @.str4460) - %t738 = call ptr @fn_emit_bind(ptr %t737) - store ptr %t738, ptr %t739 - %t740 = load ptr, ptr %t739 - %t741 = load ptr, ptr %t734 - call void @fn_store_at(ptr @.str4461, ptr %t740, ptr %t741) - %t742 = call ptr @fn_lbl(ptr @.str4462) - store ptr %t742, ptr %t743 - %t744 = call ptr @fn_lbl(ptr @.str4463) - store ptr %t744, ptr %t745 - %t746 = call ptr @fn_lbl(ptr @.str4464) - store ptr %t746, ptr %t747 - call void @fn_emit(ptr @.str4465) - %t748 = load ptr, ptr %t743 - call void @fn_emit(ptr %t748) - call void @fn_emit(ptr @.str4466) - %t749 = load ptr, ptr %t743 - call void @fn_emit(ptr %t749) - call void @fn_emit(ptr @.str4467) - %t750 = load ptr, ptr %t734 - %t751 = call ptr @fn_str_concat(ptr @.str4468, ptr %t750) - %t752 = call ptr @fn_emit_bind(ptr %t751) - store ptr %t752, ptr %t753 - %t754 = load ptr, ptr %t753 - %t755 = call ptr @fn_str_concat(ptr @.str4469, ptr %t754) - %t756 = call ptr @fn_str_concat(ptr %t755, ptr @.str4470) - %t757 = call ptr @fn_emit_bind(ptr %t756) - store ptr %t757, ptr %t758 - %t759 = load ptr, ptr %t42 - %t760 = load ptr, ptr %t38 - %t761 = load ptr, ptr %t753 - %t762 = call ptr @fn_list_elem_addr(ptr %t759, ptr %t760, ptr %t761) - store ptr %t762, ptr %t763 - %t764 = load ptr, ptr %t38 - %t765 = call ptr @fn_str_concat(ptr @.str4471, ptr %t764) - %t766 = call ptr @fn_str_concat(ptr %t765, ptr @.str4472) - %t767 = load ptr, ptr %t763 - %t768 = call ptr @fn_str_concat(ptr %t766, ptr %t767) - %t769 = call ptr @fn_emit_bind(ptr %t768) - store ptr %t769, ptr %t770 - %t771 = load ptr, ptr %t38 - %t772 = call ptr @fn_str_concat(ptr @.str4473, ptr %t771) - %t773 = call ptr @fn_str_concat(ptr %t772, ptr @.str4474) - %t774 = load ptr, ptr %t770 - %t775 = call ptr @fn_str_concat(ptr %t773, ptr %t774) - %t776 = call ptr @fn_str_concat(ptr %t775, ptr @.str4475) - %t777 = load ptr, ptr %t732 - %t778 = call ptr @fn_str_concat(ptr %t776, ptr %t777) - %t779 = call ptr @fn_emit_bind(ptr %t778) - store ptr %t779, ptr %t780 - %t781 = load ptr, ptr %t758 - %t782 = call ptr @fn_str_concat(ptr @.str4476, ptr %t781) - %t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str4477) - %t784 = load ptr, ptr %t780 - %t785 = call ptr @fn_str_concat(ptr %t783, ptr %t784) - %t786 = call ptr @fn_emit_bind(ptr %t785) - store ptr %t786, ptr %t787 - call void @fn_emit(ptr @.str4478) - %t788 = load ptr, ptr %t787 - call void @fn_emit(ptr %t788) - call void @fn_emit(ptr @.str4479) - %t789 = load ptr, ptr %t745 - call void @fn_emit(ptr %t789) - call void @fn_emit(ptr @.str4480) - %t790 = load ptr, ptr %t747 - call void @fn_emit(ptr %t790) - call void @fn_emit(ptr @.str4481) - %t791 = load ptr, ptr %t745 - call void @fn_emit(ptr %t791) - call void @fn_emit(ptr @.str4482) - %t792 = load ptr, ptr %t753 - %t793 = call ptr @fn_str_concat(ptr @.str4483, ptr %t792) - %t794 = call ptr @fn_str_concat(ptr %t793, ptr @.str4484) - %t795 = call ptr @fn_emit_bind(ptr %t794) - store ptr %t795, ptr %t796 - %t797 = load ptr, ptr %t42 - %t798 = load ptr, ptr %t38 - %t799 = load ptr, ptr %t796 - %t800 = call ptr @fn_list_elem_addr(ptr %t797, ptr %t798, ptr %t799) - store ptr %t800, ptr %t801 - call void @fn_emit(ptr @.str4485) - %t802 = load ptr, ptr %t38 - call void @fn_emit(ptr %t802) - call void @fn_emit(ptr @.str4486) - %t803 = load ptr, ptr %t770 - call void @fn_emit(ptr %t803) - call void @fn_emit(ptr @.str4487) - %t804 = load ptr, ptr %t801 - call void @fn_emit(ptr %t804) - call void @fn_emit(ptr @.str4488) - %t805 = load ptr, ptr %t753 - %t806 = call ptr @fn_str_concat(ptr @.str4489, ptr %t805) - %t807 = call ptr @fn_str_concat(ptr %t806, ptr @.str4490) - %t808 = call ptr @fn_emit_bind(ptr %t807) - store ptr %t808, ptr %t809 - %t810 = load ptr, ptr %t809 - %t811 = load ptr, ptr %t734 - call void @fn_store_at(ptr @.str4491, ptr %t810, ptr %t811) - call void @fn_emit(ptr @.str4492) - %t812 = load ptr, ptr %t743 - call void @fn_emit(ptr %t812) - call void @fn_emit(ptr @.str4493) - %t813 = load ptr, ptr %t747 - call void @fn_emit(ptr %t813) - call void @fn_emit(ptr @.str4494) - %t814 = load ptr, ptr %t734 - %t815 = call ptr @fn_str_concat(ptr @.str4495, ptr %t814) - %t816 = call ptr @fn_emit_bind(ptr %t815) - store ptr %t816, ptr %t817 - %t818 = load ptr, ptr %t817 - %t819 = call ptr @fn_str_concat(ptr @.str4496, ptr %t818) - %t820 = call ptr @fn_str_concat(ptr %t819, ptr @.str4497) - %t821 = call ptr @fn_emit_bind(ptr %t820) - store ptr %t821, ptr %t822 - %t823 = load ptr, ptr %t42 - %t824 = load ptr, ptr %t38 - %t825 = load ptr, ptr %t822 - %t826 = call ptr @fn_list_elem_addr(ptr %t823, ptr %t824, ptr %t825) - store ptr %t826, ptr %t827 - call void @fn_emit(ptr @.str4498) - %t828 = load ptr, ptr %t38 - call void @fn_emit(ptr %t828) + %t438 = load ptr, ptr %t1 + %t439 = getelementptr inbounds %Cmp_Node, ptr %t438, i32 0, i32 7 + %t440 = load ptr, ptr %t439 + %t441 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 0 + %t442 = load ptr, ptr %t441 + %t443 = getelementptr inbounds ptr, ptr %t442, i32 1 + %t444 = load ptr, ptr %t443 + %t445 = call ptr @fn_emit_expr(ptr %t444) + store ptr %t445, ptr %t446 + %t447 = load ptr, ptr %t82 + %t448 = call ptr @fn_str_concat(ptr @.str4491, ptr %t447) + %t449 = call ptr @fn_emit_bind(ptr %t448) + store ptr %t449, ptr %t450 + %t451 = load ptr, ptr %t450 + %t452 = call ptr @fn_str_concat(ptr @.str4492, ptr %t451) + %t453 = call ptr @fn_str_concat(ptr %t452, ptr @.str4493) + %t454 = call ptr @fn_emit_bind(ptr %t453) + store ptr %t454, ptr %t455 + %t456 = call ptr @fn_emit_alloca(ptr @.str4494) + store ptr %t456, ptr %t457 + %t458 = load ptr, ptr %t446 + %t459 = getelementptr inbounds %Cmp_Val, ptr %t458, i32 0, i32 0 + %t460 = load ptr, ptr %t459 + %t461 = load ptr, ptr %t457 + call void @fn_store_at(ptr @.str4495, ptr %t460, ptr %t461) + %t462 = call ptr @fn_lbl(ptr @.str4496) + store ptr %t462, ptr %t463 + %t464 = call ptr @fn_lbl(ptr @.str4497) + store ptr %t464, ptr %t465 + %t466 = call ptr @fn_lbl(ptr @.str4498) + store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str4499) - %t829 = load ptr, ptr %t732 - call void @fn_emit(ptr %t829) + %t468 = load ptr, ptr %t463 + call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str4500) - %t830 = load ptr, ptr %t827 - call void @fn_emit(ptr %t830) + %t469 = load ptr, ptr %t463 + call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str4501) - %t831 = load ptr, ptr %t709 - %t832 = call ptr @fn_str_concat(ptr @.str4502, ptr %t831) - %t833 = call ptr @fn_str_concat(ptr %t832, ptr @.str4503) - %t834 = call ptr @fn_emit_bind(ptr %t833) - store ptr %t834, ptr %t835 - %t836 = load ptr, ptr %t835 - %t837 = load ptr, ptr %t696 - call void @fn_store_at(ptr @.str4504, ptr %t836, ptr %t837) + %t470 = load ptr, ptr %t457 + %t471 = call ptr @fn_str_concat(ptr @.str4502, ptr %t470) + %t472 = call ptr @fn_emit_bind(ptr %t471) + store ptr %t472, ptr %t473 + %t474 = load ptr, ptr %t473 + %t475 = call ptr @fn_str_concat(ptr @.str4503, ptr %t474) + %t476 = call ptr @fn_str_concat(ptr %t475, ptr @.str4504) + %t477 = load ptr, ptr %t455 + %t478 = call ptr @fn_str_concat(ptr %t476, ptr %t477) + %t479 = call ptr @fn_emit_bind(ptr %t478) + store ptr %t479, ptr %t480 call void @fn_emit(ptr @.str4505) - %t838 = load ptr, ptr %t699 - call void @fn_emit(ptr %t838) + %t481 = load ptr, ptr %t480 + call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str4506) - %t839 = load ptr, ptr %t703 - call void @fn_emit(ptr %t839) + %t482 = load ptr, ptr %t465 + call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str4507) + %t483 = load ptr, ptr %t467 + call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str4508) - %t840 = load ptr, ptr %t686 - call void @fn_emit(ptr %t840) + %t484 = load ptr, ptr %t465 + call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str4509) - %t841 = load ptr, ptr %t684 - call void @fn_emit(ptr %t841) - call void @fn_emit(ptr @.str4510) - %t842 = load ptr, ptr %t42 - %t843 = load ptr, ptr %t38 - call void @fn_emit_merge_sort(ptr %t842, ptr %t843, i32 3, ptr @.str4511, ptr @.str4512) - call void @fn_emit(ptr @.str4513) - %t844 = load ptr, ptr %t686 - call void @fn_emit(ptr %t844) + %t485 = load ptr, ptr %t473 + %t486 = call ptr @fn_str_concat(ptr @.str4510, ptr %t485) + %t487 = call ptr @fn_str_concat(ptr %t486, ptr @.str4511) + %t488 = call ptr @fn_emit_bind(ptr %t487) + store ptr %t488, ptr %t489 + %t490 = load ptr, ptr %t79 + %t491 = load ptr, ptr %t75 + %t492 = load ptr, ptr %t489 + %t493 = call ptr @fn_list_elem_addr(ptr %t490, ptr %t491, ptr %t492) + store ptr %t493, ptr %t494 + %t495 = load ptr, ptr %t75 + %t496 = call ptr @fn_str_concat(ptr @.str4512, ptr %t495) + %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str4513) + %t498 = load ptr, ptr %t494 + %t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498) + %t500 = call ptr @fn_emit_bind(ptr %t499) + store ptr %t500, ptr %t501 + %t502 = load ptr, ptr %t79 + %t503 = load ptr, ptr %t75 + %t504 = load ptr, ptr %t473 + %t505 = call ptr @fn_list_elem_addr(ptr %t502, ptr %t503, ptr %t504) + store ptr %t505, ptr %t506 call void @fn_emit(ptr @.str4514) - %t845 = load ptr, ptr %t686 - call void @fn_emit(ptr %t845) + %t507 = load ptr, ptr %t75 + call void @fn_emit(ptr %t507) call void @fn_emit(ptr @.str4515) - %t846 = call ptr @fn_val(ptr @.str4516, ptr @.str4517) - store ptr %t846, ptr %retval + %t508 = load ptr, ptr %t501 + call void @fn_emit(ptr %t508) + call void @fn_emit(ptr @.str4516) + %t509 = load ptr, ptr %t506 + call void @fn_emit(ptr %t509) + call void @fn_emit(ptr @.str4517) + %t510 = load ptr, ptr %t489 + %t511 = load ptr, ptr %t457 + call void @fn_store_at(ptr @.str4518, ptr %t510, ptr %t511) + call void @fn_emit(ptr @.str4519) + %t512 = load ptr, ptr %t463 + call void @fn_emit(ptr %t512) + call void @fn_emit(ptr @.str4520) + %t513 = load ptr, ptr %t467 + call void @fn_emit(ptr %t513) + call void @fn_emit(ptr @.str4521) + call void @fn_emit(ptr @.str4522) + %t514 = load ptr, ptr %t455 + call void @fn_emit(ptr %t514) + call void @fn_emit(ptr @.str4523) + %t515 = load ptr, ptr %t82 + call void @fn_emit(ptr %t515) + call void @fn_emit(ptr @.str4524) + %t516 = call ptr @fn_val(ptr @.str4525, ptr @.str4526) + store ptr %t516, ptr %retval br label %ret ifend43: - %t847 = load ptr, ptr %t0 - %t848 = call i32 @fn_str_eq(ptr %t847, ptr @.str4518) - %t849 = icmp ne i32 %t848, 0 - br i1 %t849, label %then44, label %ifend46 + %t517 = load ptr, ptr %t0 + %t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str4527) + %t519 = icmp ne i32 %t518, 0 + br i1 %t519, label %then44, label %ifend46 then44: - %t850 = load ptr, ptr %t0 - %t851 = load ptr, ptr %t1 - %t852 = call ptr @fn_sort_fn_arg(ptr %t850, ptr %t851) - store ptr %t852, ptr %t853 - %t854 = load ptr, ptr %t853 - %t855 = call ptr @fn_find_fn(ptr %t854) - %t856 = call ptr @fn_param_types(ptr %t855) - %t857 = getelementptr inbounds %LSlice, ptr %t856, i32 0, i32 1 - %t858 = load i32, ptr %t857 - %t859 = icmp ne i32 %t858, 2 - %t860 = zext i1 %t859 to i32 - %t861 = icmp ne i32 %t860, 0 - br i1 %t861, label %then47, label %ifend49 -then47: - %t862 = load ptr, ptr %t853 - %t863 = call ptr @fn_str_concat(ptr @.str4519, ptr %t862) - %t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str4520) - call void @fn_perr(ptr %t864) - br label %ifend49 -ifend49: - %t865 = load ptr, ptr %t42 - %t866 = load ptr, ptr %t38 - %t867 = load ptr, ptr %t853 - call void @fn_emit_merge_sort(ptr %t865, ptr %t866, i32 0, ptr %t867, ptr @.str4521) - %t868 = call ptr @fn_val(ptr @.str4522, ptr @.str4523) - store ptr %t868, ptr %retval + %t520 = load ptr, ptr %t1 + %t521 = getelementptr inbounds %Cmp_Node, ptr %t520, i32 0, i32 7 + %t522 = load ptr, ptr %t521 + %t523 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 0 + %t524 = load ptr, ptr %t523 + %t525 = getelementptr inbounds ptr, ptr %t524, i32 1 + %t526 = load ptr, ptr %t525 + %t527 = call ptr @fn_emit_expr(ptr %t526) + store ptr %t527, ptr %t528 + %t529 = load ptr, ptr %t82 + %t530 = call ptr @fn_str_concat(ptr @.str4528, ptr %t529) + %t531 = call ptr @fn_emit_bind(ptr %t530) + store ptr %t531, ptr %t532 + %t533 = call ptr @fn_emit_alloca(ptr @.str4529) + store ptr %t533, ptr %t534 + %t535 = load ptr, ptr %t534 + call void @fn_store_at(ptr @.str4530, ptr @.str4531, ptr %t535) + %t536 = call ptr @fn_emit_alloca(ptr @.str4532) + store ptr %t536, ptr %t537 + %t538 = load ptr, ptr %t537 + call void @fn_store_at(ptr @.str4533, ptr @.str4534, ptr %t538) + %t539 = call ptr @fn_lbl(ptr @.str4535) + store ptr %t539, ptr %t540 + %t541 = call ptr @fn_lbl(ptr @.str4536) + store ptr %t541, ptr %t542 + %t543 = call ptr @fn_lbl(ptr @.str4537) + store ptr %t543, ptr %t544 + %t545 = call ptr @fn_lbl(ptr @.str4538) + store ptr %t545, ptr %t546 + %t547 = call ptr @fn_lbl(ptr @.str4539) + store ptr %t547, ptr %t548 + call void @fn_emit(ptr @.str4540) + %t549 = load ptr, ptr %t540 + call void @fn_emit(ptr %t549) + call void @fn_emit(ptr @.str4541) + %t550 = load ptr, ptr %t540 + call void @fn_emit(ptr %t550) + call void @fn_emit(ptr @.str4542) + %t551 = load ptr, ptr %t537 + %t552 = call ptr @fn_str_concat(ptr @.str4543, ptr %t551) + %t553 = call ptr @fn_emit_bind(ptr %t552) + store ptr %t553, ptr %t554 + %t555 = load ptr, ptr %t554 + %t556 = call ptr @fn_str_concat(ptr @.str4544, ptr %t555) + %t557 = call ptr @fn_str_concat(ptr %t556, ptr @.str4545) + %t558 = load ptr, ptr %t532 + %t559 = call ptr @fn_str_concat(ptr %t557, ptr %t558) + %t560 = call ptr @fn_emit_bind(ptr %t559) + store ptr %t560, ptr %t561 + %t562 = load ptr, ptr %t534 + %t563 = call ptr @fn_str_concat(ptr @.str4546, ptr %t562) + %t564 = call ptr @fn_emit_bind(ptr %t563) + store ptr %t564, ptr %t565 + %t566 = load ptr, ptr %t565 + %t567 = call ptr @fn_str_concat(ptr @.str4547, ptr %t566) + %t568 = call ptr @fn_str_concat(ptr %t567, ptr @.str4548) + %t569 = call ptr @fn_emit_bind(ptr %t568) + store ptr %t569, ptr %t570 + %t571 = load ptr, ptr %t561 + %t572 = call ptr @fn_str_concat(ptr @.str4549, ptr %t571) + %t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str4550) + %t574 = load ptr, ptr %t570 + %t575 = call ptr @fn_str_concat(ptr %t573, ptr %t574) + %t576 = call ptr @fn_emit_bind(ptr %t575) + store ptr %t576, ptr %t577 + call void @fn_emit(ptr @.str4551) + %t578 = load ptr, ptr %t577 + call void @fn_emit(ptr %t578) + call void @fn_emit(ptr @.str4552) + %t579 = load ptr, ptr %t542 + call void @fn_emit(ptr %t579) + call void @fn_emit(ptr @.str4553) + %t580 = load ptr, ptr %t548 + call void @fn_emit(ptr %t580) + call void @fn_emit(ptr @.str4554) + %t581 = load ptr, ptr %t542 + call void @fn_emit(ptr %t581) + call void @fn_emit(ptr @.str4555) + %t582 = load ptr, ptr %t79 + %t583 = load ptr, ptr %t75 + %t584 = load ptr, ptr %t554 + %t585 = call ptr @fn_list_elem_addr(ptr %t582, ptr %t583, ptr %t584) + store ptr %t585, ptr %t586 + %t587 = load ptr, ptr %t75 + %t588 = call ptr @fn_str_concat(ptr @.str4556, ptr %t587) + %t589 = call ptr @fn_str_concat(ptr %t588, ptr @.str4557) + %t590 = load ptr, ptr %t586 + %t591 = call ptr @fn_str_concat(ptr %t589, ptr %t590) + %t592 = call ptr @fn_emit_bind(ptr %t591) + store ptr %t592, ptr %t593 + %t594 = load ptr, ptr %t75 + %t595 = call ptr @fn_str_concat(ptr @.str4558, ptr %t594) + %t596 = call ptr @fn_str_concat(ptr %t595, ptr @.str4559) + %t597 = load ptr, ptr %t593 + %t598 = call ptr @fn_str_concat(ptr %t596, ptr %t597) + %t599 = call ptr @fn_str_concat(ptr %t598, ptr @.str4560) + %t600 = load ptr, ptr %t528 + %t601 = getelementptr inbounds %Cmp_Val, ptr %t600, i32 0, i32 0 + %t602 = load ptr, ptr %t601 + %t603 = call ptr @fn_str_concat(ptr %t599, ptr %t602) + %t604 = call ptr @fn_emit_bind(ptr %t603) + store ptr %t604, ptr %t605 + call void @fn_emit(ptr @.str4561) + %t606 = load ptr, ptr %t605 + call void @fn_emit(ptr %t606) + call void @fn_emit(ptr @.str4562) + %t607 = load ptr, ptr %t544 + call void @fn_emit(ptr %t607) + call void @fn_emit(ptr @.str4563) + %t608 = load ptr, ptr %t546 + call void @fn_emit(ptr %t608) + call void @fn_emit(ptr @.str4564) + %t609 = load ptr, ptr %t544 + call void @fn_emit(ptr %t609) + call void @fn_emit(ptr @.str4565) + %t610 = load ptr, ptr %t554 + %t611 = load ptr, ptr %t534 + call void @fn_store_at(ptr @.str4566, ptr %t610, ptr %t611) + call void @fn_emit(ptr @.str4567) + %t612 = load ptr, ptr %t540 + call void @fn_emit(ptr %t612) + call void @fn_emit(ptr @.str4568) + %t613 = load ptr, ptr %t546 + call void @fn_emit(ptr %t613) + call void @fn_emit(ptr @.str4569) + %t614 = load ptr, ptr %t554 + %t615 = call ptr @fn_str_concat(ptr @.str4570, ptr %t614) + %t616 = call ptr @fn_str_concat(ptr %t615, ptr @.str4571) + %t617 = call ptr @fn_emit_bind(ptr %t616) + store ptr %t617, ptr %t618 + %t619 = load ptr, ptr %t618 + %t620 = load ptr, ptr %t537 + call void @fn_store_at(ptr @.str4572, ptr %t619, ptr %t620) + call void @fn_emit(ptr @.str4573) + %t621 = load ptr, ptr %t540 + call void @fn_emit(ptr %t621) + call void @fn_emit(ptr @.str4574) + %t622 = load ptr, ptr %t548 + call void @fn_emit(ptr %t622) + call void @fn_emit(ptr @.str4575) + %t623 = load ptr, ptr %t534 + %t624 = call ptr @fn_str_concat(ptr @.str4576, ptr %t623) + %t625 = call ptr @fn_emit_bind(ptr %t624) + store ptr %t625, ptr %t626 + %t627 = load ptr, ptr %t626 + %t628 = call ptr @fn_str_concat(ptr @.str4577, ptr %t627) + %t629 = call ptr @fn_str_concat(ptr %t628, ptr @.str4578) + %t630 = call ptr @fn_emit_bind(ptr %t629) + store ptr %t630, ptr %t631 + %t632 = call ptr @fn_lbl(ptr @.str4579) + store ptr %t632, ptr %t633 + %t634 = call ptr @fn_lbl(ptr @.str4580) + store ptr %t634, ptr %t635 + call void @fn_emit(ptr @.str4581) + %t636 = load ptr, ptr %t631 + call void @fn_emit(ptr %t636) + call void @fn_emit(ptr @.str4582) + %t637 = load ptr, ptr %t633 + call void @fn_emit(ptr %t637) + call void @fn_emit(ptr @.str4583) + %t638 = load ptr, ptr %t635 + call void @fn_emit(ptr %t638) + call void @fn_emit(ptr @.str4584) + %t639 = load ptr, ptr %t633 + call void @fn_emit(ptr %t639) + call void @fn_emit(ptr @.str4585) + %t640 = load ptr, ptr %t532 + %t641 = call ptr @fn_str_concat(ptr @.str4586, ptr %t640) + %t642 = call ptr @fn_str_concat(ptr %t641, ptr @.str4587) + %t643 = call ptr @fn_emit_bind(ptr %t642) + store ptr %t643, ptr %t644 + %t645 = call ptr @fn_emit_alloca(ptr @.str4588) + store ptr %t645, ptr %t646 + %t647 = load ptr, ptr %t626 + %t648 = load ptr, ptr %t646 + call void @fn_store_at(ptr @.str4589, ptr %t647, ptr %t648) + %t649 = call ptr @fn_lbl(ptr @.str4590) + store ptr %t649, ptr %t650 + %t651 = call ptr @fn_lbl(ptr @.str4591) + store ptr %t651, ptr %t652 + %t653 = call ptr @fn_lbl(ptr @.str4592) + store ptr %t653, ptr %t654 + call void @fn_emit(ptr @.str4593) + %t655 = load ptr, ptr %t650 + call void @fn_emit(ptr %t655) + call void @fn_emit(ptr @.str4594) + %t656 = load ptr, ptr %t650 + call void @fn_emit(ptr %t656) + call void @fn_emit(ptr @.str4595) + %t657 = load ptr, ptr %t646 + %t658 = call ptr @fn_str_concat(ptr @.str4596, ptr %t657) + %t659 = call ptr @fn_emit_bind(ptr %t658) + store ptr %t659, ptr %t660 + %t661 = load ptr, ptr %t660 + %t662 = call ptr @fn_str_concat(ptr @.str4597, ptr %t661) + %t663 = call ptr @fn_str_concat(ptr %t662, ptr @.str4598) + %t664 = load ptr, ptr %t644 + %t665 = call ptr @fn_str_concat(ptr %t663, ptr %t664) + %t666 = call ptr @fn_emit_bind(ptr %t665) + store ptr %t666, ptr %t667 + call void @fn_emit(ptr @.str4599) + %t668 = load ptr, ptr %t667 + call void @fn_emit(ptr %t668) + call void @fn_emit(ptr @.str4600) + %t669 = load ptr, ptr %t652 + call void @fn_emit(ptr %t669) + call void @fn_emit(ptr @.str4601) + %t670 = load ptr, ptr %t654 + call void @fn_emit(ptr %t670) + call void @fn_emit(ptr @.str4602) + %t671 = load ptr, ptr %t652 + call void @fn_emit(ptr %t671) + call void @fn_emit(ptr @.str4603) + %t672 = load ptr, ptr %t660 + %t673 = call ptr @fn_str_concat(ptr @.str4604, ptr %t672) + %t674 = call ptr @fn_str_concat(ptr %t673, ptr @.str4605) + %t675 = call ptr @fn_emit_bind(ptr %t674) + store ptr %t675, ptr %t676 + %t677 = load ptr, ptr %t79 + %t678 = load ptr, ptr %t75 + %t679 = load ptr, ptr %t676 + %t680 = call ptr @fn_list_elem_addr(ptr %t677, ptr %t678, ptr %t679) + store ptr %t680, ptr %t681 + %t682 = load ptr, ptr %t75 + %t683 = call ptr @fn_str_concat(ptr @.str4606, ptr %t682) + %t684 = call ptr @fn_str_concat(ptr %t683, ptr @.str4607) + %t685 = load ptr, ptr %t681 + %t686 = call ptr @fn_str_concat(ptr %t684, ptr %t685) + %t687 = call ptr @fn_emit_bind(ptr %t686) + store ptr %t687, ptr %t688 + %t689 = load ptr, ptr %t79 + %t690 = load ptr, ptr %t75 + %t691 = load ptr, ptr %t660 + %t692 = call ptr @fn_list_elem_addr(ptr %t689, ptr %t690, ptr %t691) + store ptr %t692, ptr %t693 + call void @fn_emit(ptr @.str4608) + %t694 = load ptr, ptr %t75 + call void @fn_emit(ptr %t694) + call void @fn_emit(ptr @.str4609) + %t695 = load ptr, ptr %t688 + call void @fn_emit(ptr %t695) + call void @fn_emit(ptr @.str4610) + %t696 = load ptr, ptr %t693 + call void @fn_emit(ptr %t696) + call void @fn_emit(ptr @.str4611) + %t697 = load ptr, ptr %t676 + %t698 = load ptr, ptr %t646 + call void @fn_store_at(ptr @.str4612, ptr %t697, ptr %t698) + call void @fn_emit(ptr @.str4613) + %t699 = load ptr, ptr %t650 + call void @fn_emit(ptr %t699) + call void @fn_emit(ptr @.str4614) + %t700 = load ptr, ptr %t654 + call void @fn_emit(ptr %t700) + call void @fn_emit(ptr @.str4615) + call void @fn_emit(ptr @.str4616) + %t701 = load ptr, ptr %t644 + call void @fn_emit(ptr %t701) + call void @fn_emit(ptr @.str4617) + %t702 = load ptr, ptr %t82 + call void @fn_emit(ptr %t702) + call void @fn_emit(ptr @.str4618) + call void @fn_emit(ptr @.str4619) + %t703 = load ptr, ptr %t635 + call void @fn_emit(ptr %t703) + call void @fn_emit(ptr @.str4620) + %t704 = load ptr, ptr %t635 + call void @fn_emit(ptr %t704) + call void @fn_emit(ptr @.str4621) + %t705 = call ptr @fn_val(ptr @.str4622, ptr @.str4623) + store ptr %t705, ptr %retval br label %ret ifend46: - %t870 = load ptr, ptr %t0 - %t871 = call i32 @fn_str_eq(ptr %t870, ptr @.str4524) - %t872 = icmp ne i32 %t871, 0 - %t873 = zext i1 %t872 to i32 - store i32 %t873, ptr %t869 - br i1 %t872, label %scend51, label %sc50 -sc50: - %t874 = load ptr, ptr %t0 - %t875 = call i32 @fn_str_eq(ptr %t874, ptr @.str4525) - %t876 = icmp ne i32 %t875, 0 - %t877 = zext i1 %t876 to i32 - store i32 %t877, ptr %t869 - br label %scend51 -scend51: - %t878 = load i32, ptr %t869 - %t879 = icmp ne i32 %t878, 0 - br i1 %t879, label %then52, label %ifend54 -then52: - %t880 = load ptr, ptr %t0 - %t881 = load ptr, ptr %t1 - %t882 = call ptr @fn_sort_fn_arg(ptr %t880, ptr %t881) - store ptr %t882, ptr %t883 - %t884 = load ptr, ptr %t883 - %t885 = call ptr @fn_find_fn(ptr %t884) - store ptr %t885, ptr %t886 - %t887 = load ptr, ptr %t886 - %t888 = call ptr @fn_param_types(ptr %t887) - %t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1 - %t890 = load i32, ptr %t889 - %t891 = icmp ne i32 %t890, 1 - %t892 = zext i1 %t891 to i32 - %t893 = icmp ne i32 %t892, 0 - br i1 %t893, label %then55, label %ifend57 -then55: - %t894 = load ptr, ptr %t0 - %t895 = call ptr @fn_str_concat(ptr @.str4526, ptr %t894) - %t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str4527) - %t897 = load ptr, ptr %t883 - %t898 = call ptr @fn_str_concat(ptr %t896, ptr %t897) - %t899 = call ptr @fn_str_concat(ptr %t898, ptr @.str4528) - call void @fn_perr(ptr %t899) - br label %ifend57 -ifend57: - %t900 = load ptr, ptr %t886 - %t901 = getelementptr inbounds %Cmp_Node, ptr %t900, i32 0, i32 3 - %t902 = load ptr, ptr %t901 - %t903 = call ptr @fn_llty(ptr %t902) - store ptr %t903, ptr %t904 - %t906 = load ptr, ptr %t904 - %t907 = call i32 @fn_str_eq(ptr %t906, ptr @.str4529) - %t908 = icmp ne i32 %t907, 0 - %t909 = zext i1 %t908 to i32 - store i32 %t909, ptr %t905 - br i1 %t908, label %scend59, label %sc58 -sc58: - %t910 = load ptr, ptr %t904 - %t911 = call i32 @fn_str_eq(ptr %t910, ptr @.str4530) - %t912 = icmp ne i32 %t911, 0 - %t913 = zext i1 %t912 to i32 - store i32 %t913, ptr %t905 - br label %scend59 -scend59: - %t914 = load i32, ptr %t905 - %t915 = icmp ne i32 %t914, 0 - br i1 %t915, label %then60, label %ifend62 -then60: - %t916 = load ptr, ptr %t0 - %t917 = call ptr @fn_str_concat(ptr @.str4531, ptr %t916) - %t918 = call ptr @fn_str_concat(ptr %t917, ptr @.str4532) - %t919 = load ptr, ptr %t883 - %t920 = call ptr @fn_str_concat(ptr %t918, ptr %t919) - %t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str4533) - call void @fn_perr(ptr %t921) - br label %ifend62 -ifend62: - store i32 1, ptr %t922 - %t923 = load ptr, ptr %t0 - %t924 = call i32 @fn_str_eq(ptr %t923, ptr @.str4534) - %t925 = icmp ne i32 %t924, 0 - br i1 %t925, label %then63, label %ifend65 -then63: - store i32 2, ptr %t922 - br label %ifend65 -ifend65: - %t926 = load ptr, ptr %t42 - %t927 = load ptr, ptr %t38 - %t928 = load i32, ptr %t922 - %t929 = load ptr, ptr %t883 - %t930 = load ptr, ptr %t904 - call void @fn_emit_merge_sort(ptr %t926, ptr %t927, i32 %t928, ptr %t929, ptr %t930) - %t931 = call ptr @fn_val(ptr @.str4535, ptr @.str4536) - store ptr %t931, ptr %retval + %t706 = load ptr, ptr %t0 + %t707 = call i32 @fn_str_eq(ptr %t706, ptr @.str4624) + %t708 = icmp ne i32 %t707, 0 + br i1 %t708, label %then47, label %ifend49 +then47: + %t709 = load ptr, ptr %t82 + %t710 = call ptr @fn_str_concat(ptr @.str4625, ptr %t709) + %t711 = call ptr @fn_emit_bind(ptr %t710) + store ptr %t711, ptr %t712 + %t713 = load ptr, ptr %t712 + %t714 = call ptr @fn_str_concat(ptr @.str4626, ptr %t713) + %t715 = call ptr @fn_str_concat(ptr %t714, ptr @.str4627) + %t716 = call ptr @fn_emit_bind(ptr %t715) + store ptr %t716, ptr %t717 + %t718 = call ptr @fn_lbl(ptr @.str4628) + store ptr %t718, ptr %t719 + %t720 = call ptr @fn_lbl(ptr @.str4629) + store ptr %t720, ptr %t721 + %t722 = call ptr @fn_lbl(ptr @.str4630) + store ptr %t722, ptr %t723 + call void @fn_emit(ptr @.str4631) + %t724 = load ptr, ptr %t717 + call void @fn_emit(ptr %t724) + call void @fn_emit(ptr @.str4632) + %t725 = load ptr, ptr %t719 + call void @fn_emit(ptr %t725) + call void @fn_emit(ptr @.str4633) + %t726 = load ptr, ptr %t721 + call void @fn_emit(ptr %t726) + call void @fn_emit(ptr @.str4634) + %t727 = load ptr, ptr %t719 + call void @fn_emit(ptr %t727) + call void @fn_emit(ptr @.str4635) + %t728 = load ptr, ptr %t82 + %t729 = call ptr @fn_str_concat(ptr @.str4636, ptr %t728) + %t730 = call ptr @fn_emit_bind(ptr %t729) + store ptr %t730, ptr %t731 + %t732 = call ptr @fn_emit_alloca(ptr @.str4637) + store ptr %t732, ptr %t733 + %t734 = load ptr, ptr %t733 + call void @fn_store_at(ptr @.str4638, ptr @.str4639, ptr %t734) + %t735 = call ptr @fn_lbl(ptr @.str4640) + store ptr %t735, ptr %t736 + %t737 = call ptr @fn_lbl(ptr @.str4641) + store ptr %t737, ptr %t738 + %t739 = call ptr @fn_lbl(ptr @.str4642) + store ptr %t739, ptr %t740 + call void @fn_emit(ptr @.str4643) + %t741 = load ptr, ptr %t736 + call void @fn_emit(ptr %t741) + call void @fn_emit(ptr @.str4644) + %t742 = load ptr, ptr %t736 + call void @fn_emit(ptr %t742) + call void @fn_emit(ptr @.str4645) + %t743 = load ptr, ptr %t733 + %t744 = call ptr @fn_str_concat(ptr @.str4646, ptr %t743) + %t745 = call ptr @fn_emit_bind(ptr %t744) + store ptr %t745, ptr %t746 + %t747 = load ptr, ptr %t746 + %t748 = call ptr @fn_str_concat(ptr @.str4647, ptr %t747) + %t749 = call ptr @fn_str_concat(ptr %t748, ptr @.str4648) + %t750 = load ptr, ptr %t731 + %t751 = call ptr @fn_str_concat(ptr %t749, ptr %t750) + %t752 = call ptr @fn_emit_bind(ptr %t751) + store ptr %t752, ptr %t753 + call void @fn_emit(ptr @.str4649) + %t754 = load ptr, ptr %t753 + call void @fn_emit(ptr %t754) + call void @fn_emit(ptr @.str4650) + %t755 = load ptr, ptr %t738 + call void @fn_emit(ptr %t755) + call void @fn_emit(ptr @.str4651) + %t756 = load ptr, ptr %t740 + call void @fn_emit(ptr %t756) + call void @fn_emit(ptr @.str4652) + %t757 = load ptr, ptr %t738 + call void @fn_emit(ptr %t757) + call void @fn_emit(ptr @.str4653) + %t758 = load ptr, ptr %t79 + %t759 = load ptr, ptr %t75 + %t760 = load ptr, ptr %t746 + %t761 = call ptr @fn_list_elem_addr(ptr %t758, ptr %t759, ptr %t760) + store ptr %t761, ptr %t762 + %t763 = load ptr, ptr %t75 + %t764 = call ptr @fn_str_concat(ptr @.str4654, ptr %t763) + %t765 = call ptr @fn_str_concat(ptr %t764, ptr @.str4655) + %t766 = load ptr, ptr %t762 + %t767 = call ptr @fn_str_concat(ptr %t765, ptr %t766) + %t768 = call ptr @fn_emit_bind(ptr %t767) + store ptr %t768, ptr %t769 + %t770 = call ptr @fn_emit_alloca(ptr @.str4656) + store ptr %t770, ptr %t771 + %t772 = load ptr, ptr %t746 + %t773 = call ptr @fn_str_concat(ptr @.str4657, ptr %t772) + %t774 = call ptr @fn_str_concat(ptr %t773, ptr @.str4658) + %t775 = call ptr @fn_emit_bind(ptr %t774) + store ptr %t775, ptr %t776 + %t777 = load ptr, ptr %t776 + %t778 = load ptr, ptr %t771 + call void @fn_store_at(ptr @.str4659, ptr %t777, ptr %t778) + %t779 = call ptr @fn_lbl(ptr @.str4660) + store ptr %t779, ptr %t780 + %t781 = call ptr @fn_lbl(ptr @.str4661) + store ptr %t781, ptr %t782 + %t783 = call ptr @fn_lbl(ptr @.str4662) + store ptr %t783, ptr %t784 + call void @fn_emit(ptr @.str4663) + %t785 = load ptr, ptr %t780 + call void @fn_emit(ptr %t785) + call void @fn_emit(ptr @.str4664) + %t786 = load ptr, ptr %t780 + call void @fn_emit(ptr %t786) + call void @fn_emit(ptr @.str4665) + %t787 = load ptr, ptr %t771 + %t788 = call ptr @fn_str_concat(ptr @.str4666, ptr %t787) + %t789 = call ptr @fn_emit_bind(ptr %t788) + store ptr %t789, ptr %t790 + %t791 = load ptr, ptr %t790 + %t792 = call ptr @fn_str_concat(ptr @.str4667, ptr %t791) + %t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str4668) + %t794 = call ptr @fn_emit_bind(ptr %t793) + store ptr %t794, ptr %t795 + %t796 = load ptr, ptr %t79 + %t797 = load ptr, ptr %t75 + %t798 = load ptr, ptr %t790 + %t799 = call ptr @fn_list_elem_addr(ptr %t796, ptr %t797, ptr %t798) + store ptr %t799, ptr %t800 + %t801 = load ptr, ptr %t75 + %t802 = call ptr @fn_str_concat(ptr @.str4669, ptr %t801) + %t803 = call ptr @fn_str_concat(ptr %t802, ptr @.str4670) + %t804 = load ptr, ptr %t800 + %t805 = call ptr @fn_str_concat(ptr %t803, ptr %t804) + %t806 = call ptr @fn_emit_bind(ptr %t805) + store ptr %t806, ptr %t807 + %t808 = load ptr, ptr %t75 + %t809 = call ptr @fn_str_concat(ptr @.str4671, ptr %t808) + %t810 = call ptr @fn_str_concat(ptr %t809, ptr @.str4672) + %t811 = load ptr, ptr %t807 + %t812 = call ptr @fn_str_concat(ptr %t810, ptr %t811) + %t813 = call ptr @fn_str_concat(ptr %t812, ptr @.str4673) + %t814 = load ptr, ptr %t769 + %t815 = call ptr @fn_str_concat(ptr %t813, ptr %t814) + %t816 = call ptr @fn_emit_bind(ptr %t815) + store ptr %t816, ptr %t817 + %t818 = load ptr, ptr %t795 + %t819 = call ptr @fn_str_concat(ptr @.str4674, ptr %t818) + %t820 = call ptr @fn_str_concat(ptr %t819, ptr @.str4675) + %t821 = load ptr, ptr %t817 + %t822 = call ptr @fn_str_concat(ptr %t820, ptr %t821) + %t823 = call ptr @fn_emit_bind(ptr %t822) + store ptr %t823, ptr %t824 + call void @fn_emit(ptr @.str4676) + %t825 = load ptr, ptr %t824 + call void @fn_emit(ptr %t825) + call void @fn_emit(ptr @.str4677) + %t826 = load ptr, ptr %t782 + call void @fn_emit(ptr %t826) + call void @fn_emit(ptr @.str4678) + %t827 = load ptr, ptr %t784 + call void @fn_emit(ptr %t827) + call void @fn_emit(ptr @.str4679) + %t828 = load ptr, ptr %t782 + call void @fn_emit(ptr %t828) + call void @fn_emit(ptr @.str4680) + %t829 = load ptr, ptr %t790 + %t830 = call ptr @fn_str_concat(ptr @.str4681, ptr %t829) + %t831 = call ptr @fn_str_concat(ptr %t830, ptr @.str4682) + %t832 = call ptr @fn_emit_bind(ptr %t831) + store ptr %t832, ptr %t833 + %t834 = load ptr, ptr %t79 + %t835 = load ptr, ptr %t75 + %t836 = load ptr, ptr %t833 + %t837 = call ptr @fn_list_elem_addr(ptr %t834, ptr %t835, ptr %t836) + store ptr %t837, ptr %t838 + call void @fn_emit(ptr @.str4683) + %t839 = load ptr, ptr %t75 + call void @fn_emit(ptr %t839) + call void @fn_emit(ptr @.str4684) + %t840 = load ptr, ptr %t807 + call void @fn_emit(ptr %t840) + call void @fn_emit(ptr @.str4685) + %t841 = load ptr, ptr %t838 + call void @fn_emit(ptr %t841) + call void @fn_emit(ptr @.str4686) + %t842 = load ptr, ptr %t790 + %t843 = call ptr @fn_str_concat(ptr @.str4687, ptr %t842) + %t844 = call ptr @fn_str_concat(ptr %t843, ptr @.str4688) + %t845 = call ptr @fn_emit_bind(ptr %t844) + store ptr %t845, ptr %t846 + %t847 = load ptr, ptr %t846 + %t848 = load ptr, ptr %t771 + call void @fn_store_at(ptr @.str4689, ptr %t847, ptr %t848) + call void @fn_emit(ptr @.str4690) + %t849 = load ptr, ptr %t780 + call void @fn_emit(ptr %t849) + call void @fn_emit(ptr @.str4691) + %t850 = load ptr, ptr %t784 + call void @fn_emit(ptr %t850) + call void @fn_emit(ptr @.str4692) + %t851 = load ptr, ptr %t771 + %t852 = call ptr @fn_str_concat(ptr @.str4693, ptr %t851) + %t853 = call ptr @fn_emit_bind(ptr %t852) + store ptr %t853, ptr %t854 + %t855 = load ptr, ptr %t854 + %t856 = call ptr @fn_str_concat(ptr @.str4694, ptr %t855) + %t857 = call ptr @fn_str_concat(ptr %t856, ptr @.str4695) + %t858 = call ptr @fn_emit_bind(ptr %t857) + store ptr %t858, ptr %t859 + %t860 = load ptr, ptr %t79 + %t861 = load ptr, ptr %t75 + %t862 = load ptr, ptr %t859 + %t863 = call ptr @fn_list_elem_addr(ptr %t860, ptr %t861, ptr %t862) + store ptr %t863, ptr %t864 + call void @fn_emit(ptr @.str4696) + %t865 = load ptr, ptr %t75 + call void @fn_emit(ptr %t865) + call void @fn_emit(ptr @.str4697) + %t866 = load ptr, ptr %t769 + call void @fn_emit(ptr %t866) + call void @fn_emit(ptr @.str4698) + %t867 = load ptr, ptr %t864 + call void @fn_emit(ptr %t867) + call void @fn_emit(ptr @.str4699) + %t868 = load ptr, ptr %t746 + %t869 = call ptr @fn_str_concat(ptr @.str4700, ptr %t868) + %t870 = call ptr @fn_str_concat(ptr %t869, ptr @.str4701) + %t871 = call ptr @fn_emit_bind(ptr %t870) + store ptr %t871, ptr %t872 + %t873 = load ptr, ptr %t872 + %t874 = load ptr, ptr %t733 + call void @fn_store_at(ptr @.str4702, ptr %t873, ptr %t874) + call void @fn_emit(ptr @.str4703) + %t875 = load ptr, ptr %t736 + call void @fn_emit(ptr %t875) + call void @fn_emit(ptr @.str4704) + %t876 = load ptr, ptr %t740 + call void @fn_emit(ptr %t876) + call void @fn_emit(ptr @.str4705) + call void @fn_emit(ptr @.str4706) + %t877 = load ptr, ptr %t723 + call void @fn_emit(ptr %t877) + call void @fn_emit(ptr @.str4707) + %t878 = load ptr, ptr %t721 + call void @fn_emit(ptr %t878) + call void @fn_emit(ptr @.str4708) + %t879 = load ptr, ptr %t79 + %t880 = load ptr, ptr %t75 + call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str4709, ptr @.str4710) + call void @fn_emit(ptr @.str4711) + %t881 = load ptr, ptr %t723 + call void @fn_emit(ptr %t881) + call void @fn_emit(ptr @.str4712) + %t882 = load ptr, ptr %t723 + call void @fn_emit(ptr %t882) + call void @fn_emit(ptr @.str4713) + %t883 = call ptr @fn_val(ptr @.str4714, ptr @.str4715) + store ptr %t883, ptr %retval br label %ret -ifend54: - %t932 = load ptr, ptr %t45 - %t933 = call ptr @fn_str_concat(ptr @.str4537, ptr %t932) - %t934 = call ptr @fn_emit_bind(ptr %t933) - store ptr %t934, ptr %t935 - %t936 = call ptr @fn_emit_alloca(ptr @.str4538) - store ptr %t936, ptr %t937 - %t938 = load ptr, ptr %t937 - call void @fn_store_at(ptr @.str4539, ptr @.str4540, ptr %t938) - %t939 = call ptr @fn_emit_alloca(ptr @.str4541) - store ptr %t939, ptr %t940 - %t941 = load ptr, ptr %t935 - %t942 = call ptr @fn_str_concat(ptr @.str4542, ptr %t941) - %t943 = call ptr @fn_str_concat(ptr %t942, ptr @.str4543) - %t944 = call ptr @fn_emit_bind(ptr %t943) - store ptr %t944, ptr %t945 - %t946 = load ptr, ptr %t945 - %t947 = load ptr, ptr %t940 - call void @fn_store_at(ptr @.str4544, ptr %t946, ptr %t947) - %t948 = call ptr @fn_lbl(ptr @.str4545) - store ptr %t948, ptr %t949 - %t950 = call ptr @fn_lbl(ptr @.str4546) - store ptr %t950, ptr %t951 - %t952 = call ptr @fn_lbl(ptr @.str4547) - store ptr %t952, ptr %t953 - call void @fn_emit(ptr @.str4548) - %t954 = load ptr, ptr %t949 - call void @fn_emit(ptr %t954) - call void @fn_emit(ptr @.str4549) - %t955 = load ptr, ptr %t949 - call void @fn_emit(ptr %t955) - call void @fn_emit(ptr @.str4550) - %t956 = load ptr, ptr %t937 - %t957 = call ptr @fn_str_concat(ptr @.str4551, ptr %t956) - %t958 = call ptr @fn_emit_bind(ptr %t957) - store ptr %t958, ptr %t959 - %t960 = load ptr, ptr %t940 - %t961 = call ptr @fn_str_concat(ptr @.str4552, ptr %t960) - %t962 = call ptr @fn_emit_bind(ptr %t961) - store ptr %t962, ptr %t963 - %t964 = load ptr, ptr %t959 - %t965 = call ptr @fn_str_concat(ptr @.str4553, ptr %t964) - %t966 = call ptr @fn_str_concat(ptr %t965, ptr @.str4554) - %t967 = load ptr, ptr %t963 - %t968 = call ptr @fn_str_concat(ptr %t966, ptr %t967) - %t969 = call ptr @fn_emit_bind(ptr %t968) - store ptr %t969, ptr %t970 - call void @fn_emit(ptr @.str4555) - %t971 = load ptr, ptr %t970 - call void @fn_emit(ptr %t971) - call void @fn_emit(ptr @.str4556) - %t972 = load ptr, ptr %t951 - call void @fn_emit(ptr %t972) - call void @fn_emit(ptr @.str4557) - %t973 = load ptr, ptr %t953 - call void @fn_emit(ptr %t973) - call void @fn_emit(ptr @.str4558) - %t974 = load ptr, ptr %t951 - call void @fn_emit(ptr %t974) - call void @fn_emit(ptr @.str4559) - %t975 = load ptr, ptr %t42 - %t976 = load ptr, ptr %t38 - %t977 = load ptr, ptr %t959 - %t978 = call ptr @fn_list_elem_addr(ptr %t975, ptr %t976, ptr %t977) - store ptr %t978, ptr %t979 - %t980 = load ptr, ptr %t42 - %t981 = load ptr, ptr %t38 - %t982 = load ptr, ptr %t963 - %t983 = call ptr @fn_list_elem_addr(ptr %t980, ptr %t981, ptr %t982) - store ptr %t983, ptr %t984 - %t985 = load ptr, ptr %t38 - %t986 = call ptr @fn_str_concat(ptr @.str4560, ptr %t985) - %t987 = call ptr @fn_str_concat(ptr %t986, ptr @.str4561) - %t988 = load ptr, ptr %t979 - %t989 = call ptr @fn_str_concat(ptr %t987, ptr %t988) - %t990 = call ptr @fn_emit_bind(ptr %t989) - store ptr %t990, ptr %t991 - %t992 = load ptr, ptr %t38 - %t993 = call ptr @fn_str_concat(ptr @.str4562, ptr %t992) - %t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str4563) - %t995 = load ptr, ptr %t984 - %t996 = call ptr @fn_str_concat(ptr %t994, ptr %t995) - %t997 = call ptr @fn_emit_bind(ptr %t996) - store ptr %t997, ptr %t998 - call void @fn_emit(ptr @.str4564) - %t999 = load ptr, ptr %t38 - call void @fn_emit(ptr %t999) - call void @fn_emit(ptr @.str4565) - %t1000 = load ptr, ptr %t998 - call void @fn_emit(ptr %t1000) - call void @fn_emit(ptr @.str4566) - %t1001 = load ptr, ptr %t979 - call void @fn_emit(ptr %t1001) - call void @fn_emit(ptr @.str4567) - call void @fn_emit(ptr @.str4568) - %t1002 = load ptr, ptr %t38 - call void @fn_emit(ptr %t1002) - call void @fn_emit(ptr @.str4569) - %t1003 = load ptr, ptr %t991 - call void @fn_emit(ptr %t1003) - call void @fn_emit(ptr @.str4570) - %t1004 = load ptr, ptr %t984 - call void @fn_emit(ptr %t1004) - call void @fn_emit(ptr @.str4571) - %t1005 = load ptr, ptr %t959 - %t1006 = call ptr @fn_str_concat(ptr @.str4572, ptr %t1005) - %t1007 = call ptr @fn_str_concat(ptr %t1006, ptr @.str4573) - %t1008 = call ptr @fn_emit_bind(ptr %t1007) - store ptr %t1008, ptr %t1009 - %t1010 = load ptr, ptr %t1009 - %t1011 = load ptr, ptr %t937 - call void @fn_store_at(ptr @.str4574, ptr %t1010, ptr %t1011) - %t1012 = load ptr, ptr %t963 - %t1013 = call ptr @fn_str_concat(ptr @.str4575, ptr %t1012) - %t1014 = call ptr @fn_str_concat(ptr %t1013, ptr @.str4576) - %t1015 = call ptr @fn_emit_bind(ptr %t1014) +ifend49: + %t884 = load ptr, ptr %t0 + %t885 = call i32 @fn_str_eq(ptr %t884, ptr @.str4716) + %t886 = icmp ne i32 %t885, 0 + br i1 %t886, label %then50, label %ifend52 +then50: + %t887 = load ptr, ptr %t0 + %t888 = load ptr, ptr %t1 + %t889 = call ptr @fn_sort_fn_arg(ptr %t887, ptr %t888) + store ptr %t889, ptr %t890 + %t891 = load ptr, ptr %t890 + %t892 = call ptr @fn_find_fn(ptr %t891) + %t893 = call ptr @fn_param_types(ptr %t892) + %t894 = getelementptr inbounds %LSlice, ptr %t893, i32 0, i32 1 + %t895 = load i32, ptr %t894 + %t896 = icmp ne i32 %t895, 2 + %t897 = zext i1 %t896 to i32 + %t898 = icmp ne i32 %t897, 0 + br i1 %t898, label %then53, label %ifend55 +then53: + %t899 = load ptr, ptr %t890 + %t900 = call ptr @fn_str_concat(ptr @.str4717, ptr %t899) + %t901 = call ptr @fn_str_concat(ptr %t900, ptr @.str4718) + call void @fn_perr(ptr %t901) + br label %ifend55 +ifend55: + %t902 = load ptr, ptr %t79 + %t903 = load ptr, ptr %t75 + %t904 = load ptr, ptr %t890 + call void @fn_emit_merge_sort(ptr %t902, ptr %t903, i32 0, ptr %t904, ptr @.str4719) + %t905 = call ptr @fn_val(ptr @.str4720, ptr @.str4721) + store ptr %t905, ptr %retval + br label %ret +ifend52: + %t907 = load ptr, ptr %t0 + %t908 = call i32 @fn_str_eq(ptr %t907, ptr @.str4722) + %t909 = icmp ne i32 %t908, 0 + %t910 = zext i1 %t909 to i32 + store i32 %t910, ptr %t906 + br i1 %t909, label %scend57, label %sc56 +sc56: + %t911 = load ptr, ptr %t0 + %t912 = call i32 @fn_str_eq(ptr %t911, ptr @.str4723) + %t913 = icmp ne i32 %t912, 0 + %t914 = zext i1 %t913 to i32 + store i32 %t914, ptr %t906 + br label %scend57 +scend57: + %t915 = load i32, ptr %t906 + %t916 = icmp ne i32 %t915, 0 + br i1 %t916, label %then58, label %ifend60 +then58: + %t917 = load ptr, ptr %t0 + %t918 = load ptr, ptr %t1 + %t919 = call ptr @fn_sort_fn_arg(ptr %t917, ptr %t918) + store ptr %t919, ptr %t920 + %t921 = load ptr, ptr %t920 + %t922 = call ptr @fn_find_fn(ptr %t921) + store ptr %t922, ptr %t923 + %t924 = load ptr, ptr %t923 + %t925 = call ptr @fn_param_types(ptr %t924) + %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 + %t927 = load i32, ptr %t926 + %t928 = icmp ne i32 %t927, 1 + %t929 = zext i1 %t928 to i32 + %t930 = icmp ne i32 %t929, 0 + br i1 %t930, label %then61, label %ifend63 +then61: + %t931 = load ptr, ptr %t0 + %t932 = call ptr @fn_str_concat(ptr @.str4724, ptr %t931) + %t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str4725) + %t934 = load ptr, ptr %t920 + %t935 = call ptr @fn_str_concat(ptr %t933, ptr %t934) + %t936 = call ptr @fn_str_concat(ptr %t935, ptr @.str4726) + call void @fn_perr(ptr %t936) + br label %ifend63 +ifend63: + %t937 = load ptr, ptr %t923 + %t938 = getelementptr inbounds %Cmp_Node, ptr %t937, i32 0, i32 3 + %t939 = load ptr, ptr %t938 + %t940 = call ptr @fn_llty(ptr %t939) + store ptr %t940, ptr %t941 + %t943 = load ptr, ptr %t941 + %t944 = call i32 @fn_str_eq(ptr %t943, ptr @.str4727) + %t945 = icmp ne i32 %t944, 0 + %t946 = zext i1 %t945 to i32 + store i32 %t946, ptr %t942 + br i1 %t945, label %scend65, label %sc64 +sc64: + %t947 = load ptr, ptr %t941 + %t948 = call i32 @fn_str_eq(ptr %t947, ptr @.str4728) + %t949 = icmp ne i32 %t948, 0 + %t950 = zext i1 %t949 to i32 + store i32 %t950, ptr %t942 + br label %scend65 +scend65: + %t951 = load i32, ptr %t942 + %t952 = icmp ne i32 %t951, 0 + br i1 %t952, label %then66, label %ifend68 +then66: + %t953 = load ptr, ptr %t0 + %t954 = call ptr @fn_str_concat(ptr @.str4729, ptr %t953) + %t955 = call ptr @fn_str_concat(ptr %t954, ptr @.str4730) + %t956 = load ptr, ptr %t920 + %t957 = call ptr @fn_str_concat(ptr %t955, ptr %t956) + %t958 = call ptr @fn_str_concat(ptr %t957, ptr @.str4731) + call void @fn_perr(ptr %t958) + br label %ifend68 +ifend68: + store i32 1, ptr %t959 + %t960 = load ptr, ptr %t0 + %t961 = call i32 @fn_str_eq(ptr %t960, ptr @.str4732) + %t962 = icmp ne i32 %t961, 0 + br i1 %t962, label %then69, label %ifend71 +then69: + store i32 2, ptr %t959 + br label %ifend71 +ifend71: + %t963 = load ptr, ptr %t79 + %t964 = load ptr, ptr %t75 + %t965 = load i32, ptr %t959 + %t966 = load ptr, ptr %t920 + %t967 = load ptr, ptr %t941 + call void @fn_emit_merge_sort(ptr %t963, ptr %t964, i32 %t965, ptr %t966, ptr %t967) + %t968 = call ptr @fn_val(ptr @.str4733, ptr @.str4734) + store ptr %t968, ptr %retval + br label %ret +ifend60: + %t969 = load ptr, ptr %t82 + %t970 = call ptr @fn_str_concat(ptr @.str4735, ptr %t969) + %t971 = call ptr @fn_emit_bind(ptr %t970) + store ptr %t971, ptr %t972 + %t973 = call ptr @fn_emit_alloca(ptr @.str4736) + store ptr %t973, ptr %t974 + %t975 = load ptr, ptr %t974 + call void @fn_store_at(ptr @.str4737, ptr @.str4738, ptr %t975) + %t976 = call ptr @fn_emit_alloca(ptr @.str4739) + store ptr %t976, ptr %t977 + %t978 = load ptr, ptr %t972 + %t979 = call ptr @fn_str_concat(ptr @.str4740, ptr %t978) + %t980 = call ptr @fn_str_concat(ptr %t979, ptr @.str4741) + %t981 = call ptr @fn_emit_bind(ptr %t980) + store ptr %t981, ptr %t982 + %t983 = load ptr, ptr %t982 + %t984 = load ptr, ptr %t977 + call void @fn_store_at(ptr @.str4742, ptr %t983, ptr %t984) + %t985 = call ptr @fn_lbl(ptr @.str4743) + store ptr %t985, ptr %t986 + %t987 = call ptr @fn_lbl(ptr @.str4744) + store ptr %t987, ptr %t988 + %t989 = call ptr @fn_lbl(ptr @.str4745) + store ptr %t989, ptr %t990 + call void @fn_emit(ptr @.str4746) + %t991 = load ptr, ptr %t986 + call void @fn_emit(ptr %t991) + call void @fn_emit(ptr @.str4747) + %t992 = load ptr, ptr %t986 + call void @fn_emit(ptr %t992) + call void @fn_emit(ptr @.str4748) + %t993 = load ptr, ptr %t974 + %t994 = call ptr @fn_str_concat(ptr @.str4749, ptr %t993) + %t995 = call ptr @fn_emit_bind(ptr %t994) + store ptr %t995, ptr %t996 + %t997 = load ptr, ptr %t977 + %t998 = call ptr @fn_str_concat(ptr @.str4750, ptr %t997) + %t999 = call ptr @fn_emit_bind(ptr %t998) + store ptr %t999, ptr %t1000 + %t1001 = load ptr, ptr %t996 + %t1002 = call ptr @fn_str_concat(ptr @.str4751, ptr %t1001) + %t1003 = call ptr @fn_str_concat(ptr %t1002, ptr @.str4752) + %t1004 = load ptr, ptr %t1000 + %t1005 = call ptr @fn_str_concat(ptr %t1003, ptr %t1004) + %t1006 = call ptr @fn_emit_bind(ptr %t1005) + store ptr %t1006, ptr %t1007 + call void @fn_emit(ptr @.str4753) + %t1008 = load ptr, ptr %t1007 + call void @fn_emit(ptr %t1008) + call void @fn_emit(ptr @.str4754) + %t1009 = load ptr, ptr %t988 + call void @fn_emit(ptr %t1009) + call void @fn_emit(ptr @.str4755) + %t1010 = load ptr, ptr %t990 + call void @fn_emit(ptr %t1010) + call void @fn_emit(ptr @.str4756) + %t1011 = load ptr, ptr %t988 + call void @fn_emit(ptr %t1011) + call void @fn_emit(ptr @.str4757) + %t1012 = load ptr, ptr %t79 + %t1013 = load ptr, ptr %t75 + %t1014 = load ptr, ptr %t996 + %t1015 = call ptr @fn_list_elem_addr(ptr %t1012, ptr %t1013, ptr %t1014) store ptr %t1015, ptr %t1016 - %t1017 = load ptr, ptr %t1016 - %t1018 = load ptr, ptr %t940 - call void @fn_store_at(ptr @.str4577, ptr %t1017, ptr %t1018) - call void @fn_emit(ptr @.str4578) - %t1019 = load ptr, ptr %t949 - call void @fn_emit(ptr %t1019) - call void @fn_emit(ptr @.str4579) - %t1020 = load ptr, ptr %t953 - call void @fn_emit(ptr %t1020) - call void @fn_emit(ptr @.str4580) - %t1021 = call ptr @fn_val(ptr @.str4581, ptr @.str4582) - store ptr %t1021, ptr %retval + %t1017 = load ptr, ptr %t79 + %t1018 = load ptr, ptr %t75 + %t1019 = load ptr, ptr %t1000 + %t1020 = call ptr @fn_list_elem_addr(ptr %t1017, ptr %t1018, ptr %t1019) + store ptr %t1020, ptr %t1021 + %t1022 = load ptr, ptr %t75 + %t1023 = call ptr @fn_str_concat(ptr @.str4758, ptr %t1022) + %t1024 = call ptr @fn_str_concat(ptr %t1023, ptr @.str4759) + %t1025 = load ptr, ptr %t1016 + %t1026 = call ptr @fn_str_concat(ptr %t1024, ptr %t1025) + %t1027 = call ptr @fn_emit_bind(ptr %t1026) + store ptr %t1027, ptr %t1028 + %t1029 = load ptr, ptr %t75 + %t1030 = call ptr @fn_str_concat(ptr @.str4760, ptr %t1029) + %t1031 = call ptr @fn_str_concat(ptr %t1030, ptr @.str4761) + %t1032 = load ptr, ptr %t1021 + %t1033 = call ptr @fn_str_concat(ptr %t1031, ptr %t1032) + %t1034 = call ptr @fn_emit_bind(ptr %t1033) + store ptr %t1034, ptr %t1035 + call void @fn_emit(ptr @.str4762) + %t1036 = load ptr, ptr %t75 + call void @fn_emit(ptr %t1036) + call void @fn_emit(ptr @.str4763) + %t1037 = load ptr, ptr %t1035 + call void @fn_emit(ptr %t1037) + call void @fn_emit(ptr @.str4764) + %t1038 = load ptr, ptr %t1016 + call void @fn_emit(ptr %t1038) + call void @fn_emit(ptr @.str4765) + call void @fn_emit(ptr @.str4766) + %t1039 = load ptr, ptr %t75 + call void @fn_emit(ptr %t1039) + call void @fn_emit(ptr @.str4767) + %t1040 = load ptr, ptr %t1028 + call void @fn_emit(ptr %t1040) + call void @fn_emit(ptr @.str4768) + %t1041 = load ptr, ptr %t1021 + call void @fn_emit(ptr %t1041) + call void @fn_emit(ptr @.str4769) + %t1042 = load ptr, ptr %t996 + %t1043 = call ptr @fn_str_concat(ptr @.str4770, ptr %t1042) + %t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str4771) + %t1045 = call ptr @fn_emit_bind(ptr %t1044) + store ptr %t1045, ptr %t1046 + %t1047 = load ptr, ptr %t1046 + %t1048 = load ptr, ptr %t974 + call void @fn_store_at(ptr @.str4772, ptr %t1047, ptr %t1048) + %t1049 = load ptr, ptr %t1000 + %t1050 = call ptr @fn_str_concat(ptr @.str4773, ptr %t1049) + %t1051 = call ptr @fn_str_concat(ptr %t1050, ptr @.str4774) + %t1052 = call ptr @fn_emit_bind(ptr %t1051) + store ptr %t1052, ptr %t1053 + %t1054 = load ptr, ptr %t1053 + %t1055 = load ptr, ptr %t977 + call void @fn_store_at(ptr @.str4775, ptr %t1054, ptr %t1055) + call void @fn_emit(ptr @.str4776) + %t1056 = load ptr, ptr %t986 + call void @fn_emit(ptr %t1056) + call void @fn_emit(ptr @.str4777) + %t1057 = load ptr, ptr %t990 + call void @fn_emit(ptr %t1057) + call void @fn_emit(ptr @.str4778) + %t1058 = call ptr @fn_val(ptr @.str4779, ptr @.str4780) + store ptr %t1058, ptr %retval br label %ret ret: - %t1022 = load ptr, ptr %retval - ret ptr %t1022 + %t1059 = load ptr, ptr %retval + ret ptr %t1059 } define i32 @fn_is_ease_ns(ptr %arg_meth) { @@ -45358,14 +51012,14 @@ entry: %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4583) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4781) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4584) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4782) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -45378,7 +51032,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4585) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4783) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -45392,14 +51046,14 @@ then4: br label %ret ifend6: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4586) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4784) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4587) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4785) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 @@ -45412,7 +51066,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str4588) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str4786) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 @@ -45443,7 +51097,7 @@ entry: %t3 = call ptr @fn_fx_mul_code(ptr %t1, ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - %t6 = call ptr @fn_fx_mul_code(ptr %t5, ptr @.str4589) + %t6 = call ptr @fn_fx_mul_code(ptr %t5, ptr @.str4787) store ptr %t6, ptr %retval br label %ret ret: @@ -45475,85 +51129,85 @@ entry: %t2 = call ptr @fn_ease_bounce_seg(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t0 - %t5 = call ptr @fn_str_concat(ptr @.str4590, ptr %t4) - %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4591) + %t5 = call ptr @fn_str_concat(ptr @.str4788, ptr %t4) + %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4789) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_ease_bounce_seg(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 - %t13 = call ptr @fn_str_concat(ptr @.str4592, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4593) + %t13 = call ptr @fn_str_concat(ptr @.str4790, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4791) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t0 - %t18 = call ptr @fn_str_concat(ptr @.str4594, ptr %t17) - %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4595) + %t18 = call ptr @fn_str_concat(ptr @.str4792, ptr %t17) + %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4793) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = call ptr @fn_ease_bounce_seg(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 - %t26 = call ptr @fn_str_concat(ptr @.str4596, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4597) + %t26 = call ptr @fn_str_concat(ptr @.str4794, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4795) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 - %t31 = call ptr @fn_str_concat(ptr @.str4598, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4599) + %t31 = call ptr @fn_str_concat(ptr @.str4796, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4797) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_ease_bounce_seg(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 - %t39 = call ptr @fn_str_concat(ptr @.str4600, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str4601) + %t39 = call ptr @fn_str_concat(ptr @.str4798, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str4799) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t0 - %t44 = call ptr @fn_str_concat(ptr @.str4602, ptr %t43) - %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4603) + %t44 = call ptr @fn_str_concat(ptr @.str4800, ptr %t43) + %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4801) %t46 = call ptr @fn_emit_bind(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 - %t49 = call ptr @fn_str_concat(ptr @.str4604, ptr %t48) - %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str4605) + %t49 = call ptr @fn_str_concat(ptr @.str4802, ptr %t48) + %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str4803) %t51 = load ptr, ptr %t29 %t52 = call ptr @fn_str_concat(ptr %t50, ptr %t51) - %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4606) + %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4804) %t54 = load ptr, ptr %t42 %t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t0 - %t59 = call ptr @fn_str_concat(ptr @.str4607, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4608) + %t59 = call ptr @fn_str_concat(ptr @.str4805, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4806) %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 @.str4609, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4610) + %t64 = call ptr @fn_str_concat(ptr @.str4807, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4808) %t66 = load ptr, ptr %t16 %t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66) - %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str4611) + %t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str4809) %t69 = load ptr, ptr %t57 %t70 = call ptr @fn_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t0 - %t74 = call ptr @fn_str_concat(ptr @.str4612, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4613) + %t74 = call ptr @fn_str_concat(ptr @.str4810, ptr %t73) + %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4811) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 - %t79 = call ptr @fn_str_concat(ptr @.str4614, ptr %t78) - %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str4615) + %t79 = call ptr @fn_str_concat(ptr @.str4812, ptr %t78) + %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str4813) %t81 = load ptr, ptr %t3 %t82 = call ptr @fn_str_concat(ptr %t80, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4616) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4814) %t84 = load ptr, ptr %t72 %t85 = call ptr @fn_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @fn_emit_bind(ptr %t85) @@ -45616,7 +51270,7 @@ ifend5: br i1 %t17, label %then6, label %ifend8 then6: %t18 = load ptr, ptr %t1 - %t19 = call ptr @fn_str_concat(ptr @.str4617, ptr %t18) + %t19 = call ptr @fn_str_concat(ptr @.str4815, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t1 @@ -45640,18 +51294,18 @@ then9: %t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t32 - %t38 = call ptr @fn_str_concat(ptr @.str4618, ptr %t37) - %t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str4619) + %t38 = call ptr @fn_str_concat(ptr @.str4816, ptr %t37) + %t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str4817) %t40 = call ptr @fn_emit_bind(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t36 - %t43 = call ptr @fn_str_concat(ptr @.str4620, ptr %t42) - %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str4621) + %t43 = call ptr @fn_str_concat(ptr @.str4818, ptr %t42) + %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str4819) %t45 = call ptr @fn_emit_bind(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t41 - %t48 = call ptr @fn_str_concat(ptr @.str4622, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4623) + %t48 = call ptr @fn_str_concat(ptr @.str4820, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4821) %t50 = load ptr, ptr %t46 %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @fn_emit_bind(ptr %t51) @@ -45673,14 +51327,14 @@ then12: %t63 = call ptr @fn_fx_mul_code(ptr %t61, ptr %t62) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 - %t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str4624) + %t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str4822) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 - %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4625) + %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4823) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 - %t72 = call ptr @fn_str_concat(ptr @.str4626, ptr %t71) - %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4627) + %t72 = call ptr @fn_str_concat(ptr @.str4824, ptr %t71) + %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4825) %t74 = load ptr, ptr %t70 %t75 = call ptr @fn_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @fn_emit_bind(ptr %t75) @@ -45695,30 +51349,30 @@ ifend14: then15: store i32 1, ptr @g_g_uses_mathrt %t81 = load ptr, ptr %t1 - %t82 = call ptr @fn_str_concat(ptr @.str4628, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4629) + %t82 = call ptr @fn_str_concat(ptr @.str4826, ptr %t81) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4827) %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 @.str4630, ptr %t86) + %t87 = call ptr @fn_str_concat(ptr @.str4828, 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 @.str4631, ptr %t90) - %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4632) + %t91 = call ptr @fn_str_concat(ptr @.str4829, ptr %t90) + %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4830) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t85 - %t96 = call ptr @fn_str_concat(ptr @.str4633, ptr %t95) - %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4634) + %t96 = call ptr @fn_str_concat(ptr @.str4831, ptr %t95) + %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4832) %t98 = call ptr @fn_emit_bind(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 - %t101 = call ptr @fn_fx_mul_code(ptr %t100, ptr @.str4635) + %t101 = call ptr @fn_fx_mul_code(ptr %t100, ptr @.str4833) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 - %t104 = call ptr @fn_str_concat(ptr @.str4636, ptr %t103) - %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4637) + %t104 = call ptr @fn_str_concat(ptr @.str4834, ptr %t103) + %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4835) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t94 @@ -45726,8 +51380,8 @@ then15: %t110 = call ptr @fn_fx_mul_code(ptr %t108, ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 - %t113 = call ptr @fn_str_concat(ptr @.str4638, ptr %t112) - %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4639) + %t113 = call ptr @fn_str_concat(ptr @.str4836, ptr %t112) + %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4837) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %retval br label %ret @@ -45759,7 +51413,7 @@ entry: %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4640) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4838) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: @@ -45767,12 +51421,12 @@ then0: %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @fn_ease_eval(i32 1, ptr %t16) - %t18 = call ptr @fn_val(ptr %t17, ptr @.str4641) + %t18 = call ptr @fn_val(ptr %t17, ptr @.str4839) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4642) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4840) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: @@ -45780,12 +51434,12 @@ then3: %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_ease_eval(i32 2, ptr %t24) - %t26 = call ptr @fn_val(ptr %t25, ptr @.str4643) + %t26 = call ptr @fn_val(ptr %t25, ptr @.str4841) store ptr %t26, ptr %retval br label %ret ifend5: %t27 = load ptr, ptr %t0 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str4644) + %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str4842) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: @@ -45793,12 +51447,12 @@ then6: %t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_ease_eval(i32 3, ptr %t32) - %t34 = call ptr @fn_val(ptr %t33, ptr @.str4645) + %t34 = call ptr @fn_val(ptr %t33, ptr @.str4843) store ptr %t34, ptr %retval br label %ret ifend8: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4646) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4844) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then9, label %ifend11 then9: @@ -45806,12 +51460,12 @@ then9: %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_ease_eval(i32 4, ptr %t40) - %t42 = call ptr @fn_val(ptr %t41, ptr @.str4647) + %t42 = call ptr @fn_val(ptr %t41, ptr @.str4845) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t0 - %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str4648) + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str4846) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then12, label %ifend14 then12: @@ -45819,7 +51473,7 @@ then12: %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_ease_eval(i32 5, ptr %t48) - %t50 = call ptr @fn_val(ptr %t49, ptr @.str4649) + %t50 = call ptr @fn_val(ptr %t49, ptr @.str4847) store ptr %t50, ptr %retval br label %ret ifend14: @@ -45827,7 +51481,7 @@ ifend14: %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_ease_eval(i32 6, ptr %t53) - %t55 = call ptr @fn_val(ptr %t54, ptr @.str4650) + %t55 = call ptr @fn_val(ptr %t54, ptr @.str4848) store ptr %t55, ptr %retval br label %ret ret: @@ -45845,14 +51499,14 @@ entry: %t31 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4651) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4849) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4652) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4850) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -45865,7 +51519,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4653) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4851) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -45879,14 +51533,14 @@ then4: br label %ret ifend6: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str4654) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str4852) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str4655) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str4853) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 @@ -45900,14 +51554,14 @@ then9: br label %ret ifend11: %t32 = load ptr, ptr %t0 - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str4656) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str4854) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t31 br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str4657) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str4855) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t31 @@ -45939,30 +51593,30 @@ entry: store ptr %arg_timer, ptr %t0 store ptr %arg_fps, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str4658, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4659) + %t3 = call ptr @fn_str_concat(ptr @.str4856, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4857) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 - %t8 = call ptr @fn_str_concat(ptr @.str4660, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4661) + %t8 = call ptr @fn_str_concat(ptr @.str4858, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4859) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 - %t13 = call ptr @fn_str_concat(ptr @.str4662, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4663) + %t13 = call ptr @fn_str_concat(ptr @.str4860, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4861) %t15 = load ptr, ptr %t11 %t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 - %t20 = call ptr @fn_str_concat(ptr @.str4664, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4665) + %t20 = call ptr @fn_str_concat(ptr @.str4862, ptr %t19) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4863) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 - %t25 = call ptr @fn_str_concat(ptr @.str4666, ptr %t24) - %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str4667) + %t25 = call ptr @fn_str_concat(ptr @.str4864, ptr %t24) + %t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str4865) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret @@ -45978,13 +51632,13 @@ entry: %t5 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str4668, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4669) + %t2 = call ptr @fn_str_concat(ptr @.str4866, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4867) %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 @.str4670, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4671) + %t7 = call ptr @fn_str_concat(ptr @.str4868, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4869) %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) @@ -46043,7 +51697,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4672) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4870) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -46088,17 +51742,17 @@ then0: %t43 = call ptr @fn_anim_atleast1(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t39 - %t46 = call ptr @fn_str_concat(ptr @.str4673, ptr %t45) - %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4674) + %t46 = call ptr @fn_str_concat(ptr @.str4871, ptr %t45) + %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4872) %t48 = load ptr, ptr %t44 %t49 = call ptr @fn_str_concat(ptr %t47, ptr %t48) %t50 = call ptr @fn_emit_bind(ptr %t49) - %t51 = call ptr @fn_val(ptr %t50, ptr @.str4675) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str4873) store ptr %t51, ptr %retval br label %ret ifend2: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4676) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4874) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then3, label %ifend5 then3: @@ -46140,32 +51794,32 @@ then3: %t90 = load ptr, ptr %t81 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 - %t93 = call ptr @fn_str_concat(ptr @.str4677, ptr %t92) - %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str4678) + %t93 = call ptr @fn_str_concat(ptr @.str4875, ptr %t92) + %t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str4876) %t95 = call ptr @fn_emit_bind(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t89 - %t98 = call ptr @fn_str_concat(ptr @.str4679, ptr %t97) - %t99 = call ptr @fn_str_concat(ptr %t98, ptr @.str4680) + %t98 = call ptr @fn_str_concat(ptr @.str4877, ptr %t97) + %t99 = call ptr @fn_str_concat(ptr %t98, ptr @.str4878) %t100 = load ptr, ptr %t96 %t101 = call ptr @fn_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @fn_emit_bind(ptr %t101) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 - %t105 = call ptr @fn_str_concat(ptr @.str4681, ptr %t104) - %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str4682) + %t105 = call ptr @fn_str_concat(ptr @.str4879, ptr %t104) + %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str4880) %t107 = load ptr, ptr %t89 %t108 = call ptr @fn_str_concat(ptr %t106, ptr %t107) - %t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str4683) + %t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str4881) %t110 = load ptr, ptr %t96 %t111 = call ptr @fn_str_concat(ptr %t109, ptr %t110) %t112 = call ptr @fn_emit_bind(ptr %t111) - %t113 = call ptr @fn_val(ptr %t112, ptr @.str4684) + %t113 = call ptr @fn_val(ptr %t112, ptr @.str4882) store ptr %t113, ptr %retval br label %ret ifend5: %t114 = load ptr, ptr %t0 - %t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4685) + %t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4883) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then6, label %ifend8 then6: @@ -46207,35 +51861,35 @@ then6: %t152 = load ptr, ptr %t143 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 - %t155 = call ptr @fn_str_concat(ptr @.str4686, ptr %t154) - %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str4687) + %t155 = call ptr @fn_str_concat(ptr @.str4884, ptr %t154) + %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str4885) %t157 = call ptr @fn_emit_bind(ptr %t156) store ptr %t157, ptr %t158 %t159 = load ptr, ptr %t158 - %t160 = call ptr @fn_str_concat(ptr @.str4688, ptr %t159) - %t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str4689) + %t160 = call ptr @fn_str_concat(ptr @.str4886, ptr %t159) + %t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str4887) %t162 = call ptr @fn_emit_bind(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_anim_atleast1(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t151 - %t168 = call ptr @fn_str_concat(ptr @.str4690, ptr %t167) - %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4691) + %t168 = call ptr @fn_str_concat(ptr @.str4888, ptr %t167) + %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4889) %t170 = load ptr, ptr %t166 %t171 = call ptr @fn_str_concat(ptr %t169, ptr %t170) %t172 = call ptr @fn_emit_bind(ptr %t171) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t166 - %t175 = call ptr @fn_str_concat(ptr @.str4692, ptr %t174) - %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str4693) + %t175 = call ptr @fn_str_concat(ptr @.str4890, ptr %t174) + %t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str4891) %t177 = load ptr, ptr %t173 %t178 = call ptr @fn_str_concat(ptr %t176, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t173 - %t182 = call ptr @fn_str_concat(ptr @.str4694, ptr %t181) - %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4695) + %t182 = call ptr @fn_str_concat(ptr @.str4892, ptr %t181) + %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4893) %t184 = load ptr, ptr %t143 %t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0 %t186 = load ptr, ptr %t185 @@ -46243,20 +51897,20 @@ then6: %t188 = call ptr @fn_emit_bind(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t189 - %t191 = call ptr @fn_str_concat(ptr @.str4696, ptr %t190) - %t192 = call ptr @fn_str_concat(ptr %t191, ptr @.str4697) + %t191 = call ptr @fn_str_concat(ptr @.str4894, ptr %t190) + %t192 = call ptr @fn_str_concat(ptr %t191, ptr @.str4895) %t193 = load ptr, ptr %t173 %t194 = call ptr @fn_str_concat(ptr %t192, ptr %t193) - %t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4698) + %t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4896) %t196 = load ptr, ptr %t180 %t197 = call ptr @fn_str_concat(ptr %t195, ptr %t196) %t198 = call ptr @fn_emit_bind(ptr %t197) - %t199 = call ptr @fn_val(ptr %t198, ptr @.str4699) + %t199 = call ptr @fn_val(ptr %t198, ptr @.str4897) store ptr %t199, ptr %retval br label %ret ifend8: %t200 = load ptr, ptr %t0 - %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str4700) + %t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str4898) %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then9, label %ifend11 then9: @@ -46296,8 +51950,8 @@ then9: %t236 = call ptr @fn_anim_elapsed(ptr %t232, ptr %t235) store ptr %t236, ptr %t237 %t238 = load ptr, ptr %t237 - %t239 = call ptr @fn_str_concat(ptr @.str4701, ptr %t238) - %t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str4702) + %t239 = call ptr @fn_str_concat(ptr @.str4899, ptr %t238) + %t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str4900) %t241 = load ptr, ptr %t229 %t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 @@ -46305,15 +51959,15 @@ then9: %t245 = call ptr @fn_emit_bind(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t246 - %t248 = call ptr @fn_str_concat(ptr @.str4703, ptr %t247) - %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str4704) + %t248 = call ptr @fn_str_concat(ptr @.str4901, ptr %t247) + %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str4902) %t250 = call ptr @fn_emit_bind(ptr %t249) - %t251 = call ptr @fn_val(ptr %t250, ptr @.str4705) + %t251 = call ptr @fn_val(ptr %t250, ptr @.str4903) store ptr %t251, ptr %retval br label %ret ifend11: %t252 = load ptr, ptr %t0 - %t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str4706) + %t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str4904) %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then12, label %ifend14 then12: @@ -46338,8 +51992,8 @@ then12: %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 - %t276 = call ptr @fn_str_concat(ptr @.str4707, ptr %t275) - %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4708) + %t276 = call ptr @fn_str_concat(ptr @.str4905, ptr %t275) + %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4906) %t278 = call ptr @fn_emit_bind(ptr %t277) store ptr %t278, ptr %t279 %t280 = load ptr, ptr %t263 @@ -46348,17 +52002,17 @@ then12: %t283 = call ptr @fn_anim_atleast1(ptr %t282) store ptr %t283, ptr %t284 %t285 = load ptr, ptr %t279 - %t286 = call ptr @fn_str_concat(ptr @.str4709, ptr %t285) - %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4710) + %t286 = call ptr @fn_str_concat(ptr @.str4907, ptr %t285) + %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4908) %t288 = load ptr, ptr %t284 %t289 = call ptr @fn_str_concat(ptr %t287, ptr %t288) %t290 = call ptr @fn_emit_bind(ptr %t289) - %t291 = call ptr @fn_val(ptr %t290, ptr @.str4711) + %t291 = call ptr @fn_val(ptr %t290, ptr @.str4909) store ptr %t291, ptr %retval br label %ret ifend14: %t292 = load ptr, ptr %t0 - %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str4712) + %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str4910) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then15, label %ifend17 then15: @@ -46397,21 +52051,21 @@ then15: %t327 = load ptr, ptr %t303 %t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 - %t330 = call ptr @fn_str_concat(ptr @.str4713, ptr %t329) - %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str4714) + %t330 = call ptr @fn_str_concat(ptr @.str4911, ptr %t329) + %t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str4912) %t332 = load ptr, ptr %t326 %t333 = call ptr @fn_str_concat(ptr %t331, ptr %t332) %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t335 - %t337 = call ptr @fn_str_concat(ptr @.str4715, ptr %t336) - %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4716) + %t337 = call ptr @fn_str_concat(ptr @.str4913, ptr %t336) + %t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4914) %t339 = load ptr, ptr %t321 %t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0 %t341 = load ptr, ptr %t340 %t342 = call ptr @fn_str_concat(ptr %t338, ptr %t341) %t343 = call ptr @fn_emit_bind(ptr %t342) - %t344 = call ptr @fn_val(ptr %t343, ptr @.str4717) + %t344 = call ptr @fn_val(ptr %t343, ptr @.str4915) store ptr %t344, ptr %retval br label %ret ifend17: @@ -46450,21 +52104,21 @@ ifend17: %t377 = load ptr, ptr %t353 %t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0 %t379 = load ptr, ptr %t378 - %t380 = call ptr @fn_str_concat(ptr @.str4718, ptr %t379) - %t381 = call ptr @fn_str_concat(ptr %t380, ptr @.str4719) + %t380 = call ptr @fn_str_concat(ptr @.str4916, ptr %t379) + %t381 = call ptr @fn_str_concat(ptr %t380, ptr @.str4917) %t382 = load ptr, ptr %t376 %t383 = call ptr @fn_str_concat(ptr %t381, ptr %t382) %t384 = call ptr @fn_emit_bind(ptr %t383) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t385 - %t387 = call ptr @fn_str_concat(ptr @.str4720, ptr %t386) - %t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4721) + %t387 = call ptr @fn_str_concat(ptr @.str4918, ptr %t386) + %t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4919) %t389 = load ptr, ptr %t371 %t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = call ptr @fn_str_concat(ptr %t388, ptr %t391) %t393 = call ptr @fn_emit_bind(ptr %t392) - %t394 = call ptr @fn_val(ptr %t393, ptr @.str4722) + %t394 = call ptr @fn_val(ptr %t393, ptr @.str4920) store ptr %t394, ptr %retval br label %ret ret: @@ -46484,14 +52138,14 @@ entry: %t47 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4723) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4921) %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 @.str4724) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str4922) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -46504,7 +52158,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4725) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4923) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -46517,7 +52171,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4726) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4924) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -46531,14 +52185,14 @@ then6: br label %ret ifend8: %t30 = load ptr, ptr %t0 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str4727) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str4925) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str4728) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str4926) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 @@ -46551,7 +52205,7 @@ scend10: br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str4729) + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str4927) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 @@ -46565,14 +52219,14 @@ then13: br label %ret ifend15: %t48 = load ptr, ptr %t0 - %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str4730) + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str4928) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend17, label %sc16 sc16: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4731) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4929) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 @@ -46599,16 +52253,16 @@ entry: %t5 = alloca ptr store ptr %arg_dur, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str4732, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4733) + %t2 = call ptr @fn_str_concat(ptr @.str4930, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4931) %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 @.str4734, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4735) + %t7 = call ptr @fn_str_concat(ptr @.str4932, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4933) %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9) - %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str4736) + %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str4934) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %retval br label %ret @@ -46679,7 +52333,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4737) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4935) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -46704,18 +52358,18 @@ then0: %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 - %t26 = call ptr @fn_str_concat(ptr @.str4738, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4739) + %t26 = call ptr @fn_str_concat(ptr @.str4936, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4937) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str4740, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4741) + %t31 = call ptr @fn_str_concat(ptr @.str4938, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4939) %t33 = load ptr, ptr %t22 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4742) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4940) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t13 @@ -46725,42 +52379,42 @@ then0: %t44 = call ptr @fn_fx_div_code(ptr %t42, ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str4743, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4744) + %t47 = call ptr @fn_str_concat(ptr @.str4941, ptr %t46) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4942) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 - %t52 = call ptr @fn_str_concat(ptr @.str4745, ptr %t51) - %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4746) + %t52 = call ptr @fn_str_concat(ptr @.str4943, ptr %t51) + %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4944) %t54 = load ptr, ptr %t45 %t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 - %t59 = call ptr @fn_str_concat(ptr @.str4747, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4748) + %t59 = call ptr @fn_str_concat(ptr @.str4945, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4946) %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 @.str4749, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4750) + %t64 = call ptr @fn_str_concat(ptr @.str4947, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4948) %t66 = load ptr, ptr %t57 %t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t29 - %t71 = call ptr @fn_str_concat(ptr @.str4751, ptr %t70) - %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4752) + %t71 = call ptr @fn_str_concat(ptr @.str4949, ptr %t70) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4950) %t73 = load ptr, ptr %t69 %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4753) + %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4951) %t76 = call ptr @fn_emit_bind(ptr %t75) - %t77 = call ptr @fn_val(ptr %t76, ptr @.str4754) + %t77 = call ptr @fn_val(ptr %t76, ptr @.str4952) store ptr %t77, ptr %retval br label %ret ifend2: %t78 = load ptr, ptr %t0 - %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str4755) + %t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str4953) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then3, label %ifend5 then3: @@ -46794,15 +52448,15 @@ then3: %t108 = call ptr @fn_fx_div_code(ptr %t106, ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 - %t111 = call ptr @fn_str_concat(ptr @.str4756, ptr %t110) - %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4757) + %t111 = call ptr @fn_str_concat(ptr @.str4954, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4955) %t113 = call ptr @fn_emit_bind(ptr %t112) - %t114 = call ptr @fn_val(ptr %t113, ptr @.str4758) + %t114 = call ptr @fn_val(ptr %t113, ptr @.str4956) store ptr %t114, ptr %retval br label %ret ifend5: %t115 = load ptr, ptr %t0 - %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str4759) + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str4957) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then6, label %ifend8 then6: @@ -46836,34 +52490,34 @@ then6: %t145 = call ptr @fn_fx_div_code(ptr %t143, ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 - %t148 = call ptr @fn_str_concat(ptr @.str4760, ptr %t147) - %t149 = call ptr @fn_str_concat(ptr %t148, ptr @.str4761) + %t148 = call ptr @fn_str_concat(ptr @.str4958, ptr %t147) + %t149 = call ptr @fn_str_concat(ptr %t148, ptr @.str4959) %t150 = call ptr @fn_emit_bind(ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t151 - %t153 = call ptr @fn_str_concat(ptr @.str4762, ptr %t152) + %t153 = call ptr @fn_str_concat(ptr @.str4960, ptr %t152) %t154 = call ptr @fn_emit_bind(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t151 - %t157 = call ptr @fn_str_concat(ptr @.str4763, ptr %t156) - %t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str4764) + %t157 = call ptr @fn_str_concat(ptr @.str4961, ptr %t156) + %t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str4962) %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 @.str4765, ptr %t161) - %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4766) + %t162 = call ptr @fn_str_concat(ptr @.str4963, ptr %t161) + %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4964) %t164 = load ptr, ptr %t151 %t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164) - %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4767) + %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4965) %t167 = load ptr, ptr %t155 %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) - %t170 = call ptr @fn_val(ptr %t169, ptr @.str4768) + %t170 = call ptr @fn_val(ptr %t169, ptr @.str4966) store ptr %t170, ptr %retval br label %ret ifend8: %t171 = load ptr, ptr %t0 - %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str4769) + %t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str4967) %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then9, label %ifend11 then9: @@ -46889,10 +52543,10 @@ then12: %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 - %t194 = call ptr @fn_str_concat(ptr @.str4770, ptr %t193) - %t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4771) + %t194 = call ptr @fn_str_concat(ptr @.str4968, ptr %t193) + %t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4969) %t196 = call ptr @fn_emit_bind(ptr %t195) - %t197 = call ptr @fn_val(ptr %t196, ptr @.str4772) + %t197 = call ptr @fn_val(ptr %t196, ptr @.str4970) store ptr %t197, ptr %retval br label %ret ifend14: @@ -46917,8 +52571,8 @@ ifend14: %t216 = load ptr, ptr %t206 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 - %t219 = call ptr @fn_str_concat(ptr @.str4773, ptr %t218) - %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str4774) + %t219 = call ptr @fn_str_concat(ptr @.str4971, ptr %t218) + %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str4972) %t221 = load ptr, ptr %t215 %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 %t223 = load ptr, ptr %t222 @@ -46926,15 +52580,15 @@ ifend14: %t225 = call ptr @fn_emit_bind(ptr %t224) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t226 - %t228 = call ptr @fn_str_concat(ptr @.str4775, ptr %t227) - %t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str4776) + %t228 = call ptr @fn_str_concat(ptr @.str4973, ptr %t227) + %t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str4974) %t230 = call ptr @fn_emit_bind(ptr %t229) - %t231 = call ptr @fn_val(ptr %t230, ptr @.str4777) + %t231 = call ptr @fn_val(ptr %t230, ptr @.str4975) store ptr %t231, ptr %retval br label %ret ifend11: %t232 = load ptr, ptr %t0 - %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str4778) + %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str4976) %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then15, label %ifend17 then15: @@ -46963,7 +52617,7 @@ then15: %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then18, label %ifend20 then18: - call void @fn_perr(ptr @.str4779) + call void @fn_perr(ptr @.str4977) br label %ifend20 ifend20: %t258 = load ptr, ptr %t251 @@ -46973,12 +52627,12 @@ ifend20: %t262 = getelementptr inbounds %Cmp_Val, ptr %t261, i32 0, i32 0 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_ease_eval(i32 %t260, ptr %t263) - %t265 = call ptr @fn_val(ptr %t264, ptr @.str4780) + %t265 = call ptr @fn_val(ptr %t264, ptr @.str4978) store ptr %t265, ptr %retval br label %ret ifend17: %t266 = load ptr, ptr %t0 - %t267 = call i32 @fn_str_eq(ptr %t266, ptr @.str4781) + %t267 = call i32 @fn_str_eq(ptr %t266, ptr @.str4979) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then21, label %ifend23 then21: @@ -47019,12 +52673,12 @@ then21: %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = call ptr @fn_fx_lerp_code(ptr %t298, ptr %t301, ptr %t304) - %t306 = call ptr @fn_val(ptr %t305, ptr @.str4782) + %t306 = call ptr @fn_val(ptr %t305, ptr @.str4980) store ptr %t306, ptr %retval br label %ret ifend23: %t307 = load ptr, ptr %t0 - %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str4783) + %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str4981) %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then24, label %ifend26 then24: @@ -47058,8 +52712,8 @@ then24: %t337 = load ptr, ptr %t327 %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 - %t340 = call ptr @fn_str_concat(ptr @.str4784, ptr %t339) - %t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str4785) + %t340 = call ptr @fn_str_concat(ptr @.str4982, ptr %t339) + %t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str4983) %t342 = load ptr, ptr %t318 %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 @@ -47067,53 +52721,53 @@ then24: %t346 = call ptr @fn_emit_bind(ptr %t345) store ptr %t346, ptr %t347 %t348 = load ptr, ptr %t347 - %t349 = call ptr @fn_str_concat(ptr @.str4786, ptr %t348) - %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str4787) + %t349 = call ptr @fn_str_concat(ptr @.str4984, ptr %t348) + %t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str4985) %t351 = call ptr @fn_emit_bind(ptr %t350) store ptr %t351, ptr %t352 %t353 = load ptr, ptr %t336 %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 - %t356 = call ptr @fn_str_concat(ptr @.str4788, ptr %t355) - %t357 = call ptr @fn_str_concat(ptr %t356, ptr @.str4789) + %t356 = call ptr @fn_str_concat(ptr @.str4986, ptr %t355) + %t357 = call ptr @fn_str_concat(ptr %t356, ptr @.str4987) %t358 = call ptr @fn_emit_bind(ptr %t357) store ptr %t358, ptr %t359 %t360 = load ptr, ptr %t352 - %t361 = call ptr @fn_str_concat(ptr @.str4790, ptr %t360) - %t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4791) + %t361 = call ptr @fn_str_concat(ptr @.str4988, ptr %t360) + %t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4989) %t363 = load ptr, ptr %t359 %t364 = call ptr @fn_str_concat(ptr %t362, ptr %t363) %t365 = call ptr @fn_emit_bind(ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t366 - %t368 = call ptr @fn_str_concat(ptr @.str4792, ptr %t367) - %t369 = call ptr @fn_str_concat(ptr %t368, ptr @.str4793) + %t368 = call ptr @fn_str_concat(ptr @.str4990, ptr %t367) + %t369 = call ptr @fn_str_concat(ptr %t368, ptr @.str4991) %t370 = call ptr @fn_emit_bind(ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t371 - %t373 = call ptr @fn_str_concat(ptr @.str4794, ptr %t372) - %t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4795) + %t373 = call ptr @fn_str_concat(ptr @.str4992, ptr %t372) + %t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4993) %t375 = call ptr @fn_emit_bind(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t376 - %t378 = call ptr @fn_str_concat(ptr @.str4796, ptr %t377) - %t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str4797) + %t378 = call ptr @fn_str_concat(ptr @.str4994, ptr %t377) + %t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str4995) %t380 = call ptr @fn_emit_bind(ptr %t379) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t318 %t383 = getelementptr inbounds %Cmp_Val, ptr %t382, i32 0, i32 0 %t384 = load ptr, ptr %t383 - %t385 = call ptr @fn_str_concat(ptr @.str4798, ptr %t384) - %t386 = call ptr @fn_str_concat(ptr %t385, ptr @.str4799) + %t385 = call ptr @fn_str_concat(ptr @.str4996, ptr %t384) + %t386 = call ptr @fn_str_concat(ptr %t385, ptr @.str4997) %t387 = load ptr, ptr %t381 %t388 = call ptr @fn_str_concat(ptr %t386, ptr %t387) %t389 = call ptr @fn_emit_bind(ptr %t388) - %t390 = call ptr @fn_val(ptr %t389, ptr @.str4800) + %t390 = call ptr @fn_val(ptr %t389, ptr @.str4998) store ptr %t390, ptr %retval br label %ret ifend26: %t391 = load ptr, ptr %t0 - %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str4801) + %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str4999) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then27, label %ifend29 then27: @@ -47181,7 +52835,7 @@ then27: %t455 = load ptr, ptr %t447 %t456 = load ptr, ptr %t454 %t457 = call ptr @fn_vec_pack(ptr %t455, ptr %t456) - %t458 = call ptr @fn_val(ptr %t457, ptr @.str4802) + %t458 = call ptr @fn_val(ptr %t457, ptr @.str5000) store ptr %t458, ptr %retval br label %ret ifend29: @@ -47215,11 +52869,11 @@ ifend29: %t486 = load ptr, ptr %t467 %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0 %t488 = load ptr, ptr %t487 - %t489 = call ptr @fn_color_ch(ptr %t488, ptr @.str4803) + %t489 = call ptr @fn_color_ch(ptr %t488, ptr @.str5001) %t490 = load ptr, ptr %t476 %t491 = getelementptr inbounds %Cmp_Val, ptr %t490, i32 0, i32 0 %t492 = load ptr, ptr %t491 - %t493 = call ptr @fn_color_ch(ptr %t492, ptr @.str4804) + %t493 = call ptr @fn_color_ch(ptr %t492, ptr @.str5002) %t494 = load ptr, ptr %t485 %t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0 %t496 = load ptr, ptr %t495 @@ -47228,11 +52882,11 @@ ifend29: %t499 = load ptr, ptr %t467 %t500 = getelementptr inbounds %Cmp_Val, ptr %t499, i32 0, i32 0 %t501 = load ptr, ptr %t500 - %t502 = call ptr @fn_color_ch(ptr %t501, ptr @.str4805) + %t502 = call ptr @fn_color_ch(ptr %t501, ptr @.str5003) %t503 = load ptr, ptr %t476 %t504 = getelementptr inbounds %Cmp_Val, ptr %t503, i32 0, i32 0 %t505 = load ptr, ptr %t504 - %t506 = call ptr @fn_color_ch(ptr %t505, ptr @.str4806) + %t506 = call ptr @fn_color_ch(ptr %t505, ptr @.str5004) %t507 = load ptr, ptr %t485 %t508 = getelementptr inbounds %Cmp_Val, ptr %t507, i32 0, i32 0 %t509 = load ptr, ptr %t508 @@ -47241,11 +52895,11 @@ ifend29: %t512 = load ptr, ptr %t467 %t513 = getelementptr inbounds %Cmp_Val, ptr %t512, i32 0, i32 0 %t514 = load ptr, ptr %t513 - %t515 = call ptr @fn_color_ch(ptr %t514, ptr @.str4807) + %t515 = call ptr @fn_color_ch(ptr %t514, ptr @.str5005) %t516 = load ptr, ptr %t476 %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0 %t518 = load ptr, ptr %t517 - %t519 = call ptr @fn_color_ch(ptr %t518, ptr @.str4808) + %t519 = call ptr @fn_color_ch(ptr %t518, ptr @.str5006) %t520 = load ptr, ptr %t485 %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 %t522 = load ptr, ptr %t521 @@ -47255,7 +52909,7 @@ ifend29: %t526 = load ptr, ptr %t511 %t527 = load ptr, ptr %t524 %t528 = call ptr @fn_color_pack(ptr %t525, ptr %t526, ptr %t527) - %t529 = call ptr @fn_val(ptr %t528, ptr @.str4809) + %t529 = call ptr @fn_val(ptr %t528, ptr @.str5007) store ptr %t529, ptr %retval br label %ret ret: @@ -47271,14 +52925,14 @@ entry: %t12 = alloca i32 store ptr %arg_meth, ptr %t0 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4810) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5008) %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 @.str4811) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str5009) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 @@ -47292,14 +52946,14 @@ then2: br label %ret ifend4: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str4812) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5010) %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 @.str4813) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str5011) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 @@ -47331,32 +52985,32 @@ entry: store ptr %arg_dx, ptr %t0 store ptr %arg_dy, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str4814, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4815) + %t3 = call ptr @fn_str_concat(ptr @.str5012, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5013) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 - %t8 = call ptr @fn_str_concat(ptr @.str4816, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4817) + %t8 = call ptr @fn_str_concat(ptr @.str5014, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str5015) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 - %t13 = call ptr @fn_str_concat(ptr @.str4818, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4819) + %t13 = call ptr @fn_str_concat(ptr @.str5016, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str5017) %t15 = load ptr, ptr %t6 %t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t11 - %t20 = call ptr @fn_str_concat(ptr @.str4820, ptr %t19) - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4821) + %t20 = call ptr @fn_str_concat(ptr @.str5018, ptr %t19) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str5019) %t22 = load ptr, ptr %t11 %t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @fn_emit_bind(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t18 - %t27 = call ptr @fn_str_concat(ptr @.str4822, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str4823) + %t27 = call ptr @fn_str_concat(ptr @.str5020, ptr %t26) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5021) %t29 = load ptr, ptr %t25 %t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @fn_emit_bind(ptr %t30) @@ -47380,35 +53034,35 @@ entry: store ptr %arg_lo, ptr %t1 store ptr %arg_hi, ptr %t2 %t3 = load ptr, ptr %t0 - %t4 = call ptr @fn_str_concat(ptr @.str4824, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4825) + %t4 = call ptr @fn_str_concat(ptr @.str5022, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5023) %t6 = load ptr, ptr %t2 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 - %t11 = call ptr @fn_str_concat(ptr @.str4826, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4827) + %t11 = call ptr @fn_str_concat(ptr @.str5024, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5025) %t13 = load ptr, ptr %t0 %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4828) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5026) %t16 = load ptr, ptr %t2 %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t1 - %t21 = call ptr @fn_str_concat(ptr @.str4829, ptr %t20) - %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str4830) + %t21 = call ptr @fn_str_concat(ptr @.str5027, ptr %t20) + %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5028) %t23 = load ptr, ptr %t19 %t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 - %t28 = call ptr @fn_str_concat(ptr @.str4831, ptr %t27) - %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str4832) + %t28 = call ptr @fn_str_concat(ptr @.str5029, ptr %t27) + %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str5030) %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4833) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5031) %t33 = load ptr, ptr %t19 %t34 = call ptr @fn_str_concat(ptr %t32, ptr %t33) %t35 = call ptr @fn_emit_bind(ptr %t34) @@ -47491,7 +53145,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4834) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5032) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -47570,8 +53224,8 @@ then0: %t77 = load ptr, ptr %t13 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 - %t80 = call ptr @fn_str_concat(ptr @.str4835, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str4836) + %t80 = call ptr @fn_str_concat(ptr @.str5033, ptr %t79) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str5034) %t82 = load ptr, ptr %t31 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 @@ -47581,8 +53235,8 @@ then0: %t88 = load ptr, ptr %t49 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 - %t91 = call ptr @fn_str_concat(ptr @.str4837, ptr %t90) - %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4838) + %t91 = call ptr @fn_str_concat(ptr @.str5035, ptr %t90) + %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str5036) %t93 = load ptr, ptr %t67 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 @@ -47592,8 +53246,8 @@ then0: %t99 = load ptr, ptr %t22 %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 - %t102 = call ptr @fn_str_concat(ptr @.str4839, ptr %t101) - %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str4840) + %t102 = call ptr @fn_str_concat(ptr @.str5037, ptr %t101) + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str5038) %t104 = load ptr, ptr %t40 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 @@ -47603,8 +53257,8 @@ then0: %t110 = load ptr, ptr %t58 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 - %t113 = call ptr @fn_str_concat(ptr @.str4841, ptr %t112) - %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4842) + %t113 = call ptr @fn_str_concat(ptr @.str5039, ptr %t112) + %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str5040) %t115 = load ptr, ptr %t76 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 @@ -47614,8 +53268,8 @@ then0: %t121 = load ptr, ptr %t13 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 - %t124 = call ptr @fn_str_concat(ptr @.str4843, ptr %t123) - %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str4844) + %t124 = call ptr @fn_str_concat(ptr @.str5041, ptr %t123) + %t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str5042) %t126 = load ptr, ptr %t98 %t127 = call ptr @fn_str_concat(ptr %t125, ptr %t126) %t128 = call ptr @fn_emit_bind(ptr %t127) @@ -47623,8 +53277,8 @@ then0: %t130 = load ptr, ptr %t49 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 - %t133 = call ptr @fn_str_concat(ptr @.str4845, ptr %t132) - %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str4846) + %t133 = call ptr @fn_str_concat(ptr @.str5043, ptr %t132) + %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str5044) %t135 = load ptr, ptr %t87 %t136 = call ptr @fn_str_concat(ptr %t134, ptr %t135) %t137 = call ptr @fn_emit_bind(ptr %t136) @@ -47632,8 +53286,8 @@ then0: %t139 = load ptr, ptr %t22 %t140 = getelementptr inbounds %Cmp_Val, ptr %t139, i32 0, i32 0 %t141 = load ptr, ptr %t140 - %t142 = call ptr @fn_str_concat(ptr @.str4847, ptr %t141) - %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str4848) + %t142 = call ptr @fn_str_concat(ptr @.str5045, ptr %t141) + %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str5046) %t144 = load ptr, ptr %t120 %t145 = call ptr @fn_str_concat(ptr %t143, ptr %t144) %t146 = call ptr @fn_emit_bind(ptr %t145) @@ -47641,43 +53295,43 @@ then0: %t148 = load ptr, ptr %t58 %t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0 %t150 = load ptr, ptr %t149 - %t151 = call ptr @fn_str_concat(ptr @.str4849, ptr %t150) - %t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str4850) + %t151 = call ptr @fn_str_concat(ptr @.str5047, ptr %t150) + %t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str5048) %t153 = load ptr, ptr %t109 %t154 = call ptr @fn_str_concat(ptr %t152, ptr %t153) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t129 - %t158 = call ptr @fn_str_concat(ptr @.str4851, ptr %t157) - %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str4852) + %t158 = call ptr @fn_str_concat(ptr @.str5049, ptr %t157) + %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str5050) %t160 = load ptr, ptr %t138 %t161 = call ptr @fn_str_concat(ptr %t159, ptr %t160) %t162 = call ptr @fn_emit_bind(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t147 - %t165 = call ptr @fn_str_concat(ptr @.str4853, ptr %t164) - %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4854) + %t165 = call ptr @fn_str_concat(ptr @.str5051, ptr %t164) + %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str5052) %t167 = load ptr, ptr %t156 %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t163 - %t172 = call ptr @fn_str_concat(ptr @.str4855, ptr %t171) - %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str4856) + %t172 = call ptr @fn_str_concat(ptr @.str5053, ptr %t171) + %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str5054) %t174 = load ptr, ptr %t170 %t175 = call ptr @fn_str_concat(ptr %t173, ptr %t174) %t176 = call ptr @fn_emit_bind(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t177 - %t179 = call ptr @fn_str_concat(ptr @.str4857, ptr %t178) - %t180 = call ptr @fn_str_concat(ptr %t179, ptr @.str4858) + %t179 = call ptr @fn_str_concat(ptr @.str5055, ptr %t178) + %t180 = call ptr @fn_str_concat(ptr %t179, ptr @.str5056) %t181 = call ptr @fn_emit_bind(ptr %t180) - %t182 = call ptr @fn_val(ptr %t181, ptr @.str4859) + %t182 = call ptr @fn_val(ptr %t181, ptr @.str5057) store ptr %t182, ptr %retval br label %ret ifend2: %t183 = load ptr, ptr %t0 - %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str4860) + %t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str5058) %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then3, label %ifend5 then3: @@ -47738,8 +53392,8 @@ then3: %t240 = load ptr, ptr %t212 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 - %t243 = call ptr @fn_str_concat(ptr @.str4861, ptr %t242) - %t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str4862) + %t243 = call ptr @fn_str_concat(ptr @.str5059, ptr %t242) + %t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str5060) %t245 = load ptr, ptr %t230 %t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0 %t247 = load ptr, ptr %t246 @@ -47749,8 +53403,8 @@ then3: %t251 = load ptr, ptr %t221 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 - %t254 = call ptr @fn_str_concat(ptr @.str4863, ptr %t253) - %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str4864) + %t254 = call ptr @fn_str_concat(ptr @.str5061, ptr %t253) + %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5062) %t256 = load ptr, ptr %t239 %t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 @@ -47760,8 +53414,8 @@ then3: %t262 = load ptr, ptr %t194 %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 - %t265 = call ptr @fn_str_concat(ptr @.str4865, ptr %t264) - %t266 = call ptr @fn_str_concat(ptr %t265, ptr @.str4866) + %t265 = call ptr @fn_str_concat(ptr @.str5063, ptr %t264) + %t266 = call ptr @fn_str_concat(ptr %t265, ptr @.str5064) %t267 = load ptr, ptr %t212 %t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 @@ -47771,8 +53425,8 @@ then3: %t273 = load ptr, ptr %t194 %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 - %t276 = call ptr @fn_str_concat(ptr @.str4867, ptr %t275) - %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4868) + %t276 = call ptr @fn_str_concat(ptr @.str5065, ptr %t275) + %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str5066) %t278 = load ptr, ptr %t250 %t279 = call ptr @fn_str_concat(ptr %t277, ptr %t278) %t280 = call ptr @fn_emit_bind(ptr %t279) @@ -47780,8 +53434,8 @@ then3: %t282 = load ptr, ptr %t203 %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 %t284 = load ptr, ptr %t283 - %t285 = call ptr @fn_str_concat(ptr @.str4869, ptr %t284) - %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str4870) + %t285 = call ptr @fn_str_concat(ptr @.str5067, ptr %t284) + %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str5068) %t287 = load ptr, ptr %t221 %t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 @@ -47791,43 +53445,43 @@ then3: %t293 = load ptr, ptr %t203 %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 - %t296 = call ptr @fn_str_concat(ptr @.str4871, ptr %t295) - %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str4872) + %t296 = call ptr @fn_str_concat(ptr @.str5069, ptr %t295) + %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str5070) %t298 = load ptr, ptr %t261 %t299 = call ptr @fn_str_concat(ptr %t297, ptr %t298) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t272 - %t303 = call ptr @fn_str_concat(ptr @.str4873, ptr %t302) - %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str4874) + %t303 = call ptr @fn_str_concat(ptr @.str5071, ptr %t302) + %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str5072) %t305 = load ptr, ptr %t281 %t306 = call ptr @fn_str_concat(ptr %t304, ptr %t305) %t307 = call ptr @fn_emit_bind(ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t292 - %t310 = call ptr @fn_str_concat(ptr @.str4875, ptr %t309) - %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str4876) + %t310 = call ptr @fn_str_concat(ptr @.str5073, ptr %t309) + %t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str5074) %t312 = load ptr, ptr %t301 %t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312) %t314 = call ptr @fn_emit_bind(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t308 - %t317 = call ptr @fn_str_concat(ptr @.str4877, ptr %t316) - %t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str4878) + %t317 = call ptr @fn_str_concat(ptr @.str5075, ptr %t316) + %t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str5076) %t319 = load ptr, ptr %t315 %t320 = call ptr @fn_str_concat(ptr %t318, ptr %t319) %t321 = call ptr @fn_emit_bind(ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t322 - %t324 = call ptr @fn_str_concat(ptr @.str4879, ptr %t323) - %t325 = call ptr @fn_str_concat(ptr %t324, ptr @.str4880) + %t324 = call ptr @fn_str_concat(ptr @.str5077, ptr %t323) + %t325 = call ptr @fn_str_concat(ptr %t324, ptr @.str5078) %t326 = call ptr @fn_emit_bind(ptr %t325) - %t327 = call ptr @fn_val(ptr %t326, ptr @.str4881) + %t327 = call ptr @fn_val(ptr %t326, ptr @.str5079) store ptr %t327, ptr %retval br label %ret ifend5: %t328 = load ptr, ptr %t0 - %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str4882) + %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str5080) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then6, label %ifend8 then6: @@ -47888,8 +53542,8 @@ then6: %t385 = load ptr, ptr %t339 %t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0 %t387 = load ptr, ptr %t386 - %t388 = call ptr @fn_str_concat(ptr @.str4883, ptr %t387) - %t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str4884) + %t388 = call ptr @fn_str_concat(ptr @.str5081, ptr %t387) + %t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str5082) %t390 = load ptr, ptr %t366 %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 @@ -47899,8 +53553,8 @@ then6: %t396 = load ptr, ptr %t348 %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 %t398 = load ptr, ptr %t397 - %t399 = call ptr @fn_str_concat(ptr @.str4885, ptr %t398) - %t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str4886) + %t399 = call ptr @fn_str_concat(ptr @.str5083, ptr %t398) + %t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str5084) %t401 = load ptr, ptr %t375 %t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 @@ -47914,8 +53568,8 @@ then6: %t411 = load ptr, ptr %t357 %t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0 %t413 = load ptr, ptr %t412 - %t414 = call ptr @fn_str_concat(ptr @.str4887, ptr %t413) - %t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str4888) + %t414 = call ptr @fn_str_concat(ptr @.str5085, ptr %t413) + %t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str5086) %t416 = load ptr, ptr %t384 %t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0 %t418 = load ptr, ptr %t417 @@ -47923,29 +53577,29 @@ then6: %t420 = call ptr @fn_emit_bind(ptr %t419) store ptr %t420, ptr %t421 %t422 = load ptr, ptr %t421 - %t423 = call ptr @fn_str_concat(ptr @.str4889, ptr %t422) - %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str4890) + %t423 = call ptr @fn_str_concat(ptr @.str5087, ptr %t422) + %t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str5088) %t425 = call ptr @fn_emit_bind(ptr %t424) store ptr %t425, ptr %t426 %t427 = load ptr, ptr %t426 - %t428 = call ptr @fn_str_concat(ptr @.str4891, ptr %t427) - %t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str4892) + %t428 = call ptr @fn_str_concat(ptr @.str5089, ptr %t427) + %t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str5090) %t430 = load ptr, ptr %t426 %t431 = call ptr @fn_str_concat(ptr %t429, ptr %t430) %t432 = call ptr @fn_emit_bind(ptr %t431) store ptr %t432, ptr %t433 %t434 = load ptr, ptr %t410 - %t435 = call ptr @fn_str_concat(ptr @.str4893, ptr %t434) - %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str4894) + %t435 = call ptr @fn_str_concat(ptr @.str5091, ptr %t434) + %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str5092) %t437 = load ptr, ptr %t433 %t438 = call ptr @fn_str_concat(ptr %t436, ptr %t437) %t439 = call ptr @fn_emit_bind(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t440 - %t442 = call ptr @fn_str_concat(ptr @.str4895, ptr %t441) - %t443 = call ptr @fn_str_concat(ptr %t442, ptr @.str4896) + %t442 = call ptr @fn_str_concat(ptr @.str5093, ptr %t441) + %t443 = call ptr @fn_str_concat(ptr %t442, ptr @.str5094) %t444 = call ptr @fn_emit_bind(ptr %t443) - %t445 = call ptr @fn_val(ptr %t444, ptr @.str4897) + %t445 = call ptr @fn_val(ptr %t444, ptr @.str5095) store ptr %t445, ptr %retval br label %ret ifend8: @@ -48015,8 +53669,8 @@ ifend8: %t509 = load ptr, ptr %t454 %t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0 %t511 = load ptr, ptr %t510 - %t512 = call ptr @fn_str_concat(ptr @.str4898, ptr %t511) - %t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str4899) + %t512 = call ptr @fn_str_concat(ptr @.str5096, ptr %t511) + %t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str5097) %t514 = load ptr, ptr %t472 %t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0 %t516 = load ptr, ptr %t515 @@ -48026,8 +53680,8 @@ ifend8: %t520 = load ptr, ptr %t463 %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 %t522 = load ptr, ptr %t521 - %t523 = call ptr @fn_str_concat(ptr @.str4900, ptr %t522) - %t524 = call ptr @fn_str_concat(ptr %t523, ptr @.str4901) + %t523 = call ptr @fn_str_concat(ptr @.str5098, ptr %t522) + %t524 = call ptr @fn_str_concat(ptr %t523, ptr @.str5099) %t525 = load ptr, ptr %t481 %t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0 %t527 = load ptr, ptr %t526 @@ -48055,8 +53709,8 @@ ifend8: %t549 = load ptr, ptr %t490 %t550 = getelementptr inbounds %Cmp_Val, ptr %t549, i32 0, i32 0 %t551 = load ptr, ptr %t550 - %t552 = call ptr @fn_str_concat(ptr @.str4902, ptr %t551) - %t553 = call ptr @fn_str_concat(ptr %t552, ptr @.str4903) + %t552 = call ptr @fn_str_concat(ptr @.str5100, ptr %t551) + %t553 = call ptr @fn_str_concat(ptr %t552, ptr @.str5101) %t554 = load ptr, ptr %t539 %t555 = call ptr @fn_str_concat(ptr %t553, ptr %t554) %t556 = call ptr @fn_emit_bind(ptr %t555) @@ -48064,8 +53718,8 @@ ifend8: %t558 = load ptr, ptr %t499 %t559 = getelementptr inbounds %Cmp_Val, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 - %t561 = call ptr @fn_str_concat(ptr @.str4904, ptr %t560) - %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str4905) + %t561 = call ptr @fn_str_concat(ptr @.str5102, ptr %t560) + %t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str5103) %t563 = load ptr, ptr %t548 %t564 = call ptr @fn_str_concat(ptr %t562, ptr %t563) %t565 = call ptr @fn_emit_bind(ptr %t564) @@ -48077,29 +53731,29 @@ ifend8: %t571 = load ptr, ptr %t508 %t572 = getelementptr inbounds %Cmp_Val, ptr %t571, i32 0, i32 0 %t573 = load ptr, ptr %t572 - %t574 = call ptr @fn_str_concat(ptr @.str4906, ptr %t573) - %t575 = call ptr @fn_str_concat(ptr %t574, ptr @.str4907) + %t574 = call ptr @fn_str_concat(ptr @.str5104, ptr %t573) + %t575 = call ptr @fn_str_concat(ptr %t574, ptr @.str5105) %t576 = call ptr @fn_emit_bind(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t577 - %t579 = call ptr @fn_str_concat(ptr @.str4908, ptr %t578) - %t580 = call ptr @fn_str_concat(ptr %t579, ptr @.str4909) + %t579 = call ptr @fn_str_concat(ptr @.str5106, ptr %t578) + %t580 = call ptr @fn_str_concat(ptr %t579, ptr @.str5107) %t581 = load ptr, ptr %t577 %t582 = call ptr @fn_str_concat(ptr %t580, ptr %t581) %t583 = call ptr @fn_emit_bind(ptr %t582) store ptr %t583, ptr %t584 %t585 = load ptr, ptr %t570 - %t586 = call ptr @fn_str_concat(ptr @.str4910, ptr %t585) - %t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str4911) + %t586 = call ptr @fn_str_concat(ptr @.str5108, ptr %t585) + %t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str5109) %t588 = load ptr, ptr %t584 %t589 = call ptr @fn_str_concat(ptr %t587, ptr %t588) %t590 = call ptr @fn_emit_bind(ptr %t589) store ptr %t590, ptr %t591 %t592 = load ptr, ptr %t591 - %t593 = call ptr @fn_str_concat(ptr @.str4912, ptr %t592) - %t594 = call ptr @fn_str_concat(ptr %t593, ptr @.str4913) + %t593 = call ptr @fn_str_concat(ptr @.str5110, ptr %t592) + %t594 = call ptr @fn_str_concat(ptr %t593, ptr @.str5111) %t595 = call ptr @fn_emit_bind(ptr %t594) - %t596 = call ptr @fn_val(ptr %t595, ptr @.str4914) + %t596 = call ptr @fn_val(ptr %t595, ptr @.str5112) store ptr %t596, ptr %retval br label %ret ret: @@ -48117,14 +53771,14 @@ entry: %t14 = alloca i32 store ptr %arg_meth, ptr %t0 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4915) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5113) %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 @.str4916) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str5114) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 @@ -48138,14 +53792,14 @@ then2: br label %ret ifend4: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4917) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5115) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t14 br i1 %t17, label %scend6, label %sc5 sc5: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4918) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5116) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t14 @@ -48158,7 +53812,7 @@ scend6: br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4919) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5117) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t13 @@ -48171,7 +53825,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str4920) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str5118) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t12 @@ -48221,7 +53875,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4921) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5119) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -48237,20 +53891,20 @@ then0: %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str4922, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4923) + %t17 = call ptr @fn_str_concat(ptr @.str5120, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str5121) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 - %t22 = call ptr @fn_str_concat(ptr @.str4924, ptr %t21) - %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str4925) + %t22 = call ptr @fn_str_concat(ptr @.str5122, ptr %t21) + %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str5123) %t24 = call ptr @fn_emit_bind(ptr %t23) - %t25 = call ptr @fn_val(ptr %t24, ptr @.str4926) + %t25 = call ptr @fn_val(ptr %t24, ptr @.str5124) store ptr %t25, ptr %retval br label %ret ifend2: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4927) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5125) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: @@ -48266,25 +53920,25 @@ then3: %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 - %t41 = call ptr @fn_str_concat(ptr @.str4928, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4929) + %t41 = call ptr @fn_str_concat(ptr @.str5126, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5127) %t43 = call ptr @fn_emit_bind(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 - %t46 = call ptr @fn_str_concat(ptr @.str4930, ptr %t45) - %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4931) + %t46 = call ptr @fn_str_concat(ptr @.str5128, ptr %t45) + %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str5129) %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 @.str4932, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4933) + %t51 = call ptr @fn_str_concat(ptr @.str5130, ptr %t50) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5131) %t53 = call ptr @fn_emit_bind(ptr %t52) - %t54 = call ptr @fn_val(ptr %t53, ptr @.str4934) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str5132) store ptr %t54, ptr %retval br label %ret ifend5: %t55 = load ptr, ptr %t0 - %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str4935) + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5133) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then6, label %ifend8 then6: @@ -48318,30 +53972,30 @@ then6: %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 - %t88 = call ptr @fn_str_concat(ptr @.str4936, ptr %t87) - %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str4937) + %t88 = call ptr @fn_str_concat(ptr @.str5134, ptr %t87) + %t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str5135) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 - call void @fn_emit(ptr @.str4938) + call void @fn_emit(ptr @.str5136) %t92 = load ptr, ptr %t66 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str4939) + call void @fn_emit(ptr @.str5137) %t95 = load ptr, ptr %t75 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 call void @fn_emit(ptr %t97) - call void @fn_emit(ptr @.str4940) + call void @fn_emit(ptr @.str5138) %t98 = load ptr, ptr %t91 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str4941) - %t99 = call ptr @fn_val(ptr @.str4942, ptr @.str4943) + call void @fn_emit(ptr @.str5139) + %t99 = call ptr @fn_val(ptr @.str5140, ptr @.str5141) store ptr %t99, ptr %retval br label %ret ifend8: %t100 = load ptr, ptr %t0 - %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str4944) + %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5142) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then9, label %ifend11 then9: @@ -48375,30 +54029,30 @@ then9: %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 - %t133 = call ptr @fn_str_concat(ptr @.str4945, ptr %t132) - %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str4946) + %t133 = call ptr @fn_str_concat(ptr @.str5143, ptr %t132) + %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str5144) %t135 = call ptr @fn_emit_bind(ptr %t134) store ptr %t135, ptr %t136 - call void @fn_emit(ptr @.str4947) + call void @fn_emit(ptr @.str5145) %t137 = load ptr, ptr %t111 %t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str4948) + call void @fn_emit(ptr @.str5146) %t140 = load ptr, ptr %t120 %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 call void @fn_emit(ptr %t142) - call void @fn_emit(ptr @.str4949) + call void @fn_emit(ptr @.str5147) %t143 = load ptr, ptr %t136 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str4950) - %t144 = call ptr @fn_val(ptr @.str4951, ptr @.str4952) + call void @fn_emit(ptr @.str5148) + %t144 = call ptr @fn_val(ptr @.str5149, ptr @.str5150) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 - %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str4953) + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5151) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then12, label %ifend14 then12: @@ -48423,8 +54077,8 @@ then12: %t166 = load ptr, ptr %t156 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 - %t169 = call ptr @fn_str_concat(ptr @.str4954, ptr %t168) - %t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str4955) + %t169 = call ptr @fn_str_concat(ptr @.str5152, ptr %t168) + %t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str5153) %t171 = load ptr, ptr %t165 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 @@ -48432,14 +54086,14 @@ then12: %t175 = call ptr @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 - %t178 = call ptr @fn_str_concat(ptr @.str4956, ptr %t177) + %t178 = call ptr @fn_str_concat(ptr @.str5154, ptr %t177) %t179 = call ptr @fn_emit_bind(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t180 - %t182 = call ptr @fn_str_concat(ptr @.str4957, ptr %t181) - %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4958) + %t182 = call ptr @fn_str_concat(ptr @.str5155, ptr %t181) + %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str5156) %t184 = call ptr @fn_emit_bind(ptr %t183) - %t185 = call ptr @fn_val(ptr %t184, ptr @.str4959) + %t185 = call ptr @fn_val(ptr %t184, ptr @.str5157) store ptr %t185, ptr %retval br label %ret ifend14: @@ -48473,8 +54127,8 @@ ifend14: %t213 = load ptr, ptr %t194 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 - %t216 = call ptr @fn_str_concat(ptr @.str4960, ptr %t215) - %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str4961) + %t216 = call ptr @fn_str_concat(ptr @.str5158, ptr %t215) + %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str5159) %t218 = load ptr, ptr %t203 %t219 = getelementptr inbounds %Cmp_Val, ptr %t218, i32 0, i32 0 %t220 = load ptr, ptr %t219 @@ -48484,18 +54138,18 @@ ifend14: %t224 = load ptr, ptr %t212 %t225 = getelementptr inbounds %Cmp_Val, ptr %t224, i32 0, i32 0 %t226 = load ptr, ptr %t225 - %t227 = call ptr @fn_str_concat(ptr @.str4962, ptr %t226) - %t228 = call ptr @fn_str_concat(ptr %t227, ptr @.str4963) + %t227 = call ptr @fn_str_concat(ptr @.str5160, ptr %t226) + %t228 = call ptr @fn_str_concat(ptr %t227, ptr @.str5161) %t229 = call ptr @fn_emit_bind(ptr %t228) store ptr %t229, ptr %t230 - call void @fn_emit(ptr @.str4964) + call void @fn_emit(ptr @.str5162) %t231 = load ptr, ptr %t230 call void @fn_emit(ptr %t231) - call void @fn_emit(ptr @.str4965) + call void @fn_emit(ptr @.str5163) %t232 = load ptr, ptr %t223 call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str4966) - %t233 = call ptr @fn_val(ptr @.str4967, ptr @.str4968) + call void @fn_emit(ptr @.str5164) + %t233 = call ptr @fn_val(ptr @.str5165, ptr @.str5166) store ptr %t233, ptr %retval br label %ret ret: @@ -48512,14 +54166,14 @@ entry: %t3 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4969) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5167) %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 @.str4970) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5168) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -48532,7 +54186,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4971) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5169) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -48545,7 +54199,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4972) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5170) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -48559,7 +54213,7 @@ then6: br label %ret ifend8: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str4973) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5171) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: @@ -48586,41 +54240,41 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4974) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5172) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_emit_bind(ptr @.str4975) - %t6 = call ptr @fn_val(ptr %t5, ptr @.str4976) + %t5 = call ptr @fn_emit_bind(ptr @.str5173) + %t6 = call ptr @fn_val(ptr %t5, ptr @.str5174) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4977) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5175) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: - %t10 = call ptr @fn_val(ptr @.str4978, ptr @.str4979) + %t10 = call ptr @fn_val(ptr @.str5176, ptr @.str5177) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4980) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5178) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: - %t14 = call ptr @fn_emit_bind(ptr @.str4981) + %t14 = call ptr @fn_emit_bind(ptr @.str5179) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_str_concat(ptr @.str4982, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4983) + %t17 = call ptr @fn_str_concat(ptr @.str5180, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str5181) %t19 = call ptr @fn_emit_bind(ptr %t18) - %t20 = call ptr @fn_val(ptr %t19, ptr @.str4984) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str5182) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 - %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str4985) + %t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str5183) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then9, label %ifend11 then9: @@ -48633,32 +54287,32 @@ then9: %t30 = load ptr, ptr %t29 %t31 = call ptr @fn_emit_expr(ptr %t30) store ptr %t31, ptr %t32 - %t33 = call ptr @fn_emit_bind(ptr @.str4986) + %t33 = call ptr @fn_emit_bind(ptr @.str5184) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_str_concat(ptr @.str4987, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4988) + %t36 = call ptr @fn_str_concat(ptr @.str5185, ptr %t35) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str5186) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 - %t41 = call ptr @fn_str_concat(ptr @.str4989, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4990) + %t41 = call ptr @fn_str_concat(ptr @.str5187, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5188) %t43 = load ptr, ptr %t32 %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45) %t47 = call ptr @fn_emit_bind(ptr %t46) - %t48 = call ptr @fn_val(ptr %t47, ptr @.str4991) + %t48 = call ptr @fn_val(ptr %t47, ptr @.str5189) store ptr %t48, ptr %retval br label %ret ifend11: - %t49 = call ptr @fn_emit_bind(ptr @.str4992) + %t49 = call ptr @fn_emit_bind(ptr @.str5190) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 - %t52 = call ptr @fn_str_concat(ptr @.str4993, ptr %t51) - %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4994) + %t52 = call ptr @fn_str_concat(ptr @.str5191, ptr %t51) + %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str5192) %t54 = call ptr @fn_emit_bind(ptr %t53) - %t55 = call ptr @fn_val(ptr %t54, ptr @.str4995) + %t55 = call ptr @fn_val(ptr %t54, ptr @.str5193) store ptr %t55, ptr %retval br label %ret ret: @@ -48678,14 +54332,14 @@ entry: %t30 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4996) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5194) %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 @.str4997) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5195) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -48698,7 +54352,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str4998) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5196) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -48711,7 +54365,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4999) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5197) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -48725,14 +54379,14 @@ then6: br label %ret ifend8: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5000) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5198) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str5001) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str5199) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 @@ -48745,7 +54399,7 @@ scend10: br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str5002) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str5200) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 @@ -48758,7 +54412,7 @@ scend12: br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5003) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5201) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 @@ -48796,111 +54450,111 @@ entry: %t9 = call ptr @fn_emit_expr(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5004) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5202) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 - %t17 = call ptr @fn_val(ptr %t16, ptr @.str5005) + %t17 = call ptr @fn_val(ptr %t16, ptr @.str5203) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 - %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str5006) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str5204) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 - %t24 = call ptr @fn_str_concat(ptr @.str5007, ptr %t23) - %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str5008) + %t24 = call ptr @fn_str_concat(ptr @.str5205, ptr %t23) + %t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str5206) %t26 = call ptr @fn_emit_bind(ptr %t25) - %t27 = call ptr @fn_val(ptr %t26, ptr @.str5009) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str5207) store ptr %t27, ptr %retval br label %ret ifend5: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5010) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5208) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: %t31 = load ptr, ptr %t10 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 - %t34 = call ptr @fn_str_concat(ptr @.str5011, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str5012) + %t34 = call ptr @fn_str_concat(ptr @.str5209, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str5210) %t36 = call ptr @fn_emit_bind(ptr %t35) - %t37 = call ptr @fn_val(ptr %t36, ptr @.str5013) + %t37 = call ptr @fn_val(ptr %t36, ptr @.str5211) store ptr %t37, ptr %retval br label %ret ifend8: %t38 = load ptr, ptr %t0 - %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str5014) + %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str5212) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: %t41 = load ptr, ptr %t10 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 - %t44 = call ptr @fn_str_concat(ptr @.str5015, ptr %t43) - %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str5016) + %t44 = call ptr @fn_str_concat(ptr @.str5213, ptr %t43) + %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str5214) %t46 = call ptr @fn_emit_bind(ptr %t45) - %t47 = call ptr @fn_val(ptr %t46, ptr @.str5017) + %t47 = call ptr @fn_val(ptr %t46, ptr @.str5215) store ptr %t47, ptr %retval br label %ret ifend11: %t48 = load ptr, ptr %t0 - %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str5018) + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str5216) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then12, label %ifend14 then12: %t51 = load ptr, ptr %t10 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 - %t54 = call ptr @fn_val(ptr %t53, ptr @.str5019) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str5217) store ptr %t54, ptr %retval br label %ret ifend14: %t55 = load ptr, ptr %t0 - %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5020) + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5218) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then15, label %ifend17 then15: %t58 = load ptr, ptr %t10 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 - %t61 = call ptr @fn_str_concat(ptr @.str5021, ptr %t60) - %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str5022) + %t61 = call ptr @fn_str_concat(ptr @.str5219, ptr %t60) + %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str5220) %t63 = call ptr @fn_emit_bind(ptr %t62) - %t64 = call ptr @fn_val(ptr %t63, ptr @.str5023) + %t64 = call ptr @fn_val(ptr %t63, ptr @.str5221) store ptr %t64, ptr %retval br label %ret ifend17: %t65 = load ptr, ptr %t0 - %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str5024) + %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str5222) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then18, label %ifend20 then18: %t68 = load ptr, ptr %t10 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 - %t71 = call ptr @fn_str_concat(ptr @.str5025, ptr %t70) - %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str5026) + %t71 = call ptr @fn_str_concat(ptr @.str5223, ptr %t70) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str5224) %t73 = call ptr @fn_emit_bind(ptr %t72) - %t74 = call ptr @fn_val(ptr %t73, ptr @.str5027) + %t74 = call ptr @fn_val(ptr %t73, ptr @.str5225) store ptr %t74, ptr %retval br label %ret ifend20: %t75 = load ptr, ptr %t10 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 - %t78 = call ptr @fn_str_concat(ptr @.str5028, ptr %t77) - %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str5029) + %t78 = call ptr @fn_str_concat(ptr @.str5226, ptr %t77) + %t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str5227) %t80 = call ptr @fn_emit_bind(ptr %t79) - %t81 = call ptr @fn_val(ptr %t80, ptr @.str5030) + %t81 = call ptr @fn_val(ptr %t80, ptr @.str5228) store ptr %t81, ptr %retval br label %ret ret: @@ -48920,24 +54574,24 @@ entry: store ptr %arg_ed, ptr %t0 store i32 %arg_which, ptr %t1 store i32 1, ptr @g_g_uses_datert - %t2 = call ptr @fn_emit_alloca(ptr @.str5031) + %t2 = call ptr @fn_emit_alloca(ptr @.str5229) store ptr %t2, ptr %t3 - %t4 = call ptr @fn_emit_alloca(ptr @.str5032) + %t4 = call ptr @fn_emit_alloca(ptr @.str5230) store ptr %t4, ptr %t5 - %t6 = call ptr @fn_emit_alloca(ptr @.str5033) + %t6 = call ptr @fn_emit_alloca(ptr @.str5231) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 - %t9 = call ptr @fn_str_concat(ptr @.str5034, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5035) + %t9 = call ptr @fn_str_concat(ptr @.str5232, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5233) %t11 = load ptr, ptr %t3 %t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5036) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5234) %t14 = load ptr, ptr %t5 %t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str5037) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str5235) %t17 = load ptr, ptr %t7 %t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17) - %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5038) + %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5236) call void @fn_emit(ptr %t19) %t20 = load ptr, ptr %t3 store ptr %t20, ptr %t21 @@ -48962,7 +54616,7 @@ then3: br label %ifend5 ifend5: %t32 = load ptr, ptr %t21 - %t33 = call ptr @fn_str_concat(ptr @.str5039, ptr %t32) + %t33 = call ptr @fn_str_concat(ptr @.str5237, ptr %t32) %t34 = call ptr @fn_emit_bind(ptr %t33) store ptr %t34, ptr %retval br label %ret @@ -48984,14 +54638,14 @@ entry: %t48 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5040) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5238) %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 @.str5041) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5239) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -49004,7 +54658,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5042) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5240) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -49017,7 +54671,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5043) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5241) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -49031,14 +54685,14 @@ then6: br label %ret ifend8: %t30 = load ptr, ptr %t0 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str5044) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str5242) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5045) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5243) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 @@ -49051,7 +54705,7 @@ scend10: br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str5046) + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str5244) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 @@ -49065,14 +54719,14 @@ then13: br label %ret ifend15: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5047) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5245) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t48 br i1 %t51, label %scend17, label %sc16 sc16: %t53 = load ptr, ptr %t0 - %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str5048) + %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str5246) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t48 @@ -49085,7 +54739,7 @@ scend17: br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5049) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5247) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t47 @@ -49146,7 +54800,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5050) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5248) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -49181,25 +54835,25 @@ then0: %t32 = load ptr, ptr %t13 %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 - %t35 = call ptr @fn_str_concat(ptr @.str5051, ptr %t34) - %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str5052) + %t35 = call ptr @fn_str_concat(ptr @.str5249, ptr %t34) + %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str5250) %t37 = load ptr, ptr %t22 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = call ptr @fn_str_concat(ptr %t36, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5053) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5251) %t42 = load ptr, ptr %t31 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_str_concat(ptr %t41, ptr %t44) - %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str5054) + %t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str5252) %t47 = call ptr @fn_emit_bind(ptr %t46) - %t48 = call ptr @fn_val(ptr %t47, ptr @.str5055) + %t48 = call ptr @fn_val(ptr %t47, ptr @.str5253) store ptr %t48, ptr %retval br label %ret ifend2: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5056) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5254) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then3, label %ifend5 then3: @@ -49216,12 +54870,12 @@ then3: %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_date_component(ptr %t63, i32 0) - %t65 = call ptr @fn_val(ptr %t64, ptr @.str5057) + %t65 = call ptr @fn_val(ptr %t64, ptr @.str5255) store ptr %t65, ptr %retval br label %ret ifend5: %t66 = load ptr, ptr %t0 - %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str5058) + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str5256) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then6, label %ifend8 then6: @@ -49238,12 +54892,12 @@ then6: %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_date_component(ptr %t80, i32 1) - %t82 = call ptr @fn_val(ptr %t81, ptr @.str5059) + %t82 = call ptr @fn_val(ptr %t81, ptr @.str5257) store ptr %t82, ptr %retval br label %ret ifend8: %t83 = load ptr, ptr %t0 - %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str5060) + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str5258) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: @@ -49260,12 +54914,12 @@ then9: %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_date_component(ptr %t97, i32 2) - %t99 = call ptr @fn_val(ptr %t98, ptr @.str5061) + %t99 = call ptr @fn_val(ptr %t98, ptr @.str5259) store ptr %t99, ptr %retval br label %ret ifend11: %t100 = load ptr, ptr %t0 - %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5062) + %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5260) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then12, label %ifend14 then12: @@ -49281,30 +54935,30 @@ then12: %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 - %t115 = call ptr @fn_str_concat(ptr @.str5063, ptr %t114) - %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str5064) + %t115 = call ptr @fn_str_concat(ptr @.str5261, ptr %t114) + %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str5262) %t117 = call ptr @fn_emit_bind(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 - %t120 = call ptr @fn_str_concat(ptr @.str5065, ptr %t119) - %t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str5066) + %t120 = call ptr @fn_str_concat(ptr @.str5263, ptr %t119) + %t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str5264) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 - %t125 = call ptr @fn_str_concat(ptr @.str5067, ptr %t124) - %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str5068) + %t125 = call ptr @fn_str_concat(ptr @.str5265, ptr %t124) + %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str5266) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 - %t130 = call ptr @fn_str_concat(ptr @.str5069, ptr %t129) - %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str5070) + %t130 = call ptr @fn_str_concat(ptr @.str5267, ptr %t129) + %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str5268) %t132 = call ptr @fn_emit_bind(ptr %t131) - %t133 = call ptr @fn_val(ptr %t132, ptr @.str5071) + %t133 = call ptr @fn_val(ptr %t132, ptr @.str5269) store ptr %t133, ptr %retval br label %ret ifend14: %t134 = load ptr, ptr %t0 - %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str5072) + %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str5270) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then15, label %ifend17 then15: @@ -49320,63 +54974,63 @@ then15: %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 - %t149 = call ptr @fn_str_concat(ptr @.str5073, ptr %t148) - %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str5074) + %t149 = call ptr @fn_str_concat(ptr @.str5271, ptr %t148) + %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str5272) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 - %t154 = call ptr @fn_str_concat(ptr @.str5075, ptr %t153) - %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str5076) + %t154 = call ptr @fn_str_concat(ptr @.str5273, ptr %t153) + %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str5274) %t156 = call ptr @fn_emit_bind(ptr %t155) store ptr %t156, ptr %t157 %t158 = load ptr, ptr %t145 %t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 - %t161 = call ptr @fn_str_concat(ptr @.str5077, ptr %t160) - %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str5078) + %t161 = call ptr @fn_str_concat(ptr @.str5275, ptr %t160) + %t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str5276) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t164 - %t166 = call ptr @fn_str_concat(ptr @.str5079, ptr %t165) - %t167 = call ptr @fn_str_concat(ptr %t166, ptr @.str5080) + %t166 = call ptr @fn_str_concat(ptr @.str5277, ptr %t165) + %t167 = call ptr @fn_str_concat(ptr %t166, ptr @.str5278) %t168 = call ptr @fn_emit_bind(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t145 %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 - %t173 = call ptr @fn_str_concat(ptr @.str5081, ptr %t172) - %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str5082) + %t173 = call ptr @fn_str_concat(ptr @.str5279, ptr %t172) + %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str5280) %t175 = call ptr @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 - %t178 = call ptr @fn_str_concat(ptr @.str5083, ptr %t177) - %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str5084) + %t178 = call ptr @fn_str_concat(ptr @.str5281, ptr %t177) + %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str5282) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t157 - %t183 = call ptr @fn_str_concat(ptr @.str5085, ptr %t182) - %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str5086) + %t183 = call ptr @fn_str_concat(ptr @.str5283, ptr %t182) + %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str5284) %t185 = load ptr, ptr %t169 %t186 = call ptr @fn_str_concat(ptr %t184, ptr %t185) %t187 = call ptr @fn_emit_bind(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t188 - %t190 = call ptr @fn_str_concat(ptr @.str5087, ptr %t189) - %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str5088) + %t190 = call ptr @fn_str_concat(ptr @.str5285, ptr %t189) + %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str5286) %t192 = load ptr, ptr %t181 %t193 = call ptr @fn_str_concat(ptr %t191, ptr %t192) %t194 = call ptr @fn_emit_bind(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t195 - %t197 = call ptr @fn_str_concat(ptr @.str5089, ptr %t196) - %t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str5090) + %t197 = call ptr @fn_str_concat(ptr @.str5287, ptr %t196) + %t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str5288) %t199 = call ptr @fn_emit_bind(ptr %t198) - %t200 = call ptr @fn_val(ptr %t199, ptr @.str5091) + %t200 = call ptr @fn_val(ptr %t199, ptr @.str5289) store ptr %t200, ptr %retval br label %ret ifend17: %t201 = load ptr, ptr %t0 - %t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str5092) + %t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str5290) %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %then18, label %ifend20 then18: @@ -49402,35 +55056,35 @@ then18: %t222 = load ptr, ptr %t212 %t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 - %t225 = call ptr @fn_str_concat(ptr @.str5093, ptr %t224) - %t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str5094) + %t225 = call ptr @fn_str_concat(ptr @.str5291, ptr %t224) + %t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str5292) %t227 = load ptr, ptr %t221 %t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0 %t229 = load ptr, ptr %t228 %t230 = call ptr @fn_str_concat(ptr %t226, ptr %t229) - %t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str5095) + %t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str5293) %t232 = call ptr @fn_emit_bind(ptr %t231) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t221 %t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0 %t236 = load ptr, ptr %t235 - %t237 = call ptr @fn_str_concat(ptr @.str5096, ptr %t236) - %t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str5097) + %t237 = call ptr @fn_str_concat(ptr @.str5294, ptr %t236) + %t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str5295) %t239 = call ptr @fn_emit_bind(ptr %t238) store ptr %t239, ptr %t240 %t241 = load ptr, ptr %t212 %t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 - %t244 = call ptr @fn_str_concat(ptr @.str5098, ptr %t243) - %t245 = call ptr @fn_str_concat(ptr %t244, ptr @.str5099) + %t244 = call ptr @fn_str_concat(ptr @.str5296, ptr %t243) + %t245 = call ptr @fn_str_concat(ptr %t244, ptr @.str5297) %t246 = call ptr @fn_emit_bind(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t240 - %t249 = call ptr @fn_str_concat(ptr @.str5100, ptr %t248) - %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str5101) + %t249 = call ptr @fn_str_concat(ptr @.str5298, ptr %t248) + %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str5299) %t251 = load ptr, ptr %t247 %t252 = call ptr @fn_str_concat(ptr %t250, ptr %t251) - %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str5102) + %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str5300) %t254 = load ptr, ptr %t212 %t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 @@ -49440,37 +55094,37 @@ then18: %t260 = load ptr, ptr %t221 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 - %t263 = call ptr @fn_str_concat(ptr @.str5103, ptr %t262) - %t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str5104) + %t263 = call ptr @fn_str_concat(ptr @.str5301, ptr %t262) + %t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str5302) %t265 = call ptr @fn_emit_bind(ptr %t264) store ptr %t265, ptr %t266 %t267 = load ptr, ptr %t240 - %t268 = call ptr @fn_str_concat(ptr @.str5105, ptr %t267) - %t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str5106) + %t268 = call ptr @fn_str_concat(ptr @.str5303, ptr %t267) + %t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str5304) %t270 = load ptr, ptr %t266 %t271 = call ptr @fn_str_concat(ptr %t269, ptr %t270) %t272 = call ptr @fn_emit_bind(ptr %t271) store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t259 - %t275 = call ptr @fn_str_concat(ptr @.str5107, ptr %t274) - %t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str5108) + %t275 = call ptr @fn_str_concat(ptr @.str5305, ptr %t274) + %t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str5306) %t277 = load ptr, ptr %t273 %t278 = call ptr @fn_str_concat(ptr %t276, ptr %t277) - %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5109) + %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5307) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 %t282 = load ptr, ptr %t281 - %t283 = call ptr @fn_str_concat(ptr @.str5110, ptr %t282) - %t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str5111) + %t283 = call ptr @fn_str_concat(ptr @.str5308, ptr %t282) + %t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str5309) %t285 = load ptr, ptr %t233 %t286 = call ptr @fn_str_concat(ptr %t284, ptr %t285) %t287 = call ptr @fn_emit_bind(ptr %t286) - %t288 = call ptr @fn_val(ptr %t287, ptr @.str5112) + %t288 = call ptr @fn_val(ptr %t287, ptr @.str5310) store ptr %t288, ptr %retval br label %ret ifend20: %t289 = load ptr, ptr %t0 - %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5113) + %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5311) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then21, label %ifend23 then21: @@ -49486,15 +55140,15 @@ then21: %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 - %t304 = call ptr @fn_str_concat(ptr @.str5114, ptr %t303) - %t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str5115) + %t304 = call ptr @fn_str_concat(ptr @.str5312, ptr %t303) + %t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str5313) %t306 = call ptr @fn_emit_bind(ptr %t305) - %t307 = call ptr @fn_val(ptr %t306, ptr @.str5116) + %t307 = call ptr @fn_val(ptr %t306, ptr @.str5314) store ptr %t307, ptr %retval br label %ret ifend23: %t308 = load ptr, ptr %t0 - %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str5117) + %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str5315) %t310 = icmp ne i32 %t309, 0 br i1 %t310, label %then24, label %ifend26 then24: @@ -49519,14 +55173,14 @@ then24: %t329 = load ptr, ptr %t319 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 - %t332 = call ptr @fn_str_concat(ptr @.str5118, ptr %t331) - %t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str5119) + %t332 = call ptr @fn_str_concat(ptr @.str5316, ptr %t331) + %t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str5317) %t334 = load ptr, ptr %t328 %t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0 %t336 = load ptr, ptr %t335 %t337 = call ptr @fn_str_concat(ptr %t333, ptr %t336) %t338 = call ptr @fn_emit_bind(ptr %t337) - %t339 = call ptr @fn_val(ptr %t338, ptr @.str5120) + %t339 = call ptr @fn_val(ptr %t338, ptr @.str5318) store ptr %t339, ptr %retval br label %ret ifend26: @@ -49551,14 +55205,14 @@ ifend26: %t358 = load ptr, ptr %t348 %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 - %t361 = call ptr @fn_str_concat(ptr @.str5121, ptr %t360) - %t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str5122) + %t361 = call ptr @fn_str_concat(ptr @.str5319, ptr %t360) + %t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str5320) %t363 = load ptr, ptr %t357 %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = call ptr @fn_str_concat(ptr %t362, ptr %t365) %t367 = call ptr @fn_emit_bind(ptr %t366) - %t368 = call ptr @fn_val(ptr %t367, ptr @.str5123) + %t368 = call ptr @fn_val(ptr %t367, ptr @.str5321) store ptr %t368, ptr %retval br label %ret ret: @@ -49574,18 +55228,18 @@ entry: %t10 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str5124, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5125) + %t2 = call ptr @fn_str_concat(ptr @.str5322, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5323) %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 @.str5126, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5127) + %t7 = call ptr @fn_str_concat(ptr @.str5324, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5325) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 - %t12 = call ptr @fn_str_concat(ptr @.str5128, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5129) + %t12 = call ptr @fn_str_concat(ptr @.str5326, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5327) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret @@ -49605,15 +55259,15 @@ entry: %t2 = call ptr @fn_dt_secofday(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t0 - %t5 = call ptr @fn_str_concat(ptr @.str5130, ptr %t4) - %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str5131) + %t5 = call ptr @fn_str_concat(ptr @.str5328, ptr %t4) + %t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str5329) %t7 = load ptr, ptr %t3 %t8 = call ptr @fn_str_concat(ptr %t6, ptr %t7) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 - %t12 = call ptr @fn_str_concat(ptr @.str5132, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5133) + %t12 = call ptr @fn_str_concat(ptr @.str5330, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5331) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret @@ -49636,14 +55290,14 @@ entry: %t66 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5134) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5332) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5135) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5333) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -49656,7 +55310,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5136) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5334) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -49670,14 +55324,14 @@ then4: br label %ret ifend6: %t23 = load ptr, ptr %t0 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str5137) + %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str5335) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t22 br i1 %t25, label %scend8, label %sc7 sc7: %t27 = load ptr, ptr %t0 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str5138) + %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str5336) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t22 @@ -49690,7 +55344,7 @@ scend8: br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5139) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5337) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 @@ -49703,7 +55357,7 @@ scend10: br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 - %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str5140) + %t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str5338) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t20 @@ -49717,14 +55371,14 @@ then13: br label %ret ifend15: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5141) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5339) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t48 br i1 %t51, label %scend17, label %sc16 sc16: %t53 = load ptr, ptr %t0 - %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str5142) + %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str5340) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t48 @@ -49737,7 +55391,7 @@ scend17: br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5143) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5341) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t47 @@ -49751,14 +55405,14 @@ then20: br label %ret ifend22: %t67 = load ptr, ptr %t0 - %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str5144) + %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str5342) %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t66 br i1 %t69, label %scend24, label %sc23 sc23: %t71 = load ptr, ptr %t0 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str5145) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str5343) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t66 @@ -49786,11 +55440,11 @@ entry: store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str5146, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5147) + %t3 = call ptr @fn_str_concat(ptr @.str5344, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5345) %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5) - %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str5148) + %t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str5346) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %retval br label %ret @@ -49913,7 +55567,7 @@ entry: %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: - call void @fn_perr(ptr @.str5149) + call void @fn_perr(ptr @.str5347) br label %ifend2 ifend2: %t13 = load ptr, ptr %t0 @@ -49944,35 +55598,35 @@ ifend2: %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_dt_epochday(ptr %t38) store ptr %t39, ptr %t40 - %t41 = call ptr @fn_emit_alloca(ptr @.str5150) + %t41 = call ptr @fn_emit_alloca(ptr @.str5348) store ptr %t41, ptr %t42 - %t43 = call ptr @fn_emit_alloca(ptr @.str5151) + %t43 = call ptr @fn_emit_alloca(ptr @.str5349) store ptr %t43, ptr %t44 - %t45 = call ptr @fn_emit_alloca(ptr @.str5152) + %t45 = call ptr @fn_emit_alloca(ptr @.str5350) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t40 - %t48 = call ptr @fn_str_concat(ptr @.str5153, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str5154) + %t48 = call ptr @fn_str_concat(ptr @.str5351, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str5352) %t50 = load ptr, ptr %t42 %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5155) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5353) %t53 = load ptr, ptr %t44 %t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5156) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5354) %t56 = load ptr, ptr %t46 %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5157) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5355) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t42 - %t60 = call ptr @fn_str_concat(ptr @.str5158, ptr %t59) + %t60 = call ptr @fn_str_concat(ptr @.str5356, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t44 - %t64 = call ptr @fn_str_concat(ptr @.str5159, ptr %t63) + %t64 = call ptr @fn_str_concat(ptr @.str5357, ptr %t63) %t65 = call ptr @fn_emit_bind(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t46 - %t68 = call ptr @fn_str_concat(ptr @.str5160, ptr %t67) + %t68 = call ptr @fn_str_concat(ptr @.str5358, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t21 @@ -49981,31 +55635,31 @@ ifend2: %t74 = call ptr @fn_dt_secofday(ptr %t73) store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 - %t77 = call ptr @fn_str_concat(ptr @.str5161, ptr %t76) - %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str5162) + %t77 = call ptr @fn_str_concat(ptr @.str5359, ptr %t76) + %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str5360) %t79 = call ptr @fn_emit_bind(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t75 - %t82 = call ptr @fn_str_concat(ptr @.str5163, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str5164) + %t82 = call ptr @fn_str_concat(ptr @.str5361, ptr %t81) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str5362) %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 @.str5165, ptr %t86) - %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str5166) + %t87 = call ptr @fn_str_concat(ptr @.str5363, ptr %t86) + %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str5364) %t89 = call ptr @fn_emit_bind(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t75 - %t92 = call ptr @fn_str_concat(ptr @.str5167, ptr %t91) - %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str5168) + %t92 = call ptr @fn_str_concat(ptr @.str5365, ptr %t91) + %t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str5366) %t94 = call ptr @fn_emit_bind(ptr %t93) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t62 - %t97 = call ptr @fn_str_concat(ptr @.str5169, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str5170) + %t97 = call ptr @fn_str_concat(ptr @.str5367, ptr %t96) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str5368) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 - %t101 = call ptr @fn_emit_str_const(ptr @.str5171) + %t101 = call ptr @fn_emit_str_const(ptr @.str5369) store ptr %t101, ptr %t102 %t103 = call ptr @fn_buf_new() store ptr %t103, ptr %t104 @@ -50025,7 +55679,7 @@ wbody4: %t114 = load ptr, ptr %t31 %t115 = load i32, ptr %t35 %t116 = load i32, ptr %t105 - %t117 = call i32 @fn_dt_tok_at(ptr %t114, i32 %t115, i32 %t116, ptr @.str5172, i32 4) + %t117 = call i32 @fn_dt_tok_at(ptr %t114, i32 %t115, i32 %t116, ptr @.str5370, i32 4) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then6, label %else7 then6: @@ -50038,7 +55692,7 @@ else7: %t120 = load ptr, ptr %t31 %t121 = load i32, ptr %t35 %t122 = load i32, ptr %t105 - %t123 = call i32 @fn_dt_tok_at(ptr %t120, i32 %t121, i32 %t122, ptr @.str5173, i32 2) + %t123 = call i32 @fn_dt_tok_at(ptr %t120, i32 %t121, i32 %t122, ptr @.str5371, i32 2) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then9, label %else10 then9: @@ -50051,7 +55705,7 @@ else10: %t126 = load ptr, ptr %t31 %t127 = load i32, ptr %t35 %t128 = load i32, ptr %t105 - %t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str5174, i32 2) + %t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str5372, i32 2) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then12, label %else13 then12: @@ -50064,7 +55718,7 @@ else13: %t132 = load ptr, ptr %t31 %t133 = load i32, ptr %t35 %t134 = load i32, ptr %t105 - %t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str5175, i32 2) + %t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str5373, i32 2) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then15, label %else16 then15: @@ -50077,7 +55731,7 @@ else16: %t138 = load ptr, ptr %t31 %t139 = load i32, ptr %t35 %t140 = load i32, ptr %t105 - %t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str5176, i32 2) + %t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str5374, i32 2) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then18, label %else19 then18: @@ -50090,7 +55744,7 @@ else19: %t144 = load ptr, ptr %t31 %t145 = load i32, ptr %t35 %t146 = load i32, ptr %t105 - %t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str5177, i32 2) + %t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str5375, i32 2) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then21, label %else22 then21: @@ -50103,7 +55757,7 @@ else22: %t150 = load ptr, ptr %t31 %t151 = load i32, ptr %t35 %t152 = load i32, ptr %t105 - %t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str5178, i32 2) + %t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str5376, i32 2) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then24, label %ifend26 then24: @@ -50162,12 +55816,12 @@ then30: br label %ifend32 ifend32: %t181 = load ptr, ptr %t111 - %t182 = call ptr @fn_str_concat(ptr @.str5179, ptr %t181) - %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str5180) + %t182 = call ptr @fn_str_concat(ptr @.str5377, ptr %t181) + %t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str5378) %t184 = load i32, ptr %t112 %t185 = call ptr @fn_int_str(i32 %t184) %t186 = call ptr @fn_str_concat(ptr %t183, ptr %t185) - %t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str5181) + %t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str5379) %t188 = call ptr @fn_emit_bind(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t102 @@ -50204,7 +55858,7 @@ then33: br label %ifend35 ifend35: %t211 = load ptr, ptr %t102 - %t212 = call ptr @fn_val(ptr %t211, ptr @.str5182) + %t212 = call ptr @fn_val(ptr %t211, ptr @.str5380) store ptr %t212, ptr %retval br label %ret ret: @@ -50263,7 +55917,7 @@ entry: %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: - call void @fn_perr(ptr @.str5183) + call void @fn_perr(ptr @.str5381) br label %ifend2 ifend2: %t13 = load ptr, ptr %t0 @@ -50289,34 +55943,34 @@ ifend2: %t33 = call i64 @strlen(ptr %t32) %t34 = trunc i64 %t33 to i32 store i32 %t34, ptr %t35 - %t36 = call ptr @fn_emit_alloca(ptr @.str5184) + %t36 = call ptr @fn_emit_alloca(ptr @.str5382) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 - call void @fn_store_at(ptr @.str5185, ptr @.str5186, ptr %t38) - %t39 = call ptr @fn_emit_alloca(ptr @.str5187) + call void @fn_store_at(ptr @.str5383, ptr @.str5384, ptr %t38) + %t39 = call ptr @fn_emit_alloca(ptr @.str5385) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 - call void @fn_store_at(ptr @.str5188, ptr @.str5189, ptr %t41) - %t42 = call ptr @fn_emit_alloca(ptr @.str5190) + call void @fn_store_at(ptr @.str5386, ptr @.str5387, ptr %t41) + %t42 = call ptr @fn_emit_alloca(ptr @.str5388) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 - call void @fn_store_at(ptr @.str5191, ptr @.str5192, ptr %t44) - %t45 = call ptr @fn_emit_alloca(ptr @.str5193) + call void @fn_store_at(ptr @.str5389, ptr @.str5390, ptr %t44) + %t45 = call ptr @fn_emit_alloca(ptr @.str5391) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 - call void @fn_store_at(ptr @.str5194, ptr @.str5195, ptr %t47) - %t48 = call ptr @fn_emit_alloca(ptr @.str5196) + call void @fn_store_at(ptr @.str5392, ptr @.str5393, ptr %t47) + %t48 = call ptr @fn_emit_alloca(ptr @.str5394) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 - call void @fn_store_at(ptr @.str5197, ptr @.str5198, ptr %t50) - %t51 = call ptr @fn_emit_alloca(ptr @.str5199) + call void @fn_store_at(ptr @.str5395, ptr @.str5396, ptr %t50) + %t51 = call ptr @fn_emit_alloca(ptr @.str5397) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 - call void @fn_store_at(ptr @.str5200, ptr @.str5201, ptr %t53) - %t54 = call ptr @fn_emit_alloca(ptr @.str5202) + call void @fn_store_at(ptr @.str5398, ptr @.str5399, ptr %t53) + %t54 = call ptr @fn_emit_alloca(ptr @.str5400) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 - call void @fn_store_at(ptr @.str5203, ptr @.str5204, ptr %t56) + call void @fn_store_at(ptr @.str5401, ptr @.str5402, ptr %t56) store i32 0, ptr %t57 store i32 0, ptr %t58 br label %wcond3 @@ -50334,7 +55988,7 @@ wbody4: %t67 = load ptr, ptr %t31 %t68 = load i32, ptr %t35 %t69 = load i32, ptr %t58 - %t70 = call i32 @fn_dt_tok_at(ptr %t67, i32 %t68, i32 %t69, ptr @.str5205, i32 4) + %t70 = call i32 @fn_dt_tok_at(ptr %t67, i32 %t68, i32 %t69, ptr @.str5403, i32 4) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then6, label %else7 then6: @@ -50347,7 +56001,7 @@ else7: %t73 = load ptr, ptr %t31 %t74 = load i32, ptr %t35 %t75 = load i32, ptr %t58 - %t76 = call i32 @fn_dt_tok_at(ptr %t73, i32 %t74, i32 %t75, ptr @.str5206, i32 2) + %t76 = call i32 @fn_dt_tok_at(ptr %t73, i32 %t74, i32 %t75, ptr @.str5404, i32 2) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then9, label %else10 then9: @@ -50360,7 +56014,7 @@ else10: %t79 = load ptr, ptr %t31 %t80 = load i32, ptr %t35 %t81 = load i32, ptr %t58 - %t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str5207, i32 2) + %t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str5405, i32 2) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then12, label %else13 then12: @@ -50373,7 +56027,7 @@ else13: %t85 = load ptr, ptr %t31 %t86 = load i32, ptr %t35 %t87 = load i32, ptr %t58 - %t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str5208, i32 2) + %t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str5406, i32 2) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then15, label %else16 then15: @@ -50386,7 +56040,7 @@ else16: %t91 = load ptr, ptr %t31 %t92 = load i32, ptr %t35 %t93 = load i32, ptr %t58 - %t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str5209, i32 2) + %t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str5407, i32 2) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %else19 then18: @@ -50399,7 +56053,7 @@ else19: %t97 = load ptr, ptr %t31 %t98 = load i32, ptr %t35 %t99 = load i32, ptr %t58 - %t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str5210, i32 2) + %t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str5408, i32 2) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then21, label %ifend23 then21: @@ -50436,24 +56090,24 @@ else25: %t111 = load ptr, ptr %t21 %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 - %t114 = call ptr @fn_str_concat(ptr @.str5211, ptr %t113) - %t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str5212) + %t114 = call ptr @fn_str_concat(ptr @.str5409, ptr %t113) + %t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str5410) %t116 = load i32, ptr %t57 %t117 = call ptr @fn_itoa(i32 %t116) %t118 = call ptr @fn_str_concat(ptr %t115, ptr %t117) - %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str5213) + %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str5411) %t120 = load i32, ptr %t65 %t121 = call ptr @fn_int_str(i32 %t120) %t122 = call ptr @fn_str_concat(ptr %t119, ptr %t121) - %t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str5214) + %t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str5412) %t124 = load ptr, ptr %t37 %t125 = call ptr @fn_str_concat(ptr %t123, ptr %t124) - %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str5215) + %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str5413) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 %t130 = load ptr, ptr %t64 - call void @fn_store_at(ptr @.str5216, ptr %t129, ptr %t130) + call void @fn_store_at(ptr @.str5414, ptr %t129, ptr %t130) %t131 = load i32, ptr %t57 %t132 = load i32, ptr %t65 %t133 = add i32 %t131, %t132 @@ -50467,92 +56121,92 @@ ifend26: br label %wcond3 wend5: %t137 = load ptr, ptr %t40 - %t138 = call ptr @fn_str_concat(ptr @.str5217, ptr %t137) + %t138 = call ptr @fn_str_concat(ptr @.str5415, ptr %t137) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t43 - %t142 = call ptr @fn_str_concat(ptr @.str5218, ptr %t141) + %t142 = call ptr @fn_str_concat(ptr @.str5416, ptr %t141) %t143 = call ptr @fn_emit_bind(ptr %t142) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t46 - %t146 = call ptr @fn_str_concat(ptr @.str5219, ptr %t145) + %t146 = call ptr @fn_str_concat(ptr @.str5417, ptr %t145) %t147 = call ptr @fn_emit_bind(ptr %t146) store ptr %t147, ptr %t148 %t149 = load ptr, ptr %t49 - %t150 = call ptr @fn_str_concat(ptr @.str5220, ptr %t149) + %t150 = call ptr @fn_str_concat(ptr @.str5418, ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t52 - %t154 = call ptr @fn_str_concat(ptr @.str5221, ptr %t153) + %t154 = call ptr @fn_str_concat(ptr @.str5419, ptr %t153) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t55 - %t158 = call ptr @fn_str_concat(ptr @.str5222, ptr %t157) + %t158 = call ptr @fn_str_concat(ptr @.str5420, ptr %t157) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t140 - %t162 = call ptr @fn_str_concat(ptr @.str5223, ptr %t161) - %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str5224) + %t162 = call ptr @fn_str_concat(ptr @.str5421, ptr %t161) + %t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str5422) %t164 = load ptr, ptr %t144 %t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164) - %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str5225) + %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str5423) %t167 = load ptr, ptr %t148 %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167) - %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str5226) + %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str5424) %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t171 %t172 = load ptr, ptr %t171 - %t173 = call ptr @fn_str_concat(ptr @.str5227, ptr %t172) - %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str5228) + %t173 = call ptr @fn_str_concat(ptr @.str5425, ptr %t172) + %t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str5426) %t175 = call ptr @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t152 - %t178 = call ptr @fn_str_concat(ptr @.str5229, ptr %t177) - %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str5230) + %t178 = call ptr @fn_str_concat(ptr @.str5427, ptr %t177) + %t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str5428) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t156 - %t183 = call ptr @fn_str_concat(ptr @.str5231, ptr %t182) - %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str5232) + %t183 = call ptr @fn_str_concat(ptr @.str5429, ptr %t182) + %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str5430) %t185 = call ptr @fn_emit_bind(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t176 - %t188 = call ptr @fn_str_concat(ptr @.str5233, ptr %t187) - %t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str5234) + %t188 = call ptr @fn_str_concat(ptr @.str5431, ptr %t187) + %t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str5432) %t190 = load ptr, ptr %t181 %t191 = call ptr @fn_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @fn_emit_bind(ptr %t191) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t193 - %t195 = call ptr @fn_str_concat(ptr @.str5235, ptr %t194) - %t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str5236) + %t195 = call ptr @fn_str_concat(ptr @.str5433, ptr %t194) + %t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str5434) %t197 = load ptr, ptr %t186 %t198 = call ptr @fn_str_concat(ptr %t196, ptr %t197) %t199 = call ptr @fn_emit_bind(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 - %t202 = call ptr @fn_str_concat(ptr @.str5237, ptr %t201) - %t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str5238) + %t202 = call ptr @fn_str_concat(ptr @.str5435, ptr %t201) + %t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str5436) %t204 = load ptr, ptr %t160 %t205 = call ptr @fn_str_concat(ptr %t203, ptr %t204) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t37 - %t209 = call ptr @fn_str_concat(ptr @.str5239, ptr %t208) + %t209 = call ptr @fn_str_concat(ptr @.str5437, ptr %t208) %t210 = call ptr @fn_emit_bind(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t211 - %t213 = call ptr @fn_str_concat(ptr @.str5240, ptr %t212) - %t214 = call ptr @fn_str_concat(ptr %t213, ptr @.str5241) + %t213 = call ptr @fn_str_concat(ptr @.str5438, ptr %t212) + %t214 = call ptr @fn_str_concat(ptr %t213, ptr @.str5439) %t215 = call ptr @fn_emit_bind(ptr %t214) store ptr %t215, ptr %t216 %t217 = load ptr, ptr %t216 - %t218 = call ptr @fn_str_concat(ptr @.str5242, ptr %t217) - %t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str5243) + %t218 = call ptr @fn_str_concat(ptr @.str5440, ptr %t217) + %t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str5441) %t220 = load ptr, ptr %t207 %t221 = call ptr @fn_str_concat(ptr %t219, ptr %t220) %t222 = call ptr @fn_emit_bind(ptr %t221) - %t223 = call ptr @fn_val(ptr %t222, ptr @.str5244) + %t223 = call ptr @fn_val(ptr %t222, ptr @.str5442) store ptr %t223, ptr %retval br label %ret ret: @@ -50598,7 +56252,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5245) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5443) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -50608,7 +56262,7 @@ then0: br label %ret ifend2: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5246) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5444) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: @@ -50618,7 +56272,7 @@ then3: br label %ret ifend5: %t12 = load ptr, ptr %t0 - %t13 = call i32 @fn_str_eq(ptr %t12, ptr @.str5247) + %t13 = call i32 @fn_str_eq(ptr %t12, ptr @.str5445) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then6, label %ifend8 then6: @@ -50680,67 +56334,67 @@ then6: %t69 = load ptr, ptr %t23 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 - %t72 = call ptr @fn_str_concat(ptr @.str5248, ptr %t71) - %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str5249) + %t72 = call ptr @fn_str_concat(ptr @.str5446, ptr %t71) + %t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str5447) %t74 = load ptr, ptr %t32 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76) - %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str5250) + %t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str5448) %t79 = load ptr, ptr %t41 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_str_concat(ptr %t78, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str5251) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str5449) %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 @.str5252, ptr %t86) - %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str5253) + %t87 = call ptr @fn_str_concat(ptr @.str5450, ptr %t86) + %t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str5451) %t89 = call ptr @fn_emit_bind(ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t50 %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 - %t94 = call ptr @fn_str_concat(ptr @.str5254, ptr %t93) - %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str5255) + %t94 = call ptr @fn_str_concat(ptr @.str5452, ptr %t93) + %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str5453) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t59 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 - %t101 = call ptr @fn_str_concat(ptr @.str5256, ptr %t100) - %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5257) + %t101 = call ptr @fn_str_concat(ptr @.str5454, ptr %t100) + %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5455) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t90 - %t106 = call ptr @fn_str_concat(ptr @.str5258, ptr %t105) - %t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str5259) + %t106 = call ptr @fn_str_concat(ptr @.str5456, ptr %t105) + %t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str5457) %t108 = load ptr, ptr %t97 %t109 = call ptr @fn_str_concat(ptr %t107, ptr %t108) %t110 = call ptr @fn_emit_bind(ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 - %t113 = call ptr @fn_str_concat(ptr @.str5260, ptr %t112) - %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str5261) + %t113 = call ptr @fn_str_concat(ptr @.str5458, ptr %t112) + %t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str5459) %t115 = load ptr, ptr %t104 %t116 = call ptr @fn_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @fn_emit_bind(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 - %t120 = call ptr @fn_str_concat(ptr @.str5262, ptr %t119) - %t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str5263) + %t120 = call ptr @fn_str_concat(ptr @.str5460, ptr %t119) + %t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str5461) %t122 = load ptr, ptr %t68 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_str_concat(ptr %t121, ptr %t124) %t126 = call ptr @fn_emit_bind(ptr %t125) - %t127 = call ptr @fn_val(ptr %t126, ptr @.str5264) + %t127 = call ptr @fn_val(ptr %t126, ptr @.str5462) store ptr %t127, ptr %retval br label %ret ifend8: %t128 = load ptr, ptr %t0 - %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str5265) + %t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str5463) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then9, label %ifend11 then9: @@ -50757,12 +56411,12 @@ then9: %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = call ptr @fn_dt_epochday(ptr %t142) - %t144 = call ptr @fn_val(ptr %t143, ptr @.str5266) + %t144 = call ptr @fn_val(ptr %t143, ptr @.str5464) store ptr %t144, ptr %retval br label %ret ifend11: %t145 = load ptr, ptr %t0 - %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5267) + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5465) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then12, label %ifend14 then12: @@ -50787,19 +56441,19 @@ then12: %t166 = load ptr, ptr %t156 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 - %t169 = call ptr @fn_str_concat(ptr @.str5268, ptr %t168) - %t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str5269) + %t169 = call ptr @fn_str_concat(ptr @.str5466, ptr %t168) + %t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str5467) %t171 = load ptr, ptr %t165 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173) %t175 = call ptr @fn_emit_bind(ptr %t174) - %t176 = call ptr @fn_val(ptr %t175, ptr @.str5270) + %t176 = call ptr @fn_val(ptr %t175, ptr @.str5468) store ptr %t176, ptr %retval br label %ret ifend14: %t177 = load ptr, ptr %t0 - %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str5271) + %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str5469) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then15, label %ifend17 then15: @@ -50817,12 +56471,12 @@ then15: %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_dt_epochday(ptr %t191) %t193 = call ptr @fn_date_component(ptr %t192, i32 0) - %t194 = call ptr @fn_val(ptr %t193, ptr @.str5272) + %t194 = call ptr @fn_val(ptr %t193, ptr @.str5470) store ptr %t194, ptr %retval br label %ret ifend17: %t195 = load ptr, ptr %t0 - %t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str5273) + %t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str5471) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then18, label %ifend20 then18: @@ -50840,12 +56494,12 @@ then18: %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_dt_epochday(ptr %t209) %t211 = call ptr @fn_date_component(ptr %t210, i32 1) - %t212 = call ptr @fn_val(ptr %t211, ptr @.str5274) + %t212 = call ptr @fn_val(ptr %t211, ptr @.str5472) store ptr %t212, ptr %retval br label %ret ifend20: %t213 = load ptr, ptr %t0 - %t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str5275) + %t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str5473) %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then21, label %ifend23 then21: @@ -50863,12 +56517,12 @@ then21: %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_dt_epochday(ptr %t227) %t229 = call ptr @fn_date_component(ptr %t228, i32 2) - %t230 = call ptr @fn_val(ptr %t229, ptr @.str5276) + %t230 = call ptr @fn_val(ptr %t229, ptr @.str5474) store ptr %t230, ptr %retval br label %ret ifend23: %t231 = load ptr, ptr %t0 - %t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str5277) + %t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str5475) %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then24, label %ifend26 then24: @@ -50887,30 +56541,30 @@ then24: %t246 = call ptr @fn_dt_epochday(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t247 - %t249 = call ptr @fn_str_concat(ptr @.str5278, ptr %t248) - %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str5279) + %t249 = call ptr @fn_str_concat(ptr @.str5476, ptr %t248) + %t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str5477) %t251 = call ptr @fn_emit_bind(ptr %t250) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t252 - %t254 = call ptr @fn_str_concat(ptr @.str5280, ptr %t253) - %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5281) + %t254 = call ptr @fn_str_concat(ptr @.str5478, ptr %t253) + %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5479) %t256 = call ptr @fn_emit_bind(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t257 - %t259 = call ptr @fn_str_concat(ptr @.str5282, ptr %t258) - %t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str5283) + %t259 = call ptr @fn_str_concat(ptr @.str5480, ptr %t258) + %t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str5481) %t261 = call ptr @fn_emit_bind(ptr %t260) store ptr %t261, ptr %t262 %t263 = load ptr, ptr %t262 - %t264 = call ptr @fn_str_concat(ptr @.str5284, ptr %t263) - %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str5285) + %t264 = call ptr @fn_str_concat(ptr @.str5482, ptr %t263) + %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str5483) %t266 = call ptr @fn_emit_bind(ptr %t265) - %t267 = call ptr @fn_val(ptr %t266, ptr @.str5286) + %t267 = call ptr @fn_val(ptr %t266, ptr @.str5484) store ptr %t267, ptr %retval br label %ret ifend26: %t268 = load ptr, ptr %t0 - %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str5287) + %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str5485) %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then27, label %ifend29 then27: @@ -50929,15 +56583,15 @@ then27: %t283 = call ptr @fn_dt_secofday(ptr %t282) store ptr %t283, ptr %t284 %t285 = load ptr, ptr %t284 - %t286 = call ptr @fn_str_concat(ptr @.str5288, ptr %t285) - %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str5289) + %t286 = call ptr @fn_str_concat(ptr @.str5486, ptr %t285) + %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str5487) %t288 = call ptr @fn_emit_bind(ptr %t287) - %t289 = call ptr @fn_val(ptr %t288, ptr @.str5290) + %t289 = call ptr @fn_val(ptr %t288, ptr @.str5488) store ptr %t289, ptr %retval br label %ret ifend29: %t290 = load ptr, ptr %t0 - %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str5291) + %t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str5489) %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then30, label %ifend32 then30: @@ -50956,15 +56610,15 @@ then30: %t305 = call ptr @fn_dt_secofday(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 - %t308 = call ptr @fn_str_concat(ptr @.str5292, ptr %t307) - %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str5293) + %t308 = call ptr @fn_str_concat(ptr @.str5490, ptr %t307) + %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str5491) %t310 = call ptr @fn_emit_bind(ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t311 - %t313 = call ptr @fn_str_concat(ptr @.str5294, ptr %t312) - %t314 = call ptr @fn_str_concat(ptr %t313, ptr @.str5295) + %t313 = call ptr @fn_str_concat(ptr @.str5492, ptr %t312) + %t314 = call ptr @fn_str_concat(ptr %t313, ptr @.str5493) %t315 = call ptr @fn_emit_bind(ptr %t314) - %t316 = call ptr @fn_val(ptr %t315, ptr @.str5296) + %t316 = call ptr @fn_val(ptr %t315, ptr @.str5494) store ptr %t316, ptr %retval br label %ret ifend32: @@ -50983,10 +56637,10 @@ ifend32: %t329 = call ptr @fn_dt_secofday(ptr %t328) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t330 - %t332 = call ptr @fn_str_concat(ptr @.str5297, ptr %t331) - %t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str5298) + %t332 = call ptr @fn_str_concat(ptr @.str5495, ptr %t331) + %t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str5496) %t334 = call ptr @fn_emit_bind(ptr %t333) - %t335 = call ptr @fn_val(ptr %t334, ptr @.str5299) + %t335 = call ptr @fn_val(ptr %t334, ptr @.str5497) store ptr %t335, ptr %retval br label %ret ret: @@ -50996,104 +56650,104 @@ ret: define void @fn_emit_datetime_prelude() { entry: - call void @fn_emith(ptr @.str5300) - call void @fn_emith(ptr @.str5301) - call void @fn_emith(ptr @.str5302) - call void @fn_emith(ptr @.str5303) - call void @fn_emith(ptr @.str5304) - call void @fn_emith(ptr @.str5305) - call void @fn_emith(ptr @.str5306) - call void @fn_emith(ptr @.str5307) - call void @fn_emith(ptr @.str5308) - call void @fn_emith(ptr @.str5309) - call void @fn_emith(ptr @.str5310) - call void @fn_emith(ptr @.str5311) - call void @fn_emith(ptr @.str5312) - call void @fn_emith(ptr @.str5313) - call void @fn_emith(ptr @.str5314) - call void @fn_emith(ptr @.str5315) - call void @fn_emith(ptr @.str5316) - call void @fn_emith(ptr @.str5317) - call void @fn_emith(ptr @.str5318) - call void @fn_emith(ptr @.str5319) - call void @fn_emith(ptr @.str5320) - call void @fn_emith(ptr @.str5321) - call void @fn_emith(ptr @.str5322) - call void @fn_emith(ptr @.str5323) - call void @fn_emith(ptr @.str5324) - call void @fn_emith(ptr @.str5325) - call void @fn_emith(ptr @.str5326) - call void @fn_emith(ptr @.str5327) - call void @fn_emith(ptr @.str5328) - call void @fn_emith(ptr @.str5329) - call void @fn_emith(ptr @.str5330) - call void @fn_emith(ptr @.str5331) - call void @fn_emith(ptr @.str5332) - call void @fn_emith(ptr @.str5333) - call void @fn_emith(ptr @.str5334) - call void @fn_emith(ptr @.str5335) - call void @fn_emith(ptr @.str5336) - call void @fn_emith(ptr @.str5337) - call void @fn_emith(ptr @.str5338) - call void @fn_emith(ptr @.str5339) - call void @fn_emith(ptr @.str5340) - call void @fn_emith(ptr @.str5341) - call void @fn_emith(ptr @.str5342) - call void @fn_emith(ptr @.str5343) - call void @fn_emith(ptr @.str5344) - call void @fn_emith(ptr @.str5345) - call void @fn_emith(ptr @.str5346) - call void @fn_emith(ptr @.str5347) - call void @fn_emith(ptr @.str5348) - call void @fn_emith(ptr @.str5349) - call void @fn_emith(ptr @.str5350) - call void @fn_emith(ptr @.str5351) - call void @fn_emith(ptr @.str5352) - call void @fn_emith(ptr @.str5353) - call void @fn_emith(ptr @.str5354) - call void @fn_emith(ptr @.str5355) - call void @fn_emith(ptr @.str5356) - call void @fn_emith(ptr @.str5357) - call void @fn_emith(ptr @.str5358) - call void @fn_emith(ptr @.str5359) - call void @fn_emith(ptr @.str5360) - call void @fn_emith(ptr @.str5361) - call void @fn_emith(ptr @.str5362) - call void @fn_emith(ptr @.str5363) - call void @fn_emith(ptr @.str5364) - call void @fn_emith(ptr @.str5365) - call void @fn_emith(ptr @.str5366) - call void @fn_emith(ptr @.str5367) - call void @fn_emith(ptr @.str5368) - call void @fn_emith(ptr @.str5369) - call void @fn_emith(ptr @.str5370) - call void @fn_emith(ptr @.str5371) - call void @fn_emith(ptr @.str5372) - call void @fn_emith(ptr @.str5373) - call void @fn_emith(ptr @.str5374) - call void @fn_emith(ptr @.str5375) - call void @fn_emith(ptr @.str5376) - call void @fn_emith(ptr @.str5377) - call void @fn_emith(ptr @.str5378) - call void @fn_emith(ptr @.str5379) - call void @fn_emith(ptr @.str5380) - call void @fn_emith(ptr @.str5381) - call void @fn_emith(ptr @.str5382) - call void @fn_emith(ptr @.str5383) - call void @fn_emith(ptr @.str5384) - call void @fn_emith(ptr @.str5385) - call void @fn_emith(ptr @.str5386) - call void @fn_emith(ptr @.str5387) - call void @fn_emith(ptr @.str5388) - call void @fn_emith(ptr @.str5389) - call void @fn_emith(ptr @.str5390) - call void @fn_emith(ptr @.str5391) - call void @fn_emith(ptr @.str5392) - call void @fn_emith(ptr @.str5393) - call void @fn_emith(ptr @.str5394) - call void @fn_emith(ptr @.str5395) - call void @fn_emith(ptr @.str5396) - call void @fn_emith(ptr @.str5397) + call void @fn_emith(ptr @.str5498) + call void @fn_emith(ptr @.str5499) + call void @fn_emith(ptr @.str5500) + call void @fn_emith(ptr @.str5501) + call void @fn_emith(ptr @.str5502) + call void @fn_emith(ptr @.str5503) + call void @fn_emith(ptr @.str5504) + call void @fn_emith(ptr @.str5505) + call void @fn_emith(ptr @.str5506) + call void @fn_emith(ptr @.str5507) + call void @fn_emith(ptr @.str5508) + call void @fn_emith(ptr @.str5509) + call void @fn_emith(ptr @.str5510) + call void @fn_emith(ptr @.str5511) + call void @fn_emith(ptr @.str5512) + call void @fn_emith(ptr @.str5513) + call void @fn_emith(ptr @.str5514) + call void @fn_emith(ptr @.str5515) + call void @fn_emith(ptr @.str5516) + call void @fn_emith(ptr @.str5517) + call void @fn_emith(ptr @.str5518) + call void @fn_emith(ptr @.str5519) + call void @fn_emith(ptr @.str5520) + call void @fn_emith(ptr @.str5521) + call void @fn_emith(ptr @.str5522) + call void @fn_emith(ptr @.str5523) + call void @fn_emith(ptr @.str5524) + call void @fn_emith(ptr @.str5525) + call void @fn_emith(ptr @.str5526) + call void @fn_emith(ptr @.str5527) + call void @fn_emith(ptr @.str5528) + call void @fn_emith(ptr @.str5529) + call void @fn_emith(ptr @.str5530) + call void @fn_emith(ptr @.str5531) + call void @fn_emith(ptr @.str5532) + call void @fn_emith(ptr @.str5533) + call void @fn_emith(ptr @.str5534) + call void @fn_emith(ptr @.str5535) + call void @fn_emith(ptr @.str5536) + call void @fn_emith(ptr @.str5537) + call void @fn_emith(ptr @.str5538) + call void @fn_emith(ptr @.str5539) + call void @fn_emith(ptr @.str5540) + call void @fn_emith(ptr @.str5541) + call void @fn_emith(ptr @.str5542) + call void @fn_emith(ptr @.str5543) + call void @fn_emith(ptr @.str5544) + call void @fn_emith(ptr @.str5545) + call void @fn_emith(ptr @.str5546) + call void @fn_emith(ptr @.str5547) + call void @fn_emith(ptr @.str5548) + call void @fn_emith(ptr @.str5549) + call void @fn_emith(ptr @.str5550) + call void @fn_emith(ptr @.str5551) + call void @fn_emith(ptr @.str5552) + call void @fn_emith(ptr @.str5553) + call void @fn_emith(ptr @.str5554) + call void @fn_emith(ptr @.str5555) + call void @fn_emith(ptr @.str5556) + call void @fn_emith(ptr @.str5557) + call void @fn_emith(ptr @.str5558) + call void @fn_emith(ptr @.str5559) + call void @fn_emith(ptr @.str5560) + call void @fn_emith(ptr @.str5561) + call void @fn_emith(ptr @.str5562) + call void @fn_emith(ptr @.str5563) + call void @fn_emith(ptr @.str5564) + call void @fn_emith(ptr @.str5565) + call void @fn_emith(ptr @.str5566) + call void @fn_emith(ptr @.str5567) + call void @fn_emith(ptr @.str5568) + call void @fn_emith(ptr @.str5569) + call void @fn_emith(ptr @.str5570) + call void @fn_emith(ptr @.str5571) + call void @fn_emith(ptr @.str5572) + call void @fn_emith(ptr @.str5573) + call void @fn_emith(ptr @.str5574) + call void @fn_emith(ptr @.str5575) + call void @fn_emith(ptr @.str5576) + call void @fn_emith(ptr @.str5577) + call void @fn_emith(ptr @.str5578) + call void @fn_emith(ptr @.str5579) + call void @fn_emith(ptr @.str5580) + call void @fn_emith(ptr @.str5581) + call void @fn_emith(ptr @.str5582) + call void @fn_emith(ptr @.str5583) + call void @fn_emith(ptr @.str5584) + call void @fn_emith(ptr @.str5585) + call void @fn_emith(ptr @.str5586) + call void @fn_emith(ptr @.str5587) + call void @fn_emith(ptr @.str5588) + call void @fn_emith(ptr @.str5589) + call void @fn_emith(ptr @.str5590) + call void @fn_emith(ptr @.str5591) + call void @fn_emith(ptr @.str5592) + call void @fn_emith(ptr @.str5593) + call void @fn_emith(ptr @.str5594) + call void @fn_emith(ptr @.str5595) br label %ret ret: ret void @@ -51108,14 +56762,14 @@ entry: %t3 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5398) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5596) %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 @.str5399) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5597) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -51128,7 +56782,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5400) + %t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str5598) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -51141,7 +56795,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5401) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5599) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -51173,27 +56827,27 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5402) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5600) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_emit_bind(ptr @.str5403) - %t6 = call ptr @fn_val(ptr %t5, ptr @.str5404) + %t5 = call ptr @fn_emit_bind(ptr @.str5601) + %t6 = call ptr @fn_val(ptr %t5, ptr @.str5602) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5405) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5603) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str5406) - %t10 = call ptr @fn_val(ptr @.str5407, ptr @.str5408) + call void @fn_emit(ptr @.str5604) + %t10 = call ptr @fn_val(ptr @.str5605, ptr @.str5606) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5409) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5607) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -51209,10 +56863,10 @@ then6: %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 - %t26 = call ptr @fn_str_concat(ptr @.str5410, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5411) + %t26 = call ptr @fn_str_concat(ptr @.str5608, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5609) call void @fn_emit(ptr %t27) - %t28 = call ptr @fn_val(ptr @.str5412, ptr @.str5413) + %t28 = call ptr @fn_val(ptr @.str5610, ptr @.str5611) store ptr %t28, ptr %retval br label %ret ifend8: @@ -51225,11 +56879,11 @@ ifend8: %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_emit_expr(ptr %t35) store ptr %t36, ptr %t37 - %t38 = call ptr @fn_emit_bind(ptr @.str5414) + %t38 = call ptr @fn_emit_bind(ptr @.str5612) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 - %t41 = call ptr @fn_str_concat(ptr @.str5415, ptr %t40) - %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5416) + %t41 = call ptr @fn_str_concat(ptr @.str5613, ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5614) %t43 = load ptr, ptr %t37 %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 @@ -51237,10 +56891,10 @@ ifend8: %t47 = call ptr @fn_emit_bind(ptr %t46) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 - %t50 = call ptr @fn_str_concat(ptr @.str5417, ptr %t49) - %t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str5418) + %t50 = call ptr @fn_str_concat(ptr @.str5615, ptr %t49) + %t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str5616) call void @fn_emit(ptr %t51) - %t52 = call ptr @fn_val(ptr @.str5419, ptr @.str5420) + %t52 = call ptr @fn_val(ptr @.str5617, ptr @.str5618) store ptr %t52, ptr %retval br label %ret ret: @@ -51258,14 +56912,14 @@ entry: %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5421) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5619) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5422) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5620) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 @@ -51278,7 +56932,7 @@ scend1: br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5423) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5621) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 @@ -51292,14 +56946,14 @@ then4: br label %ret ifend6: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5424) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5622) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 - %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5425) + %t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str5623) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 @@ -51312,7 +56966,7 @@ scend8: br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str5426) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str5624) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 @@ -51341,15 +56995,15 @@ entry: store ptr %arg_c, ptr %t0 store ptr %arg_shift, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call ptr @fn_str_concat(ptr @.str5427, ptr %t2) - %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5428) + %t3 = call ptr @fn_str_concat(ptr @.str5625, ptr %t2) + %t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5626) %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 - %t10 = call ptr @fn_str_concat(ptr @.str5429, ptr %t9) - %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str5430) + %t10 = call ptr @fn_str_concat(ptr @.str5627, ptr %t9) + %t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str5628) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %retval br label %ret @@ -51371,25 +57025,25 @@ entry: store ptr %arg_g, ptr %t1 store ptr %arg_b, ptr %t2 %t3 = load ptr, ptr %t0 - %t4 = call ptr @fn_str_concat(ptr @.str5431, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5432) + %t4 = call ptr @fn_str_concat(ptr @.str5629, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5630) %t6 = call ptr @fn_emit_bind(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t1 - %t9 = call ptr @fn_str_concat(ptr @.str5433, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5434) + %t9 = call ptr @fn_str_concat(ptr @.str5631, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5632) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t7 - %t14 = call ptr @fn_str_concat(ptr @.str5435, ptr %t13) - %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5436) + %t14 = call ptr @fn_str_concat(ptr @.str5633, ptr %t13) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5634) %t16 = load ptr, ptr %t12 %t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 - %t21 = call ptr @fn_str_concat(ptr @.str5437, ptr %t20) - %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5438) + %t21 = call ptr @fn_str_concat(ptr @.str5635, ptr %t20) + %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5636) %t23 = load ptr, ptr %t2 %t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) @@ -51413,27 +57067,27 @@ entry: store ptr %arg_ch1, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t1 - %t4 = call ptr @fn_str_concat(ptr @.str5439, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5440) + %t4 = call ptr @fn_str_concat(ptr @.str5637, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5638) %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 - %t11 = call ptr @fn_str_concat(ptr @.str5441, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5442) + %t11 = call ptr @fn_str_concat(ptr @.str5639, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5640) %t13 = load ptr, ptr %t2 %t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 - %t18 = call ptr @fn_str_concat(ptr @.str5443, ptr %t17) - %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5444) + %t18 = call ptr @fn_str_concat(ptr @.str5641, ptr %t17) + %t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5642) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t0 - %t23 = call ptr @fn_str_concat(ptr @.str5445, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5446) + %t23 = call ptr @fn_str_concat(ptr @.str5643, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5644) %t25 = load ptr, ptr %t21 %t26 = call ptr @fn_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @fn_emit_bind(ptr %t26) @@ -51500,7 +57154,7 @@ entry: store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 - %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5447) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5645) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -51541,12 +57195,12 @@ then0: %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_color_pack(ptr %t34, ptr %t37, ptr %t40) - %t42 = call ptr @fn_val(ptr %t41, ptr @.str5448) + %t42 = call ptr @fn_val(ptr %t41, ptr @.str5646) store ptr %t42, ptr %retval br label %ret ifend2: %t43 = load ptr, ptr %t0 - %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5449) + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5647) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then3, label %ifend5 then3: @@ -51600,22 +57254,22 @@ then3: %t93 = load ptr, ptr %t81 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 - %t96 = call ptr @fn_str_concat(ptr @.str5450, ptr %t95) - %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str5451) + %t96 = call ptr @fn_str_concat(ptr @.str5648, ptr %t95) + %t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str5649) %t98 = call ptr @fn_emit_bind(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t92 - %t101 = call ptr @fn_str_concat(ptr @.str5452, ptr %t100) - %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5453) + %t101 = call ptr @fn_str_concat(ptr @.str5650, ptr %t100) + %t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5651) %t103 = load ptr, ptr %t99 %t104 = call ptr @fn_str_concat(ptr %t102, ptr %t103) %t105 = call ptr @fn_emit_bind(ptr %t104) - %t106 = call ptr @fn_val(ptr %t105, ptr @.str5454) + %t106 = call ptr @fn_val(ptr %t105, ptr @.str5652) store ptr %t106, ptr %retval br label %ret ifend5: %t107 = load ptr, ptr %t0 - %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str5455) + %t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str5653) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then6, label %ifend8 then6: @@ -51640,29 +57294,29 @@ then6: %t128 = load ptr, ptr %t118 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 - %t131 = call ptr @fn_str_concat(ptr @.str5456, ptr %t130) - %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str5457) + %t131 = call ptr @fn_str_concat(ptr @.str5654, ptr %t130) + %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str5655) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t127 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 - %t138 = call ptr @fn_str_concat(ptr @.str5458, ptr %t137) - %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str5459) + %t138 = call ptr @fn_str_concat(ptr @.str5656, ptr %t137) + %t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str5657) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t134 - %t143 = call ptr @fn_str_concat(ptr @.str5460, ptr %t142) - %t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str5461) + %t143 = call ptr @fn_str_concat(ptr @.str5658, ptr %t142) + %t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str5659) %t145 = load ptr, ptr %t141 %t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @fn_emit_bind(ptr %t146) - %t148 = call ptr @fn_val(ptr %t147, ptr @.str5462) + %t148 = call ptr @fn_val(ptr %t147, ptr @.str5660) store ptr %t148, ptr %retval br label %ret ifend8: %t149 = load ptr, ptr %t0 - %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str5463) + %t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str5661) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then9, label %ifend11 then9: @@ -51696,11 +57350,11 @@ then9: %t179 = load ptr, ptr %t160 %t180 = getelementptr inbounds %Cmp_Val, ptr %t179, i32 0, i32 0 %t181 = load ptr, ptr %t180 - %t182 = call ptr @fn_color_ch(ptr %t181, ptr @.str5464) + %t182 = call ptr @fn_color_ch(ptr %t181, ptr @.str5662) %t183 = load ptr, ptr %t169 %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 - %t186 = call ptr @fn_color_ch(ptr %t185, ptr @.str5465) + %t186 = call ptr @fn_color_ch(ptr %t185, ptr @.str5663) %t187 = load ptr, ptr %t178 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 @@ -51709,11 +57363,11 @@ then9: %t192 = load ptr, ptr %t160 %t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 - %t195 = call ptr @fn_color_ch(ptr %t194, ptr @.str5466) + %t195 = call ptr @fn_color_ch(ptr %t194, ptr @.str5664) %t196 = load ptr, ptr %t169 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 - %t199 = call ptr @fn_color_ch(ptr %t198, ptr @.str5467) + %t199 = call ptr @fn_color_ch(ptr %t198, ptr @.str5665) %t200 = load ptr, ptr %t178 %t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0 %t202 = load ptr, ptr %t201 @@ -51722,11 +57376,11 @@ then9: %t205 = load ptr, ptr %t160 %t206 = getelementptr inbounds %Cmp_Val, ptr %t205, i32 0, i32 0 %t207 = load ptr, ptr %t206 - %t208 = call ptr @fn_color_ch(ptr %t207, ptr @.str5468) + %t208 = call ptr @fn_color_ch(ptr %t207, ptr @.str5666) %t209 = load ptr, ptr %t169 %t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 - %t212 = call ptr @fn_color_ch(ptr %t211, ptr @.str5469) + %t212 = call ptr @fn_color_ch(ptr %t211, ptr @.str5667) %t213 = load ptr, ptr %t178 %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 @@ -51736,12 +57390,12 @@ then9: %t219 = load ptr, ptr %t204 %t220 = load ptr, ptr %t217 %t221 = call ptr @fn_color_pack(ptr %t218, ptr %t219, ptr %t220) - %t222 = call ptr @fn_val(ptr %t221, ptr @.str5470) + %t222 = call ptr @fn_val(ptr %t221, ptr @.str5668) store ptr %t222, ptr %retval br label %ret ifend11: %t223 = load ptr, ptr %t0 - %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5471) + %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5669) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then12, label %ifend14 then12: @@ -51766,65 +57420,65 @@ then12: %t244 = load ptr, ptr %t243 %t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0 %t246 = load ptr, ptr %t245 - %t247 = call ptr @fn_str_concat(ptr @.str5472, ptr %t246) + %t247 = call ptr @fn_str_concat(ptr @.str5670, ptr %t246) %t248 = call ptr @fn_emit_bind(ptr %t247) store ptr %t248, ptr %t249 %t250 = load ptr, ptr %t234 %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 %t252 = load ptr, ptr %t251 - %t253 = call ptr @fn_color_ch(ptr %t252, ptr @.str5473) + %t253 = call ptr @fn_color_ch(ptr %t252, ptr @.str5671) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t234 %t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0 %t257 = load ptr, ptr %t256 - %t258 = call ptr @fn_color_ch(ptr %t257, ptr @.str5474) + %t258 = call ptr @fn_color_ch(ptr %t257, ptr @.str5672) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t234 %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 - %t263 = call ptr @fn_color_ch(ptr %t262, ptr @.str5475) + %t263 = call ptr @fn_color_ch(ptr %t262, ptr @.str5673) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t254 - %t266 = call ptr @fn_str_concat(ptr @.str5476, ptr %t265) - %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str5477) + %t266 = call ptr @fn_str_concat(ptr @.str5674, ptr %t265) + %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str5675) %t268 = load ptr, ptr %t249 %t269 = call ptr @fn_str_concat(ptr %t267, ptr %t268) %t270 = call ptr @fn_emit_bind(ptr %t269) store ptr %t270, ptr %t271 %t272 = load ptr, ptr %t271 - %t273 = call ptr @fn_str_concat(ptr @.str5478, ptr %t272) - %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str5479) + %t273 = call ptr @fn_str_concat(ptr @.str5676, ptr %t272) + %t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str5677) %t275 = call ptr @fn_emit_bind(ptr %t274) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t259 - %t278 = call ptr @fn_str_concat(ptr @.str5480, ptr %t277) - %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5481) + %t278 = call ptr @fn_str_concat(ptr @.str5678, ptr %t277) + %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5679) %t280 = load ptr, ptr %t249 %t281 = call ptr @fn_str_concat(ptr %t279, ptr %t280) %t282 = call ptr @fn_emit_bind(ptr %t281) store ptr %t282, ptr %t283 %t284 = load ptr, ptr %t283 - %t285 = call ptr @fn_str_concat(ptr @.str5482, ptr %t284) - %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str5483) + %t285 = call ptr @fn_str_concat(ptr @.str5680, ptr %t284) + %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str5681) %t287 = call ptr @fn_emit_bind(ptr %t286) store ptr %t287, ptr %t288 %t289 = load ptr, ptr %t264 - %t290 = call ptr @fn_str_concat(ptr @.str5484, ptr %t289) - %t291 = call ptr @fn_str_concat(ptr %t290, ptr @.str5485) + %t290 = call ptr @fn_str_concat(ptr @.str5682, ptr %t289) + %t291 = call ptr @fn_str_concat(ptr %t290, ptr @.str5683) %t292 = load ptr, ptr %t249 %t293 = call ptr @fn_str_concat(ptr %t291, ptr %t292) %t294 = call ptr @fn_emit_bind(ptr %t293) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 - %t297 = call ptr @fn_str_concat(ptr @.str5486, ptr %t296) - %t298 = call ptr @fn_str_concat(ptr %t297, ptr @.str5487) + %t297 = call ptr @fn_str_concat(ptr @.str5684, ptr %t296) + %t298 = call ptr @fn_str_concat(ptr %t297, ptr @.str5685) %t299 = call ptr @fn_emit_bind(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t276 %t302 = load ptr, ptr %t288 %t303 = load ptr, ptr %t300 %t304 = call ptr @fn_color_pack(ptr %t301, ptr %t302, ptr %t303) - %t305 = call ptr @fn_val(ptr %t304, ptr @.str5488) + %t305 = call ptr @fn_val(ptr %t304, ptr @.str5686) store ptr %t305, ptr %retval br label %ret ifend14: @@ -51849,25 +57503,25 @@ ifend14: %t324 = load ptr, ptr %t314 %t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0 %t326 = load ptr, ptr %t325 - %t327 = call ptr @fn_color_ch(ptr %t326, ptr @.str5489) + %t327 = call ptr @fn_color_ch(ptr %t326, ptr @.str5687) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t314 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 - %t332 = call ptr @fn_color_ch(ptr %t331, ptr @.str5490) + %t332 = call ptr @fn_color_ch(ptr %t331, ptr @.str5688) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t314 %t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0 %t336 = load ptr, ptr %t335 - %t337 = call ptr @fn_color_ch(ptr %t336, ptr @.str5491) + %t337 = call ptr @fn_color_ch(ptr %t336, ptr @.str5689) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t328 - %t340 = call ptr @fn_str_concat(ptr @.str5492, ptr %t339) + %t340 = call ptr @fn_str_concat(ptr @.str5690, ptr %t339) %t341 = call ptr @fn_emit_bind(ptr %t340) store ptr %t341, ptr %t342 %t343 = load ptr, ptr %t342 - %t344 = call ptr @fn_str_concat(ptr @.str5493, ptr %t343) - %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str5494) + %t344 = call ptr @fn_str_concat(ptr @.str5691, ptr %t343) + %t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str5692) %t346 = load ptr, ptr %t323 %t347 = getelementptr inbounds %Cmp_Val, ptr %t346, i32 0, i32 0 %t348 = load ptr, ptr %t347 @@ -51875,24 +57529,24 @@ ifend14: %t350 = call ptr @fn_emit_bind(ptr %t349) store ptr %t350, ptr %t351 %t352 = load ptr, ptr %t351 - %t353 = call ptr @fn_str_concat(ptr @.str5495, ptr %t352) - %t354 = call ptr @fn_str_concat(ptr %t353, ptr @.str5496) + %t353 = call ptr @fn_str_concat(ptr @.str5693, ptr %t352) + %t354 = call ptr @fn_str_concat(ptr %t353, ptr @.str5694) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t328 - %t358 = call ptr @fn_str_concat(ptr @.str5497, ptr %t357) - %t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str5498) + %t358 = call ptr @fn_str_concat(ptr @.str5695, ptr %t357) + %t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str5696) %t360 = load ptr, ptr %t356 %t361 = call ptr @fn_str_concat(ptr %t359, ptr %t360) %t362 = call ptr @fn_emit_bind(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t333 - %t365 = call ptr @fn_str_concat(ptr @.str5499, ptr %t364) + %t365 = call ptr @fn_str_concat(ptr @.str5697, ptr %t364) %t366 = call ptr @fn_emit_bind(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t367 - %t369 = call ptr @fn_str_concat(ptr @.str5500, ptr %t368) - %t370 = call ptr @fn_str_concat(ptr %t369, ptr @.str5501) + %t369 = call ptr @fn_str_concat(ptr @.str5698, ptr %t368) + %t370 = call ptr @fn_str_concat(ptr %t369, ptr @.str5699) %t371 = load ptr, ptr %t323 %t372 = getelementptr inbounds %Cmp_Val, ptr %t371, i32 0, i32 0 %t373 = load ptr, ptr %t372 @@ -51900,24 +57554,24 @@ ifend14: %t375 = call ptr @fn_emit_bind(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t376 - %t378 = call ptr @fn_str_concat(ptr @.str5502, ptr %t377) - %t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str5503) + %t378 = call ptr @fn_str_concat(ptr @.str5700, ptr %t377) + %t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str5701) %t380 = call ptr @fn_emit_bind(ptr %t379) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t333 - %t383 = call ptr @fn_str_concat(ptr @.str5504, ptr %t382) - %t384 = call ptr @fn_str_concat(ptr %t383, ptr @.str5505) + %t383 = call ptr @fn_str_concat(ptr @.str5702, ptr %t382) + %t384 = call ptr @fn_str_concat(ptr %t383, ptr @.str5703) %t385 = load ptr, ptr %t381 %t386 = call ptr @fn_str_concat(ptr %t384, ptr %t385) %t387 = call ptr @fn_emit_bind(ptr %t386) store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t338 - %t390 = call ptr @fn_str_concat(ptr @.str5506, ptr %t389) + %t390 = call ptr @fn_str_concat(ptr @.str5704, ptr %t389) %t391 = call ptr @fn_emit_bind(ptr %t390) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t392 - %t394 = call ptr @fn_str_concat(ptr @.str5507, ptr %t393) - %t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str5508) + %t394 = call ptr @fn_str_concat(ptr @.str5705, ptr %t393) + %t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str5706) %t396 = load ptr, ptr %t323 %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 %t398 = load ptr, ptr %t397 @@ -51925,13 +57579,13 @@ ifend14: %t400 = call ptr @fn_emit_bind(ptr %t399) store ptr %t400, ptr %t401 %t402 = load ptr, ptr %t401 - %t403 = call ptr @fn_str_concat(ptr @.str5509, ptr %t402) - %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str5510) + %t403 = call ptr @fn_str_concat(ptr @.str5707, ptr %t402) + %t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str5708) %t405 = call ptr @fn_emit_bind(ptr %t404) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t338 - %t408 = call ptr @fn_str_concat(ptr @.str5511, ptr %t407) - %t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str5512) + %t408 = call ptr @fn_str_concat(ptr @.str5709, ptr %t407) + %t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str5710) %t410 = load ptr, ptr %t406 %t411 = call ptr @fn_str_concat(ptr %t409, ptr %t410) %t412 = call ptr @fn_emit_bind(ptr %t411) @@ -51940,7 +57594,7 @@ ifend14: %t415 = load ptr, ptr %t388 %t416 = load ptr, ptr %t413 %t417 = call ptr @fn_color_pack(ptr %t414, ptr %t415, ptr %t416) - %t418 = call ptr @fn_val(ptr %t417, ptr @.str5513) + %t418 = call ptr @fn_val(ptr %t417, ptr @.str5711) store ptr %t418, ptr %retval br label %ret ret: @@ -51954,7 +57608,7 @@ entry: %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str5514) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str5712) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -51962,7 +57616,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5515) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5713) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -51970,7 +57624,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5516) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5714) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -51978,7 +57632,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5517) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5715) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -51986,7 +57640,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5518) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5716) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -51994,7 +57648,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5519) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5717) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -52002,7 +57656,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5520) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5718) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -52010,7 +57664,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5521) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5719) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -52018,7 +57672,7 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5522) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5720) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: @@ -52026,7 +57680,7 @@ then24: br label %ret ifend26: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5523) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5721) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: @@ -52034,7 +57688,7 @@ then27: br label %ret ifend29: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5524) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5722) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: @@ -52042,7 +57696,7 @@ then30: br label %ret ifend32: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5525) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5723) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: @@ -52050,7 +57704,7 @@ then33: br label %ret ifend35: %t37 = load ptr, ptr %t0 - %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str5526) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str5724) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: @@ -52058,7 +57712,7 @@ then36: br label %ret ifend38: %t40 = load ptr, ptr %t0 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str5527) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str5725) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: @@ -52066,7 +57720,7 @@ then39: br label %ret ifend41: %t43 = load ptr, ptr %t0 - %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5528) + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5726) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then42, label %ifend44 then42: @@ -52074,7 +57728,7 @@ then42: br label %ret ifend44: %t46 = load ptr, ptr %t0 - %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str5529) + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str5727) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then45, label %ifend47 then45: @@ -52082,7 +57736,7 @@ then45: br label %ret ifend47: %t49 = load ptr, ptr %t0 - %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5530) + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5728) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then48, label %ifend50 then48: @@ -52090,7 +57744,7 @@ then48: br label %ret ifend50: %t52 = load ptr, ptr %t0 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5531) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5729) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then51, label %ifend53 then51: @@ -52098,7 +57752,7 @@ then51: br label %ret ifend53: %t55 = load ptr, ptr %t0 - %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5532) + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5730) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then54, label %ifend56 then54: @@ -52106,7 +57760,7 @@ then54: br label %ret ifend56: %t58 = load ptr, ptr %t0 - %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str5533) + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str5731) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then57, label %ifend59 then57: @@ -52114,7 +57768,7 @@ then57: br label %ret ifend59: %t61 = load ptr, ptr %t0 - %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str5534) + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str5732) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then60, label %ifend62 then60: @@ -52122,7 +57776,7 @@ then60: br label %ret ifend62: %t64 = load ptr, ptr %t0 - %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str5535) + %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str5733) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then63, label %ifend65 then63: @@ -52130,7 +57784,7 @@ then63: br label %ret ifend65: %t67 = load ptr, ptr %t0 - %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str5536) + %t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str5734) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then66, label %ifend68 then66: @@ -52138,7 +57792,7 @@ then66: br label %ret ifend68: %t70 = load ptr, ptr %t0 - %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str5537) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str5735) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then69, label %ifend71 then69: @@ -52146,7 +57800,7 @@ then69: br label %ret ifend71: %t73 = load ptr, ptr %t0 - %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str5538) + %t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str5736) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then72, label %ifend74 then72: @@ -52154,7 +57808,7 @@ then72: br label %ret ifend74: %t76 = load ptr, ptr %t0 - %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str5539) + %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str5737) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then75, label %ifend77 then75: @@ -52162,7 +57816,7 @@ then75: br label %ret ifend77: %t79 = load ptr, ptr %t0 - %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str5540) + %t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str5738) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then78, label %ifend80 then78: @@ -52170,7 +57824,7 @@ then78: br label %ret ifend80: %t82 = load ptr, ptr %t0 - %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str5541) + %t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str5739) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then81, label %ifend83 then81: @@ -52178,7 +57832,7 @@ then81: br label %ret ifend83: %t85 = load ptr, ptr %t0 - %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str5542) + %t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str5740) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then84, label %ifend86 then84: @@ -52186,7 +57840,7 @@ then84: br label %ret ifend86: %t88 = load ptr, ptr %t0 - %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str5543) + %t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str5741) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then87, label %ifend89 then87: @@ -52194,7 +57848,7 @@ then87: br label %ret ifend89: %t91 = load ptr, ptr %t0 - %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str5544) + %t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str5742) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then90, label %ifend92 then90: @@ -52202,7 +57856,7 @@ then90: br label %ret ifend92: %t94 = load ptr, ptr %t0 - %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str5545) + %t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str5743) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then93, label %ifend95 then93: @@ -52210,7 +57864,7 @@ then93: br label %ret ifend95: %t97 = load ptr, ptr %t0 - %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str5546) + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str5744) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then96, label %ifend98 then96: @@ -52218,7 +57872,7 @@ then96: br label %ret ifend98: %t100 = load ptr, ptr %t0 - %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5547) + %t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str5745) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then99, label %ifend101 then99: @@ -52226,7 +57880,7 @@ then99: br label %ret ifend101: %t103 = load ptr, ptr %t0 - %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str5548) + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str5746) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then102, label %ifend104 then102: @@ -52234,7 +57888,7 @@ then102: br label %ret ifend104: %t106 = load ptr, ptr %t0 - %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str5549) + %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str5747) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then105, label %ifend107 then105: @@ -52242,7 +57896,7 @@ then105: br label %ret ifend107: %t109 = load ptr, ptr %t0 - %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str5550) + %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str5748) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then108, label %ifend110 then108: @@ -52250,7 +57904,7 @@ then108: br label %ret ifend110: %t112 = load ptr, ptr %t0 - %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str5551) + %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str5749) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then111, label %ifend113 then111: @@ -52258,7 +57912,7 @@ then111: br label %ret ifend113: %t115 = load ptr, ptr %t0 - %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str5552) + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str5750) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then114, label %ifend116 then114: @@ -52266,7 +57920,7 @@ then114: br label %ret ifend116: %t118 = load ptr, ptr %t0 - %t119 = call i32 @fn_str_eq(ptr %t118, ptr @.str5553) + %t119 = call i32 @fn_str_eq(ptr %t118, ptr @.str5751) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then117, label %ifend119 then117: @@ -52274,7 +57928,7 @@ then117: br label %ret ifend119: %t121 = load ptr, ptr %t0 - %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str5554) + %t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str5752) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then120, label %ifend122 then120: @@ -52282,7 +57936,7 @@ then120: br label %ret ifend122: %t124 = load ptr, ptr %t0 - %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str5555) + %t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str5753) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then123, label %ifend125 then123: @@ -52290,7 +57944,7 @@ then123: br label %ret ifend125: %t127 = load ptr, ptr %t0 - %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str5556) + %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str5754) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then126, label %ifend128 then126: @@ -52298,7 +57952,7 @@ then126: br label %ret ifend128: %t130 = load ptr, ptr %t0 - %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str5557) + %t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str5755) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then129, label %ifend131 then129: @@ -52306,7 +57960,7 @@ then129: br label %ret ifend131: %t133 = load ptr, ptr %t0 - %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str5558) + %t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str5756) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then132, label %ifend134 then132: @@ -52314,7 +57968,7 @@ then132: br label %ret ifend134: %t136 = load ptr, ptr %t0 - %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str5559) + %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str5757) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then135, label %ifend137 then135: @@ -52322,7 +57976,7 @@ then135: br label %ret ifend137: %t139 = load ptr, ptr %t0 - %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str5560) + %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str5758) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then138, label %ifend140 then138: @@ -52330,7 +57984,7 @@ then138: br label %ret ifend140: %t142 = load ptr, ptr %t0 - %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str5561) + %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str5759) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then141, label %ifend143 then141: @@ -52338,7 +57992,7 @@ then141: br label %ret ifend143: %t145 = load ptr, ptr %t0 - %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5562) + %t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str5760) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then144, label %ifend146 then144: @@ -52346,7 +58000,7 @@ then144: br label %ret ifend146: %t148 = load ptr, ptr %t0 - %t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str5563) + %t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str5761) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then147, label %ifend149 then147: @@ -52354,7 +58008,7 @@ then147: br label %ret ifend149: %t151 = load ptr, ptr %t0 - %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str5564) + %t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str5762) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then150, label %ifend152 then150: @@ -52362,7 +58016,7 @@ then150: br label %ret ifend152: %t154 = load ptr, ptr %t0 - %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str5565) + %t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str5763) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then153, label %ifend155 then153: @@ -52370,7 +58024,7 @@ then153: br label %ret ifend155: %t157 = load ptr, ptr %t0 - %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str5566) + %t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str5764) %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then156, label %ifend158 then156: @@ -52378,7 +58032,7 @@ then156: br label %ret ifend158: %t160 = load ptr, ptr %t0 - %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str5567) + %t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str5765) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then159, label %ifend161 then159: @@ -52386,7 +58040,7 @@ then159: br label %ret ifend161: %t163 = load ptr, ptr %t0 - %t164 = call i32 @fn_str_eq(ptr %t163, ptr @.str5568) + %t164 = call i32 @fn_str_eq(ptr %t163, ptr @.str5766) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then162, label %ifend164 then162: @@ -52394,7 +58048,7 @@ then162: br label %ret ifend164: %t166 = load ptr, ptr %t0 - %t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str5569) + %t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str5767) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then165, label %ifend167 then165: @@ -52402,7 +58056,7 @@ then165: br label %ret ifend167: %t169 = load ptr, ptr %t0 - %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str5570) + %t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str5768) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then168, label %ifend170 then168: @@ -52410,7 +58064,7 @@ then168: br label %ret ifend170: %t172 = load ptr, ptr %t0 - %t173 = call i32 @fn_str_eq(ptr %t172, ptr @.str5571) + %t173 = call i32 @fn_str_eq(ptr %t172, ptr @.str5769) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then171, label %ifend173 then171: @@ -52418,7 +58072,7 @@ then171: br label %ret ifend173: %t175 = load ptr, ptr %t0 - %t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str5572) + %t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str5770) %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then174, label %ifend176 then174: @@ -52426,7 +58080,7 @@ then174: br label %ret ifend176: %t178 = load ptr, ptr %t0 - %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str5573) + %t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str5771) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then177, label %ifend179 then177: @@ -52434,7 +58088,7 @@ then177: br label %ret ifend179: %t181 = load ptr, ptr %t0 - %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str5574) + %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str5772) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then180, label %ifend182 then180: @@ -52442,7 +58096,7 @@ then180: br label %ret ifend182: %t184 = load ptr, ptr %t0 - %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str5575) + %t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str5773) %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then183, label %ifend185 then183: @@ -52450,7 +58104,7 @@ then183: br label %ret ifend185: %t187 = load ptr, ptr %t0 - %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str5576) + %t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str5774) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then186, label %ifend188 then186: @@ -52458,7 +58112,7 @@ then186: br label %ret ifend188: %t190 = load ptr, ptr %t0 - %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str5577) + %t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str5775) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then189, label %ifend191 then189: @@ -52466,7 +58120,7 @@ then189: br label %ret ifend191: %t193 = load ptr, ptr %t0 - %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str5578) + %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str5776) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then192, label %ifend194 then192: @@ -52474,7 +58128,7 @@ then192: br label %ret ifend194: %t196 = load ptr, ptr %t0 - %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str5579) + %t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str5777) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then195, label %ifend197 then195: @@ -52482,7 +58136,7 @@ then195: br label %ret ifend197: %t199 = load ptr, ptr %t0 - %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str5580) + %t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str5778) %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then198, label %ifend200 then198: @@ -52490,7 +58144,7 @@ then198: br label %ret ifend200: %t202 = load ptr, ptr %t0 - %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str5581) + %t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str5779) %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then201, label %ifend203 then201: @@ -52498,7 +58152,7 @@ then201: br label %ret ifend203: %t205 = load ptr, ptr %t0 - %t206 = call i32 @fn_str_eq(ptr %t205, ptr @.str5582) + %t206 = call i32 @fn_str_eq(ptr %t205, ptr @.str5780) %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then204, label %ifend206 then204: @@ -52506,7 +58160,7 @@ then204: br label %ret ifend206: %t208 = load ptr, ptr %t0 - %t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str5583) + %t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str5781) %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then207, label %ifend209 then207: @@ -52514,7 +58168,7 @@ then207: br label %ret ifend209: %t211 = load ptr, ptr %t0 - %t212 = call i32 @fn_str_eq(ptr %t211, ptr @.str5584) + %t212 = call i32 @fn_str_eq(ptr %t211, ptr @.str5782) %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then210, label %ifend212 then210: @@ -52522,7 +58176,7 @@ then210: br label %ret ifend212: %t214 = load ptr, ptr %t0 - %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str5585) + %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str5783) %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then213, label %ifend215 then213: @@ -52530,7 +58184,7 @@ then213: br label %ret ifend215: %t217 = load ptr, ptr %t0 - %t218 = call i32 @fn_str_eq(ptr %t217, ptr @.str5586) + %t218 = call i32 @fn_str_eq(ptr %t217, ptr @.str5784) %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then216, label %ifend218 then216: @@ -52538,7 +58192,7 @@ then216: br label %ret ifend218: %t220 = load ptr, ptr %t0 - %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str5587) + %t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str5785) %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then219, label %ifend221 then219: @@ -52546,7 +58200,7 @@ then219: br label %ret ifend221: %t223 = load ptr, ptr %t0 - %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5588) + %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5786) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then222, label %ifend224 then222: @@ -52554,7 +58208,7 @@ then222: br label %ret ifend224: %t226 = load ptr, ptr %t0 - %t227 = call i32 @fn_str_eq(ptr %t226, ptr @.str5589) + %t227 = call i32 @fn_str_eq(ptr %t226, ptr @.str5787) %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then225, label %ifend227 then225: @@ -52562,7 +58216,7 @@ then225: br label %ret ifend227: %t229 = load ptr, ptr %t0 - %t230 = call i32 @fn_str_eq(ptr %t229, ptr @.str5590) + %t230 = call i32 @fn_str_eq(ptr %t229, ptr @.str5788) %t231 = icmp ne i32 %t230, 0 br i1 %t231, label %then228, label %ifend230 then228: @@ -52570,7 +58224,7 @@ then228: br label %ret ifend230: %t232 = load ptr, ptr %t0 - %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str5591) + %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str5789) %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then231, label %ifend233 then231: @@ -52578,7 +58232,7 @@ then231: br label %ret ifend233: %t235 = load ptr, ptr %t0 - %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str5592) + %t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str5790) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then234, label %ifend236 then234: @@ -52586,7 +58240,7 @@ then234: br label %ret ifend236: %t238 = load ptr, ptr %t0 - %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str5593) + %t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str5791) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then237, label %ifend239 then237: @@ -52594,7 +58248,7 @@ then237: br label %ret ifend239: %t241 = load ptr, ptr %t0 - %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str5594) + %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str5792) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then240, label %ifend242 then240: @@ -52602,7 +58256,7 @@ then240: br label %ret ifend242: %t244 = load ptr, ptr %t0 - %t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str5595) + %t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str5793) %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then243, label %ifend245 then243: @@ -52610,7 +58264,7 @@ then243: br label %ret ifend245: %t247 = load ptr, ptr %t0 - %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str5596) + %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str5794) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then246, label %ifend248 then246: @@ -52618,7 +58272,7 @@ then246: br label %ret ifend248: %t250 = load ptr, ptr %t0 - %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str5597) + %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str5795) %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then249, label %ifend251 then249: @@ -52626,7 +58280,7 @@ then249: br label %ret ifend251: %t253 = load ptr, ptr %t0 - %t254 = call i32 @fn_str_eq(ptr %t253, ptr @.str5598) + %t254 = call i32 @fn_str_eq(ptr %t253, ptr @.str5796) %t255 = icmp ne i32 %t254, 0 br i1 %t255, label %then252, label %ifend254 then252: @@ -52634,7 +58288,7 @@ then252: br label %ret ifend254: %t256 = load ptr, ptr %t0 - %t257 = call i32 @fn_str_eq(ptr %t256, ptr @.str5599) + %t257 = call i32 @fn_str_eq(ptr %t256, ptr @.str5797) %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then255, label %ifend257 then255: @@ -52642,7 +58296,7 @@ then255: br label %ret ifend257: %t259 = load ptr, ptr %t0 - %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str5600) + %t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str5798) %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then258, label %ifend260 then258: @@ -52650,7 +58304,7 @@ then258: br label %ret ifend260: %t262 = load ptr, ptr %t0 - %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str5601) + %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str5799) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then261, label %ifend263 then261: @@ -52658,7 +58312,7 @@ then261: br label %ret ifend263: %t265 = load ptr, ptr %t0 - %t266 = call i32 @fn_str_eq(ptr %t265, ptr @.str5602) + %t266 = call i32 @fn_str_eq(ptr %t265, ptr @.str5800) %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then264, label %ifend266 then264: @@ -52666,7 +58320,7 @@ then264: br label %ret ifend266: %t268 = load ptr, ptr %t0 - %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str5603) + %t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str5801) %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then267, label %ifend269 then267: @@ -52674,7 +58328,7 @@ then267: br label %ret ifend269: %t271 = load ptr, ptr %t0 - %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str5604) + %t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str5802) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then270, label %ifend272 then270: @@ -52682,7 +58336,7 @@ then270: br label %ret ifend272: %t274 = load ptr, ptr %t0 - %t275 = call i32 @fn_str_eq(ptr %t274, ptr @.str5605) + %t275 = call i32 @fn_str_eq(ptr %t274, ptr @.str5803) %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then273, label %ifend275 then273: @@ -52690,7 +58344,7 @@ then273: br label %ret ifend275: %t277 = load ptr, ptr %t0 - %t278 = call i32 @fn_str_eq(ptr %t277, ptr @.str5606) + %t278 = call i32 @fn_str_eq(ptr %t277, ptr @.str5804) %t279 = icmp ne i32 %t278, 0 br i1 %t279, label %then276, label %ifend278 then276: @@ -52698,7 +58352,7 @@ then276: br label %ret ifend278: %t280 = load ptr, ptr %t0 - %t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str5607) + %t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str5805) %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then279, label %ifend281 then279: @@ -52706,7 +58360,7 @@ then279: br label %ret ifend281: %t283 = load ptr, ptr %t0 - %t284 = call i32 @fn_str_eq(ptr %t283, ptr @.str5608) + %t284 = call i32 @fn_str_eq(ptr %t283, ptr @.str5806) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then282, label %ifend284 then282: @@ -52714,7 +58368,7 @@ then282: br label %ret ifend284: %t286 = load ptr, ptr %t0 - %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str5609) + %t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str5807) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then285, label %ifend287 then285: @@ -52722,7 +58376,7 @@ then285: br label %ret ifend287: %t289 = load ptr, ptr %t0 - %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5610) + %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str5808) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then288, label %ifend290 then288: @@ -52730,7 +58384,7 @@ then288: br label %ret ifend290: %t292 = load ptr, ptr %t0 - %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str5611) + %t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str5809) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then291, label %ifend293 then291: @@ -52738,7 +58392,7 @@ then291: br label %ret ifend293: %t295 = load ptr, ptr %t0 - %t296 = call i32 @fn_str_eq(ptr %t295, ptr @.str5612) + %t296 = call i32 @fn_str_eq(ptr %t295, ptr @.str5810) %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then294, label %ifend296 then294: @@ -52746,7 +58400,7 @@ then294: br label %ret ifend296: %t298 = load ptr, ptr %t0 - %t299 = call i32 @fn_str_eq(ptr %t298, ptr @.str5613) + %t299 = call i32 @fn_str_eq(ptr %t298, ptr @.str5811) %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then297, label %ifend299 then297: @@ -52754,7 +58408,7 @@ then297: br label %ret ifend299: %t301 = load ptr, ptr %t0 - %t302 = call i32 @fn_str_eq(ptr %t301, ptr @.str5614) + %t302 = call i32 @fn_str_eq(ptr %t301, ptr @.str5812) %t303 = icmp ne i32 %t302, 0 br i1 %t303, label %then300, label %ifend302 then300: @@ -52762,7 +58416,7 @@ then300: br label %ret ifend302: %t304 = load ptr, ptr %t0 - %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str5615) + %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str5813) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then303, label %ifend305 then303: @@ -52770,7 +58424,7 @@ then303: br label %ret ifend305: %t307 = load ptr, ptr %t0 - %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str5616) + %t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str5814) %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then306, label %ifend308 then306: @@ -52778,7 +58432,7 @@ then306: br label %ret ifend308: %t310 = load ptr, ptr %t0 - %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str5617) + %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str5815) %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then309, label %ifend311 then309: @@ -52786,7 +58440,7 @@ then309: br label %ret ifend311: %t313 = load ptr, ptr %t0 - %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str5618) + %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str5816) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then312, label %ifend314 then312: @@ -52794,7 +58448,7 @@ then312: br label %ret ifend314: %t316 = load ptr, ptr %t0 - %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str5619) + %t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str5817) %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then315, label %ifend317 then315: @@ -52802,7 +58456,7 @@ then315: br label %ret ifend317: %t319 = load ptr, ptr %t0 - %t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str5620) + %t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str5818) %t321 = icmp ne i32 %t320, 0 br i1 %t321, label %then318, label %ifend320 then318: @@ -52810,7 +58464,7 @@ then318: br label %ret ifend320: %t322 = load ptr, ptr %t0 - %t323 = call i32 @fn_str_eq(ptr %t322, ptr @.str5621) + %t323 = call i32 @fn_str_eq(ptr %t322, ptr @.str5819) %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then321, label %ifend323 then321: @@ -52818,7 +58472,7 @@ then321: br label %ret ifend323: %t325 = load ptr, ptr %t0 - %t326 = call i32 @fn_str_eq(ptr %t325, ptr @.str5622) + %t326 = call i32 @fn_str_eq(ptr %t325, ptr @.str5820) %t327 = icmp ne i32 %t326, 0 br i1 %t327, label %then324, label %ifend326 then324: @@ -52826,7 +58480,7 @@ then324: br label %ret ifend326: %t328 = load ptr, ptr %t0 - %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str5623) + %t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str5821) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then327, label %ifend329 then327: @@ -52834,7 +58488,7 @@ then327: br label %ret ifend329: %t331 = load ptr, ptr %t0 - %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str5624) + %t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str5822) %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then330, label %ifend332 then330: @@ -52842,7 +58496,7 @@ then330: br label %ret ifend332: %t334 = load ptr, ptr %t0 - %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str5625) + %t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str5823) %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then333, label %ifend335 then333: @@ -52850,7 +58504,7 @@ then333: br label %ret ifend335: %t337 = load ptr, ptr %t0 - %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str5626) + %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str5824) %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then336, label %ifend338 then336: @@ -52858,7 +58512,7 @@ then336: br label %ret ifend338: %t340 = load ptr, ptr %t0 - %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str5627) + %t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str5825) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then339, label %ifend341 then339: @@ -52866,7 +58520,7 @@ then339: br label %ret ifend341: %t343 = load ptr, ptr %t0 - %t344 = call i32 @fn_str_eq(ptr %t343, ptr @.str5628) + %t344 = call i32 @fn_str_eq(ptr %t343, ptr @.str5826) %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then342, label %ifend344 then342: @@ -52874,7 +58528,7 @@ then342: br label %ret ifend344: %t346 = load ptr, ptr %t0 - %t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str5629) + %t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str5827) %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %then345, label %ifend347 then345: @@ -52882,7 +58536,7 @@ then345: br label %ret ifend347: %t349 = load ptr, ptr %t0 - %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str5630) + %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str5828) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then348, label %ifend350 then348: @@ -52890,7 +58544,7 @@ then348: br label %ret ifend350: %t352 = load ptr, ptr %t0 - %t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str5631) + %t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str5829) %t354 = icmp ne i32 %t353, 0 br i1 %t354, label %then351, label %ifend353 then351: @@ -52898,7 +58552,7 @@ then351: br label %ret ifend353: %t355 = load ptr, ptr %t0 - %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str5632) + %t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str5830) %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then354, label %ifend356 then354: @@ -52906,7 +58560,7 @@ then354: br label %ret ifend356: %t358 = load ptr, ptr %t0 - %t359 = call i32 @fn_str_eq(ptr %t358, ptr @.str5633) + %t359 = call i32 @fn_str_eq(ptr %t358, ptr @.str5831) %t360 = icmp ne i32 %t359, 0 br i1 %t360, label %then357, label %ifend359 then357: @@ -52914,7 +58568,7 @@ then357: br label %ret ifend359: %t361 = load ptr, ptr %t0 - %t362 = call i32 @fn_str_eq(ptr %t361, ptr @.str5634) + %t362 = call i32 @fn_str_eq(ptr %t361, ptr @.str5832) %t363 = icmp ne i32 %t362, 0 br i1 %t363, label %then360, label %ifend362 then360: @@ -52922,7 +58576,7 @@ then360: br label %ret ifend362: %t364 = load ptr, ptr %t0 - %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str5635) + %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str5833) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then363, label %ifend365 then363: @@ -52930,7 +58584,7 @@ then363: br label %ret ifend365: %t367 = load ptr, ptr %t0 - %t368 = call i32 @fn_str_eq(ptr %t367, ptr @.str5636) + %t368 = call i32 @fn_str_eq(ptr %t367, ptr @.str5834) %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then366, label %ifend368 then366: @@ -52938,7 +58592,7 @@ then366: br label %ret ifend368: %t370 = load ptr, ptr %t0 - %t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str5637) + %t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str5835) %t372 = icmp ne i32 %t371, 0 br i1 %t372, label %then369, label %ifend371 then369: @@ -52946,7 +58600,7 @@ then369: br label %ret ifend371: %t373 = load ptr, ptr %t0 - %t374 = call i32 @fn_str_eq(ptr %t373, ptr @.str5638) + %t374 = call i32 @fn_str_eq(ptr %t373, ptr @.str5836) %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then372, label %ifend374 then372: @@ -52954,7 +58608,7 @@ then372: br label %ret ifend374: %t376 = load ptr, ptr %t0 - %t377 = call i32 @fn_str_eq(ptr %t376, ptr @.str5639) + %t377 = call i32 @fn_str_eq(ptr %t376, ptr @.str5837) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then375, label %ifend377 then375: @@ -52962,7 +58616,7 @@ then375: br label %ret ifend377: %t379 = load ptr, ptr %t0 - %t380 = call i32 @fn_str_eq(ptr %t379, ptr @.str5640) + %t380 = call i32 @fn_str_eq(ptr %t379, ptr @.str5838) %t381 = icmp ne i32 %t380, 0 br i1 %t381, label %then378, label %ifend380 then378: @@ -52970,7 +58624,7 @@ then378: br label %ret ifend380: %t382 = load ptr, ptr %t0 - %t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str5641) + %t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str5839) %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then381, label %ifend383 then381: @@ -52978,7 +58632,7 @@ then381: br label %ret ifend383: %t385 = load ptr, ptr %t0 - %t386 = call i32 @fn_str_eq(ptr %t385, ptr @.str5642) + %t386 = call i32 @fn_str_eq(ptr %t385, ptr @.str5840) %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then384, label %ifend386 then384: @@ -52986,7 +58640,7 @@ then384: br label %ret ifend386: %t388 = load ptr, ptr %t0 - %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str5643) + %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str5841) %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then387, label %ifend389 then387: @@ -52994,7 +58648,7 @@ then387: br label %ret ifend389: %t391 = load ptr, ptr %t0 - %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str5644) + %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str5842) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then390, label %ifend392 then390: @@ -53002,7 +58656,7 @@ then390: br label %ret ifend392: %t394 = load ptr, ptr %t0 - %t395 = call i32 @fn_str_eq(ptr %t394, ptr @.str5645) + %t395 = call i32 @fn_str_eq(ptr %t394, ptr @.str5843) %t396 = icmp ne i32 %t395, 0 br i1 %t396, label %then393, label %ifend395 then393: @@ -53010,7 +58664,7 @@ then393: br label %ret ifend395: %t397 = load ptr, ptr %t0 - %t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str5646) + %t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str5844) %t399 = icmp ne i32 %t398, 0 br i1 %t399, label %then396, label %ifend398 then396: @@ -53018,7 +58672,7 @@ then396: br label %ret ifend398: %t400 = load ptr, ptr %t0 - %t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str5647) + %t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str5845) %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then399, label %ifend401 then399: @@ -53026,7 +58680,7 @@ then399: br label %ret ifend401: %t403 = load ptr, ptr %t0 - %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str5648) + %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str5846) %t405 = icmp ne i32 %t404, 0 br i1 %t405, label %then402, label %ifend404 then402: @@ -53034,7 +58688,7 @@ then402: br label %ret ifend404: %t406 = load ptr, ptr %t0 - %t407 = call i32 @fn_str_eq(ptr %t406, ptr @.str5649) + %t407 = call i32 @fn_str_eq(ptr %t406, ptr @.str5847) %t408 = icmp ne i32 %t407, 0 br i1 %t408, label %then405, label %ifend407 then405: @@ -53042,7 +58696,7 @@ then405: br label %ret ifend407: %t409 = load ptr, ptr %t0 - %t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str5650) + %t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str5848) %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then408, label %ifend410 then408: @@ -53050,7 +58704,7 @@ then408: br label %ret ifend410: %t412 = load ptr, ptr %t0 - %t413 = call i32 @fn_str_eq(ptr %t412, ptr @.str5651) + %t413 = call i32 @fn_str_eq(ptr %t412, ptr @.str5849) %t414 = icmp ne i32 %t413, 0 br i1 %t414, label %then411, label %ifend413 then411: @@ -53058,7 +58712,7 @@ then411: br label %ret ifend413: %t415 = load ptr, ptr %t0 - %t416 = call i32 @fn_str_eq(ptr %t415, ptr @.str5652) + %t416 = call i32 @fn_str_eq(ptr %t415, ptr @.str5850) %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then414, label %ifend416 then414: @@ -53066,7 +58720,7 @@ then414: br label %ret ifend416: %t418 = load ptr, ptr %t0 - %t419 = call i32 @fn_str_eq(ptr %t418, ptr @.str5653) + %t419 = call i32 @fn_str_eq(ptr %t418, ptr @.str5851) %t420 = icmp ne i32 %t419, 0 br i1 %t420, label %then417, label %ifend419 then417: @@ -53074,7 +58728,7 @@ then417: br label %ret ifend419: %t421 = load ptr, ptr %t0 - %t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str5654) + %t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str5852) %t423 = icmp ne i32 %t422, 0 br i1 %t423, label %then420, label %ifend422 then420: @@ -53082,7 +58736,7 @@ then420: br label %ret ifend422: %t424 = load ptr, ptr %t0 - %t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str5655) + %t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str5853) %t426 = icmp ne i32 %t425, 0 br i1 %t426, label %then423, label %ifend425 then423: @@ -53090,7 +58744,7 @@ then423: br label %ret ifend425: %t427 = load ptr, ptr %t0 - %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str5656) + %t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str5854) %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then426, label %ifend428 then426: @@ -53098,7 +58752,7 @@ then426: br label %ret ifend428: %t430 = load ptr, ptr %t0 - %t431 = call i32 @fn_str_eq(ptr %t430, ptr @.str5657) + %t431 = call i32 @fn_str_eq(ptr %t430, ptr @.str5855) %t432 = icmp ne i32 %t431, 0 br i1 %t432, label %then429, label %ifend431 then429: @@ -53106,7 +58760,7 @@ then429: br label %ret ifend431: %t433 = load ptr, ptr %t0 - %t434 = call i32 @fn_str_eq(ptr %t433, ptr @.str5658) + %t434 = call i32 @fn_str_eq(ptr %t433, ptr @.str5856) %t435 = icmp ne i32 %t434, 0 br i1 %t435, label %then432, label %ifend434 then432: @@ -53114,7 +58768,7 @@ then432: br label %ret ifend434: %t436 = load ptr, ptr %t0 - %t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str5659) + %t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str5857) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then435, label %ifend437 then435: @@ -53122,7 +58776,7 @@ then435: br label %ret ifend437: %t439 = load ptr, ptr %t0 - %t440 = call i32 @fn_str_eq(ptr %t439, ptr @.str5660) + %t440 = call i32 @fn_str_eq(ptr %t439, ptr @.str5858) %t441 = icmp ne i32 %t440, 0 br i1 %t441, label %then438, label %ifend440 then438: @@ -53130,7 +58784,7 @@ then438: br label %ret ifend440: %t442 = load ptr, ptr %t0 - %t443 = call i32 @fn_str_eq(ptr %t442, ptr @.str5661) + %t443 = call i32 @fn_str_eq(ptr %t442, ptr @.str5859) %t444 = icmp ne i32 %t443, 0 br i1 %t444, label %then441, label %ifend443 then441: @@ -53138,7 +58792,7 @@ then441: br label %ret ifend443: %t445 = load ptr, ptr %t0 - %t446 = call i32 @fn_str_eq(ptr %t445, ptr @.str5662) + %t446 = call i32 @fn_str_eq(ptr %t445, ptr @.str5860) %t447 = icmp ne i32 %t446, 0 br i1 %t447, label %then444, label %ifend446 then444: @@ -53146,7 +58800,7 @@ then444: br label %ret ifend446: %t448 = load ptr, ptr %t0 - %t449 = call i32 @fn_str_eq(ptr %t448, ptr @.str5663) + %t449 = call i32 @fn_str_eq(ptr %t448, ptr @.str5861) %t450 = icmp ne i32 %t449, 0 br i1 %t450, label %then447, label %ifend449 then447: @@ -53154,7 +58808,7 @@ then447: br label %ret ifend449: %t451 = load ptr, ptr %t0 - %t452 = call i32 @fn_str_eq(ptr %t451, ptr @.str5664) + %t452 = call i32 @fn_str_eq(ptr %t451, ptr @.str5862) %t453 = icmp ne i32 %t452, 0 br i1 %t453, label %then450, label %ifend452 then450: @@ -53162,7 +58816,7 @@ then450: br label %ret ifend452: %t454 = load ptr, ptr %t0 - %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str5665) + %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str5863) %t456 = icmp ne i32 %t455, 0 br i1 %t456, label %then453, label %ifend455 then453: @@ -53170,7 +58824,7 @@ then453: br label %ret ifend455: %t457 = load ptr, ptr %t0 - %t458 = call i32 @fn_str_eq(ptr %t457, ptr @.str5666) + %t458 = call i32 @fn_str_eq(ptr %t457, ptr @.str5864) %t459 = icmp ne i32 %t458, 0 br i1 %t459, label %then456, label %ifend458 then456: @@ -53178,7 +58832,7 @@ then456: br label %ret ifend458: %t460 = load ptr, ptr %t0 - %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str5667) + %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str5865) %t462 = icmp ne i32 %t461, 0 br i1 %t462, label %then459, label %ifend461 then459: @@ -53186,7 +58840,7 @@ then459: br label %ret ifend461: %t463 = load ptr, ptr %t0 - %t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str5668) + %t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str5866) %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then462, label %ifend464 then462: @@ -53194,7 +58848,7 @@ then462: br label %ret ifend464: %t466 = load ptr, ptr %t0 - %t467 = call i32 @fn_str_eq(ptr %t466, ptr @.str5669) + %t467 = call i32 @fn_str_eq(ptr %t466, ptr @.str5867) %t468 = icmp ne i32 %t467, 0 br i1 %t468, label %then465, label %ifend467 then465: @@ -53202,7 +58856,7 @@ then465: br label %ret ifend467: %t469 = load ptr, ptr %t0 - %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str5670) + %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str5868) %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then468, label %ifend470 then468: @@ -53210,7 +58864,7 @@ then468: br label %ret ifend470: %t472 = load ptr, ptr %t0 - %t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str5671) + %t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str5869) %t474 = icmp ne i32 %t473, 0 br i1 %t474, label %then471, label %ifend473 then471: @@ -53218,7 +58872,7 @@ then471: br label %ret ifend473: %t475 = load ptr, ptr %t0 - %t476 = call i32 @fn_str_eq(ptr %t475, ptr @.str5672) + %t476 = call i32 @fn_str_eq(ptr %t475, ptr @.str5870) %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then474, label %ifend476 then474: @@ -53226,7 +58880,7 @@ then474: br label %ret ifend476: %t478 = load ptr, ptr %t0 - %t479 = call i32 @fn_str_eq(ptr %t478, ptr @.str5673) + %t479 = call i32 @fn_str_eq(ptr %t478, ptr @.str5871) %t480 = icmp ne i32 %t479, 0 br i1 %t480, label %then477, label %ifend479 then477: @@ -53234,7 +58888,7 @@ then477: br label %ret ifend479: %t481 = load ptr, ptr %t0 - %t482 = call i32 @fn_str_eq(ptr %t481, ptr @.str5674) + %t482 = call i32 @fn_str_eq(ptr %t481, ptr @.str5872) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then480, label %ifend482 then480: @@ -53242,7 +58896,7 @@ then480: br label %ret ifend482: %t484 = load ptr, ptr %t0 - %t485 = call i32 @fn_str_eq(ptr %t484, ptr @.str5675) + %t485 = call i32 @fn_str_eq(ptr %t484, ptr @.str5873) %t486 = icmp ne i32 %t485, 0 br i1 %t486, label %then483, label %ifend485 then483: @@ -53250,7 +58904,7 @@ then483: br label %ret ifend485: %t487 = load ptr, ptr %t0 - %t488 = call i32 @fn_str_eq(ptr %t487, ptr @.str5676) + %t488 = call i32 @fn_str_eq(ptr %t487, ptr @.str5874) %t489 = icmp ne i32 %t488, 0 br i1 %t489, label %then486, label %ifend488 then486: @@ -53258,7 +58912,7 @@ then486: br label %ret ifend488: %t490 = load ptr, ptr %t0 - %t491 = call i32 @fn_str_eq(ptr %t490, ptr @.str5677) + %t491 = call i32 @fn_str_eq(ptr %t490, ptr @.str5875) %t492 = icmp ne i32 %t491, 0 br i1 %t492, label %then489, label %ifend491 then489: @@ -53266,7 +58920,7 @@ then489: br label %ret ifend491: %t493 = load ptr, ptr %t0 - %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str5678) + %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str5876) %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then492, label %ifend494 then492: @@ -53274,7 +58928,7 @@ then492: br label %ret ifend494: %t496 = load ptr, ptr %t0 - %t497 = call i32 @fn_str_eq(ptr %t496, ptr @.str5679) + %t497 = call i32 @fn_str_eq(ptr %t496, ptr @.str5877) %t498 = icmp ne i32 %t497, 0 br i1 %t498, label %then495, label %ifend497 then495: @@ -53282,7 +58936,7 @@ then495: br label %ret ifend497: %t499 = load ptr, ptr %t0 - %t500 = call i32 @fn_str_eq(ptr %t499, ptr @.str5680) + %t500 = call i32 @fn_str_eq(ptr %t499, ptr @.str5878) %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then498, label %ifend500 then498: @@ -53290,7 +58944,7 @@ then498: br label %ret ifend500: %t502 = load ptr, ptr %t0 - %t503 = call i32 @fn_str_eq(ptr %t502, ptr @.str5681) + %t503 = call i32 @fn_str_eq(ptr %t502, ptr @.str5879) %t504 = icmp ne i32 %t503, 0 br i1 %t504, label %then501, label %ifend503 then501: @@ -53298,7 +58952,7 @@ then501: br label %ret ifend503: %t505 = load ptr, ptr %t0 - %t506 = call i32 @fn_str_eq(ptr %t505, ptr @.str5682) + %t506 = call i32 @fn_str_eq(ptr %t505, ptr @.str5880) %t507 = icmp ne i32 %t506, 0 br i1 %t507, label %then504, label %ifend506 then504: @@ -53306,7 +58960,7 @@ then504: br label %ret ifend506: %t508 = load ptr, ptr %t0 - %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str5683) + %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str5881) %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then507, label %ifend509 then507: @@ -53314,7 +58968,7 @@ then507: br label %ret ifend509: %t511 = load ptr, ptr %t0 - %t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str5684) + %t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str5882) %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then510, label %ifend512 then510: @@ -53322,7 +58976,7 @@ then510: br label %ret ifend512: %t514 = load ptr, ptr %t0 - %t515 = call i32 @fn_str_eq(ptr %t514, ptr @.str5685) + %t515 = call i32 @fn_str_eq(ptr %t514, ptr @.str5883) %t516 = icmp ne i32 %t515, 0 br i1 %t516, label %then513, label %ifend515 then513: @@ -53330,7 +58984,7 @@ then513: br label %ret ifend515: %t517 = load ptr, ptr %t0 - %t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str5686) + %t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str5884) %t519 = icmp ne i32 %t518, 0 br i1 %t519, label %then516, label %ifend518 then516: @@ -53338,7 +58992,7 @@ then516: br label %ret ifend518: %t520 = load ptr, ptr %t0 - %t521 = call i32 @fn_str_eq(ptr %t520, ptr @.str5687) + %t521 = call i32 @fn_str_eq(ptr %t520, ptr @.str5885) %t522 = icmp ne i32 %t521, 0 br i1 %t522, label %then519, label %ifend521 then519: @@ -53346,7 +59000,7 @@ then519: br label %ret ifend521: %t523 = load ptr, ptr %t0 - %t524 = call i32 @fn_str_eq(ptr %t523, ptr @.str5688) + %t524 = call i32 @fn_str_eq(ptr %t523, ptr @.str5886) %t525 = icmp ne i32 %t524, 0 br i1 %t525, label %then522, label %ifend524 then522: @@ -53354,7 +59008,7 @@ then522: br label %ret ifend524: %t526 = load ptr, ptr %t0 - %t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str5689) + %t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str5887) %t528 = icmp ne i32 %t527, 0 br i1 %t528, label %then525, label %ifend527 then525: @@ -53362,7 +59016,7 @@ then525: br label %ret ifend527: %t529 = load ptr, ptr %t0 - %t530 = call i32 @fn_str_eq(ptr %t529, ptr @.str5690) + %t530 = call i32 @fn_str_eq(ptr %t529, ptr @.str5888) %t531 = icmp ne i32 %t530, 0 br i1 %t531, label %then528, label %ifend530 then528: @@ -53370,7 +59024,7 @@ then528: br label %ret ifend530: %t532 = load ptr, ptr %t0 - %t533 = call i32 @fn_str_eq(ptr %t532, ptr @.str5691) + %t533 = call i32 @fn_str_eq(ptr %t532, ptr @.str5889) %t534 = icmp ne i32 %t533, 0 br i1 %t534, label %then531, label %ifend533 then531: @@ -53378,7 +59032,7 @@ then531: br label %ret ifend533: %t535 = load ptr, ptr %t0 - %t536 = call i32 @fn_str_eq(ptr %t535, ptr @.str5692) + %t536 = call i32 @fn_str_eq(ptr %t535, ptr @.str5890) %t537 = icmp ne i32 %t536, 0 br i1 %t537, label %then534, label %ifend536 then534: @@ -53386,7 +59040,7 @@ then534: br label %ret ifend536: %t538 = load ptr, ptr %t0 - %t539 = call i32 @fn_str_eq(ptr %t538, ptr @.str5693) + %t539 = call i32 @fn_str_eq(ptr %t538, ptr @.str5891) %t540 = icmp ne i32 %t539, 0 br i1 %t540, label %then537, label %ifend539 then537: @@ -53394,7 +59048,7 @@ then537: br label %ret ifend539: %t541 = load ptr, ptr %t0 - %t542 = call i32 @fn_str_eq(ptr %t541, ptr @.str5694) + %t542 = call i32 @fn_str_eq(ptr %t541, ptr @.str5892) %t543 = icmp ne i32 %t542, 0 br i1 %t543, label %then540, label %ifend542 then540: @@ -53402,7 +59056,7 @@ then540: br label %ret ifend542: %t544 = load ptr, ptr %t0 - %t545 = call i32 @fn_str_eq(ptr %t544, ptr @.str5695) + %t545 = call i32 @fn_str_eq(ptr %t544, ptr @.str5893) %t546 = icmp ne i32 %t545, 0 br i1 %t546, label %then543, label %ifend545 then543: @@ -53410,7 +59064,7 @@ then543: br label %ret ifend545: %t547 = load ptr, ptr %t0 - %t548 = call i32 @fn_str_eq(ptr %t547, ptr @.str5696) + %t548 = call i32 @fn_str_eq(ptr %t547, ptr @.str5894) %t549 = icmp ne i32 %t548, 0 br i1 %t549, label %then546, label %ifend548 then546: @@ -53418,7 +59072,7 @@ then546: br label %ret ifend548: %t550 = load ptr, ptr %t0 - %t551 = call i32 @fn_str_eq(ptr %t550, ptr @.str5697) + %t551 = call i32 @fn_str_eq(ptr %t550, ptr @.str5895) %t552 = icmp ne i32 %t551, 0 br i1 %t552, label %then549, label %ifend551 then549: @@ -53426,7 +59080,7 @@ then549: br label %ret ifend551: %t553 = load ptr, ptr %t0 - %t554 = call i32 @fn_str_eq(ptr %t553, ptr @.str5698) + %t554 = call i32 @fn_str_eq(ptr %t553, ptr @.str5896) %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %then552, label %ifend554 then552: @@ -53434,7 +59088,7 @@ then552: br label %ret ifend554: %t556 = load ptr, ptr %t0 - %t557 = call i32 @fn_str_eq(ptr %t556, ptr @.str5699) + %t557 = call i32 @fn_str_eq(ptr %t556, ptr @.str5897) %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then555, label %ifend557 then555: @@ -53442,7 +59096,7 @@ then555: br label %ret ifend557: %t559 = load ptr, ptr %t0 - %t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str5700) + %t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str5898) %t561 = icmp ne i32 %t560, 0 br i1 %t561, label %then558, label %ifend560 then558: @@ -53450,7 +59104,7 @@ then558: br label %ret ifend560: %t562 = load ptr, ptr %t0 - %t563 = call i32 @fn_str_eq(ptr %t562, ptr @.str5701) + %t563 = call i32 @fn_str_eq(ptr %t562, ptr @.str5899) %t564 = icmp ne i32 %t563, 0 br i1 %t564, label %then561, label %ifend563 then561: @@ -53458,7 +59112,7 @@ then561: br label %ret ifend563: %t565 = load ptr, ptr %t0 - %t566 = call i32 @fn_str_eq(ptr %t565, ptr @.str5702) + %t566 = call i32 @fn_str_eq(ptr %t565, ptr @.str5900) %t567 = icmp ne i32 %t566, 0 br i1 %t567, label %then564, label %ifend566 then564: @@ -53466,7 +59120,7 @@ then564: br label %ret ifend566: %t568 = load ptr, ptr %t0 - %t569 = call i32 @fn_str_eq(ptr %t568, ptr @.str5703) + %t569 = call i32 @fn_str_eq(ptr %t568, ptr @.str5901) %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %then567, label %ifend569 then567: @@ -53474,7 +59128,7 @@ then567: br label %ret ifend569: %t571 = load ptr, ptr %t0 - %t572 = call i32 @fn_str_eq(ptr %t571, ptr @.str5704) + %t572 = call i32 @fn_str_eq(ptr %t571, ptr @.str5902) %t573 = icmp ne i32 %t572, 0 br i1 %t573, label %then570, label %ifend572 then570: @@ -53482,7 +59136,7 @@ then570: br label %ret ifend572: %t574 = load ptr, ptr %t0 - %t575 = call i32 @fn_str_eq(ptr %t574, ptr @.str5705) + %t575 = call i32 @fn_str_eq(ptr %t574, ptr @.str5903) %t576 = icmp ne i32 %t575, 0 br i1 %t576, label %then573, label %ifend575 then573: @@ -53490,7 +59144,7 @@ then573: br label %ret ifend575: %t577 = load ptr, ptr %t0 - %t578 = call i32 @fn_str_eq(ptr %t577, ptr @.str5706) + %t578 = call i32 @fn_str_eq(ptr %t577, ptr @.str5904) %t579 = icmp ne i32 %t578, 0 br i1 %t579, label %then576, label %ifend578 then576: @@ -53498,7 +59152,7 @@ then576: br label %ret ifend578: %t580 = load ptr, ptr %t0 - %t581 = call i32 @fn_str_eq(ptr %t580, ptr @.str5707) + %t581 = call i32 @fn_str_eq(ptr %t580, ptr @.str5905) %t582 = icmp ne i32 %t581, 0 br i1 %t582, label %then579, label %ifend581 then579: @@ -53506,7 +59160,7 @@ then579: br label %ret ifend581: %t583 = load ptr, ptr %t0 - %t584 = call i32 @fn_str_eq(ptr %t583, ptr @.str5708) + %t584 = call i32 @fn_str_eq(ptr %t583, ptr @.str5906) %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then582, label %ifend584 then582: @@ -53514,7 +59168,7 @@ then582: br label %ret ifend584: %t586 = load ptr, ptr %t0 - %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str5709) + %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str5907) %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then585, label %ifend587 then585: @@ -53522,7 +59176,7 @@ then585: br label %ret ifend587: %t589 = load ptr, ptr %t0 - %t590 = call i32 @fn_str_eq(ptr %t589, ptr @.str5710) + %t590 = call i32 @fn_str_eq(ptr %t589, ptr @.str5908) %t591 = icmp ne i32 %t590, 0 br i1 %t591, label %then588, label %ifend590 then588: @@ -53530,7 +59184,7 @@ then588: br label %ret ifend590: %t592 = load ptr, ptr %t0 - %t593 = call i32 @fn_str_eq(ptr %t592, ptr @.str5711) + %t593 = call i32 @fn_str_eq(ptr %t592, ptr @.str5909) %t594 = icmp ne i32 %t593, 0 br i1 %t594, label %then591, label %ifend593 then591: @@ -53538,7 +59192,7 @@ then591: br label %ret ifend593: %t595 = load ptr, ptr %t0 - %t596 = call i32 @fn_str_eq(ptr %t595, ptr @.str5712) + %t596 = call i32 @fn_str_eq(ptr %t595, ptr @.str5910) %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then594, label %ifend596 then594: @@ -53546,7 +59200,7 @@ then594: br label %ret ifend596: %t598 = load ptr, ptr %t0 - %t599 = call i32 @fn_str_eq(ptr %t598, ptr @.str5713) + %t599 = call i32 @fn_str_eq(ptr %t598, ptr @.str5911) %t600 = icmp ne i32 %t599, 0 br i1 %t600, label %then597, label %ifend599 then597: @@ -53554,7 +59208,7 @@ then597: br label %ret ifend599: %t601 = load ptr, ptr %t0 - %t602 = call i32 @fn_str_eq(ptr %t601, ptr @.str5714) + %t602 = call i32 @fn_str_eq(ptr %t601, ptr @.str5912) %t603 = icmp ne i32 %t602, 0 br i1 %t603, label %then600, label %ifend602 then600: @@ -53562,7 +59216,7 @@ then600: br label %ret ifend602: %t604 = load ptr, ptr %t0 - %t605 = call i32 @fn_str_eq(ptr %t604, ptr @.str5715) + %t605 = call i32 @fn_str_eq(ptr %t604, ptr @.str5913) %t606 = icmp ne i32 %t605, 0 br i1 %t606, label %then603, label %ifend605 then603: @@ -53570,7 +59224,7 @@ then603: br label %ret ifend605: %t607 = load ptr, ptr %t0 - %t608 = call i32 @fn_str_eq(ptr %t607, ptr @.str5716) + %t608 = call i32 @fn_str_eq(ptr %t607, ptr @.str5914) %t609 = icmp ne i32 %t608, 0 br i1 %t609, label %then606, label %ifend608 then606: @@ -53578,7 +59232,7 @@ then606: br label %ret ifend608: %t610 = load ptr, ptr %t0 - %t611 = call i32 @fn_str_eq(ptr %t610, ptr @.str5717) + %t611 = call i32 @fn_str_eq(ptr %t610, ptr @.str5915) %t612 = icmp ne i32 %t611, 0 br i1 %t612, label %then609, label %ifend611 then609: @@ -53586,7 +59240,7 @@ then609: br label %ret ifend611: %t613 = load ptr, ptr %t0 - %t614 = call i32 @fn_str_eq(ptr %t613, ptr @.str5718) + %t614 = call i32 @fn_str_eq(ptr %t613, ptr @.str5916) %t615 = icmp ne i32 %t614, 0 br i1 %t615, label %then612, label %ifend614 then612: @@ -53594,7 +59248,7 @@ then612: br label %ret ifend614: %t616 = load ptr, ptr %t0 - %t617 = call i32 @fn_str_eq(ptr %t616, ptr @.str5719) + %t617 = call i32 @fn_str_eq(ptr %t616, ptr @.str5917) %t618 = icmp ne i32 %t617, 0 br i1 %t618, label %then615, label %ifend617 then615: @@ -53602,7 +59256,7 @@ then615: br label %ret ifend617: %t619 = load ptr, ptr %t0 - %t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str5720) + %t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str5918) %t621 = icmp ne i32 %t620, 0 br i1 %t621, label %then618, label %ifend620 then618: @@ -53610,7 +59264,7 @@ then618: br label %ret ifend620: %t622 = load ptr, ptr %t0 - %t623 = call i32 @fn_str_eq(ptr %t622, ptr @.str5721) + %t623 = call i32 @fn_str_eq(ptr %t622, ptr @.str5919) %t624 = icmp ne i32 %t623, 0 br i1 %t624, label %then621, label %ifend623 then621: @@ -53618,7 +59272,7 @@ then621: br label %ret ifend623: %t625 = load ptr, ptr %t0 - %t626 = call i32 @fn_str_eq(ptr %t625, ptr @.str5722) + %t626 = call i32 @fn_str_eq(ptr %t625, ptr @.str5920) %t627 = icmp ne i32 %t626, 0 br i1 %t627, label %then624, label %ifend626 then624: @@ -53626,7 +59280,7 @@ then624: br label %ret ifend626: %t628 = load ptr, ptr %t0 - %t629 = call i32 @fn_str_eq(ptr %t628, ptr @.str5723) + %t629 = call i32 @fn_str_eq(ptr %t628, ptr @.str5921) %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then627, label %ifend629 then627: @@ -53634,7 +59288,7 @@ then627: br label %ret ifend629: %t631 = load ptr, ptr %t0 - %t632 = call i32 @fn_str_eq(ptr %t631, ptr @.str5724) + %t632 = call i32 @fn_str_eq(ptr %t631, ptr @.str5922) %t633 = icmp ne i32 %t632, 0 br i1 %t633, label %then630, label %ifend632 then630: @@ -53642,7 +59296,7 @@ then630: br label %ret ifend632: %t634 = load ptr, ptr %t0 - %t635 = call i32 @fn_str_eq(ptr %t634, ptr @.str5725) + %t635 = call i32 @fn_str_eq(ptr %t634, ptr @.str5923) %t636 = icmp ne i32 %t635, 0 br i1 %t636, label %then633, label %ifend635 then633: @@ -53650,7 +59304,7 @@ then633: br label %ret ifend635: %t637 = load ptr, ptr %t0 - %t638 = call i32 @fn_str_eq(ptr %t637, ptr @.str5726) + %t638 = call i32 @fn_str_eq(ptr %t637, ptr @.str5924) %t639 = icmp ne i32 %t638, 0 br i1 %t639, label %then636, label %ifend638 then636: @@ -53658,7 +59312,7 @@ then636: br label %ret ifend638: %t640 = load ptr, ptr %t0 - %t641 = call i32 @fn_str_eq(ptr %t640, ptr @.str5727) + %t641 = call i32 @fn_str_eq(ptr %t640, ptr @.str5925) %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then639, label %ifend641 then639: @@ -53666,7 +59320,7 @@ then639: br label %ret ifend641: %t643 = load ptr, ptr %t0 - %t644 = call i32 @fn_str_eq(ptr %t643, ptr @.str5728) + %t644 = call i32 @fn_str_eq(ptr %t643, ptr @.str5926) %t645 = icmp ne i32 %t644, 0 br i1 %t645, label %then642, label %ifend644 then642: @@ -53674,7 +59328,7 @@ then642: br label %ret ifend644: %t646 = load ptr, ptr %t0 - %t647 = call i32 @fn_str_eq(ptr %t646, ptr @.str5729) + %t647 = call i32 @fn_str_eq(ptr %t646, ptr @.str5927) %t648 = icmp ne i32 %t647, 0 br i1 %t648, label %then645, label %ifend647 then645: @@ -53682,7 +59336,7 @@ then645: br label %ret ifend647: %t649 = load ptr, ptr %t0 - %t650 = call i32 @fn_str_eq(ptr %t649, ptr @.str5730) + %t650 = call i32 @fn_str_eq(ptr %t649, ptr @.str5928) %t651 = icmp ne i32 %t650, 0 br i1 %t651, label %then648, label %ifend650 then648: @@ -53690,7 +59344,7 @@ then648: br label %ret ifend650: %t652 = load ptr, ptr %t0 - %t653 = call i32 @fn_str_eq(ptr %t652, ptr @.str5731) + %t653 = call i32 @fn_str_eq(ptr %t652, ptr @.str5929) %t654 = icmp ne i32 %t653, 0 br i1 %t654, label %then651, label %ifend653 then651: @@ -53698,7 +59352,7 @@ then651: br label %ret ifend653: %t655 = load ptr, ptr %t0 - %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str5732) + %t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str5930) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then654, label %ifend656 then654: @@ -53706,7 +59360,7 @@ then654: br label %ret ifend656: %t658 = load ptr, ptr %t0 - %t659 = call i32 @fn_str_eq(ptr %t658, ptr @.str5733) + %t659 = call i32 @fn_str_eq(ptr %t658, ptr @.str5931) %t660 = icmp ne i32 %t659, 0 br i1 %t660, label %then657, label %ifend659 then657: @@ -53714,7 +59368,7 @@ then657: br label %ret ifend659: %t661 = load ptr, ptr %t0 - %t662 = call i32 @fn_str_eq(ptr %t661, ptr @.str5734) + %t662 = call i32 @fn_str_eq(ptr %t661, ptr @.str5932) %t663 = icmp ne i32 %t662, 0 br i1 %t663, label %then660, label %ifend662 then660: @@ -53729,6 +59383,238 @@ ret: ret i32 %t665 } +define i32 @fn_key_lookup(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t78 = alloca i32 + %t79 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str5933) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 32, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5934) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store i32 10, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5935) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store i32 10, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5936) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store i32 27, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5937) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store i32 27, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5938) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store i32 16, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5939) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store i32 9, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5940) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 8, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5941) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store i32 119, ptr %retval + br label %ret +ifend26: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str5942) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then27, label %ifend29 +then27: + store i32 115, ptr %retval + br label %ret +ifend29: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5943) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then30, label %ifend32 +then30: + store i32 97, ptr %retval + br label %ret +ifend32: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str5944) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then33, label %ifend35 +then33: + store i32 100, ptr %retval + br label %ret +ifend35: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str5945) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then36, label %ifend38 +then36: + store i32 48, ptr %retval + br label %ret +ifend38: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str5946) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store i32 49, ptr %retval + br label %ret +ifend41: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5947) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then42, label %ifend44 +then42: + store i32 50, ptr %retval + br label %ret +ifend44: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str5948) + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then45, label %ifend47 +then45: + store i32 51, ptr %retval + br label %ret +ifend47: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str5949) + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then48, label %ifend50 +then48: + store i32 52, ptr %retval + br label %ret +ifend50: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5950) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then51, label %ifend53 +then51: + store i32 53, ptr %retval + br label %ret +ifend53: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str5951) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then54, label %ifend56 +then54: + store i32 54, ptr %retval + br label %ret +ifend56: + %t58 = load ptr, ptr %t0 + %t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str5952) + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then57, label %ifend59 +then57: + store i32 55, ptr %retval + br label %ret +ifend59: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str5953) + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then60, label %ifend62 +then60: + store i32 56, ptr %retval + br label %ret +ifend62: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str5954) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then63, label %ifend65 +then63: + store i32 57, ptr %retval + br label %ret +ifend65: + %t67 = load ptr, ptr %t0 + %t68 = getelementptr inbounds i8, ptr %t67, i32 1 + %t69 = load i8, ptr %t68 + %t70 = zext i8 %t69 to i32 + %t71 = icmp eq i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then66, label %ifend68 +then66: + %t74 = load ptr, ptr %t0 + %t75 = getelementptr inbounds i8, ptr %t74, i32 0 + %t76 = load i8, ptr %t75 + %t77 = zext i8 %t76 to i32 + store i32 %t77, ptr %t78 + %t80 = load i32, ptr %t78 + %t81 = icmp sge i32 %t80, 65 + %t82 = zext i1 %t81 to i32 + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t79 + br i1 %t83, label %sc69, label %scend70 +sc69: + %t85 = load i32, ptr %t78 + %t86 = icmp sle i32 %t85, 90 + %t87 = zext i1 %t86 to i32 + %t88 = icmp ne i32 %t87, 0 + %t89 = zext i1 %t88 to i32 + store i32 %t89, ptr %t79 + br label %scend70 +scend70: + %t90 = load i32, ptr %t79 + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then71, label %ifend73 +then71: + %t92 = load i32, ptr %t78 + %t93 = add i32 %t92, 32 + store i32 %t93, ptr %retval + br label %ret +ifend73: + br label %ifend68 +ifend68: + %t94 = sub i32 0, 1 + store i32 %t94, ptr %retval + br label %ret +ret: + %t95 = load i32, ptr %retval + ret i32 %t95 +} + define ptr @fn_emit_sizeof(ptr %arg_llt) { entry: %retval = alloca ptr @@ -53736,13 +59622,13 @@ entry: %t5 = alloca ptr store ptr %arg_llt, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call ptr @fn_str_concat(ptr @.str5735, ptr %t1) - %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5736) + %t2 = call ptr @fn_str_concat(ptr @.str5955, ptr %t1) + %t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5956) %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 @.str5737, ptr %t6) - %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5738) + %t7 = call ptr @fn_str_concat(ptr @.str5957, ptr %t6) + %t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5958) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret @@ -53846,7 +59732,7 @@ entry: %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: - call void @fn_perr(ptr @.str5739) + call void @fn_perr(ptr @.str5959) br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 @@ -53856,8 +59742,8 @@ ifend2: %t13 = call ptr @fn_emit_sizeof(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 - %t16 = call ptr @fn_str_concat(ptr @.str5740, ptr %t15) - %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5741) + %t16 = call ptr @fn_str_concat(ptr @.str5960, ptr %t15) + %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5961) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 store i32 0, ptr %t20 @@ -53885,32 +59771,32 @@ wbody4: store ptr %t37, ptr %t38 %t39 = call ptr @fn_nreg() store ptr %t39, ptr %t40 - call void @fn_emit(ptr @.str5742) + call void @fn_emit(ptr @.str5962) %t41 = load ptr, ptr %t40 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str5743) + call void @fn_emit(ptr @.str5963) %t42 = load ptr, ptr %t11 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str5744) + call void @fn_emit(ptr @.str5964) %t43 = load ptr, ptr %t19 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str5745) + call void @fn_emit(ptr @.str5965) %t44 = load i32, ptr %t20 %t45 = call ptr @fn_itoa(i32 %t44) call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str5746) + call void @fn_emit(ptr @.str5966) %t46 = load ptr, ptr %t38 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call ptr @fn_llty(ptr %t48) store ptr %t49, ptr %t50 - store ptr @.str5747, ptr %t51 + store ptr @.str5967, ptr %t51 %t52 = load ptr, ptr %t50 - %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5748) + %t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5968) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then6, label %ifend8 then6: - store ptr @.str5749, ptr %t51 + store ptr @.str5969, ptr %t51 br label %ifend8 ifend8: %t55 = load ptr, ptr %t38 @@ -53953,16 +59839,16 @@ then12: store ptr %t84, ptr %t51 br label %ifend14 ifend14: - call void @fn_emit(ptr @.str5750) + call void @fn_emit(ptr @.str5970) %t85 = load ptr, ptr %t50 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str5751) + call void @fn_emit(ptr @.str5971) %t86 = load ptr, ptr %t51 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str5752) + call void @fn_emit(ptr @.str5972) %t87 = load ptr, ptr %t40 call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str5753) + call void @fn_emit(ptr @.str5973) %t88 = load i32, ptr %t20 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t20 @@ -53988,52 +59874,52 @@ entry: %t14 = alloca ptr %t19 = alloca ptr store ptr %arg_ty, ptr %t0 - %t1 = call ptr @fn_emit_sizeof(ptr @.str5754) + %t1 = call ptr @fn_emit_sizeof(ptr @.str5974) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 - %t4 = call ptr @fn_str_concat(ptr @.str5755, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5756) + %t4 = call ptr @fn_str_concat(ptr @.str5975, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5976) %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 @.str5757) + call void @fn_emit(ptr @.str5977) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str5758) + call void @fn_emit(ptr @.str5978) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str5759) - call void @fn_emit(ptr @.str5760) + call void @fn_emit(ptr @.str5979) + call void @fn_emit(ptr @.str5980) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) - call void @fn_emit(ptr @.str5761) + call void @fn_emit(ptr @.str5981) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 - call void @fn_emit(ptr @.str5762) + call void @fn_emit(ptr @.str5982) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) - call void @fn_emit(ptr @.str5763) + call void @fn_emit(ptr @.str5983) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str5764) - call void @fn_emit(ptr @.str5765) + call void @fn_emit(ptr @.str5984) + call void @fn_emit(ptr @.str5985) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str5766) + call void @fn_emit(ptr @.str5986) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 - call void @fn_emit(ptr @.str5767) + call void @fn_emit(ptr @.str5987) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str5768) + call void @fn_emit(ptr @.str5988) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str5769) - call void @fn_emit(ptr @.str5770) + call void @fn_emit(ptr @.str5989) + call void @fn_emit(ptr @.str5990) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str5771) + call void @fn_emit(ptr @.str5991) %t23 = load ptr, ptr %t7 %t24 = load ptr, ptr %t0 %t25 = call ptr @fn_val(ptr %t23, ptr %t24) @@ -54054,17 +59940,17 @@ entry: store i32 %arg_i, ptr %t1 %t2 = call ptr @fn_nreg() store ptr %t2, ptr %t3 - call void @fn_emit(ptr @.str5772) + call void @fn_emit(ptr @.str5992) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str5773) + call void @fn_emit(ptr @.str5993) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str5774) + call void @fn_emit(ptr @.str5994) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str5775) + call void @fn_emit(ptr @.str5995) %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret @@ -54103,24 +59989,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 @.str5776, ptr %t20) + %t21 = call ptr @fn_str_concat(ptr @.str5996, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) - %t23 = call ptr @fn_val(ptr %t22, ptr @.str5777) + %t23 = call ptr @fn_val(ptr %t22, ptr @.str5997) 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 @.str5778, ptr %t26) - %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5779) + %t27 = call ptr @fn_str_concat(ptr @.str5998, ptr %t26) + %t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5999) %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 @.str5780, ptr %t31) - %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str5781) + %t32 = call ptr @fn_str_concat(ptr @.str6000, ptr %t31) + %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str6001) %t34 = call ptr @fn_emit_bind(ptr %t33) - %t35 = call ptr @fn_val(ptr %t34, ptr @.str5782) + %t35 = call ptr @fn_val(ptr %t34, ptr @.str6002) store ptr %t35, ptr %retval br label %ret ret: @@ -54188,50 +60074,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 @.str5783, ptr %t31) + %t32 = call ptr @fn_str_concat(ptr @.str6003, ptr %t31) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t27 - %t36 = call ptr @fn_str_concat(ptr @.str5784, ptr %t35) + %t36 = call ptr @fn_str_concat(ptr @.str6004, ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t34 - %t40 = call ptr @fn_str_concat(ptr @.str5785, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5786) + %t40 = call ptr @fn_str_concat(ptr @.str6005, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str6006) %t42 = load ptr, ptr %t38 %t43 = call ptr @fn_str_concat(ptr %t41, ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 - %t46 = call ptr @fn_lbl(ptr @.str5787) + %t46 = call ptr @fn_lbl(ptr @.str6007) store ptr %t46, ptr %t47 - %t48 = call ptr @fn_lbl(ptr @.str5788) + %t48 = call ptr @fn_lbl(ptr @.str6008) store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str5789) + call void @fn_emit(ptr @.str6009) %t50 = load ptr, ptr %t45 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str5790) + call void @fn_emit(ptr @.str6010) %t51 = load ptr, ptr %t47 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str5791) + call void @fn_emit(ptr @.str6011) %t52 = load ptr, ptr %t49 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str5792) + call void @fn_emit(ptr @.str6012) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str5793) + call void @fn_emit(ptr @.str6013) %t54 = load ptr, ptr %t38 - %t55 = call ptr @fn_str_concat(ptr @.str5794, ptr %t54) - %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str5795) + %t55 = call ptr @fn_str_concat(ptr @.str6014, ptr %t54) + %t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str6015) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t38 - %t60 = call ptr @fn_str_concat(ptr @.str5796, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str5797) + %t60 = call ptr @fn_str_concat(ptr @.str6016, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str6017) %t62 = call ptr @fn_emit_bind(ptr %t61) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t63 - %t65 = call ptr @fn_str_concat(ptr @.str5798, ptr %t64) - %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str5799) + %t65 = call ptr @fn_str_concat(ptr @.str6018, ptr %t64) + %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str6019) %t67 = load ptr, ptr %t58 %t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) @@ -54240,50 +60126,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 @.str5800, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str5801) + %t75 = call ptr @fn_str_concat(ptr @.str6020, ptr %t74) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str6021) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 - %t80 = call ptr @fn_str_concat(ptr @.str5802, ptr %t79) - %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str5803) + %t80 = call ptr @fn_str_concat(ptr @.str6022, ptr %t79) + %t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str6023) %t82 = load ptr, ptr %t73 %t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t30 - %t87 = call ptr @fn_str_concat(ptr @.str5804, ptr %t86) + %t87 = call ptr @fn_str_concat(ptr @.str6024, ptr %t86) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 - %t91 = call ptr @fn_str_concat(ptr @.str5805, ptr %t90) - %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str5806) + %t91 = call ptr @fn_str_concat(ptr @.str6025, ptr %t90) + %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str6026) %t93 = load ptr, ptr %t85 %t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93) - %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str5807) + %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str6027) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %t97 - call void @fn_emit(ptr @.str5808) + call void @fn_emit(ptr @.str6028) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str5809) + call void @fn_emit(ptr @.str6029) %t99 = load ptr, ptr %t30 call void @fn_emit(ptr %t99) - call void @fn_emit(ptr @.str5810) - call void @fn_emit(ptr @.str5811) + call void @fn_emit(ptr @.str6030) + call void @fn_emit(ptr @.str6031) %t100 = load ptr, ptr %t70 call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str5812) + call void @fn_emit(ptr @.str6032) %t101 = load ptr, ptr %t27 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str5813) - call void @fn_emit(ptr @.str5814) + call void @fn_emit(ptr @.str6033) + call void @fn_emit(ptr @.str6034) %t102 = load ptr, ptr %t49 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str5815) + call void @fn_emit(ptr @.str6035) %t103 = load ptr, ptr %t49 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str5816) + call void @fn_emit(ptr @.str6036) %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 %t106 = load ptr, ptr %t105 @@ -54294,49 +60180,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 @.str5817, ptr %t113) + %t114 = call ptr @fn_str_concat(ptr @.str6037, ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %t116 %t117 = call ptr @fn_nreg() store ptr %t117, ptr %t118 - call void @fn_emit(ptr @.str5818) + call void @fn_emit(ptr @.str6038) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str5819) + call void @fn_emit(ptr @.str6039) %t120 = load ptr, ptr %t17 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str5820) + call void @fn_emit(ptr @.str6040) %t121 = load ptr, ptr %t116 call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str5821) + call void @fn_emit(ptr @.str6041) %t122 = load ptr, ptr %t34 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str5822) - call void @fn_emit(ptr @.str5823) + call void @fn_emit(ptr @.str6042) + call void @fn_emit(ptr @.str6043) %t123 = load ptr, ptr %t17 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str5824) + call void @fn_emit(ptr @.str6044) %t124 = load ptr, ptr %t112 %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0 %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str5825) + call void @fn_emit(ptr @.str6045) %t127 = load ptr, ptr %t118 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str5826) + call void @fn_emit(ptr @.str6046) %t128 = load ptr, ptr %t34 - %t129 = call ptr @fn_str_concat(ptr @.str5827, ptr %t128) - %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str5828) + %t129 = call ptr @fn_str_concat(ptr @.str6047, ptr %t128) + %t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str6048) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 - call void @fn_emit(ptr @.str5829) + call void @fn_emit(ptr @.str6049) %t133 = load ptr, ptr %t132 call void @fn_emit(ptr %t133) - call void @fn_emit(ptr @.str5830) + call void @fn_emit(ptr @.str6050) %t134 = load ptr, ptr %t24 call void @fn_emit(ptr %t134) - call void @fn_emit(ptr @.str5831) - %t135 = call ptr @fn_val(ptr @.str5832, ptr @.str5833) + call void @fn_emit(ptr @.str6051) + %t135 = call ptr @fn_val(ptr @.str6052, ptr @.str6053) store ptr %t135, ptr %retval br label %ret ret: @@ -54421,12 +60307,12 @@ then8: %t50 = call ptr @fn_emit_expr(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 - %t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str5835) - %t54 = call ptr @fn_str_concat(ptr @.str5834, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5836) + %t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str6055) + %t54 = call ptr @fn_str_concat(ptr @.str6054, ptr %t53) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str6056) %t56 = load ptr, ptr %t1 %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5837) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str6057) call void @fn_emit(ptr %t58) br label %ifend10 else9: @@ -54472,7 +60358,7 @@ entry: %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 - %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5838) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str6058) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 @@ -54481,8 +60367,8 @@ then0: %t13 = load ptr, ptr %t5 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 - %t16 = call ptr @fn_str_concat(ptr @.str5839, ptr %t15) - %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5840) + %t16 = call ptr @fn_str_concat(ptr @.str6059, ptr %t15) + %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str6060) %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8 %t20 = load i32, ptr %t19 @@ -54491,98 +60377,98 @@ then0: call void @fn_perr(ptr %t22) br label %ifend2 ifend2: - %t23 = call ptr @fn_emit_alloca(ptr @.str5841) + %t23 = call ptr @fn_emit_alloca(ptr @.str6061) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 - %t26 = call ptr @fn_str_concat(ptr @.str5842, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5843) + %t26 = call ptr @fn_str_concat(ptr @.str6062, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6063) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str5844, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5845) + %t31 = call ptr @fn_str_concat(ptr @.str6064, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str6065) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_str_concat(ptr @.str5846, ptr %t35) + %t36 = call ptr @fn_str_concat(ptr @.str6066, ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 - %t40 = call ptr @fn_str_concat(ptr @.str5847, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5848) + %t40 = call ptr @fn_str_concat(ptr @.str6067, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str6068) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 - %t44 = call ptr @fn_lbl(ptr @.str5849) + %t44 = call ptr @fn_lbl(ptr @.str6069) store ptr %t44, ptr %t45 - %t46 = call ptr @fn_lbl(ptr @.str5850) + %t46 = call ptr @fn_lbl(ptr @.str6070) store ptr %t46, ptr %t47 - %t48 = call ptr @fn_lbl(ptr @.str5851) + %t48 = call ptr @fn_lbl(ptr @.str6071) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 - %t51 = call ptr @fn_str_concat(ptr @.str5852, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5853) + %t51 = call ptr @fn_str_concat(ptr @.str6072, ptr %t50) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str6073) %t53 = load ptr, ptr %t45 %t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5854) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str6074) %t56 = load ptr, ptr %t47 %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5855) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str6075) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str5856) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str6076) call void @fn_emit(ptr %t60) store i32 0, ptr @g_g_term %t61 = load ptr, ptr %t5 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 - %t64 = call ptr @fn_str_concat(ptr @.str5857, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str5858) + %t64 = call ptr @fn_str_concat(ptr @.str6077, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6078) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 - %t69 = call ptr @fn_str_concat(ptr @.str5859, ptr %t68) + %t69 = call ptr @fn_str_concat(ptr @.str6079, ptr %t68) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 - %t73 = call ptr @fn_str_concat(ptr @.str5860, ptr %t72) - %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str5861) + %t73 = call ptr @fn_str_concat(ptr @.str6080, ptr %t72) + %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str6081) %t75 = load ptr, ptr %t24 %t76 = call ptr @fn_str_concat(ptr %t74, ptr %t75) - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str5862) + %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str6082) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 - %t79 = call ptr @fn_str_concat(ptr @.str5863, ptr %t78) - %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str5864) + %t79 = call ptr @fn_str_concat(ptr @.str6083, ptr %t78) + %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str6084) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 - %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str5865) + %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str6085) call void @fn_emit(ptr %t82) store i32 0, ptr @g_g_term %t83 = load ptr, ptr %t5 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 - %t86 = call ptr @fn_str_concat(ptr @.str5866, ptr %t85) - %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str5867) + %t86 = call ptr @fn_str_concat(ptr @.str6086, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str6087) %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 @.str5868, ptr %t90) + %t91 = call ptr @fn_str_concat(ptr @.str6088, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 - %t94 = call ptr @fn_emit_alloca(ptr @.str5869) + %t94 = call ptr @fn_emit_alloca(ptr @.str6089) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 - %t97 = call ptr @fn_str_concat(ptr @.str5870, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str5871) + %t97 = call ptr @fn_str_concat(ptr @.str6090, ptr %t96) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str6091) %t99 = load ptr, ptr %t95 %t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99) - %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str5872) + %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str6092) call void @fn_emit(ptr %t101) %t102 = load i32, ptr @g_nloc store i32 %t102, ptr %t103 %t104 = load ptr, ptr %t95 - call void @fn_loc_push(ptr @.str5873, ptr %t104, ptr @.str5874) + call void @fn_loc_push(ptr @.str6093, ptr %t104, ptr @.str6094) %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5 %t107 = load ptr, ptr %t106 @@ -54597,19 +60483,19 @@ ifend2: br i1 %t113, label %then3, label %ifend5 then3: %t114 = load ptr, ptr %t49 - %t115 = call ptr @fn_str_concat(ptr @.str5875, ptr %t114) - %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str5876) + %t115 = call ptr @fn_str_concat(ptr @.str6095, ptr %t114) + %t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str6096) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 - %t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str5877) + %t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str6097) call void @fn_emit(ptr %t118) store i32 0, ptr @g_g_term %t119 = load ptr, ptr %t24 - %t120 = call ptr @fn_str_concat(ptr @.str5878, ptr %t119) + %t120 = call ptr @fn_str_concat(ptr @.str6098, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) - %t122 = call ptr @fn_val(ptr %t121, ptr @.str5879) + %t122 = call ptr @fn_val(ptr %t121, ptr @.str6099) store ptr %t122, ptr %retval br label %ret ret: @@ -54627,8 +60513,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 @.str5880, ptr %t3) - %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5881) + %t4 = call ptr @fn_str_concat(ptr @.str6100, ptr %t3) + %t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str6101) %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) @@ -54657,7 +60543,7 @@ entry: %t49 = alloca ptr %t54 = alloca ptr store ptr %arg_e, ptr %t0 - %t1 = call ptr @fn_emit_alloca(ptr @.str5882) + %t1 = call ptr @fn_emit_alloca(ptr @.str6102) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 @@ -54667,60 +60553,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 @.str5883, ptr %t10) - %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5884) + %t11 = call ptr @fn_str_concat(ptr @.str6103, ptr %t10) + %t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str6104) %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 @.str5885, ptr %t15) - %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5886) + %t16 = call ptr @fn_str_concat(ptr @.str6105, ptr %t15) + %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str6106) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 - call void @fn_emit(ptr @.str5887) + call void @fn_emit(ptr @.str6107) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str5888) + call void @fn_emit(ptr @.str6108) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str5889) - %t22 = call ptr @fn_lbl(ptr @.str5890) + call void @fn_emit(ptr @.str6109) + %t22 = call ptr @fn_lbl(ptr @.str6110) store ptr %t22, ptr %t23 - %t24 = call ptr @fn_lbl(ptr @.str5891) + %t24 = call ptr @fn_lbl(ptr @.str6111) 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 @.str5892) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str6112) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: - call void @fn_emit(ptr @.str5893) + call void @fn_emit(ptr @.str6113) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str5894) + call void @fn_emit(ptr @.str6114) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str5895) + call void @fn_emit(ptr @.str6115) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str5896) + call void @fn_emit(ptr @.str6116) br label %ifend2 else1: - call void @fn_emit(ptr @.str5897) + call void @fn_emit(ptr @.str6117) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str5898) + call void @fn_emit(ptr @.str6118) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str5899) + call void @fn_emit(ptr @.str6119) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str5900) + call void @fn_emit(ptr @.str6120) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str5901) + call void @fn_emit(ptr @.str6121) %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 %t40 = load ptr, ptr %t39 @@ -54729,33 +60615,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 @.str5902, ptr %t45) - %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str5903) + %t46 = call ptr @fn_str_concat(ptr @.str6122, ptr %t45) + %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str6123) %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 @.str5904, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5905) + %t51 = call ptr @fn_str_concat(ptr @.str6124, ptr %t50) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str6125) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 - call void @fn_emit(ptr @.str5906) + call void @fn_emit(ptr @.str6126) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str5907) + call void @fn_emit(ptr @.str6127) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) - call void @fn_emit(ptr @.str5908) - call void @fn_emit(ptr @.str5909) + call void @fn_emit(ptr @.str6128) + call void @fn_emit(ptr @.str6129) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str5910) + call void @fn_emit(ptr @.str6130) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str5911) + call void @fn_emit(ptr @.str6131) %t59 = load ptr, ptr %t2 - %t60 = call ptr @fn_str_concat(ptr @.str5912, ptr %t59) + %t60 = call ptr @fn_str_concat(ptr @.str6132, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) - %t62 = call ptr @fn_val(ptr %t61, ptr @.str5913) + %t62 = call ptr @fn_val(ptr %t61, ptr @.str6133) store ptr %t62, ptr %retval br label %ret ret: @@ -54769,46 +60655,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 @.str5914) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str6134) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: - store ptr @.str5915, ptr %retval + store ptr @.str6135, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5916) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6136) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: - store ptr @.str5917, ptr %retval + store ptr @.str6137, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5918) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str6138) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: - store ptr @.str5919, ptr %retval + store ptr @.str6139, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5920) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6140) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: - store ptr @.str5921, ptr %retval + store ptr @.str6141, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5922) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6142) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: - store ptr @.str5923, ptr %retval + store ptr @.str6143, ptr %retval br label %ret ifend14: - store ptr @.str5924, ptr %retval + store ptr @.str6144, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval @@ -54826,14 +60712,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 @.str5925) + %t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str6145) %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 @.str5926) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6146) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 @@ -54846,7 +60732,7 @@ scend1: br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load ptr, ptr %t0 - %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str5927) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str6147) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 @@ -54859,7 +60745,7 @@ scend3: br i1 %t22, label %scend5, label %sc4 sc4: %t24 = load ptr, ptr %t0 - %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str5928) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str6148) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 @@ -54872,7 +60758,7 @@ scend5: br i1 %t29, label %scend7, label %sc6 sc6: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str5929) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str6149) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 @@ -54885,7 +60771,7 @@ scend7: br i1 %t36, label %scend9, label %sc8 sc8: %t38 = load ptr, ptr %t0 - %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str5930) + %t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str6150) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t1 @@ -54905,78 +60791,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 @.str5931) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str6151) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: - store ptr @.str5932, ptr %retval + store ptr @.str6152, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5933) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6153) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: - store ptr @.str5934, ptr %retval + store ptr @.str6154, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5935) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str6155) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: - store ptr @.str5936, ptr %retval + store ptr @.str6156, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5937) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6157) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: - store ptr @.str5938, ptr %retval + store ptr @.str6158, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5939) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6159) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: - store ptr @.str5940, ptr %retval + store ptr @.str6160, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5941) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str6161) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: - store ptr @.str5942, ptr %retval + store ptr @.str6162, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5943) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str6163) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: - store ptr @.str5944, ptr %retval + store ptr @.str6164, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5945) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str6165) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: - store ptr @.str5946, ptr %retval + store ptr @.str6166, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5947) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str6167) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: - store ptr @.str5948, ptr %retval + store ptr @.str6168, ptr %retval br label %ret ifend26: - store ptr @.str5949, ptr %retval + store ptr @.str6169, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval @@ -54991,7 +60877,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 @.str5950) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str6170) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: @@ -55004,8 +60890,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 @.str5951, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5952) + %t12 = call ptr @fn_str_concat(ptr @.str6171, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str6172) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret @@ -55046,14 +60932,14 @@ then0: br label %ret ifend2: %t18 = load ptr, ptr %t4 - %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str5953) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str6173) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t17 br i1 %t20, label %sc3, label %scend4 sc3: %t22 = load ptr, ptr %t9 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5954) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str6174) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t17 @@ -55066,21 +60952,21 @@ then5: %t28 = load ptr, ptr %t0 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 - %t31 = call ptr @fn_str_concat(ptr @.str5955, ptr %t30) - %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5956) + %t31 = call ptr @fn_str_concat(ptr @.str6175, ptr %t30) + %t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str6176) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t4 - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str5957) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str6177) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t34 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t9 - %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str5958) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str6178) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t34 @@ -55093,8 +60979,8 @@ then10: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 - %t48 = call ptr @fn_str_concat(ptr @.str5959, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str5960) + %t48 = call ptr @fn_str_concat(ptr @.str6179, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str6180) %t50 = call ptr @fn_emit_bind(ptr %t49) store ptr %t50, ptr %retval br label %ret @@ -55118,7 +61004,7 @@ entry: %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_llty(ptr %t3) - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5961) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6181) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: @@ -55131,8 +61017,8 @@ ifend2: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 - %t13 = call ptr @fn_str_concat(ptr @.str5962, ptr %t12) - %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str5963) + %t13 = call ptr @fn_str_concat(ptr @.str6182, ptr %t12) + %t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str6183) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %retval br label %ret @@ -55154,57 +61040,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 @.str5964) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str6184) %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 @.str5965, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5966) + %t9 = call ptr @fn_str_concat(ptr @.str6185, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6186) %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 @.str5967) + %t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str6187) %t16 = call ptr @fn_emit_bind(ptr %t15) - %t17 = call ptr @fn_val(ptr %t16, ptr @.str5968) + %t17 = call ptr @fn_val(ptr %t16, ptr @.str6188) 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 @.str5969, ptr %t20) - %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5970) + %t21 = call ptr @fn_str_concat(ptr @.str6189, ptr %t20) + %t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str6190) %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 @.str5971) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6191) %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 @.str5972) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str6192) %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 @.str5973, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str5974) + %t34 = call ptr @fn_str_concat(ptr @.str6193, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str6194) %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 @.str5975, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str5976) + %t39 = call ptr @fn_str_concat(ptr @.str6195, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str6196) %t41 = call ptr @fn_emit_bind(ptr %t40) - %t42 = call ptr @fn_val(ptr %t41, ptr @.str5977) + %t42 = call ptr @fn_val(ptr %t41, ptr @.str6197) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 - %t44 = call ptr @fn_val(ptr %t43, ptr @.str5978) + %t44 = call ptr @fn_val(ptr %t43, ptr @.str6198) store ptr %t44, ptr %retval br label %ret ret: @@ -55254,7 +61140,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 @.str5979) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6199) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 @@ -55263,7 +61149,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 @.str5980) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6200) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 @@ -55292,7 +61178,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 @.str5981) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str6201) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t28 @@ -55302,7 +61188,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 @.str5982) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str6202) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t28 @@ -55343,20 +61229,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 @.str5983) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str6203) %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 @.str5984, ptr %t73, ptr %t74) + %t75 = call ptr @fn_emit_str_op(ptr @.str6204, 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 @.str5985) + %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str6205) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t77 @@ -55365,7 +61251,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 @.str5986) + %t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str6206) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t77 @@ -55403,7 +61289,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 @.str5987) + %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str6207) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t106 @@ -55412,7 +61298,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 @.str5988) + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str6208) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t106 @@ -55424,7 +61310,7 @@ scend23: %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 1 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_llty(ptr %t126) - %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str5989) + %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str6209) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t123 @@ -55434,7 +61320,7 @@ sc24: %t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 1 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_llty(ptr %t133) - %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str5990) + %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str6210) %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t123 @@ -55485,7 +61371,7 @@ then30: %t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0 %t167 = load ptr, ptr %t166 store ptr %t167, ptr %t168 - store ptr @.str5991, ptr %t169 + store ptr @.str6211, ptr %t169 %t170 = load i32, ptr %t120 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then33, label %else34 @@ -55502,7 +61388,7 @@ else34: %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then36, label %else37 then36: - store ptr @.str5992, ptr %t169 + store ptr @.str6212, ptr %t169 %t178 = load ptr, ptr %t22 %t179 = call ptr @fn_to_long(ptr %t178) store ptr %t179, ptr %t164 @@ -55515,7 +61401,7 @@ else37: %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 1 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_llty(ptr %t185) - %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str5993) + %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str6213) %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t182 @@ -55525,7 +61411,7 @@ sc39: %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 1 %t192 = load ptr, ptr %t191 %t193 = call ptr @fn_llty(ptr %t192) - %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str5994) + %t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str6214) %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t182 @@ -55535,7 +61421,7 @@ scend40: %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then41, label %ifend43 then41: - store ptr @.str5995, ptr %t169 + store ptr @.str6215, ptr %t169 br label %ifend43 ifend43: br label %ifend38 @@ -55546,23 +61432,23 @@ ifend35: %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 1 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_cmp_code(ptr %t201) - %t203 = call ptr @fn_str_concat(ptr @.str5996, ptr %t202) - %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str5997) + %t203 = call ptr @fn_str_concat(ptr @.str6216, ptr %t202) + %t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str6217) %t205 = load ptr, ptr %t169 %t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205) - %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str5998) + %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str6218) %t208 = load ptr, ptr %t164 %t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208) - %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str5999) + %t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str6219) %t211 = load ptr, ptr %t168 %t212 = call ptr @fn_str_concat(ptr %t210, ptr %t211) %t213 = call ptr @fn_emit_bind(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 - %t216 = call ptr @fn_str_concat(ptr @.str6000, ptr %t215) - %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str6001) + %t216 = call ptr @fn_str_concat(ptr @.str6220, ptr %t215) + %t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str6221) %t218 = call ptr @fn_emit_bind(ptr %t217) - %t219 = call ptr @fn_val(ptr %t218, ptr @.str6002) + %t219 = call ptr @fn_val(ptr %t218, ptr @.str6222) store ptr %t219, ptr %retval br label %ret ifend32: @@ -55580,14 +61466,14 @@ then44: %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 1 %t230 = load ptr, ptr %t229 %t231 = call ptr @fn_arith_code(ptr %t230) - %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str6003) + %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str6223) %t233 = load ptr, ptr %t224 %t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233) - %t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str6004) + %t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str6224) %t236 = load ptr, ptr %t227 %t237 = call ptr @fn_str_concat(ptr %t235, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) - %t239 = call ptr @fn_val(ptr %t238, ptr @.str6005) + %t239 = call ptr @fn_val(ptr %t238, ptr @.str6225) store ptr %t239, ptr %retval br label %ret ifend46: @@ -55604,74 +61490,74 @@ then47: %t248 = load ptr, ptr %t0 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 1 %t250 = load ptr, ptr %t249 - %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str6006) + %t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str6226) %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then50, label %ifend52 then50: %t253 = load ptr, ptr %t244 - %t254 = call ptr @fn_str_concat(ptr @.str6007, ptr %t253) - %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str6008) + %t254 = call ptr @fn_str_concat(ptr @.str6227, ptr %t253) + %t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str6228) %t256 = call ptr @fn_emit_bind(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t247 - %t259 = call ptr @fn_str_concat(ptr @.str6009, ptr %t258) - %t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str6010) + %t259 = call ptr @fn_str_concat(ptr @.str6229, ptr %t258) + %t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str6230) %t261 = call ptr @fn_emit_bind(ptr %t260) store ptr %t261, ptr %t262 %t263 = load ptr, ptr %t257 - %t264 = call ptr @fn_str_concat(ptr @.str6011, ptr %t263) - %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str6012) + %t264 = call ptr @fn_str_concat(ptr @.str6231, ptr %t263) + %t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str6232) %t266 = load ptr, ptr %t262 %t267 = call ptr @fn_str_concat(ptr %t265, ptr %t266) %t268 = call ptr @fn_emit_bind(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t269 - %t271 = call ptr @fn_str_concat(ptr @.str6013, ptr %t270) - %t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str6014) + %t271 = call ptr @fn_str_concat(ptr @.str6233, ptr %t270) + %t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str6234) %t273 = call ptr @fn_emit_bind(ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t274 - %t276 = call ptr @fn_str_concat(ptr @.str6015, ptr %t275) - %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str6016) + %t276 = call ptr @fn_str_concat(ptr @.str6235, ptr %t275) + %t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str6236) %t278 = call ptr @fn_emit_bind(ptr %t277) - %t279 = call ptr @fn_val(ptr %t278, ptr @.str6017) + %t279 = call ptr @fn_val(ptr %t278, ptr @.str6237) store ptr %t279, ptr %retval br label %ret ifend52: %t280 = load ptr, ptr %t0 %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1 %t282 = load ptr, ptr %t281 - %t283 = call i32 @fn_str_eq(ptr %t282, ptr @.str6018) + %t283 = call i32 @fn_str_eq(ptr %t282, ptr @.str6238) %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then53, label %ifend55 then53: %t285 = load ptr, ptr %t244 - %t286 = call ptr @fn_str_concat(ptr @.str6019, ptr %t285) - %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str6020) + %t286 = call ptr @fn_str_concat(ptr @.str6239, ptr %t285) + %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str6240) %t288 = call ptr @fn_emit_bind(ptr %t287) store ptr %t288, ptr %t289 %t290 = load ptr, ptr %t289 - %t291 = call ptr @fn_str_concat(ptr @.str6021, ptr %t290) - %t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str6022) + %t291 = call ptr @fn_str_concat(ptr @.str6241, ptr %t290) + %t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str6242) %t293 = call ptr @fn_emit_bind(ptr %t292) store ptr %t293, ptr %t294 %t295 = load ptr, ptr %t247 - %t296 = call ptr @fn_str_concat(ptr @.str6023, ptr %t295) - %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str6024) + %t296 = call ptr @fn_str_concat(ptr @.str6243, ptr %t295) + %t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str6244) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t294 - %t301 = call ptr @fn_str_concat(ptr @.str6025, ptr %t300) - %t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str6026) + %t301 = call ptr @fn_str_concat(ptr @.str6245, ptr %t300) + %t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str6246) %t303 = load ptr, ptr %t299 %t304 = call ptr @fn_str_concat(ptr %t302, ptr %t303) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t306 - %t308 = call ptr @fn_str_concat(ptr @.str6027, ptr %t307) - %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str6028) + %t308 = call ptr @fn_str_concat(ptr @.str6247, ptr %t307) + %t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str6248) %t310 = call ptr @fn_emit_bind(ptr %t309) - %t311 = call ptr @fn_val(ptr %t310, ptr @.str6029) + %t311 = call ptr @fn_val(ptr %t310, ptr @.str6249) store ptr %t311, ptr %retval br label %ret ifend55: @@ -55679,16 +61565,16 @@ ifend55: %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1 %t314 = load ptr, ptr %t313 %t315 = call ptr @fn_arith_code(ptr %t314) - %t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str6030) + %t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str6250) %t317 = load ptr, ptr %t244 %t318 = call ptr @fn_str_concat(ptr %t316, ptr %t317) - %t319 = call ptr @fn_str_concat(ptr %t318, ptr @.str6031) + %t319 = call ptr @fn_str_concat(ptr %t318, ptr @.str6251) %t320 = load ptr, ptr %t247 %t321 = call ptr @fn_str_concat(ptr %t319, ptr %t320) %t322 = call ptr @fn_emit_bind(ptr %t321) store ptr %t322, ptr %t323 %t324 = load ptr, ptr %t323 - %t325 = call ptr @fn_val(ptr %t324, ptr @.str6032) + %t325 = call ptr @fn_val(ptr %t324, ptr @.str6252) store ptr %t325, ptr %retval br label %ret ifend49: @@ -55696,12 +61582,12 @@ ifend49: %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1 %t328 = load ptr, ptr %t327 %t329 = call ptr @fn_arith_code(ptr %t328) - %t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str6033) + %t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str6253) %t331 = load ptr, ptr %t22 %t332 = getelementptr inbounds %Cmp_Val, ptr %t331, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = call ptr @fn_str_concat(ptr %t330, ptr %t333) - %t335 = call ptr @fn_str_concat(ptr %t334, ptr @.str6034) + %t335 = call ptr @fn_str_concat(ptr %t334, ptr @.str6254) %t336 = load ptr, ptr %t27 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 @@ -55709,7 +61595,7 @@ ifend49: %t340 = call ptr @fn_emit_bind(ptr %t339) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t341 - %t343 = call ptr @fn_val(ptr %t342, ptr @.str6035) + %t343 = call ptr @fn_val(ptr %t342, ptr @.str6255) store ptr %t343, ptr %retval br label %ret ret: @@ -55816,7 +61702,7 @@ wbody4: %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: - call void @fn_perr(ptr @.str6036) + call void @fn_perr(ptr @.str6256) br label %ifend8 ifend8: %t30 = load i32, ptr %t7 @@ -55837,7 +61723,7 @@ wend5: %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: - call void @fn_perr(ptr @.str6037) + call void @fn_perr(ptr @.str6257) br label %ifend11 ifend11: %t43 = getelementptr %LSlice, ptr null, i32 1 @@ -55925,7 +61811,7 @@ then21: %t104 = load i32, ptr %t50 %t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104 %t106 = load ptr, ptr %t105 - %t107 = call ptr @fn_str_concat(ptr @.str6038, ptr %t106) + %t107 = call ptr @fn_str_concat(ptr @.str6258, ptr %t106) call void @fn_perr(ptr %t107) br label %ifend23 ifend23: @@ -56181,53 +62067,53 @@ entry: store ptr %arg_msgsym, ptr %t1 store ptr %arg_got, ptr %t2 store ptr %arg_want, ptr %t3 - %t4 = call ptr @fn_lbl(ptr @.str6039) + %t4 = call ptr @fn_lbl(ptr @.str6259) store ptr %t4, ptr %t5 - %t6 = call ptr @fn_lbl(ptr @.str6040) + %t6 = call ptr @fn_lbl(ptr @.str6260) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 - %t9 = call ptr @fn_str_concat(ptr @.str6041, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6042) + %t9 = call ptr @fn_str_concat(ptr @.str6261, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6262) %t11 = load ptr, ptr %t5 %t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str6043) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str6263) %t14 = load ptr, ptr %t7 %t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str6044) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str6264) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str6045) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str6265) call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str6046) + call void @fn_emit(ptr @.str6266) %t19 = load ptr, ptr %t2 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str6047) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str6267) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then0, label %else1 then0: %t22 = load ptr, ptr %t1 - %t23 = call ptr @fn_str_concat(ptr @.str6048, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str6049) + %t23 = call ptr @fn_str_concat(ptr @.str6268, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str6269) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 - %t26 = call ptr @fn_str_concat(ptr @.str6050, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6051) + %t26 = call ptr @fn_str_concat(ptr @.str6270, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str6271) %t28 = load ptr, ptr %t2 %t29 = call ptr @fn_str_concat(ptr %t27, ptr %t28) - %t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str6052) + %t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str6272) %t31 = load ptr, ptr %t3 %t32 = call ptr @fn_str_concat(ptr %t30, ptr %t31) - %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str6053) + %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str6273) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 - %t35 = call ptr @fn_str_concat(ptr @.str6054, ptr %t34) - %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str6055) + %t35 = call ptr @fn_str_concat(ptr @.str6274, ptr %t34) + %t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str6275) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 - %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str6056) + %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str6276) call void @fn_emit(ptr %t38) br label %ret ret: @@ -56317,1393 +62203,1990 @@ ret: ret ptr %t48 } +define ptr @fn_emit_component_access(ptr %arg_prop, ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + %t19 = alloca ptr + %t32 = alloca ptr + %t61 = alloca ptr + %t90 = alloca ptr + %t92 = alloca ptr + %t94 = alloca ptr + %t143 = alloca ptr + %t146 = alloca ptr + %t149 = alloca ptr + %t151 = alloca ptr + %t153 = alloca ptr + %t155 = alloca ptr + %t161 = alloca ptr + %t163 = alloca ptr + %t170 = alloca ptr + %t181 = alloca ptr + %t185 = alloca ptr + %t195 = alloca ptr + %t199 = alloca ptr + %t204 = alloca ptr + %t211 = alloca ptr + %t215 = alloca ptr + %t222 = alloca ptr + %t231 = alloca ptr + %t261 = alloca ptr + %t279 = alloca ptr + %t291 = alloca ptr + %t301 = alloca ptr + %t308 = alloca ptr + %t312 = alloca ptr + %t317 = alloca ptr + %t327 = alloca ptr + %t331 = alloca ptr + %t336 = alloca ptr + %t343 = alloca ptr + %t350 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_meth, ptr %t1 + store ptr %arg_e, ptr %t2 + %t3 = call ptr @fn_itoa(i32 1024) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t1 + %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str6277) + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + %t8 = load ptr, ptr %t2 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr %t0 + %t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str6278) + call void @fn_perr(ptr %t17) + br label %ifend5 +ifend5: + %t18 = call ptr @fn_node(i32 21) + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 + %t22 = getelementptr %LSlice, ptr null, i32 1 + %t23 = ptrtoint ptr %t22 to i64 + %t24 = call ptr @malloc(i64 %t23) + %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 + store ptr null, ptr %t25 + %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 + store i32 0, ptr %t26 + %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 + store i32 0, ptr %t27 + store ptr %t24, ptr %t21 + %t28 = load ptr, ptr %t19 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 6 + %t30 = call ptr @fn_node(i32 7) + store ptr %t30, ptr %t29 + %t31 = call ptr @fn_node(i32 33) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t0 + store ptr %t35, ptr %t34 + %t36 = load ptr, ptr %t19 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 6 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 + %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 + %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t44 = load i32, ptr %t41 + %t45 = load i32, ptr %t42 + %t46 = icmp sge i32 %t44, %t45 + br i1 %t46, label %grow6, label %put7 +grow6: + %t47 = mul i32 %t45, 2 + %t48 = icmp eq i32 %t45, 0 + %t49 = select i1 %t48, i32 8, i32 %t47 + %t50 = getelementptr ptr, ptr null, i32 1 + %t51 = ptrtoint ptr %t50 to i64 + %t52 = zext i32 %t49 to i64 + %t53 = mul i64 %t52, %t51 + %t54 = load ptr, ptr %t43 + %t55 = call ptr @realloc(ptr %t54, i64 %t53) + store ptr %t55, ptr %t43 + store i32 %t49, ptr %t42 + br label %put7 +put7: + %t56 = load ptr, ptr %t32 + %t57 = load ptr, ptr %t43 + %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t44 + store ptr %t56, ptr %t58 + %t59 = add i32 %t44, 1 + store i32 %t59, ptr %t41 + %t60 = call ptr @fn_node(i32 33) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + store ptr @.str6279, ptr %t63 + %t64 = load ptr, ptr %t19 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 + %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t70 = load i32, ptr %t67 + %t71 = load i32, ptr %t68 + %t72 = icmp sge i32 %t70, %t71 + br i1 %t72, label %grow8, label %put9 +grow8: + %t73 = mul i32 %t71, 2 + %t74 = icmp eq i32 %t71, 0 + %t75 = select i1 %t74, i32 8, i32 %t73 + %t76 = getelementptr ptr, ptr null, i32 1 + %t77 = ptrtoint ptr %t76 to i64 + %t78 = zext i32 %t75 to i64 + %t79 = mul i64 %t78, %t77 + %t80 = load ptr, ptr %t69 + %t81 = call ptr @realloc(ptr %t80, i64 %t79) + store ptr %t81, ptr %t69 + store i32 %t75, ptr %t68 + br label %put9 +put9: + %t82 = load ptr, ptr %t61 + %t83 = load ptr, ptr %t69 + %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t70 + store ptr %t82, ptr %t84 + %t85 = add i32 %t70, 1 + store i32 %t85, ptr %t67 + %t86 = load ptr, ptr %t19 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = call ptr @fn_node(i32 7) + store ptr %t88, ptr %t87 + %t89 = call ptr @fn_node(i32 23) + store ptr %t89, ptr %t90 + %t91 = call ptr @fn_node(i32 34) + store ptr %t91, ptr %t92 + %t93 = call ptr @fn_node(i32 33) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + store ptr @.str6280, ptr %t96 + %t97 = load ptr, ptr %t92 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 + %t99 = load ptr, ptr %t94 + store ptr %t99, ptr %t98 + %t100 = load ptr, ptr %t90 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 4 + %t102 = load ptr, ptr %t92 + store ptr %t102, ptr %t101 + %t103 = load ptr, ptr %t19 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 4 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 + %t107 = load ptr, ptr %t106 + %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 + %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 2 + %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 + %t111 = load i32, ptr %t108 + %t112 = load i32, ptr %t109 + %t113 = icmp sge i32 %t111, %t112 + br i1 %t113, label %grow10, label %put11 +grow10: + %t114 = mul i32 %t112, 2 + %t115 = icmp eq i32 %t112, 0 + %t116 = select i1 %t115, i32 8, i32 %t114 + %t117 = getelementptr ptr, ptr null, i32 1 + %t118 = ptrtoint ptr %t117 to i64 + %t119 = zext i32 %t116 to i64 + %t120 = mul i64 %t119, %t118 + %t121 = load ptr, ptr %t110 + %t122 = call ptr @realloc(ptr %t121, i64 %t120) + store ptr %t122, ptr %t110 + store i32 %t116, ptr %t109 + br label %put11 +put11: + %t123 = load ptr, ptr %t90 + %t124 = load ptr, ptr %t110 + %t125 = getelementptr inbounds ptr, ptr %t124, i32 %t111 + store ptr %t123, ptr %t125 + %t126 = add i32 %t111, 1 + store i32 %t126, ptr %t108 + %t127 = load ptr, ptr %t19 + call void @fn_emit_query(ptr %t127) + %t128 = call ptr @fn_val(ptr @.str6281, ptr @.str6282) + store ptr %t128, ptr %retval + br label %ret +ifend2: + %t129 = load ptr, ptr %t1 + %t130 = call i32 @fn_str_eq(ptr %t129, ptr @.str6283) + %t131 = icmp ne i32 %t130, 0 + br i1 %t131, label %then12, label %ifend14 +then12: + %t132 = load ptr, ptr %t2 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 + %t136 = load i32, ptr %t135 + %t137 = icmp ne i32 %t136, 0 + %t138 = zext i1 %t137 to i32 + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then15, label %ifend17 +then15: + %t140 = load ptr, ptr %t0 + %t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str6284) + call void @fn_perr(ptr %t141) + br label %ifend17 +ifend17: + %t142 = call ptr @fn_emit_alloca(ptr @.str6285) + store ptr %t142, ptr %t143 + %t144 = load ptr, ptr %t143 + call void @fn_store_at(ptr @.str6286, ptr @.str6287, ptr %t144) + %t145 = call ptr @fn_emit_alloca(ptr @.str6288) + store ptr %t145, ptr %t146 + %t147 = load ptr, ptr %t146 + call void @fn_store_at(ptr @.str6289, ptr @.str6290, ptr %t147) + %t148 = call ptr @fn_lbl(ptr @.str6291) + store ptr %t148, ptr %t149 + %t150 = call ptr @fn_lbl(ptr @.str6292) + store ptr %t150, ptr %t151 + %t152 = call ptr @fn_lbl(ptr @.str6293) + store ptr %t152, ptr %t153 + %t154 = call ptr @fn_lbl(ptr @.str6294) + store ptr %t154, ptr %t155 + call void @fn_emit(ptr @.str6295) + %t156 = load ptr, ptr %t149 + call void @fn_emit(ptr %t156) + call void @fn_emit(ptr @.str6296) + %t157 = load ptr, ptr %t149 + call void @fn_emit(ptr %t157) + call void @fn_emit(ptr @.str6297) + %t158 = load ptr, ptr %t143 + %t159 = call ptr @fn_str_concat(ptr @.str6298, ptr %t158) + %t160 = call ptr @fn_emit_bind(ptr %t159) + store ptr %t160, ptr %t161 + %t162 = call ptr @fn_emit_bind(ptr @.str6299) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t161 + %t165 = call ptr @fn_str_concat(ptr @.str6300, ptr %t164) + %t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str6301) + %t167 = load ptr, ptr %t163 + %t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167) + %t169 = call ptr @fn_emit_bind(ptr %t168) + store ptr %t169, ptr %t170 + call void @fn_emit(ptr @.str6302) + %t171 = load ptr, ptr %t170 + call void @fn_emit(ptr %t171) + call void @fn_emit(ptr @.str6303) + %t172 = load ptr, ptr %t151 + call void @fn_emit(ptr %t172) + call void @fn_emit(ptr @.str6304) + %t173 = load ptr, ptr %t155 + call void @fn_emit(ptr %t173) + call void @fn_emit(ptr @.str6305) + %t174 = load ptr, ptr %t151 + call void @fn_emit(ptr %t174) + call void @fn_emit(ptr @.str6306) + %t175 = load ptr, ptr %t4 + %t176 = call ptr @fn_str_concat(ptr @.str6307, ptr %t175) + %t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str6308) + %t178 = load ptr, ptr %t161 + %t179 = call ptr @fn_str_concat(ptr %t177, ptr %t178) + %t180 = call ptr @fn_emit_bind(ptr %t179) + store ptr %t180, ptr %t181 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @fn_str_concat(ptr @.str6309, ptr %t182) + %t184 = call ptr @fn_emit_bind(ptr %t183) + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %t4 + %t187 = call ptr @fn_str_concat(ptr @.str6310, ptr %t186) + %t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str6311) + %t189 = load ptr, ptr %t0 + %t190 = call ptr @fn_str_concat(ptr %t188, ptr %t189) + %t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str6312) + %t192 = load ptr, ptr %t161 + %t193 = call ptr @fn_str_concat(ptr %t191, ptr %t192) + %t194 = call ptr @fn_emit_bind(ptr %t193) + store ptr %t194, ptr %t195 + %t196 = load ptr, ptr %t195 + %t197 = call ptr @fn_str_concat(ptr @.str6313, ptr %t196) + %t198 = call ptr @fn_emit_bind(ptr %t197) + store ptr %t198, ptr %t199 + %t200 = load ptr, ptr %t199 + %t201 = call ptr @fn_str_concat(ptr @.str6314, ptr %t200) + %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str6315) + %t203 = call ptr @fn_emit_bind(ptr %t202) + store ptr %t203, ptr %t204 + %t205 = load ptr, ptr %t185 + %t206 = call ptr @fn_str_concat(ptr @.str6316, ptr %t205) + %t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str6317) + %t208 = load ptr, ptr %t204 + %t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208) + %t210 = call ptr @fn_emit_bind(ptr %t209) + store ptr %t210, ptr %t211 + %t212 = load ptr, ptr %t146 + %t213 = call ptr @fn_str_concat(ptr @.str6318, ptr %t212) + %t214 = call ptr @fn_emit_bind(ptr %t213) + store ptr %t214, ptr %t215 + %t216 = load ptr, ptr %t215 + %t217 = call ptr @fn_str_concat(ptr @.str6319, ptr %t216) + %t218 = call ptr @fn_str_concat(ptr %t217, ptr @.str6320) + %t219 = load ptr, ptr %t211 + %t220 = call ptr @fn_str_concat(ptr %t218, ptr %t219) + %t221 = call ptr @fn_emit_bind(ptr %t220) + store ptr %t221, ptr %t222 + %t223 = load ptr, ptr %t222 + %t224 = load ptr, ptr %t146 + call void @fn_store_at(ptr @.str6321, ptr %t223, ptr %t224) + call void @fn_emit(ptr @.str6322) + %t225 = load ptr, ptr %t153 + call void @fn_emit(ptr %t225) + call void @fn_emit(ptr @.str6323) + %t226 = load ptr, ptr %t153 + call void @fn_emit(ptr %t226) + call void @fn_emit(ptr @.str6324) + %t227 = load ptr, ptr %t161 + %t228 = call ptr @fn_str_concat(ptr @.str6325, ptr %t227) + %t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str6326) + %t230 = call ptr @fn_emit_bind(ptr %t229) + store ptr %t230, ptr %t231 + %t232 = load ptr, ptr %t231 + %t233 = load ptr, ptr %t143 + call void @fn_store_at(ptr @.str6327, ptr %t232, ptr %t233) + call void @fn_emit(ptr @.str6328) + %t234 = load ptr, ptr %t149 + call void @fn_emit(ptr %t234) + call void @fn_emit(ptr @.str6329) + %t235 = load ptr, ptr %t155 + call void @fn_emit(ptr %t235) + call void @fn_emit(ptr @.str6330) + %t236 = load ptr, ptr %t146 + %t237 = call ptr @fn_str_concat(ptr @.str6331, ptr %t236) + %t238 = call ptr @fn_emit_bind(ptr %t237) + %t239 = call ptr @fn_val(ptr %t238, ptr @.str6332) + store ptr %t239, ptr %retval + br label %ret +ifend14: + %t240 = load ptr, ptr %t2 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7 + %t242 = load ptr, ptr %t241 + %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 + %t244 = load i32, ptr %t243 + %t245 = icmp ne i32 %t244, 1 + %t246 = zext i1 %t245 to i32 + %t247 = icmp ne i32 %t246, 0 + br i1 %t247, label %then18, label %ifend20 +then18: + %t248 = load ptr, ptr %t0 + %t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str6333) + %t250 = load ptr, ptr %t1 + %t251 = call ptr @fn_str_concat(ptr %t249, ptr %t250) + %t252 = call ptr @fn_str_concat(ptr %t251, ptr @.str6334) + call void @fn_perr(ptr %t252) + br label %ifend20 +ifend20: + %t253 = load ptr, ptr %t2 + %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 7 + %t255 = load ptr, ptr %t254 + %t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 + %t257 = load ptr, ptr %t256 + %t258 = getelementptr inbounds ptr, ptr %t257, i32 0 + %t259 = load ptr, ptr %t258 + %t260 = call ptr @fn_emit_expr(ptr %t259) + store ptr %t260, ptr %t261 + %t262 = load ptr, ptr %t1 + %t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str6335) + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then21, label %ifend23 +then21: + %t265 = load ptr, ptr %t4 + %t266 = call ptr @fn_str_concat(ptr @.str6336, ptr %t265) + %t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str6337) + %t268 = load ptr, ptr %t0 + %t269 = call ptr @fn_str_concat(ptr %t267, ptr %t268) + %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str6338) + %t271 = load ptr, ptr %t0 + %t272 = call ptr @fn_str_concat(ptr %t270, ptr %t271) + %t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str6339) + %t274 = load ptr, ptr %t261 + %t275 = getelementptr inbounds %Cmp_Val, ptr %t274, i32 0, i32 0 + %t276 = load ptr, ptr %t275 + %t277 = call ptr @fn_str_concat(ptr %t273, ptr %t276) + %t278 = call ptr @fn_emit_bind(ptr %t277) + store ptr %t278, ptr %t279 + %t280 = load ptr, ptr %t279 + %t281 = load ptr, ptr %t0 + %t282 = call ptr @fn_val(ptr %t280, ptr %t281) + store ptr %t282, ptr %retval + br label %ret +ifend23: + %t283 = load ptr, ptr %t261 + %t284 = getelementptr inbounds %Cmp_Val, ptr %t283, i32 0, i32 0 + %t285 = load ptr, ptr %t284 + %t286 = call ptr @fn_str_concat(ptr @.str6340, ptr %t285) + %t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str6341) + %t288 = load ptr, ptr %t4 + %t289 = call ptr @fn_str_concat(ptr %t287, ptr %t288) + %t290 = call ptr @fn_emit_bind(ptr %t289) + store ptr %t290, ptr %t291 + %t292 = load ptr, ptr %t291 + %t293 = call ptr @fn_str_concat(ptr @.str6342, ptr %t292) + %t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str6343) + %t295 = load ptr, ptr %t261 + %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 + %t297 = load ptr, ptr %t296 + %t298 = call ptr @fn_str_concat(ptr %t294, ptr %t297) + %t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str6344) + %t300 = call ptr @fn_emit_bind(ptr %t299) + store ptr %t300, ptr %t301 + %t302 = load ptr, ptr %t4 + %t303 = call ptr @fn_str_concat(ptr @.str6345, ptr %t302) + %t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str6346) + %t305 = load ptr, ptr %t301 + %t306 = call ptr @fn_str_concat(ptr %t304, ptr %t305) + %t307 = call ptr @fn_emit_bind(ptr %t306) + store ptr %t307, ptr %t308 + %t309 = load ptr, ptr %t308 + %t310 = call ptr @fn_str_concat(ptr @.str6347, ptr %t309) + %t311 = call ptr @fn_emit_bind(ptr %t310) + store ptr %t311, ptr %t312 + %t313 = load ptr, ptr %t312 + %t314 = call ptr @fn_str_concat(ptr @.str6348, ptr %t313) + %t315 = call ptr @fn_str_concat(ptr %t314, ptr @.str6349) + %t316 = call ptr @fn_emit_bind(ptr %t315) + store ptr %t316, ptr %t317 + %t318 = load ptr, ptr %t4 + %t319 = call ptr @fn_str_concat(ptr @.str6350, ptr %t318) + %t320 = call ptr @fn_str_concat(ptr %t319, ptr @.str6351) + %t321 = load ptr, ptr %t0 + %t322 = call ptr @fn_str_concat(ptr %t320, ptr %t321) + %t323 = call ptr @fn_str_concat(ptr %t322, ptr @.str6352) + %t324 = load ptr, ptr %t301 + %t325 = call ptr @fn_str_concat(ptr %t323, ptr %t324) + %t326 = call ptr @fn_emit_bind(ptr %t325) + store ptr %t326, ptr %t327 + %t328 = load ptr, ptr %t327 + %t329 = call ptr @fn_str_concat(ptr @.str6353, ptr %t328) + %t330 = call ptr @fn_emit_bind(ptr %t329) + store ptr %t330, ptr %t331 + %t332 = load ptr, ptr %t331 + %t333 = call ptr @fn_str_concat(ptr @.str6354, ptr %t332) + %t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str6355) + %t335 = call ptr @fn_emit_bind(ptr %t334) + store ptr %t335, ptr %t336 + %t337 = load ptr, ptr %t291 + %t338 = call ptr @fn_str_concat(ptr @.str6356, ptr %t337) + %t339 = call ptr @fn_str_concat(ptr %t338, ptr @.str6357) + %t340 = load ptr, ptr %t317 + %t341 = call ptr @fn_str_concat(ptr %t339, ptr %t340) + %t342 = call ptr @fn_emit_bind(ptr %t341) + store ptr %t342, ptr %t343 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @fn_str_concat(ptr @.str6358, ptr %t344) + %t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str6359) + %t347 = load ptr, ptr %t336 + %t348 = call ptr @fn_str_concat(ptr %t346, ptr %t347) + %t349 = call ptr @fn_emit_bind(ptr %t348) + store ptr %t349, ptr %t350 + %t351 = load ptr, ptr %t350 + %t352 = call ptr @fn_str_concat(ptr @.str6360, ptr %t351) + %t353 = call ptr @fn_str_concat(ptr %t352, ptr @.str6361) + %t354 = call ptr @fn_emit_bind(ptr %t353) + %t355 = call ptr @fn_val(ptr %t354, ptr @.str6362) + store ptr %t355, ptr %retval + br label %ret +ret: + %t356 = load ptr, ptr %retval + ret ptr %t356 +} + +define i32 @fn_first_arg_is_text(ptr %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t16 = alloca ptr + %t39 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 + %t3 = load ptr, ptr %t2 + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds ptr, ptr %t13, i32 0 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 42 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = load ptr, ptr %t16 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str6363) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t28 = load ptr, ptr %t16 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = load ptr, ptr %t29 + store ptr %t30, ptr %t16 + br label %ifend5 +ifend5: + %t31 = load ptr, ptr %t16 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 31 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t37 = load ptr, ptr %t16 + %t38 = call ptr @fn_static_type(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t39 + %t41 = icmp eq ptr %t40, null + %t42 = zext i1 %t41 to i32 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then12, label %ifend14 +then12: + store i32 0, ptr %retval + br label %ret +ifend14: + %t44 = load ptr, ptr %t39 + %t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str6364) + store i32 %t45, ptr %retval + br label %ret +ret: + %t46 = load i32, ptr %retval + ret i32 %t46 +} + define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr - %t318 = alloca ptr - %t320 = alloca ptr - %t330 = alloca ptr - %t337 = alloca ptr - %t12962 = alloca i32 - %t12979 = alloca i32 - %t13011 = alloca ptr + %t3 = alloca i32 + %t10 = alloca i32 + %t11 = alloca i32 + %t12 = alloca i32 + %t368 = alloca ptr + %t370 = alloca ptr + %t380 = alloca ptr + %t387 = alloca ptr + %t3388 = alloca ptr + %t3399 = alloca ptr + %t3448 = alloca ptr + %t3457 = alloca ptr + %t3464 = alloca ptr + %t3466 = alloca ptr + %t3473 = alloca ptr + %t3482 = alloca ptr + %t3491 = alloca ptr + %t3496 = alloca ptr + %t3501 = alloca ptr + %t3521 = alloca ptr + %t3559 = alloca ptr + %t14995 = alloca i32 + %t15012 = alloca i32 + %t15034 = alloca ptr + %t15041 = alloca ptr + %t15042 = alloca i32 + %t15089 = alloca ptr store ptr %arg_ns, ptr %t0 store ptr %arg_meth, ptr %t1 store ptr %arg_e, ptr %t2 - %t3 = load ptr, ptr %t0 - %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str6057) - %t5 = icmp ne i32 %t4, 0 - br i1 %t5, label %then0, label %ifend2 -then0: - %t6 = load ptr, ptr %t1 - %t7 = call i32 @fn_is_math_ns(ptr %t6) + %t4 = load ptr, ptr %t0 + %t5 = call ptr @fn_find_comp(ptr %t4) + %t6 = icmp ne ptr %t5, null + %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 - br i1 %t8, label %then3, label %ifend5 -then3: - %t9 = load ptr, ptr %t1 - %t10 = load ptr, ptr %t2 - %t11 = call ptr @fn_emit_math_ns(ptr %t9, ptr %t10) - store ptr %t11, ptr %retval - br label %ret -ifend5: - %t12 = load ptr, ptr %t1 - %t13 = call ptr @fn_str_concat(ptr @.str6058, ptr %t12) - call void @fn_perr(ptr %t13) - br label %ifend2 -ifend2: - %t14 = load ptr, ptr %t0 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str6059) - %t16 = icmp ne i32 %t15, 0 - br i1 %t16, label %then6, label %ifend8 -then6: + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t3 + br i1 %t8, label %sc0, label %scend1 +sc0: + %t13 = load ptr, ptr %t1 + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6365) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t12 + br i1 %t15, label %scend3, label %sc2 +sc2: %t17 = load ptr, ptr %t1 - %t18 = call i32 @fn_is_text_ns(ptr %t17) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str6366) %t19 = icmp ne i32 %t18, 0 - br i1 %t19, label %then9, label %ifend11 -then9: - %t20 = load ptr, ptr %t1 - %t21 = load ptr, ptr %t2 - %t22 = call ptr @fn_emit_text_ns(ptr %t20, ptr %t21) - store ptr %t22, ptr %retval - br label %ret -ifend11: - %t23 = load ptr, ptr %t1 - %t24 = call ptr @fn_str_concat(ptr @.str6060, ptr %t23) - call void @fn_perr(ptr %t24) - br label %ifend8 -ifend8: - %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str6061) - %t27 = icmp ne i32 %t26, 0 - br i1 %t27, label %then12, label %ifend14 -then12: - %t28 = load ptr, ptr %t1 - %t29 = call i32 @fn_is_list_ns(ptr %t28) - %t30 = icmp ne i32 %t29, 0 - br i1 %t30, label %then15, label %ifend17 -then15: + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t12 + br label %scend3 +scend3: + %t21 = load i32, ptr %t12 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t11 + br i1 %t22, label %scend5, label %sc4 +sc4: + %t24 = load ptr, ptr %t1 + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str6367) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t11 + br label %scend5 +scend5: + %t28 = load i32, ptr %t11 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t10 + br i1 %t29, label %scend7, label %sc6 +sc6: %t31 = load ptr, ptr %t1 - %t32 = load ptr, ptr %t2 - %t33 = call ptr @fn_emit_list_ns(ptr %t31, ptr %t32) - store ptr %t33, ptr %retval - br label %ret -ifend17: - %t34 = load ptr, ptr %t1 - %t35 = call ptr @fn_str_concat(ptr @.str6062, ptr %t34) - call void @fn_perr(ptr %t35) - br label %ifend14 -ifend14: - %t36 = load ptr, ptr %t0 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str6063) - %t38 = icmp ne i32 %t37, 0 - br i1 %t38, label %then18, label %ifend20 -then18: - %t39 = load ptr, ptr %t1 - %t40 = call i32 @fn_is_ease_ns(ptr %t39) - %t41 = icmp ne i32 %t40, 0 - br i1 %t41, label %then21, label %ifend23 -then21: - %t42 = load ptr, ptr %t1 - %t43 = load ptr, ptr %t2 - %t44 = call ptr @fn_emit_ease_ns(ptr %t42, ptr %t43) - store ptr %t44, ptr %retval - br label %ret -ifend23: - %t45 = load ptr, ptr %t1 - %t46 = call ptr @fn_str_concat(ptr @.str6064, ptr %t45) - call void @fn_perr(ptr %t46) - br label %ifend20 -ifend20: - %t47 = load ptr, ptr %t0 - %t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str6065) - %t49 = icmp ne i32 %t48, 0 - br i1 %t49, label %then24, label %ifend26 -then24: + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str6368) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t10 + br label %scend7 +scend7: + %t35 = load i32, ptr %t10 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t3 + br label %scend1 +scend1: + %t38 = load i32, ptr %t3 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then8, label %ifend10 +then8: + %t40 = load ptr, ptr %t0 + %t41 = call ptr @fn_ns_lower(ptr %t40) + %t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str6369) + %t43 = load ptr, ptr %t1 + %t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @fn_find_fn(ptr %t44) + %t46 = icmp eq ptr %t45, null + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then11, label %ifend13 +then11: + %t49 = load ptr, ptr %t0 %t50 = load ptr, ptr %t1 - %t51 = call i32 @fn_is_anim_ns(ptr %t50) - %t52 = icmp ne i32 %t51, 0 - br i1 %t52, label %then27, label %ifend29 -then27: - %t53 = load ptr, ptr %t1 - %t54 = load ptr, ptr %t2 - %t55 = call ptr @fn_emit_anim_ns(ptr %t53, ptr %t54) - store ptr %t55, ptr %retval + %t51 = load ptr, ptr %t2 + %t52 = call ptr @fn_emit_component_access(ptr %t49, ptr %t50, ptr %t51) + store ptr %t52, ptr %retval br label %ret -ifend29: - br label %ifend26 -ifend26: - %t56 = load ptr, ptr %t0 - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str6066) +ifend13: + br label %ifend10 +ifend10: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str6370) + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %then14, label %ifend16 +then14: + %t56 = load ptr, ptr %t1 + %t57 = call i32 @fn_is_math_ns(ptr %t56) %t58 = icmp ne i32 %t57, 0 - br i1 %t58, label %then30, label %ifend32 -then30: + br i1 %t58, label %then17, label %ifend19 +then17: %t59 = load ptr, ptr %t1 - %t60 = call i32 @fn_is_tween_ns(ptr %t59) - %t61 = icmp ne i32 %t60, 0 - br i1 %t61, label %then33, label %ifend35 -then33: + %t60 = load ptr, ptr %t2 + %t61 = call ptr @fn_emit_math_ns(ptr %t59, ptr %t60) + store ptr %t61, ptr %retval + br label %ret +ifend19: %t62 = load ptr, ptr %t1 - %t63 = load ptr, ptr %t2 - %t64 = call ptr @fn_emit_tween_ns(ptr %t62, ptr %t63) - store ptr %t64, ptr %retval + %t63 = call ptr @fn_str_concat(ptr @.str6371, ptr %t62) + call void @fn_perr(ptr %t63) + br label %ifend16 +ifend16: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str6372) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then20, label %ifend22 +then20: + %t67 = load ptr, ptr %t1 + %t68 = call i32 @fn_is_text_ns(ptr %t67) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then23, label %ifend25 +then23: + %t70 = load ptr, ptr %t1 + %t71 = load ptr, ptr %t2 + %t72 = call ptr @fn_emit_text_ns(ptr %t70, ptr %t71) + store ptr %t72, ptr %retval br label %ret -ifend35: - br label %ifend32 -ifend32: - %t65 = load ptr, ptr %t0 - %t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str6067) - %t67 = icmp ne i32 %t66, 0 - br i1 %t67, label %then36, label %ifend38 -then36: - %t68 = load ptr, ptr %t1 - %t69 = call i32 @fn_is_collide_ns(ptr %t68) - %t70 = icmp ne i32 %t69, 0 - br i1 %t70, label %then39, label %ifend41 -then39: - %t71 = load ptr, ptr %t1 - %t72 = load ptr, ptr %t2 - %t73 = call ptr @fn_emit_collide_ns(ptr %t71, ptr %t72) - store ptr %t73, ptr %retval +ifend25: + %t73 = load ptr, ptr %t1 + %t74 = call ptr @fn_str_concat(ptr @.str6373, ptr %t73) + call void @fn_perr(ptr %t74) + br label %ifend22 +ifend22: + %t75 = load ptr, ptr %t0 + %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str6374) + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then26, label %ifend28 +then26: + %t78 = load ptr, ptr %t1 + %t79 = call i32 @fn_is_list_ns(ptr %t78) + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then29, label %ifend31 +then29: + %t81 = load ptr, ptr %t1 + %t82 = load ptr, ptr %t2 + %t83 = call ptr @fn_emit_list_ns(ptr %t81, ptr %t82) + store ptr %t83, ptr %retval br label %ret -ifend41: - %t74 = load ptr, ptr %t1 - %t75 = call ptr @fn_str_concat(ptr @.str6068, ptr %t74) - call void @fn_perr(ptr %t75) - br label %ifend38 -ifend38: - %t76 = load ptr, ptr %t0 - %t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str6069) - %t78 = icmp ne i32 %t77, 0 - br i1 %t78, label %then42, label %ifend44 -then42: - %t79 = load ptr, ptr %t1 - %t80 = call i32 @fn_is_mem_ns(ptr %t79) - %t81 = icmp ne i32 %t80, 0 - br i1 %t81, label %then45, label %ifend47 -then45: - %t82 = load ptr, ptr %t1 - %t83 = load ptr, ptr %t2 - %t84 = call ptr @fn_emit_mem_ns(ptr %t82, ptr %t83) - store ptr %t84, ptr %retval +ifend31: + %t84 = load ptr, ptr %t1 + %t85 = call ptr @fn_str_concat(ptr @.str6375, ptr %t84) + call void @fn_perr(ptr %t85) + br label %ifend28 +ifend28: + %t86 = load ptr, ptr %t0 + %t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str6376) + %t88 = icmp ne i32 %t87, 0 + br i1 %t88, label %then32, label %ifend34 +then32: + %t89 = load ptr, ptr %t1 + %t90 = call i32 @fn_is_ease_ns(ptr %t89) + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then35, label %ifend37 +then35: + %t92 = load ptr, ptr %t1 + %t93 = load ptr, ptr %t2 + %t94 = call ptr @fn_emit_ease_ns(ptr %t92, ptr %t93) + store ptr %t94, ptr %retval br label %ret -ifend47: - %t85 = load ptr, ptr %t1 - %t86 = call ptr @fn_str_concat(ptr @.str6070, ptr %t85) - call void @fn_perr(ptr %t86) - br label %ifend44 -ifend44: - %t87 = load ptr, ptr %t0 - %t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str6071) - %t89 = icmp ne i32 %t88, 0 - br i1 %t89, label %then48, label %ifend50 -then48: - %t90 = load ptr, ptr %t1 - %t91 = call i32 @fn_is_colorfn_ns(ptr %t90) - %t92 = icmp ne i32 %t91, 0 - br i1 %t92, label %then51, label %ifend53 -then51: - %t93 = load ptr, ptr %t1 - %t94 = load ptr, ptr %t2 - %t95 = call ptr @fn_emit_colorfn_ns(ptr %t93, ptr %t94) - store ptr %t95, ptr %retval +ifend37: + %t95 = load ptr, ptr %t1 + %t96 = call ptr @fn_str_concat(ptr @.str6377, ptr %t95) + call void @fn_perr(ptr %t96) + br label %ifend34 +ifend34: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str6378) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then38, label %ifend40 +then38: + %t100 = load ptr, ptr %t1 + %t101 = call i32 @fn_is_anim_ns(ptr %t100) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then41, label %ifend43 +then41: + %t103 = load ptr, ptr %t1 + %t104 = load ptr, ptr %t2 + %t105 = call ptr @fn_emit_anim_ns(ptr %t103, ptr %t104) + store ptr %t105, ptr %retval br label %ret -ifend53: - %t96 = load ptr, ptr %t1 - %t97 = call ptr @fn_str_concat(ptr @.str6072, ptr %t96) - call void @fn_perr(ptr %t97) - br label %ifend50 -ifend50: - %t98 = load ptr, ptr %t0 - %t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str6073) - %t100 = icmp ne i32 %t99, 0 - br i1 %t100, label %then54, label %ifend56 -then54: - %t101 = load ptr, ptr %t1 - %t102 = call i32 @fn_is_time_ns(ptr %t101) - %t103 = icmp ne i32 %t102, 0 - br i1 %t103, label %then57, label %ifend59 -then57: - %t104 = load ptr, ptr %t1 - %t105 = load ptr, ptr %t2 - %t106 = call ptr @fn_emit_time_ns(ptr %t104, ptr %t105) - store ptr %t106, ptr %retval - br label %ret -ifend59: - %t107 = load ptr, ptr %t1 - %t108 = call ptr @fn_str_concat(ptr @.str6074, ptr %t107) - call void @fn_perr(ptr %t108) - br label %ifend56 -ifend56: - %t109 = load ptr, ptr %t0 - %t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str6075) +ifend43: + br label %ifend40 +ifend40: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str6379) + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then44, label %ifend46 +then44: + %t109 = load ptr, ptr %t1 + %t110 = call i32 @fn_is_tween_ns(ptr %t109) %t111 = icmp ne i32 %t110, 0 - br i1 %t111, label %then60, label %ifend62 -then60: + br i1 %t111, label %then47, label %ifend49 +then47: %t112 = load ptr, ptr %t1 - %t113 = call i32 @fn_is_hash_ns(ptr %t112) - %t114 = icmp ne i32 %t113, 0 - br i1 %t114, label %then63, label %ifend65 -then63: - %t115 = load ptr, ptr %t1 - %t116 = load ptr, ptr %t2 - %t117 = call ptr @fn_emit_hash_ns(ptr %t115, ptr %t116) - store ptr %t117, ptr %retval + %t113 = load ptr, ptr %t2 + %t114 = call ptr @fn_emit_tween_ns(ptr %t112, ptr %t113) + store ptr %t114, ptr %retval br label %ret -ifend65: +ifend49: + br label %ifend46 +ifend46: + %t115 = load ptr, ptr %t0 + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str6380) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then50, label %ifend52 +then50: %t118 = load ptr, ptr %t1 - %t119 = call ptr @fn_str_concat(ptr @.str6076, ptr %t118) - call void @fn_perr(ptr %t119) - br label %ifend62 -ifend62: - %t120 = load ptr, ptr %t0 - %t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str6077) - %t122 = icmp ne i32 %t121, 0 - br i1 %t122, label %then66, label %ifend68 -then66: - %t123 = load ptr, ptr %t1 - %t124 = call i32 @fn_is_crypto_ns(ptr %t123) - %t125 = icmp ne i32 %t124, 0 - br i1 %t125, label %then69, label %ifend71 -then69: - %t126 = load ptr, ptr %t1 - %t127 = load ptr, ptr %t2 - %t128 = call ptr @fn_emit_crypto_ns(ptr %t126, ptr %t127) - store ptr %t128, ptr %retval + %t119 = call i32 @fn_is_collide_ns(ptr %t118) + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then53, label %ifend55 +then53: + %t121 = load ptr, ptr %t1 + %t122 = load ptr, ptr %t2 + %t123 = call ptr @fn_emit_collide_ns(ptr %t121, ptr %t122) + store ptr %t123, ptr %retval br label %ret -ifend71: +ifend55: + %t124 = load ptr, ptr %t1 + %t125 = call ptr @fn_str_concat(ptr @.str6381, ptr %t124) + call void @fn_perr(ptr %t125) + br label %ifend52 +ifend52: + %t126 = load ptr, ptr %t0 + %t127 = call i32 @fn_str_eq(ptr %t126, ptr @.str6382) + %t128 = icmp ne i32 %t127, 0 + br i1 %t128, label %then56, label %ifend58 +then56: %t129 = load ptr, ptr %t1 - %t130 = call ptr @fn_str_concat(ptr @.str6078, ptr %t129) - call void @fn_perr(ptr %t130) - br label %ifend68 -ifend68: - %t131 = load ptr, ptr %t0 - %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str6079) - %t133 = icmp ne i32 %t132, 0 - br i1 %t133, label %then72, label %ifend74 -then72: - %t134 = load ptr, ptr %t1 - %t135 = call i32 @fn_is_uuid_ns(ptr %t134) - %t136 = icmp ne i32 %t135, 0 - br i1 %t136, label %then75, label %ifend77 -then75: - %t137 = load ptr, ptr %t1 - %t138 = load ptr, ptr %t2 - %t139 = call ptr @fn_emit_uuid_ns(ptr %t137, ptr %t138) - store ptr %t139, ptr %retval + %t130 = call i32 @fn_is_mem_ns(ptr %t129) + %t131 = icmp ne i32 %t130, 0 + br i1 %t131, label %then59, label %ifend61 +then59: + %t132 = load ptr, ptr %t1 + %t133 = load ptr, ptr %t2 + %t134 = call ptr @fn_emit_mem_ns(ptr %t132, ptr %t133) + store ptr %t134, ptr %retval br label %ret -ifend77: +ifend61: + %t135 = load ptr, ptr %t1 + %t136 = call ptr @fn_str_concat(ptr @.str6383, ptr %t135) + call void @fn_perr(ptr %t136) + br label %ifend58 +ifend58: + %t137 = load ptr, ptr %t0 + %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str6384) + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then62, label %ifend64 +then62: %t140 = load ptr, ptr %t1 - %t141 = call ptr @fn_str_concat(ptr @.str6080, ptr %t140) - call void @fn_perr(ptr %t141) - br label %ifend74 -ifend74: - %t142 = load ptr, ptr %t0 - %t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str6081) - %t144 = icmp ne i32 %t143, 0 - br i1 %t144, label %then78, label %ifend80 -then78: - %t145 = load ptr, ptr %t1 - %t146 = call i32 @fn_is_noise_ns(ptr %t145) - %t147 = icmp ne i32 %t146, 0 - br i1 %t147, label %then81, label %ifend83 -then81: - %t148 = load ptr, ptr %t1 - %t149 = load ptr, ptr %t2 - %t150 = call ptr @fn_emit_noise_ns(ptr %t148, ptr %t149) - store ptr %t150, ptr %retval + %t141 = call i32 @fn_is_colorfn_ns(ptr %t140) + %t142 = icmp ne i32 %t141, 0 + br i1 %t142, label %then65, label %ifend67 +then65: + %t143 = load ptr, ptr %t1 + %t144 = load ptr, ptr %t2 + %t145 = call ptr @fn_emit_colorfn_ns(ptr %t143, ptr %t144) + store ptr %t145, ptr %retval br label %ret -ifend83: +ifend67: + %t146 = load ptr, ptr %t1 + %t147 = call ptr @fn_str_concat(ptr @.str6385, ptr %t146) + call void @fn_perr(ptr %t147) + br label %ifend64 +ifend64: + %t148 = load ptr, ptr %t0 + %t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str6386) + %t150 = icmp ne i32 %t149, 0 + br i1 %t150, label %then68, label %ifend70 +then68: %t151 = load ptr, ptr %t1 - %t152 = call ptr @fn_str_concat(ptr @.str6082, ptr %t151) - call void @fn_perr(ptr %t152) - br label %ifend80 -ifend80: - %t153 = load ptr, ptr %t0 - %t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str6083) - %t155 = icmp ne i32 %t154, 0 - br i1 %t155, label %then84, label %ifend86 -then84: - %t156 = load ptr, ptr %t1 - %t157 = call i32 @fn_is_log_ns(ptr %t156) - %t158 = icmp ne i32 %t157, 0 - br i1 %t158, label %then87, label %ifend89 -then87: - %t159 = load ptr, ptr %t1 - %t160 = load ptr, ptr %t2 - %t161 = call ptr @fn_emit_log_ns(ptr %t159, ptr %t160) - store ptr %t161, ptr %retval + %t152 = call i32 @fn_is_time_ns(ptr %t151) + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then71, label %ifend73 +then71: + %t154 = load ptr, ptr %t1 + %t155 = load ptr, ptr %t2 + %t156 = call ptr @fn_emit_time_ns(ptr %t154, ptr %t155) + store ptr %t156, ptr %retval br label %ret -ifend89: +ifend73: + %t157 = load ptr, ptr %t1 + %t158 = call ptr @fn_str_concat(ptr @.str6387, ptr %t157) + call void @fn_perr(ptr %t158) + br label %ifend70 +ifend70: + %t159 = load ptr, ptr %t0 + %t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str6388) + %t161 = icmp ne i32 %t160, 0 + br i1 %t161, label %then74, label %ifend76 +then74: %t162 = load ptr, ptr %t1 - %t163 = call ptr @fn_str_concat(ptr @.str6084, ptr %t162) - call void @fn_perr(ptr %t163) - br label %ifend86 -ifend86: - %t164 = load ptr, ptr %t0 - %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str6085) - %t166 = icmp ne i32 %t165, 0 - br i1 %t166, label %then90, label %ifend92 -then90: - %t167 = load ptr, ptr %t1 - %t168 = call i32 @fn_is_os_ns(ptr %t167) - %t169 = icmp ne i32 %t168, 0 - br i1 %t169, label %then93, label %ifend95 -then93: - %t170 = load ptr, ptr %t1 - %t171 = load ptr, ptr %t2 - %t172 = call ptr @fn_emit_os_ns(ptr %t170, ptr %t171) - store ptr %t172, ptr %retval + %t163 = call i32 @fn_is_hash_ns(ptr %t162) + %t164 = icmp ne i32 %t163, 0 + br i1 %t164, label %then77, label %ifend79 +then77: + %t165 = load ptr, ptr %t1 + %t166 = load ptr, ptr %t2 + %t167 = call ptr @fn_emit_hash_ns(ptr %t165, ptr %t166) + store ptr %t167, ptr %retval br label %ret -ifend95: +ifend79: + %t168 = load ptr, ptr %t1 + %t169 = call ptr @fn_str_concat(ptr @.str6389, ptr %t168) + call void @fn_perr(ptr %t169) + br label %ifend76 +ifend76: + %t170 = load ptr, ptr %t0 + %t171 = call i32 @fn_str_eq(ptr %t170, ptr @.str6390) + %t172 = icmp ne i32 %t171, 0 + br i1 %t172, label %then80, label %ifend82 +then80: %t173 = load ptr, ptr %t1 - %t174 = call ptr @fn_str_concat(ptr @.str6086, ptr %t173) - call void @fn_perr(ptr %t174) - br label %ifend92 -ifend92: - %t175 = load ptr, ptr %t0 - %t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str6087) - %t177 = icmp ne i32 %t176, 0 - br i1 %t177, label %then96, label %ifend98 -then96: - %t178 = load ptr, ptr %t1 - %t179 = call i32 @fn_is_unicode_ns(ptr %t178) - %t180 = icmp ne i32 %t179, 0 - br i1 %t180, label %then99, label %ifend101 -then99: - %t181 = load ptr, ptr %t1 - %t182 = load ptr, ptr %t2 - %t183 = call ptr @fn_emit_unicode_ns(ptr %t181, ptr %t182) - store ptr %t183, ptr %retval + %t174 = call i32 @fn_is_crypto_ns(ptr %t173) + %t175 = icmp ne i32 %t174, 0 + br i1 %t175, label %then83, label %ifend85 +then83: + %t176 = load ptr, ptr %t1 + %t177 = load ptr, ptr %t2 + %t178 = call ptr @fn_emit_crypto_ns(ptr %t176, ptr %t177) + store ptr %t178, ptr %retval br label %ret -ifend101: +ifend85: + %t179 = load ptr, ptr %t1 + %t180 = call ptr @fn_str_concat(ptr @.str6391, ptr %t179) + call void @fn_perr(ptr %t180) + br label %ifend82 +ifend82: + %t181 = load ptr, ptr %t0 + %t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str6392) + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then86, label %ifend88 +then86: %t184 = load ptr, ptr %t1 - %t185 = call ptr @fn_str_concat(ptr @.str6088, ptr %t184) - call void @fn_perr(ptr %t185) - br label %ifend98 -ifend98: - %t186 = load ptr, ptr %t0 - %t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str6089) - %t188 = icmp ne i32 %t187, 0 - br i1 %t188, label %then102, label %ifend104 -then102: - %t189 = load ptr, ptr %t1 - %t190 = call i32 @fn_is_fs_ns(ptr %t189) - %t191 = icmp ne i32 %t190, 0 - br i1 %t191, label %then105, label %ifend107 -then105: - %t192 = load ptr, ptr %t1 - %t193 = load ptr, ptr %t2 - %t194 = call ptr @fn_emit_fs_ns(ptr %t192, ptr %t193) - store ptr %t194, ptr %retval + %t185 = call i32 @fn_is_uuid_ns(ptr %t184) + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %then89, label %ifend91 +then89: + %t187 = load ptr, ptr %t1 + %t188 = load ptr, ptr %t2 + %t189 = call ptr @fn_emit_uuid_ns(ptr %t187, ptr %t188) + store ptr %t189, ptr %retval br label %ret -ifend107: +ifend91: + %t190 = load ptr, ptr %t1 + %t191 = call ptr @fn_str_concat(ptr @.str6393, ptr %t190) + call void @fn_perr(ptr %t191) + br label %ifend88 +ifend88: + %t192 = load ptr, ptr %t0 + %t193 = call i32 @fn_str_eq(ptr %t192, ptr @.str6394) + %t194 = icmp ne i32 %t193, 0 + br i1 %t194, label %then92, label %ifend94 +then92: %t195 = load ptr, ptr %t1 - %t196 = call ptr @fn_str_concat(ptr @.str6090, ptr %t195) - call void @fn_perr(ptr %t196) - br label %ifend104 -ifend104: - %t197 = load ptr, ptr %t0 - %t198 = call i32 @fn_str_eq(ptr %t197, ptr @.str6091) - %t199 = icmp ne i32 %t198, 0 - br i1 %t199, label %then108, label %ifend110 -then108: - %t200 = load ptr, ptr %t1 - %t201 = call i32 @fn_is_path_ns(ptr %t200) - %t202 = icmp ne i32 %t201, 0 - br i1 %t202, label %then111, label %ifend113 -then111: - %t203 = load ptr, ptr %t1 - %t204 = load ptr, ptr %t2 - %t205 = call ptr @fn_emit_path_ns(ptr %t203, ptr %t204) - store ptr %t205, ptr %retval + %t196 = call i32 @fn_is_noise_ns(ptr %t195) + %t197 = icmp ne i32 %t196, 0 + br i1 %t197, label %then95, label %ifend97 +then95: + %t198 = load ptr, ptr %t1 + %t199 = load ptr, ptr %t2 + %t200 = call ptr @fn_emit_noise_ns(ptr %t198, ptr %t199) + store ptr %t200, ptr %retval br label %ret -ifend113: +ifend97: + %t201 = load ptr, ptr %t1 + %t202 = call ptr @fn_str_concat(ptr @.str6395, ptr %t201) + call void @fn_perr(ptr %t202) + br label %ifend94 +ifend94: + %t203 = load ptr, ptr %t0 + %t204 = call i32 @fn_str_eq(ptr %t203, ptr @.str6396) + %t205 = icmp ne i32 %t204, 0 + br i1 %t205, label %then98, label %ifend100 +then98: %t206 = load ptr, ptr %t1 - %t207 = call ptr @fn_str_concat(ptr @.str6092, ptr %t206) - call void @fn_perr(ptr %t207) - br label %ifend110 -ifend110: - %t208 = load ptr, ptr %t0 - %t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str6093) - %t210 = icmp ne i32 %t209, 0 - br i1 %t210, label %then114, label %ifend116 -then114: - %t211 = load ptr, ptr %t1 - %t212 = call i32 @fn_is_mime_ns(ptr %t211) - %t213 = icmp ne i32 %t212, 0 - br i1 %t213, label %then117, label %ifend119 -then117: - %t214 = load ptr, ptr %t1 - %t215 = load ptr, ptr %t2 - %t216 = call ptr @fn_emit_mime_ns(ptr %t214, ptr %t215) - store ptr %t216, ptr %retval + %t207 = call i32 @fn_is_log_ns(ptr %t206) + %t208 = icmp ne i32 %t207, 0 + br i1 %t208, label %then101, label %ifend103 +then101: + %t209 = load ptr, ptr %t1 + %t210 = load ptr, ptr %t2 + %t211 = call ptr @fn_emit_log_ns(ptr %t209, ptr %t210) + store ptr %t211, ptr %retval br label %ret -ifend119: +ifend103: + %t212 = load ptr, ptr %t1 + %t213 = call ptr @fn_str_concat(ptr @.str6397, ptr %t212) + call void @fn_perr(ptr %t213) + br label %ifend100 +ifend100: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str6398) + %t216 = icmp ne i32 %t215, 0 + br i1 %t216, label %then104, label %ifend106 +then104: %t217 = load ptr, ptr %t1 - %t218 = call ptr @fn_str_concat(ptr @.str6094, ptr %t217) - call void @fn_perr(ptr %t218) - br label %ifend116 -ifend116: - %t219 = load ptr, ptr %t0 - %t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str6095) - %t221 = icmp ne i32 %t220, 0 - br i1 %t221, label %then120, label %ifend122 -then120: - %t222 = load ptr, ptr %t1 - %t223 = call i32 @fn_is_vector_ns(ptr %t222) - %t224 = icmp ne i32 %t223, 0 - br i1 %t224, label %then123, label %ifend125 -then123: - %t225 = load ptr, ptr %t1 - %t226 = load ptr, ptr %t2 - %t227 = call ptr @fn_emit_vector_ns(ptr %t225, ptr %t226) - store ptr %t227, ptr %retval + %t218 = call i32 @fn_is_os_ns(ptr %t217) + %t219 = icmp ne i32 %t218, 0 + br i1 %t219, label %then107, label %ifend109 +then107: + %t220 = load ptr, ptr %t1 + %t221 = load ptr, ptr %t2 + %t222 = call ptr @fn_emit_os_ns(ptr %t220, ptr %t221) + store ptr %t222, ptr %retval br label %ret -ifend125: +ifend109: + %t223 = load ptr, ptr %t1 + %t224 = call ptr @fn_str_concat(ptr @.str6399, ptr %t223) + call void @fn_perr(ptr %t224) + br label %ifend106 +ifend106: + %t225 = load ptr, ptr %t0 + %t226 = call i32 @fn_str_eq(ptr %t225, ptr @.str6400) + %t227 = icmp ne i32 %t226, 0 + br i1 %t227, label %then110, label %ifend112 +then110: %t228 = load ptr, ptr %t1 - %t229 = call ptr @fn_str_concat(ptr @.str6096, ptr %t228) - call void @fn_perr(ptr %t229) - br label %ifend122 -ifend122: - %t230 = load ptr, ptr %t0 - %t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str6097) - %t232 = icmp ne i32 %t231, 0 - br i1 %t232, label %then126, label %ifend128 -then126: - %t233 = load ptr, ptr %t1 - %t234 = call i32 @fn_is_ivec_ns(ptr %t233) - %t235 = icmp ne i32 %t234, 0 - br i1 %t235, label %then129, label %ifend131 -then129: - %t236 = load ptr, ptr %t1 - %t237 = load ptr, ptr %t2 - %t238 = call ptr @fn_emit_ivec_ns(ptr %t236, ptr %t237) - store ptr %t238, ptr %retval + %t229 = call i32 @fn_is_unicode_ns(ptr %t228) + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then113, label %ifend115 +then113: + %t231 = load ptr, ptr %t1 + %t232 = load ptr, ptr %t2 + %t233 = call ptr @fn_emit_unicode_ns(ptr %t231, ptr %t232) + store ptr %t233, ptr %retval br label %ret -ifend131: +ifend115: + %t234 = load ptr, ptr %t1 + %t235 = call ptr @fn_str_concat(ptr @.str6401, ptr %t234) + call void @fn_perr(ptr %t235) + br label %ifend112 +ifend112: + %t236 = load ptr, ptr %t0 + %t237 = call i32 @fn_str_eq(ptr %t236, ptr @.str6402) + %t238 = icmp ne i32 %t237, 0 + br i1 %t238, label %then116, label %ifend118 +then116: %t239 = load ptr, ptr %t1 - %t240 = call ptr @fn_str_concat(ptr @.str6098, ptr %t239) - call void @fn_perr(ptr %t240) - br label %ifend128 -ifend128: - %t241 = load ptr, ptr %t0 - %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str6099) - %t243 = icmp ne i32 %t242, 0 - br i1 %t243, label %then132, label %ifend134 -then132: - %t244 = load ptr, ptr %t1 - %t245 = call i32 @fn_is_rect_ns(ptr %t244) - %t246 = icmp ne i32 %t245, 0 - br i1 %t246, label %then135, label %ifend137 -then135: - %t247 = load ptr, ptr %t1 - %t248 = load ptr, ptr %t2 - %t249 = call ptr @fn_emit_rect_ns(ptr %t247, ptr %t248) - store ptr %t249, ptr %retval + %t240 = call i32 @fn_is_fs_ns(ptr %t239) + %t241 = icmp ne i32 %t240, 0 + br i1 %t241, label %then119, label %ifend121 +then119: + %t242 = load ptr, ptr %t1 + %t243 = load ptr, ptr %t2 + %t244 = call ptr @fn_emit_fs_ns(ptr %t242, ptr %t243) + store ptr %t244, ptr %retval br label %ret -ifend137: +ifend121: + %t245 = load ptr, ptr %t1 + %t246 = call ptr @fn_str_concat(ptr @.str6403, ptr %t245) + call void @fn_perr(ptr %t246) + br label %ifend118 +ifend118: + %t247 = load ptr, ptr %t0 + %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str6404) + %t249 = icmp ne i32 %t248, 0 + br i1 %t249, label %then122, label %ifend124 +then122: %t250 = load ptr, ptr %t1 - %t251 = call ptr @fn_str_concat(ptr @.str6100, ptr %t250) - call void @fn_perr(ptr %t251) - br label %ifend134 -ifend134: - %t252 = load ptr, ptr %t0 - %t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str6101) - %t254 = icmp ne i32 %t253, 0 - br i1 %t254, label %then138, label %ifend140 -then138: - %t255 = load ptr, ptr %t1 - %t256 = call i32 @fn_is_duration_ns(ptr %t255) - %t257 = icmp ne i32 %t256, 0 - br i1 %t257, label %then141, label %ifend143 -then141: - %t258 = load ptr, ptr %t1 - %t259 = load ptr, ptr %t2 - %t260 = call ptr @fn_emit_duration_ns(ptr %t258, ptr %t259) - store ptr %t260, ptr %retval + %t251 = call i32 @fn_is_path_ns(ptr %t250) + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then125, label %ifend127 +then125: + %t253 = load ptr, ptr %t1 + %t254 = load ptr, ptr %t2 + %t255 = call ptr @fn_emit_path_ns(ptr %t253, ptr %t254) + store ptr %t255, ptr %retval br label %ret -ifend143: +ifend127: + %t256 = load ptr, ptr %t1 + %t257 = call ptr @fn_str_concat(ptr @.str6405, ptr %t256) + call void @fn_perr(ptr %t257) + br label %ifend124 +ifend124: + %t258 = load ptr, ptr %t0 + %t259 = call i32 @fn_str_eq(ptr %t258, ptr @.str6406) + %t260 = icmp ne i32 %t259, 0 + br i1 %t260, label %then128, label %ifend130 +then128: %t261 = load ptr, ptr %t1 - %t262 = call ptr @fn_str_concat(ptr @.str6102, ptr %t261) - call void @fn_perr(ptr %t262) - br label %ifend140 -ifend140: - %t263 = load ptr, ptr %t0 - %t264 = call i32 @fn_str_eq(ptr %t263, ptr @.str6103) - %t265 = icmp ne i32 %t264, 0 - br i1 %t265, label %then144, label %ifend146 -then144: - %t266 = load ptr, ptr %t1 - %t267 = call i32 @fn_is_date_ns(ptr %t266) - %t268 = icmp ne i32 %t267, 0 - br i1 %t268, label %then147, label %ifend149 -then147: - %t269 = load ptr, ptr %t1 - %t270 = load ptr, ptr %t2 - %t271 = call ptr @fn_emit_date_ns(ptr %t269, ptr %t270) - store ptr %t271, ptr %retval + %t262 = call i32 @fn_is_mime_ns(ptr %t261) + %t263 = icmp ne i32 %t262, 0 + br i1 %t263, label %then131, label %ifend133 +then131: + %t264 = load ptr, ptr %t1 + %t265 = load ptr, ptr %t2 + %t266 = call ptr @fn_emit_mime_ns(ptr %t264, ptr %t265) + store ptr %t266, ptr %retval br label %ret -ifend149: +ifend133: + %t267 = load ptr, ptr %t1 + %t268 = call ptr @fn_str_concat(ptr @.str6407, ptr %t267) + call void @fn_perr(ptr %t268) + br label %ifend130 +ifend130: + %t269 = load ptr, ptr %t0 + %t270 = call i32 @fn_str_eq(ptr %t269, ptr @.str6408) + %t271 = icmp ne i32 %t270, 0 + br i1 %t271, label %then134, label %ifend136 +then134: %t272 = load ptr, ptr %t1 - %t273 = call ptr @fn_str_concat(ptr @.str6104, ptr %t272) - call void @fn_perr(ptr %t273) - br label %ifend146 -ifend146: - %t274 = load ptr, ptr %t0 - %t275 = call i32 @fn_str_eq(ptr %t274, ptr @.str6105) - %t276 = icmp ne i32 %t275, 0 - br i1 %t276, label %then150, label %ifend152 -then150: - %t277 = load ptr, ptr %t1 - %t278 = call i32 @fn_is_datetime_ns(ptr %t277) - %t279 = icmp ne i32 %t278, 0 - br i1 %t279, label %then153, label %ifend155 -then153: - %t280 = load ptr, ptr %t1 - %t281 = load ptr, ptr %t2 - %t282 = call ptr @fn_emit_datetime_ns(ptr %t280, ptr %t281) - store ptr %t282, ptr %retval + %t273 = call i32 @fn_is_vector_ns(ptr %t272) + %t274 = icmp ne i32 %t273, 0 + br i1 %t274, label %then137, label %ifend139 +then137: + %t275 = load ptr, ptr %t1 + %t276 = load ptr, ptr %t2 + %t277 = call ptr @fn_emit_vector_ns(ptr %t275, ptr %t276) + store ptr %t277, ptr %retval br label %ret -ifend155: +ifend139: + %t278 = load ptr, ptr %t1 + %t279 = call ptr @fn_str_concat(ptr @.str6409, ptr %t278) + call void @fn_perr(ptr %t279) + br label %ifend136 +ifend136: + %t280 = load ptr, ptr %t0 + %t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str6410) + %t282 = icmp ne i32 %t281, 0 + br i1 %t282, label %then140, label %ifend142 +then140: %t283 = load ptr, ptr %t1 - %t284 = call ptr @fn_str_concat(ptr @.str6106, ptr %t283) - call void @fn_perr(ptr %t284) - br label %ifend152 -ifend152: - %t285 = load ptr, ptr %t0 - %t286 = call i32 @fn_str_eq(ptr %t285, ptr @.str6107) - %t287 = icmp ne i32 %t286, 0 - br i1 %t287, label %then156, label %ifend158 -then156: - %t288 = load ptr, ptr %t1 - %t289 = call i32 @fn_is_clock_ns(ptr %t288) - %t290 = icmp ne i32 %t289, 0 - br i1 %t290, label %then159, label %ifend161 -then159: - %t291 = load ptr, ptr %t1 - %t292 = load ptr, ptr %t2 - %t293 = call ptr @fn_emit_clock_ns(ptr %t291, ptr %t292) - store ptr %t293, ptr %retval + %t284 = call i32 @fn_is_ivec_ns(ptr %t283) + %t285 = icmp ne i32 %t284, 0 + br i1 %t285, label %then143, label %ifend145 +then143: + %t286 = load ptr, ptr %t1 + %t287 = load ptr, ptr %t2 + %t288 = call ptr @fn_emit_ivec_ns(ptr %t286, ptr %t287) + store ptr %t288, ptr %retval br label %ret -ifend161: +ifend145: + %t289 = load ptr, ptr %t1 + %t290 = call ptr @fn_str_concat(ptr @.str6411, ptr %t289) + call void @fn_perr(ptr %t290) + br label %ifend142 +ifend142: + %t291 = load ptr, ptr %t0 + %t292 = call i32 @fn_str_eq(ptr %t291, ptr @.str6412) + %t293 = icmp ne i32 %t292, 0 + br i1 %t293, label %then146, label %ifend148 +then146: %t294 = load ptr, ptr %t1 - %t295 = call ptr @fn_str_concat(ptr @.str6108, ptr %t294) - call void @fn_perr(ptr %t295) - br label %ifend158 -ifend158: - %t296 = load ptr, ptr %t0 - %t297 = call i32 @fn_str_eq(ptr %t296, ptr @.str6109) - %t298 = icmp ne i32 %t297, 0 - br i1 %t298, label %then162, label %ifend164 -then162: - %t299 = load ptr, ptr %t1 - %t300 = call i32 @fn_str_eq(ptr %t299, ptr @.str6110) - %t301 = icmp ne i32 %t300, 0 - br i1 %t301, label %then165, label %ifend167 -then165: - %t302 = call ptr @fn_itoa(i32 1024) - %t303 = call ptr @fn_val(ptr %t302, ptr @.str6111) - store ptr %t303, ptr %retval + %t295 = call i32 @fn_is_rect_ns(ptr %t294) + %t296 = icmp ne i32 %t295, 0 + br i1 %t296, label %then149, label %ifend151 +then149: + %t297 = load ptr, ptr %t1 + %t298 = load ptr, ptr %t2 + %t299 = call ptr @fn_emit_rect_ns(ptr %t297, ptr %t298) + store ptr %t299, ptr %retval br label %ret -ifend167: - %t304 = load ptr, ptr %t1 - %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str6112) - %t306 = icmp ne i32 %t305, 0 - br i1 %t306, label %then168, label %ifend170 -then168: - %t307 = call ptr @fn_emit_bind(ptr @.str6113) - %t308 = call ptr @fn_val(ptr %t307, ptr @.str6114) - store ptr %t308, ptr %retval +ifend151: + %t300 = load ptr, ptr %t1 + %t301 = call ptr @fn_str_concat(ptr @.str6413, ptr %t300) + call void @fn_perr(ptr %t301) + br label %ifend148 +ifend148: + %t302 = load ptr, ptr %t0 + %t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str6414) + %t304 = icmp ne i32 %t303, 0 + br i1 %t304, label %then152, label %ifend154 +then152: + %t305 = load ptr, ptr %t1 + %t306 = call i32 @fn_is_duration_ns(ptr %t305) + %t307 = icmp ne i32 %t306, 0 + br i1 %t307, label %then155, label %ifend157 +then155: + %t308 = load ptr, ptr %t1 + %t309 = load ptr, ptr %t2 + %t310 = call ptr @fn_emit_duration_ns(ptr %t308, ptr %t309) + store ptr %t310, ptr %retval br label %ret -ifend170: - %t309 = load ptr, ptr %t1 - %t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str6115) - %t311 = icmp ne i32 %t310, 0 - br i1 %t311, label %then171, label %ifend173 -then171: - %t312 = call ptr @fn_emit_bind(ptr @.str6116) - %t313 = call ptr @fn_val(ptr %t312, ptr @.str6117) - store ptr %t313, ptr %retval +ifend157: + %t311 = load ptr, ptr %t1 + %t312 = call ptr @fn_str_concat(ptr @.str6415, ptr %t311) + call void @fn_perr(ptr %t312) + br label %ifend154 +ifend154: + %t313 = load ptr, ptr %t0 + %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str6416) + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then158, label %ifend160 +then158: + %t316 = load ptr, ptr %t1 + %t317 = call i32 @fn_is_date_ns(ptr %t316) + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then161, label %ifend163 +then161: + %t319 = load ptr, ptr %t1 + %t320 = load ptr, ptr %t2 + %t321 = call ptr @fn_emit_date_ns(ptr %t319, ptr %t320) + store ptr %t321, ptr %retval br label %ret -ifend173: - %t314 = load ptr, ptr %t1 - %t315 = call i32 @fn_str_eq(ptr %t314, ptr @.str6118) - %t316 = icmp ne i32 %t315, 0 - br i1 %t316, label %then174, label %ifend176 -then174: - %t317 = call ptr @fn_emit_bind(ptr @.str6119) - store ptr %t317, ptr %t318 - %t319 = call ptr @fn_emit_bind(ptr @.str6120) - store ptr %t319, ptr %t320 - %t321 = load ptr, ptr %t318 - %t322 = call ptr @fn_str_concat(ptr @.str6121, ptr %t321) - %t323 = call ptr @fn_str_concat(ptr %t322, ptr @.str6122) - %t324 = load ptr, ptr %t320 - %t325 = call ptr @fn_str_concat(ptr %t323, ptr %t324) - %t326 = call ptr @fn_emit_bind(ptr %t325) - %t327 = call ptr @fn_val(ptr %t326, ptr @.str6123) - store ptr %t327, ptr %retval +ifend163: + %t322 = load ptr, ptr %t1 + %t323 = call ptr @fn_str_concat(ptr @.str6417, ptr %t322) + call void @fn_perr(ptr %t323) + br label %ifend160 +ifend160: + %t324 = load ptr, ptr %t0 + %t325 = call i32 @fn_str_eq(ptr %t324, ptr @.str6418) + %t326 = icmp ne i32 %t325, 0 + br i1 %t326, label %then164, label %ifend166 +then164: + %t327 = load ptr, ptr %t1 + %t328 = call i32 @fn_is_datetime_ns(ptr %t327) + %t329 = icmp ne i32 %t328, 0 + br i1 %t329, label %then167, label %ifend169 +then167: + %t330 = load ptr, ptr %t1 + %t331 = load ptr, ptr %t2 + %t332 = call ptr @fn_emit_datetime_ns(ptr %t330, ptr %t331) + store ptr %t332, ptr %retval br label %ret -ifend176: - %t328 = load ptr, ptr %t1 - %t329 = call ptr @fn_str_concat(ptr @.str6124, ptr %t328) - call void @fn_perr(ptr %t329) - br label %ifend164 -ifend164: - store ptr null, ptr %t330 - %t331 = getelementptr %LSlice, ptr null, i32 1 - %t332 = ptrtoint ptr %t331 to i64 - %t333 = call ptr @malloc(i64 %t332) - %t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0 - store ptr null, ptr %t334 - %t335 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 1 - store i32 0, ptr %t335 - %t336 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 2 - store i32 0, ptr %t336 - store ptr %t333, ptr %t337 - %t338 = load ptr, ptr %t0 - %t339 = call i32 @fn_str_eq(ptr %t338, ptr @.str6125) +ifend169: + %t333 = load ptr, ptr %t1 + %t334 = call ptr @fn_str_concat(ptr @.str6419, ptr %t333) + call void @fn_perr(ptr %t334) + br label %ifend166 +ifend166: + %t335 = load ptr, ptr %t0 + %t336 = call i32 @fn_str_eq(ptr %t335, ptr @.str6420) + %t337 = icmp ne i32 %t336, 0 + br i1 %t337, label %then170, label %ifend172 +then170: + %t338 = load ptr, ptr %t1 + %t339 = call i32 @fn_is_clock_ns(ptr %t338) %t340 = icmp ne i32 %t339, 0 - br i1 %t340, label %then177, label %ifend179 -then177: + br i1 %t340, label %then173, label %ifend175 +then173: %t341 = load ptr, ptr %t1 - %t342 = call i32 @fn_str_eq(ptr %t341, ptr @.str6126) - %t343 = icmp ne i32 %t342, 0 - br i1 %t343, label %then180, label %ifend182 -then180: - store ptr @.str6127, ptr %t330 - %t344 = load ptr, ptr %t337 - %t345 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 1 - %t346 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 2 - %t347 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 - %t348 = load i32, ptr %t345 - %t349 = load i32, ptr %t346 - %t350 = icmp sge i32 %t348, %t349 - br i1 %t350, label %grow183, label %put184 -grow183: - %t351 = mul i32 %t349, 2 - %t352 = icmp eq i32 %t349, 0 - %t353 = select i1 %t352, i32 8, i32 %t351 - %t354 = getelementptr ptr, ptr null, i32 1 - %t355 = ptrtoint ptr %t354 to i64 - %t356 = zext i32 %t353 to i64 - %t357 = mul i64 %t356, %t355 - %t358 = load ptr, ptr %t347 - %t359 = call ptr @realloc(ptr %t358, i64 %t357) - store ptr %t359, ptr %t347 - store i32 %t353, ptr %t346 - br label %put184 -put184: - %t360 = load ptr, ptr %t347 - %t361 = getelementptr inbounds ptr, ptr %t360, i32 %t348 - store ptr @.str6128, ptr %t361 - %t362 = add i32 %t348, 1 - store i32 %t362, ptr %t345 - br label %ifend182 -ifend182: - %t363 = load ptr, ptr %t1 - %t364 = call i32 @fn_str_eq(ptr %t363, ptr @.str6129) - %t365 = icmp ne i32 %t364, 0 - br i1 %t365, label %then185, label %ifend187 + %t342 = load ptr, ptr %t2 + %t343 = call ptr @fn_emit_clock_ns(ptr %t341, ptr %t342) + store ptr %t343, ptr %retval + br label %ret +ifend175: + %t344 = load ptr, ptr %t1 + %t345 = call ptr @fn_str_concat(ptr @.str6421, ptr %t344) + call void @fn_perr(ptr %t345) + br label %ifend172 +ifend172: + %t346 = load ptr, ptr %t0 + %t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str6422) + %t348 = icmp ne i32 %t347, 0 + br i1 %t348, label %then176, label %ifend178 +then176: + %t349 = load ptr, ptr %t1 + %t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str6423) + %t351 = icmp ne i32 %t350, 0 + br i1 %t351, label %then179, label %ifend181 +then179: + %t352 = call ptr @fn_itoa(i32 1024) + %t353 = call ptr @fn_val(ptr %t352, ptr @.str6424) + store ptr %t353, ptr %retval + br label %ret +ifend181: + %t354 = load ptr, ptr %t1 + %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str6425) + %t356 = icmp ne i32 %t355, 0 + br i1 %t356, label %then182, label %ifend184 +then182: + %t357 = call ptr @fn_emit_bind(ptr @.str6426) + %t358 = call ptr @fn_val(ptr %t357, ptr @.str6427) + store ptr %t358, ptr %retval + br label %ret +ifend184: + %t359 = load ptr, ptr %t1 + %t360 = call i32 @fn_str_eq(ptr %t359, ptr @.str6428) + %t361 = icmp ne i32 %t360, 0 + br i1 %t361, label %then185, label %ifend187 then185: - store ptr @.str6130, ptr %t330 - %t366 = load ptr, ptr %t337 - %t367 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 1 - %t368 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 2 - %t369 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 0 - %t370 = load i32, ptr %t367 - %t371 = load i32, ptr %t368 - %t372 = icmp sge i32 %t370, %t371 - br i1 %t372, label %grow188, label %put189 -grow188: - %t373 = mul i32 %t371, 2 - %t374 = icmp eq i32 %t371, 0 - %t375 = select i1 %t374, i32 8, i32 %t373 - %t376 = getelementptr ptr, ptr null, i32 1 - %t377 = ptrtoint ptr %t376 to i64 - %t378 = zext i32 %t375 to i64 - %t379 = mul i64 %t378, %t377 - %t380 = load ptr, ptr %t369 - %t381 = call ptr @realloc(ptr %t380, i64 %t379) - store ptr %t381, ptr %t369 - store i32 %t375, ptr %t368 - br label %put189 -put189: - %t382 = load ptr, ptr %t369 - %t383 = getelementptr inbounds ptr, ptr %t382, i32 %t370 - store ptr @.str6131, ptr %t383 - %t384 = add i32 %t370, 1 - store i32 %t384, ptr %t367 - %t385 = load ptr, ptr %t337 - %t386 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 1 - %t387 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 2 - %t388 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0 - %t389 = load i32, ptr %t386 - %t390 = load i32, ptr %t387 - %t391 = icmp sge i32 %t389, %t390 - br i1 %t391, label %grow190, label %put191 -grow190: - %t392 = mul i32 %t390, 2 - %t393 = icmp eq i32 %t390, 0 - %t394 = select i1 %t393, i32 8, i32 %t392 - %t395 = getelementptr ptr, ptr null, i32 1 - %t396 = ptrtoint ptr %t395 to i64 - %t397 = zext i32 %t394 to i64 - %t398 = mul i64 %t397, %t396 - %t399 = load ptr, ptr %t388 - %t400 = call ptr @realloc(ptr %t399, i64 %t398) - store ptr %t400, ptr %t388 - store i32 %t394, ptr %t387 - br label %put191 -put191: - %t401 = load ptr, ptr %t388 - %t402 = getelementptr inbounds ptr, ptr %t401, i32 %t389 - store ptr @.str6132, ptr %t402 - %t403 = add i32 %t389, 1 - store i32 %t403, ptr %t386 - %t404 = load ptr, ptr %t337 - %t405 = getelementptr inbounds %LSlice, ptr %t404, i32 0, i32 1 - %t406 = getelementptr inbounds %LSlice, ptr %t404, i32 0, i32 2 - %t407 = getelementptr inbounds %LSlice, ptr %t404, i32 0, i32 0 - %t408 = load i32, ptr %t405 - %t409 = load i32, ptr %t406 - %t410 = icmp sge i32 %t408, %t409 - br i1 %t410, label %grow192, label %put193 -grow192: - %t411 = mul i32 %t409, 2 - %t412 = icmp eq i32 %t409, 0 - %t413 = select i1 %t412, i32 8, i32 %t411 - %t414 = getelementptr ptr, ptr null, i32 1 - %t415 = ptrtoint ptr %t414 to i64 - %t416 = zext i32 %t413 to i64 - %t417 = mul i64 %t416, %t415 - %t418 = load ptr, ptr %t407 - %t419 = call ptr @realloc(ptr %t418, i64 %t417) - store ptr %t419, ptr %t407 - store i32 %t413, ptr %t406 - br label %put193 -put193: - %t420 = load ptr, ptr %t407 - %t421 = getelementptr inbounds ptr, ptr %t420, i32 %t408 - store ptr @.str6133, ptr %t421 - %t422 = add i32 %t408, 1 - store i32 %t422, ptr %t405 - %t423 = load ptr, ptr %t337 - %t424 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 1 - %t425 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 2 - %t426 = getelementptr inbounds %LSlice, ptr %t423, i32 0, i32 0 - %t427 = load i32, ptr %t424 - %t428 = load i32, ptr %t425 - %t429 = icmp sge i32 %t427, %t428 - br i1 %t429, label %grow194, label %put195 -grow194: - %t430 = mul i32 %t428, 2 - %t431 = icmp eq i32 %t428, 0 - %t432 = select i1 %t431, i32 8, i32 %t430 - %t433 = getelementptr ptr, ptr null, i32 1 - %t434 = ptrtoint ptr %t433 to i64 - %t435 = zext i32 %t432 to i64 - %t436 = mul i64 %t435, %t434 - %t437 = load ptr, ptr %t426 - %t438 = call ptr @realloc(ptr %t437, i64 %t436) - store ptr %t438, ptr %t426 - store i32 %t432, ptr %t425 - br label %put195 -put195: - %t439 = load ptr, ptr %t426 - %t440 = getelementptr inbounds ptr, ptr %t439, i32 %t427 - store ptr @.str6134, ptr %t440 - %t441 = add i32 %t427, 1 - store i32 %t441, ptr %t424 - %t442 = load ptr, ptr %t337 - %t443 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 1 - %t444 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 2 - %t445 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 0 - %t446 = load i32, ptr %t443 - %t447 = load i32, ptr %t444 - %t448 = icmp sge i32 %t446, %t447 - br i1 %t448, label %grow196, label %put197 -grow196: - %t449 = mul i32 %t447, 2 - %t450 = icmp eq i32 %t447, 0 - %t451 = select i1 %t450, i32 8, i32 %t449 - %t452 = getelementptr ptr, ptr null, i32 1 - %t453 = ptrtoint ptr %t452 to i64 - %t454 = zext i32 %t451 to i64 - %t455 = mul i64 %t454, %t453 - %t456 = load ptr, ptr %t445 - %t457 = call ptr @realloc(ptr %t456, i64 %t455) - store ptr %t457, ptr %t445 - store i32 %t451, ptr %t444 - br label %put197 -put197: - %t458 = load ptr, ptr %t445 - %t459 = getelementptr inbounds ptr, ptr %t458, i32 %t446 - store ptr @.str6135, ptr %t459 - %t460 = add i32 %t446, 1 - store i32 %t460, ptr %t443 - br label %ifend187 + %t362 = call ptr @fn_emit_bind(ptr @.str6429) + %t363 = call ptr @fn_val(ptr %t362, ptr @.str6430) + store ptr %t363, ptr %retval + br label %ret ifend187: - %t461 = load ptr, ptr %t1 - %t462 = call i32 @fn_str_eq(ptr %t461, ptr @.str6136) - %t463 = icmp ne i32 %t462, 0 - br i1 %t463, label %then198, label %ifend200 -then198: - store ptr @.str6137, ptr %t330 - %t464 = load ptr, ptr %t337 - %t465 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 1 - %t466 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 2 - %t467 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 0 - %t468 = load i32, ptr %t465 - %t469 = load i32, ptr %t466 - %t470 = icmp sge i32 %t468, %t469 - br i1 %t470, label %grow201, label %put202 -grow201: - %t471 = mul i32 %t469, 2 - %t472 = icmp eq i32 %t469, 0 - %t473 = select i1 %t472, i32 8, i32 %t471 - %t474 = getelementptr ptr, ptr null, i32 1 - %t475 = ptrtoint ptr %t474 to i64 - %t476 = zext i32 %t473 to i64 - %t477 = mul i64 %t476, %t475 - %t478 = load ptr, ptr %t467 - %t479 = call ptr @realloc(ptr %t478, i64 %t477) - store ptr %t479, ptr %t467 - store i32 %t473, ptr %t466 - br label %put202 -put202: - %t480 = load ptr, ptr %t467 - %t481 = getelementptr inbounds ptr, ptr %t480, i32 %t468 - store ptr @.str6138, ptr %t481 - %t482 = add i32 %t468, 1 - store i32 %t482, ptr %t465 - %t483 = load ptr, ptr %t337 - %t484 = getelementptr inbounds %LSlice, ptr %t483, i32 0, i32 1 - %t485 = getelementptr inbounds %LSlice, ptr %t483, i32 0, i32 2 - %t486 = getelementptr inbounds %LSlice, ptr %t483, i32 0, i32 0 - %t487 = load i32, ptr %t484 - %t488 = load i32, ptr %t485 - %t489 = icmp sge i32 %t487, %t488 - br i1 %t489, label %grow203, label %put204 -grow203: - %t490 = mul i32 %t488, 2 - %t491 = icmp eq i32 %t488, 0 - %t492 = select i1 %t491, i32 8, i32 %t490 - %t493 = getelementptr ptr, ptr null, i32 1 - %t494 = ptrtoint ptr %t493 to i64 - %t495 = zext i32 %t492 to i64 - %t496 = mul i64 %t495, %t494 - %t497 = load ptr, ptr %t486 - %t498 = call ptr @realloc(ptr %t497, i64 %t496) - store ptr %t498, ptr %t486 - store i32 %t492, ptr %t485 - br label %put204 -put204: - %t499 = load ptr, ptr %t486 - %t500 = getelementptr inbounds ptr, ptr %t499, i32 %t487 - store ptr @.str6139, ptr %t500 - %t501 = add i32 %t487, 1 - store i32 %t501, ptr %t484 - %t502 = load ptr, ptr %t337 - %t503 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 1 - %t504 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 2 - %t505 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 0 - %t506 = load i32, ptr %t503 - %t507 = load i32, ptr %t504 - %t508 = icmp sge i32 %t506, %t507 - br i1 %t508, label %grow205, label %put206 -grow205: - %t509 = mul i32 %t507, 2 - %t510 = icmp eq i32 %t507, 0 - %t511 = select i1 %t510, i32 8, i32 %t509 - %t512 = getelementptr ptr, ptr null, i32 1 - %t513 = ptrtoint ptr %t512 to i64 - %t514 = zext i32 %t511 to i64 - %t515 = mul i64 %t514, %t513 - %t516 = load ptr, ptr %t505 - %t517 = call ptr @realloc(ptr %t516, i64 %t515) - store ptr %t517, ptr %t505 - store i32 %t511, ptr %t504 - br label %put206 -put206: - %t518 = load ptr, ptr %t505 - %t519 = getelementptr inbounds ptr, ptr %t518, i32 %t506 - store ptr @.str6140, ptr %t519 - %t520 = add i32 %t506, 1 - store i32 %t520, ptr %t503 - %t521 = load ptr, ptr %t337 - %t522 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 1 - %t523 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 2 - %t524 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 0 - %t525 = load i32, ptr %t522 - %t526 = load i32, ptr %t523 - %t527 = icmp sge i32 %t525, %t526 - br i1 %t527, label %grow207, label %put208 -grow207: - %t528 = mul i32 %t526, 2 - %t529 = icmp eq i32 %t526, 0 - %t530 = select i1 %t529, i32 8, i32 %t528 - %t531 = getelementptr ptr, ptr null, i32 1 - %t532 = ptrtoint ptr %t531 to i64 - %t533 = zext i32 %t530 to i64 - %t534 = mul i64 %t533, %t532 - %t535 = load ptr, ptr %t524 - %t536 = call ptr @realloc(ptr %t535, i64 %t534) - store ptr %t536, ptr %t524 - store i32 %t530, ptr %t523 - br label %put208 -put208: - %t537 = load ptr, ptr %t524 - %t538 = getelementptr inbounds ptr, ptr %t537, i32 %t525 - store ptr @.str6141, ptr %t538 - %t539 = add i32 %t525, 1 - store i32 %t539, ptr %t522 - %t540 = load ptr, ptr %t337 - %t541 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 1 - %t542 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 2 - %t543 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 0 - %t544 = load i32, ptr %t541 - %t545 = load i32, ptr %t542 - %t546 = icmp sge i32 %t544, %t545 - br i1 %t546, label %grow209, label %put210 -grow209: - %t547 = mul i32 %t545, 2 - %t548 = icmp eq i32 %t545, 0 - %t549 = select i1 %t548, i32 8, i32 %t547 - %t550 = getelementptr ptr, ptr null, i32 1 - %t551 = ptrtoint ptr %t550 to i64 - %t552 = zext i32 %t549 to i64 - %t553 = mul i64 %t552, %t551 - %t554 = load ptr, ptr %t543 - %t555 = call ptr @realloc(ptr %t554, i64 %t553) - store ptr %t555, ptr %t543 - store i32 %t549, ptr %t542 - br label %put210 -put210: - %t556 = load ptr, ptr %t543 - %t557 = getelementptr inbounds ptr, ptr %t556, i32 %t544 - store ptr @.str6142, ptr %t557 - %t558 = add i32 %t544, 1 - store i32 %t558, ptr %t541 - br label %ifend200 -ifend200: - %t559 = load ptr, ptr %t1 - %t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str6143) - %t561 = icmp ne i32 %t560, 0 - br i1 %t561, label %then211, label %ifend213 -then211: - store ptr @.str6144, ptr %t330 - %t562 = load ptr, ptr %t337 - %t563 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 1 - %t564 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 2 - %t565 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 - %t566 = load i32, ptr %t563 - %t567 = load i32, ptr %t564 - %t568 = icmp sge i32 %t566, %t567 - br i1 %t568, label %grow214, label %put215 -grow214: - %t569 = mul i32 %t567, 2 - %t570 = icmp eq i32 %t567, 0 - %t571 = select i1 %t570, i32 8, i32 %t569 - %t572 = getelementptr ptr, ptr null, i32 1 - %t573 = ptrtoint ptr %t572 to i64 - %t574 = zext i32 %t571 to i64 - %t575 = mul i64 %t574, %t573 - %t576 = load ptr, ptr %t565 - %t577 = call ptr @realloc(ptr %t576, i64 %t575) - store ptr %t577, ptr %t565 - store i32 %t571, ptr %t564 - br label %put215 -put215: - %t578 = load ptr, ptr %t565 - %t579 = getelementptr inbounds ptr, ptr %t578, i32 %t566 - store ptr @.str6145, ptr %t579 - %t580 = add i32 %t566, 1 - store i32 %t580, ptr %t563 - %t581 = load ptr, ptr %t337 - %t582 = getelementptr inbounds %LSlice, ptr %t581, i32 0, i32 1 - %t583 = getelementptr inbounds %LSlice, ptr %t581, i32 0, i32 2 - %t584 = getelementptr inbounds %LSlice, ptr %t581, i32 0, i32 0 - %t585 = load i32, ptr %t582 - %t586 = load i32, ptr %t583 - %t587 = icmp sge i32 %t585, %t586 - br i1 %t587, label %grow216, label %put217 -grow216: - %t588 = mul i32 %t586, 2 - %t589 = icmp eq i32 %t586, 0 - %t590 = select i1 %t589, i32 8, i32 %t588 - %t591 = getelementptr ptr, ptr null, i32 1 - %t592 = ptrtoint ptr %t591 to i64 - %t593 = zext i32 %t590 to i64 - %t594 = mul i64 %t593, %t592 - %t595 = load ptr, ptr %t584 - %t596 = call ptr @realloc(ptr %t595, i64 %t594) - store ptr %t596, ptr %t584 - store i32 %t590, ptr %t583 - br label %put217 -put217: - %t597 = load ptr, ptr %t584 - %t598 = getelementptr inbounds ptr, ptr %t597, i32 %t585 - store ptr @.str6146, ptr %t598 - %t599 = add i32 %t585, 1 - store i32 %t599, ptr %t582 - %t600 = load ptr, ptr %t337 - %t601 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 1 - %t602 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 2 - %t603 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 0 - %t604 = load i32, ptr %t601 - %t605 = load i32, ptr %t602 - %t606 = icmp sge i32 %t604, %t605 - br i1 %t606, label %grow218, label %put219 -grow218: - %t607 = mul i32 %t605, 2 - %t608 = icmp eq i32 %t605, 0 - %t609 = select i1 %t608, i32 8, i32 %t607 - %t610 = getelementptr ptr, ptr null, i32 1 - %t611 = ptrtoint ptr %t610 to i64 - %t612 = zext i32 %t609 to i64 - %t613 = mul i64 %t612, %t611 - %t614 = load ptr, ptr %t603 - %t615 = call ptr @realloc(ptr %t614, i64 %t613) - store ptr %t615, ptr %t603 - store i32 %t609, ptr %t602 - br label %put219 -put219: - %t616 = load ptr, ptr %t603 - %t617 = getelementptr inbounds ptr, ptr %t616, i32 %t604 - store ptr @.str6147, ptr %t617 - %t618 = add i32 %t604, 1 - store i32 %t618, ptr %t601 - br label %ifend213 -ifend213: - %t619 = load ptr, ptr %t1 - %t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str6148) - %t621 = icmp ne i32 %t620, 0 - br i1 %t621, label %then220, label %ifend222 -then220: - store ptr @.str6149, ptr %t330 - %t622 = load ptr, ptr %t337 - %t623 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 1 - %t624 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 2 - %t625 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 0 - %t626 = load i32, ptr %t623 - %t627 = load i32, ptr %t624 - %t628 = icmp sge i32 %t626, %t627 - br i1 %t628, label %grow223, label %put224 + %t364 = load ptr, ptr %t1 + %t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str6431) + %t366 = icmp ne i32 %t365, 0 + br i1 %t366, label %then188, label %ifend190 +then188: + %t367 = call ptr @fn_emit_bind(ptr @.str6432) + store ptr %t367, ptr %t368 + %t369 = call ptr @fn_emit_bind(ptr @.str6433) + store ptr %t369, ptr %t370 + %t371 = load ptr, ptr %t368 + %t372 = call ptr @fn_str_concat(ptr @.str6434, ptr %t371) + %t373 = call ptr @fn_str_concat(ptr %t372, ptr @.str6435) + %t374 = load ptr, ptr %t370 + %t375 = call ptr @fn_str_concat(ptr %t373, ptr %t374) + %t376 = call ptr @fn_emit_bind(ptr %t375) + %t377 = call ptr @fn_val(ptr %t376, ptr @.str6436) + store ptr %t377, ptr %retval + br label %ret +ifend190: + %t378 = load ptr, ptr %t1 + %t379 = call ptr @fn_str_concat(ptr @.str6437, ptr %t378) + call void @fn_perr(ptr %t379) + br label %ifend178 +ifend178: + store ptr null, ptr %t380 + %t381 = getelementptr %LSlice, ptr null, i32 1 + %t382 = ptrtoint ptr %t381 to i64 + %t383 = call ptr @malloc(i64 %t382) + %t384 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 0 + store ptr null, ptr %t384 + %t385 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 1 + store i32 0, ptr %t385 + %t386 = getelementptr inbounds %LSlice, ptr %t383, i32 0, i32 2 + store i32 0, ptr %t386 + store ptr %t383, ptr %t387 + %t388 = load ptr, ptr %t0 + %t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str6438) + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then191, label %ifend193 +then191: + %t391 = load ptr, ptr %t1 + %t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str6439) + %t393 = icmp ne i32 %t392, 0 + br i1 %t393, label %then194, label %ifend196 +then194: + store ptr @.str6440, ptr %t380 + %t394 = load ptr, ptr %t387 + %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 + %t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 2 + %t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 + %t398 = load i32, ptr %t395 + %t399 = load i32, ptr %t396 + %t400 = icmp sge i32 %t398, %t399 + br i1 %t400, label %grow197, label %put198 +grow197: + %t401 = mul i32 %t399, 2 + %t402 = icmp eq i32 %t399, 0 + %t403 = select i1 %t402, i32 8, i32 %t401 + %t404 = getelementptr ptr, ptr null, i32 1 + %t405 = ptrtoint ptr %t404 to i64 + %t406 = zext i32 %t403 to i64 + %t407 = mul i64 %t406, %t405 + %t408 = load ptr, ptr %t397 + %t409 = call ptr @realloc(ptr %t408, i64 %t407) + store ptr %t409, ptr %t397 + store i32 %t403, ptr %t396 + br label %put198 +put198: + %t410 = load ptr, ptr %t397 + %t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398 + store ptr @.str6441, ptr %t411 + %t412 = add i32 %t398, 1 + store i32 %t412, ptr %t395 + br label %ifend196 +ifend196: + %t413 = load ptr, ptr %t1 + %t414 = call i32 @fn_str_eq(ptr %t413, ptr @.str6442) + %t415 = icmp ne i32 %t414, 0 + br i1 %t415, label %then199, label %ifend201 +then199: + store ptr @.str6443, ptr %t380 + %t416 = load ptr, ptr %t387 + %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 1 + %t418 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 2 + %t419 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 + %t420 = load i32, ptr %t417 + %t421 = load i32, ptr %t418 + %t422 = icmp sge i32 %t420, %t421 + br i1 %t422, label %grow202, label %put203 +grow202: + %t423 = mul i32 %t421, 2 + %t424 = icmp eq i32 %t421, 0 + %t425 = select i1 %t424, i32 8, i32 %t423 + %t426 = getelementptr ptr, ptr null, i32 1 + %t427 = ptrtoint ptr %t426 to i64 + %t428 = zext i32 %t425 to i64 + %t429 = mul i64 %t428, %t427 + %t430 = load ptr, ptr %t419 + %t431 = call ptr @realloc(ptr %t430, i64 %t429) + store ptr %t431, ptr %t419 + store i32 %t425, ptr %t418 + br label %put203 +put203: + %t432 = load ptr, ptr %t419 + %t433 = getelementptr inbounds ptr, ptr %t432, i32 %t420 + store ptr @.str6444, ptr %t433 + %t434 = add i32 %t420, 1 + store i32 %t434, ptr %t417 + %t435 = load ptr, ptr %t387 + %t436 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 1 + %t437 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 2 + %t438 = getelementptr inbounds %LSlice, ptr %t435, i32 0, i32 0 + %t439 = load i32, ptr %t436 + %t440 = load i32, ptr %t437 + %t441 = icmp sge i32 %t439, %t440 + br i1 %t441, label %grow204, label %put205 +grow204: + %t442 = mul i32 %t440, 2 + %t443 = icmp eq i32 %t440, 0 + %t444 = select i1 %t443, i32 8, i32 %t442 + %t445 = getelementptr ptr, ptr null, i32 1 + %t446 = ptrtoint ptr %t445 to i64 + %t447 = zext i32 %t444 to i64 + %t448 = mul i64 %t447, %t446 + %t449 = load ptr, ptr %t438 + %t450 = call ptr @realloc(ptr %t449, i64 %t448) + store ptr %t450, ptr %t438 + store i32 %t444, ptr %t437 + br label %put205 +put205: + %t451 = load ptr, ptr %t438 + %t452 = getelementptr inbounds ptr, ptr %t451, i32 %t439 + store ptr @.str6445, ptr %t452 + %t453 = add i32 %t439, 1 + store i32 %t453, ptr %t436 + %t454 = load ptr, ptr %t387 + %t455 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 1 + %t456 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 2 + %t457 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 0 + %t458 = load i32, ptr %t455 + %t459 = load i32, ptr %t456 + %t460 = icmp sge i32 %t458, %t459 + br i1 %t460, label %grow206, label %put207 +grow206: + %t461 = mul i32 %t459, 2 + %t462 = icmp eq i32 %t459, 0 + %t463 = select i1 %t462, i32 8, i32 %t461 + %t464 = getelementptr ptr, ptr null, i32 1 + %t465 = ptrtoint ptr %t464 to i64 + %t466 = zext i32 %t463 to i64 + %t467 = mul i64 %t466, %t465 + %t468 = load ptr, ptr %t457 + %t469 = call ptr @realloc(ptr %t468, i64 %t467) + store ptr %t469, ptr %t457 + store i32 %t463, ptr %t456 + br label %put207 +put207: + %t470 = load ptr, ptr %t457 + %t471 = getelementptr inbounds ptr, ptr %t470, i32 %t458 + store ptr @.str6446, ptr %t471 + %t472 = add i32 %t458, 1 + store i32 %t472, ptr %t455 + %t473 = load ptr, ptr %t387 + %t474 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 + %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 2 + %t476 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 + %t477 = load i32, ptr %t474 + %t478 = load i32, ptr %t475 + %t479 = icmp sge i32 %t477, %t478 + br i1 %t479, label %grow208, label %put209 +grow208: + %t480 = mul i32 %t478, 2 + %t481 = icmp eq i32 %t478, 0 + %t482 = select i1 %t481, i32 8, i32 %t480 + %t483 = getelementptr ptr, ptr null, i32 1 + %t484 = ptrtoint ptr %t483 to i64 + %t485 = zext i32 %t482 to i64 + %t486 = mul i64 %t485, %t484 + %t487 = load ptr, ptr %t476 + %t488 = call ptr @realloc(ptr %t487, i64 %t486) + store ptr %t488, ptr %t476 + store i32 %t482, ptr %t475 + br label %put209 +put209: + %t489 = load ptr, ptr %t476 + %t490 = getelementptr inbounds ptr, ptr %t489, i32 %t477 + store ptr @.str6447, ptr %t490 + %t491 = add i32 %t477, 1 + store i32 %t491, ptr %t474 + %t492 = load ptr, ptr %t387 + %t493 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 1 + %t494 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 2 + %t495 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 0 + %t496 = load i32, ptr %t493 + %t497 = load i32, ptr %t494 + %t498 = icmp sge i32 %t496, %t497 + br i1 %t498, label %grow210, label %put211 +grow210: + %t499 = mul i32 %t497, 2 + %t500 = icmp eq i32 %t497, 0 + %t501 = select i1 %t500, i32 8, i32 %t499 + %t502 = getelementptr ptr, ptr null, i32 1 + %t503 = ptrtoint ptr %t502 to i64 + %t504 = zext i32 %t501 to i64 + %t505 = mul i64 %t504, %t503 + %t506 = load ptr, ptr %t495 + %t507 = call ptr @realloc(ptr %t506, i64 %t505) + store ptr %t507, ptr %t495 + store i32 %t501, ptr %t494 + br label %put211 +put211: + %t508 = load ptr, ptr %t495 + %t509 = getelementptr inbounds ptr, ptr %t508, i32 %t496 + store ptr @.str6448, ptr %t509 + %t510 = add i32 %t496, 1 + store i32 %t510, ptr %t493 + br label %ifend201 +ifend201: + %t511 = load ptr, ptr %t1 + %t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str6449) + %t513 = icmp ne i32 %t512, 0 + br i1 %t513, label %then212, label %ifend214 +then212: + store ptr @.str6450, ptr %t380 + %t514 = load ptr, ptr %t387 + %t515 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 1 + %t516 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 2 + %t517 = getelementptr inbounds %LSlice, ptr %t514, i32 0, i32 0 + %t518 = load i32, ptr %t515 + %t519 = load i32, ptr %t516 + %t520 = icmp sge i32 %t518, %t519 + br i1 %t520, label %grow215, label %put216 +grow215: + %t521 = mul i32 %t519, 2 + %t522 = icmp eq i32 %t519, 0 + %t523 = select i1 %t522, i32 8, i32 %t521 + %t524 = getelementptr ptr, ptr null, i32 1 + %t525 = ptrtoint ptr %t524 to i64 + %t526 = zext i32 %t523 to i64 + %t527 = mul i64 %t526, %t525 + %t528 = load ptr, ptr %t517 + %t529 = call ptr @realloc(ptr %t528, i64 %t527) + store ptr %t529, ptr %t517 + store i32 %t523, ptr %t516 + br label %put216 +put216: + %t530 = load ptr, ptr %t517 + %t531 = getelementptr inbounds ptr, ptr %t530, i32 %t518 + store ptr @.str6451, ptr %t531 + %t532 = add i32 %t518, 1 + store i32 %t532, ptr %t515 + %t533 = load ptr, ptr %t387 + %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 + %t535 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 2 + %t536 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 0 + %t537 = load i32, ptr %t534 + %t538 = load i32, ptr %t535 + %t539 = icmp sge i32 %t537, %t538 + br i1 %t539, label %grow217, label %put218 +grow217: + %t540 = mul i32 %t538, 2 + %t541 = icmp eq i32 %t538, 0 + %t542 = select i1 %t541, i32 8, i32 %t540 + %t543 = getelementptr ptr, ptr null, i32 1 + %t544 = ptrtoint ptr %t543 to i64 + %t545 = zext i32 %t542 to i64 + %t546 = mul i64 %t545, %t544 + %t547 = load ptr, ptr %t536 + %t548 = call ptr @realloc(ptr %t547, i64 %t546) + store ptr %t548, ptr %t536 + store i32 %t542, ptr %t535 + br label %put218 +put218: + %t549 = load ptr, ptr %t536 + %t550 = getelementptr inbounds ptr, ptr %t549, i32 %t537 + store ptr @.str6452, ptr %t550 + %t551 = add i32 %t537, 1 + store i32 %t551, ptr %t534 + %t552 = load ptr, ptr %t387 + %t553 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 1 + %t554 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 2 + %t555 = getelementptr inbounds %LSlice, ptr %t552, i32 0, i32 0 + %t556 = load i32, ptr %t553 + %t557 = load i32, ptr %t554 + %t558 = icmp sge i32 %t556, %t557 + br i1 %t558, label %grow219, label %put220 +grow219: + %t559 = mul i32 %t557, 2 + %t560 = icmp eq i32 %t557, 0 + %t561 = select i1 %t560, i32 8, i32 %t559 + %t562 = getelementptr ptr, ptr null, i32 1 + %t563 = ptrtoint ptr %t562 to i64 + %t564 = zext i32 %t561 to i64 + %t565 = mul i64 %t564, %t563 + %t566 = load ptr, ptr %t555 + %t567 = call ptr @realloc(ptr %t566, i64 %t565) + store ptr %t567, ptr %t555 + store i32 %t561, ptr %t554 + br label %put220 +put220: + %t568 = load ptr, ptr %t555 + %t569 = getelementptr inbounds ptr, ptr %t568, i32 %t556 + store ptr @.str6453, ptr %t569 + %t570 = add i32 %t556, 1 + store i32 %t570, ptr %t553 + %t571 = load ptr, ptr %t387 + %t572 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 1 + %t573 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 2 + %t574 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 0 + %t575 = load i32, ptr %t572 + %t576 = load i32, ptr %t573 + %t577 = icmp sge i32 %t575, %t576 + br i1 %t577, label %grow221, label %put222 +grow221: + %t578 = mul i32 %t576, 2 + %t579 = icmp eq i32 %t576, 0 + %t580 = select i1 %t579, i32 8, i32 %t578 + %t581 = getelementptr ptr, ptr null, i32 1 + %t582 = ptrtoint ptr %t581 to i64 + %t583 = zext i32 %t580 to i64 + %t584 = mul i64 %t583, %t582 + %t585 = load ptr, ptr %t574 + %t586 = call ptr @realloc(ptr %t585, i64 %t584) + store ptr %t586, ptr %t574 + store i32 %t580, ptr %t573 + br label %put222 +put222: + %t587 = load ptr, ptr %t574 + %t588 = getelementptr inbounds ptr, ptr %t587, i32 %t575 + store ptr @.str6454, ptr %t588 + %t589 = add i32 %t575, 1 + store i32 %t589, ptr %t572 + %t590 = load ptr, ptr %t387 + %t591 = getelementptr inbounds %LSlice, ptr %t590, i32 0, i32 1 + %t592 = getelementptr inbounds %LSlice, ptr %t590, i32 0, i32 2 + %t593 = getelementptr inbounds %LSlice, ptr %t590, i32 0, i32 0 + %t594 = load i32, ptr %t591 + %t595 = load i32, ptr %t592 + %t596 = icmp sge i32 %t594, %t595 + br i1 %t596, label %grow223, label %put224 grow223: - %t629 = mul i32 %t627, 2 - %t630 = icmp eq i32 %t627, 0 - %t631 = select i1 %t630, i32 8, i32 %t629 - %t632 = getelementptr ptr, ptr null, i32 1 - %t633 = ptrtoint ptr %t632 to i64 - %t634 = zext i32 %t631 to i64 - %t635 = mul i64 %t634, %t633 - %t636 = load ptr, ptr %t625 - %t637 = call ptr @realloc(ptr %t636, i64 %t635) - store ptr %t637, ptr %t625 - store i32 %t631, ptr %t624 + %t597 = mul i32 %t595, 2 + %t598 = icmp eq i32 %t595, 0 + %t599 = select i1 %t598, i32 8, i32 %t597 + %t600 = getelementptr ptr, ptr null, i32 1 + %t601 = ptrtoint ptr %t600 to i64 + %t602 = zext i32 %t599 to i64 + %t603 = mul i64 %t602, %t601 + %t604 = load ptr, ptr %t593 + %t605 = call ptr @realloc(ptr %t604, i64 %t603) + store ptr %t605, ptr %t593 + store i32 %t599, ptr %t592 br label %put224 put224: - %t638 = load ptr, ptr %t625 - %t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626 - store ptr @.str6150, ptr %t639 - %t640 = add i32 %t626, 1 - store i32 %t640, ptr %t623 - %t641 = load ptr, ptr %t337 - %t642 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 1 - %t643 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 2 - %t644 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 0 - %t645 = load i32, ptr %t642 - %t646 = load i32, ptr %t643 - %t647 = icmp sge i32 %t645, %t646 - br i1 %t647, label %grow225, label %put226 + %t606 = load ptr, ptr %t593 + %t607 = getelementptr inbounds ptr, ptr %t606, i32 %t594 + store ptr @.str6455, ptr %t607 + %t608 = add i32 %t594, 1 + store i32 %t608, ptr %t591 + %t609 = load ptr, ptr %t387 + %t610 = getelementptr inbounds %LSlice, ptr %t609, i32 0, i32 1 + %t611 = getelementptr inbounds %LSlice, ptr %t609, i32 0, i32 2 + %t612 = getelementptr inbounds %LSlice, ptr %t609, i32 0, i32 0 + %t613 = load i32, ptr %t610 + %t614 = load i32, ptr %t611 + %t615 = icmp sge i32 %t613, %t614 + br i1 %t615, label %grow225, label %put226 grow225: - %t648 = mul i32 %t646, 2 - %t649 = icmp eq i32 %t646, 0 - %t650 = select i1 %t649, i32 8, i32 %t648 - %t651 = getelementptr ptr, ptr null, i32 1 - %t652 = ptrtoint ptr %t651 to i64 - %t653 = zext i32 %t650 to i64 - %t654 = mul i64 %t653, %t652 - %t655 = load ptr, ptr %t644 - %t656 = call ptr @realloc(ptr %t655, i64 %t654) - store ptr %t656, ptr %t644 - store i32 %t650, ptr %t643 + %t616 = mul i32 %t614, 2 + %t617 = icmp eq i32 %t614, 0 + %t618 = select i1 %t617, i32 8, i32 %t616 + %t619 = getelementptr ptr, ptr null, i32 1 + %t620 = ptrtoint ptr %t619 to i64 + %t621 = zext i32 %t618 to i64 + %t622 = mul i64 %t621, %t620 + %t623 = load ptr, ptr %t612 + %t624 = call ptr @realloc(ptr %t623, i64 %t622) + store ptr %t624, ptr %t612 + store i32 %t618, ptr %t611 br label %put226 put226: - %t657 = load ptr, ptr %t644 - %t658 = getelementptr inbounds ptr, ptr %t657, i32 %t645 - store ptr @.str6151, ptr %t658 - %t659 = add i32 %t645, 1 - store i32 %t659, ptr %t642 - %t660 = load ptr, ptr %t337 - %t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 1 - %t662 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 2 - %t663 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0 - %t664 = load i32, ptr %t661 - %t665 = load i32, ptr %t662 - %t666 = icmp sge i32 %t664, %t665 - br i1 %t666, label %grow227, label %put228 + %t625 = load ptr, ptr %t612 + %t626 = getelementptr inbounds ptr, ptr %t625, i32 %t613 + store ptr @.str6456, ptr %t626 + %t627 = add i32 %t613, 1 + store i32 %t627, ptr %t610 + %t628 = load ptr, ptr %t387 + %t629 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 1 + %t630 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 2 + %t631 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 0 + %t632 = load i32, ptr %t629 + %t633 = load i32, ptr %t630 + %t634 = icmp sge i32 %t632, %t633 + br i1 %t634, label %grow227, label %put228 grow227: - %t667 = mul i32 %t665, 2 - %t668 = icmp eq i32 %t665, 0 - %t669 = select i1 %t668, i32 8, i32 %t667 - %t670 = getelementptr ptr, ptr null, i32 1 - %t671 = ptrtoint ptr %t670 to i64 - %t672 = zext i32 %t669 to i64 - %t673 = mul i64 %t672, %t671 - %t674 = load ptr, ptr %t663 - %t675 = call ptr @realloc(ptr %t674, i64 %t673) - store ptr %t675, ptr %t663 - store i32 %t669, ptr %t662 + %t635 = mul i32 %t633, 2 + %t636 = icmp eq i32 %t633, 0 + %t637 = select i1 %t636, i32 8, i32 %t635 + %t638 = getelementptr ptr, ptr null, i32 1 + %t639 = ptrtoint ptr %t638 to i64 + %t640 = zext i32 %t637 to i64 + %t641 = mul i64 %t640, %t639 + %t642 = load ptr, ptr %t631 + %t643 = call ptr @realloc(ptr %t642, i64 %t641) + store ptr %t643, ptr %t631 + store i32 %t637, ptr %t630 br label %put228 put228: - %t676 = load ptr, ptr %t663 - %t677 = getelementptr inbounds ptr, ptr %t676, i32 %t664 - store ptr @.str6152, ptr %t677 - %t678 = add i32 %t664, 1 - store i32 %t678, ptr %t661 - %t679 = load ptr, ptr %t337 - %t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1 - %t681 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 2 - %t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0 - %t683 = load i32, ptr %t680 - %t684 = load i32, ptr %t681 - %t685 = icmp sge i32 %t683, %t684 - br i1 %t685, label %grow229, label %put230 + %t644 = load ptr, ptr %t631 + %t645 = getelementptr inbounds ptr, ptr %t644, i32 %t632 + store ptr @.str6457, ptr %t645 + %t646 = add i32 %t632, 1 + store i32 %t646, ptr %t629 + %t647 = load ptr, ptr %t387 + %t648 = getelementptr inbounds %LSlice, ptr %t647, i32 0, i32 1 + %t649 = getelementptr inbounds %LSlice, ptr %t647, i32 0, i32 2 + %t650 = getelementptr inbounds %LSlice, ptr %t647, i32 0, i32 0 + %t651 = load i32, ptr %t648 + %t652 = load i32, ptr %t649 + %t653 = icmp sge i32 %t651, %t652 + br i1 %t653, label %grow229, label %put230 grow229: - %t686 = mul i32 %t684, 2 - %t687 = icmp eq i32 %t684, 0 - %t688 = select i1 %t687, i32 8, i32 %t686 - %t689 = getelementptr ptr, ptr null, i32 1 - %t690 = ptrtoint ptr %t689 to i64 - %t691 = zext i32 %t688 to i64 - %t692 = mul i64 %t691, %t690 - %t693 = load ptr, ptr %t682 - %t694 = call ptr @realloc(ptr %t693, i64 %t692) - store ptr %t694, ptr %t682 - store i32 %t688, ptr %t681 + %t654 = mul i32 %t652, 2 + %t655 = icmp eq i32 %t652, 0 + %t656 = select i1 %t655, i32 8, i32 %t654 + %t657 = getelementptr ptr, ptr null, i32 1 + %t658 = ptrtoint ptr %t657 to i64 + %t659 = zext i32 %t656 to i64 + %t660 = mul i64 %t659, %t658 + %t661 = load ptr, ptr %t650 + %t662 = call ptr @realloc(ptr %t661, i64 %t660) + store ptr %t662, ptr %t650 + store i32 %t656, ptr %t649 br label %put230 put230: - %t695 = load ptr, ptr %t682 - %t696 = getelementptr inbounds ptr, ptr %t695, i32 %t683 - store ptr @.str6153, ptr %t696 - %t697 = add i32 %t683, 1 - store i32 %t697, ptr %t680 - %t698 = load ptr, ptr %t337 - %t699 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 1 - %t700 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 2 - %t701 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 0 - %t702 = load i32, ptr %t699 - %t703 = load i32, ptr %t700 - %t704 = icmp sge i32 %t702, %t703 - br i1 %t704, label %grow231, label %put232 -grow231: - %t705 = mul i32 %t703, 2 - %t706 = icmp eq i32 %t703, 0 - %t707 = select i1 %t706, i32 8, i32 %t705 - %t708 = getelementptr ptr, ptr null, i32 1 - %t709 = ptrtoint ptr %t708 to i64 - %t710 = zext i32 %t707 to i64 - %t711 = mul i64 %t710, %t709 - %t712 = load ptr, ptr %t701 - %t713 = call ptr @realloc(ptr %t712, i64 %t711) - store ptr %t713, ptr %t701 - store i32 %t707, ptr %t700 - br label %put232 -put232: - %t714 = load ptr, ptr %t701 - %t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702 - store ptr @.str6154, ptr %t715 - %t716 = add i32 %t702, 1 - store i32 %t716, ptr %t699 - br label %ifend222 -ifend222: - %t717 = load ptr, ptr %t1 - %t718 = call i32 @fn_str_eq(ptr %t717, ptr @.str6155) - %t719 = icmp ne i32 %t718, 0 - br i1 %t719, label %then233, label %ifend235 -then233: - store ptr @.str6156, ptr %t330 - %t720 = load ptr, ptr %t337 - %t721 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 1 - %t722 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 2 - %t723 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 0 - %t724 = load i32, ptr %t721 - %t725 = load i32, ptr %t722 - %t726 = icmp sge i32 %t724, %t725 - br i1 %t726, label %grow236, label %put237 + %t663 = load ptr, ptr %t650 + %t664 = getelementptr inbounds ptr, ptr %t663, i32 %t651 + store ptr @.str6458, ptr %t664 + %t665 = add i32 %t651, 1 + store i32 %t665, ptr %t648 + br label %ifend214 +ifend214: + %t666 = load ptr, ptr %t1 + %t667 = call i32 @fn_str_eq(ptr %t666, ptr @.str6459) + %t668 = icmp ne i32 %t667, 0 + br i1 %t668, label %then231, label %ifend233 +then231: + store ptr @.str6460, ptr %t380 + %t669 = load ptr, ptr %t387 + %t670 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 1 + %t671 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 2 + %t672 = getelementptr inbounds %LSlice, ptr %t669, i32 0, i32 0 + %t673 = load i32, ptr %t670 + %t674 = load i32, ptr %t671 + %t675 = icmp sge i32 %t673, %t674 + br i1 %t675, label %grow234, label %put235 +grow234: + %t676 = mul i32 %t674, 2 + %t677 = icmp eq i32 %t674, 0 + %t678 = select i1 %t677, i32 8, i32 %t676 + %t679 = getelementptr ptr, ptr null, i32 1 + %t680 = ptrtoint ptr %t679 to i64 + %t681 = zext i32 %t678 to i64 + %t682 = mul i64 %t681, %t680 + %t683 = load ptr, ptr %t672 + %t684 = call ptr @realloc(ptr %t683, i64 %t682) + store ptr %t684, ptr %t672 + store i32 %t678, ptr %t671 + br label %put235 +put235: + %t685 = load ptr, ptr %t672 + %t686 = getelementptr inbounds ptr, ptr %t685, i32 %t673 + store ptr @.str6461, ptr %t686 + %t687 = add i32 %t673, 1 + store i32 %t687, ptr %t670 + %t688 = load ptr, ptr %t387 + %t689 = getelementptr inbounds %LSlice, ptr %t688, i32 0, i32 1 + %t690 = getelementptr inbounds %LSlice, ptr %t688, i32 0, i32 2 + %t691 = getelementptr inbounds %LSlice, ptr %t688, i32 0, i32 0 + %t692 = load i32, ptr %t689 + %t693 = load i32, ptr %t690 + %t694 = icmp sge i32 %t692, %t693 + br i1 %t694, label %grow236, label %put237 grow236: - %t727 = mul i32 %t725, 2 - %t728 = icmp eq i32 %t725, 0 - %t729 = select i1 %t728, i32 8, i32 %t727 - %t730 = getelementptr ptr, ptr null, i32 1 - %t731 = ptrtoint ptr %t730 to i64 - %t732 = zext i32 %t729 to i64 - %t733 = mul i64 %t732, %t731 - %t734 = load ptr, ptr %t723 - %t735 = call ptr @realloc(ptr %t734, i64 %t733) - store ptr %t735, ptr %t723 - store i32 %t729, ptr %t722 + %t695 = mul i32 %t693, 2 + %t696 = icmp eq i32 %t693, 0 + %t697 = select i1 %t696, i32 8, i32 %t695 + %t698 = getelementptr ptr, ptr null, i32 1 + %t699 = ptrtoint ptr %t698 to i64 + %t700 = zext i32 %t697 to i64 + %t701 = mul i64 %t700, %t699 + %t702 = load ptr, ptr %t691 + %t703 = call ptr @realloc(ptr %t702, i64 %t701) + store ptr %t703, ptr %t691 + store i32 %t697, ptr %t690 br label %put237 put237: - %t736 = load ptr, ptr %t723 - %t737 = getelementptr inbounds ptr, ptr %t736, i32 %t724 - store ptr @.str6157, ptr %t737 - %t738 = add i32 %t724, 1 - store i32 %t738, ptr %t721 - %t739 = load ptr, ptr %t337 - %t740 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 1 - %t741 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 2 - %t742 = getelementptr inbounds %LSlice, ptr %t739, i32 0, i32 0 - %t743 = load i32, ptr %t740 - %t744 = load i32, ptr %t741 - %t745 = icmp sge i32 %t743, %t744 - br i1 %t745, label %grow238, label %put239 + %t704 = load ptr, ptr %t691 + %t705 = getelementptr inbounds ptr, ptr %t704, i32 %t692 + store ptr @.str6462, ptr %t705 + %t706 = add i32 %t692, 1 + store i32 %t706, ptr %t689 + %t707 = load ptr, ptr %t387 + %t708 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 1 + %t709 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 2 + %t710 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 0 + %t711 = load i32, ptr %t708 + %t712 = load i32, ptr %t709 + %t713 = icmp sge i32 %t711, %t712 + br i1 %t713, label %grow238, label %put239 grow238: - %t746 = mul i32 %t744, 2 - %t747 = icmp eq i32 %t744, 0 - %t748 = select i1 %t747, i32 8, i32 %t746 - %t749 = getelementptr ptr, ptr null, i32 1 - %t750 = ptrtoint ptr %t749 to i64 - %t751 = zext i32 %t748 to i64 - %t752 = mul i64 %t751, %t750 - %t753 = load ptr, ptr %t742 - %t754 = call ptr @realloc(ptr %t753, i64 %t752) - store ptr %t754, ptr %t742 - store i32 %t748, ptr %t741 + %t714 = mul i32 %t712, 2 + %t715 = icmp eq i32 %t712, 0 + %t716 = select i1 %t715, i32 8, i32 %t714 + %t717 = getelementptr ptr, ptr null, i32 1 + %t718 = ptrtoint ptr %t717 to i64 + %t719 = zext i32 %t716 to i64 + %t720 = mul i64 %t719, %t718 + %t721 = load ptr, ptr %t710 + %t722 = call ptr @realloc(ptr %t721, i64 %t720) + store ptr %t722, ptr %t710 + store i32 %t716, ptr %t709 br label %put239 put239: - %t755 = load ptr, ptr %t742 - %t756 = getelementptr inbounds ptr, ptr %t755, i32 %t743 - store ptr @.str6158, ptr %t756 - %t757 = add i32 %t743, 1 - store i32 %t757, ptr %t740 - %t758 = load ptr, ptr %t337 - %t759 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 1 - %t760 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 2 - %t761 = getelementptr inbounds %LSlice, ptr %t758, i32 0, i32 0 - %t762 = load i32, ptr %t759 - %t763 = load i32, ptr %t760 - %t764 = icmp sge i32 %t762, %t763 - br i1 %t764, label %grow240, label %put241 + %t723 = load ptr, ptr %t710 + %t724 = getelementptr inbounds ptr, ptr %t723, i32 %t711 + store ptr @.str6463, ptr %t724 + %t725 = add i32 %t711, 1 + store i32 %t725, ptr %t708 + %t726 = load ptr, ptr %t387 + %t727 = getelementptr inbounds %LSlice, ptr %t726, i32 0, i32 1 + %t728 = getelementptr inbounds %LSlice, ptr %t726, i32 0, i32 2 + %t729 = getelementptr inbounds %LSlice, ptr %t726, i32 0, i32 0 + %t730 = load i32, ptr %t727 + %t731 = load i32, ptr %t728 + %t732 = icmp sge i32 %t730, %t731 + br i1 %t732, label %grow240, label %put241 grow240: - %t765 = mul i32 %t763, 2 - %t766 = icmp eq i32 %t763, 0 - %t767 = select i1 %t766, i32 8, i32 %t765 - %t768 = getelementptr ptr, ptr null, i32 1 - %t769 = ptrtoint ptr %t768 to i64 - %t770 = zext i32 %t767 to i64 - %t771 = mul i64 %t770, %t769 - %t772 = load ptr, ptr %t761 - %t773 = call ptr @realloc(ptr %t772, i64 %t771) - store ptr %t773, ptr %t761 - store i32 %t767, ptr %t760 + %t733 = mul i32 %t731, 2 + %t734 = icmp eq i32 %t731, 0 + %t735 = select i1 %t734, i32 8, i32 %t733 + %t736 = getelementptr ptr, ptr null, i32 1 + %t737 = ptrtoint ptr %t736 to i64 + %t738 = zext i32 %t735 to i64 + %t739 = mul i64 %t738, %t737 + %t740 = load ptr, ptr %t729 + %t741 = call ptr @realloc(ptr %t740, i64 %t739) + store ptr %t741, ptr %t729 + store i32 %t735, ptr %t728 br label %put241 put241: - %t774 = load ptr, ptr %t761 - %t775 = getelementptr inbounds ptr, ptr %t774, i32 %t762 - store ptr @.str6159, ptr %t775 - %t776 = add i32 %t762, 1 - store i32 %t776, ptr %t759 - %t777 = load ptr, ptr %t337 - %t778 = getelementptr inbounds %LSlice, ptr %t777, i32 0, i32 1 - %t779 = getelementptr inbounds %LSlice, ptr %t777, i32 0, i32 2 - %t780 = getelementptr inbounds %LSlice, ptr %t777, i32 0, i32 0 - %t781 = load i32, ptr %t778 - %t782 = load i32, ptr %t779 - %t783 = icmp sge i32 %t781, %t782 - br i1 %t783, label %grow242, label %put243 + %t742 = load ptr, ptr %t729 + %t743 = getelementptr inbounds ptr, ptr %t742, i32 %t730 + store ptr @.str6464, ptr %t743 + %t744 = add i32 %t730, 1 + store i32 %t744, ptr %t727 + %t745 = load ptr, ptr %t387 + %t746 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 1 + %t747 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 2 + %t748 = getelementptr inbounds %LSlice, ptr %t745, i32 0, i32 0 + %t749 = load i32, ptr %t746 + %t750 = load i32, ptr %t747 + %t751 = icmp sge i32 %t749, %t750 + br i1 %t751, label %grow242, label %put243 grow242: - %t784 = mul i32 %t782, 2 - %t785 = icmp eq i32 %t782, 0 - %t786 = select i1 %t785, i32 8, i32 %t784 - %t787 = getelementptr ptr, ptr null, i32 1 - %t788 = ptrtoint ptr %t787 to i64 - %t789 = zext i32 %t786 to i64 - %t790 = mul i64 %t789, %t788 - %t791 = load ptr, ptr %t780 - %t792 = call ptr @realloc(ptr %t791, i64 %t790) - store ptr %t792, ptr %t780 - store i32 %t786, ptr %t779 + %t752 = mul i32 %t750, 2 + %t753 = icmp eq i32 %t750, 0 + %t754 = select i1 %t753, i32 8, i32 %t752 + %t755 = getelementptr ptr, ptr null, i32 1 + %t756 = ptrtoint ptr %t755 to i64 + %t757 = zext i32 %t754 to i64 + %t758 = mul i64 %t757, %t756 + %t759 = load ptr, ptr %t748 + %t760 = call ptr @realloc(ptr %t759, i64 %t758) + store ptr %t760, ptr %t748 + store i32 %t754, ptr %t747 br label %put243 put243: - %t793 = load ptr, ptr %t780 - %t794 = getelementptr inbounds ptr, ptr %t793, i32 %t781 - store ptr @.str6160, ptr %t794 - %t795 = add i32 %t781, 1 - store i32 %t795, ptr %t778 - %t796 = load ptr, ptr %t337 - %t797 = getelementptr inbounds %LSlice, ptr %t796, i32 0, i32 1 - %t798 = getelementptr inbounds %LSlice, ptr %t796, i32 0, i32 2 - %t799 = getelementptr inbounds %LSlice, ptr %t796, i32 0, i32 0 - %t800 = load i32, ptr %t797 - %t801 = load i32, ptr %t798 - %t802 = icmp sge i32 %t800, %t801 - br i1 %t802, label %grow244, label %put245 -grow244: - %t803 = mul i32 %t801, 2 - %t804 = icmp eq i32 %t801, 0 - %t805 = select i1 %t804, i32 8, i32 %t803 - %t806 = getelementptr ptr, ptr null, i32 1 - %t807 = ptrtoint ptr %t806 to i64 - %t808 = zext i32 %t805 to i64 - %t809 = mul i64 %t808, %t807 - %t810 = load ptr, ptr %t799 - %t811 = call ptr @realloc(ptr %t810, i64 %t809) - store ptr %t811, ptr %t799 - store i32 %t805, ptr %t798 - br label %put245 -put245: - %t812 = load ptr, ptr %t799 - %t813 = getelementptr inbounds ptr, ptr %t812, i32 %t800 - store ptr @.str6161, ptr %t813 - %t814 = add i32 %t800, 1 - store i32 %t814, ptr %t797 - br label %ifend235 -ifend235: - %t815 = load ptr, ptr %t1 - %t816 = call i32 @fn_str_eq(ptr %t815, ptr @.str6162) - %t817 = icmp ne i32 %t816, 0 - br i1 %t817, label %then246, label %ifend248 -then246: - store ptr @.str6163, ptr %t330 - br label %ifend248 -ifend248: - %t818 = load ptr, ptr %t1 - %t819 = call i32 @fn_str_eq(ptr %t818, ptr @.str6164) - %t820 = icmp ne i32 %t819, 0 - br i1 %t820, label %then249, label %ifend251 -then249: - store ptr @.str6165, ptr %t330 - br label %ifend251 -ifend251: - %t821 = load ptr, ptr %t1 - %t822 = call i32 @fn_str_eq(ptr %t821, ptr @.str6166) - %t823 = icmp ne i32 %t822, 0 - br i1 %t823, label %then252, label %ifend254 -then252: - store ptr @.str6167, ptr %t330 - br label %ifend254 -ifend254: + %t761 = load ptr, ptr %t748 + %t762 = getelementptr inbounds ptr, ptr %t761, i32 %t749 + store ptr @.str6465, ptr %t762 + %t763 = add i32 %t749, 1 + store i32 %t763, ptr %t746 + br label %ifend233 +ifend233: + %t764 = load ptr, ptr %t1 + %t765 = call i32 @fn_str_eq(ptr %t764, ptr @.str6466) + %t766 = icmp ne i32 %t765, 0 + br i1 %t766, label %then244, label %ifend246 +then244: + store ptr @.str6467, ptr %t380 + %t767 = load ptr, ptr %t387 + %t768 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 1 + %t769 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 2 + %t770 = getelementptr inbounds %LSlice, ptr %t767, i32 0, i32 0 + %t771 = load i32, ptr %t768 + %t772 = load i32, ptr %t769 + %t773 = icmp sge i32 %t771, %t772 + br i1 %t773, label %grow247, label %put248 +grow247: + %t774 = mul i32 %t772, 2 + %t775 = icmp eq i32 %t772, 0 + %t776 = select i1 %t775, i32 8, i32 %t774 + %t777 = getelementptr ptr, ptr null, i32 1 + %t778 = ptrtoint ptr %t777 to i64 + %t779 = zext i32 %t776 to i64 + %t780 = mul i64 %t779, %t778 + %t781 = load ptr, ptr %t770 + %t782 = call ptr @realloc(ptr %t781, i64 %t780) + store ptr %t782, ptr %t770 + store i32 %t776, ptr %t769 + br label %put248 +put248: + %t783 = load ptr, ptr %t770 + %t784 = getelementptr inbounds ptr, ptr %t783, i32 %t771 + store ptr @.str6468, ptr %t784 + %t785 = add i32 %t771, 1 + store i32 %t785, ptr %t768 + %t786 = load ptr, ptr %t387 + %t787 = getelementptr inbounds %LSlice, ptr %t786, i32 0, i32 1 + %t788 = getelementptr inbounds %LSlice, ptr %t786, i32 0, i32 2 + %t789 = getelementptr inbounds %LSlice, ptr %t786, i32 0, i32 0 + %t790 = load i32, ptr %t787 + %t791 = load i32, ptr %t788 + %t792 = icmp sge i32 %t790, %t791 + br i1 %t792, label %grow249, label %put250 +grow249: + %t793 = mul i32 %t791, 2 + %t794 = icmp eq i32 %t791, 0 + %t795 = select i1 %t794, i32 8, i32 %t793 + %t796 = getelementptr ptr, ptr null, i32 1 + %t797 = ptrtoint ptr %t796 to i64 + %t798 = zext i32 %t795 to i64 + %t799 = mul i64 %t798, %t797 + %t800 = load ptr, ptr %t789 + %t801 = call ptr @realloc(ptr %t800, i64 %t799) + store ptr %t801, ptr %t789 + store i32 %t795, ptr %t788 + br label %put250 +put250: + %t802 = load ptr, ptr %t789 + %t803 = getelementptr inbounds ptr, ptr %t802, i32 %t790 + store ptr @.str6469, ptr %t803 + %t804 = add i32 %t790, 1 + store i32 %t804, ptr %t787 + %t805 = load ptr, ptr %t387 + %t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 1 + %t807 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 2 + %t808 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 0 + %t809 = load i32, ptr %t806 + %t810 = load i32, ptr %t807 + %t811 = icmp sge i32 %t809, %t810 + br i1 %t811, label %grow251, label %put252 +grow251: + %t812 = mul i32 %t810, 2 + %t813 = icmp eq i32 %t810, 0 + %t814 = select i1 %t813, i32 8, i32 %t812 + %t815 = getelementptr ptr, ptr null, i32 1 + %t816 = ptrtoint ptr %t815 to i64 + %t817 = zext i32 %t814 to i64 + %t818 = mul i64 %t817, %t816 + %t819 = load ptr, ptr %t808 + %t820 = call ptr @realloc(ptr %t819, i64 %t818) + store ptr %t820, ptr %t808 + store i32 %t814, ptr %t807 + br label %put252 +put252: + %t821 = load ptr, ptr %t808 + %t822 = getelementptr inbounds ptr, ptr %t821, i32 %t809 + store ptr @.str6470, ptr %t822 + %t823 = add i32 %t809, 1 + store i32 %t823, ptr %t806 + br label %ifend246 +ifend246: %t824 = load ptr, ptr %t1 - %t825 = call i32 @fn_str_eq(ptr %t824, ptr @.str6168) + %t825 = call i32 @fn_str_eq(ptr %t824, ptr @.str6471) %t826 = icmp ne i32 %t825, 0 - br i1 %t826, label %then255, label %ifend257 -then255: - store ptr @.str6169, ptr %t330 - %t827 = load ptr, ptr %t337 + br i1 %t826, label %then253, label %ifend255 +then253: + store ptr @.str6472, ptr %t380 + %t827 = load ptr, ptr %t387 %t828 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 1 %t829 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 2 %t830 = getelementptr inbounds %LSlice, ptr %t827, i32 0, i32 0 %t831 = load i32, ptr %t828 %t832 = load i32, ptr %t829 %t833 = icmp sge i32 %t831, %t832 - br i1 %t833, label %grow258, label %put259 -grow258: + br i1 %t833, label %grow256, label %put257 +grow256: %t834 = mul i32 %t832, 2 %t835 = icmp eq i32 %t832, 0 %t836 = select i1 %t835, i32 8, i32 %t834 @@ -57715,138 +64198,138 @@ grow258: %t842 = call ptr @realloc(ptr %t841, i64 %t840) store ptr %t842, ptr %t830 store i32 %t836, ptr %t829 - br label %put259 -put259: + br label %put257 +put257: %t843 = load ptr, ptr %t830 %t844 = getelementptr inbounds ptr, ptr %t843, i32 %t831 - store ptr @.str6170, ptr %t844 + store ptr @.str6473, ptr %t844 %t845 = add i32 %t831, 1 store i32 %t845, ptr %t828 - br label %ifend257 -ifend257: - %t846 = load ptr, ptr %t1 - %t847 = call i32 @fn_str_eq(ptr %t846, ptr @.str6171) - %t848 = icmp ne i32 %t847, 0 - br i1 %t848, label %then260, label %ifend262 -then260: - store ptr @.str6172, ptr %t330 - %t849 = load ptr, ptr %t337 - %t850 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 1 - %t851 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 2 - %t852 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 0 - %t853 = load i32, ptr %t850 - %t854 = load i32, ptr %t851 - %t855 = icmp sge i32 %t853, %t854 - br i1 %t855, label %grow263, label %put264 -grow263: - %t856 = mul i32 %t854, 2 - %t857 = icmp eq i32 %t854, 0 - %t858 = select i1 %t857, i32 8, i32 %t856 - %t859 = getelementptr ptr, ptr null, i32 1 - %t860 = ptrtoint ptr %t859 to i64 - %t861 = zext i32 %t858 to i64 - %t862 = mul i64 %t861, %t860 - %t863 = load ptr, ptr %t852 - %t864 = call ptr @realloc(ptr %t863, i64 %t862) - store ptr %t864, ptr %t852 - store i32 %t858, ptr %t851 - br label %put264 -put264: - %t865 = load ptr, ptr %t852 - %t866 = getelementptr inbounds ptr, ptr %t865, i32 %t853 - store ptr @.str6173, ptr %t866 - %t867 = add i32 %t853, 1 - store i32 %t867, ptr %t850 - %t868 = load ptr, ptr %t337 - %t869 = getelementptr inbounds %LSlice, ptr %t868, i32 0, i32 1 - %t870 = getelementptr inbounds %LSlice, ptr %t868, i32 0, i32 2 - %t871 = getelementptr inbounds %LSlice, ptr %t868, i32 0, i32 0 - %t872 = load i32, ptr %t869 - %t873 = load i32, ptr %t870 - %t874 = icmp sge i32 %t872, %t873 - br i1 %t874, label %grow265, label %put266 -grow265: - %t875 = mul i32 %t873, 2 - %t876 = icmp eq i32 %t873, 0 - %t877 = select i1 %t876, i32 8, i32 %t875 - %t878 = getelementptr ptr, ptr null, i32 1 - %t879 = ptrtoint ptr %t878 to i64 - %t880 = zext i32 %t877 to i64 - %t881 = mul i64 %t880, %t879 - %t882 = load ptr, ptr %t871 - %t883 = call ptr @realloc(ptr %t882, i64 %t881) - store ptr %t883, ptr %t871 - store i32 %t877, ptr %t870 - br label %put266 -put266: - %t884 = load ptr, ptr %t871 - %t885 = getelementptr inbounds ptr, ptr %t884, i32 %t872 - store ptr @.str6174, ptr %t885 - %t886 = add i32 %t872, 1 - store i32 %t886, ptr %t869 - %t887 = load ptr, ptr %t337 - %t888 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 1 - %t889 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 2 - %t890 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 0 - %t891 = load i32, ptr %t888 - %t892 = load i32, ptr %t889 - %t893 = icmp sge i32 %t891, %t892 - br i1 %t893, label %grow267, label %put268 -grow267: - %t894 = mul i32 %t892, 2 - %t895 = icmp eq i32 %t892, 0 - %t896 = select i1 %t895, i32 8, i32 %t894 - %t897 = getelementptr ptr, ptr null, i32 1 - %t898 = ptrtoint ptr %t897 to i64 - %t899 = zext i32 %t896 to i64 - %t900 = mul i64 %t899, %t898 - %t901 = load ptr, ptr %t890 - %t902 = call ptr @realloc(ptr %t901, i64 %t900) - store ptr %t902, ptr %t890 - store i32 %t896, ptr %t889 - br label %put268 -put268: - %t903 = load ptr, ptr %t890 - %t904 = getelementptr inbounds ptr, ptr %t903, i32 %t891 - store ptr @.str6175, ptr %t904 - %t905 = add i32 %t891, 1 - store i32 %t905, ptr %t888 - %t906 = load ptr, ptr %t337 - %t907 = getelementptr inbounds %LSlice, ptr %t906, i32 0, i32 1 - %t908 = getelementptr inbounds %LSlice, ptr %t906, i32 0, i32 2 - %t909 = getelementptr inbounds %LSlice, ptr %t906, i32 0, i32 0 - %t910 = load i32, ptr %t907 - %t911 = load i32, ptr %t908 - %t912 = icmp sge i32 %t910, %t911 - br i1 %t912, label %grow269, label %put270 -grow269: - %t913 = mul i32 %t911, 2 - %t914 = icmp eq i32 %t911, 0 - %t915 = select i1 %t914, i32 8, i32 %t913 - %t916 = getelementptr ptr, ptr null, i32 1 - %t917 = ptrtoint ptr %t916 to i64 - %t918 = zext i32 %t915 to i64 - %t919 = mul i64 %t918, %t917 - %t920 = load ptr, ptr %t909 - %t921 = call ptr @realloc(ptr %t920, i64 %t919) - store ptr %t921, ptr %t909 - store i32 %t915, ptr %t908 - br label %put270 -put270: - %t922 = load ptr, ptr %t909 - %t923 = getelementptr inbounds ptr, ptr %t922, i32 %t910 - store ptr @.str6176, ptr %t923 - %t924 = add i32 %t910, 1 - store i32 %t924, ptr %t907 - %t925 = load ptr, ptr %t337 + %t846 = load ptr, ptr %t387 + %t847 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 1 + %t848 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 2 + %t849 = getelementptr inbounds %LSlice, ptr %t846, i32 0, i32 0 + %t850 = load i32, ptr %t847 + %t851 = load i32, ptr %t848 + %t852 = icmp sge i32 %t850, %t851 + br i1 %t852, label %grow258, label %put259 +grow258: + %t853 = mul i32 %t851, 2 + %t854 = icmp eq i32 %t851, 0 + %t855 = select i1 %t854, i32 8, i32 %t853 + %t856 = getelementptr ptr, ptr null, i32 1 + %t857 = ptrtoint ptr %t856 to i64 + %t858 = zext i32 %t855 to i64 + %t859 = mul i64 %t858, %t857 + %t860 = load ptr, ptr %t849 + %t861 = call ptr @realloc(ptr %t860, i64 %t859) + store ptr %t861, ptr %t849 + store i32 %t855, ptr %t848 + br label %put259 +put259: + %t862 = load ptr, ptr %t849 + %t863 = getelementptr inbounds ptr, ptr %t862, i32 %t850 + store ptr @.str6474, ptr %t863 + %t864 = add i32 %t850, 1 + store i32 %t864, ptr %t847 + %t865 = load ptr, ptr %t387 + %t866 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 1 + %t867 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 2 + %t868 = getelementptr inbounds %LSlice, ptr %t865, i32 0, i32 0 + %t869 = load i32, ptr %t866 + %t870 = load i32, ptr %t867 + %t871 = icmp sge i32 %t869, %t870 + br i1 %t871, label %grow260, label %put261 +grow260: + %t872 = mul i32 %t870, 2 + %t873 = icmp eq i32 %t870, 0 + %t874 = select i1 %t873, i32 8, i32 %t872 + %t875 = getelementptr ptr, ptr null, i32 1 + %t876 = ptrtoint ptr %t875 to i64 + %t877 = zext i32 %t874 to i64 + %t878 = mul i64 %t877, %t876 + %t879 = load ptr, ptr %t868 + %t880 = call ptr @realloc(ptr %t879, i64 %t878) + store ptr %t880, ptr %t868 + store i32 %t874, ptr %t867 + br label %put261 +put261: + %t881 = load ptr, ptr %t868 + %t882 = getelementptr inbounds ptr, ptr %t881, i32 %t869 + store ptr @.str6475, ptr %t882 + %t883 = add i32 %t869, 1 + store i32 %t883, ptr %t866 + %t884 = load ptr, ptr %t387 + %t885 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 1 + %t886 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 2 + %t887 = getelementptr inbounds %LSlice, ptr %t884, i32 0, i32 0 + %t888 = load i32, ptr %t885 + %t889 = load i32, ptr %t886 + %t890 = icmp sge i32 %t888, %t889 + br i1 %t890, label %grow262, label %put263 +grow262: + %t891 = mul i32 %t889, 2 + %t892 = icmp eq i32 %t889, 0 + %t893 = select i1 %t892, i32 8, i32 %t891 + %t894 = getelementptr ptr, ptr null, i32 1 + %t895 = ptrtoint ptr %t894 to i64 + %t896 = zext i32 %t893 to i64 + %t897 = mul i64 %t896, %t895 + %t898 = load ptr, ptr %t887 + %t899 = call ptr @realloc(ptr %t898, i64 %t897) + store ptr %t899, ptr %t887 + store i32 %t893, ptr %t886 + br label %put263 +put263: + %t900 = load ptr, ptr %t887 + %t901 = getelementptr inbounds ptr, ptr %t900, i32 %t888 + store ptr @.str6476, ptr %t901 + %t902 = add i32 %t888, 1 + store i32 %t902, ptr %t885 + %t903 = load ptr, ptr %t387 + %t904 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 1 + %t905 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 2 + %t906 = getelementptr inbounds %LSlice, ptr %t903, i32 0, i32 0 + %t907 = load i32, ptr %t904 + %t908 = load i32, ptr %t905 + %t909 = icmp sge i32 %t907, %t908 + br i1 %t909, label %grow264, label %put265 +grow264: + %t910 = mul i32 %t908, 2 + %t911 = icmp eq i32 %t908, 0 + %t912 = select i1 %t911, i32 8, i32 %t910 + %t913 = getelementptr ptr, ptr null, i32 1 + %t914 = ptrtoint ptr %t913 to i64 + %t915 = zext i32 %t912 to i64 + %t916 = mul i64 %t915, %t914 + %t917 = load ptr, ptr %t906 + %t918 = call ptr @realloc(ptr %t917, i64 %t916) + store ptr %t918, ptr %t906 + store i32 %t912, ptr %t905 + br label %put265 +put265: + %t919 = load ptr, ptr %t906 + %t920 = getelementptr inbounds ptr, ptr %t919, i32 %t907 + store ptr @.str6477, ptr %t920 + %t921 = add i32 %t907, 1 + store i32 %t921, ptr %t904 + br label %ifend255 +ifend255: + %t922 = load ptr, ptr %t1 + %t923 = call i32 @fn_str_eq(ptr %t922, ptr @.str6478) + %t924 = icmp ne i32 %t923, 0 + br i1 %t924, label %then266, label %ifend268 +then266: + store ptr @.str6479, ptr %t380 + %t925 = load ptr, ptr %t387 %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 %t927 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 2 %t928 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 0 %t929 = load i32, ptr %t926 %t930 = load i32, ptr %t927 %t931 = icmp sge i32 %t929, %t930 - br i1 %t931, label %grow271, label %put272 -grow271: + br i1 %t931, label %grow269, label %put270 +grow269: %t932 = mul i32 %t930, 2 %t933 = icmp eq i32 %t930, 0 %t934 = select i1 %t933, i32 8, i32 %t932 @@ -57858,1225 +64341,1225 @@ grow271: %t940 = call ptr @realloc(ptr %t939, i64 %t938) store ptr %t940, ptr %t928 store i32 %t934, ptr %t927 - br label %put272 -put272: + br label %put270 +put270: %t941 = load ptr, ptr %t928 %t942 = getelementptr inbounds ptr, ptr %t941, i32 %t929 - store ptr @.str6177, ptr %t942 + store ptr @.str6480, ptr %t942 %t943 = add i32 %t929, 1 store i32 %t943, ptr %t926 - br label %ifend262 -ifend262: - %t944 = load ptr, ptr %t1 - %t945 = call i32 @fn_str_eq(ptr %t944, ptr @.str6178) - %t946 = icmp ne i32 %t945, 0 - br i1 %t946, label %then273, label %ifend275 -then273: - store ptr @.str6179, ptr %t330 - %t947 = load ptr, ptr %t337 - %t948 = getelementptr inbounds %LSlice, ptr %t947, i32 0, i32 1 - %t949 = getelementptr inbounds %LSlice, ptr %t947, i32 0, i32 2 - %t950 = getelementptr inbounds %LSlice, ptr %t947, i32 0, i32 0 - %t951 = load i32, ptr %t948 - %t952 = load i32, ptr %t949 - %t953 = icmp sge i32 %t951, %t952 - br i1 %t953, label %grow276, label %put277 -grow276: - %t954 = mul i32 %t952, 2 - %t955 = icmp eq i32 %t952, 0 - %t956 = select i1 %t955, i32 8, i32 %t954 - %t957 = getelementptr ptr, ptr null, i32 1 - %t958 = ptrtoint ptr %t957 to i64 - %t959 = zext i32 %t956 to i64 - %t960 = mul i64 %t959, %t958 - %t961 = load ptr, ptr %t950 - %t962 = call ptr @realloc(ptr %t961, i64 %t960) - store ptr %t962, ptr %t950 - store i32 %t956, ptr %t949 - br label %put277 -put277: - %t963 = load ptr, ptr %t950 - %t964 = getelementptr inbounds ptr, ptr %t963, i32 %t951 - store ptr @.str6180, ptr %t964 - %t965 = add i32 %t951, 1 - store i32 %t965, ptr %t948 - %t966 = load ptr, ptr %t337 - %t967 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 1 - %t968 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 2 - %t969 = getelementptr inbounds %LSlice, ptr %t966, i32 0, i32 0 - %t970 = load i32, ptr %t967 - %t971 = load i32, ptr %t968 - %t972 = icmp sge i32 %t970, %t971 - br i1 %t972, label %grow278, label %put279 -grow278: - %t973 = mul i32 %t971, 2 - %t974 = icmp eq i32 %t971, 0 - %t975 = select i1 %t974, i32 8, i32 %t973 - %t976 = getelementptr ptr, ptr null, i32 1 - %t977 = ptrtoint ptr %t976 to i64 - %t978 = zext i32 %t975 to i64 - %t979 = mul i64 %t978, %t977 - %t980 = load ptr, ptr %t969 - %t981 = call ptr @realloc(ptr %t980, i64 %t979) - store ptr %t981, ptr %t969 - store i32 %t975, ptr %t968 - br label %put279 -put279: - %t982 = load ptr, ptr %t969 - %t983 = getelementptr inbounds ptr, ptr %t982, i32 %t970 - store ptr @.str6181, ptr %t983 - %t984 = add i32 %t970, 1 - store i32 %t984, ptr %t967 - %t985 = load ptr, ptr %t337 - %t986 = getelementptr inbounds %LSlice, ptr %t985, i32 0, i32 1 - %t987 = getelementptr inbounds %LSlice, ptr %t985, i32 0, i32 2 - %t988 = getelementptr inbounds %LSlice, ptr %t985, i32 0, i32 0 - %t989 = load i32, ptr %t986 - %t990 = load i32, ptr %t987 - %t991 = icmp sge i32 %t989, %t990 - br i1 %t991, label %grow280, label %put281 -grow280: - %t992 = mul i32 %t990, 2 - %t993 = icmp eq i32 %t990, 0 - %t994 = select i1 %t993, i32 8, i32 %t992 - %t995 = getelementptr ptr, ptr null, i32 1 - %t996 = ptrtoint ptr %t995 to i64 - %t997 = zext i32 %t994 to i64 - %t998 = mul i64 %t997, %t996 - %t999 = load ptr, ptr %t988 - %t1000 = call ptr @realloc(ptr %t999, i64 %t998) - store ptr %t1000, ptr %t988 - store i32 %t994, ptr %t987 - br label %put281 -put281: - %t1001 = load ptr, ptr %t988 - %t1002 = getelementptr inbounds ptr, ptr %t1001, i32 %t989 - store ptr @.str6182, ptr %t1002 - %t1003 = add i32 %t989, 1 - store i32 %t1003, ptr %t986 - %t1004 = load ptr, ptr %t337 - %t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1 - %t1006 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 2 - %t1007 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 0 - %t1008 = load i32, ptr %t1005 - %t1009 = load i32, ptr %t1006 - %t1010 = icmp sge i32 %t1008, %t1009 - br i1 %t1010, label %grow282, label %put283 -grow282: - %t1011 = mul i32 %t1009, 2 - %t1012 = icmp eq i32 %t1009, 0 - %t1013 = select i1 %t1012, i32 8, i32 %t1011 - %t1014 = getelementptr ptr, ptr null, i32 1 - %t1015 = ptrtoint ptr %t1014 to i64 - %t1016 = zext i32 %t1013 to i64 - %t1017 = mul i64 %t1016, %t1015 - %t1018 = load ptr, ptr %t1007 - %t1019 = call ptr @realloc(ptr %t1018, i64 %t1017) - store ptr %t1019, ptr %t1007 - store i32 %t1013, ptr %t1006 - br label %put283 -put283: - %t1020 = load ptr, ptr %t1007 - %t1021 = getelementptr inbounds ptr, ptr %t1020, i32 %t1008 - store ptr @.str6183, ptr %t1021 - %t1022 = add i32 %t1008, 1 - store i32 %t1022, ptr %t1005 - br label %ifend275 -ifend275: + %t944 = load ptr, ptr %t387 + %t945 = getelementptr inbounds %LSlice, ptr %t944, i32 0, i32 1 + %t946 = getelementptr inbounds %LSlice, ptr %t944, i32 0, i32 2 + %t947 = getelementptr inbounds %LSlice, ptr %t944, i32 0, i32 0 + %t948 = load i32, ptr %t945 + %t949 = load i32, ptr %t946 + %t950 = icmp sge i32 %t948, %t949 + br i1 %t950, label %grow271, label %put272 +grow271: + %t951 = mul i32 %t949, 2 + %t952 = icmp eq i32 %t949, 0 + %t953 = select i1 %t952, i32 8, i32 %t951 + %t954 = getelementptr ptr, ptr null, i32 1 + %t955 = ptrtoint ptr %t954 to i64 + %t956 = zext i32 %t953 to i64 + %t957 = mul i64 %t956, %t955 + %t958 = load ptr, ptr %t947 + %t959 = call ptr @realloc(ptr %t958, i64 %t957) + store ptr %t959, ptr %t947 + store i32 %t953, ptr %t946 + br label %put272 +put272: + %t960 = load ptr, ptr %t947 + %t961 = getelementptr inbounds ptr, ptr %t960, i32 %t948 + store ptr @.str6481, ptr %t961 + %t962 = add i32 %t948, 1 + store i32 %t962, ptr %t945 + %t963 = load ptr, ptr %t387 + %t964 = getelementptr inbounds %LSlice, ptr %t963, i32 0, i32 1 + %t965 = getelementptr inbounds %LSlice, ptr %t963, i32 0, i32 2 + %t966 = getelementptr inbounds %LSlice, ptr %t963, i32 0, i32 0 + %t967 = load i32, ptr %t964 + %t968 = load i32, ptr %t965 + %t969 = icmp sge i32 %t967, %t968 + br i1 %t969, label %grow273, label %put274 +grow273: + %t970 = mul i32 %t968, 2 + %t971 = icmp eq i32 %t968, 0 + %t972 = select i1 %t971, i32 8, i32 %t970 + %t973 = getelementptr ptr, ptr null, i32 1 + %t974 = ptrtoint ptr %t973 to i64 + %t975 = zext i32 %t972 to i64 + %t976 = mul i64 %t975, %t974 + %t977 = load ptr, ptr %t966 + %t978 = call ptr @realloc(ptr %t977, i64 %t976) + store ptr %t978, ptr %t966 + store i32 %t972, ptr %t965 + br label %put274 +put274: + %t979 = load ptr, ptr %t966 + %t980 = getelementptr inbounds ptr, ptr %t979, i32 %t967 + store ptr @.str6482, ptr %t980 + %t981 = add i32 %t967, 1 + store i32 %t981, ptr %t964 + %t982 = load ptr, ptr %t387 + %t983 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 1 + %t984 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 2 + %t985 = getelementptr inbounds %LSlice, ptr %t982, i32 0, i32 0 + %t986 = load i32, ptr %t983 + %t987 = load i32, ptr %t984 + %t988 = icmp sge i32 %t986, %t987 + br i1 %t988, label %grow275, label %put276 +grow275: + %t989 = mul i32 %t987, 2 + %t990 = icmp eq i32 %t987, 0 + %t991 = select i1 %t990, i32 8, i32 %t989 + %t992 = getelementptr ptr, ptr null, i32 1 + %t993 = ptrtoint ptr %t992 to i64 + %t994 = zext i32 %t991 to i64 + %t995 = mul i64 %t994, %t993 + %t996 = load ptr, ptr %t985 + %t997 = call ptr @realloc(ptr %t996, i64 %t995) + store ptr %t997, ptr %t985 + store i32 %t991, ptr %t984 + br label %put276 +put276: + %t998 = load ptr, ptr %t985 + %t999 = getelementptr inbounds ptr, ptr %t998, i32 %t986 + store ptr @.str6483, ptr %t999 + %t1000 = add i32 %t986, 1 + store i32 %t1000, ptr %t983 + %t1001 = load ptr, ptr %t387 + %t1002 = getelementptr inbounds %LSlice, ptr %t1001, i32 0, i32 1 + %t1003 = getelementptr inbounds %LSlice, ptr %t1001, i32 0, i32 2 + %t1004 = getelementptr inbounds %LSlice, ptr %t1001, i32 0, i32 0 + %t1005 = load i32, ptr %t1002 + %t1006 = load i32, ptr %t1003 + %t1007 = icmp sge i32 %t1005, %t1006 + br i1 %t1007, label %grow277, label %put278 +grow277: + %t1008 = mul i32 %t1006, 2 + %t1009 = icmp eq i32 %t1006, 0 + %t1010 = select i1 %t1009, i32 8, i32 %t1008 + %t1011 = getelementptr ptr, ptr null, i32 1 + %t1012 = ptrtoint ptr %t1011 to i64 + %t1013 = zext i32 %t1010 to i64 + %t1014 = mul i64 %t1013, %t1012 + %t1015 = load ptr, ptr %t1004 + %t1016 = call ptr @realloc(ptr %t1015, i64 %t1014) + store ptr %t1016, ptr %t1004 + store i32 %t1010, ptr %t1003 + br label %put278 +put278: + %t1017 = load ptr, ptr %t1004 + %t1018 = getelementptr inbounds ptr, ptr %t1017, i32 %t1005 + store ptr @.str6484, ptr %t1018 + %t1019 = add i32 %t1005, 1 + store i32 %t1019, ptr %t1002 + br label %ifend268 +ifend268: + %t1020 = load ptr, ptr %t1 + %t1021 = call i32 @fn_str_eq(ptr %t1020, ptr @.str6485) + %t1022 = icmp ne i32 %t1021, 0 + br i1 %t1022, label %then279, label %ifend281 +then279: + store ptr @.str6486, ptr %t380 + br label %ifend281 +ifend281: %t1023 = load ptr, ptr %t1 - %t1024 = call i32 @fn_str_eq(ptr %t1023, ptr @.str6184) + %t1024 = call i32 @fn_str_eq(ptr %t1023, ptr @.str6487) %t1025 = icmp ne i32 %t1024, 0 - br i1 %t1025, label %then284, label %ifend286 -then284: - store ptr @.str6185, ptr %t330 - %t1026 = load ptr, ptr %t337 - %t1027 = getelementptr inbounds %LSlice, ptr %t1026, i32 0, i32 1 - %t1028 = getelementptr inbounds %LSlice, ptr %t1026, i32 0, i32 2 - %t1029 = getelementptr inbounds %LSlice, ptr %t1026, i32 0, i32 0 - %t1030 = load i32, ptr %t1027 - %t1031 = load i32, ptr %t1028 - %t1032 = icmp sge i32 %t1030, %t1031 - br i1 %t1032, label %grow287, label %put288 -grow287: - %t1033 = mul i32 %t1031, 2 - %t1034 = icmp eq i32 %t1031, 0 - %t1035 = select i1 %t1034, i32 8, i32 %t1033 - %t1036 = getelementptr ptr, ptr null, i32 1 - %t1037 = ptrtoint ptr %t1036 to i64 - %t1038 = zext i32 %t1035 to i64 - %t1039 = mul i64 %t1038, %t1037 - %t1040 = load ptr, ptr %t1029 - %t1041 = call ptr @realloc(ptr %t1040, i64 %t1039) - store ptr %t1041, ptr %t1029 - store i32 %t1035, ptr %t1028 - br label %put288 -put288: - %t1042 = load ptr, ptr %t1029 - %t1043 = getelementptr inbounds ptr, ptr %t1042, i32 %t1030 - store ptr @.str6186, ptr %t1043 - %t1044 = add i32 %t1030, 1 - store i32 %t1044, ptr %t1027 - %t1045 = load ptr, ptr %t337 - %t1046 = getelementptr inbounds %LSlice, ptr %t1045, i32 0, i32 1 - %t1047 = getelementptr inbounds %LSlice, ptr %t1045, i32 0, i32 2 - %t1048 = getelementptr inbounds %LSlice, ptr %t1045, i32 0, i32 0 - %t1049 = load i32, ptr %t1046 - %t1050 = load i32, ptr %t1047 - %t1051 = icmp sge i32 %t1049, %t1050 - br i1 %t1051, label %grow289, label %put290 -grow289: - %t1052 = mul i32 %t1050, 2 - %t1053 = icmp eq i32 %t1050, 0 - %t1054 = select i1 %t1053, i32 8, i32 %t1052 - %t1055 = getelementptr ptr, ptr null, i32 1 - %t1056 = ptrtoint ptr %t1055 to i64 - %t1057 = zext i32 %t1054 to i64 - %t1058 = mul i64 %t1057, %t1056 - %t1059 = load ptr, ptr %t1048 - %t1060 = call ptr @realloc(ptr %t1059, i64 %t1058) - store ptr %t1060, ptr %t1048 - store i32 %t1054, ptr %t1047 - br label %put290 -put290: - %t1061 = load ptr, ptr %t1048 - %t1062 = getelementptr inbounds ptr, ptr %t1061, i32 %t1049 - store ptr @.str6187, ptr %t1062 - %t1063 = add i32 %t1049, 1 - store i32 %t1063, ptr %t1046 - %t1064 = load ptr, ptr %t337 - %t1065 = getelementptr inbounds %LSlice, ptr %t1064, i32 0, i32 1 - %t1066 = getelementptr inbounds %LSlice, ptr %t1064, i32 0, i32 2 - %t1067 = getelementptr inbounds %LSlice, ptr %t1064, i32 0, i32 0 - %t1068 = load i32, ptr %t1065 - %t1069 = load i32, ptr %t1066 - %t1070 = icmp sge i32 %t1068, %t1069 - br i1 %t1070, label %grow291, label %put292 + br i1 %t1025, label %then282, label %ifend284 +then282: + store ptr @.str6488, ptr %t380 + br label %ifend284 +ifend284: + %t1026 = load ptr, ptr %t1 + %t1027 = call i32 @fn_str_eq(ptr %t1026, ptr @.str6489) + %t1028 = icmp ne i32 %t1027, 0 + br i1 %t1028, label %then285, label %ifend287 +then285: + store ptr @.str6490, ptr %t380 + br label %ifend287 +ifend287: + %t1029 = load ptr, ptr %t1 + %t1030 = call i32 @fn_str_eq(ptr %t1029, ptr @.str6491) + %t1031 = icmp ne i32 %t1030, 0 + br i1 %t1031, label %then288, label %ifend290 +then288: + store ptr @.str6492, ptr %t380 + %t1032 = load ptr, ptr %t387 + %t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 1 + %t1034 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 2 + %t1035 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0 + %t1036 = load i32, ptr %t1033 + %t1037 = load i32, ptr %t1034 + %t1038 = icmp sge i32 %t1036, %t1037 + br i1 %t1038, label %grow291, label %put292 grow291: - %t1071 = mul i32 %t1069, 2 - %t1072 = icmp eq i32 %t1069, 0 - %t1073 = select i1 %t1072, i32 8, i32 %t1071 - %t1074 = getelementptr ptr, ptr null, i32 1 - %t1075 = ptrtoint ptr %t1074 to i64 - %t1076 = zext i32 %t1073 to i64 - %t1077 = mul i64 %t1076, %t1075 - %t1078 = load ptr, ptr %t1067 - %t1079 = call ptr @realloc(ptr %t1078, i64 %t1077) - store ptr %t1079, ptr %t1067 - store i32 %t1073, ptr %t1066 + %t1039 = mul i32 %t1037, 2 + %t1040 = icmp eq i32 %t1037, 0 + %t1041 = select i1 %t1040, i32 8, i32 %t1039 + %t1042 = getelementptr ptr, ptr null, i32 1 + %t1043 = ptrtoint ptr %t1042 to i64 + %t1044 = zext i32 %t1041 to i64 + %t1045 = mul i64 %t1044, %t1043 + %t1046 = load ptr, ptr %t1035 + %t1047 = call ptr @realloc(ptr %t1046, i64 %t1045) + store ptr %t1047, ptr %t1035 + store i32 %t1041, ptr %t1034 br label %put292 put292: - %t1080 = load ptr, ptr %t1067 - %t1081 = getelementptr inbounds ptr, ptr %t1080, i32 %t1068 - store ptr @.str6188, ptr %t1081 - %t1082 = add i32 %t1068, 1 - store i32 %t1082, ptr %t1065 - %t1083 = load ptr, ptr %t337 - %t1084 = getelementptr inbounds %LSlice, ptr %t1083, i32 0, i32 1 - %t1085 = getelementptr inbounds %LSlice, ptr %t1083, i32 0, i32 2 - %t1086 = getelementptr inbounds %LSlice, ptr %t1083, i32 0, i32 0 - %t1087 = load i32, ptr %t1084 - %t1088 = load i32, ptr %t1085 - %t1089 = icmp sge i32 %t1087, %t1088 - br i1 %t1089, label %grow293, label %put294 -grow293: - %t1090 = mul i32 %t1088, 2 - %t1091 = icmp eq i32 %t1088, 0 - %t1092 = select i1 %t1091, i32 8, i32 %t1090 - %t1093 = getelementptr ptr, ptr null, i32 1 - %t1094 = ptrtoint ptr %t1093 to i64 - %t1095 = zext i32 %t1092 to i64 - %t1096 = mul i64 %t1095, %t1094 - %t1097 = load ptr, ptr %t1086 - %t1098 = call ptr @realloc(ptr %t1097, i64 %t1096) - store ptr %t1098, ptr %t1086 - store i32 %t1092, ptr %t1085 - br label %put294 -put294: - %t1099 = load ptr, ptr %t1086 - %t1100 = getelementptr inbounds ptr, ptr %t1099, i32 %t1087 - store ptr @.str6189, ptr %t1100 - %t1101 = add i32 %t1087, 1 - store i32 %t1101, ptr %t1084 - br label %ifend286 -ifend286: - %t1102 = load ptr, ptr %t1 - %t1103 = call i32 @fn_str_eq(ptr %t1102, ptr @.str6190) - %t1104 = icmp ne i32 %t1103, 0 - br i1 %t1104, label %then295, label %ifend297 -then295: - store ptr @.str6191, ptr %t330 - %t1105 = load ptr, ptr %t337 - %t1106 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 1 - %t1107 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 2 - %t1108 = getelementptr inbounds %LSlice, ptr %t1105, i32 0, i32 0 - %t1109 = load i32, ptr %t1106 - %t1110 = load i32, ptr %t1107 - %t1111 = icmp sge i32 %t1109, %t1110 - br i1 %t1111, label %grow298, label %put299 + %t1048 = load ptr, ptr %t1035 + %t1049 = getelementptr inbounds ptr, ptr %t1048, i32 %t1036 + store ptr @.str6493, ptr %t1049 + %t1050 = add i32 %t1036, 1 + store i32 %t1050, ptr %t1033 + br label %ifend290 +ifend290: + %t1051 = load ptr, ptr %t1 + %t1052 = call i32 @fn_str_eq(ptr %t1051, ptr @.str6494) + %t1053 = icmp ne i32 %t1052, 0 + br i1 %t1053, label %then293, label %ifend295 +then293: + store ptr @.str6495, ptr %t380 + %t1054 = load ptr, ptr %t387 + %t1055 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 1 + %t1056 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 2 + %t1057 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 0 + %t1058 = load i32, ptr %t1055 + %t1059 = load i32, ptr %t1056 + %t1060 = icmp sge i32 %t1058, %t1059 + br i1 %t1060, label %grow296, label %put297 +grow296: + %t1061 = mul i32 %t1059, 2 + %t1062 = icmp eq i32 %t1059, 0 + %t1063 = select i1 %t1062, i32 8, i32 %t1061 + %t1064 = getelementptr ptr, ptr null, i32 1 + %t1065 = ptrtoint ptr %t1064 to i64 + %t1066 = zext i32 %t1063 to i64 + %t1067 = mul i64 %t1066, %t1065 + %t1068 = load ptr, ptr %t1057 + %t1069 = call ptr @realloc(ptr %t1068, i64 %t1067) + store ptr %t1069, ptr %t1057 + store i32 %t1063, ptr %t1056 + br label %put297 +put297: + %t1070 = load ptr, ptr %t1057 + %t1071 = getelementptr inbounds ptr, ptr %t1070, i32 %t1058 + store ptr @.str6496, ptr %t1071 + %t1072 = add i32 %t1058, 1 + store i32 %t1072, ptr %t1055 + %t1073 = load ptr, ptr %t387 + %t1074 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 1 + %t1075 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 2 + %t1076 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 0 + %t1077 = load i32, ptr %t1074 + %t1078 = load i32, ptr %t1075 + %t1079 = icmp sge i32 %t1077, %t1078 + br i1 %t1079, label %grow298, label %put299 grow298: - %t1112 = mul i32 %t1110, 2 - %t1113 = icmp eq i32 %t1110, 0 - %t1114 = select i1 %t1113, i32 8, i32 %t1112 - %t1115 = getelementptr ptr, ptr null, i32 1 - %t1116 = ptrtoint ptr %t1115 to i64 - %t1117 = zext i32 %t1114 to i64 - %t1118 = mul i64 %t1117, %t1116 - %t1119 = load ptr, ptr %t1108 - %t1120 = call ptr @realloc(ptr %t1119, i64 %t1118) - store ptr %t1120, ptr %t1108 - store i32 %t1114, ptr %t1107 + %t1080 = mul i32 %t1078, 2 + %t1081 = icmp eq i32 %t1078, 0 + %t1082 = select i1 %t1081, i32 8, i32 %t1080 + %t1083 = getelementptr ptr, ptr null, i32 1 + %t1084 = ptrtoint ptr %t1083 to i64 + %t1085 = zext i32 %t1082 to i64 + %t1086 = mul i64 %t1085, %t1084 + %t1087 = load ptr, ptr %t1076 + %t1088 = call ptr @realloc(ptr %t1087, i64 %t1086) + store ptr %t1088, ptr %t1076 + store i32 %t1082, ptr %t1075 br label %put299 put299: - %t1121 = load ptr, ptr %t1108 - %t1122 = getelementptr inbounds ptr, ptr %t1121, i32 %t1109 - store ptr @.str6192, ptr %t1122 - %t1123 = add i32 %t1109, 1 - store i32 %t1123, ptr %t1106 - %t1124 = load ptr, ptr %t337 - %t1125 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 1 - %t1126 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 2 - %t1127 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 0 - %t1128 = load i32, ptr %t1125 - %t1129 = load i32, ptr %t1126 - %t1130 = icmp sge i32 %t1128, %t1129 - br i1 %t1130, label %grow300, label %put301 + %t1089 = load ptr, ptr %t1076 + %t1090 = getelementptr inbounds ptr, ptr %t1089, i32 %t1077 + store ptr @.str6497, ptr %t1090 + %t1091 = add i32 %t1077, 1 + store i32 %t1091, ptr %t1074 + %t1092 = load ptr, ptr %t387 + %t1093 = getelementptr inbounds %LSlice, ptr %t1092, i32 0, i32 1 + %t1094 = getelementptr inbounds %LSlice, ptr %t1092, i32 0, i32 2 + %t1095 = getelementptr inbounds %LSlice, ptr %t1092, i32 0, i32 0 + %t1096 = load i32, ptr %t1093 + %t1097 = load i32, ptr %t1094 + %t1098 = icmp sge i32 %t1096, %t1097 + br i1 %t1098, label %grow300, label %put301 grow300: - %t1131 = mul i32 %t1129, 2 - %t1132 = icmp eq i32 %t1129, 0 - %t1133 = select i1 %t1132, i32 8, i32 %t1131 - %t1134 = getelementptr ptr, ptr null, i32 1 - %t1135 = ptrtoint ptr %t1134 to i64 - %t1136 = zext i32 %t1133 to i64 - %t1137 = mul i64 %t1136, %t1135 - %t1138 = load ptr, ptr %t1127 - %t1139 = call ptr @realloc(ptr %t1138, i64 %t1137) - store ptr %t1139, ptr %t1127 - store i32 %t1133, ptr %t1126 + %t1099 = mul i32 %t1097, 2 + %t1100 = icmp eq i32 %t1097, 0 + %t1101 = select i1 %t1100, i32 8, i32 %t1099 + %t1102 = getelementptr ptr, ptr null, i32 1 + %t1103 = ptrtoint ptr %t1102 to i64 + %t1104 = zext i32 %t1101 to i64 + %t1105 = mul i64 %t1104, %t1103 + %t1106 = load ptr, ptr %t1095 + %t1107 = call ptr @realloc(ptr %t1106, i64 %t1105) + store ptr %t1107, ptr %t1095 + store i32 %t1101, ptr %t1094 br label %put301 put301: - %t1140 = load ptr, ptr %t1127 - %t1141 = getelementptr inbounds ptr, ptr %t1140, i32 %t1128 - store ptr @.str6193, ptr %t1141 - %t1142 = add i32 %t1128, 1 - store i32 %t1142, ptr %t1125 - %t1143 = load ptr, ptr %t337 - %t1144 = getelementptr inbounds %LSlice, ptr %t1143, i32 0, i32 1 - %t1145 = getelementptr inbounds %LSlice, ptr %t1143, i32 0, i32 2 - %t1146 = getelementptr inbounds %LSlice, ptr %t1143, i32 0, i32 0 - %t1147 = load i32, ptr %t1144 - %t1148 = load i32, ptr %t1145 - %t1149 = icmp sge i32 %t1147, %t1148 - br i1 %t1149, label %grow302, label %put303 + %t1108 = load ptr, ptr %t1095 + %t1109 = getelementptr inbounds ptr, ptr %t1108, i32 %t1096 + store ptr @.str6498, ptr %t1109 + %t1110 = add i32 %t1096, 1 + store i32 %t1110, ptr %t1093 + %t1111 = load ptr, ptr %t387 + %t1112 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 1 + %t1113 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 2 + %t1114 = getelementptr inbounds %LSlice, ptr %t1111, i32 0, i32 0 + %t1115 = load i32, ptr %t1112 + %t1116 = load i32, ptr %t1113 + %t1117 = icmp sge i32 %t1115, %t1116 + br i1 %t1117, label %grow302, label %put303 grow302: - %t1150 = mul i32 %t1148, 2 - %t1151 = icmp eq i32 %t1148, 0 - %t1152 = select i1 %t1151, i32 8, i32 %t1150 - %t1153 = getelementptr ptr, ptr null, i32 1 - %t1154 = ptrtoint ptr %t1153 to i64 - %t1155 = zext i32 %t1152 to i64 - %t1156 = mul i64 %t1155, %t1154 - %t1157 = load ptr, ptr %t1146 - %t1158 = call ptr @realloc(ptr %t1157, i64 %t1156) - store ptr %t1158, ptr %t1146 - store i32 %t1152, ptr %t1145 + %t1118 = mul i32 %t1116, 2 + %t1119 = icmp eq i32 %t1116, 0 + %t1120 = select i1 %t1119, i32 8, i32 %t1118 + %t1121 = getelementptr ptr, ptr null, i32 1 + %t1122 = ptrtoint ptr %t1121 to i64 + %t1123 = zext i32 %t1120 to i64 + %t1124 = mul i64 %t1123, %t1122 + %t1125 = load ptr, ptr %t1114 + %t1126 = call ptr @realloc(ptr %t1125, i64 %t1124) + store ptr %t1126, ptr %t1114 + store i32 %t1120, ptr %t1113 br label %put303 put303: - %t1159 = load ptr, ptr %t1146 - %t1160 = getelementptr inbounds ptr, ptr %t1159, i32 %t1147 - store ptr @.str6194, ptr %t1160 - %t1161 = add i32 %t1147, 1 - store i32 %t1161, ptr %t1144 - %t1162 = load ptr, ptr %t337 - %t1163 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 1 - %t1164 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 2 - %t1165 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 0 - %t1166 = load i32, ptr %t1163 - %t1167 = load i32, ptr %t1164 - %t1168 = icmp sge i32 %t1166, %t1167 - br i1 %t1168, label %grow304, label %put305 + %t1127 = load ptr, ptr %t1114 + %t1128 = getelementptr inbounds ptr, ptr %t1127, i32 %t1115 + store ptr @.str6499, ptr %t1128 + %t1129 = add i32 %t1115, 1 + store i32 %t1129, ptr %t1112 + %t1130 = load ptr, ptr %t387 + %t1131 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 1 + %t1132 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 2 + %t1133 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 0 + %t1134 = load i32, ptr %t1131 + %t1135 = load i32, ptr %t1132 + %t1136 = icmp sge i32 %t1134, %t1135 + br i1 %t1136, label %grow304, label %put305 grow304: - %t1169 = mul i32 %t1167, 2 - %t1170 = icmp eq i32 %t1167, 0 - %t1171 = select i1 %t1170, i32 8, i32 %t1169 - %t1172 = getelementptr ptr, ptr null, i32 1 - %t1173 = ptrtoint ptr %t1172 to i64 - %t1174 = zext i32 %t1171 to i64 - %t1175 = mul i64 %t1174, %t1173 - %t1176 = load ptr, ptr %t1165 - %t1177 = call ptr @realloc(ptr %t1176, i64 %t1175) - store ptr %t1177, ptr %t1165 - store i32 %t1171, ptr %t1164 + %t1137 = mul i32 %t1135, 2 + %t1138 = icmp eq i32 %t1135, 0 + %t1139 = select i1 %t1138, i32 8, i32 %t1137 + %t1140 = getelementptr ptr, ptr null, i32 1 + %t1141 = ptrtoint ptr %t1140 to i64 + %t1142 = zext i32 %t1139 to i64 + %t1143 = mul i64 %t1142, %t1141 + %t1144 = load ptr, ptr %t1133 + %t1145 = call ptr @realloc(ptr %t1144, i64 %t1143) + store ptr %t1145, ptr %t1133 + store i32 %t1139, ptr %t1132 br label %put305 put305: - %t1178 = load ptr, ptr %t1165 - %t1179 = getelementptr inbounds ptr, ptr %t1178, i32 %t1166 - store ptr @.str6195, ptr %t1179 - %t1180 = add i32 %t1166, 1 - store i32 %t1180, ptr %t1163 - %t1181 = load ptr, ptr %t337 - %t1182 = getelementptr inbounds %LSlice, ptr %t1181, i32 0, i32 1 - %t1183 = getelementptr inbounds %LSlice, ptr %t1181, i32 0, i32 2 - %t1184 = getelementptr inbounds %LSlice, ptr %t1181, i32 0, i32 0 - %t1185 = load i32, ptr %t1182 - %t1186 = load i32, ptr %t1183 - %t1187 = icmp sge i32 %t1185, %t1186 - br i1 %t1187, label %grow306, label %put307 -grow306: - %t1188 = mul i32 %t1186, 2 - %t1189 = icmp eq i32 %t1186, 0 - %t1190 = select i1 %t1189, i32 8, i32 %t1188 - %t1191 = getelementptr ptr, ptr null, i32 1 - %t1192 = ptrtoint ptr %t1191 to i64 - %t1193 = zext i32 %t1190 to i64 - %t1194 = mul i64 %t1193, %t1192 - %t1195 = load ptr, ptr %t1184 - %t1196 = call ptr @realloc(ptr %t1195, i64 %t1194) - store ptr %t1196, ptr %t1184 - store i32 %t1190, ptr %t1183 - br label %put307 -put307: - %t1197 = load ptr, ptr %t1184 - %t1198 = getelementptr inbounds ptr, ptr %t1197, i32 %t1185 - store ptr @.str6196, ptr %t1198 - %t1199 = add i32 %t1185, 1 - store i32 %t1199, ptr %t1182 - %t1200 = load ptr, ptr %t337 - %t1201 = getelementptr inbounds %LSlice, ptr %t1200, i32 0, i32 1 - %t1202 = getelementptr inbounds %LSlice, ptr %t1200, i32 0, i32 2 - %t1203 = getelementptr inbounds %LSlice, ptr %t1200, i32 0, i32 0 - %t1204 = load i32, ptr %t1201 - %t1205 = load i32, ptr %t1202 - %t1206 = icmp sge i32 %t1204, %t1205 - br i1 %t1206, label %grow308, label %put309 -grow308: - %t1207 = mul i32 %t1205, 2 - %t1208 = icmp eq i32 %t1205, 0 - %t1209 = select i1 %t1208, i32 8, i32 %t1207 - %t1210 = getelementptr ptr, ptr null, i32 1 - %t1211 = ptrtoint ptr %t1210 to i64 - %t1212 = zext i32 %t1209 to i64 - %t1213 = mul i64 %t1212, %t1211 - %t1214 = load ptr, ptr %t1203 - %t1215 = call ptr @realloc(ptr %t1214, i64 %t1213) - store ptr %t1215, ptr %t1203 - store i32 %t1209, ptr %t1202 - br label %put309 -put309: - %t1216 = load ptr, ptr %t1203 - %t1217 = getelementptr inbounds ptr, ptr %t1216, i32 %t1204 - store ptr @.str6197, ptr %t1217 - %t1218 = add i32 %t1204, 1 - store i32 %t1218, ptr %t1201 - %t1219 = load ptr, ptr %t337 - %t1220 = getelementptr inbounds %LSlice, ptr %t1219, i32 0, i32 1 - %t1221 = getelementptr inbounds %LSlice, ptr %t1219, i32 0, i32 2 - %t1222 = getelementptr inbounds %LSlice, ptr %t1219, i32 0, i32 0 - %t1223 = load i32, ptr %t1220 - %t1224 = load i32, ptr %t1221 - %t1225 = icmp sge i32 %t1223, %t1224 - br i1 %t1225, label %grow310, label %put311 -grow310: - %t1226 = mul i32 %t1224, 2 - %t1227 = icmp eq i32 %t1224, 0 - %t1228 = select i1 %t1227, i32 8, i32 %t1226 - %t1229 = getelementptr ptr, ptr null, i32 1 - %t1230 = ptrtoint ptr %t1229 to i64 - %t1231 = zext i32 %t1228 to i64 - %t1232 = mul i64 %t1231, %t1230 - %t1233 = load ptr, ptr %t1222 - %t1234 = call ptr @realloc(ptr %t1233, i64 %t1232) - store ptr %t1234, ptr %t1222 - store i32 %t1228, ptr %t1221 - br label %put311 -put311: - %t1235 = load ptr, ptr %t1222 - %t1236 = getelementptr inbounds ptr, ptr %t1235, i32 %t1223 - store ptr @.str6198, ptr %t1236 - %t1237 = add i32 %t1223, 1 - store i32 %t1237, ptr %t1220 - br label %ifend297 -ifend297: - %t1238 = load ptr, ptr %t1 - %t1239 = call i32 @fn_str_eq(ptr %t1238, ptr @.str6199) - %t1240 = icmp ne i32 %t1239, 0 - br i1 %t1240, label %then312, label %ifend314 -then312: - store ptr @.str6200, ptr %t330 - %t1241 = load ptr, ptr %t337 - %t1242 = getelementptr inbounds %LSlice, ptr %t1241, i32 0, i32 1 - %t1243 = getelementptr inbounds %LSlice, ptr %t1241, i32 0, i32 2 - %t1244 = getelementptr inbounds %LSlice, ptr %t1241, i32 0, i32 0 - %t1245 = load i32, ptr %t1242 - %t1246 = load i32, ptr %t1243 - %t1247 = icmp sge i32 %t1245, %t1246 - br i1 %t1247, label %grow315, label %put316 + %t1146 = load ptr, ptr %t1133 + %t1147 = getelementptr inbounds ptr, ptr %t1146, i32 %t1134 + store ptr @.str6500, ptr %t1147 + %t1148 = add i32 %t1134, 1 + store i32 %t1148, ptr %t1131 + br label %ifend295 +ifend295: + %t1149 = load ptr, ptr %t1 + %t1150 = call i32 @fn_str_eq(ptr %t1149, ptr @.str6501) + %t1151 = icmp ne i32 %t1150, 0 + br i1 %t1151, label %then306, label %ifend308 +then306: + store ptr @.str6502, ptr %t380 + %t1152 = load ptr, ptr %t387 + %t1153 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 1 + %t1154 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 2 + %t1155 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 0 + %t1156 = load i32, ptr %t1153 + %t1157 = load i32, ptr %t1154 + %t1158 = icmp sge i32 %t1156, %t1157 + br i1 %t1158, label %grow309, label %put310 +grow309: + %t1159 = mul i32 %t1157, 2 + %t1160 = icmp eq i32 %t1157, 0 + %t1161 = select i1 %t1160, i32 8, i32 %t1159 + %t1162 = getelementptr ptr, ptr null, i32 1 + %t1163 = ptrtoint ptr %t1162 to i64 + %t1164 = zext i32 %t1161 to i64 + %t1165 = mul i64 %t1164, %t1163 + %t1166 = load ptr, ptr %t1155 + %t1167 = call ptr @realloc(ptr %t1166, i64 %t1165) + store ptr %t1167, ptr %t1155 + store i32 %t1161, ptr %t1154 + br label %put310 +put310: + %t1168 = load ptr, ptr %t1155 + %t1169 = getelementptr inbounds ptr, ptr %t1168, i32 %t1156 + store ptr @.str6503, ptr %t1169 + %t1170 = add i32 %t1156, 1 + store i32 %t1170, ptr %t1153 + %t1171 = load ptr, ptr %t387 + %t1172 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 1 + %t1173 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 2 + %t1174 = getelementptr inbounds %LSlice, ptr %t1171, i32 0, i32 0 + %t1175 = load i32, ptr %t1172 + %t1176 = load i32, ptr %t1173 + %t1177 = icmp sge i32 %t1175, %t1176 + br i1 %t1177, label %grow311, label %put312 +grow311: + %t1178 = mul i32 %t1176, 2 + %t1179 = icmp eq i32 %t1176, 0 + %t1180 = select i1 %t1179, i32 8, i32 %t1178 + %t1181 = getelementptr ptr, ptr null, i32 1 + %t1182 = ptrtoint ptr %t1181 to i64 + %t1183 = zext i32 %t1180 to i64 + %t1184 = mul i64 %t1183, %t1182 + %t1185 = load ptr, ptr %t1174 + %t1186 = call ptr @realloc(ptr %t1185, i64 %t1184) + store ptr %t1186, ptr %t1174 + store i32 %t1180, ptr %t1173 + br label %put312 +put312: + %t1187 = load ptr, ptr %t1174 + %t1188 = getelementptr inbounds ptr, ptr %t1187, i32 %t1175 + store ptr @.str6504, ptr %t1188 + %t1189 = add i32 %t1175, 1 + store i32 %t1189, ptr %t1172 + %t1190 = load ptr, ptr %t387 + %t1191 = getelementptr inbounds %LSlice, ptr %t1190, i32 0, i32 1 + %t1192 = getelementptr inbounds %LSlice, ptr %t1190, i32 0, i32 2 + %t1193 = getelementptr inbounds %LSlice, ptr %t1190, i32 0, i32 0 + %t1194 = load i32, ptr %t1191 + %t1195 = load i32, ptr %t1192 + %t1196 = icmp sge i32 %t1194, %t1195 + br i1 %t1196, label %grow313, label %put314 +grow313: + %t1197 = mul i32 %t1195, 2 + %t1198 = icmp eq i32 %t1195, 0 + %t1199 = select i1 %t1198, i32 8, i32 %t1197 + %t1200 = getelementptr ptr, ptr null, i32 1 + %t1201 = ptrtoint ptr %t1200 to i64 + %t1202 = zext i32 %t1199 to i64 + %t1203 = mul i64 %t1202, %t1201 + %t1204 = load ptr, ptr %t1193 + %t1205 = call ptr @realloc(ptr %t1204, i64 %t1203) + store ptr %t1205, ptr %t1193 + store i32 %t1199, ptr %t1192 + br label %put314 +put314: + %t1206 = load ptr, ptr %t1193 + %t1207 = getelementptr inbounds ptr, ptr %t1206, i32 %t1194 + store ptr @.str6505, ptr %t1207 + %t1208 = add i32 %t1194, 1 + store i32 %t1208, ptr %t1191 + %t1209 = load ptr, ptr %t387 + %t1210 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 1 + %t1211 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 2 + %t1212 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 0 + %t1213 = load i32, ptr %t1210 + %t1214 = load i32, ptr %t1211 + %t1215 = icmp sge i32 %t1213, %t1214 + br i1 %t1215, label %grow315, label %put316 grow315: - %t1248 = mul i32 %t1246, 2 - %t1249 = icmp eq i32 %t1246, 0 - %t1250 = select i1 %t1249, i32 8, i32 %t1248 - %t1251 = getelementptr ptr, ptr null, i32 1 - %t1252 = ptrtoint ptr %t1251 to i64 - %t1253 = zext i32 %t1250 to i64 - %t1254 = mul i64 %t1253, %t1252 - %t1255 = load ptr, ptr %t1244 - %t1256 = call ptr @realloc(ptr %t1255, i64 %t1254) - store ptr %t1256, ptr %t1244 - store i32 %t1250, ptr %t1243 + %t1216 = mul i32 %t1214, 2 + %t1217 = icmp eq i32 %t1214, 0 + %t1218 = select i1 %t1217, i32 8, i32 %t1216 + %t1219 = getelementptr ptr, ptr null, i32 1 + %t1220 = ptrtoint ptr %t1219 to i64 + %t1221 = zext i32 %t1218 to i64 + %t1222 = mul i64 %t1221, %t1220 + %t1223 = load ptr, ptr %t1212 + %t1224 = call ptr @realloc(ptr %t1223, i64 %t1222) + store ptr %t1224, ptr %t1212 + store i32 %t1218, ptr %t1211 br label %put316 put316: - %t1257 = load ptr, ptr %t1244 - %t1258 = getelementptr inbounds ptr, ptr %t1257, i32 %t1245 - store ptr @.str6201, ptr %t1258 - %t1259 = add i32 %t1245, 1 - store i32 %t1259, ptr %t1242 - %t1260 = load ptr, ptr %t337 - %t1261 = getelementptr inbounds %LSlice, ptr %t1260, i32 0, i32 1 - %t1262 = getelementptr inbounds %LSlice, ptr %t1260, i32 0, i32 2 - %t1263 = getelementptr inbounds %LSlice, ptr %t1260, i32 0, i32 0 - %t1264 = load i32, ptr %t1261 - %t1265 = load i32, ptr %t1262 - %t1266 = icmp sge i32 %t1264, %t1265 - br i1 %t1266, label %grow317, label %put318 -grow317: - %t1267 = mul i32 %t1265, 2 - %t1268 = icmp eq i32 %t1265, 0 - %t1269 = select i1 %t1268, i32 8, i32 %t1267 - %t1270 = getelementptr ptr, ptr null, i32 1 - %t1271 = ptrtoint ptr %t1270 to i64 - %t1272 = zext i32 %t1269 to i64 - %t1273 = mul i64 %t1272, %t1271 - %t1274 = load ptr, ptr %t1263 - %t1275 = call ptr @realloc(ptr %t1274, i64 %t1273) - store ptr %t1275, ptr %t1263 - store i32 %t1269, ptr %t1262 - br label %put318 -put318: - %t1276 = load ptr, ptr %t1263 - %t1277 = getelementptr inbounds ptr, ptr %t1276, i32 %t1264 - store ptr @.str6202, ptr %t1277 - %t1278 = add i32 %t1264, 1 - store i32 %t1278, ptr %t1261 - %t1279 = load ptr, ptr %t337 - %t1280 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 1 - %t1281 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 2 - %t1282 = getelementptr inbounds %LSlice, ptr %t1279, i32 0, i32 0 - %t1283 = load i32, ptr %t1280 - %t1284 = load i32, ptr %t1281 - %t1285 = icmp sge i32 %t1283, %t1284 - br i1 %t1285, label %grow319, label %put320 -grow319: - %t1286 = mul i32 %t1284, 2 - %t1287 = icmp eq i32 %t1284, 0 - %t1288 = select i1 %t1287, i32 8, i32 %t1286 - %t1289 = getelementptr ptr, ptr null, i32 1 - %t1290 = ptrtoint ptr %t1289 to i64 - %t1291 = zext i32 %t1288 to i64 - %t1292 = mul i64 %t1291, %t1290 - %t1293 = load ptr, ptr %t1282 - %t1294 = call ptr @realloc(ptr %t1293, i64 %t1292) - store ptr %t1294, ptr %t1282 - store i32 %t1288, ptr %t1281 - br label %put320 -put320: - %t1295 = load ptr, ptr %t1282 - %t1296 = getelementptr inbounds ptr, ptr %t1295, i32 %t1283 - store ptr @.str6203, ptr %t1296 - %t1297 = add i32 %t1283, 1 - store i32 %t1297, ptr %t1280 - %t1298 = load ptr, ptr %t337 - %t1299 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 1 - %t1300 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 2 - %t1301 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 0 - %t1302 = load i32, ptr %t1299 - %t1303 = load i32, ptr %t1300 - %t1304 = icmp sge i32 %t1302, %t1303 - br i1 %t1304, label %grow321, label %put322 -grow321: - %t1305 = mul i32 %t1303, 2 - %t1306 = icmp eq i32 %t1303, 0 - %t1307 = select i1 %t1306, i32 8, i32 %t1305 - %t1308 = getelementptr ptr, ptr null, i32 1 - %t1309 = ptrtoint ptr %t1308 to i64 - %t1310 = zext i32 %t1307 to i64 - %t1311 = mul i64 %t1310, %t1309 - %t1312 = load ptr, ptr %t1301 - %t1313 = call ptr @realloc(ptr %t1312, i64 %t1311) - store ptr %t1313, ptr %t1301 - store i32 %t1307, ptr %t1300 - br label %put322 -put322: - %t1314 = load ptr, ptr %t1301 - %t1315 = getelementptr inbounds ptr, ptr %t1314, i32 %t1302 - store ptr @.str6204, ptr %t1315 - %t1316 = add i32 %t1302, 1 - store i32 %t1316, ptr %t1299 - %t1317 = load ptr, ptr %t337 - %t1318 = getelementptr inbounds %LSlice, ptr %t1317, i32 0, i32 1 - %t1319 = getelementptr inbounds %LSlice, ptr %t1317, i32 0, i32 2 - %t1320 = getelementptr inbounds %LSlice, ptr %t1317, i32 0, i32 0 - %t1321 = load i32, ptr %t1318 - %t1322 = load i32, ptr %t1319 - %t1323 = icmp sge i32 %t1321, %t1322 - br i1 %t1323, label %grow323, label %put324 -grow323: - %t1324 = mul i32 %t1322, 2 - %t1325 = icmp eq i32 %t1322, 0 - %t1326 = select i1 %t1325, i32 8, i32 %t1324 - %t1327 = getelementptr ptr, ptr null, i32 1 - %t1328 = ptrtoint ptr %t1327 to i64 - %t1329 = zext i32 %t1326 to i64 - %t1330 = mul i64 %t1329, %t1328 - %t1331 = load ptr, ptr %t1320 - %t1332 = call ptr @realloc(ptr %t1331, i64 %t1330) - store ptr %t1332, ptr %t1320 - store i32 %t1326, ptr %t1319 - br label %put324 -put324: - %t1333 = load ptr, ptr %t1320 - %t1334 = getelementptr inbounds ptr, ptr %t1333, i32 %t1321 - store ptr @.str6205, ptr %t1334 - %t1335 = add i32 %t1321, 1 - store i32 %t1335, ptr %t1318 - %t1336 = load ptr, ptr %t337 - %t1337 = getelementptr inbounds %LSlice, ptr %t1336, i32 0, i32 1 - %t1338 = getelementptr inbounds %LSlice, ptr %t1336, i32 0, i32 2 - %t1339 = getelementptr inbounds %LSlice, ptr %t1336, i32 0, i32 0 - %t1340 = load i32, ptr %t1337 - %t1341 = load i32, ptr %t1338 - %t1342 = icmp sge i32 %t1340, %t1341 - br i1 %t1342, label %grow325, label %put326 -grow325: - %t1343 = mul i32 %t1341, 2 - %t1344 = icmp eq i32 %t1341, 0 - %t1345 = select i1 %t1344, i32 8, i32 %t1343 - %t1346 = getelementptr ptr, ptr null, i32 1 - %t1347 = ptrtoint ptr %t1346 to i64 - %t1348 = zext i32 %t1345 to i64 - %t1349 = mul i64 %t1348, %t1347 - %t1350 = load ptr, ptr %t1339 - %t1351 = call ptr @realloc(ptr %t1350, i64 %t1349) - store ptr %t1351, ptr %t1339 - store i32 %t1345, ptr %t1338 - br label %put326 -put326: - %t1352 = load ptr, ptr %t1339 - %t1353 = getelementptr inbounds ptr, ptr %t1352, i32 %t1340 - store ptr @.str6206, ptr %t1353 - %t1354 = add i32 %t1340, 1 - store i32 %t1354, ptr %t1337 - %t1355 = load ptr, ptr %t337 - %t1356 = getelementptr inbounds %LSlice, ptr %t1355, i32 0, i32 1 - %t1357 = getelementptr inbounds %LSlice, ptr %t1355, i32 0, i32 2 - %t1358 = getelementptr inbounds %LSlice, ptr %t1355, i32 0, i32 0 - %t1359 = load i32, ptr %t1356 - %t1360 = load i32, ptr %t1357 - %t1361 = icmp sge i32 %t1359, %t1360 - br i1 %t1361, label %grow327, label %put328 -grow327: - %t1362 = mul i32 %t1360, 2 - %t1363 = icmp eq i32 %t1360, 0 - %t1364 = select i1 %t1363, i32 8, i32 %t1362 - %t1365 = getelementptr ptr, ptr null, i32 1 - %t1366 = ptrtoint ptr %t1365 to i64 - %t1367 = zext i32 %t1364 to i64 - %t1368 = mul i64 %t1367, %t1366 - %t1369 = load ptr, ptr %t1358 - %t1370 = call ptr @realloc(ptr %t1369, i64 %t1368) - store ptr %t1370, ptr %t1358 - store i32 %t1364, ptr %t1357 - br label %put328 -put328: - %t1371 = load ptr, ptr %t1358 - %t1372 = getelementptr inbounds ptr, ptr %t1371, i32 %t1359 - store ptr @.str6207, ptr %t1372 - %t1373 = add i32 %t1359, 1 - store i32 %t1373, ptr %t1356 - br label %ifend314 -ifend314: - %t1374 = load ptr, ptr %t1 - %t1375 = call i32 @fn_str_eq(ptr %t1374, ptr @.str6208) - %t1376 = icmp ne i32 %t1375, 0 - br i1 %t1376, label %then329, label %ifend331 -then329: - store ptr @.str6209, ptr %t330 - %t1377 = load ptr, ptr %t337 - %t1378 = getelementptr inbounds %LSlice, ptr %t1377, i32 0, i32 1 - %t1379 = getelementptr inbounds %LSlice, ptr %t1377, i32 0, i32 2 - %t1380 = getelementptr inbounds %LSlice, ptr %t1377, i32 0, i32 0 - %t1381 = load i32, ptr %t1378 - %t1382 = load i32, ptr %t1379 - %t1383 = icmp sge i32 %t1381, %t1382 - br i1 %t1383, label %grow332, label %put333 -grow332: - %t1384 = mul i32 %t1382, 2 - %t1385 = icmp eq i32 %t1382, 0 - %t1386 = select i1 %t1385, i32 8, i32 %t1384 - %t1387 = getelementptr ptr, ptr null, i32 1 - %t1388 = ptrtoint ptr %t1387 to i64 - %t1389 = zext i32 %t1386 to i64 - %t1390 = mul i64 %t1389, %t1388 - %t1391 = load ptr, ptr %t1380 - %t1392 = call ptr @realloc(ptr %t1391, i64 %t1390) - store ptr %t1392, ptr %t1380 - store i32 %t1386, ptr %t1379 - br label %put333 -put333: - %t1393 = load ptr, ptr %t1380 - %t1394 = getelementptr inbounds ptr, ptr %t1393, i32 %t1381 - store ptr @.str6210, ptr %t1394 - %t1395 = add i32 %t1381, 1 - store i32 %t1395, ptr %t1378 - %t1396 = load ptr, ptr %t337 - %t1397 = getelementptr inbounds %LSlice, ptr %t1396, i32 0, i32 1 - %t1398 = getelementptr inbounds %LSlice, ptr %t1396, i32 0, i32 2 - %t1399 = getelementptr inbounds %LSlice, ptr %t1396, i32 0, i32 0 - %t1400 = load i32, ptr %t1397 - %t1401 = load i32, ptr %t1398 - %t1402 = icmp sge i32 %t1400, %t1401 - br i1 %t1402, label %grow334, label %put335 -grow334: - %t1403 = mul i32 %t1401, 2 - %t1404 = icmp eq i32 %t1401, 0 - %t1405 = select i1 %t1404, i32 8, i32 %t1403 - %t1406 = getelementptr ptr, ptr null, i32 1 - %t1407 = ptrtoint ptr %t1406 to i64 - %t1408 = zext i32 %t1405 to i64 - %t1409 = mul i64 %t1408, %t1407 - %t1410 = load ptr, ptr %t1399 - %t1411 = call ptr @realloc(ptr %t1410, i64 %t1409) - store ptr %t1411, ptr %t1399 - store i32 %t1405, ptr %t1398 - br label %put335 -put335: - %t1412 = load ptr, ptr %t1399 - %t1413 = getelementptr inbounds ptr, ptr %t1412, i32 %t1400 - store ptr @.str6211, ptr %t1413 - %t1414 = add i32 %t1400, 1 - store i32 %t1414, ptr %t1397 - %t1415 = load ptr, ptr %t337 - %t1416 = getelementptr inbounds %LSlice, ptr %t1415, i32 0, i32 1 - %t1417 = getelementptr inbounds %LSlice, ptr %t1415, i32 0, i32 2 - %t1418 = getelementptr inbounds %LSlice, ptr %t1415, i32 0, i32 0 - %t1419 = load i32, ptr %t1416 - %t1420 = load i32, ptr %t1417 - %t1421 = icmp sge i32 %t1419, %t1420 - br i1 %t1421, label %grow336, label %put337 -grow336: - %t1422 = mul i32 %t1420, 2 - %t1423 = icmp eq i32 %t1420, 0 - %t1424 = select i1 %t1423, i32 8, i32 %t1422 - %t1425 = getelementptr ptr, ptr null, i32 1 - %t1426 = ptrtoint ptr %t1425 to i64 - %t1427 = zext i32 %t1424 to i64 - %t1428 = mul i64 %t1427, %t1426 - %t1429 = load ptr, ptr %t1418 - %t1430 = call ptr @realloc(ptr %t1429, i64 %t1428) - store ptr %t1430, ptr %t1418 - store i32 %t1424, ptr %t1417 - br label %put337 -put337: - %t1431 = load ptr, ptr %t1418 - %t1432 = getelementptr inbounds ptr, ptr %t1431, i32 %t1419 - store ptr @.str6212, ptr %t1432 - %t1433 = add i32 %t1419, 1 - store i32 %t1433, ptr %t1416 - br label %ifend331 -ifend331: - %t1434 = load ptr, ptr %t1 - %t1435 = call i32 @fn_str_eq(ptr %t1434, ptr @.str6213) - %t1436 = icmp ne i32 %t1435, 0 - br i1 %t1436, label %then338, label %ifend340 -then338: - store ptr @.str6214, ptr %t330 - %t1437 = load ptr, ptr %t337 - %t1438 = getelementptr inbounds %LSlice, ptr %t1437, i32 0, i32 1 - %t1439 = getelementptr inbounds %LSlice, ptr %t1437, i32 0, i32 2 - %t1440 = getelementptr inbounds %LSlice, ptr %t1437, i32 0, i32 0 - %t1441 = load i32, ptr %t1438 - %t1442 = load i32, ptr %t1439 - %t1443 = icmp sge i32 %t1441, %t1442 - br i1 %t1443, label %grow341, label %put342 + %t1225 = load ptr, ptr %t1212 + %t1226 = getelementptr inbounds ptr, ptr %t1225, i32 %t1213 + store ptr @.str6506, ptr %t1226 + %t1227 = add i32 %t1213, 1 + store i32 %t1227, ptr %t1210 + br label %ifend308 +ifend308: + %t1228 = load ptr, ptr %t1 + %t1229 = call i32 @fn_str_eq(ptr %t1228, ptr @.str6507) + %t1230 = icmp ne i32 %t1229, 0 + br i1 %t1230, label %then317, label %ifend319 +then317: + store ptr @.str6508, ptr %t380 + %t1231 = load ptr, ptr %t387 + %t1232 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 1 + %t1233 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 2 + %t1234 = getelementptr inbounds %LSlice, ptr %t1231, i32 0, i32 0 + %t1235 = load i32, ptr %t1232 + %t1236 = load i32, ptr %t1233 + %t1237 = icmp sge i32 %t1235, %t1236 + br i1 %t1237, label %grow320, label %put321 +grow320: + %t1238 = mul i32 %t1236, 2 + %t1239 = icmp eq i32 %t1236, 0 + %t1240 = select i1 %t1239, i32 8, i32 %t1238 + %t1241 = getelementptr ptr, ptr null, i32 1 + %t1242 = ptrtoint ptr %t1241 to i64 + %t1243 = zext i32 %t1240 to i64 + %t1244 = mul i64 %t1243, %t1242 + %t1245 = load ptr, ptr %t1234 + %t1246 = call ptr @realloc(ptr %t1245, i64 %t1244) + store ptr %t1246, ptr %t1234 + store i32 %t1240, ptr %t1233 + br label %put321 +put321: + %t1247 = load ptr, ptr %t1234 + %t1248 = getelementptr inbounds ptr, ptr %t1247, i32 %t1235 + store ptr @.str6509, ptr %t1248 + %t1249 = add i32 %t1235, 1 + store i32 %t1249, ptr %t1232 + %t1250 = load ptr, ptr %t387 + %t1251 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 1 + %t1252 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 2 + %t1253 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 0 + %t1254 = load i32, ptr %t1251 + %t1255 = load i32, ptr %t1252 + %t1256 = icmp sge i32 %t1254, %t1255 + br i1 %t1256, label %grow322, label %put323 +grow322: + %t1257 = mul i32 %t1255, 2 + %t1258 = icmp eq i32 %t1255, 0 + %t1259 = select i1 %t1258, i32 8, i32 %t1257 + %t1260 = getelementptr ptr, ptr null, i32 1 + %t1261 = ptrtoint ptr %t1260 to i64 + %t1262 = zext i32 %t1259 to i64 + %t1263 = mul i64 %t1262, %t1261 + %t1264 = load ptr, ptr %t1253 + %t1265 = call ptr @realloc(ptr %t1264, i64 %t1263) + store ptr %t1265, ptr %t1253 + store i32 %t1259, ptr %t1252 + br label %put323 +put323: + %t1266 = load ptr, ptr %t1253 + %t1267 = getelementptr inbounds ptr, ptr %t1266, i32 %t1254 + store ptr @.str6510, ptr %t1267 + %t1268 = add i32 %t1254, 1 + store i32 %t1268, ptr %t1251 + %t1269 = load ptr, ptr %t387 + %t1270 = getelementptr inbounds %LSlice, ptr %t1269, i32 0, i32 1 + %t1271 = getelementptr inbounds %LSlice, ptr %t1269, i32 0, i32 2 + %t1272 = getelementptr inbounds %LSlice, ptr %t1269, i32 0, i32 0 + %t1273 = load i32, ptr %t1270 + %t1274 = load i32, ptr %t1271 + %t1275 = icmp sge i32 %t1273, %t1274 + br i1 %t1275, label %grow324, label %put325 +grow324: + %t1276 = mul i32 %t1274, 2 + %t1277 = icmp eq i32 %t1274, 0 + %t1278 = select i1 %t1277, i32 8, i32 %t1276 + %t1279 = getelementptr ptr, ptr null, i32 1 + %t1280 = ptrtoint ptr %t1279 to i64 + %t1281 = zext i32 %t1278 to i64 + %t1282 = mul i64 %t1281, %t1280 + %t1283 = load ptr, ptr %t1272 + %t1284 = call ptr @realloc(ptr %t1283, i64 %t1282) + store ptr %t1284, ptr %t1272 + store i32 %t1278, ptr %t1271 + br label %put325 +put325: + %t1285 = load ptr, ptr %t1272 + %t1286 = getelementptr inbounds ptr, ptr %t1285, i32 %t1273 + store ptr @.str6511, ptr %t1286 + %t1287 = add i32 %t1273, 1 + store i32 %t1287, ptr %t1270 + %t1288 = load ptr, ptr %t387 + %t1289 = getelementptr inbounds %LSlice, ptr %t1288, i32 0, i32 1 + %t1290 = getelementptr inbounds %LSlice, ptr %t1288, i32 0, i32 2 + %t1291 = getelementptr inbounds %LSlice, ptr %t1288, i32 0, i32 0 + %t1292 = load i32, ptr %t1289 + %t1293 = load i32, ptr %t1290 + %t1294 = icmp sge i32 %t1292, %t1293 + br i1 %t1294, label %grow326, label %put327 +grow326: + %t1295 = mul i32 %t1293, 2 + %t1296 = icmp eq i32 %t1293, 0 + %t1297 = select i1 %t1296, i32 8, i32 %t1295 + %t1298 = getelementptr ptr, ptr null, i32 1 + %t1299 = ptrtoint ptr %t1298 to i64 + %t1300 = zext i32 %t1297 to i64 + %t1301 = mul i64 %t1300, %t1299 + %t1302 = load ptr, ptr %t1291 + %t1303 = call ptr @realloc(ptr %t1302, i64 %t1301) + store ptr %t1303, ptr %t1291 + store i32 %t1297, ptr %t1290 + br label %put327 +put327: + %t1304 = load ptr, ptr %t1291 + %t1305 = getelementptr inbounds ptr, ptr %t1304, i32 %t1292 + store ptr @.str6512, ptr %t1305 + %t1306 = add i32 %t1292, 1 + store i32 %t1306, ptr %t1289 + br label %ifend319 +ifend319: + %t1307 = load ptr, ptr %t1 + %t1308 = call i32 @fn_str_eq(ptr %t1307, ptr @.str6513) + %t1309 = icmp ne i32 %t1308, 0 + br i1 %t1309, label %then328, label %ifend330 +then328: + store ptr @.str6514, ptr %t380 + %t1310 = load ptr, ptr %t387 + %t1311 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 1 + %t1312 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 2 + %t1313 = getelementptr inbounds %LSlice, ptr %t1310, i32 0, i32 0 + %t1314 = load i32, ptr %t1311 + %t1315 = load i32, ptr %t1312 + %t1316 = icmp sge i32 %t1314, %t1315 + br i1 %t1316, label %grow331, label %put332 +grow331: + %t1317 = mul i32 %t1315, 2 + %t1318 = icmp eq i32 %t1315, 0 + %t1319 = select i1 %t1318, i32 8, i32 %t1317 + %t1320 = getelementptr ptr, ptr null, i32 1 + %t1321 = ptrtoint ptr %t1320 to i64 + %t1322 = zext i32 %t1319 to i64 + %t1323 = mul i64 %t1322, %t1321 + %t1324 = load ptr, ptr %t1313 + %t1325 = call ptr @realloc(ptr %t1324, i64 %t1323) + store ptr %t1325, ptr %t1313 + store i32 %t1319, ptr %t1312 + br label %put332 +put332: + %t1326 = load ptr, ptr %t1313 + %t1327 = getelementptr inbounds ptr, ptr %t1326, i32 %t1314 + store ptr @.str6515, ptr %t1327 + %t1328 = add i32 %t1314, 1 + store i32 %t1328, ptr %t1311 + %t1329 = load ptr, ptr %t387 + %t1330 = getelementptr inbounds %LSlice, ptr %t1329, i32 0, i32 1 + %t1331 = getelementptr inbounds %LSlice, ptr %t1329, i32 0, i32 2 + %t1332 = getelementptr inbounds %LSlice, ptr %t1329, i32 0, i32 0 + %t1333 = load i32, ptr %t1330 + %t1334 = load i32, ptr %t1331 + %t1335 = icmp sge i32 %t1333, %t1334 + br i1 %t1335, label %grow333, label %put334 +grow333: + %t1336 = mul i32 %t1334, 2 + %t1337 = icmp eq i32 %t1334, 0 + %t1338 = select i1 %t1337, i32 8, i32 %t1336 + %t1339 = getelementptr ptr, ptr null, i32 1 + %t1340 = ptrtoint ptr %t1339 to i64 + %t1341 = zext i32 %t1338 to i64 + %t1342 = mul i64 %t1341, %t1340 + %t1343 = load ptr, ptr %t1332 + %t1344 = call ptr @realloc(ptr %t1343, i64 %t1342) + store ptr %t1344, ptr %t1332 + store i32 %t1338, ptr %t1331 + br label %put334 +put334: + %t1345 = load ptr, ptr %t1332 + %t1346 = getelementptr inbounds ptr, ptr %t1345, i32 %t1333 + store ptr @.str6516, ptr %t1346 + %t1347 = add i32 %t1333, 1 + store i32 %t1347, ptr %t1330 + %t1348 = load ptr, ptr %t387 + %t1349 = getelementptr inbounds %LSlice, ptr %t1348, i32 0, i32 1 + %t1350 = getelementptr inbounds %LSlice, ptr %t1348, i32 0, i32 2 + %t1351 = getelementptr inbounds %LSlice, ptr %t1348, i32 0, i32 0 + %t1352 = load i32, ptr %t1349 + %t1353 = load i32, ptr %t1350 + %t1354 = icmp sge i32 %t1352, %t1353 + br i1 %t1354, label %grow335, label %put336 +grow335: + %t1355 = mul i32 %t1353, 2 + %t1356 = icmp eq i32 %t1353, 0 + %t1357 = select i1 %t1356, i32 8, i32 %t1355 + %t1358 = getelementptr ptr, ptr null, i32 1 + %t1359 = ptrtoint ptr %t1358 to i64 + %t1360 = zext i32 %t1357 to i64 + %t1361 = mul i64 %t1360, %t1359 + %t1362 = load ptr, ptr %t1351 + %t1363 = call ptr @realloc(ptr %t1362, i64 %t1361) + store ptr %t1363, ptr %t1351 + store i32 %t1357, ptr %t1350 + br label %put336 +put336: + %t1364 = load ptr, ptr %t1351 + %t1365 = getelementptr inbounds ptr, ptr %t1364, i32 %t1352 + store ptr @.str6517, ptr %t1365 + %t1366 = add i32 %t1352, 1 + store i32 %t1366, ptr %t1349 + %t1367 = load ptr, ptr %t387 + %t1368 = getelementptr inbounds %LSlice, ptr %t1367, i32 0, i32 1 + %t1369 = getelementptr inbounds %LSlice, ptr %t1367, i32 0, i32 2 + %t1370 = getelementptr inbounds %LSlice, ptr %t1367, i32 0, i32 0 + %t1371 = load i32, ptr %t1368 + %t1372 = load i32, ptr %t1369 + %t1373 = icmp sge i32 %t1371, %t1372 + br i1 %t1373, label %grow337, label %put338 +grow337: + %t1374 = mul i32 %t1372, 2 + %t1375 = icmp eq i32 %t1372, 0 + %t1376 = select i1 %t1375, i32 8, i32 %t1374 + %t1377 = getelementptr ptr, ptr null, i32 1 + %t1378 = ptrtoint ptr %t1377 to i64 + %t1379 = zext i32 %t1376 to i64 + %t1380 = mul i64 %t1379, %t1378 + %t1381 = load ptr, ptr %t1370 + %t1382 = call ptr @realloc(ptr %t1381, i64 %t1380) + store ptr %t1382, ptr %t1370 + store i32 %t1376, ptr %t1369 + br label %put338 +put338: + %t1383 = load ptr, ptr %t1370 + %t1384 = getelementptr inbounds ptr, ptr %t1383, i32 %t1371 + store ptr @.str6518, ptr %t1384 + %t1385 = add i32 %t1371, 1 + store i32 %t1385, ptr %t1368 + %t1386 = load ptr, ptr %t387 + %t1387 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 1 + %t1388 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 2 + %t1389 = getelementptr inbounds %LSlice, ptr %t1386, i32 0, i32 0 + %t1390 = load i32, ptr %t1387 + %t1391 = load i32, ptr %t1388 + %t1392 = icmp sge i32 %t1390, %t1391 + br i1 %t1392, label %grow339, label %put340 +grow339: + %t1393 = mul i32 %t1391, 2 + %t1394 = icmp eq i32 %t1391, 0 + %t1395 = select i1 %t1394, i32 8, i32 %t1393 + %t1396 = getelementptr ptr, ptr null, i32 1 + %t1397 = ptrtoint ptr %t1396 to i64 + %t1398 = zext i32 %t1395 to i64 + %t1399 = mul i64 %t1398, %t1397 + %t1400 = load ptr, ptr %t1389 + %t1401 = call ptr @realloc(ptr %t1400, i64 %t1399) + store ptr %t1401, ptr %t1389 + store i32 %t1395, ptr %t1388 + br label %put340 +put340: + %t1402 = load ptr, ptr %t1389 + %t1403 = getelementptr inbounds ptr, ptr %t1402, i32 %t1390 + store ptr @.str6519, ptr %t1403 + %t1404 = add i32 %t1390, 1 + store i32 %t1404, ptr %t1387 + %t1405 = load ptr, ptr %t387 + %t1406 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 1 + %t1407 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 2 + %t1408 = getelementptr inbounds %LSlice, ptr %t1405, i32 0, i32 0 + %t1409 = load i32, ptr %t1406 + %t1410 = load i32, ptr %t1407 + %t1411 = icmp sge i32 %t1409, %t1410 + br i1 %t1411, label %grow341, label %put342 grow341: - %t1444 = mul i32 %t1442, 2 - %t1445 = icmp eq i32 %t1442, 0 - %t1446 = select i1 %t1445, i32 8, i32 %t1444 - %t1447 = getelementptr ptr, ptr null, i32 1 - %t1448 = ptrtoint ptr %t1447 to i64 - %t1449 = zext i32 %t1446 to i64 - %t1450 = mul i64 %t1449, %t1448 - %t1451 = load ptr, ptr %t1440 - %t1452 = call ptr @realloc(ptr %t1451, i64 %t1450) - store ptr %t1452, ptr %t1440 - store i32 %t1446, ptr %t1439 + %t1412 = mul i32 %t1410, 2 + %t1413 = icmp eq i32 %t1410, 0 + %t1414 = select i1 %t1413, i32 8, i32 %t1412 + %t1415 = getelementptr ptr, ptr null, i32 1 + %t1416 = ptrtoint ptr %t1415 to i64 + %t1417 = zext i32 %t1414 to i64 + %t1418 = mul i64 %t1417, %t1416 + %t1419 = load ptr, ptr %t1408 + %t1420 = call ptr @realloc(ptr %t1419, i64 %t1418) + store ptr %t1420, ptr %t1408 + store i32 %t1414, ptr %t1407 br label %put342 put342: - %t1453 = load ptr, ptr %t1440 - %t1454 = getelementptr inbounds ptr, ptr %t1453, i32 %t1441 - store ptr @.str6215, ptr %t1454 - %t1455 = add i32 %t1441, 1 - store i32 %t1455, ptr %t1438 - %t1456 = load ptr, ptr %t337 - %t1457 = getelementptr inbounds %LSlice, ptr %t1456, i32 0, i32 1 - %t1458 = getelementptr inbounds %LSlice, ptr %t1456, i32 0, i32 2 - %t1459 = getelementptr inbounds %LSlice, ptr %t1456, i32 0, i32 0 - %t1460 = load i32, ptr %t1457 - %t1461 = load i32, ptr %t1458 - %t1462 = icmp sge i32 %t1460, %t1461 - br i1 %t1462, label %grow343, label %put344 + %t1421 = load ptr, ptr %t1408 + %t1422 = getelementptr inbounds ptr, ptr %t1421, i32 %t1409 + store ptr @.str6520, ptr %t1422 + %t1423 = add i32 %t1409, 1 + store i32 %t1423, ptr %t1406 + %t1424 = load ptr, ptr %t387 + %t1425 = getelementptr inbounds %LSlice, ptr %t1424, i32 0, i32 1 + %t1426 = getelementptr inbounds %LSlice, ptr %t1424, i32 0, i32 2 + %t1427 = getelementptr inbounds %LSlice, ptr %t1424, i32 0, i32 0 + %t1428 = load i32, ptr %t1425 + %t1429 = load i32, ptr %t1426 + %t1430 = icmp sge i32 %t1428, %t1429 + br i1 %t1430, label %grow343, label %put344 grow343: - %t1463 = mul i32 %t1461, 2 - %t1464 = icmp eq i32 %t1461, 0 - %t1465 = select i1 %t1464, i32 8, i32 %t1463 - %t1466 = getelementptr ptr, ptr null, i32 1 - %t1467 = ptrtoint ptr %t1466 to i64 - %t1468 = zext i32 %t1465 to i64 - %t1469 = mul i64 %t1468, %t1467 - %t1470 = load ptr, ptr %t1459 - %t1471 = call ptr @realloc(ptr %t1470, i64 %t1469) - store ptr %t1471, ptr %t1459 - store i32 %t1465, ptr %t1458 + %t1431 = mul i32 %t1429, 2 + %t1432 = icmp eq i32 %t1429, 0 + %t1433 = select i1 %t1432, i32 8, i32 %t1431 + %t1434 = getelementptr ptr, ptr null, i32 1 + %t1435 = ptrtoint ptr %t1434 to i64 + %t1436 = zext i32 %t1433 to i64 + %t1437 = mul i64 %t1436, %t1435 + %t1438 = load ptr, ptr %t1427 + %t1439 = call ptr @realloc(ptr %t1438, i64 %t1437) + store ptr %t1439, ptr %t1427 + store i32 %t1433, ptr %t1426 br label %put344 put344: - %t1472 = load ptr, ptr %t1459 - %t1473 = getelementptr inbounds ptr, ptr %t1472, i32 %t1460 - store ptr @.str6216, ptr %t1473 - %t1474 = add i32 %t1460, 1 - store i32 %t1474, ptr %t1457 - %t1475 = load ptr, ptr %t337 - %t1476 = getelementptr inbounds %LSlice, ptr %t1475, i32 0, i32 1 - %t1477 = getelementptr inbounds %LSlice, ptr %t1475, i32 0, i32 2 - %t1478 = getelementptr inbounds %LSlice, ptr %t1475, i32 0, i32 0 - %t1479 = load i32, ptr %t1476 - %t1480 = load i32, ptr %t1477 - %t1481 = icmp sge i32 %t1479, %t1480 - br i1 %t1481, label %grow345, label %put346 -grow345: - %t1482 = mul i32 %t1480, 2 - %t1483 = icmp eq i32 %t1480, 0 - %t1484 = select i1 %t1483, i32 8, i32 %t1482 - %t1485 = getelementptr ptr, ptr null, i32 1 - %t1486 = ptrtoint ptr %t1485 to i64 - %t1487 = zext i32 %t1484 to i64 - %t1488 = mul i64 %t1487, %t1486 - %t1489 = load ptr, ptr %t1478 - %t1490 = call ptr @realloc(ptr %t1489, i64 %t1488) - store ptr %t1490, ptr %t1478 - store i32 %t1484, ptr %t1477 - br label %put346 -put346: - %t1491 = load ptr, ptr %t1478 - %t1492 = getelementptr inbounds ptr, ptr %t1491, i32 %t1479 - store ptr @.str6217, ptr %t1492 - %t1493 = add i32 %t1479, 1 - store i32 %t1493, ptr %t1476 - %t1494 = load ptr, ptr %t337 - %t1495 = getelementptr inbounds %LSlice, ptr %t1494, i32 0, i32 1 - %t1496 = getelementptr inbounds %LSlice, ptr %t1494, i32 0, i32 2 - %t1497 = getelementptr inbounds %LSlice, ptr %t1494, i32 0, i32 0 - %t1498 = load i32, ptr %t1495 - %t1499 = load i32, ptr %t1496 - %t1500 = icmp sge i32 %t1498, %t1499 - br i1 %t1500, label %grow347, label %put348 -grow347: - %t1501 = mul i32 %t1499, 2 - %t1502 = icmp eq i32 %t1499, 0 - %t1503 = select i1 %t1502, i32 8, i32 %t1501 - %t1504 = getelementptr ptr, ptr null, i32 1 - %t1505 = ptrtoint ptr %t1504 to i64 - %t1506 = zext i32 %t1503 to i64 - %t1507 = mul i64 %t1506, %t1505 - %t1508 = load ptr, ptr %t1497 - %t1509 = call ptr @realloc(ptr %t1508, i64 %t1507) - store ptr %t1509, ptr %t1497 - store i32 %t1503, ptr %t1496 - br label %put348 -put348: - %t1510 = load ptr, ptr %t1497 - %t1511 = getelementptr inbounds ptr, ptr %t1510, i32 %t1498 - store ptr @.str6218, ptr %t1511 - %t1512 = add i32 %t1498, 1 - store i32 %t1512, ptr %t1495 - br label %ifend340 -ifend340: - %t1513 = load ptr, ptr %t1 - %t1514 = call i32 @fn_str_eq(ptr %t1513, ptr @.str6219) - %t1515 = icmp ne i32 %t1514, 0 - br i1 %t1515, label %then349, label %ifend351 -then349: - store ptr @.str6220, ptr %t330 - %t1516 = load ptr, ptr %t337 - %t1517 = getelementptr inbounds %LSlice, ptr %t1516, i32 0, i32 1 - %t1518 = getelementptr inbounds %LSlice, ptr %t1516, i32 0, i32 2 - %t1519 = getelementptr inbounds %LSlice, ptr %t1516, i32 0, i32 0 - %t1520 = load i32, ptr %t1517 - %t1521 = load i32, ptr %t1518 - %t1522 = icmp sge i32 %t1520, %t1521 - br i1 %t1522, label %grow352, label %put353 + %t1440 = load ptr, ptr %t1427 + %t1441 = getelementptr inbounds ptr, ptr %t1440, i32 %t1428 + store ptr @.str6521, ptr %t1441 + %t1442 = add i32 %t1428, 1 + store i32 %t1442, ptr %t1425 + br label %ifend330 +ifend330: + %t1443 = load ptr, ptr %t1 + %t1444 = call i32 @fn_str_eq(ptr %t1443, ptr @.str6522) + %t1445 = icmp ne i32 %t1444, 0 + br i1 %t1445, label %then345, label %ifend347 +then345: + store ptr @.str6523, ptr %t380 + %t1446 = load ptr, ptr %t387 + %t1447 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 1 + %t1448 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 2 + %t1449 = getelementptr inbounds %LSlice, ptr %t1446, i32 0, i32 0 + %t1450 = load i32, ptr %t1447 + %t1451 = load i32, ptr %t1448 + %t1452 = icmp sge i32 %t1450, %t1451 + br i1 %t1452, label %grow348, label %put349 +grow348: + %t1453 = mul i32 %t1451, 2 + %t1454 = icmp eq i32 %t1451, 0 + %t1455 = select i1 %t1454, i32 8, i32 %t1453 + %t1456 = getelementptr ptr, ptr null, i32 1 + %t1457 = ptrtoint ptr %t1456 to i64 + %t1458 = zext i32 %t1455 to i64 + %t1459 = mul i64 %t1458, %t1457 + %t1460 = load ptr, ptr %t1449 + %t1461 = call ptr @realloc(ptr %t1460, i64 %t1459) + store ptr %t1461, ptr %t1449 + store i32 %t1455, ptr %t1448 + br label %put349 +put349: + %t1462 = load ptr, ptr %t1449 + %t1463 = getelementptr inbounds ptr, ptr %t1462, i32 %t1450 + store ptr @.str6524, ptr %t1463 + %t1464 = add i32 %t1450, 1 + store i32 %t1464, ptr %t1447 + %t1465 = load ptr, ptr %t387 + %t1466 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 1 + %t1467 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 2 + %t1468 = getelementptr inbounds %LSlice, ptr %t1465, i32 0, i32 0 + %t1469 = load i32, ptr %t1466 + %t1470 = load i32, ptr %t1467 + %t1471 = icmp sge i32 %t1469, %t1470 + br i1 %t1471, label %grow350, label %put351 +grow350: + %t1472 = mul i32 %t1470, 2 + %t1473 = icmp eq i32 %t1470, 0 + %t1474 = select i1 %t1473, i32 8, i32 %t1472 + %t1475 = getelementptr ptr, ptr null, i32 1 + %t1476 = ptrtoint ptr %t1475 to i64 + %t1477 = zext i32 %t1474 to i64 + %t1478 = mul i64 %t1477, %t1476 + %t1479 = load ptr, ptr %t1468 + %t1480 = call ptr @realloc(ptr %t1479, i64 %t1478) + store ptr %t1480, ptr %t1468 + store i32 %t1474, ptr %t1467 + br label %put351 +put351: + %t1481 = load ptr, ptr %t1468 + %t1482 = getelementptr inbounds ptr, ptr %t1481, i32 %t1469 + store ptr @.str6525, ptr %t1482 + %t1483 = add i32 %t1469, 1 + store i32 %t1483, ptr %t1466 + %t1484 = load ptr, ptr %t387 + %t1485 = getelementptr inbounds %LSlice, ptr %t1484, i32 0, i32 1 + %t1486 = getelementptr inbounds %LSlice, ptr %t1484, i32 0, i32 2 + %t1487 = getelementptr inbounds %LSlice, ptr %t1484, i32 0, i32 0 + %t1488 = load i32, ptr %t1485 + %t1489 = load i32, ptr %t1486 + %t1490 = icmp sge i32 %t1488, %t1489 + br i1 %t1490, label %grow352, label %put353 grow352: - %t1523 = mul i32 %t1521, 2 - %t1524 = icmp eq i32 %t1521, 0 - %t1525 = select i1 %t1524, i32 8, i32 %t1523 - %t1526 = getelementptr ptr, ptr null, i32 1 - %t1527 = ptrtoint ptr %t1526 to i64 - %t1528 = zext i32 %t1525 to i64 - %t1529 = mul i64 %t1528, %t1527 - %t1530 = load ptr, ptr %t1519 - %t1531 = call ptr @realloc(ptr %t1530, i64 %t1529) - store ptr %t1531, ptr %t1519 - store i32 %t1525, ptr %t1518 + %t1491 = mul i32 %t1489, 2 + %t1492 = icmp eq i32 %t1489, 0 + %t1493 = select i1 %t1492, i32 8, i32 %t1491 + %t1494 = getelementptr ptr, ptr null, i32 1 + %t1495 = ptrtoint ptr %t1494 to i64 + %t1496 = zext i32 %t1493 to i64 + %t1497 = mul i64 %t1496, %t1495 + %t1498 = load ptr, ptr %t1487 + %t1499 = call ptr @realloc(ptr %t1498, i64 %t1497) + store ptr %t1499, ptr %t1487 + store i32 %t1493, ptr %t1486 br label %put353 put353: - %t1532 = load ptr, ptr %t1519 - %t1533 = getelementptr inbounds ptr, ptr %t1532, i32 %t1520 - store ptr @.str6221, ptr %t1533 - %t1534 = add i32 %t1520, 1 - store i32 %t1534, ptr %t1517 - %t1535 = load ptr, ptr %t337 - %t1536 = getelementptr inbounds %LSlice, ptr %t1535, i32 0, i32 1 - %t1537 = getelementptr inbounds %LSlice, ptr %t1535, i32 0, i32 2 - %t1538 = getelementptr inbounds %LSlice, ptr %t1535, i32 0, i32 0 - %t1539 = load i32, ptr %t1536 - %t1540 = load i32, ptr %t1537 - %t1541 = icmp sge i32 %t1539, %t1540 - br i1 %t1541, label %grow354, label %put355 + %t1500 = load ptr, ptr %t1487 + %t1501 = getelementptr inbounds ptr, ptr %t1500, i32 %t1488 + store ptr @.str6526, ptr %t1501 + %t1502 = add i32 %t1488, 1 + store i32 %t1502, ptr %t1485 + %t1503 = load ptr, ptr %t387 + %t1504 = getelementptr inbounds %LSlice, ptr %t1503, i32 0, i32 1 + %t1505 = getelementptr inbounds %LSlice, ptr %t1503, i32 0, i32 2 + %t1506 = getelementptr inbounds %LSlice, ptr %t1503, i32 0, i32 0 + %t1507 = load i32, ptr %t1504 + %t1508 = load i32, ptr %t1505 + %t1509 = icmp sge i32 %t1507, %t1508 + br i1 %t1509, label %grow354, label %put355 grow354: - %t1542 = mul i32 %t1540, 2 - %t1543 = icmp eq i32 %t1540, 0 - %t1544 = select i1 %t1543, i32 8, i32 %t1542 - %t1545 = getelementptr ptr, ptr null, i32 1 - %t1546 = ptrtoint ptr %t1545 to i64 - %t1547 = zext i32 %t1544 to i64 - %t1548 = mul i64 %t1547, %t1546 - %t1549 = load ptr, ptr %t1538 - %t1550 = call ptr @realloc(ptr %t1549, i64 %t1548) - store ptr %t1550, ptr %t1538 - store i32 %t1544, ptr %t1537 + %t1510 = mul i32 %t1508, 2 + %t1511 = icmp eq i32 %t1508, 0 + %t1512 = select i1 %t1511, i32 8, i32 %t1510 + %t1513 = getelementptr ptr, ptr null, i32 1 + %t1514 = ptrtoint ptr %t1513 to i64 + %t1515 = zext i32 %t1512 to i64 + %t1516 = mul i64 %t1515, %t1514 + %t1517 = load ptr, ptr %t1506 + %t1518 = call ptr @realloc(ptr %t1517, i64 %t1516) + store ptr %t1518, ptr %t1506 + store i32 %t1512, ptr %t1505 br label %put355 put355: - %t1551 = load ptr, ptr %t1538 - %t1552 = getelementptr inbounds ptr, ptr %t1551, i32 %t1539 - store ptr @.str6222, ptr %t1552 - %t1553 = add i32 %t1539, 1 - store i32 %t1553, ptr %t1536 - %t1554 = load ptr, ptr %t337 - %t1555 = getelementptr inbounds %LSlice, ptr %t1554, i32 0, i32 1 - %t1556 = getelementptr inbounds %LSlice, ptr %t1554, i32 0, i32 2 - %t1557 = getelementptr inbounds %LSlice, ptr %t1554, i32 0, i32 0 - %t1558 = load i32, ptr %t1555 - %t1559 = load i32, ptr %t1556 - %t1560 = icmp sge i32 %t1558, %t1559 - br i1 %t1560, label %grow356, label %put357 + %t1519 = load ptr, ptr %t1506 + %t1520 = getelementptr inbounds ptr, ptr %t1519, i32 %t1507 + store ptr @.str6527, ptr %t1520 + %t1521 = add i32 %t1507, 1 + store i32 %t1521, ptr %t1504 + %t1522 = load ptr, ptr %t387 + %t1523 = getelementptr inbounds %LSlice, ptr %t1522, i32 0, i32 1 + %t1524 = getelementptr inbounds %LSlice, ptr %t1522, i32 0, i32 2 + %t1525 = getelementptr inbounds %LSlice, ptr %t1522, i32 0, i32 0 + %t1526 = load i32, ptr %t1523 + %t1527 = load i32, ptr %t1524 + %t1528 = icmp sge i32 %t1526, %t1527 + br i1 %t1528, label %grow356, label %put357 grow356: - %t1561 = mul i32 %t1559, 2 - %t1562 = icmp eq i32 %t1559, 0 - %t1563 = select i1 %t1562, i32 8, i32 %t1561 - %t1564 = getelementptr ptr, ptr null, i32 1 - %t1565 = ptrtoint ptr %t1564 to i64 - %t1566 = zext i32 %t1563 to i64 - %t1567 = mul i64 %t1566, %t1565 - %t1568 = load ptr, ptr %t1557 - %t1569 = call ptr @realloc(ptr %t1568, i64 %t1567) - store ptr %t1569, ptr %t1557 - store i32 %t1563, ptr %t1556 + %t1529 = mul i32 %t1527, 2 + %t1530 = icmp eq i32 %t1527, 0 + %t1531 = select i1 %t1530, i32 8, i32 %t1529 + %t1532 = getelementptr ptr, ptr null, i32 1 + %t1533 = ptrtoint ptr %t1532 to i64 + %t1534 = zext i32 %t1531 to i64 + %t1535 = mul i64 %t1534, %t1533 + %t1536 = load ptr, ptr %t1525 + %t1537 = call ptr @realloc(ptr %t1536, i64 %t1535) + store ptr %t1537, ptr %t1525 + store i32 %t1531, ptr %t1524 br label %put357 put357: - %t1570 = load ptr, ptr %t1557 - %t1571 = getelementptr inbounds ptr, ptr %t1570, i32 %t1558 - store ptr @.str6223, ptr %t1571 - %t1572 = add i32 %t1558, 1 - store i32 %t1572, ptr %t1555 - %t1573 = load ptr, ptr %t337 - %t1574 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 1 - %t1575 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 2 - %t1576 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 0 - %t1577 = load i32, ptr %t1574 - %t1578 = load i32, ptr %t1575 - %t1579 = icmp sge i32 %t1577, %t1578 - br i1 %t1579, label %grow358, label %put359 + %t1538 = load ptr, ptr %t1525 + %t1539 = getelementptr inbounds ptr, ptr %t1538, i32 %t1526 + store ptr @.str6528, ptr %t1539 + %t1540 = add i32 %t1526, 1 + store i32 %t1540, ptr %t1523 + %t1541 = load ptr, ptr %t387 + %t1542 = getelementptr inbounds %LSlice, ptr %t1541, i32 0, i32 1 + %t1543 = getelementptr inbounds %LSlice, ptr %t1541, i32 0, i32 2 + %t1544 = getelementptr inbounds %LSlice, ptr %t1541, i32 0, i32 0 + %t1545 = load i32, ptr %t1542 + %t1546 = load i32, ptr %t1543 + %t1547 = icmp sge i32 %t1545, %t1546 + br i1 %t1547, label %grow358, label %put359 grow358: - %t1580 = mul i32 %t1578, 2 - %t1581 = icmp eq i32 %t1578, 0 - %t1582 = select i1 %t1581, i32 8, i32 %t1580 - %t1583 = getelementptr ptr, ptr null, i32 1 - %t1584 = ptrtoint ptr %t1583 to i64 - %t1585 = zext i32 %t1582 to i64 - %t1586 = mul i64 %t1585, %t1584 - %t1587 = load ptr, ptr %t1576 - %t1588 = call ptr @realloc(ptr %t1587, i64 %t1586) - store ptr %t1588, ptr %t1576 - store i32 %t1582, ptr %t1575 + %t1548 = mul i32 %t1546, 2 + %t1549 = icmp eq i32 %t1546, 0 + %t1550 = select i1 %t1549, i32 8, i32 %t1548 + %t1551 = getelementptr ptr, ptr null, i32 1 + %t1552 = ptrtoint ptr %t1551 to i64 + %t1553 = zext i32 %t1550 to i64 + %t1554 = mul i64 %t1553, %t1552 + %t1555 = load ptr, ptr %t1544 + %t1556 = call ptr @realloc(ptr %t1555, i64 %t1554) + store ptr %t1556, ptr %t1544 + store i32 %t1550, ptr %t1543 br label %put359 put359: - %t1589 = load ptr, ptr %t1576 - %t1590 = getelementptr inbounds ptr, ptr %t1589, i32 %t1577 - store ptr @.str6224, ptr %t1590 - %t1591 = add i32 %t1577, 1 - store i32 %t1591, ptr %t1574 - %t1592 = load ptr, ptr %t337 - %t1593 = getelementptr inbounds %LSlice, ptr %t1592, i32 0, i32 1 - %t1594 = getelementptr inbounds %LSlice, ptr %t1592, i32 0, i32 2 - %t1595 = getelementptr inbounds %LSlice, ptr %t1592, i32 0, i32 0 - %t1596 = load i32, ptr %t1593 - %t1597 = load i32, ptr %t1594 - %t1598 = icmp sge i32 %t1596, %t1597 - br i1 %t1598, label %grow360, label %put361 + %t1557 = load ptr, ptr %t1544 + %t1558 = getelementptr inbounds ptr, ptr %t1557, i32 %t1545 + store ptr @.str6529, ptr %t1558 + %t1559 = add i32 %t1545, 1 + store i32 %t1559, ptr %t1542 + %t1560 = load ptr, ptr %t387 + %t1561 = getelementptr inbounds %LSlice, ptr %t1560, i32 0, i32 1 + %t1562 = getelementptr inbounds %LSlice, ptr %t1560, i32 0, i32 2 + %t1563 = getelementptr inbounds %LSlice, ptr %t1560, i32 0, i32 0 + %t1564 = load i32, ptr %t1561 + %t1565 = load i32, ptr %t1562 + %t1566 = icmp sge i32 %t1564, %t1565 + br i1 %t1566, label %grow360, label %put361 grow360: - %t1599 = mul i32 %t1597, 2 - %t1600 = icmp eq i32 %t1597, 0 - %t1601 = select i1 %t1600, i32 8, i32 %t1599 - %t1602 = getelementptr ptr, ptr null, i32 1 - %t1603 = ptrtoint ptr %t1602 to i64 - %t1604 = zext i32 %t1601 to i64 - %t1605 = mul i64 %t1604, %t1603 - %t1606 = load ptr, ptr %t1595 - %t1607 = call ptr @realloc(ptr %t1606, i64 %t1605) - store ptr %t1607, ptr %t1595 - store i32 %t1601, ptr %t1594 + %t1567 = mul i32 %t1565, 2 + %t1568 = icmp eq i32 %t1565, 0 + %t1569 = select i1 %t1568, i32 8, i32 %t1567 + %t1570 = getelementptr ptr, ptr null, i32 1 + %t1571 = ptrtoint ptr %t1570 to i64 + %t1572 = zext i32 %t1569 to i64 + %t1573 = mul i64 %t1572, %t1571 + %t1574 = load ptr, ptr %t1563 + %t1575 = call ptr @realloc(ptr %t1574, i64 %t1573) + store ptr %t1575, ptr %t1563 + store i32 %t1569, ptr %t1562 br label %put361 put361: - %t1608 = load ptr, ptr %t1595 - %t1609 = getelementptr inbounds ptr, ptr %t1608, i32 %t1596 - store ptr @.str6225, ptr %t1609 - %t1610 = add i32 %t1596, 1 - store i32 %t1610, ptr %t1593 - br label %ifend351 -ifend351: - %t1611 = load ptr, ptr %t1 - %t1612 = call i32 @fn_str_eq(ptr %t1611, ptr @.str6226) - %t1613 = icmp ne i32 %t1612, 0 - br i1 %t1613, label %then362, label %ifend364 + %t1576 = load ptr, ptr %t1563 + %t1577 = getelementptr inbounds ptr, ptr %t1576, i32 %t1564 + store ptr @.str6530, ptr %t1577 + %t1578 = add i32 %t1564, 1 + store i32 %t1578, ptr %t1561 + br label %ifend347 +ifend347: + %t1579 = load ptr, ptr %t1 + %t1580 = call i32 @fn_str_eq(ptr %t1579, ptr @.str6531) + %t1581 = icmp ne i32 %t1580, 0 + br i1 %t1581, label %then362, label %ifend364 then362: - store ptr @.str6227, ptr %t330 - %t1614 = load ptr, ptr %t337 - %t1615 = getelementptr inbounds %LSlice, ptr %t1614, i32 0, i32 1 - %t1616 = getelementptr inbounds %LSlice, ptr %t1614, i32 0, i32 2 - %t1617 = getelementptr inbounds %LSlice, ptr %t1614, i32 0, i32 0 - %t1618 = load i32, ptr %t1615 - %t1619 = load i32, ptr %t1616 - %t1620 = icmp sge i32 %t1618, %t1619 - br i1 %t1620, label %grow365, label %put366 + store ptr @.str6532, ptr %t380 + %t1582 = load ptr, ptr %t387 + %t1583 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 1 + %t1584 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 2 + %t1585 = getelementptr inbounds %LSlice, ptr %t1582, i32 0, i32 0 + %t1586 = load i32, ptr %t1583 + %t1587 = load i32, ptr %t1584 + %t1588 = icmp sge i32 %t1586, %t1587 + br i1 %t1588, label %grow365, label %put366 grow365: - %t1621 = mul i32 %t1619, 2 - %t1622 = icmp eq i32 %t1619, 0 - %t1623 = select i1 %t1622, i32 8, i32 %t1621 - %t1624 = getelementptr ptr, ptr null, i32 1 - %t1625 = ptrtoint ptr %t1624 to i64 - %t1626 = zext i32 %t1623 to i64 - %t1627 = mul i64 %t1626, %t1625 - %t1628 = load ptr, ptr %t1617 - %t1629 = call ptr @realloc(ptr %t1628, i64 %t1627) - store ptr %t1629, ptr %t1617 - store i32 %t1623, ptr %t1616 + %t1589 = mul i32 %t1587, 2 + %t1590 = icmp eq i32 %t1587, 0 + %t1591 = select i1 %t1590, i32 8, i32 %t1589 + %t1592 = getelementptr ptr, ptr null, i32 1 + %t1593 = ptrtoint ptr %t1592 to i64 + %t1594 = zext i32 %t1591 to i64 + %t1595 = mul i64 %t1594, %t1593 + %t1596 = load ptr, ptr %t1585 + %t1597 = call ptr @realloc(ptr %t1596, i64 %t1595) + store ptr %t1597, ptr %t1585 + store i32 %t1591, ptr %t1584 br label %put366 put366: - %t1630 = load ptr, ptr %t1617 - %t1631 = getelementptr inbounds ptr, ptr %t1630, i32 %t1618 - store ptr @.str6228, ptr %t1631 - %t1632 = add i32 %t1618, 1 - store i32 %t1632, ptr %t1615 - %t1633 = load ptr, ptr %t337 - %t1634 = getelementptr inbounds %LSlice, ptr %t1633, i32 0, i32 1 - %t1635 = getelementptr inbounds %LSlice, ptr %t1633, i32 0, i32 2 - %t1636 = getelementptr inbounds %LSlice, ptr %t1633, i32 0, i32 0 - %t1637 = load i32, ptr %t1634 - %t1638 = load i32, ptr %t1635 - %t1639 = icmp sge i32 %t1637, %t1638 - br i1 %t1639, label %grow367, label %put368 + %t1598 = load ptr, ptr %t1585 + %t1599 = getelementptr inbounds ptr, ptr %t1598, i32 %t1586 + store ptr @.str6533, ptr %t1599 + %t1600 = add i32 %t1586, 1 + store i32 %t1600, ptr %t1583 + %t1601 = load ptr, ptr %t387 + %t1602 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 1 + %t1603 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 2 + %t1604 = getelementptr inbounds %LSlice, ptr %t1601, i32 0, i32 0 + %t1605 = load i32, ptr %t1602 + %t1606 = load i32, ptr %t1603 + %t1607 = icmp sge i32 %t1605, %t1606 + br i1 %t1607, label %grow367, label %put368 grow367: - %t1640 = mul i32 %t1638, 2 - %t1641 = icmp eq i32 %t1638, 0 - %t1642 = select i1 %t1641, i32 8, i32 %t1640 - %t1643 = getelementptr ptr, ptr null, i32 1 - %t1644 = ptrtoint ptr %t1643 to i64 - %t1645 = zext i32 %t1642 to i64 - %t1646 = mul i64 %t1645, %t1644 - %t1647 = load ptr, ptr %t1636 - %t1648 = call ptr @realloc(ptr %t1647, i64 %t1646) - store ptr %t1648, ptr %t1636 - store i32 %t1642, ptr %t1635 + %t1608 = mul i32 %t1606, 2 + %t1609 = icmp eq i32 %t1606, 0 + %t1610 = select i1 %t1609, i32 8, i32 %t1608 + %t1611 = getelementptr ptr, ptr null, i32 1 + %t1612 = ptrtoint ptr %t1611 to i64 + %t1613 = zext i32 %t1610 to i64 + %t1614 = mul i64 %t1613, %t1612 + %t1615 = load ptr, ptr %t1604 + %t1616 = call ptr @realloc(ptr %t1615, i64 %t1614) + store ptr %t1616, ptr %t1604 + store i32 %t1610, ptr %t1603 br label %put368 put368: - %t1649 = load ptr, ptr %t1636 - %t1650 = getelementptr inbounds ptr, ptr %t1649, i32 %t1637 - store ptr @.str6229, ptr %t1650 - %t1651 = add i32 %t1637, 1 - store i32 %t1651, ptr %t1634 + %t1617 = load ptr, ptr %t1604 + %t1618 = getelementptr inbounds ptr, ptr %t1617, i32 %t1605 + store ptr @.str6534, ptr %t1618 + %t1619 = add i32 %t1605, 1 + store i32 %t1619, ptr %t1602 + %t1620 = load ptr, ptr %t387 + %t1621 = getelementptr inbounds %LSlice, ptr %t1620, i32 0, i32 1 + %t1622 = getelementptr inbounds %LSlice, ptr %t1620, i32 0, i32 2 + %t1623 = getelementptr inbounds %LSlice, ptr %t1620, i32 0, i32 0 + %t1624 = load i32, ptr %t1621 + %t1625 = load i32, ptr %t1622 + %t1626 = icmp sge i32 %t1624, %t1625 + br i1 %t1626, label %grow369, label %put370 +grow369: + %t1627 = mul i32 %t1625, 2 + %t1628 = icmp eq i32 %t1625, 0 + %t1629 = select i1 %t1628, i32 8, i32 %t1627 + %t1630 = getelementptr ptr, ptr null, i32 1 + %t1631 = ptrtoint ptr %t1630 to i64 + %t1632 = zext i32 %t1629 to i64 + %t1633 = mul i64 %t1632, %t1631 + %t1634 = load ptr, ptr %t1623 + %t1635 = call ptr @realloc(ptr %t1634, i64 %t1633) + store ptr %t1635, ptr %t1623 + store i32 %t1629, ptr %t1622 + br label %put370 +put370: + %t1636 = load ptr, ptr %t1623 + %t1637 = getelementptr inbounds ptr, ptr %t1636, i32 %t1624 + store ptr @.str6535, ptr %t1637 + %t1638 = add i32 %t1624, 1 + store i32 %t1638, ptr %t1621 br label %ifend364 ifend364: - %t1652 = load ptr, ptr %t1 - %t1653 = call i32 @fn_str_eq(ptr %t1652, ptr @.str6230) - %t1654 = icmp ne i32 %t1653, 0 - br i1 %t1654, label %then369, label %ifend371 -then369: - store ptr @.str6231, ptr %t330 - %t1655 = load ptr, ptr %t337 - %t1656 = getelementptr inbounds %LSlice, ptr %t1655, i32 0, i32 1 - %t1657 = getelementptr inbounds %LSlice, ptr %t1655, i32 0, i32 2 - %t1658 = getelementptr inbounds %LSlice, ptr %t1655, i32 0, i32 0 - %t1659 = load i32, ptr %t1656 - %t1660 = load i32, ptr %t1657 - %t1661 = icmp sge i32 %t1659, %t1660 - br i1 %t1661, label %grow372, label %put373 -grow372: - %t1662 = mul i32 %t1660, 2 - %t1663 = icmp eq i32 %t1660, 0 - %t1664 = select i1 %t1663, i32 8, i32 %t1662 - %t1665 = getelementptr ptr, ptr null, i32 1 - %t1666 = ptrtoint ptr %t1665 to i64 - %t1667 = zext i32 %t1664 to i64 - %t1668 = mul i64 %t1667, %t1666 - %t1669 = load ptr, ptr %t1658 - %t1670 = call ptr @realloc(ptr %t1669, i64 %t1668) - store ptr %t1670, ptr %t1658 - store i32 %t1664, ptr %t1657 - br label %put373 -put373: - %t1671 = load ptr, ptr %t1658 - %t1672 = getelementptr inbounds ptr, ptr %t1671, i32 %t1659 - store ptr @.str6232, ptr %t1672 - %t1673 = add i32 %t1659, 1 - store i32 %t1673, ptr %t1656 - %t1674 = load ptr, ptr %t337 - %t1675 = getelementptr inbounds %LSlice, ptr %t1674, i32 0, i32 1 - %t1676 = getelementptr inbounds %LSlice, ptr %t1674, i32 0, i32 2 - %t1677 = getelementptr inbounds %LSlice, ptr %t1674, i32 0, i32 0 - %t1678 = load i32, ptr %t1675 - %t1679 = load i32, ptr %t1676 - %t1680 = icmp sge i32 %t1678, %t1679 - br i1 %t1680, label %grow374, label %put375 + %t1639 = load ptr, ptr %t1 + %t1640 = call i32 @fn_str_eq(ptr %t1639, ptr @.str6536) + %t1641 = icmp ne i32 %t1640, 0 + br i1 %t1641, label %then371, label %ifend373 +then371: + store ptr @.str6537, ptr %t380 + %t1642 = load ptr, ptr %t387 + %t1643 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 1 + %t1644 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 2 + %t1645 = getelementptr inbounds %LSlice, ptr %t1642, i32 0, i32 0 + %t1646 = load i32, ptr %t1643 + %t1647 = load i32, ptr %t1644 + %t1648 = icmp sge i32 %t1646, %t1647 + br i1 %t1648, label %grow374, label %put375 grow374: - %t1681 = mul i32 %t1679, 2 - %t1682 = icmp eq i32 %t1679, 0 - %t1683 = select i1 %t1682, i32 8, i32 %t1681 - %t1684 = getelementptr ptr, ptr null, i32 1 - %t1685 = ptrtoint ptr %t1684 to i64 - %t1686 = zext i32 %t1683 to i64 - %t1687 = mul i64 %t1686, %t1685 - %t1688 = load ptr, ptr %t1677 - %t1689 = call ptr @realloc(ptr %t1688, i64 %t1687) - store ptr %t1689, ptr %t1677 - store i32 %t1683, ptr %t1676 + %t1649 = mul i32 %t1647, 2 + %t1650 = icmp eq i32 %t1647, 0 + %t1651 = select i1 %t1650, i32 8, i32 %t1649 + %t1652 = getelementptr ptr, ptr null, i32 1 + %t1653 = ptrtoint ptr %t1652 to i64 + %t1654 = zext i32 %t1651 to i64 + %t1655 = mul i64 %t1654, %t1653 + %t1656 = load ptr, ptr %t1645 + %t1657 = call ptr @realloc(ptr %t1656, i64 %t1655) + store ptr %t1657, ptr %t1645 + store i32 %t1651, ptr %t1644 br label %put375 put375: - %t1690 = load ptr, ptr %t1677 - %t1691 = getelementptr inbounds ptr, ptr %t1690, i32 %t1678 - store ptr @.str6233, ptr %t1691 - %t1692 = add i32 %t1678, 1 - store i32 %t1692, ptr %t1675 - %t1693 = load ptr, ptr %t337 - %t1694 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 1 - %t1695 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 2 - %t1696 = getelementptr inbounds %LSlice, ptr %t1693, i32 0, i32 0 - %t1697 = load i32, ptr %t1694 - %t1698 = load i32, ptr %t1695 - %t1699 = icmp sge i32 %t1697, %t1698 - br i1 %t1699, label %grow376, label %put377 + %t1658 = load ptr, ptr %t1645 + %t1659 = getelementptr inbounds ptr, ptr %t1658, i32 %t1646 + store ptr @.str6538, ptr %t1659 + %t1660 = add i32 %t1646, 1 + store i32 %t1660, ptr %t1643 + %t1661 = load ptr, ptr %t387 + %t1662 = getelementptr inbounds %LSlice, ptr %t1661, i32 0, i32 1 + %t1663 = getelementptr inbounds %LSlice, ptr %t1661, i32 0, i32 2 + %t1664 = getelementptr inbounds %LSlice, ptr %t1661, i32 0, i32 0 + %t1665 = load i32, ptr %t1662 + %t1666 = load i32, ptr %t1663 + %t1667 = icmp sge i32 %t1665, %t1666 + br i1 %t1667, label %grow376, label %put377 grow376: - %t1700 = mul i32 %t1698, 2 - %t1701 = icmp eq i32 %t1698, 0 - %t1702 = select i1 %t1701, i32 8, i32 %t1700 - %t1703 = getelementptr ptr, ptr null, i32 1 - %t1704 = ptrtoint ptr %t1703 to i64 - %t1705 = zext i32 %t1702 to i64 - %t1706 = mul i64 %t1705, %t1704 - %t1707 = load ptr, ptr %t1696 - %t1708 = call ptr @realloc(ptr %t1707, i64 %t1706) - store ptr %t1708, ptr %t1696 - store i32 %t1702, ptr %t1695 + %t1668 = mul i32 %t1666, 2 + %t1669 = icmp eq i32 %t1666, 0 + %t1670 = select i1 %t1669, i32 8, i32 %t1668 + %t1671 = getelementptr ptr, ptr null, i32 1 + %t1672 = ptrtoint ptr %t1671 to i64 + %t1673 = zext i32 %t1670 to i64 + %t1674 = mul i64 %t1673, %t1672 + %t1675 = load ptr, ptr %t1664 + %t1676 = call ptr @realloc(ptr %t1675, i64 %t1674) + store ptr %t1676, ptr %t1664 + store i32 %t1670, ptr %t1663 br label %put377 put377: - %t1709 = load ptr, ptr %t1696 - %t1710 = getelementptr inbounds ptr, ptr %t1709, i32 %t1697 - store ptr @.str6234, ptr %t1710 - %t1711 = add i32 %t1697, 1 - store i32 %t1711, ptr %t1694 - %t1712 = load ptr, ptr %t337 - %t1713 = getelementptr inbounds %LSlice, ptr %t1712, i32 0, i32 1 - %t1714 = getelementptr inbounds %LSlice, ptr %t1712, i32 0, i32 2 - %t1715 = getelementptr inbounds %LSlice, ptr %t1712, i32 0, i32 0 - %t1716 = load i32, ptr %t1713 - %t1717 = load i32, ptr %t1714 - %t1718 = icmp sge i32 %t1716, %t1717 - br i1 %t1718, label %grow378, label %put379 + %t1677 = load ptr, ptr %t1664 + %t1678 = getelementptr inbounds ptr, ptr %t1677, i32 %t1665 + store ptr @.str6539, ptr %t1678 + %t1679 = add i32 %t1665, 1 + store i32 %t1679, ptr %t1662 + %t1680 = load ptr, ptr %t387 + %t1681 = getelementptr inbounds %LSlice, ptr %t1680, i32 0, i32 1 + %t1682 = getelementptr inbounds %LSlice, ptr %t1680, i32 0, i32 2 + %t1683 = getelementptr inbounds %LSlice, ptr %t1680, i32 0, i32 0 + %t1684 = load i32, ptr %t1681 + %t1685 = load i32, ptr %t1682 + %t1686 = icmp sge i32 %t1684, %t1685 + br i1 %t1686, label %grow378, label %put379 grow378: - %t1719 = mul i32 %t1717, 2 - %t1720 = icmp eq i32 %t1717, 0 - %t1721 = select i1 %t1720, i32 8, i32 %t1719 - %t1722 = getelementptr ptr, ptr null, i32 1 - %t1723 = ptrtoint ptr %t1722 to i64 - %t1724 = zext i32 %t1721 to i64 - %t1725 = mul i64 %t1724, %t1723 - %t1726 = load ptr, ptr %t1715 - %t1727 = call ptr @realloc(ptr %t1726, i64 %t1725) - store ptr %t1727, ptr %t1715 - store i32 %t1721, ptr %t1714 + %t1687 = mul i32 %t1685, 2 + %t1688 = icmp eq i32 %t1685, 0 + %t1689 = select i1 %t1688, i32 8, i32 %t1687 + %t1690 = getelementptr ptr, ptr null, i32 1 + %t1691 = ptrtoint ptr %t1690 to i64 + %t1692 = zext i32 %t1689 to i64 + %t1693 = mul i64 %t1692, %t1691 + %t1694 = load ptr, ptr %t1683 + %t1695 = call ptr @realloc(ptr %t1694, i64 %t1693) + store ptr %t1695, ptr %t1683 + store i32 %t1689, ptr %t1682 br label %put379 put379: - %t1728 = load ptr, ptr %t1715 - %t1729 = getelementptr inbounds ptr, ptr %t1728, i32 %t1716 - store ptr @.str6235, ptr %t1729 - %t1730 = add i32 %t1716, 1 - store i32 %t1730, ptr %t1713 - br label %ifend371 -ifend371: - %t1731 = load ptr, ptr %t1 - %t1732 = call i32 @fn_str_eq(ptr %t1731, ptr @.str6236) - %t1733 = icmp ne i32 %t1732, 0 - br i1 %t1733, label %then380, label %ifend382 -then380: - store ptr @.str6237, ptr %t330 - br label %ifend382 -ifend382: - %t1734 = load ptr, ptr %t1 - %t1735 = call i32 @fn_str_eq(ptr %t1734, ptr @.str6238) - %t1736 = icmp ne i32 %t1735, 0 - br i1 %t1736, label %then383, label %ifend385 -then383: - store ptr @.str6239, ptr %t330 - %t1737 = load ptr, ptr %t337 - %t1738 = getelementptr inbounds %LSlice, ptr %t1737, i32 0, i32 1 - %t1739 = getelementptr inbounds %LSlice, ptr %t1737, i32 0, i32 2 - %t1740 = getelementptr inbounds %LSlice, ptr %t1737, i32 0, i32 0 - %t1741 = load i32, ptr %t1738 - %t1742 = load i32, ptr %t1739 - %t1743 = icmp sge i32 %t1741, %t1742 - br i1 %t1743, label %grow386, label %put387 -grow386: - %t1744 = mul i32 %t1742, 2 - %t1745 = icmp eq i32 %t1742, 0 - %t1746 = select i1 %t1745, i32 8, i32 %t1744 - %t1747 = getelementptr ptr, ptr null, i32 1 - %t1748 = ptrtoint ptr %t1747 to i64 - %t1749 = zext i32 %t1746 to i64 - %t1750 = mul i64 %t1749, %t1748 - %t1751 = load ptr, ptr %t1740 - %t1752 = call ptr @realloc(ptr %t1751, i64 %t1750) - store ptr %t1752, ptr %t1740 - store i32 %t1746, ptr %t1739 - br label %put387 -put387: - %t1753 = load ptr, ptr %t1740 - %t1754 = getelementptr inbounds ptr, ptr %t1753, i32 %t1741 - store ptr @.str6240, ptr %t1754 - %t1755 = add i32 %t1741, 1 - store i32 %t1755, ptr %t1738 - br label %ifend385 -ifend385: - %t1756 = load ptr, ptr %t1 - %t1757 = call i32 @fn_str_eq(ptr %t1756, ptr @.str6241) - %t1758 = icmp ne i32 %t1757, 0 - br i1 %t1758, label %then388, label %ifend390 -then388: - store ptr @.str6242, ptr %t330 - %t1759 = load ptr, ptr %t337 + %t1696 = load ptr, ptr %t1683 + %t1697 = getelementptr inbounds ptr, ptr %t1696, i32 %t1684 + store ptr @.str6540, ptr %t1697 + %t1698 = add i32 %t1684, 1 + store i32 %t1698, ptr %t1681 + %t1699 = load ptr, ptr %t387 + %t1700 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 1 + %t1701 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 2 + %t1702 = getelementptr inbounds %LSlice, ptr %t1699, i32 0, i32 0 + %t1703 = load i32, ptr %t1700 + %t1704 = load i32, ptr %t1701 + %t1705 = icmp sge i32 %t1703, %t1704 + br i1 %t1705, label %grow380, label %put381 +grow380: + %t1706 = mul i32 %t1704, 2 + %t1707 = icmp eq i32 %t1704, 0 + %t1708 = select i1 %t1707, i32 8, i32 %t1706 + %t1709 = getelementptr ptr, ptr null, i32 1 + %t1710 = ptrtoint ptr %t1709 to i64 + %t1711 = zext i32 %t1708 to i64 + %t1712 = mul i64 %t1711, %t1710 + %t1713 = load ptr, ptr %t1702 + %t1714 = call ptr @realloc(ptr %t1713, i64 %t1712) + store ptr %t1714, ptr %t1702 + store i32 %t1708, ptr %t1701 + br label %put381 +put381: + %t1715 = load ptr, ptr %t1702 + %t1716 = getelementptr inbounds ptr, ptr %t1715, i32 %t1703 + store ptr @.str6541, ptr %t1716 + %t1717 = add i32 %t1703, 1 + store i32 %t1717, ptr %t1700 + br label %ifend373 +ifend373: + %t1718 = load ptr, ptr %t1 + %t1719 = call i32 @fn_str_eq(ptr %t1718, ptr @.str6542) + %t1720 = icmp ne i32 %t1719, 0 + br i1 %t1720, label %then382, label %ifend384 +then382: + store ptr @.str6543, ptr %t380 + %t1721 = load ptr, ptr %t387 + %t1722 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 1 + %t1723 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 2 + %t1724 = getelementptr inbounds %LSlice, ptr %t1721, i32 0, i32 0 + %t1725 = load i32, ptr %t1722 + %t1726 = load i32, ptr %t1723 + %t1727 = icmp sge i32 %t1725, %t1726 + br i1 %t1727, label %grow385, label %put386 +grow385: + %t1728 = mul i32 %t1726, 2 + %t1729 = icmp eq i32 %t1726, 0 + %t1730 = select i1 %t1729, i32 8, i32 %t1728 + %t1731 = getelementptr ptr, ptr null, i32 1 + %t1732 = ptrtoint ptr %t1731 to i64 + %t1733 = zext i32 %t1730 to i64 + %t1734 = mul i64 %t1733, %t1732 + %t1735 = load ptr, ptr %t1724 + %t1736 = call ptr @realloc(ptr %t1735, i64 %t1734) + store ptr %t1736, ptr %t1724 + store i32 %t1730, ptr %t1723 + br label %put386 +put386: + %t1737 = load ptr, ptr %t1724 + %t1738 = getelementptr inbounds ptr, ptr %t1737, i32 %t1725 + store ptr @.str6544, ptr %t1738 + %t1739 = add i32 %t1725, 1 + store i32 %t1739, ptr %t1722 + %t1740 = load ptr, ptr %t387 + %t1741 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 1 + %t1742 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 2 + %t1743 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 0 + %t1744 = load i32, ptr %t1741 + %t1745 = load i32, ptr %t1742 + %t1746 = icmp sge i32 %t1744, %t1745 + br i1 %t1746, label %grow387, label %put388 +grow387: + %t1747 = mul i32 %t1745, 2 + %t1748 = icmp eq i32 %t1745, 0 + %t1749 = select i1 %t1748, i32 8, i32 %t1747 + %t1750 = getelementptr ptr, ptr null, i32 1 + %t1751 = ptrtoint ptr %t1750 to i64 + %t1752 = zext i32 %t1749 to i64 + %t1753 = mul i64 %t1752, %t1751 + %t1754 = load ptr, ptr %t1743 + %t1755 = call ptr @realloc(ptr %t1754, i64 %t1753) + store ptr %t1755, ptr %t1743 + store i32 %t1749, ptr %t1742 + br label %put388 +put388: + %t1756 = load ptr, ptr %t1743 + %t1757 = getelementptr inbounds ptr, ptr %t1756, i32 %t1744 + store ptr @.str6545, ptr %t1757 + %t1758 = add i32 %t1744, 1 + store i32 %t1758, ptr %t1741 + %t1759 = load ptr, ptr %t387 %t1760 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 1 %t1761 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 2 %t1762 = getelementptr inbounds %LSlice, ptr %t1759, i32 0, i32 0 %t1763 = load i32, ptr %t1760 %t1764 = load i32, ptr %t1761 %t1765 = icmp sge i32 %t1763, %t1764 - br i1 %t1765, label %grow391, label %put392 -grow391: + br i1 %t1765, label %grow389, label %put390 +grow389: %t1766 = mul i32 %t1764, 2 %t1767 = icmp eq i32 %t1764, 0 %t1768 = select i1 %t1767, i32 8, i32 %t1766 @@ -59088,304 +65571,305 @@ grow391: %t1774 = call ptr @realloc(ptr %t1773, i64 %t1772) store ptr %t1774, ptr %t1762 store i32 %t1768, ptr %t1761 - br label %put392 -put392: + br label %put390 +put390: %t1775 = load ptr, ptr %t1762 %t1776 = getelementptr inbounds ptr, ptr %t1775, i32 %t1763 - store ptr @.str6243, ptr %t1776 + store ptr @.str6546, ptr %t1776 %t1777 = add i32 %t1763, 1 store i32 %t1777, ptr %t1760 - br label %ifend390 -ifend390: - %t1778 = load ptr, ptr %t1 - %t1779 = call i32 @fn_str_eq(ptr %t1778, ptr @.str6244) - %t1780 = icmp ne i32 %t1779, 0 - br i1 %t1780, label %then393, label %ifend395 -then393: - store ptr @.str6245, ptr %t330 - %t1781 = load ptr, ptr %t337 - %t1782 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 1 - %t1783 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 2 - %t1784 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 0 - %t1785 = load i32, ptr %t1782 - %t1786 = load i32, ptr %t1783 - %t1787 = icmp sge i32 %t1785, %t1786 - br i1 %t1787, label %grow396, label %put397 -grow396: - %t1788 = mul i32 %t1786, 2 - %t1789 = icmp eq i32 %t1786, 0 - %t1790 = select i1 %t1789, i32 8, i32 %t1788 - %t1791 = getelementptr ptr, ptr null, i32 1 - %t1792 = ptrtoint ptr %t1791 to i64 - %t1793 = zext i32 %t1790 to i64 - %t1794 = mul i64 %t1793, %t1792 - %t1795 = load ptr, ptr %t1784 - %t1796 = call ptr @realloc(ptr %t1795, i64 %t1794) - store ptr %t1796, ptr %t1784 - store i32 %t1790, ptr %t1783 - br label %put397 -put397: - %t1797 = load ptr, ptr %t1784 - %t1798 = getelementptr inbounds ptr, ptr %t1797, i32 %t1785 - store ptr @.str6246, ptr %t1798 - %t1799 = add i32 %t1785, 1 - store i32 %t1799, ptr %t1782 - %t1800 = load ptr, ptr %t337 - %t1801 = getelementptr inbounds %LSlice, ptr %t1800, i32 0, i32 1 - %t1802 = getelementptr inbounds %LSlice, ptr %t1800, i32 0, i32 2 - %t1803 = getelementptr inbounds %LSlice, ptr %t1800, i32 0, i32 0 - %t1804 = load i32, ptr %t1801 - %t1805 = load i32, ptr %t1802 - %t1806 = icmp sge i32 %t1804, %t1805 - br i1 %t1806, label %grow398, label %put399 + %t1778 = load ptr, ptr %t387 + %t1779 = getelementptr inbounds %LSlice, ptr %t1778, i32 0, i32 1 + %t1780 = getelementptr inbounds %LSlice, ptr %t1778, i32 0, i32 2 + %t1781 = getelementptr inbounds %LSlice, ptr %t1778, i32 0, i32 0 + %t1782 = load i32, ptr %t1779 + %t1783 = load i32, ptr %t1780 + %t1784 = icmp sge i32 %t1782, %t1783 + br i1 %t1784, label %grow391, label %put392 +grow391: + %t1785 = mul i32 %t1783, 2 + %t1786 = icmp eq i32 %t1783, 0 + %t1787 = select i1 %t1786, i32 8, i32 %t1785 + %t1788 = getelementptr ptr, ptr null, i32 1 + %t1789 = ptrtoint ptr %t1788 to i64 + %t1790 = zext i32 %t1787 to i64 + %t1791 = mul i64 %t1790, %t1789 + %t1792 = load ptr, ptr %t1781 + %t1793 = call ptr @realloc(ptr %t1792, i64 %t1791) + store ptr %t1793, ptr %t1781 + store i32 %t1787, ptr %t1780 + br label %put392 +put392: + %t1794 = load ptr, ptr %t1781 + %t1795 = getelementptr inbounds ptr, ptr %t1794, i32 %t1782 + store ptr @.str6547, ptr %t1795 + %t1796 = add i32 %t1782, 1 + store i32 %t1796, ptr %t1779 + %t1797 = load ptr, ptr %t387 + %t1798 = getelementptr inbounds %LSlice, ptr %t1797, i32 0, i32 1 + %t1799 = getelementptr inbounds %LSlice, ptr %t1797, i32 0, i32 2 + %t1800 = getelementptr inbounds %LSlice, ptr %t1797, i32 0, i32 0 + %t1801 = load i32, ptr %t1798 + %t1802 = load i32, ptr %t1799 + %t1803 = icmp sge i32 %t1801, %t1802 + br i1 %t1803, label %grow393, label %put394 +grow393: + %t1804 = mul i32 %t1802, 2 + %t1805 = icmp eq i32 %t1802, 0 + %t1806 = select i1 %t1805, i32 8, i32 %t1804 + %t1807 = getelementptr ptr, ptr null, i32 1 + %t1808 = ptrtoint ptr %t1807 to i64 + %t1809 = zext i32 %t1806 to i64 + %t1810 = mul i64 %t1809, %t1808 + %t1811 = load ptr, ptr %t1800 + %t1812 = call ptr @realloc(ptr %t1811, i64 %t1810) + store ptr %t1812, ptr %t1800 + store i32 %t1806, ptr %t1799 + br label %put394 +put394: + %t1813 = load ptr, ptr %t1800 + %t1814 = getelementptr inbounds ptr, ptr %t1813, i32 %t1801 + store ptr @.str6548, ptr %t1814 + %t1815 = add i32 %t1801, 1 + store i32 %t1815, ptr %t1798 + br label %ifend384 +ifend384: + %t1816 = load ptr, ptr %t1 + %t1817 = call i32 @fn_str_eq(ptr %t1816, ptr @.str6549) + %t1818 = icmp ne i32 %t1817, 0 + br i1 %t1818, label %then395, label %ifend397 +then395: + store ptr @.str6550, ptr %t380 + %t1819 = load ptr, ptr %t387 + %t1820 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 1 + %t1821 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 2 + %t1822 = getelementptr inbounds %LSlice, ptr %t1819, i32 0, i32 0 + %t1823 = load i32, ptr %t1820 + %t1824 = load i32, ptr %t1821 + %t1825 = icmp sge i32 %t1823, %t1824 + br i1 %t1825, label %grow398, label %put399 grow398: - %t1807 = mul i32 %t1805, 2 - %t1808 = icmp eq i32 %t1805, 0 - %t1809 = select i1 %t1808, i32 8, i32 %t1807 - %t1810 = getelementptr ptr, ptr null, i32 1 - %t1811 = ptrtoint ptr %t1810 to i64 - %t1812 = zext i32 %t1809 to i64 - %t1813 = mul i64 %t1812, %t1811 - %t1814 = load ptr, ptr %t1803 - %t1815 = call ptr @realloc(ptr %t1814, i64 %t1813) - store ptr %t1815, ptr %t1803 - store i32 %t1809, ptr %t1802 + %t1826 = mul i32 %t1824, 2 + %t1827 = icmp eq i32 %t1824, 0 + %t1828 = select i1 %t1827, i32 8, i32 %t1826 + %t1829 = getelementptr ptr, ptr null, i32 1 + %t1830 = ptrtoint ptr %t1829 to i64 + %t1831 = zext i32 %t1828 to i64 + %t1832 = mul i64 %t1831, %t1830 + %t1833 = load ptr, ptr %t1822 + %t1834 = call ptr @realloc(ptr %t1833, i64 %t1832) + store ptr %t1834, ptr %t1822 + store i32 %t1828, ptr %t1821 br label %put399 put399: - %t1816 = load ptr, ptr %t1803 - %t1817 = getelementptr inbounds ptr, ptr %t1816, i32 %t1804 - store ptr @.str6247, ptr %t1817 - %t1818 = add i32 %t1804, 1 - store i32 %t1818, ptr %t1801 - br label %ifend395 -ifend395: - br label %ifend179 -ifend179: - %t1819 = load ptr, ptr %t0 - %t1820 = call i32 @fn_str_eq(ptr %t1819, ptr @.str6248) - %t1821 = icmp ne i32 %t1820, 0 - br i1 %t1821, label %then400, label %ifend402 -then400: - %t1822 = load ptr, ptr %t1 - %t1823 = call i32 @fn_str_eq(ptr %t1822, ptr @.str6249) - %t1824 = icmp ne i32 %t1823, 0 - br i1 %t1824, label %then403, label %ifend405 -then403: - store ptr @.str6250, ptr %t330 - %t1825 = load ptr, ptr %t337 - %t1826 = getelementptr inbounds %LSlice, ptr %t1825, i32 0, i32 1 - %t1827 = getelementptr inbounds %LSlice, ptr %t1825, i32 0, i32 2 - %t1828 = getelementptr inbounds %LSlice, ptr %t1825, i32 0, i32 0 - %t1829 = load i32, ptr %t1826 - %t1830 = load i32, ptr %t1827 - %t1831 = icmp sge i32 %t1829, %t1830 - br i1 %t1831, label %grow406, label %put407 -grow406: - %t1832 = mul i32 %t1830, 2 - %t1833 = icmp eq i32 %t1830, 0 - %t1834 = select i1 %t1833, i32 8, i32 %t1832 - %t1835 = getelementptr ptr, ptr null, i32 1 - %t1836 = ptrtoint ptr %t1835 to i64 - %t1837 = zext i32 %t1834 to i64 - %t1838 = mul i64 %t1837, %t1836 - %t1839 = load ptr, ptr %t1828 - %t1840 = call ptr @realloc(ptr %t1839, i64 %t1838) - store ptr %t1840, ptr %t1828 - store i32 %t1834, ptr %t1827 - br label %put407 -put407: - %t1841 = load ptr, ptr %t1828 - %t1842 = getelementptr inbounds ptr, ptr %t1841, i32 %t1829 - store ptr @.str6251, ptr %t1842 - %t1843 = add i32 %t1829, 1 - store i32 %t1843, ptr %t1826 - %t1844 = load ptr, ptr %t337 - %t1845 = getelementptr inbounds %LSlice, ptr %t1844, i32 0, i32 1 - %t1846 = getelementptr inbounds %LSlice, ptr %t1844, i32 0, i32 2 - %t1847 = getelementptr inbounds %LSlice, ptr %t1844, i32 0, i32 0 - %t1848 = load i32, ptr %t1845 - %t1849 = load i32, ptr %t1846 - %t1850 = icmp sge i32 %t1848, %t1849 - br i1 %t1850, label %grow408, label %put409 -grow408: - %t1851 = mul i32 %t1849, 2 - %t1852 = icmp eq i32 %t1849, 0 - %t1853 = select i1 %t1852, i32 8, i32 %t1851 - %t1854 = getelementptr ptr, ptr null, i32 1 - %t1855 = ptrtoint ptr %t1854 to i64 - %t1856 = zext i32 %t1853 to i64 - %t1857 = mul i64 %t1856, %t1855 - %t1858 = load ptr, ptr %t1847 - %t1859 = call ptr @realloc(ptr %t1858, i64 %t1857) - store ptr %t1859, ptr %t1847 - store i32 %t1853, ptr %t1846 - br label %put409 -put409: - %t1860 = load ptr, ptr %t1847 - %t1861 = getelementptr inbounds ptr, ptr %t1860, i32 %t1848 - store ptr @.str6252, ptr %t1861 - %t1862 = add i32 %t1848, 1 - store i32 %t1862, ptr %t1845 - %t1863 = load ptr, ptr %t337 - %t1864 = getelementptr inbounds %LSlice, ptr %t1863, i32 0, i32 1 - %t1865 = getelementptr inbounds %LSlice, ptr %t1863, i32 0, i32 2 - %t1866 = getelementptr inbounds %LSlice, ptr %t1863, i32 0, i32 0 - %t1867 = load i32, ptr %t1864 - %t1868 = load i32, ptr %t1865 - %t1869 = icmp sge i32 %t1867, %t1868 - br i1 %t1869, label %grow410, label %put411 -grow410: - %t1870 = mul i32 %t1868, 2 - %t1871 = icmp eq i32 %t1868, 0 - %t1872 = select i1 %t1871, i32 8, i32 %t1870 - %t1873 = getelementptr ptr, ptr null, i32 1 - %t1874 = ptrtoint ptr %t1873 to i64 - %t1875 = zext i32 %t1872 to i64 - %t1876 = mul i64 %t1875, %t1874 - %t1877 = load ptr, ptr %t1866 - %t1878 = call ptr @realloc(ptr %t1877, i64 %t1876) - store ptr %t1878, ptr %t1866 - store i32 %t1872, ptr %t1865 - br label %put411 -put411: - %t1879 = load ptr, ptr %t1866 - %t1880 = getelementptr inbounds ptr, ptr %t1879, i32 %t1867 - store ptr @.str6253, ptr %t1880 - %t1881 = add i32 %t1867, 1 - store i32 %t1881, ptr %t1864 - br label %ifend405 -ifend405: - %t1882 = load ptr, ptr %t1 - %t1883 = call i32 @fn_str_eq(ptr %t1882, ptr @.str6254) - %t1884 = icmp ne i32 %t1883, 0 - br i1 %t1884, label %then412, label %ifend414 -then412: - store ptr @.str6255, ptr %t330 - %t1885 = load ptr, ptr %t337 - %t1886 = getelementptr inbounds %LSlice, ptr %t1885, i32 0, i32 1 - %t1887 = getelementptr inbounds %LSlice, ptr %t1885, i32 0, i32 2 - %t1888 = getelementptr inbounds %LSlice, ptr %t1885, i32 0, i32 0 - %t1889 = load i32, ptr %t1886 - %t1890 = load i32, ptr %t1887 - %t1891 = icmp sge i32 %t1889, %t1890 - br i1 %t1891, label %grow415, label %put416 -grow415: - %t1892 = mul i32 %t1890, 2 - %t1893 = icmp eq i32 %t1890, 0 - %t1894 = select i1 %t1893, i32 8, i32 %t1892 - %t1895 = getelementptr ptr, ptr null, i32 1 - %t1896 = ptrtoint ptr %t1895 to i64 - %t1897 = zext i32 %t1894 to i64 - %t1898 = mul i64 %t1897, %t1896 - %t1899 = load ptr, ptr %t1888 - %t1900 = call ptr @realloc(ptr %t1899, i64 %t1898) - store ptr %t1900, ptr %t1888 - store i32 %t1894, ptr %t1887 - br label %put416 -put416: - %t1901 = load ptr, ptr %t1888 - %t1902 = getelementptr inbounds ptr, ptr %t1901, i32 %t1889 - store ptr @.str6256, ptr %t1902 - %t1903 = add i32 %t1889, 1 - store i32 %t1903, ptr %t1886 - %t1904 = load ptr, ptr %t337 - %t1905 = getelementptr inbounds %LSlice, ptr %t1904, i32 0, i32 1 - %t1906 = getelementptr inbounds %LSlice, ptr %t1904, i32 0, i32 2 - %t1907 = getelementptr inbounds %LSlice, ptr %t1904, i32 0, i32 0 - %t1908 = load i32, ptr %t1905 - %t1909 = load i32, ptr %t1906 - %t1910 = icmp sge i32 %t1908, %t1909 - br i1 %t1910, label %grow417, label %put418 -grow417: - %t1911 = mul i32 %t1909, 2 - %t1912 = icmp eq i32 %t1909, 0 - %t1913 = select i1 %t1912, i32 8, i32 %t1911 - %t1914 = getelementptr ptr, ptr null, i32 1 - %t1915 = ptrtoint ptr %t1914 to i64 - %t1916 = zext i32 %t1913 to i64 - %t1917 = mul i64 %t1916, %t1915 - %t1918 = load ptr, ptr %t1907 - %t1919 = call ptr @realloc(ptr %t1918, i64 %t1917) - store ptr %t1919, ptr %t1907 - store i32 %t1913, ptr %t1906 - br label %put418 -put418: - %t1920 = load ptr, ptr %t1907 - %t1921 = getelementptr inbounds ptr, ptr %t1920, i32 %t1908 - store ptr @.str6257, ptr %t1921 - %t1922 = add i32 %t1908, 1 - store i32 %t1922, ptr %t1905 - %t1923 = load ptr, ptr %t337 - %t1924 = getelementptr inbounds %LSlice, ptr %t1923, i32 0, i32 1 - %t1925 = getelementptr inbounds %LSlice, ptr %t1923, i32 0, i32 2 - %t1926 = getelementptr inbounds %LSlice, ptr %t1923, i32 0, i32 0 - %t1927 = load i32, ptr %t1924 - %t1928 = load i32, ptr %t1925 - %t1929 = icmp sge i32 %t1927, %t1928 - br i1 %t1929, label %grow419, label %put420 + %t1835 = load ptr, ptr %t1822 + %t1836 = getelementptr inbounds ptr, ptr %t1835, i32 %t1823 + store ptr @.str6551, ptr %t1836 + %t1837 = add i32 %t1823, 1 + store i32 %t1837, ptr %t1820 + %t1838 = load ptr, ptr %t387 + %t1839 = getelementptr inbounds %LSlice, ptr %t1838, i32 0, i32 1 + %t1840 = getelementptr inbounds %LSlice, ptr %t1838, i32 0, i32 2 + %t1841 = getelementptr inbounds %LSlice, ptr %t1838, i32 0, i32 0 + %t1842 = load i32, ptr %t1839 + %t1843 = load i32, ptr %t1840 + %t1844 = icmp sge i32 %t1842, %t1843 + br i1 %t1844, label %grow400, label %put401 +grow400: + %t1845 = mul i32 %t1843, 2 + %t1846 = icmp eq i32 %t1843, 0 + %t1847 = select i1 %t1846, i32 8, i32 %t1845 + %t1848 = getelementptr ptr, ptr null, i32 1 + %t1849 = ptrtoint ptr %t1848 to i64 + %t1850 = zext i32 %t1847 to i64 + %t1851 = mul i64 %t1850, %t1849 + %t1852 = load ptr, ptr %t1841 + %t1853 = call ptr @realloc(ptr %t1852, i64 %t1851) + store ptr %t1853, ptr %t1841 + store i32 %t1847, ptr %t1840 + br label %put401 +put401: + %t1854 = load ptr, ptr %t1841 + %t1855 = getelementptr inbounds ptr, ptr %t1854, i32 %t1842 + store ptr @.str6552, ptr %t1855 + %t1856 = add i32 %t1842, 1 + store i32 %t1856, ptr %t1839 + br label %ifend397 +ifend397: + %t1857 = load ptr, ptr %t1 + %t1858 = call i32 @fn_str_eq(ptr %t1857, ptr @.str6553) + %t1859 = icmp ne i32 %t1858, 0 + br i1 %t1859, label %then402, label %ifend404 +then402: + store ptr @.str6554, ptr %t380 + %t1860 = load ptr, ptr %t387 + %t1861 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 1 + %t1862 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 2 + %t1863 = getelementptr inbounds %LSlice, ptr %t1860, i32 0, i32 0 + %t1864 = load i32, ptr %t1861 + %t1865 = load i32, ptr %t1862 + %t1866 = icmp sge i32 %t1864, %t1865 + br i1 %t1866, label %grow405, label %put406 +grow405: + %t1867 = mul i32 %t1865, 2 + %t1868 = icmp eq i32 %t1865, 0 + %t1869 = select i1 %t1868, i32 8, i32 %t1867 + %t1870 = getelementptr ptr, ptr null, i32 1 + %t1871 = ptrtoint ptr %t1870 to i64 + %t1872 = zext i32 %t1869 to i64 + %t1873 = mul i64 %t1872, %t1871 + %t1874 = load ptr, ptr %t1863 + %t1875 = call ptr @realloc(ptr %t1874, i64 %t1873) + store ptr %t1875, ptr %t1863 + store i32 %t1869, ptr %t1862 + br label %put406 +put406: + %t1876 = load ptr, ptr %t1863 + %t1877 = getelementptr inbounds ptr, ptr %t1876, i32 %t1864 + store ptr @.str6555, ptr %t1877 + %t1878 = add i32 %t1864, 1 + store i32 %t1878, ptr %t1861 + %t1879 = load ptr, ptr %t387 + %t1880 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 1 + %t1881 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 2 + %t1882 = getelementptr inbounds %LSlice, ptr %t1879, i32 0, i32 0 + %t1883 = load i32, ptr %t1880 + %t1884 = load i32, ptr %t1881 + %t1885 = icmp sge i32 %t1883, %t1884 + br i1 %t1885, label %grow407, label %put408 +grow407: + %t1886 = mul i32 %t1884, 2 + %t1887 = icmp eq i32 %t1884, 0 + %t1888 = select i1 %t1887, i32 8, i32 %t1886 + %t1889 = getelementptr ptr, ptr null, i32 1 + %t1890 = ptrtoint ptr %t1889 to i64 + %t1891 = zext i32 %t1888 to i64 + %t1892 = mul i64 %t1891, %t1890 + %t1893 = load ptr, ptr %t1882 + %t1894 = call ptr @realloc(ptr %t1893, i64 %t1892) + store ptr %t1894, ptr %t1882 + store i32 %t1888, ptr %t1881 + br label %put408 +put408: + %t1895 = load ptr, ptr %t1882 + %t1896 = getelementptr inbounds ptr, ptr %t1895, i32 %t1883 + store ptr @.str6556, ptr %t1896 + %t1897 = add i32 %t1883, 1 + store i32 %t1897, ptr %t1880 + %t1898 = load ptr, ptr %t387 + %t1899 = getelementptr inbounds %LSlice, ptr %t1898, i32 0, i32 1 + %t1900 = getelementptr inbounds %LSlice, ptr %t1898, i32 0, i32 2 + %t1901 = getelementptr inbounds %LSlice, ptr %t1898, i32 0, i32 0 + %t1902 = load i32, ptr %t1899 + %t1903 = load i32, ptr %t1900 + %t1904 = icmp sge i32 %t1902, %t1903 + br i1 %t1904, label %grow409, label %put410 +grow409: + %t1905 = mul i32 %t1903, 2 + %t1906 = icmp eq i32 %t1903, 0 + %t1907 = select i1 %t1906, i32 8, i32 %t1905 + %t1908 = getelementptr ptr, ptr null, i32 1 + %t1909 = ptrtoint ptr %t1908 to i64 + %t1910 = zext i32 %t1907 to i64 + %t1911 = mul i64 %t1910, %t1909 + %t1912 = load ptr, ptr %t1901 + %t1913 = call ptr @realloc(ptr %t1912, i64 %t1911) + store ptr %t1913, ptr %t1901 + store i32 %t1907, ptr %t1900 + br label %put410 +put410: + %t1914 = load ptr, ptr %t1901 + %t1915 = getelementptr inbounds ptr, ptr %t1914, i32 %t1902 + store ptr @.str6557, ptr %t1915 + %t1916 = add i32 %t1902, 1 + store i32 %t1916, ptr %t1899 + %t1917 = load ptr, ptr %t387 + %t1918 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 1 + %t1919 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 2 + %t1920 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 0 + %t1921 = load i32, ptr %t1918 + %t1922 = load i32, ptr %t1919 + %t1923 = icmp sge i32 %t1921, %t1922 + br i1 %t1923, label %grow411, label %put412 +grow411: + %t1924 = mul i32 %t1922, 2 + %t1925 = icmp eq i32 %t1922, 0 + %t1926 = select i1 %t1925, i32 8, i32 %t1924 + %t1927 = getelementptr ptr, ptr null, i32 1 + %t1928 = ptrtoint ptr %t1927 to i64 + %t1929 = zext i32 %t1926 to i64 + %t1930 = mul i64 %t1929, %t1928 + %t1931 = load ptr, ptr %t1920 + %t1932 = call ptr @realloc(ptr %t1931, i64 %t1930) + store ptr %t1932, ptr %t1920 + store i32 %t1926, ptr %t1919 + br label %put412 +put412: + %t1933 = load ptr, ptr %t1920 + %t1934 = getelementptr inbounds ptr, ptr %t1933, i32 %t1921 + store ptr @.str6558, ptr %t1934 + %t1935 = add i32 %t1921, 1 + store i32 %t1935, ptr %t1918 + br label %ifend404 +ifend404: + %t1936 = load ptr, ptr %t1 + %t1937 = call i32 @fn_str_eq(ptr %t1936, ptr @.str6559) + %t1938 = icmp ne i32 %t1937, 0 + br i1 %t1938, label %then413, label %ifend415 +then413: + store ptr @.str6560, ptr %t380 + br label %ifend415 +ifend415: + %t1939 = load ptr, ptr %t1 + %t1940 = call i32 @fn_str_eq(ptr %t1939, ptr @.str6561) + %t1941 = icmp ne i32 %t1940, 0 + br i1 %t1941, label %then416, label %ifend418 +then416: + store ptr @.str6562, ptr %t380 + %t1942 = load ptr, ptr %t387 + %t1943 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 1 + %t1944 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 2 + %t1945 = getelementptr inbounds %LSlice, ptr %t1942, i32 0, i32 0 + %t1946 = load i32, ptr %t1943 + %t1947 = load i32, ptr %t1944 + %t1948 = icmp sge i32 %t1946, %t1947 + br i1 %t1948, label %grow419, label %put420 grow419: - %t1930 = mul i32 %t1928, 2 - %t1931 = icmp eq i32 %t1928, 0 - %t1932 = select i1 %t1931, i32 8, i32 %t1930 - %t1933 = getelementptr ptr, ptr null, i32 1 - %t1934 = ptrtoint ptr %t1933 to i64 - %t1935 = zext i32 %t1932 to i64 - %t1936 = mul i64 %t1935, %t1934 - %t1937 = load ptr, ptr %t1926 - %t1938 = call ptr @realloc(ptr %t1937, i64 %t1936) - store ptr %t1938, ptr %t1926 - store i32 %t1932, ptr %t1925 + %t1949 = mul i32 %t1947, 2 + %t1950 = icmp eq i32 %t1947, 0 + %t1951 = select i1 %t1950, i32 8, i32 %t1949 + %t1952 = getelementptr ptr, ptr null, i32 1 + %t1953 = ptrtoint ptr %t1952 to i64 + %t1954 = zext i32 %t1951 to i64 + %t1955 = mul i64 %t1954, %t1953 + %t1956 = load ptr, ptr %t1945 + %t1957 = call ptr @realloc(ptr %t1956, i64 %t1955) + store ptr %t1957, ptr %t1945 + store i32 %t1951, ptr %t1944 br label %put420 put420: - %t1939 = load ptr, ptr %t1926 - %t1940 = getelementptr inbounds ptr, ptr %t1939, i32 %t1927 - store ptr @.str6258, ptr %t1940 - %t1941 = add i32 %t1927, 1 - store i32 %t1941, ptr %t1924 - br label %ifend414 -ifend414: - %t1942 = load ptr, ptr %t1 - %t1943 = call i32 @fn_str_eq(ptr %t1942, ptr @.str6259) - %t1944 = icmp ne i32 %t1943, 0 - br i1 %t1944, label %then421, label %ifend423 + %t1958 = load ptr, ptr %t1945 + %t1959 = getelementptr inbounds ptr, ptr %t1958, i32 %t1946 + store ptr @.str6563, ptr %t1959 + %t1960 = add i32 %t1946, 1 + store i32 %t1960, ptr %t1943 + br label %ifend418 +ifend418: + %t1961 = load ptr, ptr %t1 + %t1962 = call i32 @fn_str_eq(ptr %t1961, ptr @.str6564) + %t1963 = icmp ne i32 %t1962, 0 + br i1 %t1963, label %then421, label %ifend423 then421: - store ptr @.str6260, ptr %t330 - %t1945 = load ptr, ptr %t337 - %t1946 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 1 - %t1947 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 2 - %t1948 = getelementptr inbounds %LSlice, ptr %t1945, i32 0, i32 0 - %t1949 = load i32, ptr %t1946 - %t1950 = load i32, ptr %t1947 - %t1951 = icmp sge i32 %t1949, %t1950 - br i1 %t1951, label %grow424, label %put425 -grow424: - %t1952 = mul i32 %t1950, 2 - %t1953 = icmp eq i32 %t1950, 0 - %t1954 = select i1 %t1953, i32 8, i32 %t1952 - %t1955 = getelementptr ptr, ptr null, i32 1 - %t1956 = ptrtoint ptr %t1955 to i64 - %t1957 = zext i32 %t1954 to i64 - %t1958 = mul i64 %t1957, %t1956 - %t1959 = load ptr, ptr %t1948 - %t1960 = call ptr @realloc(ptr %t1959, i64 %t1958) - store ptr %t1960, ptr %t1948 - store i32 %t1954, ptr %t1947 - br label %put425 -put425: - %t1961 = load ptr, ptr %t1948 - %t1962 = getelementptr inbounds ptr, ptr %t1961, i32 %t1949 - store ptr @.str6261, ptr %t1962 - %t1963 = add i32 %t1949, 1 - store i32 %t1963, ptr %t1946 - %t1964 = load ptr, ptr %t337 + store ptr @.str6565, ptr %t380 + %t1964 = load ptr, ptr %t387 %t1965 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 1 %t1966 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 2 %t1967 = getelementptr inbounds %LSlice, ptr %t1964, i32 0, i32 0 %t1968 = load i32, ptr %t1965 %t1969 = load i32, ptr %t1966 %t1970 = icmp sge i32 %t1968, %t1969 - br i1 %t1970, label %grow426, label %put427 -grow426: + br i1 %t1970, label %grow424, label %put425 +grow424: %t1971 = mul i32 %t1969, 2 %t1972 = icmp eq i32 %t1969, 0 %t1973 = select i1 %t1972, i32 8, i32 %t1971 @@ -59397,502 +65881,501 @@ grow426: %t1979 = call ptr @realloc(ptr %t1978, i64 %t1977) store ptr %t1979, ptr %t1967 store i32 %t1973, ptr %t1966 - br label %put427 -put427: + br label %put425 +put425: %t1980 = load ptr, ptr %t1967 %t1981 = getelementptr inbounds ptr, ptr %t1980, i32 %t1968 - store ptr @.str6262, ptr %t1981 + store ptr @.str6566, ptr %t1981 %t1982 = add i32 %t1968, 1 store i32 %t1982, ptr %t1965 - %t1983 = load ptr, ptr %t337 - %t1984 = getelementptr inbounds %LSlice, ptr %t1983, i32 0, i32 1 - %t1985 = getelementptr inbounds %LSlice, ptr %t1983, i32 0, i32 2 - %t1986 = getelementptr inbounds %LSlice, ptr %t1983, i32 0, i32 0 - %t1987 = load i32, ptr %t1984 - %t1988 = load i32, ptr %t1985 - %t1989 = icmp sge i32 %t1987, %t1988 - br i1 %t1989, label %grow428, label %put429 -grow428: - %t1990 = mul i32 %t1988, 2 - %t1991 = icmp eq i32 %t1988, 0 - %t1992 = select i1 %t1991, i32 8, i32 %t1990 - %t1993 = getelementptr ptr, ptr null, i32 1 - %t1994 = ptrtoint ptr %t1993 to i64 - %t1995 = zext i32 %t1992 to i64 - %t1996 = mul i64 %t1995, %t1994 - %t1997 = load ptr, ptr %t1986 - %t1998 = call ptr @realloc(ptr %t1997, i64 %t1996) - store ptr %t1998, ptr %t1986 - store i32 %t1992, ptr %t1985 - br label %put429 -put429: - %t1999 = load ptr, ptr %t1986 - %t2000 = getelementptr inbounds ptr, ptr %t1999, i32 %t1987 - store ptr @.str6263, ptr %t2000 - %t2001 = add i32 %t1987, 1 - store i32 %t2001, ptr %t1984 - %t2002 = load ptr, ptr %t337 - %t2003 = getelementptr inbounds %LSlice, ptr %t2002, i32 0, i32 1 - %t2004 = getelementptr inbounds %LSlice, ptr %t2002, i32 0, i32 2 - %t2005 = getelementptr inbounds %LSlice, ptr %t2002, i32 0, i32 0 - %t2006 = load i32, ptr %t2003 - %t2007 = load i32, ptr %t2004 - %t2008 = icmp sge i32 %t2006, %t2007 - br i1 %t2008, label %grow430, label %put431 -grow430: - %t2009 = mul i32 %t2007, 2 - %t2010 = icmp eq i32 %t2007, 0 - %t2011 = select i1 %t2010, i32 8, i32 %t2009 - %t2012 = getelementptr ptr, ptr null, i32 1 - %t2013 = ptrtoint ptr %t2012 to i64 - %t2014 = zext i32 %t2011 to i64 - %t2015 = mul i64 %t2014, %t2013 - %t2016 = load ptr, ptr %t2005 - %t2017 = call ptr @realloc(ptr %t2016, i64 %t2015) - store ptr %t2017, ptr %t2005 - store i32 %t2011, ptr %t2004 - br label %put431 -put431: - %t2018 = load ptr, ptr %t2005 - %t2019 = getelementptr inbounds ptr, ptr %t2018, i32 %t2006 - store ptr @.str6264, ptr %t2019 - %t2020 = add i32 %t2006, 1 - store i32 %t2020, ptr %t2003 - %t2021 = load ptr, ptr %t337 - %t2022 = getelementptr inbounds %LSlice, ptr %t2021, i32 0, i32 1 - %t2023 = getelementptr inbounds %LSlice, ptr %t2021, i32 0, i32 2 - %t2024 = getelementptr inbounds %LSlice, ptr %t2021, i32 0, i32 0 - %t2025 = load i32, ptr %t2022 - %t2026 = load i32, ptr %t2023 - %t2027 = icmp sge i32 %t2025, %t2026 - br i1 %t2027, label %grow432, label %put433 -grow432: - %t2028 = mul i32 %t2026, 2 - %t2029 = icmp eq i32 %t2026, 0 - %t2030 = select i1 %t2029, i32 8, i32 %t2028 - %t2031 = getelementptr ptr, ptr null, i32 1 - %t2032 = ptrtoint ptr %t2031 to i64 - %t2033 = zext i32 %t2030 to i64 - %t2034 = mul i64 %t2033, %t2032 - %t2035 = load ptr, ptr %t2024 - %t2036 = call ptr @realloc(ptr %t2035, i64 %t2034) - store ptr %t2036, ptr %t2024 - store i32 %t2030, ptr %t2023 - br label %put433 -put433: - %t2037 = load ptr, ptr %t2024 - %t2038 = getelementptr inbounds ptr, ptr %t2037, i32 %t2025 - store ptr @.str6265, ptr %t2038 - %t2039 = add i32 %t2025, 1 - store i32 %t2039, ptr %t2022 br label %ifend423 ifend423: - %t2040 = load ptr, ptr %t1 - %t2041 = call i32 @fn_str_eq(ptr %t2040, ptr @.str6266) - %t2042 = icmp ne i32 %t2041, 0 - br i1 %t2042, label %then434, label %ifend436 -then434: - store ptr @.str6267, ptr %t330 - %t2043 = load ptr, ptr %t337 - %t2044 = getelementptr inbounds %LSlice, ptr %t2043, i32 0, i32 1 - %t2045 = getelementptr inbounds %LSlice, ptr %t2043, i32 0, i32 2 - %t2046 = getelementptr inbounds %LSlice, ptr %t2043, i32 0, i32 0 - %t2047 = load i32, ptr %t2044 - %t2048 = load i32, ptr %t2045 - %t2049 = icmp sge i32 %t2047, %t2048 - br i1 %t2049, label %grow437, label %put438 -grow437: - %t2050 = mul i32 %t2048, 2 - %t2051 = icmp eq i32 %t2048, 0 - %t2052 = select i1 %t2051, i32 8, i32 %t2050 - %t2053 = getelementptr ptr, ptr null, i32 1 - %t2054 = ptrtoint ptr %t2053 to i64 - %t2055 = zext i32 %t2052 to i64 - %t2056 = mul i64 %t2055, %t2054 - %t2057 = load ptr, ptr %t2046 - %t2058 = call ptr @realloc(ptr %t2057, i64 %t2056) - store ptr %t2058, ptr %t2046 - store i32 %t2052, ptr %t2045 - br label %put438 -put438: - %t2059 = load ptr, ptr %t2046 - %t2060 = getelementptr inbounds ptr, ptr %t2059, i32 %t2047 - store ptr @.str6268, ptr %t2060 - %t2061 = add i32 %t2047, 1 - store i32 %t2061, ptr %t2044 - %t2062 = load ptr, ptr %t337 - %t2063 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 1 - %t2064 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 2 - %t2065 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 0 - %t2066 = load i32, ptr %t2063 - %t2067 = load i32, ptr %t2064 - %t2068 = icmp sge i32 %t2066, %t2067 - br i1 %t2068, label %grow439, label %put440 + %t1983 = load ptr, ptr %t1 + %t1984 = call i32 @fn_str_eq(ptr %t1983, ptr @.str6567) + %t1985 = icmp ne i32 %t1984, 0 + br i1 %t1985, label %then426, label %ifend428 +then426: + store ptr @.str6568, ptr %t380 + %t1986 = load ptr, ptr %t387 + %t1987 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 1 + %t1988 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 2 + %t1989 = getelementptr inbounds %LSlice, ptr %t1986, i32 0, i32 0 + %t1990 = load i32, ptr %t1987 + %t1991 = load i32, ptr %t1988 + %t1992 = icmp sge i32 %t1990, %t1991 + br i1 %t1992, label %grow429, label %put430 +grow429: + %t1993 = mul i32 %t1991, 2 + %t1994 = icmp eq i32 %t1991, 0 + %t1995 = select i1 %t1994, i32 8, i32 %t1993 + %t1996 = getelementptr ptr, ptr null, i32 1 + %t1997 = ptrtoint ptr %t1996 to i64 + %t1998 = zext i32 %t1995 to i64 + %t1999 = mul i64 %t1998, %t1997 + %t2000 = load ptr, ptr %t1989 + %t2001 = call ptr @realloc(ptr %t2000, i64 %t1999) + store ptr %t2001, ptr %t1989 + store i32 %t1995, ptr %t1988 + br label %put430 +put430: + %t2002 = load ptr, ptr %t1989 + %t2003 = getelementptr inbounds ptr, ptr %t2002, i32 %t1990 + store ptr @.str6569, ptr %t2003 + %t2004 = add i32 %t1990, 1 + store i32 %t2004, ptr %t1987 + %t2005 = load ptr, ptr %t387 + %t2006 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 1 + %t2007 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 2 + %t2008 = getelementptr inbounds %LSlice, ptr %t2005, i32 0, i32 0 + %t2009 = load i32, ptr %t2006 + %t2010 = load i32, ptr %t2007 + %t2011 = icmp sge i32 %t2009, %t2010 + br i1 %t2011, label %grow431, label %put432 +grow431: + %t2012 = mul i32 %t2010, 2 + %t2013 = icmp eq i32 %t2010, 0 + %t2014 = select i1 %t2013, i32 8, i32 %t2012 + %t2015 = getelementptr ptr, ptr null, i32 1 + %t2016 = ptrtoint ptr %t2015 to i64 + %t2017 = zext i32 %t2014 to i64 + %t2018 = mul i64 %t2017, %t2016 + %t2019 = load ptr, ptr %t2008 + %t2020 = call ptr @realloc(ptr %t2019, i64 %t2018) + store ptr %t2020, ptr %t2008 + store i32 %t2014, ptr %t2007 + br label %put432 +put432: + %t2021 = load ptr, ptr %t2008 + %t2022 = getelementptr inbounds ptr, ptr %t2021, i32 %t2009 + store ptr @.str6570, ptr %t2022 + %t2023 = add i32 %t2009, 1 + store i32 %t2023, ptr %t2006 + br label %ifend428 +ifend428: + br label %ifend193 +ifend193: + %t2024 = load ptr, ptr %t0 + %t2025 = call i32 @fn_str_eq(ptr %t2024, ptr @.str6571) + %t2026 = icmp ne i32 %t2025, 0 + br i1 %t2026, label %then433, label %ifend435 +then433: + %t2027 = load ptr, ptr %t1 + %t2028 = call i32 @fn_str_eq(ptr %t2027, ptr @.str6572) + %t2029 = icmp ne i32 %t2028, 0 + br i1 %t2029, label %then436, label %ifend438 +then436: + store ptr @.str6573, ptr %t380 + %t2030 = load ptr, ptr %t387 + %t2031 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 1 + %t2032 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 2 + %t2033 = getelementptr inbounds %LSlice, ptr %t2030, i32 0, i32 0 + %t2034 = load i32, ptr %t2031 + %t2035 = load i32, ptr %t2032 + %t2036 = icmp sge i32 %t2034, %t2035 + br i1 %t2036, label %grow439, label %put440 grow439: - %t2069 = mul i32 %t2067, 2 - %t2070 = icmp eq i32 %t2067, 0 - %t2071 = select i1 %t2070, i32 8, i32 %t2069 - %t2072 = getelementptr ptr, ptr null, i32 1 - %t2073 = ptrtoint ptr %t2072 to i64 - %t2074 = zext i32 %t2071 to i64 - %t2075 = mul i64 %t2074, %t2073 - %t2076 = load ptr, ptr %t2065 - %t2077 = call ptr @realloc(ptr %t2076, i64 %t2075) - store ptr %t2077, ptr %t2065 - store i32 %t2071, ptr %t2064 + %t2037 = mul i32 %t2035, 2 + %t2038 = icmp eq i32 %t2035, 0 + %t2039 = select i1 %t2038, i32 8, i32 %t2037 + %t2040 = getelementptr ptr, ptr null, i32 1 + %t2041 = ptrtoint ptr %t2040 to i64 + %t2042 = zext i32 %t2039 to i64 + %t2043 = mul i64 %t2042, %t2041 + %t2044 = load ptr, ptr %t2033 + %t2045 = call ptr @realloc(ptr %t2044, i64 %t2043) + store ptr %t2045, ptr %t2033 + store i32 %t2039, ptr %t2032 br label %put440 put440: - %t2078 = load ptr, ptr %t2065 - %t2079 = getelementptr inbounds ptr, ptr %t2078, i32 %t2066 - store ptr @.str6269, ptr %t2079 - %t2080 = add i32 %t2066, 1 - store i32 %t2080, ptr %t2063 - %t2081 = load ptr, ptr %t337 - %t2082 = getelementptr inbounds %LSlice, ptr %t2081, i32 0, i32 1 - %t2083 = getelementptr inbounds %LSlice, ptr %t2081, i32 0, i32 2 - %t2084 = getelementptr inbounds %LSlice, ptr %t2081, i32 0, i32 0 - %t2085 = load i32, ptr %t2082 - %t2086 = load i32, ptr %t2083 - %t2087 = icmp sge i32 %t2085, %t2086 - br i1 %t2087, label %grow441, label %put442 + %t2046 = load ptr, ptr %t2033 + %t2047 = getelementptr inbounds ptr, ptr %t2046, i32 %t2034 + store ptr @.str6574, ptr %t2047 + %t2048 = add i32 %t2034, 1 + store i32 %t2048, ptr %t2031 + %t2049 = load ptr, ptr %t387 + %t2050 = getelementptr inbounds %LSlice, ptr %t2049, i32 0, i32 1 + %t2051 = getelementptr inbounds %LSlice, ptr %t2049, i32 0, i32 2 + %t2052 = getelementptr inbounds %LSlice, ptr %t2049, i32 0, i32 0 + %t2053 = load i32, ptr %t2050 + %t2054 = load i32, ptr %t2051 + %t2055 = icmp sge i32 %t2053, %t2054 + br i1 %t2055, label %grow441, label %put442 grow441: - %t2088 = mul i32 %t2086, 2 - %t2089 = icmp eq i32 %t2086, 0 - %t2090 = select i1 %t2089, i32 8, i32 %t2088 - %t2091 = getelementptr ptr, ptr null, i32 1 - %t2092 = ptrtoint ptr %t2091 to i64 - %t2093 = zext i32 %t2090 to i64 - %t2094 = mul i64 %t2093, %t2092 - %t2095 = load ptr, ptr %t2084 - %t2096 = call ptr @realloc(ptr %t2095, i64 %t2094) - store ptr %t2096, ptr %t2084 - store i32 %t2090, ptr %t2083 + %t2056 = mul i32 %t2054, 2 + %t2057 = icmp eq i32 %t2054, 0 + %t2058 = select i1 %t2057, i32 8, i32 %t2056 + %t2059 = getelementptr ptr, ptr null, i32 1 + %t2060 = ptrtoint ptr %t2059 to i64 + %t2061 = zext i32 %t2058 to i64 + %t2062 = mul i64 %t2061, %t2060 + %t2063 = load ptr, ptr %t2052 + %t2064 = call ptr @realloc(ptr %t2063, i64 %t2062) + store ptr %t2064, ptr %t2052 + store i32 %t2058, ptr %t2051 br label %put442 put442: - %t2097 = load ptr, ptr %t2084 - %t2098 = getelementptr inbounds ptr, ptr %t2097, i32 %t2085 - store ptr @.str6270, ptr %t2098 - %t2099 = add i32 %t2085, 1 - store i32 %t2099, ptr %t2082 - %t2100 = load ptr, ptr %t337 - %t2101 = getelementptr inbounds %LSlice, ptr %t2100, i32 0, i32 1 - %t2102 = getelementptr inbounds %LSlice, ptr %t2100, i32 0, i32 2 - %t2103 = getelementptr inbounds %LSlice, ptr %t2100, i32 0, i32 0 - %t2104 = load i32, ptr %t2101 - %t2105 = load i32, ptr %t2102 - %t2106 = icmp sge i32 %t2104, %t2105 - br i1 %t2106, label %grow443, label %put444 + %t2065 = load ptr, ptr %t2052 + %t2066 = getelementptr inbounds ptr, ptr %t2065, i32 %t2053 + store ptr @.str6575, ptr %t2066 + %t2067 = add i32 %t2053, 1 + store i32 %t2067, ptr %t2050 + %t2068 = load ptr, ptr %t387 + %t2069 = getelementptr inbounds %LSlice, ptr %t2068, i32 0, i32 1 + %t2070 = getelementptr inbounds %LSlice, ptr %t2068, i32 0, i32 2 + %t2071 = getelementptr inbounds %LSlice, ptr %t2068, i32 0, i32 0 + %t2072 = load i32, ptr %t2069 + %t2073 = load i32, ptr %t2070 + %t2074 = icmp sge i32 %t2072, %t2073 + br i1 %t2074, label %grow443, label %put444 grow443: - %t2107 = mul i32 %t2105, 2 - %t2108 = icmp eq i32 %t2105, 0 - %t2109 = select i1 %t2108, i32 8, i32 %t2107 - %t2110 = getelementptr ptr, ptr null, i32 1 - %t2111 = ptrtoint ptr %t2110 to i64 - %t2112 = zext i32 %t2109 to i64 - %t2113 = mul i64 %t2112, %t2111 - %t2114 = load ptr, ptr %t2103 - %t2115 = call ptr @realloc(ptr %t2114, i64 %t2113) - store ptr %t2115, ptr %t2103 - store i32 %t2109, ptr %t2102 + %t2075 = mul i32 %t2073, 2 + %t2076 = icmp eq i32 %t2073, 0 + %t2077 = select i1 %t2076, i32 8, i32 %t2075 + %t2078 = getelementptr ptr, ptr null, i32 1 + %t2079 = ptrtoint ptr %t2078 to i64 + %t2080 = zext i32 %t2077 to i64 + %t2081 = mul i64 %t2080, %t2079 + %t2082 = load ptr, ptr %t2071 + %t2083 = call ptr @realloc(ptr %t2082, i64 %t2081) + store ptr %t2083, ptr %t2071 + store i32 %t2077, ptr %t2070 br label %put444 put444: - %t2116 = load ptr, ptr %t2103 - %t2117 = getelementptr inbounds ptr, ptr %t2116, i32 %t2104 - store ptr @.str6271, ptr %t2117 - %t2118 = add i32 %t2104, 1 - store i32 %t2118, ptr %t2101 - br label %ifend436 -ifend436: - %t2119 = load ptr, ptr %t1 - %t2120 = call i32 @fn_str_eq(ptr %t2119, ptr @.str6272) - %t2121 = icmp ne i32 %t2120, 0 - br i1 %t2121, label %then445, label %ifend447 + %t2084 = load ptr, ptr %t2071 + %t2085 = getelementptr inbounds ptr, ptr %t2084, i32 %t2072 + store ptr @.str6576, ptr %t2085 + %t2086 = add i32 %t2072, 1 + store i32 %t2086, ptr %t2069 + br label %ifend438 +ifend438: + %t2087 = load ptr, ptr %t1 + %t2088 = call i32 @fn_str_eq(ptr %t2087, ptr @.str6577) + %t2089 = icmp ne i32 %t2088, 0 + br i1 %t2089, label %then445, label %ifend447 then445: - store ptr @.str6273, ptr %t330 - %t2122 = load ptr, ptr %t337 - %t2123 = getelementptr inbounds %LSlice, ptr %t2122, i32 0, i32 1 - %t2124 = getelementptr inbounds %LSlice, ptr %t2122, i32 0, i32 2 - %t2125 = getelementptr inbounds %LSlice, ptr %t2122, i32 0, i32 0 - %t2126 = load i32, ptr %t2123 - %t2127 = load i32, ptr %t2124 - %t2128 = icmp sge i32 %t2126, %t2127 - br i1 %t2128, label %grow448, label %put449 + store ptr @.str6578, ptr %t380 + %t2090 = load ptr, ptr %t387 + %t2091 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 1 + %t2092 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 2 + %t2093 = getelementptr inbounds %LSlice, ptr %t2090, i32 0, i32 0 + %t2094 = load i32, ptr %t2091 + %t2095 = load i32, ptr %t2092 + %t2096 = icmp sge i32 %t2094, %t2095 + br i1 %t2096, label %grow448, label %put449 grow448: - %t2129 = mul i32 %t2127, 2 - %t2130 = icmp eq i32 %t2127, 0 - %t2131 = select i1 %t2130, i32 8, i32 %t2129 - %t2132 = getelementptr ptr, ptr null, i32 1 - %t2133 = ptrtoint ptr %t2132 to i64 - %t2134 = zext i32 %t2131 to i64 - %t2135 = mul i64 %t2134, %t2133 - %t2136 = load ptr, ptr %t2125 - %t2137 = call ptr @realloc(ptr %t2136, i64 %t2135) - store ptr %t2137, ptr %t2125 - store i32 %t2131, ptr %t2124 + %t2097 = mul i32 %t2095, 2 + %t2098 = icmp eq i32 %t2095, 0 + %t2099 = select i1 %t2098, i32 8, i32 %t2097 + %t2100 = getelementptr ptr, ptr null, i32 1 + %t2101 = ptrtoint ptr %t2100 to i64 + %t2102 = zext i32 %t2099 to i64 + %t2103 = mul i64 %t2102, %t2101 + %t2104 = load ptr, ptr %t2093 + %t2105 = call ptr @realloc(ptr %t2104, i64 %t2103) + store ptr %t2105, ptr %t2093 + store i32 %t2099, ptr %t2092 br label %put449 put449: - %t2138 = load ptr, ptr %t2125 - %t2139 = getelementptr inbounds ptr, ptr %t2138, i32 %t2126 - store ptr @.str6274, ptr %t2139 - %t2140 = add i32 %t2126, 1 - store i32 %t2140, ptr %t2123 + %t2106 = load ptr, ptr %t2093 + %t2107 = getelementptr inbounds ptr, ptr %t2106, i32 %t2094 + store ptr @.str6579, ptr %t2107 + %t2108 = add i32 %t2094, 1 + store i32 %t2108, ptr %t2091 + %t2109 = load ptr, ptr %t387 + %t2110 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 1 + %t2111 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 2 + %t2112 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 0 + %t2113 = load i32, ptr %t2110 + %t2114 = load i32, ptr %t2111 + %t2115 = icmp sge i32 %t2113, %t2114 + br i1 %t2115, label %grow450, label %put451 +grow450: + %t2116 = mul i32 %t2114, 2 + %t2117 = icmp eq i32 %t2114, 0 + %t2118 = select i1 %t2117, i32 8, i32 %t2116 + %t2119 = getelementptr ptr, ptr null, i32 1 + %t2120 = ptrtoint ptr %t2119 to i64 + %t2121 = zext i32 %t2118 to i64 + %t2122 = mul i64 %t2121, %t2120 + %t2123 = load ptr, ptr %t2112 + %t2124 = call ptr @realloc(ptr %t2123, i64 %t2122) + store ptr %t2124, ptr %t2112 + store i32 %t2118, ptr %t2111 + br label %put451 +put451: + %t2125 = load ptr, ptr %t2112 + %t2126 = getelementptr inbounds ptr, ptr %t2125, i32 %t2113 + store ptr @.str6580, ptr %t2126 + %t2127 = add i32 %t2113, 1 + store i32 %t2127, ptr %t2110 + %t2128 = load ptr, ptr %t387 + %t2129 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 1 + %t2130 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 2 + %t2131 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 0 + %t2132 = load i32, ptr %t2129 + %t2133 = load i32, ptr %t2130 + %t2134 = icmp sge i32 %t2132, %t2133 + br i1 %t2134, label %grow452, label %put453 +grow452: + %t2135 = mul i32 %t2133, 2 + %t2136 = icmp eq i32 %t2133, 0 + %t2137 = select i1 %t2136, i32 8, i32 %t2135 + %t2138 = getelementptr ptr, ptr null, i32 1 + %t2139 = ptrtoint ptr %t2138 to i64 + %t2140 = zext i32 %t2137 to i64 + %t2141 = mul i64 %t2140, %t2139 + %t2142 = load ptr, ptr %t2131 + %t2143 = call ptr @realloc(ptr %t2142, i64 %t2141) + store ptr %t2143, ptr %t2131 + store i32 %t2137, ptr %t2130 + br label %put453 +put453: + %t2144 = load ptr, ptr %t2131 + %t2145 = getelementptr inbounds ptr, ptr %t2144, i32 %t2132 + store ptr @.str6581, ptr %t2145 + %t2146 = add i32 %t2132, 1 + store i32 %t2146, ptr %t2129 br label %ifend447 ifend447: - %t2141 = load ptr, ptr %t1 - %t2142 = call i32 @fn_str_eq(ptr %t2141, ptr @.str6275) - %t2143 = icmp ne i32 %t2142, 0 - br i1 %t2143, label %then450, label %ifend452 -then450: - store ptr @.str6276, ptr %t330 - %t2144 = load ptr, ptr %t337 - %t2145 = getelementptr inbounds %LSlice, ptr %t2144, i32 0, i32 1 - %t2146 = getelementptr inbounds %LSlice, ptr %t2144, i32 0, i32 2 - %t2147 = getelementptr inbounds %LSlice, ptr %t2144, i32 0, i32 0 - %t2148 = load i32, ptr %t2145 - %t2149 = load i32, ptr %t2146 - %t2150 = icmp sge i32 %t2148, %t2149 - br i1 %t2150, label %grow453, label %put454 -grow453: - %t2151 = mul i32 %t2149, 2 - %t2152 = icmp eq i32 %t2149, 0 - %t2153 = select i1 %t2152, i32 8, i32 %t2151 - %t2154 = getelementptr ptr, ptr null, i32 1 - %t2155 = ptrtoint ptr %t2154 to i64 - %t2156 = zext i32 %t2153 to i64 - %t2157 = mul i64 %t2156, %t2155 - %t2158 = load ptr, ptr %t2147 - %t2159 = call ptr @realloc(ptr %t2158, i64 %t2157) - store ptr %t2159, ptr %t2147 - store i32 %t2153, ptr %t2146 - br label %put454 -put454: - %t2160 = load ptr, ptr %t2147 - %t2161 = getelementptr inbounds ptr, ptr %t2160, i32 %t2148 - store ptr @.str6277, ptr %t2161 - %t2162 = add i32 %t2148, 1 - store i32 %t2162, ptr %t2145 - %t2163 = load ptr, ptr %t337 - %t2164 = getelementptr inbounds %LSlice, ptr %t2163, i32 0, i32 1 - %t2165 = getelementptr inbounds %LSlice, ptr %t2163, i32 0, i32 2 - %t2166 = getelementptr inbounds %LSlice, ptr %t2163, i32 0, i32 0 - %t2167 = load i32, ptr %t2164 - %t2168 = load i32, ptr %t2165 - %t2169 = icmp sge i32 %t2167, %t2168 - br i1 %t2169, label %grow455, label %put456 -grow455: - %t2170 = mul i32 %t2168, 2 - %t2171 = icmp eq i32 %t2168, 0 - %t2172 = select i1 %t2171, i32 8, i32 %t2170 - %t2173 = getelementptr ptr, ptr null, i32 1 - %t2174 = ptrtoint ptr %t2173 to i64 - %t2175 = zext i32 %t2172 to i64 - %t2176 = mul i64 %t2175, %t2174 - %t2177 = load ptr, ptr %t2166 - %t2178 = call ptr @realloc(ptr %t2177, i64 %t2176) - store ptr %t2178, ptr %t2166 - store i32 %t2172, ptr %t2165 - br label %put456 -put456: - %t2179 = load ptr, ptr %t2166 - %t2180 = getelementptr inbounds ptr, ptr %t2179, i32 %t2167 - store ptr @.str6278, ptr %t2180 - %t2181 = add i32 %t2167, 1 - store i32 %t2181, ptr %t2164 - %t2182 = load ptr, ptr %t337 - %t2183 = getelementptr inbounds %LSlice, ptr %t2182, i32 0, i32 1 - %t2184 = getelementptr inbounds %LSlice, ptr %t2182, i32 0, i32 2 - %t2185 = getelementptr inbounds %LSlice, ptr %t2182, i32 0, i32 0 - %t2186 = load i32, ptr %t2183 - %t2187 = load i32, ptr %t2184 - %t2188 = icmp sge i32 %t2186, %t2187 - br i1 %t2188, label %grow457, label %put458 + %t2147 = load ptr, ptr %t1 + %t2148 = call i32 @fn_str_eq(ptr %t2147, ptr @.str6582) + %t2149 = icmp ne i32 %t2148, 0 + br i1 %t2149, label %then454, label %ifend456 +then454: + store ptr @.str6583, ptr %t380 + %t2150 = load ptr, ptr %t387 + %t2151 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 1 + %t2152 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 2 + %t2153 = getelementptr inbounds %LSlice, ptr %t2150, i32 0, i32 0 + %t2154 = load i32, ptr %t2151 + %t2155 = load i32, ptr %t2152 + %t2156 = icmp sge i32 %t2154, %t2155 + br i1 %t2156, label %grow457, label %put458 grow457: - %t2189 = mul i32 %t2187, 2 - %t2190 = icmp eq i32 %t2187, 0 - %t2191 = select i1 %t2190, i32 8, i32 %t2189 - %t2192 = getelementptr ptr, ptr null, i32 1 - %t2193 = ptrtoint ptr %t2192 to i64 - %t2194 = zext i32 %t2191 to i64 - %t2195 = mul i64 %t2194, %t2193 - %t2196 = load ptr, ptr %t2185 - %t2197 = call ptr @realloc(ptr %t2196, i64 %t2195) - store ptr %t2197, ptr %t2185 - store i32 %t2191, ptr %t2184 + %t2157 = mul i32 %t2155, 2 + %t2158 = icmp eq i32 %t2155, 0 + %t2159 = select i1 %t2158, i32 8, i32 %t2157 + %t2160 = getelementptr ptr, ptr null, i32 1 + %t2161 = ptrtoint ptr %t2160 to i64 + %t2162 = zext i32 %t2159 to i64 + %t2163 = mul i64 %t2162, %t2161 + %t2164 = load ptr, ptr %t2153 + %t2165 = call ptr @realloc(ptr %t2164, i64 %t2163) + store ptr %t2165, ptr %t2153 + store i32 %t2159, ptr %t2152 br label %put458 put458: - %t2198 = load ptr, ptr %t2185 - %t2199 = getelementptr inbounds ptr, ptr %t2198, i32 %t2186 - store ptr @.str6279, ptr %t2199 - %t2200 = add i32 %t2186, 1 - store i32 %t2200, ptr %t2183 - br label %ifend452 -ifend452: - %t2201 = load ptr, ptr %t1 - %t2202 = call i32 @fn_str_eq(ptr %t2201, ptr @.str6280) - %t2203 = icmp ne i32 %t2202, 0 - br i1 %t2203, label %then459, label %ifend461 -then459: - store ptr @.str6281, ptr %t330 - %t2204 = load ptr, ptr %t337 - %t2205 = getelementptr inbounds %LSlice, ptr %t2204, i32 0, i32 1 - %t2206 = getelementptr inbounds %LSlice, ptr %t2204, i32 0, i32 2 - %t2207 = getelementptr inbounds %LSlice, ptr %t2204, i32 0, i32 0 - %t2208 = load i32, ptr %t2205 - %t2209 = load i32, ptr %t2206 - %t2210 = icmp sge i32 %t2208, %t2209 - br i1 %t2210, label %grow462, label %put463 -grow462: - %t2211 = mul i32 %t2209, 2 - %t2212 = icmp eq i32 %t2209, 0 - %t2213 = select i1 %t2212, i32 8, i32 %t2211 - %t2214 = getelementptr ptr, ptr null, i32 1 - %t2215 = ptrtoint ptr %t2214 to i64 - %t2216 = zext i32 %t2213 to i64 - %t2217 = mul i64 %t2216, %t2215 - %t2218 = load ptr, ptr %t2207 - %t2219 = call ptr @realloc(ptr %t2218, i64 %t2217) - store ptr %t2219, ptr %t2207 - store i32 %t2213, ptr %t2206 - br label %put463 -put463: - %t2220 = load ptr, ptr %t2207 - %t2221 = getelementptr inbounds ptr, ptr %t2220, i32 %t2208 - store ptr @.str6282, ptr %t2221 - %t2222 = add i32 %t2208, 1 - store i32 %t2222, ptr %t2205 - %t2223 = load ptr, ptr %t337 - %t2224 = getelementptr inbounds %LSlice, ptr %t2223, i32 0, i32 1 - %t2225 = getelementptr inbounds %LSlice, ptr %t2223, i32 0, i32 2 - %t2226 = getelementptr inbounds %LSlice, ptr %t2223, i32 0, i32 0 - %t2227 = load i32, ptr %t2224 - %t2228 = load i32, ptr %t2225 - %t2229 = icmp sge i32 %t2227, %t2228 - br i1 %t2229, label %grow464, label %put465 -grow464: - %t2230 = mul i32 %t2228, 2 - %t2231 = icmp eq i32 %t2228, 0 - %t2232 = select i1 %t2231, i32 8, i32 %t2230 - %t2233 = getelementptr ptr, ptr null, i32 1 - %t2234 = ptrtoint ptr %t2233 to i64 - %t2235 = zext i32 %t2232 to i64 - %t2236 = mul i64 %t2235, %t2234 - %t2237 = load ptr, ptr %t2226 - %t2238 = call ptr @realloc(ptr %t2237, i64 %t2236) - store ptr %t2238, ptr %t2226 - store i32 %t2232, ptr %t2225 - br label %put465 -put465: - %t2239 = load ptr, ptr %t2226 - %t2240 = getelementptr inbounds ptr, ptr %t2239, i32 %t2227 - store ptr @.str6283, ptr %t2240 - %t2241 = add i32 %t2227, 1 - store i32 %t2241, ptr %t2224 - %t2242 = load ptr, ptr %t337 - %t2243 = getelementptr inbounds %LSlice, ptr %t2242, i32 0, i32 1 - %t2244 = getelementptr inbounds %LSlice, ptr %t2242, i32 0, i32 2 - %t2245 = getelementptr inbounds %LSlice, ptr %t2242, i32 0, i32 0 - %t2246 = load i32, ptr %t2243 - %t2247 = load i32, ptr %t2244 - %t2248 = icmp sge i32 %t2246, %t2247 - br i1 %t2248, label %grow466, label %put467 -grow466: - %t2249 = mul i32 %t2247, 2 - %t2250 = icmp eq i32 %t2247, 0 - %t2251 = select i1 %t2250, i32 8, i32 %t2249 - %t2252 = getelementptr ptr, ptr null, i32 1 - %t2253 = ptrtoint ptr %t2252 to i64 - %t2254 = zext i32 %t2251 to i64 - %t2255 = mul i64 %t2254, %t2253 - %t2256 = load ptr, ptr %t2245 - %t2257 = call ptr @realloc(ptr %t2256, i64 %t2255) - store ptr %t2257, ptr %t2245 - store i32 %t2251, ptr %t2244 - br label %put467 -put467: - %t2258 = load ptr, ptr %t2245 - %t2259 = getelementptr inbounds ptr, ptr %t2258, i32 %t2246 - store ptr @.str6284, ptr %t2259 - %t2260 = add i32 %t2246, 1 - store i32 %t2260, ptr %t2243 - %t2261 = load ptr, ptr %t337 - %t2262 = getelementptr inbounds %LSlice, ptr %t2261, i32 0, i32 1 - %t2263 = getelementptr inbounds %LSlice, ptr %t2261, i32 0, i32 2 - %t2264 = getelementptr inbounds %LSlice, ptr %t2261, i32 0, i32 0 - %t2265 = load i32, ptr %t2262 - %t2266 = load i32, ptr %t2263 - %t2267 = icmp sge i32 %t2265, %t2266 - br i1 %t2267, label %grow468, label %put469 -grow468: - %t2268 = mul i32 %t2266, 2 - %t2269 = icmp eq i32 %t2266, 0 - %t2270 = select i1 %t2269, i32 8, i32 %t2268 - %t2271 = getelementptr ptr, ptr null, i32 1 - %t2272 = ptrtoint ptr %t2271 to i64 - %t2273 = zext i32 %t2270 to i64 - %t2274 = mul i64 %t2273, %t2272 - %t2275 = load ptr, ptr %t2264 - %t2276 = call ptr @realloc(ptr %t2275, i64 %t2274) - store ptr %t2276, ptr %t2264 - store i32 %t2270, ptr %t2263 - br label %put469 -put469: - %t2277 = load ptr, ptr %t2264 - %t2278 = getelementptr inbounds ptr, ptr %t2277, i32 %t2265 - store ptr @.str6285, ptr %t2278 - %t2279 = add i32 %t2265, 1 - store i32 %t2279, ptr %t2262 - br label %ifend461 -ifend461: - %t2280 = load ptr, ptr %t1 - %t2281 = call i32 @fn_str_eq(ptr %t2280, ptr @.str6286) - %t2282 = icmp ne i32 %t2281, 0 - br i1 %t2282, label %then470, label %ifend472 -then470: - store ptr @.str6287, ptr %t330 - %t2283 = load ptr, ptr %t337 - %t2284 = getelementptr inbounds %LSlice, ptr %t2283, i32 0, i32 1 - %t2285 = getelementptr inbounds %LSlice, ptr %t2283, i32 0, i32 2 - %t2286 = getelementptr inbounds %LSlice, ptr %t2283, i32 0, i32 0 - %t2287 = load i32, ptr %t2284 - %t2288 = load i32, ptr %t2285 - %t2289 = icmp sge i32 %t2287, %t2288 - br i1 %t2289, label %grow473, label %put474 -grow473: - %t2290 = mul i32 %t2288, 2 - %t2291 = icmp eq i32 %t2288, 0 - %t2292 = select i1 %t2291, i32 8, i32 %t2290 - %t2293 = getelementptr ptr, ptr null, i32 1 - %t2294 = ptrtoint ptr %t2293 to i64 - %t2295 = zext i32 %t2292 to i64 - %t2296 = mul i64 %t2295, %t2294 - %t2297 = load ptr, ptr %t2286 - %t2298 = call ptr @realloc(ptr %t2297, i64 %t2296) - store ptr %t2298, ptr %t2286 - store i32 %t2292, ptr %t2285 - br label %put474 -put474: - %t2299 = load ptr, ptr %t2286 - %t2300 = getelementptr inbounds ptr, ptr %t2299, i32 %t2287 - store ptr @.str6288, ptr %t2300 - %t2301 = add i32 %t2287, 1 - store i32 %t2301, ptr %t2284 - br label %ifend472 -ifend472: - %t2302 = load ptr, ptr %t1 - %t2303 = call i32 @fn_str_eq(ptr %t2302, ptr @.str6289) - %t2304 = icmp ne i32 %t2303, 0 - br i1 %t2304, label %then475, label %ifend477 -then475: - store ptr @.str6290, ptr %t330 - %t2305 = load ptr, ptr %t337 + %t2166 = load ptr, ptr %t2153 + %t2167 = getelementptr inbounds ptr, ptr %t2166, i32 %t2154 + store ptr @.str6584, ptr %t2167 + %t2168 = add i32 %t2154, 1 + store i32 %t2168, ptr %t2151 + %t2169 = load ptr, ptr %t387 + %t2170 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 1 + %t2171 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 2 + %t2172 = getelementptr inbounds %LSlice, ptr %t2169, i32 0, i32 0 + %t2173 = load i32, ptr %t2170 + %t2174 = load i32, ptr %t2171 + %t2175 = icmp sge i32 %t2173, %t2174 + br i1 %t2175, label %grow459, label %put460 +grow459: + %t2176 = mul i32 %t2174, 2 + %t2177 = icmp eq i32 %t2174, 0 + %t2178 = select i1 %t2177, i32 8, i32 %t2176 + %t2179 = getelementptr ptr, ptr null, i32 1 + %t2180 = ptrtoint ptr %t2179 to i64 + %t2181 = zext i32 %t2178 to i64 + %t2182 = mul i64 %t2181, %t2180 + %t2183 = load ptr, ptr %t2172 + %t2184 = call ptr @realloc(ptr %t2183, i64 %t2182) + store ptr %t2184, ptr %t2172 + store i32 %t2178, ptr %t2171 + br label %put460 +put460: + %t2185 = load ptr, ptr %t2172 + %t2186 = getelementptr inbounds ptr, ptr %t2185, i32 %t2173 + store ptr @.str6585, ptr %t2186 + %t2187 = add i32 %t2173, 1 + store i32 %t2187, ptr %t2170 + %t2188 = load ptr, ptr %t387 + %t2189 = getelementptr inbounds %LSlice, ptr %t2188, i32 0, i32 1 + %t2190 = getelementptr inbounds %LSlice, ptr %t2188, i32 0, i32 2 + %t2191 = getelementptr inbounds %LSlice, ptr %t2188, i32 0, i32 0 + %t2192 = load i32, ptr %t2189 + %t2193 = load i32, ptr %t2190 + %t2194 = icmp sge i32 %t2192, %t2193 + br i1 %t2194, label %grow461, label %put462 +grow461: + %t2195 = mul i32 %t2193, 2 + %t2196 = icmp eq i32 %t2193, 0 + %t2197 = select i1 %t2196, i32 8, i32 %t2195 + %t2198 = getelementptr ptr, ptr null, i32 1 + %t2199 = ptrtoint ptr %t2198 to i64 + %t2200 = zext i32 %t2197 to i64 + %t2201 = mul i64 %t2200, %t2199 + %t2202 = load ptr, ptr %t2191 + %t2203 = call ptr @realloc(ptr %t2202, i64 %t2201) + store ptr %t2203, ptr %t2191 + store i32 %t2197, ptr %t2190 + br label %put462 +put462: + %t2204 = load ptr, ptr %t2191 + %t2205 = getelementptr inbounds ptr, ptr %t2204, i32 %t2192 + store ptr @.str6586, ptr %t2205 + %t2206 = add i32 %t2192, 1 + store i32 %t2206, ptr %t2189 + %t2207 = load ptr, ptr %t387 + %t2208 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 1 + %t2209 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 2 + %t2210 = getelementptr inbounds %LSlice, ptr %t2207, i32 0, i32 0 + %t2211 = load i32, ptr %t2208 + %t2212 = load i32, ptr %t2209 + %t2213 = icmp sge i32 %t2211, %t2212 + br i1 %t2213, label %grow463, label %put464 +grow463: + %t2214 = mul i32 %t2212, 2 + %t2215 = icmp eq i32 %t2212, 0 + %t2216 = select i1 %t2215, i32 8, i32 %t2214 + %t2217 = getelementptr ptr, ptr null, i32 1 + %t2218 = ptrtoint ptr %t2217 to i64 + %t2219 = zext i32 %t2216 to i64 + %t2220 = mul i64 %t2219, %t2218 + %t2221 = load ptr, ptr %t2210 + %t2222 = call ptr @realloc(ptr %t2221, i64 %t2220) + store ptr %t2222, ptr %t2210 + store i32 %t2216, ptr %t2209 + br label %put464 +put464: + %t2223 = load ptr, ptr %t2210 + %t2224 = getelementptr inbounds ptr, ptr %t2223, i32 %t2211 + store ptr @.str6587, ptr %t2224 + %t2225 = add i32 %t2211, 1 + store i32 %t2225, ptr %t2208 + %t2226 = load ptr, ptr %t387 + %t2227 = getelementptr inbounds %LSlice, ptr %t2226, i32 0, i32 1 + %t2228 = getelementptr inbounds %LSlice, ptr %t2226, i32 0, i32 2 + %t2229 = getelementptr inbounds %LSlice, ptr %t2226, i32 0, i32 0 + %t2230 = load i32, ptr %t2227 + %t2231 = load i32, ptr %t2228 + %t2232 = icmp sge i32 %t2230, %t2231 + br i1 %t2232, label %grow465, label %put466 +grow465: + %t2233 = mul i32 %t2231, 2 + %t2234 = icmp eq i32 %t2231, 0 + %t2235 = select i1 %t2234, i32 8, i32 %t2233 + %t2236 = getelementptr ptr, ptr null, i32 1 + %t2237 = ptrtoint ptr %t2236 to i64 + %t2238 = zext i32 %t2235 to i64 + %t2239 = mul i64 %t2238, %t2237 + %t2240 = load ptr, ptr %t2229 + %t2241 = call ptr @realloc(ptr %t2240, i64 %t2239) + store ptr %t2241, ptr %t2229 + store i32 %t2235, ptr %t2228 + br label %put466 +put466: + %t2242 = load ptr, ptr %t2229 + %t2243 = getelementptr inbounds ptr, ptr %t2242, i32 %t2230 + store ptr @.str6588, ptr %t2243 + %t2244 = add i32 %t2230, 1 + store i32 %t2244, ptr %t2227 + br label %ifend456 +ifend456: + %t2245 = load ptr, ptr %t1 + %t2246 = call i32 @fn_str_eq(ptr %t2245, ptr @.str6589) + %t2247 = icmp ne i32 %t2246, 0 + br i1 %t2247, label %then467, label %ifend469 +then467: + store ptr @.str6590, ptr %t380 + %t2248 = load ptr, ptr %t387 + %t2249 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 1 + %t2250 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 2 + %t2251 = getelementptr inbounds %LSlice, ptr %t2248, i32 0, i32 0 + %t2252 = load i32, ptr %t2249 + %t2253 = load i32, ptr %t2250 + %t2254 = icmp sge i32 %t2252, %t2253 + br i1 %t2254, label %grow470, label %put471 +grow470: + %t2255 = mul i32 %t2253, 2 + %t2256 = icmp eq i32 %t2253, 0 + %t2257 = select i1 %t2256, i32 8, i32 %t2255 + %t2258 = getelementptr ptr, ptr null, i32 1 + %t2259 = ptrtoint ptr %t2258 to i64 + %t2260 = zext i32 %t2257 to i64 + %t2261 = mul i64 %t2260, %t2259 + %t2262 = load ptr, ptr %t2251 + %t2263 = call ptr @realloc(ptr %t2262, i64 %t2261) + store ptr %t2263, ptr %t2251 + store i32 %t2257, ptr %t2250 + br label %put471 +put471: + %t2264 = load ptr, ptr %t2251 + %t2265 = getelementptr inbounds ptr, ptr %t2264, i32 %t2252 + store ptr @.str6591, ptr %t2265 + %t2266 = add i32 %t2252, 1 + store i32 %t2266, ptr %t2249 + %t2267 = load ptr, ptr %t387 + %t2268 = getelementptr inbounds %LSlice, ptr %t2267, i32 0, i32 1 + %t2269 = getelementptr inbounds %LSlice, ptr %t2267, i32 0, i32 2 + %t2270 = getelementptr inbounds %LSlice, ptr %t2267, i32 0, i32 0 + %t2271 = load i32, ptr %t2268 + %t2272 = load i32, ptr %t2269 + %t2273 = icmp sge i32 %t2271, %t2272 + br i1 %t2273, label %grow472, label %put473 +grow472: + %t2274 = mul i32 %t2272, 2 + %t2275 = icmp eq i32 %t2272, 0 + %t2276 = select i1 %t2275, i32 8, i32 %t2274 + %t2277 = getelementptr ptr, ptr null, i32 1 + %t2278 = ptrtoint ptr %t2277 to i64 + %t2279 = zext i32 %t2276 to i64 + %t2280 = mul i64 %t2279, %t2278 + %t2281 = load ptr, ptr %t2270 + %t2282 = call ptr @realloc(ptr %t2281, i64 %t2280) + store ptr %t2282, ptr %t2270 + store i32 %t2276, ptr %t2269 + br label %put473 +put473: + %t2283 = load ptr, ptr %t2270 + %t2284 = getelementptr inbounds ptr, ptr %t2283, i32 %t2271 + store ptr @.str6592, ptr %t2284 + %t2285 = add i32 %t2271, 1 + store i32 %t2285, ptr %t2268 + %t2286 = load ptr, ptr %t387 + %t2287 = getelementptr inbounds %LSlice, ptr %t2286, i32 0, i32 1 + %t2288 = getelementptr inbounds %LSlice, ptr %t2286, i32 0, i32 2 + %t2289 = getelementptr inbounds %LSlice, ptr %t2286, i32 0, i32 0 + %t2290 = load i32, ptr %t2287 + %t2291 = load i32, ptr %t2288 + %t2292 = icmp sge i32 %t2290, %t2291 + br i1 %t2292, label %grow474, label %put475 +grow474: + %t2293 = mul i32 %t2291, 2 + %t2294 = icmp eq i32 %t2291, 0 + %t2295 = select i1 %t2294, i32 8, i32 %t2293 + %t2296 = getelementptr ptr, ptr null, i32 1 + %t2297 = ptrtoint ptr %t2296 to i64 + %t2298 = zext i32 %t2295 to i64 + %t2299 = mul i64 %t2298, %t2297 + %t2300 = load ptr, ptr %t2289 + %t2301 = call ptr @realloc(ptr %t2300, i64 %t2299) + store ptr %t2301, ptr %t2289 + store i32 %t2295, ptr %t2288 + br label %put475 +put475: + %t2302 = load ptr, ptr %t2289 + %t2303 = getelementptr inbounds ptr, ptr %t2302, i32 %t2290 + store ptr @.str6593, ptr %t2303 + %t2304 = add i32 %t2290, 1 + store i32 %t2304, ptr %t2287 + %t2305 = load ptr, ptr %t387 %t2306 = getelementptr inbounds %LSlice, ptr %t2305, i32 0, i32 1 %t2307 = getelementptr inbounds %LSlice, ptr %t2305, i32 0, i32 2 %t2308 = getelementptr inbounds %LSlice, ptr %t2305, i32 0, i32 0 %t2309 = load i32, ptr %t2306 %t2310 = load i32, ptr %t2307 %t2311 = icmp sge i32 %t2309, %t2310 - br i1 %t2311, label %grow478, label %put479 -grow478: + br i1 %t2311, label %grow476, label %put477 +grow476: %t2312 = mul i32 %t2310, 2 %t2313 = icmp eq i32 %t2310, 0 %t2314 = select i1 %t2313, i32 8, i32 %t2312 @@ -59904,1077 +66387,1008 @@ grow478: %t2320 = call ptr @realloc(ptr %t2319, i64 %t2318) store ptr %t2320, ptr %t2308 store i32 %t2314, ptr %t2307 - br label %put479 -put479: + br label %put477 +put477: %t2321 = load ptr, ptr %t2308 %t2322 = getelementptr inbounds ptr, ptr %t2321, i32 %t2309 - store ptr @.str6291, ptr %t2322 + store ptr @.str6594, ptr %t2322 %t2323 = add i32 %t2309, 1 store i32 %t2323, ptr %t2306 - br label %ifend477 -ifend477: - br label %ifend402 -ifend402: - %t2324 = load ptr, ptr %t0 - %t2325 = call i32 @fn_str_eq(ptr %t2324, ptr @.str6292) - %t2326 = icmp ne i32 %t2325, 0 - br i1 %t2326, label %then480, label %ifend482 + %t2324 = load ptr, ptr %t387 + %t2325 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 1 + %t2326 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 2 + %t2327 = getelementptr inbounds %LSlice, ptr %t2324, i32 0, i32 0 + %t2328 = load i32, ptr %t2325 + %t2329 = load i32, ptr %t2326 + %t2330 = icmp sge i32 %t2328, %t2329 + br i1 %t2330, label %grow478, label %put479 +grow478: + %t2331 = mul i32 %t2329, 2 + %t2332 = icmp eq i32 %t2329, 0 + %t2333 = select i1 %t2332, i32 8, i32 %t2331 + %t2334 = getelementptr ptr, ptr null, i32 1 + %t2335 = ptrtoint ptr %t2334 to i64 + %t2336 = zext i32 %t2333 to i64 + %t2337 = mul i64 %t2336, %t2335 + %t2338 = load ptr, ptr %t2327 + %t2339 = call ptr @realloc(ptr %t2338, i64 %t2337) + store ptr %t2339, ptr %t2327 + store i32 %t2333, ptr %t2326 + br label %put479 +put479: + %t2340 = load ptr, ptr %t2327 + %t2341 = getelementptr inbounds ptr, ptr %t2340, i32 %t2328 + store ptr @.str6595, ptr %t2341 + %t2342 = add i32 %t2328, 1 + store i32 %t2342, ptr %t2325 + br label %ifend469 +ifend469: + %t2343 = load ptr, ptr %t1 + %t2344 = call i32 @fn_str_eq(ptr %t2343, ptr @.str6596) + %t2345 = icmp ne i32 %t2344, 0 + br i1 %t2345, label %then480, label %ifend482 then480: - %t2327 = load ptr, ptr %t1 - %t2328 = call i32 @fn_str_eq(ptr %t2327, ptr @.str6293) - %t2329 = icmp ne i32 %t2328, 0 - br i1 %t2329, label %then483, label %ifend485 -then483: - store ptr @.str6294, ptr %t330 - %t2330 = load ptr, ptr %t337 - %t2331 = getelementptr inbounds %LSlice, ptr %t2330, i32 0, i32 1 - %t2332 = getelementptr inbounds %LSlice, ptr %t2330, i32 0, i32 2 - %t2333 = getelementptr inbounds %LSlice, ptr %t2330, i32 0, i32 0 - %t2334 = load i32, ptr %t2331 - %t2335 = load i32, ptr %t2332 - %t2336 = icmp sge i32 %t2334, %t2335 - br i1 %t2336, label %grow486, label %put487 -grow486: - %t2337 = mul i32 %t2335, 2 - %t2338 = icmp eq i32 %t2335, 0 - %t2339 = select i1 %t2338, i32 8, i32 %t2337 - %t2340 = getelementptr ptr, ptr null, i32 1 - %t2341 = ptrtoint ptr %t2340 to i64 - %t2342 = zext i32 %t2339 to i64 - %t2343 = mul i64 %t2342, %t2341 - %t2344 = load ptr, ptr %t2333 - %t2345 = call ptr @realloc(ptr %t2344, i64 %t2343) - store ptr %t2345, ptr %t2333 - store i32 %t2339, ptr %t2332 - br label %put487 -put487: - %t2346 = load ptr, ptr %t2333 - %t2347 = getelementptr inbounds ptr, ptr %t2346, i32 %t2334 - store ptr @.str6295, ptr %t2347 - %t2348 = add i32 %t2334, 1 - store i32 %t2348, ptr %t2331 - br label %ifend485 -ifend485: - %t2349 = load ptr, ptr %t1 - %t2350 = call i32 @fn_str_eq(ptr %t2349, ptr @.str6296) - %t2351 = icmp ne i32 %t2350, 0 - br i1 %t2351, label %then488, label %ifend490 -then488: - store ptr @.str6297, ptr %t330 - %t2352 = load ptr, ptr %t337 - %t2353 = getelementptr inbounds %LSlice, ptr %t2352, i32 0, i32 1 - %t2354 = getelementptr inbounds %LSlice, ptr %t2352, i32 0, i32 2 - %t2355 = getelementptr inbounds %LSlice, ptr %t2352, i32 0, i32 0 - %t2356 = load i32, ptr %t2353 - %t2357 = load i32, ptr %t2354 - %t2358 = icmp sge i32 %t2356, %t2357 - br i1 %t2358, label %grow491, label %put492 -grow491: - %t2359 = mul i32 %t2357, 2 - %t2360 = icmp eq i32 %t2357, 0 - %t2361 = select i1 %t2360, i32 8, i32 %t2359 - %t2362 = getelementptr ptr, ptr null, i32 1 - %t2363 = ptrtoint ptr %t2362 to i64 - %t2364 = zext i32 %t2361 to i64 - %t2365 = mul i64 %t2364, %t2363 - %t2366 = load ptr, ptr %t2355 - %t2367 = call ptr @realloc(ptr %t2366, i64 %t2365) - store ptr %t2367, ptr %t2355 - store i32 %t2361, ptr %t2354 - br label %put492 -put492: - %t2368 = load ptr, ptr %t2355 - %t2369 = getelementptr inbounds ptr, ptr %t2368, i32 %t2356 - store ptr @.str6298, ptr %t2369 - %t2370 = add i32 %t2356, 1 - store i32 %t2370, ptr %t2353 - br label %ifend490 -ifend490: - %t2371 = load ptr, ptr %t1 - %t2372 = call i32 @fn_str_eq(ptr %t2371, ptr @.str6299) - %t2373 = icmp ne i32 %t2372, 0 - br i1 %t2373, label %then493, label %ifend495 -then493: - store ptr @.str6300, ptr %t330 - %t2374 = load ptr, ptr %t337 - %t2375 = getelementptr inbounds %LSlice, ptr %t2374, i32 0, i32 1 - %t2376 = getelementptr inbounds %LSlice, ptr %t2374, i32 0, i32 2 - %t2377 = getelementptr inbounds %LSlice, ptr %t2374, i32 0, i32 0 - %t2378 = load i32, ptr %t2375 - %t2379 = load i32, ptr %t2376 - %t2380 = icmp sge i32 %t2378, %t2379 - br i1 %t2380, label %grow496, label %put497 -grow496: - %t2381 = mul i32 %t2379, 2 - %t2382 = icmp eq i32 %t2379, 0 - %t2383 = select i1 %t2382, i32 8, i32 %t2381 - %t2384 = getelementptr ptr, ptr null, i32 1 - %t2385 = ptrtoint ptr %t2384 to i64 - %t2386 = zext i32 %t2383 to i64 - %t2387 = mul i64 %t2386, %t2385 - %t2388 = load ptr, ptr %t2377 - %t2389 = call ptr @realloc(ptr %t2388, i64 %t2387) - store ptr %t2389, ptr %t2377 - store i32 %t2383, ptr %t2376 - br label %put497 -put497: - %t2390 = load ptr, ptr %t2377 - %t2391 = getelementptr inbounds ptr, ptr %t2390, i32 %t2378 - store ptr @.str6301, ptr %t2391 - %t2392 = add i32 %t2378, 1 - store i32 %t2392, ptr %t2375 - br label %ifend495 -ifend495: - %t2393 = load ptr, ptr %t1 - %t2394 = call i32 @fn_str_eq(ptr %t2393, ptr @.str6302) - %t2395 = icmp ne i32 %t2394, 0 - br i1 %t2395, label %then498, label %ifend500 -then498: - store ptr @.str6303, ptr %t330 - %t2396 = load ptr, ptr %t337 - %t2397 = getelementptr inbounds %LSlice, ptr %t2396, i32 0, i32 1 - %t2398 = getelementptr inbounds %LSlice, ptr %t2396, i32 0, i32 2 - %t2399 = getelementptr inbounds %LSlice, ptr %t2396, i32 0, i32 0 - %t2400 = load i32, ptr %t2397 - %t2401 = load i32, ptr %t2398 - %t2402 = icmp sge i32 %t2400, %t2401 - br i1 %t2402, label %grow501, label %put502 -grow501: - %t2403 = mul i32 %t2401, 2 - %t2404 = icmp eq i32 %t2401, 0 - %t2405 = select i1 %t2404, i32 8, i32 %t2403 - %t2406 = getelementptr ptr, ptr null, i32 1 - %t2407 = ptrtoint ptr %t2406 to i64 - %t2408 = zext i32 %t2405 to i64 - %t2409 = mul i64 %t2408, %t2407 - %t2410 = load ptr, ptr %t2399 - %t2411 = call ptr @realloc(ptr %t2410, i64 %t2409) - store ptr %t2411, ptr %t2399 - store i32 %t2405, ptr %t2398 - br label %put502 -put502: - %t2412 = load ptr, ptr %t2399 - %t2413 = getelementptr inbounds ptr, ptr %t2412, i32 %t2400 - store ptr @.str6304, ptr %t2413 - %t2414 = add i32 %t2400, 1 - store i32 %t2414, ptr %t2397 - %t2415 = load ptr, ptr %t337 - %t2416 = getelementptr inbounds %LSlice, ptr %t2415, i32 0, i32 1 - %t2417 = getelementptr inbounds %LSlice, ptr %t2415, i32 0, i32 2 - %t2418 = getelementptr inbounds %LSlice, ptr %t2415, i32 0, i32 0 - %t2419 = load i32, ptr %t2416 - %t2420 = load i32, ptr %t2417 - %t2421 = icmp sge i32 %t2419, %t2420 - br i1 %t2421, label %grow503, label %put504 -grow503: - %t2422 = mul i32 %t2420, 2 - %t2423 = icmp eq i32 %t2420, 0 - %t2424 = select i1 %t2423, i32 8, i32 %t2422 - %t2425 = getelementptr ptr, ptr null, i32 1 - %t2426 = ptrtoint ptr %t2425 to i64 - %t2427 = zext i32 %t2424 to i64 - %t2428 = mul i64 %t2427, %t2426 - %t2429 = load ptr, ptr %t2418 - %t2430 = call ptr @realloc(ptr %t2429, i64 %t2428) - store ptr %t2430, ptr %t2418 - store i32 %t2424, ptr %t2417 - br label %put504 -put504: - %t2431 = load ptr, ptr %t2418 - %t2432 = getelementptr inbounds ptr, ptr %t2431, i32 %t2419 - store ptr @.str6305, ptr %t2432 - %t2433 = add i32 %t2419, 1 - store i32 %t2433, ptr %t2416 - br label %ifend500 -ifend500: - %t2434 = load ptr, ptr %t1 - %t2435 = call i32 @fn_str_eq(ptr %t2434, ptr @.str6306) - %t2436 = icmp ne i32 %t2435, 0 - br i1 %t2436, label %then505, label %ifend507 -then505: - store ptr @.str6307, ptr %t330 - %t2437 = load ptr, ptr %t337 - %t2438 = getelementptr inbounds %LSlice, ptr %t2437, i32 0, i32 1 - %t2439 = getelementptr inbounds %LSlice, ptr %t2437, i32 0, i32 2 - %t2440 = getelementptr inbounds %LSlice, ptr %t2437, i32 0, i32 0 - %t2441 = load i32, ptr %t2438 - %t2442 = load i32, ptr %t2439 - %t2443 = icmp sge i32 %t2441, %t2442 - br i1 %t2443, label %grow508, label %put509 -grow508: - %t2444 = mul i32 %t2442, 2 - %t2445 = icmp eq i32 %t2442, 0 - %t2446 = select i1 %t2445, i32 8, i32 %t2444 - %t2447 = getelementptr ptr, ptr null, i32 1 - %t2448 = ptrtoint ptr %t2447 to i64 - %t2449 = zext i32 %t2446 to i64 - %t2450 = mul i64 %t2449, %t2448 - %t2451 = load ptr, ptr %t2440 - %t2452 = call ptr @realloc(ptr %t2451, i64 %t2450) - store ptr %t2452, ptr %t2440 - store i32 %t2446, ptr %t2439 - br label %put509 -put509: - %t2453 = load ptr, ptr %t2440 - %t2454 = getelementptr inbounds ptr, ptr %t2453, i32 %t2441 - store ptr @.str6308, ptr %t2454 - %t2455 = add i32 %t2441, 1 - store i32 %t2455, ptr %t2438 - br label %ifend507 -ifend507: - %t2456 = load ptr, ptr %t1 - %t2457 = call i32 @fn_str_eq(ptr %t2456, ptr @.str6309) - %t2458 = icmp ne i32 %t2457, 0 - br i1 %t2458, label %then510, label %ifend512 -then510: - store ptr @.str6310, ptr %t330 - br label %ifend512 -ifend512: - %t2459 = load ptr, ptr %t1 - %t2460 = call i32 @fn_str_eq(ptr %t2459, ptr @.str6311) - %t2461 = icmp ne i32 %t2460, 0 - br i1 %t2461, label %then513, label %ifend515 -then513: - store ptr @.str6312, ptr %t330 - br label %ifend515 -ifend515: - %t2462 = load ptr, ptr %t1 - %t2463 = call i32 @fn_str_eq(ptr %t2462, ptr @.str6313) - %t2464 = icmp ne i32 %t2463, 0 - br i1 %t2464, label %then516, label %ifend518 -then516: - store ptr @.str6314, ptr %t330 - br label %ifend518 -ifend518: - %t2465 = load ptr, ptr %t1 - %t2466 = call i32 @fn_str_eq(ptr %t2465, ptr @.str6315) - %t2467 = icmp ne i32 %t2466, 0 - br i1 %t2467, label %then519, label %ifend521 -then519: - store ptr @.str6316, ptr %t330 - br label %ifend521 -ifend521: + store ptr @.str6597, ptr %t380 + %t2346 = load ptr, ptr %t387 + %t2347 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 1 + %t2348 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 2 + %t2349 = getelementptr inbounds %LSlice, ptr %t2346, i32 0, i32 0 + %t2350 = load i32, ptr %t2347 + %t2351 = load i32, ptr %t2348 + %t2352 = icmp sge i32 %t2350, %t2351 + br i1 %t2352, label %grow483, label %put484 +grow483: + %t2353 = mul i32 %t2351, 2 + %t2354 = icmp eq i32 %t2351, 0 + %t2355 = select i1 %t2354, i32 8, i32 %t2353 + %t2356 = getelementptr ptr, ptr null, i32 1 + %t2357 = ptrtoint ptr %t2356 to i64 + %t2358 = zext i32 %t2355 to i64 + %t2359 = mul i64 %t2358, %t2357 + %t2360 = load ptr, ptr %t2349 + %t2361 = call ptr @realloc(ptr %t2360, i64 %t2359) + store ptr %t2361, ptr %t2349 + store i32 %t2355, ptr %t2348 + br label %put484 +put484: + %t2362 = load ptr, ptr %t2349 + %t2363 = getelementptr inbounds ptr, ptr %t2362, i32 %t2350 + store ptr @.str6598, ptr %t2363 + %t2364 = add i32 %t2350, 1 + store i32 %t2364, ptr %t2347 + %t2365 = load ptr, ptr %t387 + %t2366 = getelementptr inbounds %LSlice, ptr %t2365, i32 0, i32 1 + %t2367 = getelementptr inbounds %LSlice, ptr %t2365, i32 0, i32 2 + %t2368 = getelementptr inbounds %LSlice, ptr %t2365, i32 0, i32 0 + %t2369 = load i32, ptr %t2366 + %t2370 = load i32, ptr %t2367 + %t2371 = icmp sge i32 %t2369, %t2370 + br i1 %t2371, label %grow485, label %put486 +grow485: + %t2372 = mul i32 %t2370, 2 + %t2373 = icmp eq i32 %t2370, 0 + %t2374 = select i1 %t2373, i32 8, i32 %t2372 + %t2375 = getelementptr ptr, ptr null, i32 1 + %t2376 = ptrtoint ptr %t2375 to i64 + %t2377 = zext i32 %t2374 to i64 + %t2378 = mul i64 %t2377, %t2376 + %t2379 = load ptr, ptr %t2368 + %t2380 = call ptr @realloc(ptr %t2379, i64 %t2378) + store ptr %t2380, ptr %t2368 + store i32 %t2374, ptr %t2367 + br label %put486 +put486: + %t2381 = load ptr, ptr %t2368 + %t2382 = getelementptr inbounds ptr, ptr %t2381, i32 %t2369 + store ptr @.str6599, ptr %t2382 + %t2383 = add i32 %t2369, 1 + store i32 %t2383, ptr %t2366 + %t2384 = load ptr, ptr %t387 + %t2385 = getelementptr inbounds %LSlice, ptr %t2384, i32 0, i32 1 + %t2386 = getelementptr inbounds %LSlice, ptr %t2384, i32 0, i32 2 + %t2387 = getelementptr inbounds %LSlice, ptr %t2384, i32 0, i32 0 + %t2388 = load i32, ptr %t2385 + %t2389 = load i32, ptr %t2386 + %t2390 = icmp sge i32 %t2388, %t2389 + br i1 %t2390, label %grow487, label %put488 +grow487: + %t2391 = mul i32 %t2389, 2 + %t2392 = icmp eq i32 %t2389, 0 + %t2393 = select i1 %t2392, i32 8, i32 %t2391 + %t2394 = getelementptr ptr, ptr null, i32 1 + %t2395 = ptrtoint ptr %t2394 to i64 + %t2396 = zext i32 %t2393 to i64 + %t2397 = mul i64 %t2396, %t2395 + %t2398 = load ptr, ptr %t2387 + %t2399 = call ptr @realloc(ptr %t2398, i64 %t2397) + store ptr %t2399, ptr %t2387 + store i32 %t2393, ptr %t2386 + br label %put488 +put488: + %t2400 = load ptr, ptr %t2387 + %t2401 = getelementptr inbounds ptr, ptr %t2400, i32 %t2388 + store ptr @.str6600, ptr %t2401 + %t2402 = add i32 %t2388, 1 + store i32 %t2402, ptr %t2385 + %t2403 = load ptr, ptr %t387 + %t2404 = getelementptr inbounds %LSlice, ptr %t2403, i32 0, i32 1 + %t2405 = getelementptr inbounds %LSlice, ptr %t2403, i32 0, i32 2 + %t2406 = getelementptr inbounds %LSlice, ptr %t2403, i32 0, i32 0 + %t2407 = load i32, ptr %t2404 + %t2408 = load i32, ptr %t2405 + %t2409 = icmp sge i32 %t2407, %t2408 + br i1 %t2409, label %grow489, label %put490 +grow489: + %t2410 = mul i32 %t2408, 2 + %t2411 = icmp eq i32 %t2408, 0 + %t2412 = select i1 %t2411, i32 8, i32 %t2410 + %t2413 = getelementptr ptr, ptr null, i32 1 + %t2414 = ptrtoint ptr %t2413 to i64 + %t2415 = zext i32 %t2412 to i64 + %t2416 = mul i64 %t2415, %t2414 + %t2417 = load ptr, ptr %t2406 + %t2418 = call ptr @realloc(ptr %t2417, i64 %t2416) + store ptr %t2418, ptr %t2406 + store i32 %t2412, ptr %t2405 + br label %put490 +put490: + %t2419 = load ptr, ptr %t2406 + %t2420 = getelementptr inbounds ptr, ptr %t2419, i32 %t2407 + store ptr @.str6601, ptr %t2420 + %t2421 = add i32 %t2407, 1 + store i32 %t2421, ptr %t2404 br label %ifend482 ifend482: - %t2468 = load ptr, ptr %t0 - %t2469 = call i32 @fn_str_eq(ptr %t2468, ptr @.str6317) - %t2470 = icmp ne i32 %t2469, 0 - br i1 %t2470, label %then522, label %ifend524 -then522: - %t2471 = load ptr, ptr %t1 - %t2472 = call i32 @fn_str_eq(ptr %t2471, ptr @.str6318) - %t2473 = icmp ne i32 %t2472, 0 - br i1 %t2473, label %then525, label %ifend527 -then525: - store ptr @.str6319, ptr %t330 - %t2474 = load ptr, ptr %t337 - %t2475 = getelementptr inbounds %LSlice, ptr %t2474, i32 0, i32 1 - %t2476 = getelementptr inbounds %LSlice, ptr %t2474, i32 0, i32 2 - %t2477 = getelementptr inbounds %LSlice, ptr %t2474, i32 0, i32 0 - %t2478 = load i32, ptr %t2475 - %t2479 = load i32, ptr %t2476 - %t2480 = icmp sge i32 %t2478, %t2479 - br i1 %t2480, label %grow528, label %put529 -grow528: - %t2481 = mul i32 %t2479, 2 - %t2482 = icmp eq i32 %t2479, 0 - %t2483 = select i1 %t2482, i32 8, i32 %t2481 - %t2484 = getelementptr ptr, ptr null, i32 1 - %t2485 = ptrtoint ptr %t2484 to i64 - %t2486 = zext i32 %t2483 to i64 - %t2487 = mul i64 %t2486, %t2485 - %t2488 = load ptr, ptr %t2477 - %t2489 = call ptr @realloc(ptr %t2488, i64 %t2487) - store ptr %t2489, ptr %t2477 - store i32 %t2483, ptr %t2476 - br label %put529 -put529: - %t2490 = load ptr, ptr %t2477 - %t2491 = getelementptr inbounds ptr, ptr %t2490, i32 %t2478 - store ptr @.str6320, ptr %t2491 - %t2492 = add i32 %t2478, 1 - store i32 %t2492, ptr %t2475 - %t2493 = load ptr, ptr %t337 - %t2494 = getelementptr inbounds %LSlice, ptr %t2493, i32 0, i32 1 - %t2495 = getelementptr inbounds %LSlice, ptr %t2493, i32 0, i32 2 - %t2496 = getelementptr inbounds %LSlice, ptr %t2493, i32 0, i32 0 - %t2497 = load i32, ptr %t2494 - %t2498 = load i32, ptr %t2495 - %t2499 = icmp sge i32 %t2497, %t2498 - br i1 %t2499, label %grow530, label %put531 -grow530: - %t2500 = mul i32 %t2498, 2 - %t2501 = icmp eq i32 %t2498, 0 - %t2502 = select i1 %t2501, i32 8, i32 %t2500 - %t2503 = getelementptr ptr, ptr null, i32 1 - %t2504 = ptrtoint ptr %t2503 to i64 - %t2505 = zext i32 %t2502 to i64 - %t2506 = mul i64 %t2505, %t2504 - %t2507 = load ptr, ptr %t2496 - %t2508 = call ptr @realloc(ptr %t2507, i64 %t2506) - store ptr %t2508, ptr %t2496 - store i32 %t2502, ptr %t2495 - br label %put531 -put531: - %t2509 = load ptr, ptr %t2496 - %t2510 = getelementptr inbounds ptr, ptr %t2509, i32 %t2497 - store ptr @.str6321, ptr %t2510 - %t2511 = add i32 %t2497, 1 - store i32 %t2511, ptr %t2494 - br label %ifend527 -ifend527: - %t2512 = load ptr, ptr %t1 - %t2513 = call i32 @fn_str_eq(ptr %t2512, ptr @.str6322) - %t2514 = icmp ne i32 %t2513, 0 - br i1 %t2514, label %then532, label %ifend534 -then532: - store ptr @.str6323, ptr %t330 - %t2515 = load ptr, ptr %t337 - %t2516 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 1 - %t2517 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 2 - %t2518 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 0 - %t2519 = load i32, ptr %t2516 - %t2520 = load i32, ptr %t2517 - %t2521 = icmp sge i32 %t2519, %t2520 - br i1 %t2521, label %grow535, label %put536 + %t2422 = load ptr, ptr %t1 + %t2423 = call i32 @fn_str_eq(ptr %t2422, ptr @.str6602) + %t2424 = icmp ne i32 %t2423, 0 + br i1 %t2424, label %then491, label %ifend493 +then491: + store ptr @.str6603, ptr %t380 + %t2425 = load ptr, ptr %t387 + %t2426 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 1 + %t2427 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 2 + %t2428 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 0 + %t2429 = load i32, ptr %t2426 + %t2430 = load i32, ptr %t2427 + %t2431 = icmp sge i32 %t2429, %t2430 + br i1 %t2431, label %grow494, label %put495 +grow494: + %t2432 = mul i32 %t2430, 2 + %t2433 = icmp eq i32 %t2430, 0 + %t2434 = select i1 %t2433, i32 8, i32 %t2432 + %t2435 = getelementptr ptr, ptr null, i32 1 + %t2436 = ptrtoint ptr %t2435 to i64 + %t2437 = zext i32 %t2434 to i64 + %t2438 = mul i64 %t2437, %t2436 + %t2439 = load ptr, ptr %t2428 + %t2440 = call ptr @realloc(ptr %t2439, i64 %t2438) + store ptr %t2440, ptr %t2428 + store i32 %t2434, ptr %t2427 + br label %put495 +put495: + %t2441 = load ptr, ptr %t2428 + %t2442 = getelementptr inbounds ptr, ptr %t2441, i32 %t2429 + store ptr @.str6604, ptr %t2442 + %t2443 = add i32 %t2429, 1 + store i32 %t2443, ptr %t2426 + br label %ifend493 +ifend493: + %t2444 = load ptr, ptr %t1 + %t2445 = call i32 @fn_str_eq(ptr %t2444, ptr @.str6605) + %t2446 = icmp ne i32 %t2445, 0 + br i1 %t2446, label %then496, label %ifend498 +then496: + store ptr @.str6606, ptr %t380 + %t2447 = load ptr, ptr %t387 + %t2448 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 1 + %t2449 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 2 + %t2450 = getelementptr inbounds %LSlice, ptr %t2447, i32 0, i32 0 + %t2451 = load i32, ptr %t2448 + %t2452 = load i32, ptr %t2449 + %t2453 = icmp sge i32 %t2451, %t2452 + br i1 %t2453, label %grow499, label %put500 +grow499: + %t2454 = mul i32 %t2452, 2 + %t2455 = icmp eq i32 %t2452, 0 + %t2456 = select i1 %t2455, i32 8, i32 %t2454 + %t2457 = getelementptr ptr, ptr null, i32 1 + %t2458 = ptrtoint ptr %t2457 to i64 + %t2459 = zext i32 %t2456 to i64 + %t2460 = mul i64 %t2459, %t2458 + %t2461 = load ptr, ptr %t2450 + %t2462 = call ptr @realloc(ptr %t2461, i64 %t2460) + store ptr %t2462, ptr %t2450 + store i32 %t2456, ptr %t2449 + br label %put500 +put500: + %t2463 = load ptr, ptr %t2450 + %t2464 = getelementptr inbounds ptr, ptr %t2463, i32 %t2451 + store ptr @.str6607, ptr %t2464 + %t2465 = add i32 %t2451, 1 + store i32 %t2465, ptr %t2448 + %t2466 = load ptr, ptr %t387 + %t2467 = getelementptr inbounds %LSlice, ptr %t2466, i32 0, i32 1 + %t2468 = getelementptr inbounds %LSlice, ptr %t2466, i32 0, i32 2 + %t2469 = getelementptr inbounds %LSlice, ptr %t2466, i32 0, i32 0 + %t2470 = load i32, ptr %t2467 + %t2471 = load i32, ptr %t2468 + %t2472 = icmp sge i32 %t2470, %t2471 + br i1 %t2472, label %grow501, label %put502 +grow501: + %t2473 = mul i32 %t2471, 2 + %t2474 = icmp eq i32 %t2471, 0 + %t2475 = select i1 %t2474, i32 8, i32 %t2473 + %t2476 = getelementptr ptr, ptr null, i32 1 + %t2477 = ptrtoint ptr %t2476 to i64 + %t2478 = zext i32 %t2475 to i64 + %t2479 = mul i64 %t2478, %t2477 + %t2480 = load ptr, ptr %t2469 + %t2481 = call ptr @realloc(ptr %t2480, i64 %t2479) + store ptr %t2481, ptr %t2469 + store i32 %t2475, ptr %t2468 + br label %put502 +put502: + %t2482 = load ptr, ptr %t2469 + %t2483 = getelementptr inbounds ptr, ptr %t2482, i32 %t2470 + store ptr @.str6608, ptr %t2483 + %t2484 = add i32 %t2470, 1 + store i32 %t2484, ptr %t2467 + %t2485 = load ptr, ptr %t387 + %t2486 = getelementptr inbounds %LSlice, ptr %t2485, i32 0, i32 1 + %t2487 = getelementptr inbounds %LSlice, ptr %t2485, i32 0, i32 2 + %t2488 = getelementptr inbounds %LSlice, ptr %t2485, i32 0, i32 0 + %t2489 = load i32, ptr %t2486 + %t2490 = load i32, ptr %t2487 + %t2491 = icmp sge i32 %t2489, %t2490 + br i1 %t2491, label %grow503, label %put504 +grow503: + %t2492 = mul i32 %t2490, 2 + %t2493 = icmp eq i32 %t2490, 0 + %t2494 = select i1 %t2493, i32 8, i32 %t2492 + %t2495 = getelementptr ptr, ptr null, i32 1 + %t2496 = ptrtoint ptr %t2495 to i64 + %t2497 = zext i32 %t2494 to i64 + %t2498 = mul i64 %t2497, %t2496 + %t2499 = load ptr, ptr %t2488 + %t2500 = call ptr @realloc(ptr %t2499, i64 %t2498) + store ptr %t2500, ptr %t2488 + store i32 %t2494, ptr %t2487 + br label %put504 +put504: + %t2501 = load ptr, ptr %t2488 + %t2502 = getelementptr inbounds ptr, ptr %t2501, i32 %t2489 + store ptr @.str6609, ptr %t2502 + %t2503 = add i32 %t2489, 1 + store i32 %t2503, ptr %t2486 + br label %ifend498 +ifend498: + %t2504 = load ptr, ptr %t1 + %t2505 = call i32 @fn_str_eq(ptr %t2504, ptr @.str6610) + %t2506 = icmp ne i32 %t2505, 0 + br i1 %t2506, label %then505, label %ifend507 +then505: + store ptr @.str6611, ptr %t380 + %t2507 = load ptr, ptr %t387 + %t2508 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 1 + %t2509 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 2 + %t2510 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 0 + %t2511 = load i32, ptr %t2508 + %t2512 = load i32, ptr %t2509 + %t2513 = icmp sge i32 %t2511, %t2512 + br i1 %t2513, label %grow508, label %put509 +grow508: + %t2514 = mul i32 %t2512, 2 + %t2515 = icmp eq i32 %t2512, 0 + %t2516 = select i1 %t2515, i32 8, i32 %t2514 + %t2517 = getelementptr ptr, ptr null, i32 1 + %t2518 = ptrtoint ptr %t2517 to i64 + %t2519 = zext i32 %t2516 to i64 + %t2520 = mul i64 %t2519, %t2518 + %t2521 = load ptr, ptr %t2510 + %t2522 = call ptr @realloc(ptr %t2521, i64 %t2520) + store ptr %t2522, ptr %t2510 + store i32 %t2516, ptr %t2509 + br label %put509 +put509: + %t2523 = load ptr, ptr %t2510 + %t2524 = getelementptr inbounds ptr, ptr %t2523, i32 %t2511 + store ptr @.str6612, ptr %t2524 + %t2525 = add i32 %t2511, 1 + store i32 %t2525, ptr %t2508 + %t2526 = load ptr, ptr %t387 + %t2527 = getelementptr inbounds %LSlice, ptr %t2526, i32 0, i32 1 + %t2528 = getelementptr inbounds %LSlice, ptr %t2526, i32 0, i32 2 + %t2529 = getelementptr inbounds %LSlice, ptr %t2526, i32 0, i32 0 + %t2530 = load i32, ptr %t2527 + %t2531 = load i32, ptr %t2528 + %t2532 = icmp sge i32 %t2530, %t2531 + br i1 %t2532, label %grow510, label %put511 +grow510: + %t2533 = mul i32 %t2531, 2 + %t2534 = icmp eq i32 %t2531, 0 + %t2535 = select i1 %t2534, i32 8, i32 %t2533 + %t2536 = getelementptr ptr, ptr null, i32 1 + %t2537 = ptrtoint ptr %t2536 to i64 + %t2538 = zext i32 %t2535 to i64 + %t2539 = mul i64 %t2538, %t2537 + %t2540 = load ptr, ptr %t2529 + %t2541 = call ptr @realloc(ptr %t2540, i64 %t2539) + store ptr %t2541, ptr %t2529 + store i32 %t2535, ptr %t2528 + br label %put511 +put511: + %t2542 = load ptr, ptr %t2529 + %t2543 = getelementptr inbounds ptr, ptr %t2542, i32 %t2530 + store ptr @.str6613, ptr %t2543 + %t2544 = add i32 %t2530, 1 + store i32 %t2544, ptr %t2527 + %t2545 = load ptr, ptr %t387 + %t2546 = getelementptr inbounds %LSlice, ptr %t2545, i32 0, i32 1 + %t2547 = getelementptr inbounds %LSlice, ptr %t2545, i32 0, i32 2 + %t2548 = getelementptr inbounds %LSlice, ptr %t2545, i32 0, i32 0 + %t2549 = load i32, ptr %t2546 + %t2550 = load i32, ptr %t2547 + %t2551 = icmp sge i32 %t2549, %t2550 + br i1 %t2551, label %grow512, label %put513 +grow512: + %t2552 = mul i32 %t2550, 2 + %t2553 = icmp eq i32 %t2550, 0 + %t2554 = select i1 %t2553, i32 8, i32 %t2552 + %t2555 = getelementptr ptr, ptr null, i32 1 + %t2556 = ptrtoint ptr %t2555 to i64 + %t2557 = zext i32 %t2554 to i64 + %t2558 = mul i64 %t2557, %t2556 + %t2559 = load ptr, ptr %t2548 + %t2560 = call ptr @realloc(ptr %t2559, i64 %t2558) + store ptr %t2560, ptr %t2548 + store i32 %t2554, ptr %t2547 + br label %put513 +put513: + %t2561 = load ptr, ptr %t2548 + %t2562 = getelementptr inbounds ptr, ptr %t2561, i32 %t2549 + store ptr @.str6614, ptr %t2562 + %t2563 = add i32 %t2549, 1 + store i32 %t2563, ptr %t2546 + %t2564 = load ptr, ptr %t387 + %t2565 = getelementptr inbounds %LSlice, ptr %t2564, i32 0, i32 1 + %t2566 = getelementptr inbounds %LSlice, ptr %t2564, i32 0, i32 2 + %t2567 = getelementptr inbounds %LSlice, ptr %t2564, i32 0, i32 0 + %t2568 = load i32, ptr %t2565 + %t2569 = load i32, ptr %t2566 + %t2570 = icmp sge i32 %t2568, %t2569 + br i1 %t2570, label %grow514, label %put515 +grow514: + %t2571 = mul i32 %t2569, 2 + %t2572 = icmp eq i32 %t2569, 0 + %t2573 = select i1 %t2572, i32 8, i32 %t2571 + %t2574 = getelementptr ptr, ptr null, i32 1 + %t2575 = ptrtoint ptr %t2574 to i64 + %t2576 = zext i32 %t2573 to i64 + %t2577 = mul i64 %t2576, %t2575 + %t2578 = load ptr, ptr %t2567 + %t2579 = call ptr @realloc(ptr %t2578, i64 %t2577) + store ptr %t2579, ptr %t2567 + store i32 %t2573, ptr %t2566 + br label %put515 +put515: + %t2580 = load ptr, ptr %t2567 + %t2581 = getelementptr inbounds ptr, ptr %t2580, i32 %t2568 + store ptr @.str6615, ptr %t2581 + %t2582 = add i32 %t2568, 1 + store i32 %t2582, ptr %t2565 + br label %ifend507 +ifend507: + %t2583 = load ptr, ptr %t1 + %t2584 = call i32 @fn_str_eq(ptr %t2583, ptr @.str6616) + %t2585 = icmp ne i32 %t2584, 0 + br i1 %t2585, label %then516, label %ifend518 +then516: + store ptr @.str6617, ptr %t380 + %t2586 = load ptr, ptr %t387 + %t2587 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 1 + %t2588 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 2 + %t2589 = getelementptr inbounds %LSlice, ptr %t2586, i32 0, i32 0 + %t2590 = load i32, ptr %t2587 + %t2591 = load i32, ptr %t2588 + %t2592 = icmp sge i32 %t2590, %t2591 + br i1 %t2592, label %grow519, label %put520 +grow519: + %t2593 = mul i32 %t2591, 2 + %t2594 = icmp eq i32 %t2591, 0 + %t2595 = select i1 %t2594, i32 8, i32 %t2593 + %t2596 = getelementptr ptr, ptr null, i32 1 + %t2597 = ptrtoint ptr %t2596 to i64 + %t2598 = zext i32 %t2595 to i64 + %t2599 = mul i64 %t2598, %t2597 + %t2600 = load ptr, ptr %t2589 + %t2601 = call ptr @realloc(ptr %t2600, i64 %t2599) + store ptr %t2601, ptr %t2589 + store i32 %t2595, ptr %t2588 + br label %put520 +put520: + %t2602 = load ptr, ptr %t2589 + %t2603 = getelementptr inbounds ptr, ptr %t2602, i32 %t2590 + store ptr @.str6618, ptr %t2603 + %t2604 = add i32 %t2590, 1 + store i32 %t2604, ptr %t2587 + %t2605 = load ptr, ptr %t387 + %t2606 = getelementptr inbounds %LSlice, ptr %t2605, i32 0, i32 1 + %t2607 = getelementptr inbounds %LSlice, ptr %t2605, i32 0, i32 2 + %t2608 = getelementptr inbounds %LSlice, ptr %t2605, i32 0, i32 0 + %t2609 = load i32, ptr %t2606 + %t2610 = load i32, ptr %t2607 + %t2611 = icmp sge i32 %t2609, %t2610 + br i1 %t2611, label %grow521, label %put522 +grow521: + %t2612 = mul i32 %t2610, 2 + %t2613 = icmp eq i32 %t2610, 0 + %t2614 = select i1 %t2613, i32 8, i32 %t2612 + %t2615 = getelementptr ptr, ptr null, i32 1 + %t2616 = ptrtoint ptr %t2615 to i64 + %t2617 = zext i32 %t2614 to i64 + %t2618 = mul i64 %t2617, %t2616 + %t2619 = load ptr, ptr %t2608 + %t2620 = call ptr @realloc(ptr %t2619, i64 %t2618) + store ptr %t2620, ptr %t2608 + store i32 %t2614, ptr %t2607 + br label %put522 +put522: + %t2621 = load ptr, ptr %t2608 + %t2622 = getelementptr inbounds ptr, ptr %t2621, i32 %t2609 + store ptr @.str6619, ptr %t2622 + %t2623 = add i32 %t2609, 1 + store i32 %t2623, ptr %t2606 + %t2624 = load ptr, ptr %t387 + %t2625 = getelementptr inbounds %LSlice, ptr %t2624, i32 0, i32 1 + %t2626 = getelementptr inbounds %LSlice, ptr %t2624, i32 0, i32 2 + %t2627 = getelementptr inbounds %LSlice, ptr %t2624, i32 0, i32 0 + %t2628 = load i32, ptr %t2625 + %t2629 = load i32, ptr %t2626 + %t2630 = icmp sge i32 %t2628, %t2629 + br i1 %t2630, label %grow523, label %put524 +grow523: + %t2631 = mul i32 %t2629, 2 + %t2632 = icmp eq i32 %t2629, 0 + %t2633 = select i1 %t2632, i32 8, i32 %t2631 + %t2634 = getelementptr ptr, ptr null, i32 1 + %t2635 = ptrtoint ptr %t2634 to i64 + %t2636 = zext i32 %t2633 to i64 + %t2637 = mul i64 %t2636, %t2635 + %t2638 = load ptr, ptr %t2627 + %t2639 = call ptr @realloc(ptr %t2638, i64 %t2637) + store ptr %t2639, ptr %t2627 + store i32 %t2633, ptr %t2626 + br label %put524 +put524: + %t2640 = load ptr, ptr %t2627 + %t2641 = getelementptr inbounds ptr, ptr %t2640, i32 %t2628 + store ptr @.str6620, ptr %t2641 + %t2642 = add i32 %t2628, 1 + store i32 %t2642, ptr %t2625 + %t2643 = load ptr, ptr %t387 + %t2644 = getelementptr inbounds %LSlice, ptr %t2643, i32 0, i32 1 + %t2645 = getelementptr inbounds %LSlice, ptr %t2643, i32 0, i32 2 + %t2646 = getelementptr inbounds %LSlice, ptr %t2643, i32 0, i32 0 + %t2647 = load i32, ptr %t2644 + %t2648 = load i32, ptr %t2645 + %t2649 = icmp sge i32 %t2647, %t2648 + br i1 %t2649, label %grow525, label %put526 +grow525: + %t2650 = mul i32 %t2648, 2 + %t2651 = icmp eq i32 %t2648, 0 + %t2652 = select i1 %t2651, i32 8, i32 %t2650 + %t2653 = getelementptr ptr, ptr null, i32 1 + %t2654 = ptrtoint ptr %t2653 to i64 + %t2655 = zext i32 %t2652 to i64 + %t2656 = mul i64 %t2655, %t2654 + %t2657 = load ptr, ptr %t2646 + %t2658 = call ptr @realloc(ptr %t2657, i64 %t2656) + store ptr %t2658, ptr %t2646 + store i32 %t2652, ptr %t2645 + br label %put526 +put526: + %t2659 = load ptr, ptr %t2646 + %t2660 = getelementptr inbounds ptr, ptr %t2659, i32 %t2647 + store ptr @.str6621, ptr %t2660 + %t2661 = add i32 %t2647, 1 + store i32 %t2661, ptr %t2644 + %t2662 = load ptr, ptr %t387 + %t2663 = getelementptr inbounds %LSlice, ptr %t2662, i32 0, i32 1 + %t2664 = getelementptr inbounds %LSlice, ptr %t2662, i32 0, i32 2 + %t2665 = getelementptr inbounds %LSlice, ptr %t2662, i32 0, i32 0 + %t2666 = load i32, ptr %t2663 + %t2667 = load i32, ptr %t2664 + %t2668 = icmp sge i32 %t2666, %t2667 + br i1 %t2668, label %grow527, label %put528 +grow527: + %t2669 = mul i32 %t2667, 2 + %t2670 = icmp eq i32 %t2667, 0 + %t2671 = select i1 %t2670, i32 8, i32 %t2669 + %t2672 = getelementptr ptr, ptr null, i32 1 + %t2673 = ptrtoint ptr %t2672 to i64 + %t2674 = zext i32 %t2671 to i64 + %t2675 = mul i64 %t2674, %t2673 + %t2676 = load ptr, ptr %t2665 + %t2677 = call ptr @realloc(ptr %t2676, i64 %t2675) + store ptr %t2677, ptr %t2665 + store i32 %t2671, ptr %t2664 + br label %put528 +put528: + %t2678 = load ptr, ptr %t2665 + %t2679 = getelementptr inbounds ptr, ptr %t2678, i32 %t2666 + store ptr @.str6622, ptr %t2679 + %t2680 = add i32 %t2666, 1 + store i32 %t2680, ptr %t2663 + %t2681 = load ptr, ptr %t387 + %t2682 = getelementptr inbounds %LSlice, ptr %t2681, i32 0, i32 1 + %t2683 = getelementptr inbounds %LSlice, ptr %t2681, i32 0, i32 2 + %t2684 = getelementptr inbounds %LSlice, ptr %t2681, i32 0, i32 0 + %t2685 = load i32, ptr %t2682 + %t2686 = load i32, ptr %t2683 + %t2687 = icmp sge i32 %t2685, %t2686 + br i1 %t2687, label %grow529, label %put530 +grow529: + %t2688 = mul i32 %t2686, 2 + %t2689 = icmp eq i32 %t2686, 0 + %t2690 = select i1 %t2689, i32 8, i32 %t2688 + %t2691 = getelementptr ptr, ptr null, i32 1 + %t2692 = ptrtoint ptr %t2691 to i64 + %t2693 = zext i32 %t2690 to i64 + %t2694 = mul i64 %t2693, %t2692 + %t2695 = load ptr, ptr %t2684 + %t2696 = call ptr @realloc(ptr %t2695, i64 %t2694) + store ptr %t2696, ptr %t2684 + store i32 %t2690, ptr %t2683 + br label %put530 +put530: + %t2697 = load ptr, ptr %t2684 + %t2698 = getelementptr inbounds ptr, ptr %t2697, i32 %t2685 + store ptr @.str6623, ptr %t2698 + %t2699 = add i32 %t2685, 1 + store i32 %t2699, ptr %t2682 + %t2700 = load ptr, ptr %t387 + %t2701 = getelementptr inbounds %LSlice, ptr %t2700, i32 0, i32 1 + %t2702 = getelementptr inbounds %LSlice, ptr %t2700, i32 0, i32 2 + %t2703 = getelementptr inbounds %LSlice, ptr %t2700, i32 0, i32 0 + %t2704 = load i32, ptr %t2701 + %t2705 = load i32, ptr %t2702 + %t2706 = icmp sge i32 %t2704, %t2705 + br i1 %t2706, label %grow531, label %put532 +grow531: + %t2707 = mul i32 %t2705, 2 + %t2708 = icmp eq i32 %t2705, 0 + %t2709 = select i1 %t2708, i32 8, i32 %t2707 + %t2710 = getelementptr ptr, ptr null, i32 1 + %t2711 = ptrtoint ptr %t2710 to i64 + %t2712 = zext i32 %t2709 to i64 + %t2713 = mul i64 %t2712, %t2711 + %t2714 = load ptr, ptr %t2703 + %t2715 = call ptr @realloc(ptr %t2714, i64 %t2713) + store ptr %t2715, ptr %t2703 + store i32 %t2709, ptr %t2702 + br label %put532 +put532: + %t2716 = load ptr, ptr %t2703 + %t2717 = getelementptr inbounds ptr, ptr %t2716, i32 %t2704 + store ptr @.str6624, ptr %t2717 + %t2718 = add i32 %t2704, 1 + store i32 %t2718, ptr %t2701 + %t2719 = load ptr, ptr %t387 + %t2720 = getelementptr inbounds %LSlice, ptr %t2719, i32 0, i32 1 + %t2721 = getelementptr inbounds %LSlice, ptr %t2719, i32 0, i32 2 + %t2722 = getelementptr inbounds %LSlice, ptr %t2719, i32 0, i32 0 + %t2723 = load i32, ptr %t2720 + %t2724 = load i32, ptr %t2721 + %t2725 = icmp sge i32 %t2723, %t2724 + br i1 %t2725, label %grow533, label %put534 +grow533: + %t2726 = mul i32 %t2724, 2 + %t2727 = icmp eq i32 %t2724, 0 + %t2728 = select i1 %t2727, i32 8, i32 %t2726 + %t2729 = getelementptr ptr, ptr null, i32 1 + %t2730 = ptrtoint ptr %t2729 to i64 + %t2731 = zext i32 %t2728 to i64 + %t2732 = mul i64 %t2731, %t2730 + %t2733 = load ptr, ptr %t2722 + %t2734 = call ptr @realloc(ptr %t2733, i64 %t2732) + store ptr %t2734, ptr %t2722 + store i32 %t2728, ptr %t2721 + br label %put534 +put534: + %t2735 = load ptr, ptr %t2722 + %t2736 = getelementptr inbounds ptr, ptr %t2735, i32 %t2723 + store ptr @.str6625, ptr %t2736 + %t2737 = add i32 %t2723, 1 + store i32 %t2737, ptr %t2720 + %t2738 = load ptr, ptr %t387 + %t2739 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 1 + %t2740 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 2 + %t2741 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 0 + %t2742 = load i32, ptr %t2739 + %t2743 = load i32, ptr %t2740 + %t2744 = icmp sge i32 %t2742, %t2743 + br i1 %t2744, label %grow535, label %put536 grow535: - %t2522 = mul i32 %t2520, 2 - %t2523 = icmp eq i32 %t2520, 0 - %t2524 = select i1 %t2523, i32 8, i32 %t2522 - %t2525 = getelementptr ptr, ptr null, i32 1 - %t2526 = ptrtoint ptr %t2525 to i64 - %t2527 = zext i32 %t2524 to i64 - %t2528 = mul i64 %t2527, %t2526 - %t2529 = load ptr, ptr %t2518 - %t2530 = call ptr @realloc(ptr %t2529, i64 %t2528) - store ptr %t2530, ptr %t2518 - store i32 %t2524, ptr %t2517 + %t2745 = mul i32 %t2743, 2 + %t2746 = icmp eq i32 %t2743, 0 + %t2747 = select i1 %t2746, i32 8, i32 %t2745 + %t2748 = getelementptr ptr, ptr null, i32 1 + %t2749 = ptrtoint ptr %t2748 to i64 + %t2750 = zext i32 %t2747 to i64 + %t2751 = mul i64 %t2750, %t2749 + %t2752 = load ptr, ptr %t2741 + %t2753 = call ptr @realloc(ptr %t2752, i64 %t2751) + store ptr %t2753, ptr %t2741 + store i32 %t2747, ptr %t2740 br label %put536 put536: - %t2531 = load ptr, ptr %t2518 - %t2532 = getelementptr inbounds ptr, ptr %t2531, i32 %t2519 - store ptr @.str6324, ptr %t2532 - %t2533 = add i32 %t2519, 1 - store i32 %t2533, ptr %t2516 - %t2534 = load ptr, ptr %t337 - %t2535 = getelementptr inbounds %LSlice, ptr %t2534, i32 0, i32 1 - %t2536 = getelementptr inbounds %LSlice, ptr %t2534, i32 0, i32 2 - %t2537 = getelementptr inbounds %LSlice, ptr %t2534, i32 0, i32 0 - %t2538 = load i32, ptr %t2535 - %t2539 = load i32, ptr %t2536 - %t2540 = icmp sge i32 %t2538, %t2539 - br i1 %t2540, label %grow537, label %put538 -grow537: - %t2541 = mul i32 %t2539, 2 - %t2542 = icmp eq i32 %t2539, 0 - %t2543 = select i1 %t2542, i32 8, i32 %t2541 - %t2544 = getelementptr ptr, ptr null, i32 1 - %t2545 = ptrtoint ptr %t2544 to i64 - %t2546 = zext i32 %t2543 to i64 - %t2547 = mul i64 %t2546, %t2545 - %t2548 = load ptr, ptr %t2537 - %t2549 = call ptr @realloc(ptr %t2548, i64 %t2547) - store ptr %t2549, ptr %t2537 - store i32 %t2543, ptr %t2536 - br label %put538 -put538: - %t2550 = load ptr, ptr %t2537 - %t2551 = getelementptr inbounds ptr, ptr %t2550, i32 %t2538 - store ptr @.str6325, ptr %t2551 - %t2552 = add i32 %t2538, 1 - store i32 %t2552, ptr %t2535 - %t2553 = load ptr, ptr %t337 - %t2554 = getelementptr inbounds %LSlice, ptr %t2553, i32 0, i32 1 - %t2555 = getelementptr inbounds %LSlice, ptr %t2553, i32 0, i32 2 - %t2556 = getelementptr inbounds %LSlice, ptr %t2553, i32 0, i32 0 - %t2557 = load i32, ptr %t2554 - %t2558 = load i32, ptr %t2555 - %t2559 = icmp sge i32 %t2557, %t2558 - br i1 %t2559, label %grow539, label %put540 -grow539: - %t2560 = mul i32 %t2558, 2 - %t2561 = icmp eq i32 %t2558, 0 - %t2562 = select i1 %t2561, i32 8, i32 %t2560 - %t2563 = getelementptr ptr, ptr null, i32 1 - %t2564 = ptrtoint ptr %t2563 to i64 - %t2565 = zext i32 %t2562 to i64 - %t2566 = mul i64 %t2565, %t2564 - %t2567 = load ptr, ptr %t2556 - %t2568 = call ptr @realloc(ptr %t2567, i64 %t2566) - store ptr %t2568, ptr %t2556 - store i32 %t2562, ptr %t2555 - br label %put540 -put540: - %t2569 = load ptr, ptr %t2556 - %t2570 = getelementptr inbounds ptr, ptr %t2569, i32 %t2557 - store ptr @.str6326, ptr %t2570 - %t2571 = add i32 %t2557, 1 - store i32 %t2571, ptr %t2554 - br label %ifend534 -ifend534: - %t2572 = load ptr, ptr %t1 - %t2573 = call i32 @fn_str_eq(ptr %t2572, ptr @.str6327) - %t2574 = icmp ne i32 %t2573, 0 - br i1 %t2574, label %then541, label %ifend543 -then541: - store ptr @.str6328, ptr %t330 - %t2575 = load ptr, ptr %t337 - %t2576 = getelementptr inbounds %LSlice, ptr %t2575, i32 0, i32 1 - %t2577 = getelementptr inbounds %LSlice, ptr %t2575, i32 0, i32 2 - %t2578 = getelementptr inbounds %LSlice, ptr %t2575, i32 0, i32 0 - %t2579 = load i32, ptr %t2576 - %t2580 = load i32, ptr %t2577 - %t2581 = icmp sge i32 %t2579, %t2580 - br i1 %t2581, label %grow544, label %put545 -grow544: - %t2582 = mul i32 %t2580, 2 - %t2583 = icmp eq i32 %t2580, 0 - %t2584 = select i1 %t2583, i32 8, i32 %t2582 - %t2585 = getelementptr ptr, ptr null, i32 1 - %t2586 = ptrtoint ptr %t2585 to i64 - %t2587 = zext i32 %t2584 to i64 - %t2588 = mul i64 %t2587, %t2586 - %t2589 = load ptr, ptr %t2578 - %t2590 = call ptr @realloc(ptr %t2589, i64 %t2588) - store ptr %t2590, ptr %t2578 - store i32 %t2584, ptr %t2577 - br label %put545 -put545: - %t2591 = load ptr, ptr %t2578 - %t2592 = getelementptr inbounds ptr, ptr %t2591, i32 %t2579 - store ptr @.str6329, ptr %t2592 - %t2593 = add i32 %t2579, 1 - store i32 %t2593, ptr %t2576 - br label %ifend543 -ifend543: - %t2594 = load ptr, ptr %t1 - %t2595 = call i32 @fn_str_eq(ptr %t2594, ptr @.str6330) - %t2596 = icmp ne i32 %t2595, 0 - br i1 %t2596, label %then546, label %ifend548 -then546: - store ptr @.str6331, ptr %t330 - %t2597 = load ptr, ptr %t337 - %t2598 = getelementptr inbounds %LSlice, ptr %t2597, i32 0, i32 1 - %t2599 = getelementptr inbounds %LSlice, ptr %t2597, i32 0, i32 2 - %t2600 = getelementptr inbounds %LSlice, ptr %t2597, i32 0, i32 0 - %t2601 = load i32, ptr %t2598 - %t2602 = load i32, ptr %t2599 - %t2603 = icmp sge i32 %t2601, %t2602 - br i1 %t2603, label %grow549, label %put550 -grow549: - %t2604 = mul i32 %t2602, 2 - %t2605 = icmp eq i32 %t2602, 0 - %t2606 = select i1 %t2605, i32 8, i32 %t2604 - %t2607 = getelementptr ptr, ptr null, i32 1 - %t2608 = ptrtoint ptr %t2607 to i64 - %t2609 = zext i32 %t2606 to i64 - %t2610 = mul i64 %t2609, %t2608 - %t2611 = load ptr, ptr %t2600 - %t2612 = call ptr @realloc(ptr %t2611, i64 %t2610) - store ptr %t2612, ptr %t2600 - store i32 %t2606, ptr %t2599 - br label %put550 -put550: - %t2613 = load ptr, ptr %t2600 - %t2614 = getelementptr inbounds ptr, ptr %t2613, i32 %t2601 - store ptr @.str6332, ptr %t2614 - %t2615 = add i32 %t2601, 1 - store i32 %t2615, ptr %t2598 - br label %ifend548 -ifend548: - br label %ifend524 -ifend524: - %t2616 = load ptr, ptr %t0 - %t2617 = call i32 @fn_str_eq(ptr %t2616, ptr @.str6333) - %t2618 = icmp ne i32 %t2617, 0 - br i1 %t2618, label %then551, label %ifend553 -then551: - %t2619 = load ptr, ptr %t1 - %t2620 = call i32 @fn_str_eq(ptr %t2619, ptr @.str6334) - %t2621 = icmp ne i32 %t2620, 0 - br i1 %t2621, label %then554, label %ifend556 -then554: - store ptr @.str6335, ptr %t330 - %t2622 = load ptr, ptr %t337 - %t2623 = getelementptr inbounds %LSlice, ptr %t2622, i32 0, i32 1 - %t2624 = getelementptr inbounds %LSlice, ptr %t2622, i32 0, i32 2 - %t2625 = getelementptr inbounds %LSlice, ptr %t2622, i32 0, i32 0 - %t2626 = load i32, ptr %t2623 - %t2627 = load i32, ptr %t2624 - %t2628 = icmp sge i32 %t2626, %t2627 - br i1 %t2628, label %grow557, label %put558 -grow557: - %t2629 = mul i32 %t2627, 2 - %t2630 = icmp eq i32 %t2627, 0 - %t2631 = select i1 %t2630, i32 8, i32 %t2629 - %t2632 = getelementptr ptr, ptr null, i32 1 - %t2633 = ptrtoint ptr %t2632 to i64 - %t2634 = zext i32 %t2631 to i64 - %t2635 = mul i64 %t2634, %t2633 - %t2636 = load ptr, ptr %t2625 - %t2637 = call ptr @realloc(ptr %t2636, i64 %t2635) - store ptr %t2637, ptr %t2625 - store i32 %t2631, ptr %t2624 - br label %put558 -put558: - %t2638 = load ptr, ptr %t2625 - %t2639 = getelementptr inbounds ptr, ptr %t2638, i32 %t2626 - store ptr @.str6336, ptr %t2639 - %t2640 = add i32 %t2626, 1 - store i32 %t2640, ptr %t2623 - %t2641 = load ptr, ptr %t337 - %t2642 = getelementptr inbounds %LSlice, ptr %t2641, i32 0, i32 1 - %t2643 = getelementptr inbounds %LSlice, ptr %t2641, i32 0, i32 2 - %t2644 = getelementptr inbounds %LSlice, ptr %t2641, i32 0, i32 0 - %t2645 = load i32, ptr %t2642 - %t2646 = load i32, ptr %t2643 - %t2647 = icmp sge i32 %t2645, %t2646 - br i1 %t2647, label %grow559, label %put560 -grow559: - %t2648 = mul i32 %t2646, 2 - %t2649 = icmp eq i32 %t2646, 0 - %t2650 = select i1 %t2649, i32 8, i32 %t2648 - %t2651 = getelementptr ptr, ptr null, i32 1 - %t2652 = ptrtoint ptr %t2651 to i64 - %t2653 = zext i32 %t2650 to i64 - %t2654 = mul i64 %t2653, %t2652 - %t2655 = load ptr, ptr %t2644 - %t2656 = call ptr @realloc(ptr %t2655, i64 %t2654) - store ptr %t2656, ptr %t2644 - store i32 %t2650, ptr %t2643 - br label %put560 -put560: - %t2657 = load ptr, ptr %t2644 - %t2658 = getelementptr inbounds ptr, ptr %t2657, i32 %t2645 - store ptr @.str6337, ptr %t2658 - %t2659 = add i32 %t2645, 1 - store i32 %t2659, ptr %t2642 - br label %ifend556 -ifend556: - %t2660 = load ptr, ptr %t1 - %t2661 = call i32 @fn_str_eq(ptr %t2660, ptr @.str6338) - %t2662 = icmp ne i32 %t2661, 0 - br i1 %t2662, label %then561, label %ifend563 + %t2754 = load ptr, ptr %t2741 + %t2755 = getelementptr inbounds ptr, ptr %t2754, i32 %t2742 + store ptr @.str6626, ptr %t2755 + %t2756 = add i32 %t2742, 1 + store i32 %t2756, ptr %t2739 + br label %ifend518 +ifend518: + %t2757 = load ptr, ptr %t1 + %t2758 = call i32 @fn_str_eq(ptr %t2757, ptr @.str6627) + %t2759 = icmp ne i32 %t2758, 0 + br i1 %t2759, label %then537, label %ifend539 +then537: + store ptr @.str6628, ptr %t380 + %t2760 = load ptr, ptr %t387 + %t2761 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 1 + %t2762 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 2 + %t2763 = getelementptr inbounds %LSlice, ptr %t2760, i32 0, i32 0 + %t2764 = load i32, ptr %t2761 + %t2765 = load i32, ptr %t2762 + %t2766 = icmp sge i32 %t2764, %t2765 + br i1 %t2766, label %grow540, label %put541 +grow540: + %t2767 = mul i32 %t2765, 2 + %t2768 = icmp eq i32 %t2765, 0 + %t2769 = select i1 %t2768, i32 8, i32 %t2767 + %t2770 = getelementptr ptr, ptr null, i32 1 + %t2771 = ptrtoint ptr %t2770 to i64 + %t2772 = zext i32 %t2769 to i64 + %t2773 = mul i64 %t2772, %t2771 + %t2774 = load ptr, ptr %t2763 + %t2775 = call ptr @realloc(ptr %t2774, i64 %t2773) + store ptr %t2775, ptr %t2763 + store i32 %t2769, ptr %t2762 + br label %put541 +put541: + %t2776 = load ptr, ptr %t2763 + %t2777 = getelementptr inbounds ptr, ptr %t2776, i32 %t2764 + store ptr @.str6629, ptr %t2777 + %t2778 = add i32 %t2764, 1 + store i32 %t2778, ptr %t2761 + br label %ifend539 +ifend539: + %t2779 = load ptr, ptr %t1 + %t2780 = call i32 @fn_str_eq(ptr %t2779, ptr @.str6630) + %t2781 = icmp ne i32 %t2780, 0 + br i1 %t2781, label %then542, label %ifend544 +then542: + store ptr @.str6631, ptr %t380 + %t2782 = load ptr, ptr %t387 + %t2783 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 1 + %t2784 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 2 + %t2785 = getelementptr inbounds %LSlice, ptr %t2782, i32 0, i32 0 + %t2786 = load i32, ptr %t2783 + %t2787 = load i32, ptr %t2784 + %t2788 = icmp sge i32 %t2786, %t2787 + br i1 %t2788, label %grow545, label %put546 +grow545: + %t2789 = mul i32 %t2787, 2 + %t2790 = icmp eq i32 %t2787, 0 + %t2791 = select i1 %t2790, i32 8, i32 %t2789 + %t2792 = getelementptr ptr, ptr null, i32 1 + %t2793 = ptrtoint ptr %t2792 to i64 + %t2794 = zext i32 %t2791 to i64 + %t2795 = mul i64 %t2794, %t2793 + %t2796 = load ptr, ptr %t2785 + %t2797 = call ptr @realloc(ptr %t2796, i64 %t2795) + store ptr %t2797, ptr %t2785 + store i32 %t2791, ptr %t2784 + br label %put546 +put546: + %t2798 = load ptr, ptr %t2785 + %t2799 = getelementptr inbounds ptr, ptr %t2798, i32 %t2786 + store ptr @.str6632, ptr %t2799 + %t2800 = add i32 %t2786, 1 + store i32 %t2800, ptr %t2783 + br label %ifend544 +ifend544: + br label %ifend435 +ifend435: + %t2801 = load ptr, ptr %t0 + %t2802 = call i32 @fn_str_eq(ptr %t2801, ptr @.str6633) + %t2803 = icmp ne i32 %t2802, 0 + br i1 %t2803, label %then547, label %ifend549 +then547: + %t2804 = load ptr, ptr %t1 + %t2805 = call i32 @fn_str_eq(ptr %t2804, ptr @.str6634) + %t2806 = icmp ne i32 %t2805, 0 + br i1 %t2806, label %then550, label %ifend552 +then550: + store ptr @.str6635, ptr %t380 + %t2807 = load ptr, ptr %t387 + %t2808 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 1 + %t2809 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 2 + %t2810 = getelementptr inbounds %LSlice, ptr %t2807, i32 0, i32 0 + %t2811 = load i32, ptr %t2808 + %t2812 = load i32, ptr %t2809 + %t2813 = icmp sge i32 %t2811, %t2812 + br i1 %t2813, label %grow553, label %put554 +grow553: + %t2814 = mul i32 %t2812, 2 + %t2815 = icmp eq i32 %t2812, 0 + %t2816 = select i1 %t2815, i32 8, i32 %t2814 + %t2817 = getelementptr ptr, ptr null, i32 1 + %t2818 = ptrtoint ptr %t2817 to i64 + %t2819 = zext i32 %t2816 to i64 + %t2820 = mul i64 %t2819, %t2818 + %t2821 = load ptr, ptr %t2810 + %t2822 = call ptr @realloc(ptr %t2821, i64 %t2820) + store ptr %t2822, ptr %t2810 + store i32 %t2816, ptr %t2809 + br label %put554 +put554: + %t2823 = load ptr, ptr %t2810 + %t2824 = getelementptr inbounds ptr, ptr %t2823, i32 %t2811 + store ptr @.str6636, ptr %t2824 + %t2825 = add i32 %t2811, 1 + store i32 %t2825, ptr %t2808 + br label %ifend552 +ifend552: + br label %ifend549 +ifend549: + %t2826 = load ptr, ptr %t0 + %t2827 = call i32 @fn_str_eq(ptr %t2826, ptr @.str6637) + %t2828 = icmp ne i32 %t2827, 0 + br i1 %t2828, label %then555, label %ifend557 +then555: + %t2829 = load ptr, ptr %t1 + %t2830 = call i32 @fn_str_eq(ptr %t2829, ptr @.str6638) + %t2831 = icmp ne i32 %t2830, 0 + br i1 %t2831, label %then558, label %ifend560 +then558: + store ptr @.str6639, ptr %t380 + br label %ifend560 +ifend560: + %t2832 = load ptr, ptr %t1 + %t2833 = call i32 @fn_str_eq(ptr %t2832, ptr @.str6640) + %t2834 = icmp ne i32 %t2833, 0 + br i1 %t2834, label %then561, label %ifend563 then561: - store ptr @.str6339, ptr %t330 - %t2663 = load ptr, ptr %t337 - %t2664 = getelementptr inbounds %LSlice, ptr %t2663, i32 0, i32 1 - %t2665 = getelementptr inbounds %LSlice, ptr %t2663, i32 0, i32 2 - %t2666 = getelementptr inbounds %LSlice, ptr %t2663, i32 0, i32 0 - %t2667 = load i32, ptr %t2664 - %t2668 = load i32, ptr %t2665 - %t2669 = icmp sge i32 %t2667, %t2668 - br i1 %t2669, label %grow564, label %put565 + store ptr @.str6641, ptr %t380 + %t2835 = load ptr, ptr %t387 + %t2836 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 1 + %t2837 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 2 + %t2838 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 0 + %t2839 = load i32, ptr %t2836 + %t2840 = load i32, ptr %t2837 + %t2841 = icmp sge i32 %t2839, %t2840 + br i1 %t2841, label %grow564, label %put565 grow564: - %t2670 = mul i32 %t2668, 2 - %t2671 = icmp eq i32 %t2668, 0 - %t2672 = select i1 %t2671, i32 8, i32 %t2670 - %t2673 = getelementptr ptr, ptr null, i32 1 - %t2674 = ptrtoint ptr %t2673 to i64 - %t2675 = zext i32 %t2672 to i64 - %t2676 = mul i64 %t2675, %t2674 - %t2677 = load ptr, ptr %t2666 - %t2678 = call ptr @realloc(ptr %t2677, i64 %t2676) - store ptr %t2678, ptr %t2666 - store i32 %t2672, ptr %t2665 + %t2842 = mul i32 %t2840, 2 + %t2843 = icmp eq i32 %t2840, 0 + %t2844 = select i1 %t2843, i32 8, i32 %t2842 + %t2845 = getelementptr ptr, ptr null, i32 1 + %t2846 = ptrtoint ptr %t2845 to i64 + %t2847 = zext i32 %t2844 to i64 + %t2848 = mul i64 %t2847, %t2846 + %t2849 = load ptr, ptr %t2838 + %t2850 = call ptr @realloc(ptr %t2849, i64 %t2848) + store ptr %t2850, ptr %t2838 + store i32 %t2844, ptr %t2837 br label %put565 put565: - %t2679 = load ptr, ptr %t2666 - %t2680 = getelementptr inbounds ptr, ptr %t2679, i32 %t2667 - store ptr @.str6340, ptr %t2680 - %t2681 = add i32 %t2667, 1 - store i32 %t2681, ptr %t2664 - %t2682 = load ptr, ptr %t337 - %t2683 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 1 - %t2684 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 2 - %t2685 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 0 - %t2686 = load i32, ptr %t2683 - %t2687 = load i32, ptr %t2684 - %t2688 = icmp sge i32 %t2686, %t2687 - br i1 %t2688, label %grow566, label %put567 -grow566: - %t2689 = mul i32 %t2687, 2 - %t2690 = icmp eq i32 %t2687, 0 - %t2691 = select i1 %t2690, i32 8, i32 %t2689 - %t2692 = getelementptr ptr, ptr null, i32 1 - %t2693 = ptrtoint ptr %t2692 to i64 - %t2694 = zext i32 %t2691 to i64 - %t2695 = mul i64 %t2694, %t2693 - %t2696 = load ptr, ptr %t2685 - %t2697 = call ptr @realloc(ptr %t2696, i64 %t2695) - store ptr %t2697, ptr %t2685 - store i32 %t2691, ptr %t2684 - br label %put567 -put567: - %t2698 = load ptr, ptr %t2685 - %t2699 = getelementptr inbounds ptr, ptr %t2698, i32 %t2686 - store ptr @.str6341, ptr %t2699 - %t2700 = add i32 %t2686, 1 - store i32 %t2700, ptr %t2683 + %t2851 = load ptr, ptr %t2838 + %t2852 = getelementptr inbounds ptr, ptr %t2851, i32 %t2839 + store ptr @.str6642, ptr %t2852 + %t2853 = add i32 %t2839, 1 + store i32 %t2853, ptr %t2836 br label %ifend563 ifend563: - %t2701 = load ptr, ptr %t1 - %t2702 = call i32 @fn_str_eq(ptr %t2701, ptr @.str6342) - %t2703 = icmp ne i32 %t2702, 0 - br i1 %t2703, label %then568, label %ifend570 -then568: - store ptr @.str6343, ptr %t330 - %t2704 = load ptr, ptr %t337 - %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 - %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 - %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 - %t2708 = load i32, ptr %t2705 - %t2709 = load i32, ptr %t2706 - %t2710 = icmp sge i32 %t2708, %t2709 - br i1 %t2710, label %grow571, label %put572 -grow571: - %t2711 = mul i32 %t2709, 2 - %t2712 = icmp eq i32 %t2709, 0 - %t2713 = select i1 %t2712, i32 8, i32 %t2711 - %t2714 = getelementptr ptr, ptr null, i32 1 - %t2715 = ptrtoint ptr %t2714 to i64 - %t2716 = zext i32 %t2713 to i64 - %t2717 = mul i64 %t2716, %t2715 - %t2718 = load ptr, ptr %t2707 - %t2719 = call ptr @realloc(ptr %t2718, i64 %t2717) - store ptr %t2719, ptr %t2707 - store i32 %t2713, ptr %t2706 - br label %put572 -put572: - %t2720 = load ptr, ptr %t2707 - %t2721 = getelementptr inbounds ptr, ptr %t2720, i32 %t2708 - store ptr @.str6344, ptr %t2721 - %t2722 = add i32 %t2708, 1 - store i32 %t2722, ptr %t2705 - %t2723 = load ptr, ptr %t337 - %t2724 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 1 - %t2725 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 2 - %t2726 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 0 - %t2727 = load i32, ptr %t2724 - %t2728 = load i32, ptr %t2725 - %t2729 = icmp sge i32 %t2727, %t2728 - br i1 %t2729, label %grow573, label %put574 -grow573: - %t2730 = mul i32 %t2728, 2 - %t2731 = icmp eq i32 %t2728, 0 - %t2732 = select i1 %t2731, i32 8, i32 %t2730 - %t2733 = getelementptr ptr, ptr null, i32 1 - %t2734 = ptrtoint ptr %t2733 to i64 - %t2735 = zext i32 %t2732 to i64 - %t2736 = mul i64 %t2735, %t2734 - %t2737 = load ptr, ptr %t2726 - %t2738 = call ptr @realloc(ptr %t2737, i64 %t2736) - store ptr %t2738, ptr %t2726 - store i32 %t2732, ptr %t2725 - br label %put574 -put574: - %t2739 = load ptr, ptr %t2726 - %t2740 = getelementptr inbounds ptr, ptr %t2739, i32 %t2727 - store ptr @.str6345, ptr %t2740 - %t2741 = add i32 %t2727, 1 - store i32 %t2741, ptr %t2724 - br label %ifend570 -ifend570: - br label %ifend553 -ifend553: - %t2742 = load ptr, ptr %t0 - %t2743 = call i32 @fn_str_eq(ptr %t2742, ptr @.str6346) - %t2744 = icmp ne i32 %t2743, 0 - br i1 %t2744, label %then575, label %ifend577 -then575: - %t2745 = load ptr, ptr %t1 - %t2746 = call i32 @fn_str_eq(ptr %t2745, ptr @.str6347) - %t2747 = icmp ne i32 %t2746, 0 - br i1 %t2747, label %then578, label %ifend580 -then578: - store ptr @.str6348, ptr %t330 - %t2748 = load ptr, ptr %t337 - %t2749 = getelementptr inbounds %LSlice, ptr %t2748, i32 0, i32 1 - %t2750 = getelementptr inbounds %LSlice, ptr %t2748, i32 0, i32 2 - %t2751 = getelementptr inbounds %LSlice, ptr %t2748, i32 0, i32 0 - %t2752 = load i32, ptr %t2749 - %t2753 = load i32, ptr %t2750 - %t2754 = icmp sge i32 %t2752, %t2753 - br i1 %t2754, label %grow581, label %put582 -grow581: - %t2755 = mul i32 %t2753, 2 - %t2756 = icmp eq i32 %t2753, 0 - %t2757 = select i1 %t2756, i32 8, i32 %t2755 - %t2758 = getelementptr ptr, ptr null, i32 1 - %t2759 = ptrtoint ptr %t2758 to i64 - %t2760 = zext i32 %t2757 to i64 - %t2761 = mul i64 %t2760, %t2759 - %t2762 = load ptr, ptr %t2751 - %t2763 = call ptr @realloc(ptr %t2762, i64 %t2761) - store ptr %t2763, ptr %t2751 - store i32 %t2757, ptr %t2750 - br label %put582 -put582: - %t2764 = load ptr, ptr %t2751 - %t2765 = getelementptr inbounds ptr, ptr %t2764, i32 %t2752 - store ptr @.str6349, ptr %t2765 - %t2766 = add i32 %t2752, 1 - store i32 %t2766, ptr %t2749 - %t2767 = load ptr, ptr %t337 - %t2768 = getelementptr inbounds %LSlice, ptr %t2767, i32 0, i32 1 - %t2769 = getelementptr inbounds %LSlice, ptr %t2767, i32 0, i32 2 - %t2770 = getelementptr inbounds %LSlice, ptr %t2767, i32 0, i32 0 - %t2771 = load i32, ptr %t2768 - %t2772 = load i32, ptr %t2769 - %t2773 = icmp sge i32 %t2771, %t2772 - br i1 %t2773, label %grow583, label %put584 -grow583: - %t2774 = mul i32 %t2772, 2 - %t2775 = icmp eq i32 %t2772, 0 - %t2776 = select i1 %t2775, i32 8, i32 %t2774 - %t2777 = getelementptr ptr, ptr null, i32 1 - %t2778 = ptrtoint ptr %t2777 to i64 - %t2779 = zext i32 %t2776 to i64 - %t2780 = mul i64 %t2779, %t2778 - %t2781 = load ptr, ptr %t2770 - %t2782 = call ptr @realloc(ptr %t2781, i64 %t2780) - store ptr %t2782, ptr %t2770 - store i32 %t2776, ptr %t2769 - br label %put584 -put584: - %t2783 = load ptr, ptr %t2770 - %t2784 = getelementptr inbounds ptr, ptr %t2783, i32 %t2771 - store ptr @.str6350, ptr %t2784 - %t2785 = add i32 %t2771, 1 - store i32 %t2785, ptr %t2768 - br label %ifend580 -ifend580: - %t2786 = load ptr, ptr %t1 - %t2787 = call i32 @fn_str_eq(ptr %t2786, ptr @.str6351) - %t2788 = icmp ne i32 %t2787, 0 - br i1 %t2788, label %then585, label %ifend587 -then585: - store ptr @.str6352, ptr %t330 - %t2789 = load ptr, ptr %t337 - %t2790 = getelementptr inbounds %LSlice, ptr %t2789, i32 0, i32 1 - %t2791 = getelementptr inbounds %LSlice, ptr %t2789, i32 0, i32 2 - %t2792 = getelementptr inbounds %LSlice, ptr %t2789, i32 0, i32 0 - %t2793 = load i32, ptr %t2790 - %t2794 = load i32, ptr %t2791 - %t2795 = icmp sge i32 %t2793, %t2794 - br i1 %t2795, label %grow588, label %put589 -grow588: - %t2796 = mul i32 %t2794, 2 - %t2797 = icmp eq i32 %t2794, 0 - %t2798 = select i1 %t2797, i32 8, i32 %t2796 - %t2799 = getelementptr ptr, ptr null, i32 1 - %t2800 = ptrtoint ptr %t2799 to i64 - %t2801 = zext i32 %t2798 to i64 - %t2802 = mul i64 %t2801, %t2800 - %t2803 = load ptr, ptr %t2792 - %t2804 = call ptr @realloc(ptr %t2803, i64 %t2802) - store ptr %t2804, ptr %t2792 - store i32 %t2798, ptr %t2791 - br label %put589 -put589: - %t2805 = load ptr, ptr %t2792 - %t2806 = getelementptr inbounds ptr, ptr %t2805, i32 %t2793 - store ptr @.str6353, ptr %t2806 - %t2807 = add i32 %t2793, 1 - store i32 %t2807, ptr %t2790 - br label %ifend587 -ifend587: - %t2808 = load ptr, ptr %t1 - %t2809 = call i32 @fn_str_eq(ptr %t2808, ptr @.str6354) - %t2810 = icmp ne i32 %t2809, 0 - br i1 %t2810, label %then590, label %ifend592 -then590: - store ptr @.str6355, ptr %t330 - %t2811 = load ptr, ptr %t337 - %t2812 = getelementptr inbounds %LSlice, ptr %t2811, i32 0, i32 1 - %t2813 = getelementptr inbounds %LSlice, ptr %t2811, i32 0, i32 2 - %t2814 = getelementptr inbounds %LSlice, ptr %t2811, i32 0, i32 0 - %t2815 = load i32, ptr %t2812 - %t2816 = load i32, ptr %t2813 - %t2817 = icmp sge i32 %t2815, %t2816 - br i1 %t2817, label %grow593, label %put594 -grow593: - %t2818 = mul i32 %t2816, 2 - %t2819 = icmp eq i32 %t2816, 0 - %t2820 = select i1 %t2819, i32 8, i32 %t2818 - %t2821 = getelementptr ptr, ptr null, i32 1 - %t2822 = ptrtoint ptr %t2821 to i64 - %t2823 = zext i32 %t2820 to i64 - %t2824 = mul i64 %t2823, %t2822 - %t2825 = load ptr, ptr %t2814 - %t2826 = call ptr @realloc(ptr %t2825, i64 %t2824) - store ptr %t2826, ptr %t2814 - store i32 %t2820, ptr %t2813 - br label %put594 -put594: - %t2827 = load ptr, ptr %t2814 - %t2828 = getelementptr inbounds ptr, ptr %t2827, i32 %t2815 - store ptr @.str6356, ptr %t2828 - %t2829 = add i32 %t2815, 1 - store i32 %t2829, ptr %t2812 - br label %ifend592 -ifend592: - %t2830 = load ptr, ptr %t1 - %t2831 = call i32 @fn_str_eq(ptr %t2830, ptr @.str6357) - %t2832 = icmp ne i32 %t2831, 0 - br i1 %t2832, label %then595, label %ifend597 -then595: - store ptr @.str6358, ptr %t330 - br label %ifend597 -ifend597: - %t2833 = load ptr, ptr %t1 - %t2834 = call i32 @fn_str_eq(ptr %t2833, ptr @.str6359) - %t2835 = icmp ne i32 %t2834, 0 - br i1 %t2835, label %then598, label %ifend600 -then598: - store ptr @.str6360, ptr %t330 - %t2836 = load ptr, ptr %t337 - %t2837 = getelementptr inbounds %LSlice, ptr %t2836, i32 0, i32 1 - %t2838 = getelementptr inbounds %LSlice, ptr %t2836, i32 0, i32 2 - %t2839 = getelementptr inbounds %LSlice, ptr %t2836, i32 0, i32 0 - %t2840 = load i32, ptr %t2837 - %t2841 = load i32, ptr %t2838 - %t2842 = icmp sge i32 %t2840, %t2841 - br i1 %t2842, label %grow601, label %put602 -grow601: - %t2843 = mul i32 %t2841, 2 - %t2844 = icmp eq i32 %t2841, 0 - %t2845 = select i1 %t2844, i32 8, i32 %t2843 - %t2846 = getelementptr ptr, ptr null, i32 1 - %t2847 = ptrtoint ptr %t2846 to i64 - %t2848 = zext i32 %t2845 to i64 - %t2849 = mul i64 %t2848, %t2847 - %t2850 = load ptr, ptr %t2839 - %t2851 = call ptr @realloc(ptr %t2850, i64 %t2849) - store ptr %t2851, ptr %t2839 - store i32 %t2845, ptr %t2838 - br label %put602 -put602: - %t2852 = load ptr, ptr %t2839 - %t2853 = getelementptr inbounds ptr, ptr %t2852, i32 %t2840 - store ptr @.str6361, ptr %t2853 - %t2854 = add i32 %t2840, 1 - store i32 %t2854, ptr %t2837 - br label %ifend600 -ifend600: - %t2855 = load ptr, ptr %t1 - %t2856 = call i32 @fn_str_eq(ptr %t2855, ptr @.str6362) - %t2857 = icmp ne i32 %t2856, 0 - br i1 %t2857, label %then603, label %ifend605 -then603: - store ptr @.str6363, ptr %t330 - br label %ifend605 -ifend605: - br label %ifend577 -ifend577: - %t2858 = load ptr, ptr %t0 - %t2859 = call i32 @fn_str_eq(ptr %t2858, ptr @.str6364) - %t2860 = icmp ne i32 %t2859, 0 - br i1 %t2860, label %then606, label %ifend608 -then606: - %t2861 = load ptr, ptr %t1 - %t2862 = call i32 @fn_str_eq(ptr %t2861, ptr @.str6365) - %t2863 = icmp ne i32 %t2862, 0 - br i1 %t2863, label %then609, label %ifend611 -then609: - store ptr @.str6366, ptr %t330 - br label %ifend611 -ifend611: - %t2864 = load ptr, ptr %t1 - %t2865 = call i32 @fn_str_eq(ptr %t2864, ptr @.str6367) - %t2866 = icmp ne i32 %t2865, 0 - br i1 %t2866, label %then612, label %ifend614 -then612: - store ptr @.str6368, ptr %t330 - br label %ifend614 -ifend614: - %t2867 = load ptr, ptr %t1 - %t2868 = call i32 @fn_str_eq(ptr %t2867, ptr @.str6369) - %t2869 = icmp ne i32 %t2868, 0 - br i1 %t2869, label %then615, label %ifend617 -then615: - store ptr @.str6370, ptr %t330 - br label %ifend617 -ifend617: - %t2870 = load ptr, ptr %t1 - %t2871 = call i32 @fn_str_eq(ptr %t2870, ptr @.str6371) - %t2872 = icmp ne i32 %t2871, 0 - br i1 %t2872, label %then618, label %ifend620 -then618: - store ptr @.str6372, ptr %t330 - br label %ifend620 -ifend620: - %t2873 = load ptr, ptr %t1 - %t2874 = call i32 @fn_str_eq(ptr %t2873, ptr @.str6373) - %t2875 = icmp ne i32 %t2874, 0 - br i1 %t2875, label %then621, label %ifend623 -then621: - store ptr @.str6374, ptr %t330 - br label %ifend623 -ifend623: - %t2876 = load ptr, ptr %t1 - %t2877 = call i32 @fn_str_eq(ptr %t2876, ptr @.str6375) - %t2878 = icmp ne i32 %t2877, 0 - br i1 %t2878, label %then624, label %ifend626 -then624: - store ptr @.str6376, ptr %t330 - br label %ifend626 -ifend626: + %t2854 = load ptr, ptr %t1 + %t2855 = call i32 @fn_str_eq(ptr %t2854, ptr @.str6643) + %t2856 = icmp ne i32 %t2855, 0 + br i1 %t2856, label %then566, label %ifend568 +then566: + store ptr @.str6644, ptr %t380 + br label %ifend568 +ifend568: + %t2857 = load ptr, ptr %t1 + %t2858 = call i32 @fn_str_eq(ptr %t2857, ptr @.str6645) + %t2859 = icmp ne i32 %t2858, 0 + br i1 %t2859, label %then569, label %ifend571 +then569: + store ptr @.str6646, ptr %t380 + %t2860 = load ptr, ptr %t387 + %t2861 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 1 + %t2862 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 2 + %t2863 = getelementptr inbounds %LSlice, ptr %t2860, i32 0, i32 0 + %t2864 = load i32, ptr %t2861 + %t2865 = load i32, ptr %t2862 + %t2866 = icmp sge i32 %t2864, %t2865 + br i1 %t2866, label %grow572, label %put573 +grow572: + %t2867 = mul i32 %t2865, 2 + %t2868 = icmp eq i32 %t2865, 0 + %t2869 = select i1 %t2868, i32 8, i32 %t2867 + %t2870 = getelementptr ptr, ptr null, i32 1 + %t2871 = ptrtoint ptr %t2870 to i64 + %t2872 = zext i32 %t2869 to i64 + %t2873 = mul i64 %t2872, %t2871 + %t2874 = load ptr, ptr %t2863 + %t2875 = call ptr @realloc(ptr %t2874, i64 %t2873) + store ptr %t2875, ptr %t2863 + store i32 %t2869, ptr %t2862 + br label %put573 +put573: + %t2876 = load ptr, ptr %t2863 + %t2877 = getelementptr inbounds ptr, ptr %t2876, i32 %t2864 + store ptr @.str6647, ptr %t2877 + %t2878 = add i32 %t2864, 1 + store i32 %t2878, ptr %t2861 + br label %ifend571 +ifend571: %t2879 = load ptr, ptr %t1 - %t2880 = call i32 @fn_str_eq(ptr %t2879, ptr @.str6377) + %t2880 = call i32 @fn_str_eq(ptr %t2879, ptr @.str6648) %t2881 = icmp ne i32 %t2880, 0 - br i1 %t2881, label %then627, label %ifend629 -then627: - store ptr @.str6378, ptr %t330 - br label %ifend629 -ifend629: - %t2882 = load ptr, ptr %t1 - %t2883 = call i32 @fn_str_eq(ptr %t2882, ptr @.str6379) - %t2884 = icmp ne i32 %t2883, 0 - br i1 %t2884, label %then630, label %ifend632 -then630: - store ptr @.str6380, ptr %t330 - br label %ifend632 -ifend632: - %t2885 = load ptr, ptr %t1 - %t2886 = call i32 @fn_str_eq(ptr %t2885, ptr @.str6381) - %t2887 = icmp ne i32 %t2886, 0 - br i1 %t2887, label %then633, label %ifend635 -then633: - store ptr @.str6382, ptr %t330 - %t2888 = load ptr, ptr %t337 - %t2889 = getelementptr inbounds %LSlice, ptr %t2888, i32 0, i32 1 - %t2890 = getelementptr inbounds %LSlice, ptr %t2888, i32 0, i32 2 - %t2891 = getelementptr inbounds %LSlice, ptr %t2888, i32 0, i32 0 - %t2892 = load i32, ptr %t2889 - %t2893 = load i32, ptr %t2890 - %t2894 = icmp sge i32 %t2892, %t2893 - br i1 %t2894, label %grow636, label %put637 -grow636: - %t2895 = mul i32 %t2893, 2 - %t2896 = icmp eq i32 %t2893, 0 - %t2897 = select i1 %t2896, i32 8, i32 %t2895 - %t2898 = getelementptr ptr, ptr null, i32 1 - %t2899 = ptrtoint ptr %t2898 to i64 - %t2900 = zext i32 %t2897 to i64 - %t2901 = mul i64 %t2900, %t2899 - %t2902 = load ptr, ptr %t2891 - %t2903 = call ptr @realloc(ptr %t2902, i64 %t2901) - store ptr %t2903, ptr %t2891 - store i32 %t2897, ptr %t2890 - br label %put637 -put637: - %t2904 = load ptr, ptr %t2891 - %t2905 = getelementptr inbounds ptr, ptr %t2904, i32 %t2892 - store ptr @.str6383, ptr %t2905 - %t2906 = add i32 %t2892, 1 - store i32 %t2906, ptr %t2889 - %t2907 = load ptr, ptr %t337 - %t2908 = getelementptr inbounds %LSlice, ptr %t2907, i32 0, i32 1 - %t2909 = getelementptr inbounds %LSlice, ptr %t2907, i32 0, i32 2 - %t2910 = getelementptr inbounds %LSlice, ptr %t2907, i32 0, i32 0 - %t2911 = load i32, ptr %t2908 - %t2912 = load i32, ptr %t2909 - %t2913 = icmp sge i32 %t2911, %t2912 - br i1 %t2913, label %grow638, label %put639 -grow638: - %t2914 = mul i32 %t2912, 2 - %t2915 = icmp eq i32 %t2912, 0 - %t2916 = select i1 %t2915, i32 8, i32 %t2914 - %t2917 = getelementptr ptr, ptr null, i32 1 - %t2918 = ptrtoint ptr %t2917 to i64 - %t2919 = zext i32 %t2916 to i64 - %t2920 = mul i64 %t2919, %t2918 - %t2921 = load ptr, ptr %t2910 - %t2922 = call ptr @realloc(ptr %t2921, i64 %t2920) - store ptr %t2922, ptr %t2910 - store i32 %t2916, ptr %t2909 - br label %put639 -put639: - %t2923 = load ptr, ptr %t2910 - %t2924 = getelementptr inbounds ptr, ptr %t2923, i32 %t2911 - store ptr @.str6384, ptr %t2924 - %t2925 = add i32 %t2911, 1 - store i32 %t2925, ptr %t2908 - br label %ifend635 -ifend635: - %t2926 = load ptr, ptr %t1 - %t2927 = call i32 @fn_str_eq(ptr %t2926, ptr @.str6385) - %t2928 = icmp ne i32 %t2927, 0 - br i1 %t2928, label %then640, label %ifend642 -then640: - store ptr @.str6386, ptr %t330 - %t2929 = load ptr, ptr %t337 - %t2930 = getelementptr inbounds %LSlice, ptr %t2929, i32 0, i32 1 - %t2931 = getelementptr inbounds %LSlice, ptr %t2929, i32 0, i32 2 - %t2932 = getelementptr inbounds %LSlice, ptr %t2929, i32 0, i32 0 - %t2933 = load i32, ptr %t2930 - %t2934 = load i32, ptr %t2931 - %t2935 = icmp sge i32 %t2933, %t2934 - br i1 %t2935, label %grow643, label %put644 -grow643: - %t2936 = mul i32 %t2934, 2 - %t2937 = icmp eq i32 %t2934, 0 - %t2938 = select i1 %t2937, i32 8, i32 %t2936 - %t2939 = getelementptr ptr, ptr null, i32 1 - %t2940 = ptrtoint ptr %t2939 to i64 - %t2941 = zext i32 %t2938 to i64 - %t2942 = mul i64 %t2941, %t2940 - %t2943 = load ptr, ptr %t2932 - %t2944 = call ptr @realloc(ptr %t2943, i64 %t2942) - store ptr %t2944, ptr %t2932 - store i32 %t2938, ptr %t2931 - br label %put644 -put644: - %t2945 = load ptr, ptr %t2932 - %t2946 = getelementptr inbounds ptr, ptr %t2945, i32 %t2933 - store ptr @.str6387, ptr %t2946 - %t2947 = add i32 %t2933, 1 - store i32 %t2947, ptr %t2930 - %t2948 = load ptr, ptr %t337 - %t2949 = getelementptr inbounds %LSlice, ptr %t2948, i32 0, i32 1 - %t2950 = getelementptr inbounds %LSlice, ptr %t2948, i32 0, i32 2 - %t2951 = getelementptr inbounds %LSlice, ptr %t2948, i32 0, i32 0 - %t2952 = load i32, ptr %t2949 - %t2953 = load i32, ptr %t2950 - %t2954 = icmp sge i32 %t2952, %t2953 - br i1 %t2954, label %grow645, label %put646 -grow645: - %t2955 = mul i32 %t2953, 2 - %t2956 = icmp eq i32 %t2953, 0 - %t2957 = select i1 %t2956, i32 8, i32 %t2955 - %t2958 = getelementptr ptr, ptr null, i32 1 - %t2959 = ptrtoint ptr %t2958 to i64 - %t2960 = zext i32 %t2957 to i64 - %t2961 = mul i64 %t2960, %t2959 - %t2962 = load ptr, ptr %t2951 - %t2963 = call ptr @realloc(ptr %t2962, i64 %t2961) - store ptr %t2963, ptr %t2951 - store i32 %t2957, ptr %t2950 - br label %put646 -put646: - %t2964 = load ptr, ptr %t2951 - %t2965 = getelementptr inbounds ptr, ptr %t2964, i32 %t2952 - store ptr @.str6388, ptr %t2965 - %t2966 = add i32 %t2952, 1 - store i32 %t2966, ptr %t2949 - br label %ifend642 -ifend642: - %t2967 = load ptr, ptr %t1 - %t2968 = call i32 @fn_str_eq(ptr %t2967, ptr @.str6389) - %t2969 = icmp ne i32 %t2968, 0 - br i1 %t2969, label %then647, label %ifend649 -then647: - store ptr @.str6390, ptr %t330 - %t2970 = load ptr, ptr %t337 + br i1 %t2881, label %then574, label %ifend576 +then574: + store ptr @.str6649, ptr %t380 + %t2882 = load ptr, ptr %t387 + %t2883 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 1 + %t2884 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 2 + %t2885 = getelementptr inbounds %LSlice, ptr %t2882, i32 0, i32 0 + %t2886 = load i32, ptr %t2883 + %t2887 = load i32, ptr %t2884 + %t2888 = icmp sge i32 %t2886, %t2887 + br i1 %t2888, label %grow577, label %put578 +grow577: + %t2889 = mul i32 %t2887, 2 + %t2890 = icmp eq i32 %t2887, 0 + %t2891 = select i1 %t2890, i32 8, i32 %t2889 + %t2892 = getelementptr ptr, ptr null, i32 1 + %t2893 = ptrtoint ptr %t2892 to i64 + %t2894 = zext i32 %t2891 to i64 + %t2895 = mul i64 %t2894, %t2893 + %t2896 = load ptr, ptr %t2885 + %t2897 = call ptr @realloc(ptr %t2896, i64 %t2895) + store ptr %t2897, ptr %t2885 + store i32 %t2891, ptr %t2884 + br label %put578 +put578: + %t2898 = load ptr, ptr %t2885 + %t2899 = getelementptr inbounds ptr, ptr %t2898, i32 %t2886 + store ptr @.str6650, ptr %t2899 + %t2900 = add i32 %t2886, 1 + store i32 %t2900, ptr %t2883 + br label %ifend576 +ifend576: + %t2901 = load ptr, ptr %t1 + %t2902 = call i32 @fn_str_eq(ptr %t2901, ptr @.str6651) + %t2903 = icmp ne i32 %t2902, 0 + br i1 %t2903, label %then579, label %ifend581 +then579: + store ptr @.str6652, ptr %t380 + %t2904 = load ptr, ptr %t387 + %t2905 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 1 + %t2906 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 2 + %t2907 = getelementptr inbounds %LSlice, ptr %t2904, i32 0, i32 0 + %t2908 = load i32, ptr %t2905 + %t2909 = load i32, ptr %t2906 + %t2910 = icmp sge i32 %t2908, %t2909 + br i1 %t2910, label %grow582, label %put583 +grow582: + %t2911 = mul i32 %t2909, 2 + %t2912 = icmp eq i32 %t2909, 0 + %t2913 = select i1 %t2912, i32 8, i32 %t2911 + %t2914 = getelementptr ptr, ptr null, i32 1 + %t2915 = ptrtoint ptr %t2914 to i64 + %t2916 = zext i32 %t2913 to i64 + %t2917 = mul i64 %t2916, %t2915 + %t2918 = load ptr, ptr %t2907 + %t2919 = call ptr @realloc(ptr %t2918, i64 %t2917) + store ptr %t2919, ptr %t2907 + store i32 %t2913, ptr %t2906 + br label %put583 +put583: + %t2920 = load ptr, ptr %t2907 + %t2921 = getelementptr inbounds ptr, ptr %t2920, i32 %t2908 + store ptr @.str6653, ptr %t2921 + %t2922 = add i32 %t2908, 1 + store i32 %t2922, ptr %t2905 + %t2923 = load ptr, ptr %t387 + %t2924 = getelementptr inbounds %LSlice, ptr %t2923, i32 0, i32 1 + %t2925 = getelementptr inbounds %LSlice, ptr %t2923, i32 0, i32 2 + %t2926 = getelementptr inbounds %LSlice, ptr %t2923, i32 0, i32 0 + %t2927 = load i32, ptr %t2924 + %t2928 = load i32, ptr %t2925 + %t2929 = icmp sge i32 %t2927, %t2928 + br i1 %t2929, label %grow584, label %put585 +grow584: + %t2930 = mul i32 %t2928, 2 + %t2931 = icmp eq i32 %t2928, 0 + %t2932 = select i1 %t2931, i32 8, i32 %t2930 + %t2933 = getelementptr ptr, ptr null, i32 1 + %t2934 = ptrtoint ptr %t2933 to i64 + %t2935 = zext i32 %t2932 to i64 + %t2936 = mul i64 %t2935, %t2934 + %t2937 = load ptr, ptr %t2926 + %t2938 = call ptr @realloc(ptr %t2937, i64 %t2936) + store ptr %t2938, ptr %t2926 + store i32 %t2932, ptr %t2925 + br label %put585 +put585: + %t2939 = load ptr, ptr %t2926 + %t2940 = getelementptr inbounds ptr, ptr %t2939, i32 %t2927 + store ptr @.str6654, ptr %t2940 + %t2941 = add i32 %t2927, 1 + store i32 %t2941, ptr %t2924 + br label %ifend581 +ifend581: + %t2942 = load ptr, ptr %t1 + %t2943 = call i32 @fn_str_eq(ptr %t2942, ptr @.str6655) + %t2944 = icmp ne i32 %t2943, 0 + br i1 %t2944, label %then586, label %ifend588 +then586: + store ptr @.str6656, ptr %t380 + br label %ifend588 +ifend588: + br label %ifend557 +ifend557: + %t2945 = load ptr, ptr %t0 + %t2946 = call i32 @fn_str_eq(ptr %t2945, ptr @.str6657) + %t2947 = icmp ne i32 %t2946, 0 + br i1 %t2947, label %then589, label %ifend591 +then589: + %t2948 = load ptr, ptr %t1 + %t2949 = call i32 @fn_str_eq(ptr %t2948, ptr @.str6658) + %t2950 = icmp ne i32 %t2949, 0 + br i1 %t2950, label %then592, label %ifend594 +then592: + store ptr @.str6659, ptr %t380 + %t2951 = load ptr, ptr %t387 + %t2952 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 1 + %t2953 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 2 + %t2954 = getelementptr inbounds %LSlice, ptr %t2951, i32 0, i32 0 + %t2955 = load i32, ptr %t2952 + %t2956 = load i32, ptr %t2953 + %t2957 = icmp sge i32 %t2955, %t2956 + br i1 %t2957, label %grow595, label %put596 +grow595: + %t2958 = mul i32 %t2956, 2 + %t2959 = icmp eq i32 %t2956, 0 + %t2960 = select i1 %t2959, i32 8, i32 %t2958 + %t2961 = getelementptr ptr, ptr null, i32 1 + %t2962 = ptrtoint ptr %t2961 to i64 + %t2963 = zext i32 %t2960 to i64 + %t2964 = mul i64 %t2963, %t2962 + %t2965 = load ptr, ptr %t2954 + %t2966 = call ptr @realloc(ptr %t2965, i64 %t2964) + store ptr %t2966, ptr %t2954 + store i32 %t2960, ptr %t2953 + br label %put596 +put596: + %t2967 = load ptr, ptr %t2954 + %t2968 = getelementptr inbounds ptr, ptr %t2967, i32 %t2955 + store ptr @.str6660, ptr %t2968 + %t2969 = add i32 %t2955, 1 + store i32 %t2969, ptr %t2952 + %t2970 = load ptr, ptr %t387 %t2971 = getelementptr inbounds %LSlice, ptr %t2970, i32 0, i32 1 %t2972 = getelementptr inbounds %LSlice, ptr %t2970, i32 0, i32 2 %t2973 = getelementptr inbounds %LSlice, ptr %t2970, i32 0, i32 0 %t2974 = load i32, ptr %t2971 %t2975 = load i32, ptr %t2972 %t2976 = icmp sge i32 %t2974, %t2975 - br i1 %t2976, label %grow650, label %put651 -grow650: + br i1 %t2976, label %grow597, label %put598 +grow597: %t2977 = mul i32 %t2975, 2 %t2978 = icmp eq i32 %t2975, 0 %t2979 = select i1 %t2978, i32 8, i32 %t2977 @@ -60986,30 +67400,30 @@ grow650: %t2985 = call ptr @realloc(ptr %t2984, i64 %t2983) store ptr %t2985, ptr %t2973 store i32 %t2979, ptr %t2972 - br label %put651 -put651: + br label %put598 +put598: %t2986 = load ptr, ptr %t2973 %t2987 = getelementptr inbounds ptr, ptr %t2986, i32 %t2974 - store ptr @.str6391, ptr %t2987 + store ptr @.str6661, ptr %t2987 %t2988 = add i32 %t2974, 1 store i32 %t2988, ptr %t2971 - br label %ifend649 -ifend649: + br label %ifend594 +ifend594: %t2989 = load ptr, ptr %t1 - %t2990 = call i32 @fn_str_eq(ptr %t2989, ptr @.str6392) + %t2990 = call i32 @fn_str_eq(ptr %t2989, ptr @.str6662) %t2991 = icmp ne i32 %t2990, 0 - br i1 %t2991, label %then652, label %ifend654 -then652: - store ptr @.str6393, ptr %t330 - %t2992 = load ptr, ptr %t337 + br i1 %t2991, label %then599, label %ifend601 +then599: + store ptr @.str6663, ptr %t380 + %t2992 = load ptr, ptr %t387 %t2993 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 1 %t2994 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 2 %t2995 = getelementptr inbounds %LSlice, ptr %t2992, i32 0, i32 0 %t2996 = load i32, ptr %t2993 %t2997 = load i32, ptr %t2994 %t2998 = icmp sge i32 %t2996, %t2997 - br i1 %t2998, label %grow655, label %put656 -grow655: + br i1 %t2998, label %grow602, label %put603 +grow602: %t2999 = mul i32 %t2997, 2 %t3000 = icmp eq i32 %t2997, 0 %t3001 = select i1 %t3000, i32 8, i32 %t2999 @@ -61021,1027 +67435,995 @@ grow655: %t3007 = call ptr @realloc(ptr %t3006, i64 %t3005) store ptr %t3007, ptr %t2995 store i32 %t3001, ptr %t2994 - br label %put656 -put656: + br label %put603 +put603: %t3008 = load ptr, ptr %t2995 %t3009 = getelementptr inbounds ptr, ptr %t3008, i32 %t2996 - store ptr @.str6394, ptr %t3009 + store ptr @.str6664, ptr %t3009 %t3010 = add i32 %t2996, 1 store i32 %t3010, ptr %t2993 - br label %ifend654 -ifend654: - %t3011 = load ptr, ptr %t1 - %t3012 = call i32 @fn_str_eq(ptr %t3011, ptr @.str6395) - %t3013 = icmp ne i32 %t3012, 0 - br i1 %t3013, label %then657, label %ifend659 -then657: - store ptr @.str6396, ptr %t330 - %t3014 = load ptr, ptr %t337 - %t3015 = getelementptr inbounds %LSlice, ptr %t3014, i32 0, i32 1 - %t3016 = getelementptr inbounds %LSlice, ptr %t3014, i32 0, i32 2 - %t3017 = getelementptr inbounds %LSlice, ptr %t3014, i32 0, i32 0 - %t3018 = load i32, ptr %t3015 - %t3019 = load i32, ptr %t3016 - %t3020 = icmp sge i32 %t3018, %t3019 - br i1 %t3020, label %grow660, label %put661 -grow660: - %t3021 = mul i32 %t3019, 2 - %t3022 = icmp eq i32 %t3019, 0 - %t3023 = select i1 %t3022, i32 8, i32 %t3021 - %t3024 = getelementptr ptr, ptr null, i32 1 - %t3025 = ptrtoint ptr %t3024 to i64 - %t3026 = zext i32 %t3023 to i64 - %t3027 = mul i64 %t3026, %t3025 - %t3028 = load ptr, ptr %t3017 - %t3029 = call ptr @realloc(ptr %t3028, i64 %t3027) - store ptr %t3029, ptr %t3017 - store i32 %t3023, ptr %t3016 - br label %put661 -put661: - %t3030 = load ptr, ptr %t3017 - %t3031 = getelementptr inbounds ptr, ptr %t3030, i32 %t3018 - store ptr @.str6397, ptr %t3031 - %t3032 = add i32 %t3018, 1 - store i32 %t3032, ptr %t3015 - br label %ifend659 -ifend659: - %t3033 = load ptr, ptr %t1 - %t3034 = call i32 @fn_str_eq(ptr %t3033, ptr @.str6398) - %t3035 = icmp ne i32 %t3034, 0 - br i1 %t3035, label %then662, label %ifend664 -then662: - store ptr @.str6399, ptr %t330 - %t3036 = load ptr, ptr %t337 - %t3037 = getelementptr inbounds %LSlice, ptr %t3036, i32 0, i32 1 - %t3038 = getelementptr inbounds %LSlice, ptr %t3036, i32 0, i32 2 - %t3039 = getelementptr inbounds %LSlice, ptr %t3036, i32 0, i32 0 - %t3040 = load i32, ptr %t3037 - %t3041 = load i32, ptr %t3038 - %t3042 = icmp sge i32 %t3040, %t3041 - br i1 %t3042, label %grow665, label %put666 -grow665: - %t3043 = mul i32 %t3041, 2 - %t3044 = icmp eq i32 %t3041, 0 - %t3045 = select i1 %t3044, i32 8, i32 %t3043 - %t3046 = getelementptr ptr, ptr null, i32 1 - %t3047 = ptrtoint ptr %t3046 to i64 - %t3048 = zext i32 %t3045 to i64 - %t3049 = mul i64 %t3048, %t3047 - %t3050 = load ptr, ptr %t3039 - %t3051 = call ptr @realloc(ptr %t3050, i64 %t3049) - store ptr %t3051, ptr %t3039 - store i32 %t3045, ptr %t3038 - br label %put666 -put666: - %t3052 = load ptr, ptr %t3039 - %t3053 = getelementptr inbounds ptr, ptr %t3052, i32 %t3040 - store ptr @.str6400, ptr %t3053 - %t3054 = add i32 %t3040, 1 - store i32 %t3054, ptr %t3037 - br label %ifend664 -ifend664: - %t3055 = load ptr, ptr %t1 - %t3056 = call i32 @fn_str_eq(ptr %t3055, ptr @.str6401) - %t3057 = icmp ne i32 %t3056, 0 - br i1 %t3057, label %then667, label %ifend669 + %t3011 = load ptr, ptr %t387 + %t3012 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 1 + %t3013 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 2 + %t3014 = getelementptr inbounds %LSlice, ptr %t3011, i32 0, i32 0 + %t3015 = load i32, ptr %t3012 + %t3016 = load i32, ptr %t3013 + %t3017 = icmp sge i32 %t3015, %t3016 + br i1 %t3017, label %grow604, label %put605 +grow604: + %t3018 = mul i32 %t3016, 2 + %t3019 = icmp eq i32 %t3016, 0 + %t3020 = select i1 %t3019, i32 8, i32 %t3018 + %t3021 = getelementptr ptr, ptr null, i32 1 + %t3022 = ptrtoint ptr %t3021 to i64 + %t3023 = zext i32 %t3020 to i64 + %t3024 = mul i64 %t3023, %t3022 + %t3025 = load ptr, ptr %t3014 + %t3026 = call ptr @realloc(ptr %t3025, i64 %t3024) + store ptr %t3026, ptr %t3014 + store i32 %t3020, ptr %t3013 + br label %put605 +put605: + %t3027 = load ptr, ptr %t3014 + %t3028 = getelementptr inbounds ptr, ptr %t3027, i32 %t3015 + store ptr @.str6665, ptr %t3028 + %t3029 = add i32 %t3015, 1 + store i32 %t3029, ptr %t3012 + %t3030 = load ptr, ptr %t387 + %t3031 = getelementptr inbounds %LSlice, ptr %t3030, i32 0, i32 1 + %t3032 = getelementptr inbounds %LSlice, ptr %t3030, i32 0, i32 2 + %t3033 = getelementptr inbounds %LSlice, ptr %t3030, i32 0, i32 0 + %t3034 = load i32, ptr %t3031 + %t3035 = load i32, ptr %t3032 + %t3036 = icmp sge i32 %t3034, %t3035 + br i1 %t3036, label %grow606, label %put607 +grow606: + %t3037 = mul i32 %t3035, 2 + %t3038 = icmp eq i32 %t3035, 0 + %t3039 = select i1 %t3038, i32 8, i32 %t3037 + %t3040 = getelementptr ptr, ptr null, i32 1 + %t3041 = ptrtoint ptr %t3040 to i64 + %t3042 = zext i32 %t3039 to i64 + %t3043 = mul i64 %t3042, %t3041 + %t3044 = load ptr, ptr %t3033 + %t3045 = call ptr @realloc(ptr %t3044, i64 %t3043) + store ptr %t3045, ptr %t3033 + store i32 %t3039, ptr %t3032 + br label %put607 +put607: + %t3046 = load ptr, ptr %t3033 + %t3047 = getelementptr inbounds ptr, ptr %t3046, i32 %t3034 + store ptr @.str6666, ptr %t3047 + %t3048 = add i32 %t3034, 1 + store i32 %t3048, ptr %t3031 + br label %ifend601 +ifend601: + %t3049 = load ptr, ptr %t1 + %t3050 = call i32 @fn_str_eq(ptr %t3049, ptr @.str6667) + %t3051 = icmp ne i32 %t3050, 0 + br i1 %t3051, label %then608, label %ifend610 +then608: + store ptr @.str6668, ptr %t380 + %t3052 = load ptr, ptr %t387 + %t3053 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 1 + %t3054 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 2 + %t3055 = getelementptr inbounds %LSlice, ptr %t3052, i32 0, i32 0 + %t3056 = load i32, ptr %t3053 + %t3057 = load i32, ptr %t3054 + %t3058 = icmp sge i32 %t3056, %t3057 + br i1 %t3058, label %grow611, label %put612 +grow611: + %t3059 = mul i32 %t3057, 2 + %t3060 = icmp eq i32 %t3057, 0 + %t3061 = select i1 %t3060, i32 8, i32 %t3059 + %t3062 = getelementptr ptr, ptr null, i32 1 + %t3063 = ptrtoint ptr %t3062 to i64 + %t3064 = zext i32 %t3061 to i64 + %t3065 = mul i64 %t3064, %t3063 + %t3066 = load ptr, ptr %t3055 + %t3067 = call ptr @realloc(ptr %t3066, i64 %t3065) + store ptr %t3067, ptr %t3055 + store i32 %t3061, ptr %t3054 + br label %put612 +put612: + %t3068 = load ptr, ptr %t3055 + %t3069 = getelementptr inbounds ptr, ptr %t3068, i32 %t3056 + store ptr @.str6669, ptr %t3069 + %t3070 = add i32 %t3056, 1 + store i32 %t3070, ptr %t3053 + %t3071 = load ptr, ptr %t387 + %t3072 = getelementptr inbounds %LSlice, ptr %t3071, i32 0, i32 1 + %t3073 = getelementptr inbounds %LSlice, ptr %t3071, i32 0, i32 2 + %t3074 = getelementptr inbounds %LSlice, ptr %t3071, i32 0, i32 0 + %t3075 = load i32, ptr %t3072 + %t3076 = load i32, ptr %t3073 + %t3077 = icmp sge i32 %t3075, %t3076 + br i1 %t3077, label %grow613, label %put614 +grow613: + %t3078 = mul i32 %t3076, 2 + %t3079 = icmp eq i32 %t3076, 0 + %t3080 = select i1 %t3079, i32 8, i32 %t3078 + %t3081 = getelementptr ptr, ptr null, i32 1 + %t3082 = ptrtoint ptr %t3081 to i64 + %t3083 = zext i32 %t3080 to i64 + %t3084 = mul i64 %t3083, %t3082 + %t3085 = load ptr, ptr %t3074 + %t3086 = call ptr @realloc(ptr %t3085, i64 %t3084) + store ptr %t3086, ptr %t3074 + store i32 %t3080, ptr %t3073 + br label %put614 +put614: + %t3087 = load ptr, ptr %t3074 + %t3088 = getelementptr inbounds ptr, ptr %t3087, i32 %t3075 + store ptr @.str6670, ptr %t3088 + %t3089 = add i32 %t3075, 1 + store i32 %t3089, ptr %t3072 + %t3090 = load ptr, ptr %t387 + %t3091 = getelementptr inbounds %LSlice, ptr %t3090, i32 0, i32 1 + %t3092 = getelementptr inbounds %LSlice, ptr %t3090, i32 0, i32 2 + %t3093 = getelementptr inbounds %LSlice, ptr %t3090, i32 0, i32 0 + %t3094 = load i32, ptr %t3091 + %t3095 = load i32, ptr %t3092 + %t3096 = icmp sge i32 %t3094, %t3095 + br i1 %t3096, label %grow615, label %put616 +grow615: + %t3097 = mul i32 %t3095, 2 + %t3098 = icmp eq i32 %t3095, 0 + %t3099 = select i1 %t3098, i32 8, i32 %t3097 + %t3100 = getelementptr ptr, ptr null, i32 1 + %t3101 = ptrtoint ptr %t3100 to i64 + %t3102 = zext i32 %t3099 to i64 + %t3103 = mul i64 %t3102, %t3101 + %t3104 = load ptr, ptr %t3093 + %t3105 = call ptr @realloc(ptr %t3104, i64 %t3103) + store ptr %t3105, ptr %t3093 + store i32 %t3099, ptr %t3092 + br label %put616 +put616: + %t3106 = load ptr, ptr %t3093 + %t3107 = getelementptr inbounds ptr, ptr %t3106, i32 %t3094 + store ptr @.str6671, ptr %t3107 + %t3108 = add i32 %t3094, 1 + store i32 %t3108, ptr %t3091 + br label %ifend610 +ifend610: + %t3109 = load ptr, ptr %t1 + %t3110 = call i32 @fn_str_eq(ptr %t3109, ptr @.str6672) + %t3111 = icmp ne i32 %t3110, 0 + br i1 %t3111, label %then617, label %ifend619 +then617: + store ptr @.str6673, ptr %t380 + %t3112 = load ptr, ptr %t387 + %t3113 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 1 + %t3114 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 2 + %t3115 = getelementptr inbounds %LSlice, ptr %t3112, i32 0, i32 0 + %t3116 = load i32, ptr %t3113 + %t3117 = load i32, ptr %t3114 + %t3118 = icmp sge i32 %t3116, %t3117 + br i1 %t3118, label %grow620, label %put621 +grow620: + %t3119 = mul i32 %t3117, 2 + %t3120 = icmp eq i32 %t3117, 0 + %t3121 = select i1 %t3120, i32 8, i32 %t3119 + %t3122 = getelementptr ptr, ptr null, i32 1 + %t3123 = ptrtoint ptr %t3122 to i64 + %t3124 = zext i32 %t3121 to i64 + %t3125 = mul i64 %t3124, %t3123 + %t3126 = load ptr, ptr %t3115 + %t3127 = call ptr @realloc(ptr %t3126, i64 %t3125) + store ptr %t3127, ptr %t3115 + store i32 %t3121, ptr %t3114 + br label %put621 +put621: + %t3128 = load ptr, ptr %t3115 + %t3129 = getelementptr inbounds ptr, ptr %t3128, i32 %t3116 + store ptr @.str6674, ptr %t3129 + %t3130 = add i32 %t3116, 1 + store i32 %t3130, ptr %t3113 + %t3131 = load ptr, ptr %t387 + %t3132 = getelementptr inbounds %LSlice, ptr %t3131, i32 0, i32 1 + %t3133 = getelementptr inbounds %LSlice, ptr %t3131, i32 0, i32 2 + %t3134 = getelementptr inbounds %LSlice, ptr %t3131, i32 0, i32 0 + %t3135 = load i32, ptr %t3132 + %t3136 = load i32, ptr %t3133 + %t3137 = icmp sge i32 %t3135, %t3136 + br i1 %t3137, label %grow622, label %put623 +grow622: + %t3138 = mul i32 %t3136, 2 + %t3139 = icmp eq i32 %t3136, 0 + %t3140 = select i1 %t3139, i32 8, i32 %t3138 + %t3141 = getelementptr ptr, ptr null, i32 1 + %t3142 = ptrtoint ptr %t3141 to i64 + %t3143 = zext i32 %t3140 to i64 + %t3144 = mul i64 %t3143, %t3142 + %t3145 = load ptr, ptr %t3134 + %t3146 = call ptr @realloc(ptr %t3145, i64 %t3144) + store ptr %t3146, ptr %t3134 + store i32 %t3140, ptr %t3133 + br label %put623 +put623: + %t3147 = load ptr, ptr %t3134 + %t3148 = getelementptr inbounds ptr, ptr %t3147, i32 %t3135 + store ptr @.str6675, ptr %t3148 + %t3149 = add i32 %t3135, 1 + store i32 %t3149, ptr %t3132 + %t3150 = load ptr, ptr %t387 + %t3151 = getelementptr inbounds %LSlice, ptr %t3150, i32 0, i32 1 + %t3152 = getelementptr inbounds %LSlice, ptr %t3150, i32 0, i32 2 + %t3153 = getelementptr inbounds %LSlice, ptr %t3150, i32 0, i32 0 + %t3154 = load i32, ptr %t3151 + %t3155 = load i32, ptr %t3152 + %t3156 = icmp sge i32 %t3154, %t3155 + br i1 %t3156, label %grow624, label %put625 +grow624: + %t3157 = mul i32 %t3155, 2 + %t3158 = icmp eq i32 %t3155, 0 + %t3159 = select i1 %t3158, i32 8, i32 %t3157 + %t3160 = getelementptr ptr, ptr null, i32 1 + %t3161 = ptrtoint ptr %t3160 to i64 + %t3162 = zext i32 %t3159 to i64 + %t3163 = mul i64 %t3162, %t3161 + %t3164 = load ptr, ptr %t3153 + %t3165 = call ptr @realloc(ptr %t3164, i64 %t3163) + store ptr %t3165, ptr %t3153 + store i32 %t3159, ptr %t3152 + br label %put625 +put625: + %t3166 = load ptr, ptr %t3153 + %t3167 = getelementptr inbounds ptr, ptr %t3166, i32 %t3154 + store ptr @.str6676, ptr %t3167 + %t3168 = add i32 %t3154, 1 + store i32 %t3168, ptr %t3151 + br label %ifend619 +ifend619: + %t3169 = load ptr, ptr %t1 + %t3170 = call i32 @fn_str_eq(ptr %t3169, ptr @.str6677) + %t3171 = icmp ne i32 %t3170, 0 + br i1 %t3171, label %then626, label %ifend628 +then626: + store ptr @.str6678, ptr %t380 + %t3172 = load ptr, ptr %t387 + %t3173 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 1 + %t3174 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 2 + %t3175 = getelementptr inbounds %LSlice, ptr %t3172, i32 0, i32 0 + %t3176 = load i32, ptr %t3173 + %t3177 = load i32, ptr %t3174 + %t3178 = icmp sge i32 %t3176, %t3177 + br i1 %t3178, label %grow629, label %put630 +grow629: + %t3179 = mul i32 %t3177, 2 + %t3180 = icmp eq i32 %t3177, 0 + %t3181 = select i1 %t3180, i32 8, i32 %t3179 + %t3182 = getelementptr ptr, ptr null, i32 1 + %t3183 = ptrtoint ptr %t3182 to i64 + %t3184 = zext i32 %t3181 to i64 + %t3185 = mul i64 %t3184, %t3183 + %t3186 = load ptr, ptr %t3175 + %t3187 = call ptr @realloc(ptr %t3186, i64 %t3185) + store ptr %t3187, ptr %t3175 + store i32 %t3181, ptr %t3174 + br label %put630 +put630: + %t3188 = load ptr, ptr %t3175 + %t3189 = getelementptr inbounds ptr, ptr %t3188, i32 %t3176 + store ptr @.str6679, ptr %t3189 + %t3190 = add i32 %t3176, 1 + store i32 %t3190, ptr %t3173 + br label %ifend628 +ifend628: + %t3191 = load ptr, ptr %t1 + %t3192 = call i32 @fn_str_eq(ptr %t3191, ptr @.str6680) + %t3193 = icmp ne i32 %t3192, 0 + br i1 %t3193, label %then631, label %ifend633 +then631: + store ptr @.str6681, ptr %t380 + %t3194 = load ptr, ptr %t387 + %t3195 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 1 + %t3196 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 2 + %t3197 = getelementptr inbounds %LSlice, ptr %t3194, i32 0, i32 0 + %t3198 = load i32, ptr %t3195 + %t3199 = load i32, ptr %t3196 + %t3200 = icmp sge i32 %t3198, %t3199 + br i1 %t3200, label %grow634, label %put635 +grow634: + %t3201 = mul i32 %t3199, 2 + %t3202 = icmp eq i32 %t3199, 0 + %t3203 = select i1 %t3202, i32 8, i32 %t3201 + %t3204 = getelementptr ptr, ptr null, i32 1 + %t3205 = ptrtoint ptr %t3204 to i64 + %t3206 = zext i32 %t3203 to i64 + %t3207 = mul i64 %t3206, %t3205 + %t3208 = load ptr, ptr %t3197 + %t3209 = call ptr @realloc(ptr %t3208, i64 %t3207) + store ptr %t3209, ptr %t3197 + store i32 %t3203, ptr %t3196 + br label %put635 +put635: + %t3210 = load ptr, ptr %t3197 + %t3211 = getelementptr inbounds ptr, ptr %t3210, i32 %t3198 + store ptr @.str6682, ptr %t3211 + %t3212 = add i32 %t3198, 1 + store i32 %t3212, ptr %t3195 + br label %ifend633 +ifend633: + br label %ifend591 +ifend591: + %t3213 = load ptr, ptr %t0 + %t3214 = call i32 @fn_str_eq(ptr %t3213, ptr @.str6683) + %t3215 = icmp ne i32 %t3214, 0 + br i1 %t3215, label %then636, label %ifend638 +then636: + %t3216 = load ptr, ptr %t1 + %t3217 = call i32 @fn_str_eq(ptr %t3216, ptr @.str6684) + %t3218 = icmp ne i32 %t3217, 0 + br i1 %t3218, label %then639, label %ifend641 +then639: + store ptr @.str6685, ptr %t380 + %t3219 = load ptr, ptr %t387 + %t3220 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 1 + %t3221 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 2 + %t3222 = getelementptr inbounds %LSlice, ptr %t3219, i32 0, i32 0 + %t3223 = load i32, ptr %t3220 + %t3224 = load i32, ptr %t3221 + %t3225 = icmp sge i32 %t3223, %t3224 + br i1 %t3225, label %grow642, label %put643 +grow642: + %t3226 = mul i32 %t3224, 2 + %t3227 = icmp eq i32 %t3224, 0 + %t3228 = select i1 %t3227, i32 8, i32 %t3226 + %t3229 = getelementptr ptr, ptr null, i32 1 + %t3230 = ptrtoint ptr %t3229 to i64 + %t3231 = zext i32 %t3228 to i64 + %t3232 = mul i64 %t3231, %t3230 + %t3233 = load ptr, ptr %t3222 + %t3234 = call ptr @realloc(ptr %t3233, i64 %t3232) + store ptr %t3234, ptr %t3222 + store i32 %t3228, ptr %t3221 + br label %put643 +put643: + %t3235 = load ptr, ptr %t3222 + %t3236 = getelementptr inbounds ptr, ptr %t3235, i32 %t3223 + store ptr @.str6686, ptr %t3236 + %t3237 = add i32 %t3223, 1 + store i32 %t3237, ptr %t3220 + %t3238 = load ptr, ptr %t387 + %t3239 = getelementptr inbounds %LSlice, ptr %t3238, i32 0, i32 1 + %t3240 = getelementptr inbounds %LSlice, ptr %t3238, i32 0, i32 2 + %t3241 = getelementptr inbounds %LSlice, ptr %t3238, i32 0, i32 0 + %t3242 = load i32, ptr %t3239 + %t3243 = load i32, ptr %t3240 + %t3244 = icmp sge i32 %t3242, %t3243 + br i1 %t3244, label %grow644, label %put645 +grow644: + %t3245 = mul i32 %t3243, 2 + %t3246 = icmp eq i32 %t3243, 0 + %t3247 = select i1 %t3246, i32 8, i32 %t3245 + %t3248 = getelementptr ptr, ptr null, i32 1 + %t3249 = ptrtoint ptr %t3248 to i64 + %t3250 = zext i32 %t3247 to i64 + %t3251 = mul i64 %t3250, %t3249 + %t3252 = load ptr, ptr %t3241 + %t3253 = call ptr @realloc(ptr %t3252, i64 %t3251) + store ptr %t3253, ptr %t3241 + store i32 %t3247, ptr %t3240 + br label %put645 +put645: + %t3254 = load ptr, ptr %t3241 + %t3255 = getelementptr inbounds ptr, ptr %t3254, i32 %t3242 + store ptr @.str6687, ptr %t3255 + %t3256 = add i32 %t3242, 1 + store i32 %t3256, ptr %t3239 + %t3257 = load ptr, ptr %t387 + %t3258 = getelementptr inbounds %LSlice, ptr %t3257, i32 0, i32 1 + %t3259 = getelementptr inbounds %LSlice, ptr %t3257, i32 0, i32 2 + %t3260 = getelementptr inbounds %LSlice, ptr %t3257, i32 0, i32 0 + %t3261 = load i32, ptr %t3258 + %t3262 = load i32, ptr %t3259 + %t3263 = icmp sge i32 %t3261, %t3262 + br i1 %t3263, label %grow646, label %put647 +grow646: + %t3264 = mul i32 %t3262, 2 + %t3265 = icmp eq i32 %t3262, 0 + %t3266 = select i1 %t3265, i32 8, i32 %t3264 + %t3267 = getelementptr ptr, ptr null, i32 1 + %t3268 = ptrtoint ptr %t3267 to i64 + %t3269 = zext i32 %t3266 to i64 + %t3270 = mul i64 %t3269, %t3268 + %t3271 = load ptr, ptr %t3260 + %t3272 = call ptr @realloc(ptr %t3271, i64 %t3270) + store ptr %t3272, ptr %t3260 + store i32 %t3266, ptr %t3259 + br label %put647 +put647: + %t3273 = load ptr, ptr %t3260 + %t3274 = getelementptr inbounds ptr, ptr %t3273, i32 %t3261 + store ptr @.str6688, ptr %t3274 + %t3275 = add i32 %t3261, 1 + store i32 %t3275, ptr %t3258 + %t3276 = load ptr, ptr %t387 + %t3277 = getelementptr inbounds %LSlice, ptr %t3276, i32 0, i32 1 + %t3278 = getelementptr inbounds %LSlice, ptr %t3276, i32 0, i32 2 + %t3279 = getelementptr inbounds %LSlice, ptr %t3276, i32 0, i32 0 + %t3280 = load i32, ptr %t3277 + %t3281 = load i32, ptr %t3278 + %t3282 = icmp sge i32 %t3280, %t3281 + br i1 %t3282, label %grow648, label %put649 +grow648: + %t3283 = mul i32 %t3281, 2 + %t3284 = icmp eq i32 %t3281, 0 + %t3285 = select i1 %t3284, i32 8, i32 %t3283 + %t3286 = getelementptr ptr, ptr null, i32 1 + %t3287 = ptrtoint ptr %t3286 to i64 + %t3288 = zext i32 %t3285 to i64 + %t3289 = mul i64 %t3288, %t3287 + %t3290 = load ptr, ptr %t3279 + %t3291 = call ptr @realloc(ptr %t3290, i64 %t3289) + store ptr %t3291, ptr %t3279 + store i32 %t3285, ptr %t3278 + br label %put649 +put649: + %t3292 = load ptr, ptr %t3279 + %t3293 = getelementptr inbounds ptr, ptr %t3292, i32 %t3280 + store ptr @.str6689, ptr %t3293 + %t3294 = add i32 %t3280, 1 + store i32 %t3294, ptr %t3277 + br label %ifend641 +ifend641: + %t3295 = load ptr, ptr %t1 + %t3296 = call i32 @fn_str_eq(ptr %t3295, ptr @.str6690) + %t3297 = icmp ne i32 %t3296, 0 + br i1 %t3297, label %then650, label %ifend652 +then650: + store ptr @.str6691, ptr %t380 + %t3298 = load ptr, ptr %t387 + %t3299 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 1 + %t3300 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 2 + %t3301 = getelementptr inbounds %LSlice, ptr %t3298, i32 0, i32 0 + %t3302 = load i32, ptr %t3299 + %t3303 = load i32, ptr %t3300 + %t3304 = icmp sge i32 %t3302, %t3303 + br i1 %t3304, label %grow653, label %put654 +grow653: + %t3305 = mul i32 %t3303, 2 + %t3306 = icmp eq i32 %t3303, 0 + %t3307 = select i1 %t3306, i32 8, i32 %t3305 + %t3308 = getelementptr ptr, ptr null, i32 1 + %t3309 = ptrtoint ptr %t3308 to i64 + %t3310 = zext i32 %t3307 to i64 + %t3311 = mul i64 %t3310, %t3309 + %t3312 = load ptr, ptr %t3301 + %t3313 = call ptr @realloc(ptr %t3312, i64 %t3311) + store ptr %t3313, ptr %t3301 + store i32 %t3307, ptr %t3300 + br label %put654 +put654: + %t3314 = load ptr, ptr %t3301 + %t3315 = getelementptr inbounds ptr, ptr %t3314, i32 %t3302 + store ptr @.str6692, ptr %t3315 + %t3316 = add i32 %t3302, 1 + store i32 %t3316, ptr %t3299 + %t3317 = load ptr, ptr %t387 + %t3318 = getelementptr inbounds %LSlice, ptr %t3317, i32 0, i32 1 + %t3319 = getelementptr inbounds %LSlice, ptr %t3317, i32 0, i32 2 + %t3320 = getelementptr inbounds %LSlice, ptr %t3317, i32 0, i32 0 + %t3321 = load i32, ptr %t3318 + %t3322 = load i32, ptr %t3319 + %t3323 = icmp sge i32 %t3321, %t3322 + br i1 %t3323, label %grow655, label %put656 +grow655: + %t3324 = mul i32 %t3322, 2 + %t3325 = icmp eq i32 %t3322, 0 + %t3326 = select i1 %t3325, i32 8, i32 %t3324 + %t3327 = getelementptr ptr, ptr null, i32 1 + %t3328 = ptrtoint ptr %t3327 to i64 + %t3329 = zext i32 %t3326 to i64 + %t3330 = mul i64 %t3329, %t3328 + %t3331 = load ptr, ptr %t3320 + %t3332 = call ptr @realloc(ptr %t3331, i64 %t3330) + store ptr %t3332, ptr %t3320 + store i32 %t3326, ptr %t3319 + br label %put656 +put656: + %t3333 = load ptr, ptr %t3320 + %t3334 = getelementptr inbounds ptr, ptr %t3333, i32 %t3321 + store ptr @.str6693, ptr %t3334 + %t3335 = add i32 %t3321, 1 + store i32 %t3335, ptr %t3318 + %t3336 = load ptr, ptr %t387 + %t3337 = getelementptr inbounds %LSlice, ptr %t3336, i32 0, i32 1 + %t3338 = getelementptr inbounds %LSlice, ptr %t3336, i32 0, i32 2 + %t3339 = getelementptr inbounds %LSlice, ptr %t3336, i32 0, i32 0 + %t3340 = load i32, ptr %t3337 + %t3341 = load i32, ptr %t3338 + %t3342 = icmp sge i32 %t3340, %t3341 + br i1 %t3342, label %grow657, label %put658 +grow657: + %t3343 = mul i32 %t3341, 2 + %t3344 = icmp eq i32 %t3341, 0 + %t3345 = select i1 %t3344, i32 8, i32 %t3343 + %t3346 = getelementptr ptr, ptr null, i32 1 + %t3347 = ptrtoint ptr %t3346 to i64 + %t3348 = zext i32 %t3345 to i64 + %t3349 = mul i64 %t3348, %t3347 + %t3350 = load ptr, ptr %t3339 + %t3351 = call ptr @realloc(ptr %t3350, i64 %t3349) + store ptr %t3351, ptr %t3339 + store i32 %t3345, ptr %t3338 + br label %put658 +put658: + %t3352 = load ptr, ptr %t3339 + %t3353 = getelementptr inbounds ptr, ptr %t3352, i32 %t3340 + store ptr @.str6694, ptr %t3353 + %t3354 = add i32 %t3340, 1 + store i32 %t3354, ptr %t3337 + %t3355 = load ptr, ptr %t387 + %t3356 = getelementptr inbounds %LSlice, ptr %t3355, i32 0, i32 1 + %t3357 = getelementptr inbounds %LSlice, ptr %t3355, i32 0, i32 2 + %t3358 = getelementptr inbounds %LSlice, ptr %t3355, i32 0, i32 0 + %t3359 = load i32, ptr %t3356 + %t3360 = load i32, ptr %t3357 + %t3361 = icmp sge i32 %t3359, %t3360 + br i1 %t3361, label %grow659, label %put660 +grow659: + %t3362 = mul i32 %t3360, 2 + %t3363 = icmp eq i32 %t3360, 0 + %t3364 = select i1 %t3363, i32 8, i32 %t3362 + %t3365 = getelementptr ptr, ptr null, i32 1 + %t3366 = ptrtoint ptr %t3365 to i64 + %t3367 = zext i32 %t3364 to i64 + %t3368 = mul i64 %t3367, %t3366 + %t3369 = load ptr, ptr %t3358 + %t3370 = call ptr @realloc(ptr %t3369, i64 %t3368) + store ptr %t3370, ptr %t3358 + store i32 %t3364, ptr %t3357 + br label %put660 +put660: + %t3371 = load ptr, ptr %t3358 + %t3372 = getelementptr inbounds ptr, ptr %t3371, i32 %t3359 + store ptr @.str6695, ptr %t3372 + %t3373 = add i32 %t3359, 1 + store i32 %t3373, ptr %t3356 + br label %ifend652 +ifend652: + %t3374 = load ptr, ptr %t1 + %t3375 = call i32 @fn_str_eq(ptr %t3374, ptr @.str6696) + %t3376 = icmp ne i32 %t3375, 0 + br i1 %t3376, label %then661, label %ifend663 +then661: + store ptr @.str6697, ptr %t380 + br label %ifend663 +ifend663: + br label %ifend638 +ifend638: + %t3377 = load ptr, ptr %t0 + %t3378 = call i32 @fn_str_eq(ptr %t3377, ptr @.str6698) + %t3379 = icmp ne i32 %t3378, 0 + br i1 %t3379, label %then664, label %ifend666 +then664: + %t3380 = load ptr, ptr %t1 + %t3381 = call i32 @fn_str_eq(ptr %t3380, ptr @.str6699) + %t3382 = icmp ne i32 %t3381, 0 + br i1 %t3382, label %then667, label %ifend669 then667: - store ptr @.str6402, ptr %t330 - %t3058 = load ptr, ptr %t337 - %t3059 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 1 - %t3060 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 2 - %t3061 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 0 - %t3062 = load i32, ptr %t3059 - %t3063 = load i32, ptr %t3060 - %t3064 = icmp sge i32 %t3062, %t3063 - br i1 %t3064, label %grow670, label %put671 -grow670: - %t3065 = mul i32 %t3063, 2 - %t3066 = icmp eq i32 %t3063, 0 - %t3067 = select i1 %t3066, i32 8, i32 %t3065 - %t3068 = getelementptr ptr, ptr null, i32 1 - %t3069 = ptrtoint ptr %t3068 to i64 - %t3070 = zext i32 %t3067 to i64 - %t3071 = mul i64 %t3070, %t3069 - %t3072 = load ptr, ptr %t3061 - %t3073 = call ptr @realloc(ptr %t3072, i64 %t3071) - store ptr %t3073, ptr %t3061 - store i32 %t3067, ptr %t3060 - br label %put671 -put671: - %t3074 = load ptr, ptr %t3061 - %t3075 = getelementptr inbounds ptr, ptr %t3074, i32 %t3062 - store ptr @.str6403, ptr %t3075 - %t3076 = add i32 %t3062, 1 - store i32 %t3076, ptr %t3059 - br label %ifend669 + %t3383 = call i32 @fn_has_prefabs() + %t3384 = icmp eq i32 %t3383, 0 + %t3385 = zext i1 %t3384 to i32 + %t3386 = icmp ne i32 %t3385, 0 + br i1 %t3386, label %then670, label %ifend672 +then670: + call void @fn_perr(ptr @.str6700) + br label %ifend672 +ifend672: + %t3387 = call ptr @fn_find_comp(ptr @.str6701) + store ptr %t3387, ptr %t3388 + %t3389 = load ptr, ptr %t3388 + %t3390 = icmp eq ptr %t3389, null + %t3391 = zext i1 %t3390 to i32 + %t3392 = icmp ne i32 %t3391, 0 + br i1 %t3392, label %then673, label %ifend675 +then673: + call void @fn_perr(ptr @.str6702) + br label %ifend675 +ifend675: + %t3393 = getelementptr %LSlice, ptr null, i32 1 + %t3394 = ptrtoint ptr %t3393 to i64 + %t3395 = call ptr @malloc(i64 %t3394) + %t3396 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 0 + store ptr null, ptr %t3396 + %t3397 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 1 + store i32 0, ptr %t3397 + %t3398 = getelementptr inbounds %LSlice, ptr %t3395, i32 0, i32 2 + store i32 0, ptr %t3398 + store ptr %t3395, ptr %t3399 + %t3400 = load ptr, ptr %t3399 + %t3401 = getelementptr inbounds %LSlice, ptr %t3400, i32 0, i32 1 + %t3402 = getelementptr inbounds %LSlice, ptr %t3400, i32 0, i32 2 + %t3403 = getelementptr inbounds %LSlice, ptr %t3400, i32 0, i32 0 + %t3404 = load i32, ptr %t3401 + %t3405 = load i32, ptr %t3402 + %t3406 = icmp sge i32 %t3404, %t3405 + br i1 %t3406, label %grow676, label %put677 +grow676: + %t3407 = mul i32 %t3405, 2 + %t3408 = icmp eq i32 %t3405, 0 + %t3409 = select i1 %t3408, i32 8, i32 %t3407 + %t3410 = getelementptr ptr, ptr null, i32 1 + %t3411 = ptrtoint ptr %t3410 to i64 + %t3412 = zext i32 %t3409 to i64 + %t3413 = mul i64 %t3412, %t3411 + %t3414 = load ptr, ptr %t3403 + %t3415 = call ptr @realloc(ptr %t3414, i64 %t3413) + store ptr %t3415, ptr %t3403 + store i32 %t3409, ptr %t3402 + br label %put677 +put677: + %t3416 = load ptr, ptr %t3403 + %t3417 = getelementptr inbounds ptr, ptr %t3416, i32 %t3404 + store ptr @.str6703, ptr %t3417 + %t3418 = add i32 %t3404, 1 + store i32 %t3418, ptr %t3401 + %t3419 = load ptr, ptr %t3399 + %t3420 = getelementptr inbounds %LSlice, ptr %t3419, i32 0, i32 1 + %t3421 = getelementptr inbounds %LSlice, ptr %t3419, i32 0, i32 2 + %t3422 = getelementptr inbounds %LSlice, ptr %t3419, i32 0, i32 0 + %t3423 = load i32, ptr %t3420 + %t3424 = load i32, ptr %t3421 + %t3425 = icmp sge i32 %t3423, %t3424 + br i1 %t3425, label %grow678, label %put679 +grow678: + %t3426 = mul i32 %t3424, 2 + %t3427 = icmp eq i32 %t3424, 0 + %t3428 = select i1 %t3427, i32 8, i32 %t3426 + %t3429 = getelementptr ptr, ptr null, i32 1 + %t3430 = ptrtoint ptr %t3429 to i64 + %t3431 = zext i32 %t3428 to i64 + %t3432 = mul i64 %t3431, %t3430 + %t3433 = load ptr, ptr %t3422 + %t3434 = call ptr @realloc(ptr %t3433, i64 %t3432) + store ptr %t3434, ptr %t3422 + store i32 %t3428, ptr %t3421 + br label %put679 +put679: + %t3435 = load ptr, ptr %t3422 + %t3436 = getelementptr inbounds ptr, ptr %t3435, i32 %t3423 + store ptr @.str6704, ptr %t3436 + %t3437 = add i32 %t3423, 1 + store i32 %t3437, ptr %t3420 + %t3438 = load ptr, ptr %t2 + %t3439 = load ptr, ptr %t3399 + call void @fn_reorder_named(ptr %t3438, ptr %t3439) + %t3440 = load ptr, ptr %t2 + %t3441 = getelementptr inbounds %Cmp_Node, ptr %t3440, i32 0, i32 7 + %t3442 = load ptr, ptr %t3441 + %t3443 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 0 + %t3444 = load ptr, ptr %t3443 + %t3445 = getelementptr inbounds ptr, ptr %t3444, i32 0 + %t3446 = load ptr, ptr %t3445 + %t3447 = call ptr @fn_emit_expr(ptr %t3446) + store ptr %t3447, ptr %t3448 + %t3449 = load ptr, ptr %t2 + %t3450 = getelementptr inbounds %Cmp_Node, ptr %t3449, i32 0, i32 7 + %t3451 = load ptr, ptr %t3450 + %t3452 = getelementptr inbounds %LSlice, ptr %t3451, i32 0, i32 0 + %t3453 = load ptr, ptr %t3452 + %t3454 = getelementptr inbounds ptr, ptr %t3453, i32 1 + %t3455 = load ptr, ptr %t3454 + %t3456 = call ptr @fn_emit_expr(ptr %t3455) + store ptr %t3456, ptr %t3457 + %t3458 = load ptr, ptr %t3448 + %t3459 = getelementptr inbounds %Cmp_Val, ptr %t3458, i32 0, i32 0 + %t3460 = load ptr, ptr %t3459 + %t3461 = call ptr @fn_str_concat(ptr @.str6705, ptr %t3460) + %t3462 = call ptr @fn_str_concat(ptr %t3461, ptr @.str6706) + %t3463 = call ptr @fn_emit_bind(ptr %t3462) + store ptr %t3463, ptr %t3464 + %t3465 = call ptr @fn_itoa(i32 1024) + store ptr %t3465, ptr %t3466 + %t3467 = load ptr, ptr %t3466 + %t3468 = call ptr @fn_str_concat(ptr @.str6707, ptr %t3467) + %t3469 = call ptr @fn_str_concat(ptr %t3468, ptr @.str6708) + %t3470 = load ptr, ptr %t3464 + %t3471 = call ptr @fn_str_concat(ptr %t3469, ptr %t3470) + %t3472 = call ptr @fn_emit_bind(ptr %t3471) + store ptr %t3472, ptr %t3473 + %t3474 = load ptr, ptr %t3473 + %t3475 = call ptr @fn_str_concat(ptr @.str6709, ptr %t3474) + %t3476 = call ptr @fn_str_concat(ptr %t3475, ptr @.str6710) + %t3477 = load ptr, ptr %t3388 + %t3478 = call i32 @fn_field_index(ptr %t3477, ptr @.str6711) + %t3479 = call ptr @fn_itoa(i32 %t3478) + %t3480 = call ptr @fn_str_concat(ptr %t3476, ptr %t3479) + %t3481 = call ptr @fn_emit_bind(ptr %t3480) + store ptr %t3481, ptr %t3482 + %t3483 = load ptr, ptr %t3473 + %t3484 = call ptr @fn_str_concat(ptr @.str6712, ptr %t3483) + %t3485 = call ptr @fn_str_concat(ptr %t3484, ptr @.str6713) + %t3486 = load ptr, ptr %t3388 + %t3487 = call i32 @fn_field_index(ptr %t3486, ptr @.str6714) + %t3488 = call ptr @fn_itoa(i32 %t3487) + %t3489 = call ptr @fn_str_concat(ptr %t3485, ptr %t3488) + %t3490 = call ptr @fn_emit_bind(ptr %t3489) + store ptr %t3490, ptr %t3491 + %t3492 = load ptr, ptr %t3457 + %t3493 = getelementptr inbounds %Cmp_Val, ptr %t3492, i32 0, i32 0 + %t3494 = load ptr, ptr %t3493 + %t3495 = call ptr @fn_vec_x(ptr %t3494) + store ptr %t3495, ptr %t3496 + %t3497 = load ptr, ptr %t3457 + %t3498 = getelementptr inbounds %Cmp_Val, ptr %t3497, i32 0, i32 0 + %t3499 = load ptr, ptr %t3498 + %t3500 = call ptr @fn_vec_y(ptr %t3499) + store ptr %t3500, ptr %t3501 + call void @fn_emit(ptr @.str6715) + %t3502 = load ptr, ptr %t3496 + call void @fn_emit(ptr %t3502) + call void @fn_emit(ptr @.str6716) + %t3503 = load ptr, ptr %t3482 + call void @fn_emit(ptr %t3503) + call void @fn_emit(ptr @.str6717) + call void @fn_emit(ptr @.str6718) + %t3504 = load ptr, ptr %t3501 + call void @fn_emit(ptr %t3504) + call void @fn_emit(ptr @.str6719) + %t3505 = load ptr, ptr %t3491 + call void @fn_emit(ptr %t3505) + call void @fn_emit(ptr @.str6720) + %t3506 = load ptr, ptr %t3464 + %t3507 = call ptr @fn_val(ptr %t3506, ptr @.str6721) + store ptr %t3507, ptr %retval + br label %ret ifend669: - %t3077 = load ptr, ptr %t1 - %t3078 = call i32 @fn_str_eq(ptr %t3077, ptr @.str6404) - %t3079 = icmp ne i32 %t3078, 0 - br i1 %t3079, label %then672, label %ifend674 -then672: - store ptr @.str6405, ptr %t330 - %t3080 = load ptr, ptr %t337 - %t3081 = getelementptr inbounds %LSlice, ptr %t3080, i32 0, i32 1 - %t3082 = getelementptr inbounds %LSlice, ptr %t3080, i32 0, i32 2 - %t3083 = getelementptr inbounds %LSlice, ptr %t3080, i32 0, i32 0 - %t3084 = load i32, ptr %t3081 - %t3085 = load i32, ptr %t3082 - %t3086 = icmp sge i32 %t3084, %t3085 - br i1 %t3086, label %grow675, label %put676 -grow675: - %t3087 = mul i32 %t3085, 2 - %t3088 = icmp eq i32 %t3085, 0 - %t3089 = select i1 %t3088, i32 8, i32 %t3087 - %t3090 = getelementptr ptr, ptr null, i32 1 - %t3091 = ptrtoint ptr %t3090 to i64 - %t3092 = zext i32 %t3089 to i64 - %t3093 = mul i64 %t3092, %t3091 - %t3094 = load ptr, ptr %t3083 - %t3095 = call ptr @realloc(ptr %t3094, i64 %t3093) - store ptr %t3095, ptr %t3083 - store i32 %t3089, ptr %t3082 - br label %put676 -put676: - %t3096 = load ptr, ptr %t3083 - %t3097 = getelementptr inbounds ptr, ptr %t3096, i32 %t3084 - store ptr @.str6406, ptr %t3097 - %t3098 = add i32 %t3084, 1 - store i32 %t3098, ptr %t3081 - br label %ifend674 -ifend674: - %t3099 = load ptr, ptr %t1 - %t3100 = call i32 @fn_str_eq(ptr %t3099, ptr @.str6407) - %t3101 = icmp ne i32 %t3100, 0 - br i1 %t3101, label %then677, label %ifend679 -then677: - store ptr @.str6408, ptr %t330 - %t3102 = load ptr, ptr %t337 - %t3103 = getelementptr inbounds %LSlice, ptr %t3102, i32 0, i32 1 - %t3104 = getelementptr inbounds %LSlice, ptr %t3102, i32 0, i32 2 - %t3105 = getelementptr inbounds %LSlice, ptr %t3102, i32 0, i32 0 - %t3106 = load i32, ptr %t3103 - %t3107 = load i32, ptr %t3104 - %t3108 = icmp sge i32 %t3106, %t3107 - br i1 %t3108, label %grow680, label %put681 -grow680: - %t3109 = mul i32 %t3107, 2 - %t3110 = icmp eq i32 %t3107, 0 - %t3111 = select i1 %t3110, i32 8, i32 %t3109 - %t3112 = getelementptr ptr, ptr null, i32 1 - %t3113 = ptrtoint ptr %t3112 to i64 - %t3114 = zext i32 %t3111 to i64 - %t3115 = mul i64 %t3114, %t3113 - %t3116 = load ptr, ptr %t3105 - %t3117 = call ptr @realloc(ptr %t3116, i64 %t3115) - store ptr %t3117, ptr %t3105 - store i32 %t3111, ptr %t3104 - br label %put681 -put681: - %t3118 = load ptr, ptr %t3105 - %t3119 = getelementptr inbounds ptr, ptr %t3118, i32 %t3106 - store ptr @.str6409, ptr %t3119 - %t3120 = add i32 %t3106, 1 - store i32 %t3120, ptr %t3103 - br label %ifend679 -ifend679: - %t3121 = load ptr, ptr %t1 - %t3122 = call i32 @fn_str_eq(ptr %t3121, ptr @.str6410) - %t3123 = icmp ne i32 %t3122, 0 - br i1 %t3123, label %then682, label %ifend684 -then682: - store ptr @.str6411, ptr %t330 - %t3124 = load ptr, ptr %t337 - %t3125 = getelementptr inbounds %LSlice, ptr %t3124, i32 0, i32 1 - %t3126 = getelementptr inbounds %LSlice, ptr %t3124, i32 0, i32 2 - %t3127 = getelementptr inbounds %LSlice, ptr %t3124, i32 0, i32 0 - %t3128 = load i32, ptr %t3125 - %t3129 = load i32, ptr %t3126 - %t3130 = icmp sge i32 %t3128, %t3129 - br i1 %t3130, label %grow685, label %put686 -grow685: - %t3131 = mul i32 %t3129, 2 - %t3132 = icmp eq i32 %t3129, 0 - %t3133 = select i1 %t3132, i32 8, i32 %t3131 - %t3134 = getelementptr ptr, ptr null, i32 1 - %t3135 = ptrtoint ptr %t3134 to i64 - %t3136 = zext i32 %t3133 to i64 - %t3137 = mul i64 %t3136, %t3135 - %t3138 = load ptr, ptr %t3127 - %t3139 = call ptr @realloc(ptr %t3138, i64 %t3137) - store ptr %t3139, ptr %t3127 - store i32 %t3133, ptr %t3126 - br label %put686 -put686: - %t3140 = load ptr, ptr %t3127 - %t3141 = getelementptr inbounds ptr, ptr %t3140, i32 %t3128 - store ptr @.str6412, ptr %t3141 - %t3142 = add i32 %t3128, 1 - store i32 %t3142, ptr %t3125 - br label %ifend684 -ifend684: - %t3143 = load ptr, ptr %t1 - %t3144 = call i32 @fn_str_eq(ptr %t3143, ptr @.str6413) - %t3145 = icmp ne i32 %t3144, 0 - br i1 %t3145, label %then687, label %ifend689 -then687: - store ptr @.str6414, ptr %t330 - %t3146 = load ptr, ptr %t337 - %t3147 = getelementptr inbounds %LSlice, ptr %t3146, i32 0, i32 1 - %t3148 = getelementptr inbounds %LSlice, ptr %t3146, i32 0, i32 2 - %t3149 = getelementptr inbounds %LSlice, ptr %t3146, i32 0, i32 0 - %t3150 = load i32, ptr %t3147 - %t3151 = load i32, ptr %t3148 - %t3152 = icmp sge i32 %t3150, %t3151 - br i1 %t3152, label %grow690, label %put691 -grow690: - %t3153 = mul i32 %t3151, 2 - %t3154 = icmp eq i32 %t3151, 0 - %t3155 = select i1 %t3154, i32 8, i32 %t3153 - %t3156 = getelementptr ptr, ptr null, i32 1 - %t3157 = ptrtoint ptr %t3156 to i64 - %t3158 = zext i32 %t3155 to i64 - %t3159 = mul i64 %t3158, %t3157 - %t3160 = load ptr, ptr %t3149 - %t3161 = call ptr @realloc(ptr %t3160, i64 %t3159) - store ptr %t3161, ptr %t3149 - store i32 %t3155, ptr %t3148 - br label %put691 -put691: - %t3162 = load ptr, ptr %t3149 - %t3163 = getelementptr inbounds ptr, ptr %t3162, i32 %t3150 - store ptr @.str6415, ptr %t3163 - %t3164 = add i32 %t3150, 1 - store i32 %t3164, ptr %t3147 - %t3165 = load ptr, ptr %t337 - %t3166 = getelementptr inbounds %LSlice, ptr %t3165, i32 0, i32 1 - %t3167 = getelementptr inbounds %LSlice, ptr %t3165, i32 0, i32 2 - %t3168 = getelementptr inbounds %LSlice, ptr %t3165, i32 0, i32 0 - %t3169 = load i32, ptr %t3166 - %t3170 = load i32, ptr %t3167 - %t3171 = icmp sge i32 %t3169, %t3170 - br i1 %t3171, label %grow692, label %put693 -grow692: - %t3172 = mul i32 %t3170, 2 - %t3173 = icmp eq i32 %t3170, 0 - %t3174 = select i1 %t3173, i32 8, i32 %t3172 - %t3175 = getelementptr ptr, ptr null, i32 1 - %t3176 = ptrtoint ptr %t3175 to i64 - %t3177 = zext i32 %t3174 to i64 - %t3178 = mul i64 %t3177, %t3176 - %t3179 = load ptr, ptr %t3168 - %t3180 = call ptr @realloc(ptr %t3179, i64 %t3178) - store ptr %t3180, ptr %t3168 - store i32 %t3174, ptr %t3167 - br label %put693 -put693: - %t3181 = load ptr, ptr %t3168 - %t3182 = getelementptr inbounds ptr, ptr %t3181, i32 %t3169 - store ptr @.str6416, ptr %t3182 - %t3183 = add i32 %t3169, 1 - store i32 %t3183, ptr %t3166 - br label %ifend689 -ifend689: - %t3184 = load ptr, ptr %t1 - %t3185 = call i32 @fn_str_eq(ptr %t3184, ptr @.str6417) - %t3186 = icmp ne i32 %t3185, 0 - br i1 %t3186, label %then694, label %ifend696 + %t3508 = load ptr, ptr %t1 + %t3509 = call i32 @fn_str_eq(ptr %t3508, ptr @.str6722) + %t3510 = icmp ne i32 %t3509, 0 + br i1 %t3510, label %then680, label %ifend682 +then680: + %t3511 = call i32 @fn_has_prefabs() + %t3512 = icmp eq i32 %t3511, 0 + %t3513 = zext i1 %t3512 to i32 + %t3514 = icmp ne i32 %t3513, 0 + br i1 %t3514, label %then683, label %ifend685 +then683: + call void @fn_perr(ptr @.str6723) + br label %ifend685 +ifend685: + %t3515 = getelementptr %LSlice, ptr null, i32 1 + %t3516 = ptrtoint ptr %t3515 to i64 + %t3517 = call ptr @malloc(i64 %t3516) + %t3518 = getelementptr inbounds %LSlice, ptr %t3517, i32 0, i32 0 + store ptr null, ptr %t3518 + %t3519 = getelementptr inbounds %LSlice, ptr %t3517, i32 0, i32 1 + store i32 0, ptr %t3519 + %t3520 = getelementptr inbounds %LSlice, ptr %t3517, i32 0, i32 2 + store i32 0, ptr %t3520 + store ptr %t3517, ptr %t3521 + %t3522 = load ptr, ptr %t3521 + %t3523 = getelementptr inbounds %LSlice, ptr %t3522, i32 0, i32 1 + %t3524 = getelementptr inbounds %LSlice, ptr %t3522, i32 0, i32 2 + %t3525 = getelementptr inbounds %LSlice, ptr %t3522, i32 0, i32 0 + %t3526 = load i32, ptr %t3523 + %t3527 = load i32, ptr %t3524 + %t3528 = icmp sge i32 %t3526, %t3527 + br i1 %t3528, label %grow686, label %put687 +grow686: + %t3529 = mul i32 %t3527, 2 + %t3530 = icmp eq i32 %t3527, 0 + %t3531 = select i1 %t3530, i32 8, i32 %t3529 + %t3532 = getelementptr ptr, ptr null, i32 1 + %t3533 = ptrtoint ptr %t3532 to i64 + %t3534 = zext i32 %t3531 to i64 + %t3535 = mul i64 %t3534, %t3533 + %t3536 = load ptr, ptr %t3525 + %t3537 = call ptr @realloc(ptr %t3536, i64 %t3535) + store ptr %t3537, ptr %t3525 + store i32 %t3531, ptr %t3524 + br label %put687 +put687: + %t3538 = load ptr, ptr %t3525 + %t3539 = getelementptr inbounds ptr, ptr %t3538, i32 %t3526 + store ptr @.str6724, ptr %t3539 + %t3540 = add i32 %t3526, 1 + store i32 %t3540, ptr %t3523 + %t3541 = load ptr, ptr %t2 + %t3542 = load ptr, ptr %t3521 + call void @fn_reorder_named(ptr %t3541, ptr %t3542) + %t3543 = load ptr, ptr %t2 + %t3544 = getelementptr inbounds %Cmp_Node, ptr %t3543, i32 0, i32 7 + %t3545 = load ptr, ptr %t3544 + %t3546 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 1 + %t3547 = load i32, ptr %t3546 + %t3548 = icmp ne i32 %t3547, 1 + %t3549 = zext i1 %t3548 to i32 + %t3550 = icmp ne i32 %t3549, 0 + br i1 %t3550, label %then688, label %ifend690 +then688: + call void @fn_perr(ptr @.str6725) + br label %ifend690 +ifend690: + %t3551 = load ptr, ptr %t2 + %t3552 = getelementptr inbounds %Cmp_Node, ptr %t3551, i32 0, i32 7 + %t3553 = load ptr, ptr %t3552 + %t3554 = getelementptr inbounds %LSlice, ptr %t3553, i32 0, i32 0 + %t3555 = load ptr, ptr %t3554 + %t3556 = getelementptr inbounds ptr, ptr %t3555, i32 0 + %t3557 = load ptr, ptr %t3556 + %t3558 = call ptr @fn_emit_expr(ptr %t3557) + store ptr %t3558, ptr %t3559 + %t3560 = load ptr, ptr %t3559 + %t3561 = getelementptr inbounds %Cmp_Val, ptr %t3560, i32 0, i32 0 + %t3562 = load ptr, ptr %t3561 + %t3563 = call ptr @fn_str_concat(ptr @.str6726, ptr %t3562) + %t3564 = call ptr @fn_str_concat(ptr %t3563, ptr @.str6727) + %t3565 = call ptr @fn_emit_bind(ptr %t3564) + %t3566 = call ptr @fn_val(ptr %t3565, ptr @.str6728) + store ptr %t3566, ptr %retval + br label %ret +ifend682: + %t3567 = load ptr, ptr %t1 + %t3568 = call ptr @fn_str_concat(ptr @.str6729, ptr %t3567) + call void @fn_perr(ptr %t3568) + br label %ifend666 +ifend666: + %t3569 = load ptr, ptr %t0 + %t3570 = call i32 @fn_str_eq(ptr %t3569, ptr @.str6730) + %t3571 = icmp ne i32 %t3570, 0 + br i1 %t3571, label %then691, label %ifend693 +then691: + %t3572 = load ptr, ptr %t1 + %t3573 = call i32 @fn_str_eq(ptr %t3572, ptr @.str6731) + %t3574 = icmp ne i32 %t3573, 0 + br i1 %t3574, label %then694, label %ifend696 then694: - store ptr @.str6418, ptr %t330 - %t3187 = load ptr, ptr %t337 - %t3188 = getelementptr inbounds %LSlice, ptr %t3187, i32 0, i32 1 - %t3189 = getelementptr inbounds %LSlice, ptr %t3187, i32 0, i32 2 - %t3190 = getelementptr inbounds %LSlice, ptr %t3187, i32 0, i32 0 - %t3191 = load i32, ptr %t3188 - %t3192 = load i32, ptr %t3189 - %t3193 = icmp sge i32 %t3191, %t3192 - br i1 %t3193, label %grow697, label %put698 + store ptr @.str6732, ptr %t380 + %t3575 = load ptr, ptr %t387 + %t3576 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 1 + %t3577 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 2 + %t3578 = getelementptr inbounds %LSlice, ptr %t3575, i32 0, i32 0 + %t3579 = load i32, ptr %t3576 + %t3580 = load i32, ptr %t3577 + %t3581 = icmp sge i32 %t3579, %t3580 + br i1 %t3581, label %grow697, label %put698 grow697: - %t3194 = mul i32 %t3192, 2 - %t3195 = icmp eq i32 %t3192, 0 - %t3196 = select i1 %t3195, i32 8, i32 %t3194 - %t3197 = getelementptr ptr, ptr null, i32 1 - %t3198 = ptrtoint ptr %t3197 to i64 - %t3199 = zext i32 %t3196 to i64 - %t3200 = mul i64 %t3199, %t3198 - %t3201 = load ptr, ptr %t3190 - %t3202 = call ptr @realloc(ptr %t3201, i64 %t3200) - store ptr %t3202, ptr %t3190 - store i32 %t3196, ptr %t3189 + %t3582 = mul i32 %t3580, 2 + %t3583 = icmp eq i32 %t3580, 0 + %t3584 = select i1 %t3583, i32 8, i32 %t3582 + %t3585 = getelementptr ptr, ptr null, i32 1 + %t3586 = ptrtoint ptr %t3585 to i64 + %t3587 = zext i32 %t3584 to i64 + %t3588 = mul i64 %t3587, %t3586 + %t3589 = load ptr, ptr %t3578 + %t3590 = call ptr @realloc(ptr %t3589, i64 %t3588) + store ptr %t3590, ptr %t3578 + store i32 %t3584, ptr %t3577 br label %put698 put698: - %t3203 = load ptr, ptr %t3190 - %t3204 = getelementptr inbounds ptr, ptr %t3203, i32 %t3191 - store ptr @.str6419, ptr %t3204 - %t3205 = add i32 %t3191, 1 - store i32 %t3205, ptr %t3188 - %t3206 = load ptr, ptr %t337 - %t3207 = getelementptr inbounds %LSlice, ptr %t3206, i32 0, i32 1 - %t3208 = getelementptr inbounds %LSlice, ptr %t3206, i32 0, i32 2 - %t3209 = getelementptr inbounds %LSlice, ptr %t3206, i32 0, i32 0 - %t3210 = load i32, ptr %t3207 - %t3211 = load i32, ptr %t3208 - %t3212 = icmp sge i32 %t3210, %t3211 - br i1 %t3212, label %grow699, label %put700 -grow699: - %t3213 = mul i32 %t3211, 2 - %t3214 = icmp eq i32 %t3211, 0 - %t3215 = select i1 %t3214, i32 8, i32 %t3213 - %t3216 = getelementptr ptr, ptr null, i32 1 - %t3217 = ptrtoint ptr %t3216 to i64 - %t3218 = zext i32 %t3215 to i64 - %t3219 = mul i64 %t3218, %t3217 - %t3220 = load ptr, ptr %t3209 - %t3221 = call ptr @realloc(ptr %t3220, i64 %t3219) - store ptr %t3221, ptr %t3209 - store i32 %t3215, ptr %t3208 - br label %put700 -put700: - %t3222 = load ptr, ptr %t3209 - %t3223 = getelementptr inbounds ptr, ptr %t3222, i32 %t3210 - store ptr @.str6420, ptr %t3223 - %t3224 = add i32 %t3210, 1 - store i32 %t3224, ptr %t3207 + %t3591 = load ptr, ptr %t3578 + %t3592 = getelementptr inbounds ptr, ptr %t3591, i32 %t3579 + store ptr @.str6733, ptr %t3592 + %t3593 = add i32 %t3579, 1 + store i32 %t3593, ptr %t3576 br label %ifend696 ifend696: - %t3225 = load ptr, ptr %t1 - %t3226 = call i32 @fn_str_eq(ptr %t3225, ptr @.str6421) - %t3227 = icmp ne i32 %t3226, 0 - br i1 %t3227, label %then701, label %ifend703 -then701: - store ptr @.str6422, ptr %t330 - %t3228 = load ptr, ptr %t337 - %t3229 = getelementptr inbounds %LSlice, ptr %t3228, i32 0, i32 1 - %t3230 = getelementptr inbounds %LSlice, ptr %t3228, i32 0, i32 2 - %t3231 = getelementptr inbounds %LSlice, ptr %t3228, i32 0, i32 0 - %t3232 = load i32, ptr %t3229 - %t3233 = load i32, ptr %t3230 - %t3234 = icmp sge i32 %t3232, %t3233 - br i1 %t3234, label %grow704, label %put705 -grow704: - %t3235 = mul i32 %t3233, 2 - %t3236 = icmp eq i32 %t3233, 0 - %t3237 = select i1 %t3236, i32 8, i32 %t3235 - %t3238 = getelementptr ptr, ptr null, i32 1 - %t3239 = ptrtoint ptr %t3238 to i64 - %t3240 = zext i32 %t3237 to i64 - %t3241 = mul i64 %t3240, %t3239 - %t3242 = load ptr, ptr %t3231 - %t3243 = call ptr @realloc(ptr %t3242, i64 %t3241) - store ptr %t3243, ptr %t3231 - store i32 %t3237, ptr %t3230 - br label %put705 -put705: - %t3244 = load ptr, ptr %t3231 - %t3245 = getelementptr inbounds ptr, ptr %t3244, i32 %t3232 - store ptr @.str6423, ptr %t3245 - %t3246 = add i32 %t3232, 1 - store i32 %t3246, ptr %t3229 - %t3247 = load ptr, ptr %t337 - %t3248 = getelementptr inbounds %LSlice, ptr %t3247, i32 0, i32 1 - %t3249 = getelementptr inbounds %LSlice, ptr %t3247, i32 0, i32 2 - %t3250 = getelementptr inbounds %LSlice, ptr %t3247, i32 0, i32 0 - %t3251 = load i32, ptr %t3248 - %t3252 = load i32, ptr %t3249 - %t3253 = icmp sge i32 %t3251, %t3252 - br i1 %t3253, label %grow706, label %put707 -grow706: - %t3254 = mul i32 %t3252, 2 - %t3255 = icmp eq i32 %t3252, 0 - %t3256 = select i1 %t3255, i32 8, i32 %t3254 - %t3257 = getelementptr ptr, ptr null, i32 1 - %t3258 = ptrtoint ptr %t3257 to i64 - %t3259 = zext i32 %t3256 to i64 - %t3260 = mul i64 %t3259, %t3258 - %t3261 = load ptr, ptr %t3250 - %t3262 = call ptr @realloc(ptr %t3261, i64 %t3260) - store ptr %t3262, ptr %t3250 - store i32 %t3256, ptr %t3249 - br label %put707 -put707: - %t3263 = load ptr, ptr %t3250 - %t3264 = getelementptr inbounds ptr, ptr %t3263, i32 %t3251 - store ptr @.str6424, ptr %t3264 - %t3265 = add i32 %t3251, 1 - store i32 %t3265, ptr %t3248 - %t3266 = load ptr, ptr %t337 - %t3267 = getelementptr inbounds %LSlice, ptr %t3266, i32 0, i32 1 - %t3268 = getelementptr inbounds %LSlice, ptr %t3266, i32 0, i32 2 - %t3269 = getelementptr inbounds %LSlice, ptr %t3266, i32 0, i32 0 - %t3270 = load i32, ptr %t3267 - %t3271 = load i32, ptr %t3268 - %t3272 = icmp sge i32 %t3270, %t3271 - br i1 %t3272, label %grow708, label %put709 -grow708: - %t3273 = mul i32 %t3271, 2 - %t3274 = icmp eq i32 %t3271, 0 - %t3275 = select i1 %t3274, i32 8, i32 %t3273 - %t3276 = getelementptr ptr, ptr null, i32 1 - %t3277 = ptrtoint ptr %t3276 to i64 - %t3278 = zext i32 %t3275 to i64 - %t3279 = mul i64 %t3278, %t3277 - %t3280 = load ptr, ptr %t3269 - %t3281 = call ptr @realloc(ptr %t3280, i64 %t3279) - store ptr %t3281, ptr %t3269 - store i32 %t3275, ptr %t3268 - br label %put709 -put709: - %t3282 = load ptr, ptr %t3269 - %t3283 = getelementptr inbounds ptr, ptr %t3282, i32 %t3270 - store ptr @.str6425, ptr %t3283 - %t3284 = add i32 %t3270, 1 - store i32 %t3284, ptr %t3267 - %t3285 = load ptr, ptr %t337 - %t3286 = getelementptr inbounds %LSlice, ptr %t3285, i32 0, i32 1 - %t3287 = getelementptr inbounds %LSlice, ptr %t3285, i32 0, i32 2 - %t3288 = getelementptr inbounds %LSlice, ptr %t3285, i32 0, i32 0 - %t3289 = load i32, ptr %t3286 - %t3290 = load i32, ptr %t3287 - %t3291 = icmp sge i32 %t3289, %t3290 - br i1 %t3291, label %grow710, label %put711 -grow710: - %t3292 = mul i32 %t3290, 2 - %t3293 = icmp eq i32 %t3290, 0 - %t3294 = select i1 %t3293, i32 8, i32 %t3292 - %t3295 = getelementptr ptr, ptr null, i32 1 - %t3296 = ptrtoint ptr %t3295 to i64 - %t3297 = zext i32 %t3294 to i64 - %t3298 = mul i64 %t3297, %t3296 - %t3299 = load ptr, ptr %t3288 - %t3300 = call ptr @realloc(ptr %t3299, i64 %t3298) - store ptr %t3300, ptr %t3288 - store i32 %t3294, ptr %t3287 - br label %put711 -put711: - %t3301 = load ptr, ptr %t3288 - %t3302 = getelementptr inbounds ptr, ptr %t3301, i32 %t3289 - store ptr @.str6426, ptr %t3302 - %t3303 = add i32 %t3289, 1 - store i32 %t3303, ptr %t3286 - br label %ifend703 -ifend703: - %t3304 = load ptr, ptr %t1 - %t3305 = call i32 @fn_str_eq(ptr %t3304, ptr @.str6427) - %t3306 = icmp ne i32 %t3305, 0 - br i1 %t3306, label %then712, label %ifend714 -then712: - store ptr @.str6428, ptr %t330 - %t3307 = load ptr, ptr %t337 - %t3308 = getelementptr inbounds %LSlice, ptr %t3307, i32 0, i32 1 - %t3309 = getelementptr inbounds %LSlice, ptr %t3307, i32 0, i32 2 - %t3310 = getelementptr inbounds %LSlice, ptr %t3307, i32 0, i32 0 - %t3311 = load i32, ptr %t3308 - %t3312 = load i32, ptr %t3309 - %t3313 = icmp sge i32 %t3311, %t3312 - br i1 %t3313, label %grow715, label %put716 -grow715: - %t3314 = mul i32 %t3312, 2 - %t3315 = icmp eq i32 %t3312, 0 - %t3316 = select i1 %t3315, i32 8, i32 %t3314 - %t3317 = getelementptr ptr, ptr null, i32 1 - %t3318 = ptrtoint ptr %t3317 to i64 - %t3319 = zext i32 %t3316 to i64 - %t3320 = mul i64 %t3319, %t3318 - %t3321 = load ptr, ptr %t3310 - %t3322 = call ptr @realloc(ptr %t3321, i64 %t3320) - store ptr %t3322, ptr %t3310 - store i32 %t3316, ptr %t3309 - br label %put716 -put716: - %t3323 = load ptr, ptr %t3310 - %t3324 = getelementptr inbounds ptr, ptr %t3323, i32 %t3311 - store ptr @.str6429, ptr %t3324 - %t3325 = add i32 %t3311, 1 - store i32 %t3325, ptr %t3308 - br label %ifend714 -ifend714: - %t3326 = load ptr, ptr %t1 - %t3327 = call i32 @fn_str_eq(ptr %t3326, ptr @.str6430) - %t3328 = icmp ne i32 %t3327, 0 - br i1 %t3328, label %then717, label %ifend719 -then717: - store ptr @.str6431, ptr %t330 - br label %ifend719 -ifend719: - %t3329 = load ptr, ptr %t1 - %t3330 = call i32 @fn_str_eq(ptr %t3329, ptr @.str6432) - %t3331 = icmp ne i32 %t3330, 0 - br i1 %t3331, label %then720, label %ifend722 -then720: - store ptr @.str6433, ptr %t330 - br label %ifend722 -ifend722: - %t3332 = load ptr, ptr %t1 - %t3333 = call i32 @fn_str_eq(ptr %t3332, ptr @.str6434) - %t3334 = icmp ne i32 %t3333, 0 - br i1 %t3334, label %then723, label %ifend725 -then723: - store ptr @.str6435, ptr %t330 - br label %ifend725 -ifend725: - %t3335 = load ptr, ptr %t1 - %t3336 = call i32 @fn_str_eq(ptr %t3335, ptr @.str6436) - %t3337 = icmp ne i32 %t3336, 0 - br i1 %t3337, label %then726, label %ifend728 -then726: - store ptr @.str6437, ptr %t330 - br label %ifend728 -ifend728: - %t3338 = load ptr, ptr %t1 - %t3339 = call i32 @fn_str_eq(ptr %t3338, ptr @.str6438) - %t3340 = icmp ne i32 %t3339, 0 - br i1 %t3340, label %then729, label %ifend731 -then729: - store ptr @.str6439, ptr %t330 - %t3341 = load ptr, ptr %t337 - %t3342 = getelementptr inbounds %LSlice, ptr %t3341, i32 0, i32 1 - %t3343 = getelementptr inbounds %LSlice, ptr %t3341, i32 0, i32 2 - %t3344 = getelementptr inbounds %LSlice, ptr %t3341, i32 0, i32 0 - %t3345 = load i32, ptr %t3342 - %t3346 = load i32, ptr %t3343 - %t3347 = icmp sge i32 %t3345, %t3346 - br i1 %t3347, label %grow732, label %put733 -grow732: - %t3348 = mul i32 %t3346, 2 - %t3349 = icmp eq i32 %t3346, 0 - %t3350 = select i1 %t3349, i32 8, i32 %t3348 - %t3351 = getelementptr ptr, ptr null, i32 1 - %t3352 = ptrtoint ptr %t3351 to i64 - %t3353 = zext i32 %t3350 to i64 - %t3354 = mul i64 %t3353, %t3352 - %t3355 = load ptr, ptr %t3344 - %t3356 = call ptr @realloc(ptr %t3355, i64 %t3354) - store ptr %t3356, ptr %t3344 - store i32 %t3350, ptr %t3343 - br label %put733 -put733: - %t3357 = load ptr, ptr %t3344 - %t3358 = getelementptr inbounds ptr, ptr %t3357, i32 %t3345 - store ptr @.str6440, ptr %t3358 - %t3359 = add i32 %t3345, 1 - store i32 %t3359, ptr %t3342 - br label %ifend731 -ifend731: - %t3360 = load ptr, ptr %t1 - %t3361 = call i32 @fn_str_eq(ptr %t3360, ptr @.str6441) - %t3362 = icmp ne i32 %t3361, 0 - br i1 %t3362, label %then734, label %ifend736 -then734: - store ptr @.str6442, ptr %t330 - br label %ifend736 -ifend736: - %t3363 = load ptr, ptr %t1 - %t3364 = call i32 @fn_str_eq(ptr %t3363, ptr @.str6443) - %t3365 = icmp ne i32 %t3364, 0 - br i1 %t3365, label %then737, label %ifend739 -then737: - store ptr @.str6444, ptr %t330 - %t3366 = load ptr, ptr %t337 - %t3367 = getelementptr inbounds %LSlice, ptr %t3366, i32 0, i32 1 - %t3368 = getelementptr inbounds %LSlice, ptr %t3366, i32 0, i32 2 - %t3369 = getelementptr inbounds %LSlice, ptr %t3366, i32 0, i32 0 - %t3370 = load i32, ptr %t3367 - %t3371 = load i32, ptr %t3368 - %t3372 = icmp sge i32 %t3370, %t3371 - br i1 %t3372, label %grow740, label %put741 -grow740: - %t3373 = mul i32 %t3371, 2 - %t3374 = icmp eq i32 %t3371, 0 - %t3375 = select i1 %t3374, i32 8, i32 %t3373 - %t3376 = getelementptr ptr, ptr null, i32 1 - %t3377 = ptrtoint ptr %t3376 to i64 - %t3378 = zext i32 %t3375 to i64 - %t3379 = mul i64 %t3378, %t3377 - %t3380 = load ptr, ptr %t3369 - %t3381 = call ptr @realloc(ptr %t3380, i64 %t3379) - store ptr %t3381, ptr %t3369 - store i32 %t3375, ptr %t3368 - br label %put741 -put741: - %t3382 = load ptr, ptr %t3369 - %t3383 = getelementptr inbounds ptr, ptr %t3382, i32 %t3370 - store ptr @.str6445, ptr %t3383 - %t3384 = add i32 %t3370, 1 - store i32 %t3384, ptr %t3367 - %t3385 = load ptr, ptr %t337 - %t3386 = getelementptr inbounds %LSlice, ptr %t3385, i32 0, i32 1 - %t3387 = getelementptr inbounds %LSlice, ptr %t3385, i32 0, i32 2 - %t3388 = getelementptr inbounds %LSlice, ptr %t3385, i32 0, i32 0 - %t3389 = load i32, ptr %t3386 - %t3390 = load i32, ptr %t3387 - %t3391 = icmp sge i32 %t3389, %t3390 - br i1 %t3391, label %grow742, label %put743 -grow742: - %t3392 = mul i32 %t3390, 2 - %t3393 = icmp eq i32 %t3390, 0 - %t3394 = select i1 %t3393, i32 8, i32 %t3392 - %t3395 = getelementptr ptr, ptr null, i32 1 - %t3396 = ptrtoint ptr %t3395 to i64 - %t3397 = zext i32 %t3394 to i64 - %t3398 = mul i64 %t3397, %t3396 - %t3399 = load ptr, ptr %t3388 - %t3400 = call ptr @realloc(ptr %t3399, i64 %t3398) - store ptr %t3400, ptr %t3388 - store i32 %t3394, ptr %t3387 - br label %put743 -put743: - %t3401 = load ptr, ptr %t3388 - %t3402 = getelementptr inbounds ptr, ptr %t3401, i32 %t3389 - store ptr @.str6446, ptr %t3402 - %t3403 = add i32 %t3389, 1 - store i32 %t3403, ptr %t3386 - %t3404 = load ptr, ptr %t337 - %t3405 = getelementptr inbounds %LSlice, ptr %t3404, i32 0, i32 1 - %t3406 = getelementptr inbounds %LSlice, ptr %t3404, i32 0, i32 2 - %t3407 = getelementptr inbounds %LSlice, ptr %t3404, i32 0, i32 0 - %t3408 = load i32, ptr %t3405 - %t3409 = load i32, ptr %t3406 - %t3410 = icmp sge i32 %t3408, %t3409 - br i1 %t3410, label %grow744, label %put745 -grow744: - %t3411 = mul i32 %t3409, 2 - %t3412 = icmp eq i32 %t3409, 0 - %t3413 = select i1 %t3412, i32 8, i32 %t3411 - %t3414 = getelementptr ptr, ptr null, i32 1 - %t3415 = ptrtoint ptr %t3414 to i64 - %t3416 = zext i32 %t3413 to i64 - %t3417 = mul i64 %t3416, %t3415 - %t3418 = load ptr, ptr %t3407 - %t3419 = call ptr @realloc(ptr %t3418, i64 %t3417) - store ptr %t3419, ptr %t3407 - store i32 %t3413, ptr %t3406 - br label %put745 -put745: - %t3420 = load ptr, ptr %t3407 - %t3421 = getelementptr inbounds ptr, ptr %t3420, i32 %t3408 - store ptr @.str6447, ptr %t3421 - %t3422 = add i32 %t3408, 1 - store i32 %t3422, ptr %t3405 - %t3423 = load ptr, ptr %t337 - %t3424 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 1 - %t3425 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 2 - %t3426 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 0 - %t3427 = load i32, ptr %t3424 - %t3428 = load i32, ptr %t3425 - %t3429 = icmp sge i32 %t3427, %t3428 - br i1 %t3429, label %grow746, label %put747 -grow746: - %t3430 = mul i32 %t3428, 2 - %t3431 = icmp eq i32 %t3428, 0 - %t3432 = select i1 %t3431, i32 8, i32 %t3430 - %t3433 = getelementptr ptr, ptr null, i32 1 - %t3434 = ptrtoint ptr %t3433 to i64 - %t3435 = zext i32 %t3432 to i64 - %t3436 = mul i64 %t3435, %t3434 - %t3437 = load ptr, ptr %t3426 - %t3438 = call ptr @realloc(ptr %t3437, i64 %t3436) - store ptr %t3438, ptr %t3426 - store i32 %t3432, ptr %t3425 - br label %put747 -put747: - %t3439 = load ptr, ptr %t3426 - %t3440 = getelementptr inbounds ptr, ptr %t3439, i32 %t3427 - store ptr @.str6448, ptr %t3440 - %t3441 = add i32 %t3427, 1 - store i32 %t3441, ptr %t3424 - br label %ifend739 -ifend739: - %t3442 = load ptr, ptr %t1 - %t3443 = call i32 @fn_str_eq(ptr %t3442, ptr @.str6449) - %t3444 = icmp ne i32 %t3443, 0 - br i1 %t3444, label %then748, label %ifend750 -then748: - store ptr @.str6450, ptr %t330 - %t3445 = load ptr, ptr %t337 - %t3446 = getelementptr inbounds %LSlice, ptr %t3445, i32 0, i32 1 - %t3447 = getelementptr inbounds %LSlice, ptr %t3445, i32 0, i32 2 - %t3448 = getelementptr inbounds %LSlice, ptr %t3445, i32 0, i32 0 - %t3449 = load i32, ptr %t3446 - %t3450 = load i32, ptr %t3447 - %t3451 = icmp sge i32 %t3449, %t3450 - br i1 %t3451, label %grow751, label %put752 -grow751: - %t3452 = mul i32 %t3450, 2 - %t3453 = icmp eq i32 %t3450, 0 - %t3454 = select i1 %t3453, i32 8, i32 %t3452 - %t3455 = getelementptr ptr, ptr null, i32 1 - %t3456 = ptrtoint ptr %t3455 to i64 - %t3457 = zext i32 %t3454 to i64 - %t3458 = mul i64 %t3457, %t3456 - %t3459 = load ptr, ptr %t3448 - %t3460 = call ptr @realloc(ptr %t3459, i64 %t3458) - store ptr %t3460, ptr %t3448 - store i32 %t3454, ptr %t3447 - br label %put752 -put752: - %t3461 = load ptr, ptr %t3448 - %t3462 = getelementptr inbounds ptr, ptr %t3461, i32 %t3449 - store ptr @.str6451, ptr %t3462 - %t3463 = add i32 %t3449, 1 - store i32 %t3463, ptr %t3446 - br label %ifend750 -ifend750: - %t3464 = load ptr, ptr %t1 - %t3465 = call i32 @fn_str_eq(ptr %t3464, ptr @.str6452) - %t3466 = icmp ne i32 %t3465, 0 - br i1 %t3466, label %then753, label %ifend755 -then753: - store ptr @.str6453, ptr %t330 - %t3467 = load ptr, ptr %t337 - %t3468 = getelementptr inbounds %LSlice, ptr %t3467, i32 0, i32 1 - %t3469 = getelementptr inbounds %LSlice, ptr %t3467, i32 0, i32 2 - %t3470 = getelementptr inbounds %LSlice, ptr %t3467, i32 0, i32 0 - %t3471 = load i32, ptr %t3468 - %t3472 = load i32, ptr %t3469 - %t3473 = icmp sge i32 %t3471, %t3472 - br i1 %t3473, label %grow756, label %put757 -grow756: - %t3474 = mul i32 %t3472, 2 - %t3475 = icmp eq i32 %t3472, 0 - %t3476 = select i1 %t3475, i32 8, i32 %t3474 - %t3477 = getelementptr ptr, ptr null, i32 1 - %t3478 = ptrtoint ptr %t3477 to i64 - %t3479 = zext i32 %t3476 to i64 - %t3480 = mul i64 %t3479, %t3478 - %t3481 = load ptr, ptr %t3470 - %t3482 = call ptr @realloc(ptr %t3481, i64 %t3480) - store ptr %t3482, ptr %t3470 - store i32 %t3476, ptr %t3469 - br label %put757 -put757: - %t3483 = load ptr, ptr %t3470 - %t3484 = getelementptr inbounds ptr, ptr %t3483, i32 %t3471 - store ptr @.str6454, ptr %t3484 - %t3485 = add i32 %t3471, 1 - store i32 %t3485, ptr %t3468 - %t3486 = load ptr, ptr %t337 - %t3487 = getelementptr inbounds %LSlice, ptr %t3486, i32 0, i32 1 - %t3488 = getelementptr inbounds %LSlice, ptr %t3486, i32 0, i32 2 - %t3489 = getelementptr inbounds %LSlice, ptr %t3486, i32 0, i32 0 - %t3490 = load i32, ptr %t3487 - %t3491 = load i32, ptr %t3488 - %t3492 = icmp sge i32 %t3490, %t3491 - br i1 %t3492, label %grow758, label %put759 -grow758: - %t3493 = mul i32 %t3491, 2 - %t3494 = icmp eq i32 %t3491, 0 - %t3495 = select i1 %t3494, i32 8, i32 %t3493 - %t3496 = getelementptr ptr, ptr null, i32 1 - %t3497 = ptrtoint ptr %t3496 to i64 - %t3498 = zext i32 %t3495 to i64 - %t3499 = mul i64 %t3498, %t3497 - %t3500 = load ptr, ptr %t3489 - %t3501 = call ptr @realloc(ptr %t3500, i64 %t3499) - store ptr %t3501, ptr %t3489 - store i32 %t3495, ptr %t3488 - br label %put759 -put759: - %t3502 = load ptr, ptr %t3489 - %t3503 = getelementptr inbounds ptr, ptr %t3502, i32 %t3490 - store ptr @.str6455, ptr %t3503 - %t3504 = add i32 %t3490, 1 - store i32 %t3504, ptr %t3487 - br label %ifend755 -ifend755: - %t3505 = load ptr, ptr %t1 - %t3506 = call i32 @fn_str_eq(ptr %t3505, ptr @.str6456) - %t3507 = icmp ne i32 %t3506, 0 - br i1 %t3507, label %then760, label %ifend762 -then760: - store ptr @.str6457, ptr %t330 - %t3508 = load ptr, ptr %t337 - %t3509 = getelementptr inbounds %LSlice, ptr %t3508, i32 0, i32 1 - %t3510 = getelementptr inbounds %LSlice, ptr %t3508, i32 0, i32 2 - %t3511 = getelementptr inbounds %LSlice, ptr %t3508, i32 0, i32 0 - %t3512 = load i32, ptr %t3509 - %t3513 = load i32, ptr %t3510 - %t3514 = icmp sge i32 %t3512, %t3513 - br i1 %t3514, label %grow763, label %put764 -grow763: - %t3515 = mul i32 %t3513, 2 - %t3516 = icmp eq i32 %t3513, 0 - %t3517 = select i1 %t3516, i32 8, i32 %t3515 - %t3518 = getelementptr ptr, ptr null, i32 1 - %t3519 = ptrtoint ptr %t3518 to i64 - %t3520 = zext i32 %t3517 to i64 - %t3521 = mul i64 %t3520, %t3519 - %t3522 = load ptr, ptr %t3511 - %t3523 = call ptr @realloc(ptr %t3522, i64 %t3521) - store ptr %t3523, ptr %t3511 - store i32 %t3517, ptr %t3510 - br label %put764 -put764: - %t3524 = load ptr, ptr %t3511 - %t3525 = getelementptr inbounds ptr, ptr %t3524, i32 %t3512 - store ptr @.str6458, ptr %t3525 - %t3526 = add i32 %t3512, 1 - store i32 %t3526, ptr %t3509 - %t3527 = load ptr, ptr %t337 - %t3528 = getelementptr inbounds %LSlice, ptr %t3527, i32 0, i32 1 - %t3529 = getelementptr inbounds %LSlice, ptr %t3527, i32 0, i32 2 - %t3530 = getelementptr inbounds %LSlice, ptr %t3527, i32 0, i32 0 - %t3531 = load i32, ptr %t3528 - %t3532 = load i32, ptr %t3529 - %t3533 = icmp sge i32 %t3531, %t3532 - br i1 %t3533, label %grow765, label %put766 -grow765: - %t3534 = mul i32 %t3532, 2 - %t3535 = icmp eq i32 %t3532, 0 - %t3536 = select i1 %t3535, i32 8, i32 %t3534 - %t3537 = getelementptr ptr, ptr null, i32 1 - %t3538 = ptrtoint ptr %t3537 to i64 - %t3539 = zext i32 %t3536 to i64 - %t3540 = mul i64 %t3539, %t3538 - %t3541 = load ptr, ptr %t3530 - %t3542 = call ptr @realloc(ptr %t3541, i64 %t3540) - store ptr %t3542, ptr %t3530 - store i32 %t3536, ptr %t3529 - br label %put766 -put766: - %t3543 = load ptr, ptr %t3530 - %t3544 = getelementptr inbounds ptr, ptr %t3543, i32 %t3531 - store ptr @.str6459, ptr %t3544 - %t3545 = add i32 %t3531, 1 - store i32 %t3545, ptr %t3528 - br label %ifend762 -ifend762: - %t3546 = load ptr, ptr %t1 - %t3547 = call i32 @fn_str_eq(ptr %t3546, ptr @.str6460) - %t3548 = icmp ne i32 %t3547, 0 - br i1 %t3548, label %then767, label %ifend769 -then767: - store ptr @.str6461, ptr %t330 - %t3549 = load ptr, ptr %t337 - %t3550 = getelementptr inbounds %LSlice, ptr %t3549, i32 0, i32 1 - %t3551 = getelementptr inbounds %LSlice, ptr %t3549, i32 0, i32 2 - %t3552 = getelementptr inbounds %LSlice, ptr %t3549, i32 0, i32 0 - %t3553 = load i32, ptr %t3550 - %t3554 = load i32, ptr %t3551 - %t3555 = icmp sge i32 %t3553, %t3554 - br i1 %t3555, label %grow770, label %put771 -grow770: - %t3556 = mul i32 %t3554, 2 - %t3557 = icmp eq i32 %t3554, 0 - %t3558 = select i1 %t3557, i32 8, i32 %t3556 - %t3559 = getelementptr ptr, ptr null, i32 1 - %t3560 = ptrtoint ptr %t3559 to i64 - %t3561 = zext i32 %t3558 to i64 - %t3562 = mul i64 %t3561, %t3560 - %t3563 = load ptr, ptr %t3552 - %t3564 = call ptr @realloc(ptr %t3563, i64 %t3562) - store ptr %t3564, ptr %t3552 - store i32 %t3558, ptr %t3551 - br label %put771 -put771: - %t3565 = load ptr, ptr %t3552 - %t3566 = getelementptr inbounds ptr, ptr %t3565, i32 %t3553 - store ptr @.str6462, ptr %t3566 - %t3567 = add i32 %t3553, 1 - store i32 %t3567, ptr %t3550 - %t3568 = load ptr, ptr %t337 - %t3569 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 1 - %t3570 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 2 - %t3571 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 0 - %t3572 = load i32, ptr %t3569 - %t3573 = load i32, ptr %t3570 - %t3574 = icmp sge i32 %t3572, %t3573 - br i1 %t3574, label %grow772, label %put773 -grow772: - %t3575 = mul i32 %t3573, 2 - %t3576 = icmp eq i32 %t3573, 0 - %t3577 = select i1 %t3576, i32 8, i32 %t3575 - %t3578 = getelementptr ptr, ptr null, i32 1 - %t3579 = ptrtoint ptr %t3578 to i64 - %t3580 = zext i32 %t3577 to i64 - %t3581 = mul i64 %t3580, %t3579 - %t3582 = load ptr, ptr %t3571 - %t3583 = call ptr @realloc(ptr %t3582, i64 %t3581) - store ptr %t3583, ptr %t3571 - store i32 %t3577, ptr %t3570 - br label %put773 -put773: - %t3584 = load ptr, ptr %t3571 - %t3585 = getelementptr inbounds ptr, ptr %t3584, i32 %t3572 - store ptr @.str6463, ptr %t3585 - %t3586 = add i32 %t3572, 1 - store i32 %t3586, ptr %t3569 - %t3587 = load ptr, ptr %t337 - %t3588 = getelementptr inbounds %LSlice, ptr %t3587, i32 0, i32 1 - %t3589 = getelementptr inbounds %LSlice, ptr %t3587, i32 0, i32 2 - %t3590 = getelementptr inbounds %LSlice, ptr %t3587, i32 0, i32 0 - %t3591 = load i32, ptr %t3588 - %t3592 = load i32, ptr %t3589 - %t3593 = icmp sge i32 %t3591, %t3592 - br i1 %t3593, label %grow774, label %put775 -grow774: - %t3594 = mul i32 %t3592, 2 - %t3595 = icmp eq i32 %t3592, 0 - %t3596 = select i1 %t3595, i32 8, i32 %t3594 - %t3597 = getelementptr ptr, ptr null, i32 1 - %t3598 = ptrtoint ptr %t3597 to i64 - %t3599 = zext i32 %t3596 to i64 - %t3600 = mul i64 %t3599, %t3598 - %t3601 = load ptr, ptr %t3590 - %t3602 = call ptr @realloc(ptr %t3601, i64 %t3600) - store ptr %t3602, ptr %t3590 - store i32 %t3596, ptr %t3589 - br label %put775 -put775: - %t3603 = load ptr, ptr %t3590 - %t3604 = getelementptr inbounds ptr, ptr %t3603, i32 %t3591 - store ptr @.str6464, ptr %t3604 - %t3605 = add i32 %t3591, 1 - store i32 %t3605, ptr %t3588 - %t3606 = load ptr, ptr %t337 - %t3607 = getelementptr inbounds %LSlice, ptr %t3606, i32 0, i32 1 - %t3608 = getelementptr inbounds %LSlice, ptr %t3606, i32 0, i32 2 - %t3609 = getelementptr inbounds %LSlice, ptr %t3606, i32 0, i32 0 - %t3610 = load i32, ptr %t3607 - %t3611 = load i32, ptr %t3608 - %t3612 = icmp sge i32 %t3610, %t3611 - br i1 %t3612, label %grow776, label %put777 -grow776: - %t3613 = mul i32 %t3611, 2 - %t3614 = icmp eq i32 %t3611, 0 - %t3615 = select i1 %t3614, i32 8, i32 %t3613 - %t3616 = getelementptr ptr, ptr null, i32 1 - %t3617 = ptrtoint ptr %t3616 to i64 - %t3618 = zext i32 %t3615 to i64 - %t3619 = mul i64 %t3618, %t3617 - %t3620 = load ptr, ptr %t3609 - %t3621 = call ptr @realloc(ptr %t3620, i64 %t3619) - store ptr %t3621, ptr %t3609 - store i32 %t3615, ptr %t3608 - br label %put777 -put777: - %t3622 = load ptr, ptr %t3609 - %t3623 = getelementptr inbounds ptr, ptr %t3622, i32 %t3610 - store ptr @.str6465, ptr %t3623 - %t3624 = add i32 %t3610, 1 - store i32 %t3624, ptr %t3607 - %t3625 = load ptr, ptr %t337 - %t3626 = getelementptr inbounds %LSlice, ptr %t3625, i32 0, i32 1 - %t3627 = getelementptr inbounds %LSlice, ptr %t3625, i32 0, i32 2 - %t3628 = getelementptr inbounds %LSlice, ptr %t3625, i32 0, i32 0 - %t3629 = load i32, ptr %t3626 - %t3630 = load i32, ptr %t3627 - %t3631 = icmp sge i32 %t3629, %t3630 - br i1 %t3631, label %grow778, label %put779 -grow778: - %t3632 = mul i32 %t3630, 2 - %t3633 = icmp eq i32 %t3630, 0 - %t3634 = select i1 %t3633, i32 8, i32 %t3632 - %t3635 = getelementptr ptr, ptr null, i32 1 - %t3636 = ptrtoint ptr %t3635 to i64 - %t3637 = zext i32 %t3634 to i64 - %t3638 = mul i64 %t3637, %t3636 - %t3639 = load ptr, ptr %t3628 - %t3640 = call ptr @realloc(ptr %t3639, i64 %t3638) - store ptr %t3640, ptr %t3628 - store i32 %t3634, ptr %t3627 - br label %put779 -put779: - %t3641 = load ptr, ptr %t3628 - %t3642 = getelementptr inbounds ptr, ptr %t3641, i32 %t3629 - store ptr @.str6466, ptr %t3642 - %t3643 = add i32 %t3629, 1 - store i32 %t3643, ptr %t3626 - %t3644 = load ptr, ptr %t337 - %t3645 = getelementptr inbounds %LSlice, ptr %t3644, i32 0, i32 1 - %t3646 = getelementptr inbounds %LSlice, ptr %t3644, i32 0, i32 2 - %t3647 = getelementptr inbounds %LSlice, ptr %t3644, i32 0, i32 0 - %t3648 = load i32, ptr %t3645 - %t3649 = load i32, ptr %t3646 - %t3650 = icmp sge i32 %t3648, %t3649 - br i1 %t3650, label %grow780, label %put781 -grow780: - %t3651 = mul i32 %t3649, 2 - %t3652 = icmp eq i32 %t3649, 0 - %t3653 = select i1 %t3652, i32 8, i32 %t3651 - %t3654 = getelementptr ptr, ptr null, i32 1 - %t3655 = ptrtoint ptr %t3654 to i64 - %t3656 = zext i32 %t3653 to i64 - %t3657 = mul i64 %t3656, %t3655 - %t3658 = load ptr, ptr %t3647 - %t3659 = call ptr @realloc(ptr %t3658, i64 %t3657) - store ptr %t3659, ptr %t3647 - store i32 %t3653, ptr %t3646 - br label %put781 -put781: - %t3660 = load ptr, ptr %t3647 - %t3661 = getelementptr inbounds ptr, ptr %t3660, i32 %t3648 - store ptr @.str6467, ptr %t3661 - %t3662 = add i32 %t3648, 1 - store i32 %t3662, ptr %t3645 - %t3663 = load ptr, ptr %t337 + %t3594 = load ptr, ptr %t1 + %t3595 = call i32 @fn_str_eq(ptr %t3594, ptr @.str6734) + %t3596 = icmp ne i32 %t3595, 0 + br i1 %t3596, label %then699, label %ifend701 +then699: + store ptr @.str6735, ptr %t380 + %t3597 = load ptr, ptr %t387 + %t3598 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 1 + %t3599 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 2 + %t3600 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 0 + %t3601 = load i32, ptr %t3598 + %t3602 = load i32, ptr %t3599 + %t3603 = icmp sge i32 %t3601, %t3602 + br i1 %t3603, label %grow702, label %put703 +grow702: + %t3604 = mul i32 %t3602, 2 + %t3605 = icmp eq i32 %t3602, 0 + %t3606 = select i1 %t3605, i32 8, i32 %t3604 + %t3607 = getelementptr ptr, ptr null, i32 1 + %t3608 = ptrtoint ptr %t3607 to i64 + %t3609 = zext i32 %t3606 to i64 + %t3610 = mul i64 %t3609, %t3608 + %t3611 = load ptr, ptr %t3600 + %t3612 = call ptr @realloc(ptr %t3611, i64 %t3610) + store ptr %t3612, ptr %t3600 + store i32 %t3606, ptr %t3599 + br label %put703 +put703: + %t3613 = load ptr, ptr %t3600 + %t3614 = getelementptr inbounds ptr, ptr %t3613, i32 %t3601 + store ptr @.str6736, ptr %t3614 + %t3615 = add i32 %t3601, 1 + store i32 %t3615, ptr %t3598 + br label %ifend701 +ifend701: + %t3616 = load ptr, ptr %t1 + %t3617 = call i32 @fn_str_eq(ptr %t3616, ptr @.str6737) + %t3618 = icmp ne i32 %t3617, 0 + br i1 %t3618, label %then704, label %ifend706 +then704: + store ptr @.str6738, ptr %t380 + %t3619 = load ptr, ptr %t387 + %t3620 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 1 + %t3621 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 2 + %t3622 = getelementptr inbounds %LSlice, ptr %t3619, i32 0, i32 0 + %t3623 = load i32, ptr %t3620 + %t3624 = load i32, ptr %t3621 + %t3625 = icmp sge i32 %t3623, %t3624 + br i1 %t3625, label %grow707, label %put708 +grow707: + %t3626 = mul i32 %t3624, 2 + %t3627 = icmp eq i32 %t3624, 0 + %t3628 = select i1 %t3627, i32 8, i32 %t3626 + %t3629 = getelementptr ptr, ptr null, i32 1 + %t3630 = ptrtoint ptr %t3629 to i64 + %t3631 = zext i32 %t3628 to i64 + %t3632 = mul i64 %t3631, %t3630 + %t3633 = load ptr, ptr %t3622 + %t3634 = call ptr @realloc(ptr %t3633, i64 %t3632) + store ptr %t3634, ptr %t3622 + store i32 %t3628, ptr %t3621 + br label %put708 +put708: + %t3635 = load ptr, ptr %t3622 + %t3636 = getelementptr inbounds ptr, ptr %t3635, i32 %t3623 + store ptr @.str6739, ptr %t3636 + %t3637 = add i32 %t3623, 1 + store i32 %t3637, ptr %t3620 + br label %ifend706 +ifend706: + %t3638 = load ptr, ptr %t1 + %t3639 = call i32 @fn_str_eq(ptr %t3638, ptr @.str6740) + %t3640 = icmp ne i32 %t3639, 0 + br i1 %t3640, label %then709, label %ifend711 +then709: + store ptr @.str6741, ptr %t380 + %t3641 = load ptr, ptr %t387 + %t3642 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 1 + %t3643 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 2 + %t3644 = getelementptr inbounds %LSlice, ptr %t3641, i32 0, i32 0 + %t3645 = load i32, ptr %t3642 + %t3646 = load i32, ptr %t3643 + %t3647 = icmp sge i32 %t3645, %t3646 + br i1 %t3647, label %grow712, label %put713 +grow712: + %t3648 = mul i32 %t3646, 2 + %t3649 = icmp eq i32 %t3646, 0 + %t3650 = select i1 %t3649, i32 8, i32 %t3648 + %t3651 = getelementptr ptr, ptr null, i32 1 + %t3652 = ptrtoint ptr %t3651 to i64 + %t3653 = zext i32 %t3650 to i64 + %t3654 = mul i64 %t3653, %t3652 + %t3655 = load ptr, ptr %t3644 + %t3656 = call ptr @realloc(ptr %t3655, i64 %t3654) + store ptr %t3656, ptr %t3644 + store i32 %t3650, ptr %t3643 + br label %put713 +put713: + %t3657 = load ptr, ptr %t3644 + %t3658 = getelementptr inbounds ptr, ptr %t3657, i32 %t3645 + store ptr @.str6742, ptr %t3658 + %t3659 = add i32 %t3645, 1 + store i32 %t3659, ptr %t3642 + br label %ifend711 +ifend711: + %t3660 = load ptr, ptr %t1 + %t3661 = call i32 @fn_str_eq(ptr %t3660, ptr @.str6743) + %t3662 = icmp ne i32 %t3661, 0 + br i1 %t3662, label %then714, label %ifend716 +then714: + store ptr @.str6744, ptr %t380 + %t3663 = load ptr, ptr %t387 %t3664 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 1 %t3665 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 2 %t3666 = getelementptr inbounds %LSlice, ptr %t3663, i32 0, i32 0 %t3667 = load i32, ptr %t3664 %t3668 = load i32, ptr %t3665 %t3669 = icmp sge i32 %t3667, %t3668 - br i1 %t3669, label %grow782, label %put783 -grow782: + br i1 %t3669, label %grow717, label %put718 +grow717: %t3670 = mul i32 %t3668, 2 %t3671 = icmp eq i32 %t3668, 0 %t3672 = select i1 %t3671, i32 8, i32 %t3670 @@ -62053,457 +68435,456 @@ grow782: %t3678 = call ptr @realloc(ptr %t3677, i64 %t3676) store ptr %t3678, ptr %t3666 store i32 %t3672, ptr %t3665 - br label %put783 -put783: + br label %put718 +put718: %t3679 = load ptr, ptr %t3666 %t3680 = getelementptr inbounds ptr, ptr %t3679, i32 %t3667 - store ptr @.str6468, ptr %t3680 + store ptr @.str6745, ptr %t3680 %t3681 = add i32 %t3667, 1 store i32 %t3681, ptr %t3664 + br label %ifend716 +ifend716: + %t3682 = load ptr, ptr %t1 + %t3683 = call i32 @fn_str_eq(ptr %t3682, ptr @.str6746) + %t3684 = icmp ne i32 %t3683, 0 + br i1 %t3684, label %then719, label %ifend721 +then719: + store ptr @.str6747, ptr %t380 + %t3685 = load ptr, ptr %t387 + %t3686 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 1 + %t3687 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 2 + %t3688 = getelementptr inbounds %LSlice, ptr %t3685, i32 0, i32 0 + %t3689 = load i32, ptr %t3686 + %t3690 = load i32, ptr %t3687 + %t3691 = icmp sge i32 %t3689, %t3690 + br i1 %t3691, label %grow722, label %put723 +grow722: + %t3692 = mul i32 %t3690, 2 + %t3693 = icmp eq i32 %t3690, 0 + %t3694 = select i1 %t3693, i32 8, i32 %t3692 + %t3695 = getelementptr ptr, ptr null, i32 1 + %t3696 = ptrtoint ptr %t3695 to i64 + %t3697 = zext i32 %t3694 to i64 + %t3698 = mul i64 %t3697, %t3696 + %t3699 = load ptr, ptr %t3688 + %t3700 = call ptr @realloc(ptr %t3699, i64 %t3698) + store ptr %t3700, ptr %t3688 + store i32 %t3694, ptr %t3687 + br label %put723 +put723: + %t3701 = load ptr, ptr %t3688 + %t3702 = getelementptr inbounds ptr, ptr %t3701, i32 %t3689 + store ptr @.str6748, ptr %t3702 + %t3703 = add i32 %t3689, 1 + store i32 %t3703, ptr %t3686 + %t3704 = load ptr, ptr %t387 + %t3705 = getelementptr inbounds %LSlice, ptr %t3704, i32 0, i32 1 + %t3706 = getelementptr inbounds %LSlice, ptr %t3704, i32 0, i32 2 + %t3707 = getelementptr inbounds %LSlice, ptr %t3704, i32 0, i32 0 + %t3708 = load i32, ptr %t3705 + %t3709 = load i32, ptr %t3706 + %t3710 = icmp sge i32 %t3708, %t3709 + br i1 %t3710, label %grow724, label %put725 +grow724: + %t3711 = mul i32 %t3709, 2 + %t3712 = icmp eq i32 %t3709, 0 + %t3713 = select i1 %t3712, i32 8, i32 %t3711 + %t3714 = getelementptr ptr, ptr null, i32 1 + %t3715 = ptrtoint ptr %t3714 to i64 + %t3716 = zext i32 %t3713 to i64 + %t3717 = mul i64 %t3716, %t3715 + %t3718 = load ptr, ptr %t3707 + %t3719 = call ptr @realloc(ptr %t3718, i64 %t3717) + store ptr %t3719, ptr %t3707 + store i32 %t3713, ptr %t3706 + br label %put725 +put725: + %t3720 = load ptr, ptr %t3707 + %t3721 = getelementptr inbounds ptr, ptr %t3720, i32 %t3708 + store ptr @.str6749, ptr %t3721 + %t3722 = add i32 %t3708, 1 + store i32 %t3722, ptr %t3705 + br label %ifend721 +ifend721: + %t3723 = load ptr, ptr %t1 + %t3724 = call i32 @fn_str_eq(ptr %t3723, ptr @.str6750) + %t3725 = icmp ne i32 %t3724, 0 + br i1 %t3725, label %then726, label %ifend728 +then726: + store ptr @.str6751, ptr %t380 + %t3726 = load ptr, ptr %t387 + %t3727 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 1 + %t3728 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 2 + %t3729 = getelementptr inbounds %LSlice, ptr %t3726, i32 0, i32 0 + %t3730 = load i32, ptr %t3727 + %t3731 = load i32, ptr %t3728 + %t3732 = icmp sge i32 %t3730, %t3731 + br i1 %t3732, label %grow729, label %put730 +grow729: + %t3733 = mul i32 %t3731, 2 + %t3734 = icmp eq i32 %t3731, 0 + %t3735 = select i1 %t3734, i32 8, i32 %t3733 + %t3736 = getelementptr ptr, ptr null, i32 1 + %t3737 = ptrtoint ptr %t3736 to i64 + %t3738 = zext i32 %t3735 to i64 + %t3739 = mul i64 %t3738, %t3737 + %t3740 = load ptr, ptr %t3729 + %t3741 = call ptr @realloc(ptr %t3740, i64 %t3739) + store ptr %t3741, ptr %t3729 + store i32 %t3735, ptr %t3728 + br label %put730 +put730: + %t3742 = load ptr, ptr %t3729 + %t3743 = getelementptr inbounds ptr, ptr %t3742, i32 %t3730 + store ptr @.str6752, ptr %t3743 + %t3744 = add i32 %t3730, 1 + store i32 %t3744, ptr %t3727 + br label %ifend728 +ifend728: + %t3745 = load ptr, ptr %t1 + %t3746 = call i32 @fn_str_eq(ptr %t3745, ptr @.str6753) + %t3747 = icmp ne i32 %t3746, 0 + br i1 %t3747, label %then731, label %ifend733 +then731: + store ptr @.str6754, ptr %t380 + br label %ifend733 +ifend733: + %t3748 = load ptr, ptr %t1 + %t3749 = call i32 @fn_str_eq(ptr %t3748, ptr @.str6755) + %t3750 = icmp ne i32 %t3749, 0 + br i1 %t3750, label %then734, label %ifend736 +then734: + store ptr @.str6756, ptr %t380 + br label %ifend736 +ifend736: + %t3751 = load ptr, ptr %t1 + %t3752 = call i32 @fn_str_eq(ptr %t3751, ptr @.str6757) + %t3753 = icmp ne i32 %t3752, 0 + br i1 %t3753, label %then737, label %ifend739 +then737: + store ptr @.str6758, ptr %t380 + br label %ifend739 +ifend739: + %t3754 = load ptr, ptr %t1 + %t3755 = call i32 @fn_str_eq(ptr %t3754, ptr @.str6759) + %t3756 = icmp ne i32 %t3755, 0 + br i1 %t3756, label %then740, label %ifend742 +then740: + store ptr @.str6760, ptr %t380 + br label %ifend742 +ifend742: + br label %ifend693 +ifend693: + %t3757 = load ptr, ptr %t0 + %t3758 = call i32 @fn_str_eq(ptr %t3757, ptr @.str6761) + %t3759 = icmp ne i32 %t3758, 0 + br i1 %t3759, label %then743, label %ifend745 +then743: + %t3760 = load ptr, ptr %t1 + %t3761 = call i32 @fn_str_eq(ptr %t3760, ptr @.str6762) + %t3762 = icmp ne i32 %t3761, 0 + br i1 %t3762, label %then746, label %ifend748 +then746: + store ptr @.str6763, ptr %t380 + %t3763 = load ptr, ptr %t387 + %t3764 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 1 + %t3765 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 2 + %t3766 = getelementptr inbounds %LSlice, ptr %t3763, i32 0, i32 0 + %t3767 = load i32, ptr %t3764 + %t3768 = load i32, ptr %t3765 + %t3769 = icmp sge i32 %t3767, %t3768 + br i1 %t3769, label %grow749, label %put750 +grow749: + %t3770 = mul i32 %t3768, 2 + %t3771 = icmp eq i32 %t3768, 0 + %t3772 = select i1 %t3771, i32 8, i32 %t3770 + %t3773 = getelementptr ptr, ptr null, i32 1 + %t3774 = ptrtoint ptr %t3773 to i64 + %t3775 = zext i32 %t3772 to i64 + %t3776 = mul i64 %t3775, %t3774 + %t3777 = load ptr, ptr %t3766 + %t3778 = call ptr @realloc(ptr %t3777, i64 %t3776) + store ptr %t3778, ptr %t3766 + store i32 %t3772, ptr %t3765 + br label %put750 +put750: + %t3779 = load ptr, ptr %t3766 + %t3780 = getelementptr inbounds ptr, ptr %t3779, i32 %t3767 + store ptr @.str6764, ptr %t3780 + %t3781 = add i32 %t3767, 1 + store i32 %t3781, ptr %t3764 + %t3782 = load ptr, ptr %t387 + %t3783 = getelementptr inbounds %LSlice, ptr %t3782, i32 0, i32 1 + %t3784 = getelementptr inbounds %LSlice, ptr %t3782, i32 0, i32 2 + %t3785 = getelementptr inbounds %LSlice, ptr %t3782, i32 0, i32 0 + %t3786 = load i32, ptr %t3783 + %t3787 = load i32, ptr %t3784 + %t3788 = icmp sge i32 %t3786, %t3787 + br i1 %t3788, label %grow751, label %put752 +grow751: + %t3789 = mul i32 %t3787, 2 + %t3790 = icmp eq i32 %t3787, 0 + %t3791 = select i1 %t3790, i32 8, i32 %t3789 + %t3792 = getelementptr ptr, ptr null, i32 1 + %t3793 = ptrtoint ptr %t3792 to i64 + %t3794 = zext i32 %t3791 to i64 + %t3795 = mul i64 %t3794, %t3793 + %t3796 = load ptr, ptr %t3785 + %t3797 = call ptr @realloc(ptr %t3796, i64 %t3795) + store ptr %t3797, ptr %t3785 + store i32 %t3791, ptr %t3784 + br label %put752 +put752: + %t3798 = load ptr, ptr %t3785 + %t3799 = getelementptr inbounds ptr, ptr %t3798, i32 %t3786 + store ptr @.str6765, ptr %t3799 + %t3800 = add i32 %t3786, 1 + store i32 %t3800, ptr %t3783 + br label %ifend748 +ifend748: + %t3801 = load ptr, ptr %t1 + %t3802 = call i32 @fn_str_eq(ptr %t3801, ptr @.str6766) + %t3803 = icmp ne i32 %t3802, 0 + br i1 %t3803, label %then753, label %ifend755 +then753: + store ptr @.str6767, ptr %t380 + %t3804 = load ptr, ptr %t387 + %t3805 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 1 + %t3806 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 2 + %t3807 = getelementptr inbounds %LSlice, ptr %t3804, i32 0, i32 0 + %t3808 = load i32, ptr %t3805 + %t3809 = load i32, ptr %t3806 + %t3810 = icmp sge i32 %t3808, %t3809 + br i1 %t3810, label %grow756, label %put757 +grow756: + %t3811 = mul i32 %t3809, 2 + %t3812 = icmp eq i32 %t3809, 0 + %t3813 = select i1 %t3812, i32 8, i32 %t3811 + %t3814 = getelementptr ptr, ptr null, i32 1 + %t3815 = ptrtoint ptr %t3814 to i64 + %t3816 = zext i32 %t3813 to i64 + %t3817 = mul i64 %t3816, %t3815 + %t3818 = load ptr, ptr %t3807 + %t3819 = call ptr @realloc(ptr %t3818, i64 %t3817) + store ptr %t3819, ptr %t3807 + store i32 %t3813, ptr %t3806 + br label %put757 +put757: + %t3820 = load ptr, ptr %t3807 + %t3821 = getelementptr inbounds ptr, ptr %t3820, i32 %t3808 + store ptr @.str6768, ptr %t3821 + %t3822 = add i32 %t3808, 1 + store i32 %t3822, ptr %t3805 + %t3823 = load ptr, ptr %t387 + %t3824 = getelementptr inbounds %LSlice, ptr %t3823, i32 0, i32 1 + %t3825 = getelementptr inbounds %LSlice, ptr %t3823, i32 0, i32 2 + %t3826 = getelementptr inbounds %LSlice, ptr %t3823, i32 0, i32 0 + %t3827 = load i32, ptr %t3824 + %t3828 = load i32, ptr %t3825 + %t3829 = icmp sge i32 %t3827, %t3828 + br i1 %t3829, label %grow758, label %put759 +grow758: + %t3830 = mul i32 %t3828, 2 + %t3831 = icmp eq i32 %t3828, 0 + %t3832 = select i1 %t3831, i32 8, i32 %t3830 + %t3833 = getelementptr ptr, ptr null, i32 1 + %t3834 = ptrtoint ptr %t3833 to i64 + %t3835 = zext i32 %t3832 to i64 + %t3836 = mul i64 %t3835, %t3834 + %t3837 = load ptr, ptr %t3826 + %t3838 = call ptr @realloc(ptr %t3837, i64 %t3836) + store ptr %t3838, ptr %t3826 + store i32 %t3832, ptr %t3825 + br label %put759 +put759: + %t3839 = load ptr, ptr %t3826 + %t3840 = getelementptr inbounds ptr, ptr %t3839, i32 %t3827 + store ptr @.str6769, ptr %t3840 + %t3841 = add i32 %t3827, 1 + store i32 %t3841, ptr %t3824 + %t3842 = load ptr, ptr %t387 + %t3843 = getelementptr inbounds %LSlice, ptr %t3842, i32 0, i32 1 + %t3844 = getelementptr inbounds %LSlice, ptr %t3842, i32 0, i32 2 + %t3845 = getelementptr inbounds %LSlice, ptr %t3842, i32 0, i32 0 + %t3846 = load i32, ptr %t3843 + %t3847 = load i32, ptr %t3844 + %t3848 = icmp sge i32 %t3846, %t3847 + br i1 %t3848, label %grow760, label %put761 +grow760: + %t3849 = mul i32 %t3847, 2 + %t3850 = icmp eq i32 %t3847, 0 + %t3851 = select i1 %t3850, i32 8, i32 %t3849 + %t3852 = getelementptr ptr, ptr null, i32 1 + %t3853 = ptrtoint ptr %t3852 to i64 + %t3854 = zext i32 %t3851 to i64 + %t3855 = mul i64 %t3854, %t3853 + %t3856 = load ptr, ptr %t3845 + %t3857 = call ptr @realloc(ptr %t3856, i64 %t3855) + store ptr %t3857, ptr %t3845 + store i32 %t3851, ptr %t3844 + br label %put761 +put761: + %t3858 = load ptr, ptr %t3845 + %t3859 = getelementptr inbounds ptr, ptr %t3858, i32 %t3846 + store ptr @.str6770, ptr %t3859 + %t3860 = add i32 %t3846, 1 + store i32 %t3860, ptr %t3843 + br label %ifend755 +ifend755: + %t3861 = load ptr, ptr %t1 + %t3862 = call i32 @fn_str_eq(ptr %t3861, ptr @.str6771) + %t3863 = icmp ne i32 %t3862, 0 + br i1 %t3863, label %then762, label %ifend764 +then762: + store ptr @.str6772, ptr %t380 + %t3864 = load ptr, ptr %t387 + %t3865 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 1 + %t3866 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 2 + %t3867 = getelementptr inbounds %LSlice, ptr %t3864, i32 0, i32 0 + %t3868 = load i32, ptr %t3865 + %t3869 = load i32, ptr %t3866 + %t3870 = icmp sge i32 %t3868, %t3869 + br i1 %t3870, label %grow765, label %put766 +grow765: + %t3871 = mul i32 %t3869, 2 + %t3872 = icmp eq i32 %t3869, 0 + %t3873 = select i1 %t3872, i32 8, i32 %t3871 + %t3874 = getelementptr ptr, ptr null, i32 1 + %t3875 = ptrtoint ptr %t3874 to i64 + %t3876 = zext i32 %t3873 to i64 + %t3877 = mul i64 %t3876, %t3875 + %t3878 = load ptr, ptr %t3867 + %t3879 = call ptr @realloc(ptr %t3878, i64 %t3877) + store ptr %t3879, ptr %t3867 + store i32 %t3873, ptr %t3866 + br label %put766 +put766: + %t3880 = load ptr, ptr %t3867 + %t3881 = getelementptr inbounds ptr, ptr %t3880, i32 %t3868 + store ptr @.str6773, ptr %t3881 + %t3882 = add i32 %t3868, 1 + store i32 %t3882, ptr %t3865 + br label %ifend764 +ifend764: + %t3883 = load ptr, ptr %t1 + %t3884 = call i32 @fn_str_eq(ptr %t3883, ptr @.str6774) + %t3885 = icmp ne i32 %t3884, 0 + br i1 %t3885, label %then767, label %ifend769 +then767: + store ptr @.str6775, ptr %t380 + %t3886 = load ptr, ptr %t387 + %t3887 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 1 + %t3888 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 2 + %t3889 = getelementptr inbounds %LSlice, ptr %t3886, i32 0, i32 0 + %t3890 = load i32, ptr %t3887 + %t3891 = load i32, ptr %t3888 + %t3892 = icmp sge i32 %t3890, %t3891 + br i1 %t3892, label %grow770, label %put771 +grow770: + %t3893 = mul i32 %t3891, 2 + %t3894 = icmp eq i32 %t3891, 0 + %t3895 = select i1 %t3894, i32 8, i32 %t3893 + %t3896 = getelementptr ptr, ptr null, i32 1 + %t3897 = ptrtoint ptr %t3896 to i64 + %t3898 = zext i32 %t3895 to i64 + %t3899 = mul i64 %t3898, %t3897 + %t3900 = load ptr, ptr %t3889 + %t3901 = call ptr @realloc(ptr %t3900, i64 %t3899) + store ptr %t3901, ptr %t3889 + store i32 %t3895, ptr %t3888 + br label %put771 +put771: + %t3902 = load ptr, ptr %t3889 + %t3903 = getelementptr inbounds ptr, ptr %t3902, i32 %t3890 + store ptr @.str6776, ptr %t3903 + %t3904 = add i32 %t3890, 1 + store i32 %t3904, ptr %t3887 + %t3905 = load ptr, ptr %t387 + %t3906 = getelementptr inbounds %LSlice, ptr %t3905, i32 0, i32 1 + %t3907 = getelementptr inbounds %LSlice, ptr %t3905, i32 0, i32 2 + %t3908 = getelementptr inbounds %LSlice, ptr %t3905, i32 0, i32 0 + %t3909 = load i32, ptr %t3906 + %t3910 = load i32, ptr %t3907 + %t3911 = icmp sge i32 %t3909, %t3910 + br i1 %t3911, label %grow772, label %put773 +grow772: + %t3912 = mul i32 %t3910, 2 + %t3913 = icmp eq i32 %t3910, 0 + %t3914 = select i1 %t3913, i32 8, i32 %t3912 + %t3915 = getelementptr ptr, ptr null, i32 1 + %t3916 = ptrtoint ptr %t3915 to i64 + %t3917 = zext i32 %t3914 to i64 + %t3918 = mul i64 %t3917, %t3916 + %t3919 = load ptr, ptr %t3908 + %t3920 = call ptr @realloc(ptr %t3919, i64 %t3918) + store ptr %t3920, ptr %t3908 + store i32 %t3914, ptr %t3907 + br label %put773 +put773: + %t3921 = load ptr, ptr %t3908 + %t3922 = getelementptr inbounds ptr, ptr %t3921, i32 %t3909 + store ptr @.str6777, ptr %t3922 + %t3923 = add i32 %t3909, 1 + store i32 %t3923, ptr %t3906 br label %ifend769 ifend769: - %t3682 = load ptr, ptr %t1 - %t3683 = call i32 @fn_str_eq(ptr %t3682, ptr @.str6469) - %t3684 = icmp ne i32 %t3683, 0 - br i1 %t3684, label %then784, label %ifend786 -then784: - store ptr @.str6470, ptr %t330 - br label %ifend786 -ifend786: - %t3685 = load ptr, ptr %t1 - %t3686 = call i32 @fn_str_eq(ptr %t3685, ptr @.str6471) - %t3687 = icmp ne i32 %t3686, 0 - br i1 %t3687, label %then787, label %ifend789 -then787: - store ptr @.str6472, ptr %t330 - %t3688 = load ptr, ptr %t337 - %t3689 = getelementptr inbounds %LSlice, ptr %t3688, i32 0, i32 1 - %t3690 = getelementptr inbounds %LSlice, ptr %t3688, i32 0, i32 2 - %t3691 = getelementptr inbounds %LSlice, ptr %t3688, i32 0, i32 0 - %t3692 = load i32, ptr %t3689 - %t3693 = load i32, ptr %t3690 - %t3694 = icmp sge i32 %t3692, %t3693 - br i1 %t3694, label %grow790, label %put791 -grow790: - %t3695 = mul i32 %t3693, 2 - %t3696 = icmp eq i32 %t3693, 0 - %t3697 = select i1 %t3696, i32 8, i32 %t3695 - %t3698 = getelementptr ptr, ptr null, i32 1 - %t3699 = ptrtoint ptr %t3698 to i64 - %t3700 = zext i32 %t3697 to i64 - %t3701 = mul i64 %t3700, %t3699 - %t3702 = load ptr, ptr %t3691 - %t3703 = call ptr @realloc(ptr %t3702, i64 %t3701) - store ptr %t3703, ptr %t3691 - store i32 %t3697, ptr %t3690 - br label %put791 -put791: - %t3704 = load ptr, ptr %t3691 - %t3705 = getelementptr inbounds ptr, ptr %t3704, i32 %t3692 - store ptr @.str6473, ptr %t3705 - %t3706 = add i32 %t3692, 1 - store i32 %t3706, ptr %t3689 - br label %ifend789 -ifend789: - %t3707 = load ptr, ptr %t1 - %t3708 = call i32 @fn_str_eq(ptr %t3707, ptr @.str6474) - %t3709 = icmp ne i32 %t3708, 0 - br i1 %t3709, label %then792, label %ifend794 -then792: - store ptr @.str6475, ptr %t330 - %t3710 = load ptr, ptr %t337 - %t3711 = getelementptr inbounds %LSlice, ptr %t3710, i32 0, i32 1 - %t3712 = getelementptr inbounds %LSlice, ptr %t3710, i32 0, i32 2 - %t3713 = getelementptr inbounds %LSlice, ptr %t3710, i32 0, i32 0 - %t3714 = load i32, ptr %t3711 - %t3715 = load i32, ptr %t3712 - %t3716 = icmp sge i32 %t3714, %t3715 - br i1 %t3716, label %grow795, label %put796 -grow795: - %t3717 = mul i32 %t3715, 2 - %t3718 = icmp eq i32 %t3715, 0 - %t3719 = select i1 %t3718, i32 8, i32 %t3717 - %t3720 = getelementptr ptr, ptr null, i32 1 - %t3721 = ptrtoint ptr %t3720 to i64 - %t3722 = zext i32 %t3719 to i64 - %t3723 = mul i64 %t3722, %t3721 - %t3724 = load ptr, ptr %t3713 - %t3725 = call ptr @realloc(ptr %t3724, i64 %t3723) - store ptr %t3725, ptr %t3713 - store i32 %t3719, ptr %t3712 - br label %put796 -put796: - %t3726 = load ptr, ptr %t3713 - %t3727 = getelementptr inbounds ptr, ptr %t3726, i32 %t3714 - store ptr @.str6476, ptr %t3727 - %t3728 = add i32 %t3714, 1 - store i32 %t3728, ptr %t3711 - br label %ifend794 -ifend794: - %t3729 = load ptr, ptr %t1 - %t3730 = call i32 @fn_str_eq(ptr %t3729, ptr @.str6477) - %t3731 = icmp ne i32 %t3730, 0 - br i1 %t3731, label %then797, label %ifend799 -then797: - store ptr @.str6478, ptr %t330 - %t3732 = load ptr, ptr %t337 - %t3733 = getelementptr inbounds %LSlice, ptr %t3732, i32 0, i32 1 - %t3734 = getelementptr inbounds %LSlice, ptr %t3732, i32 0, i32 2 - %t3735 = getelementptr inbounds %LSlice, ptr %t3732, i32 0, i32 0 - %t3736 = load i32, ptr %t3733 - %t3737 = load i32, ptr %t3734 - %t3738 = icmp sge i32 %t3736, %t3737 - br i1 %t3738, label %grow800, label %put801 -grow800: - %t3739 = mul i32 %t3737, 2 - %t3740 = icmp eq i32 %t3737, 0 - %t3741 = select i1 %t3740, i32 8, i32 %t3739 - %t3742 = getelementptr ptr, ptr null, i32 1 - %t3743 = ptrtoint ptr %t3742 to i64 - %t3744 = zext i32 %t3741 to i64 - %t3745 = mul i64 %t3744, %t3743 - %t3746 = load ptr, ptr %t3735 - %t3747 = call ptr @realloc(ptr %t3746, i64 %t3745) - store ptr %t3747, ptr %t3735 - store i32 %t3741, ptr %t3734 - br label %put801 -put801: - %t3748 = load ptr, ptr %t3735 - %t3749 = getelementptr inbounds ptr, ptr %t3748, i32 %t3736 - store ptr @.str6479, ptr %t3749 - %t3750 = add i32 %t3736, 1 - store i32 %t3750, ptr %t3733 - %t3751 = load ptr, ptr %t337 - %t3752 = getelementptr inbounds %LSlice, ptr %t3751, i32 0, i32 1 - %t3753 = getelementptr inbounds %LSlice, ptr %t3751, i32 0, i32 2 - %t3754 = getelementptr inbounds %LSlice, ptr %t3751, i32 0, i32 0 - %t3755 = load i32, ptr %t3752 - %t3756 = load i32, ptr %t3753 - %t3757 = icmp sge i32 %t3755, %t3756 - br i1 %t3757, label %grow802, label %put803 -grow802: - %t3758 = mul i32 %t3756, 2 - %t3759 = icmp eq i32 %t3756, 0 - %t3760 = select i1 %t3759, i32 8, i32 %t3758 - %t3761 = getelementptr ptr, ptr null, i32 1 - %t3762 = ptrtoint ptr %t3761 to i64 - %t3763 = zext i32 %t3760 to i64 - %t3764 = mul i64 %t3763, %t3762 - %t3765 = load ptr, ptr %t3754 - %t3766 = call ptr @realloc(ptr %t3765, i64 %t3764) - store ptr %t3766, ptr %t3754 - store i32 %t3760, ptr %t3753 - br label %put803 -put803: - %t3767 = load ptr, ptr %t3754 - %t3768 = getelementptr inbounds ptr, ptr %t3767, i32 %t3755 - store ptr @.str6480, ptr %t3768 - %t3769 = add i32 %t3755, 1 - store i32 %t3769, ptr %t3752 - %t3770 = load ptr, ptr %t337 - %t3771 = getelementptr inbounds %LSlice, ptr %t3770, i32 0, i32 1 - %t3772 = getelementptr inbounds %LSlice, ptr %t3770, i32 0, i32 2 - %t3773 = getelementptr inbounds %LSlice, ptr %t3770, i32 0, i32 0 - %t3774 = load i32, ptr %t3771 - %t3775 = load i32, ptr %t3772 - %t3776 = icmp sge i32 %t3774, %t3775 - br i1 %t3776, label %grow804, label %put805 -grow804: - %t3777 = mul i32 %t3775, 2 - %t3778 = icmp eq i32 %t3775, 0 - %t3779 = select i1 %t3778, i32 8, i32 %t3777 - %t3780 = getelementptr ptr, ptr null, i32 1 - %t3781 = ptrtoint ptr %t3780 to i64 - %t3782 = zext i32 %t3779 to i64 - %t3783 = mul i64 %t3782, %t3781 - %t3784 = load ptr, ptr %t3773 - %t3785 = call ptr @realloc(ptr %t3784, i64 %t3783) - store ptr %t3785, ptr %t3773 - store i32 %t3779, ptr %t3772 - br label %put805 -put805: - %t3786 = load ptr, ptr %t3773 - %t3787 = getelementptr inbounds ptr, ptr %t3786, i32 %t3774 - store ptr @.str6481, ptr %t3787 - %t3788 = add i32 %t3774, 1 - store i32 %t3788, ptr %t3771 - %t3789 = load ptr, ptr %t337 - %t3790 = getelementptr inbounds %LSlice, ptr %t3789, i32 0, i32 1 - %t3791 = getelementptr inbounds %LSlice, ptr %t3789, i32 0, i32 2 - %t3792 = getelementptr inbounds %LSlice, ptr %t3789, i32 0, i32 0 - %t3793 = load i32, ptr %t3790 - %t3794 = load i32, ptr %t3791 - %t3795 = icmp sge i32 %t3793, %t3794 - br i1 %t3795, label %grow806, label %put807 -grow806: - %t3796 = mul i32 %t3794, 2 - %t3797 = icmp eq i32 %t3794, 0 - %t3798 = select i1 %t3797, i32 8, i32 %t3796 - %t3799 = getelementptr ptr, ptr null, i32 1 - %t3800 = ptrtoint ptr %t3799 to i64 - %t3801 = zext i32 %t3798 to i64 - %t3802 = mul i64 %t3801, %t3800 - %t3803 = load ptr, ptr %t3792 - %t3804 = call ptr @realloc(ptr %t3803, i64 %t3802) - store ptr %t3804, ptr %t3792 - store i32 %t3798, ptr %t3791 - br label %put807 -put807: - %t3805 = load ptr, ptr %t3792 - %t3806 = getelementptr inbounds ptr, ptr %t3805, i32 %t3793 - store ptr @.str6482, ptr %t3806 - %t3807 = add i32 %t3793, 1 - store i32 %t3807, ptr %t3790 - br label %ifend799 -ifend799: - %t3808 = load ptr, ptr %t1 - %t3809 = call i32 @fn_str_eq(ptr %t3808, ptr @.str6483) - %t3810 = icmp ne i32 %t3809, 0 - br i1 %t3810, label %then808, label %ifend810 -then808: - store ptr @.str6484, ptr %t330 - %t3811 = load ptr, ptr %t337 - %t3812 = getelementptr inbounds %LSlice, ptr %t3811, i32 0, i32 1 - %t3813 = getelementptr inbounds %LSlice, ptr %t3811, i32 0, i32 2 - %t3814 = getelementptr inbounds %LSlice, ptr %t3811, i32 0, i32 0 - %t3815 = load i32, ptr %t3812 - %t3816 = load i32, ptr %t3813 - %t3817 = icmp sge i32 %t3815, %t3816 - br i1 %t3817, label %grow811, label %put812 -grow811: - %t3818 = mul i32 %t3816, 2 - %t3819 = icmp eq i32 %t3816, 0 - %t3820 = select i1 %t3819, i32 8, i32 %t3818 - %t3821 = getelementptr ptr, ptr null, i32 1 - %t3822 = ptrtoint ptr %t3821 to i64 - %t3823 = zext i32 %t3820 to i64 - %t3824 = mul i64 %t3823, %t3822 - %t3825 = load ptr, ptr %t3814 - %t3826 = call ptr @realloc(ptr %t3825, i64 %t3824) - store ptr %t3826, ptr %t3814 - store i32 %t3820, ptr %t3813 - br label %put812 -put812: - %t3827 = load ptr, ptr %t3814 - %t3828 = getelementptr inbounds ptr, ptr %t3827, i32 %t3815 - store ptr @.str6485, ptr %t3828 - %t3829 = add i32 %t3815, 1 - store i32 %t3829, ptr %t3812 - br label %ifend810 -ifend810: - br label %ifend608 -ifend608: - %t3830 = load ptr, ptr %t0 - %t3831 = call i32 @fn_str_eq(ptr %t3830, ptr @.str6486) - %t3832 = icmp ne i32 %t3831, 0 - br i1 %t3832, label %then813, label %ifend815 -then813: - %t3833 = load ptr, ptr %t1 - %t3834 = call i32 @fn_str_eq(ptr %t3833, ptr @.str6487) - %t3835 = icmp ne i32 %t3834, 0 - br i1 %t3835, label %then816, label %ifend818 -then816: - store ptr @.str6488, ptr %t330 - %t3836 = load ptr, ptr %t337 - %t3837 = getelementptr inbounds %LSlice, ptr %t3836, i32 0, i32 1 - %t3838 = getelementptr inbounds %LSlice, ptr %t3836, i32 0, i32 2 - %t3839 = getelementptr inbounds %LSlice, ptr %t3836, i32 0, i32 0 - %t3840 = load i32, ptr %t3837 - %t3841 = load i32, ptr %t3838 - %t3842 = icmp sge i32 %t3840, %t3841 - br i1 %t3842, label %grow819, label %put820 -grow819: - %t3843 = mul i32 %t3841, 2 - %t3844 = icmp eq i32 %t3841, 0 - %t3845 = select i1 %t3844, i32 8, i32 %t3843 - %t3846 = getelementptr ptr, ptr null, i32 1 - %t3847 = ptrtoint ptr %t3846 to i64 - %t3848 = zext i32 %t3845 to i64 - %t3849 = mul i64 %t3848, %t3847 - %t3850 = load ptr, ptr %t3839 - %t3851 = call ptr @realloc(ptr %t3850, i64 %t3849) - store ptr %t3851, ptr %t3839 - store i32 %t3845, ptr %t3838 - br label %put820 -put820: - %t3852 = load ptr, ptr %t3839 - %t3853 = getelementptr inbounds ptr, ptr %t3852, i32 %t3840 - store ptr @.str6489, ptr %t3853 - %t3854 = add i32 %t3840, 1 - store i32 %t3854, ptr %t3837 - br label %ifend818 -ifend818: - %t3855 = load ptr, ptr %t1 - %t3856 = call i32 @fn_str_eq(ptr %t3855, ptr @.str6490) - %t3857 = icmp ne i32 %t3856, 0 - br i1 %t3857, label %then821, label %ifend823 -then821: - store ptr @.str6491, ptr %t330 - %t3858 = load ptr, ptr %t337 - %t3859 = getelementptr inbounds %LSlice, ptr %t3858, i32 0, i32 1 - %t3860 = getelementptr inbounds %LSlice, ptr %t3858, i32 0, i32 2 - %t3861 = getelementptr inbounds %LSlice, ptr %t3858, i32 0, i32 0 - %t3862 = load i32, ptr %t3859 - %t3863 = load i32, ptr %t3860 - %t3864 = icmp sge i32 %t3862, %t3863 - br i1 %t3864, label %grow824, label %put825 -grow824: - %t3865 = mul i32 %t3863, 2 - %t3866 = icmp eq i32 %t3863, 0 - %t3867 = select i1 %t3866, i32 8, i32 %t3865 - %t3868 = getelementptr ptr, ptr null, i32 1 - %t3869 = ptrtoint ptr %t3868 to i64 - %t3870 = zext i32 %t3867 to i64 - %t3871 = mul i64 %t3870, %t3869 - %t3872 = load ptr, ptr %t3861 - %t3873 = call ptr @realloc(ptr %t3872, i64 %t3871) - store ptr %t3873, ptr %t3861 - store i32 %t3867, ptr %t3860 - br label %put825 -put825: - %t3874 = load ptr, ptr %t3861 - %t3875 = getelementptr inbounds ptr, ptr %t3874, i32 %t3862 - store ptr @.str6492, ptr %t3875 - %t3876 = add i32 %t3862, 1 - store i32 %t3876, ptr %t3859 - br label %ifend823 -ifend823: - %t3877 = load ptr, ptr %t1 - %t3878 = call i32 @fn_str_eq(ptr %t3877, ptr @.str6493) - %t3879 = icmp ne i32 %t3878, 0 - br i1 %t3879, label %then826, label %ifend828 -then826: - store ptr @.str6494, ptr %t330 - %t3880 = load ptr, ptr %t337 - %t3881 = getelementptr inbounds %LSlice, ptr %t3880, i32 0, i32 1 - %t3882 = getelementptr inbounds %LSlice, ptr %t3880, i32 0, i32 2 - %t3883 = getelementptr inbounds %LSlice, ptr %t3880, i32 0, i32 0 - %t3884 = load i32, ptr %t3881 - %t3885 = load i32, ptr %t3882 - %t3886 = icmp sge i32 %t3884, %t3885 - br i1 %t3886, label %grow829, label %put830 -grow829: - %t3887 = mul i32 %t3885, 2 - %t3888 = icmp eq i32 %t3885, 0 - %t3889 = select i1 %t3888, i32 8, i32 %t3887 - %t3890 = getelementptr ptr, ptr null, i32 1 - %t3891 = ptrtoint ptr %t3890 to i64 - %t3892 = zext i32 %t3889 to i64 - %t3893 = mul i64 %t3892, %t3891 - %t3894 = load ptr, ptr %t3883 - %t3895 = call ptr @realloc(ptr %t3894, i64 %t3893) - store ptr %t3895, ptr %t3883 - store i32 %t3889, ptr %t3882 - br label %put830 -put830: - %t3896 = load ptr, ptr %t3883 - %t3897 = getelementptr inbounds ptr, ptr %t3896, i32 %t3884 - store ptr @.str6495, ptr %t3897 - %t3898 = add i32 %t3884, 1 - store i32 %t3898, ptr %t3881 - br label %ifend828 -ifend828: - %t3899 = load ptr, ptr %t1 - %t3900 = call i32 @fn_str_eq(ptr %t3899, ptr @.str6496) - %t3901 = icmp ne i32 %t3900, 0 - br i1 %t3901, label %then831, label %ifend833 -then831: - store ptr @.str6497, ptr %t330 - %t3902 = load ptr, ptr %t337 - %t3903 = getelementptr inbounds %LSlice, ptr %t3902, i32 0, i32 1 - %t3904 = getelementptr inbounds %LSlice, ptr %t3902, i32 0, i32 2 - %t3905 = getelementptr inbounds %LSlice, ptr %t3902, i32 0, i32 0 - %t3906 = load i32, ptr %t3903 - %t3907 = load i32, ptr %t3904 - %t3908 = icmp sge i32 %t3906, %t3907 - br i1 %t3908, label %grow834, label %put835 -grow834: - %t3909 = mul i32 %t3907, 2 - %t3910 = icmp eq i32 %t3907, 0 - %t3911 = select i1 %t3910, i32 8, i32 %t3909 - %t3912 = getelementptr ptr, ptr null, i32 1 - %t3913 = ptrtoint ptr %t3912 to i64 - %t3914 = zext i32 %t3911 to i64 - %t3915 = mul i64 %t3914, %t3913 - %t3916 = load ptr, ptr %t3905 - %t3917 = call ptr @realloc(ptr %t3916, i64 %t3915) - store ptr %t3917, ptr %t3905 - store i32 %t3911, ptr %t3904 - br label %put835 -put835: - %t3918 = load ptr, ptr %t3905 - %t3919 = getelementptr inbounds ptr, ptr %t3918, i32 %t3906 - store ptr @.str6498, ptr %t3919 - %t3920 = add i32 %t3906, 1 - store i32 %t3920, ptr %t3903 - br label %ifend833 -ifend833: - %t3921 = load ptr, ptr %t1 - %t3922 = call i32 @fn_str_eq(ptr %t3921, ptr @.str6499) - %t3923 = icmp ne i32 %t3922, 0 - br i1 %t3923, label %then836, label %ifend838 -then836: - store ptr @.str6500, ptr %t330 - %t3924 = load ptr, ptr %t337 - %t3925 = getelementptr inbounds %LSlice, ptr %t3924, i32 0, i32 1 - %t3926 = getelementptr inbounds %LSlice, ptr %t3924, i32 0, i32 2 - %t3927 = getelementptr inbounds %LSlice, ptr %t3924, i32 0, i32 0 - %t3928 = load i32, ptr %t3925 - %t3929 = load i32, ptr %t3926 - %t3930 = icmp sge i32 %t3928, %t3929 - br i1 %t3930, label %grow839, label %put840 -grow839: - %t3931 = mul i32 %t3929, 2 - %t3932 = icmp eq i32 %t3929, 0 - %t3933 = select i1 %t3932, i32 8, i32 %t3931 - %t3934 = getelementptr ptr, ptr null, i32 1 - %t3935 = ptrtoint ptr %t3934 to i64 - %t3936 = zext i32 %t3933 to i64 - %t3937 = mul i64 %t3936, %t3935 - %t3938 = load ptr, ptr %t3927 - %t3939 = call ptr @realloc(ptr %t3938, i64 %t3937) - store ptr %t3939, ptr %t3927 - store i32 %t3933, ptr %t3926 - br label %put840 -put840: - %t3940 = load ptr, ptr %t3927 - %t3941 = getelementptr inbounds ptr, ptr %t3940, i32 %t3928 - store ptr @.str6501, ptr %t3941 - %t3942 = add i32 %t3928, 1 - store i32 %t3942, ptr %t3925 - br label %ifend838 -ifend838: - %t3943 = load ptr, ptr %t1 - %t3944 = call i32 @fn_str_eq(ptr %t3943, ptr @.str6502) - %t3945 = icmp ne i32 %t3944, 0 - br i1 %t3945, label %then841, label %ifend843 -then841: - store ptr @.str6503, ptr %t330 - br label %ifend843 -ifend843: - %t3946 = load ptr, ptr %t1 - %t3947 = call i32 @fn_str_eq(ptr %t3946, ptr @.str6504) + %t3924 = load ptr, ptr %t1 + %t3925 = call i32 @fn_str_eq(ptr %t3924, ptr @.str6778) + %t3926 = icmp ne i32 %t3925, 0 + br i1 %t3926, label %then774, label %ifend776 +then774: + store ptr @.str6779, ptr %t380 + %t3927 = load ptr, ptr %t387 + %t3928 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 1 + %t3929 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 2 + %t3930 = getelementptr inbounds %LSlice, ptr %t3927, i32 0, i32 0 + %t3931 = load i32, ptr %t3928 + %t3932 = load i32, ptr %t3929 + %t3933 = icmp sge i32 %t3931, %t3932 + br i1 %t3933, label %grow777, label %put778 +grow777: + %t3934 = mul i32 %t3932, 2 + %t3935 = icmp eq i32 %t3932, 0 + %t3936 = select i1 %t3935, i32 8, i32 %t3934 + %t3937 = getelementptr ptr, ptr null, i32 1 + %t3938 = ptrtoint ptr %t3937 to i64 + %t3939 = zext i32 %t3936 to i64 + %t3940 = mul i64 %t3939, %t3938 + %t3941 = load ptr, ptr %t3930 + %t3942 = call ptr @realloc(ptr %t3941, i64 %t3940) + store ptr %t3942, ptr %t3930 + store i32 %t3936, ptr %t3929 + br label %put778 +put778: + %t3943 = load ptr, ptr %t3930 + %t3944 = getelementptr inbounds ptr, ptr %t3943, i32 %t3931 + store ptr @.str6780, ptr %t3944 + %t3945 = add i32 %t3931, 1 + store i32 %t3945, ptr %t3928 + br label %ifend776 +ifend776: + br label %ifend745 +ifend745: + %t3946 = load ptr, ptr %t0 + %t3947 = call i32 @fn_str_eq(ptr %t3946, ptr @.str6781) %t3948 = icmp ne i32 %t3947, 0 - br i1 %t3948, label %then844, label %ifend846 -then844: - store ptr @.str6505, ptr %t330 - br label %ifend846 -ifend846: + br i1 %t3948, label %then779, label %ifend781 +then779: %t3949 = load ptr, ptr %t1 - %t3950 = call i32 @fn_str_eq(ptr %t3949, ptr @.str6506) + %t3950 = call i32 @fn_str_eq(ptr %t3949, ptr @.str6782) %t3951 = icmp ne i32 %t3950, 0 - br i1 %t3951, label %then847, label %ifend849 -then847: - store ptr @.str6507, ptr %t330 - %t3952 = load ptr, ptr %t337 + br i1 %t3951, label %then782, label %ifend784 +then782: + store ptr @.str6783, ptr %t380 + %t3952 = load ptr, ptr %t387 %t3953 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 1 %t3954 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 2 %t3955 = getelementptr inbounds %LSlice, ptr %t3952, i32 0, i32 0 %t3956 = load i32, ptr %t3953 %t3957 = load i32, ptr %t3954 %t3958 = icmp sge i32 %t3956, %t3957 - br i1 %t3958, label %grow850, label %put851 -grow850: + br i1 %t3958, label %grow785, label %put786 +grow785: %t3959 = mul i32 %t3957, 2 %t3960 = icmp eq i32 %t3957, 0 %t3961 = select i1 %t3960, i32 8, i32 %t3959 @@ -62515,4852 +68896,4860 @@ grow850: %t3967 = call ptr @realloc(ptr %t3966, i64 %t3965) store ptr %t3967, ptr %t3955 store i32 %t3961, ptr %t3954 - br label %put851 -put851: + br label %put786 +put786: %t3968 = load ptr, ptr %t3955 %t3969 = getelementptr inbounds ptr, ptr %t3968, i32 %t3956 - store ptr @.str6508, ptr %t3969 + store ptr @.str6784, ptr %t3969 %t3970 = add i32 %t3956, 1 store i32 %t3970, ptr %t3953 + %t3971 = load ptr, ptr %t387 + %t3972 = getelementptr inbounds %LSlice, ptr %t3971, i32 0, i32 1 + %t3973 = getelementptr inbounds %LSlice, ptr %t3971, i32 0, i32 2 + %t3974 = getelementptr inbounds %LSlice, ptr %t3971, i32 0, i32 0 + %t3975 = load i32, ptr %t3972 + %t3976 = load i32, ptr %t3973 + %t3977 = icmp sge i32 %t3975, %t3976 + br i1 %t3977, label %grow787, label %put788 +grow787: + %t3978 = mul i32 %t3976, 2 + %t3979 = icmp eq i32 %t3976, 0 + %t3980 = select i1 %t3979, i32 8, i32 %t3978 + %t3981 = getelementptr ptr, ptr null, i32 1 + %t3982 = ptrtoint ptr %t3981 to i64 + %t3983 = zext i32 %t3980 to i64 + %t3984 = mul i64 %t3983, %t3982 + %t3985 = load ptr, ptr %t3974 + %t3986 = call ptr @realloc(ptr %t3985, i64 %t3984) + store ptr %t3986, ptr %t3974 + store i32 %t3980, ptr %t3973 + br label %put788 +put788: + %t3987 = load ptr, ptr %t3974 + %t3988 = getelementptr inbounds ptr, ptr %t3987, i32 %t3975 + store ptr @.str6785, ptr %t3988 + %t3989 = add i32 %t3975, 1 + store i32 %t3989, ptr %t3972 + br label %ifend784 +ifend784: + %t3990 = load ptr, ptr %t1 + %t3991 = call i32 @fn_str_eq(ptr %t3990, ptr @.str6786) + %t3992 = icmp ne i32 %t3991, 0 + br i1 %t3992, label %then789, label %ifend791 +then789: + store ptr @.str6787, ptr %t380 + %t3993 = load ptr, ptr %t387 + %t3994 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 1 + %t3995 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 2 + %t3996 = getelementptr inbounds %LSlice, ptr %t3993, i32 0, i32 0 + %t3997 = load i32, ptr %t3994 + %t3998 = load i32, ptr %t3995 + %t3999 = icmp sge i32 %t3997, %t3998 + br i1 %t3999, label %grow792, label %put793 +grow792: + %t4000 = mul i32 %t3998, 2 + %t4001 = icmp eq i32 %t3998, 0 + %t4002 = select i1 %t4001, i32 8, i32 %t4000 + %t4003 = getelementptr ptr, ptr null, i32 1 + %t4004 = ptrtoint ptr %t4003 to i64 + %t4005 = zext i32 %t4002 to i64 + %t4006 = mul i64 %t4005, %t4004 + %t4007 = load ptr, ptr %t3996 + %t4008 = call ptr @realloc(ptr %t4007, i64 %t4006) + store ptr %t4008, ptr %t3996 + store i32 %t4002, ptr %t3995 + br label %put793 +put793: + %t4009 = load ptr, ptr %t3996 + %t4010 = getelementptr inbounds ptr, ptr %t4009, i32 %t3997 + store ptr @.str6788, ptr %t4010 + %t4011 = add i32 %t3997, 1 + store i32 %t4011, ptr %t3994 + %t4012 = load ptr, ptr %t387 + %t4013 = getelementptr inbounds %LSlice, ptr %t4012, i32 0, i32 1 + %t4014 = getelementptr inbounds %LSlice, ptr %t4012, i32 0, i32 2 + %t4015 = getelementptr inbounds %LSlice, ptr %t4012, i32 0, i32 0 + %t4016 = load i32, ptr %t4013 + %t4017 = load i32, ptr %t4014 + %t4018 = icmp sge i32 %t4016, %t4017 + br i1 %t4018, label %grow794, label %put795 +grow794: + %t4019 = mul i32 %t4017, 2 + %t4020 = icmp eq i32 %t4017, 0 + %t4021 = select i1 %t4020, i32 8, i32 %t4019 + %t4022 = getelementptr ptr, ptr null, i32 1 + %t4023 = ptrtoint ptr %t4022 to i64 + %t4024 = zext i32 %t4021 to i64 + %t4025 = mul i64 %t4024, %t4023 + %t4026 = load ptr, ptr %t4015 + %t4027 = call ptr @realloc(ptr %t4026, i64 %t4025) + store ptr %t4027, ptr %t4015 + store i32 %t4021, ptr %t4014 + br label %put795 +put795: + %t4028 = load ptr, ptr %t4015 + %t4029 = getelementptr inbounds ptr, ptr %t4028, i32 %t4016 + store ptr @.str6789, ptr %t4029 + %t4030 = add i32 %t4016, 1 + store i32 %t4030, ptr %t4013 + br label %ifend791 +ifend791: + %t4031 = load ptr, ptr %t1 + %t4032 = call i32 @fn_str_eq(ptr %t4031, ptr @.str6790) + %t4033 = icmp ne i32 %t4032, 0 + br i1 %t4033, label %then796, label %ifend798 +then796: + store ptr @.str6791, ptr %t380 + %t4034 = load ptr, ptr %t387 + %t4035 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 1 + %t4036 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 2 + %t4037 = getelementptr inbounds %LSlice, ptr %t4034, i32 0, i32 0 + %t4038 = load i32, ptr %t4035 + %t4039 = load i32, ptr %t4036 + %t4040 = icmp sge i32 %t4038, %t4039 + br i1 %t4040, label %grow799, label %put800 +grow799: + %t4041 = mul i32 %t4039, 2 + %t4042 = icmp eq i32 %t4039, 0 + %t4043 = select i1 %t4042, i32 8, i32 %t4041 + %t4044 = getelementptr ptr, ptr null, i32 1 + %t4045 = ptrtoint ptr %t4044 to i64 + %t4046 = zext i32 %t4043 to i64 + %t4047 = mul i64 %t4046, %t4045 + %t4048 = load ptr, ptr %t4037 + %t4049 = call ptr @realloc(ptr %t4048, i64 %t4047) + store ptr %t4049, ptr %t4037 + store i32 %t4043, ptr %t4036 + br label %put800 +put800: + %t4050 = load ptr, ptr %t4037 + %t4051 = getelementptr inbounds ptr, ptr %t4050, i32 %t4038 + store ptr @.str6792, ptr %t4051 + %t4052 = add i32 %t4038, 1 + store i32 %t4052, ptr %t4035 + %t4053 = load ptr, ptr %t387 + %t4054 = getelementptr inbounds %LSlice, ptr %t4053, i32 0, i32 1 + %t4055 = getelementptr inbounds %LSlice, ptr %t4053, i32 0, i32 2 + %t4056 = getelementptr inbounds %LSlice, ptr %t4053, i32 0, i32 0 + %t4057 = load i32, ptr %t4054 + %t4058 = load i32, ptr %t4055 + %t4059 = icmp sge i32 %t4057, %t4058 + br i1 %t4059, label %grow801, label %put802 +grow801: + %t4060 = mul i32 %t4058, 2 + %t4061 = icmp eq i32 %t4058, 0 + %t4062 = select i1 %t4061, i32 8, i32 %t4060 + %t4063 = getelementptr ptr, ptr null, i32 1 + %t4064 = ptrtoint ptr %t4063 to i64 + %t4065 = zext i32 %t4062 to i64 + %t4066 = mul i64 %t4065, %t4064 + %t4067 = load ptr, ptr %t4056 + %t4068 = call ptr @realloc(ptr %t4067, i64 %t4066) + store ptr %t4068, ptr %t4056 + store i32 %t4062, ptr %t4055 + br label %put802 +put802: + %t4069 = load ptr, ptr %t4056 + %t4070 = getelementptr inbounds ptr, ptr %t4069, i32 %t4057 + store ptr @.str6793, ptr %t4070 + %t4071 = add i32 %t4057, 1 + store i32 %t4071, ptr %t4054 + br label %ifend798 +ifend798: + %t4072 = load ptr, ptr %t1 + %t4073 = call i32 @fn_str_eq(ptr %t4072, ptr @.str6794) + %t4074 = icmp ne i32 %t4073, 0 + br i1 %t4074, label %then803, label %ifend805 +then803: + store ptr @.str6795, ptr %t380 + %t4075 = load ptr, ptr %t387 + %t4076 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 1 + %t4077 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 2 + %t4078 = getelementptr inbounds %LSlice, ptr %t4075, i32 0, i32 0 + %t4079 = load i32, ptr %t4076 + %t4080 = load i32, ptr %t4077 + %t4081 = icmp sge i32 %t4079, %t4080 + br i1 %t4081, label %grow806, label %put807 +grow806: + %t4082 = mul i32 %t4080, 2 + %t4083 = icmp eq i32 %t4080, 0 + %t4084 = select i1 %t4083, i32 8, i32 %t4082 + %t4085 = getelementptr ptr, ptr null, i32 1 + %t4086 = ptrtoint ptr %t4085 to i64 + %t4087 = zext i32 %t4084 to i64 + %t4088 = mul i64 %t4087, %t4086 + %t4089 = load ptr, ptr %t4078 + %t4090 = call ptr @realloc(ptr %t4089, i64 %t4088) + store ptr %t4090, ptr %t4078 + store i32 %t4084, ptr %t4077 + br label %put807 +put807: + %t4091 = load ptr, ptr %t4078 + %t4092 = getelementptr inbounds ptr, ptr %t4091, i32 %t4079 + store ptr @.str6796, ptr %t4092 + %t4093 = add i32 %t4079, 1 + store i32 %t4093, ptr %t4076 + %t4094 = load ptr, ptr %t387 + %t4095 = getelementptr inbounds %LSlice, ptr %t4094, i32 0, i32 1 + %t4096 = getelementptr inbounds %LSlice, ptr %t4094, i32 0, i32 2 + %t4097 = getelementptr inbounds %LSlice, ptr %t4094, i32 0, i32 0 + %t4098 = load i32, ptr %t4095 + %t4099 = load i32, ptr %t4096 + %t4100 = icmp sge i32 %t4098, %t4099 + br i1 %t4100, label %grow808, label %put809 +grow808: + %t4101 = mul i32 %t4099, 2 + %t4102 = icmp eq i32 %t4099, 0 + %t4103 = select i1 %t4102, i32 8, i32 %t4101 + %t4104 = getelementptr ptr, ptr null, i32 1 + %t4105 = ptrtoint ptr %t4104 to i64 + %t4106 = zext i32 %t4103 to i64 + %t4107 = mul i64 %t4106, %t4105 + %t4108 = load ptr, ptr %t4097 + %t4109 = call ptr @realloc(ptr %t4108, i64 %t4107) + store ptr %t4109, ptr %t4097 + store i32 %t4103, ptr %t4096 + br label %put809 +put809: + %t4110 = load ptr, ptr %t4097 + %t4111 = getelementptr inbounds ptr, ptr %t4110, i32 %t4098 + store ptr @.str6797, ptr %t4111 + %t4112 = add i32 %t4098, 1 + store i32 %t4112, ptr %t4095 + br label %ifend805 +ifend805: + %t4113 = load ptr, ptr %t1 + %t4114 = call i32 @fn_str_eq(ptr %t4113, ptr @.str6798) + %t4115 = icmp ne i32 %t4114, 0 + br i1 %t4115, label %then810, label %ifend812 +then810: + store ptr @.str6799, ptr %t380 + %t4116 = load ptr, ptr %t387 + %t4117 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 1 + %t4118 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 2 + %t4119 = getelementptr inbounds %LSlice, ptr %t4116, i32 0, i32 0 + %t4120 = load i32, ptr %t4117 + %t4121 = load i32, ptr %t4118 + %t4122 = icmp sge i32 %t4120, %t4121 + br i1 %t4122, label %grow813, label %put814 +grow813: + %t4123 = mul i32 %t4121, 2 + %t4124 = icmp eq i32 %t4121, 0 + %t4125 = select i1 %t4124, i32 8, i32 %t4123 + %t4126 = getelementptr ptr, ptr null, i32 1 + %t4127 = ptrtoint ptr %t4126 to i64 + %t4128 = zext i32 %t4125 to i64 + %t4129 = mul i64 %t4128, %t4127 + %t4130 = load ptr, ptr %t4119 + %t4131 = call ptr @realloc(ptr %t4130, i64 %t4129) + store ptr %t4131, ptr %t4119 + store i32 %t4125, ptr %t4118 + br label %put814 +put814: + %t4132 = load ptr, ptr %t4119 + %t4133 = getelementptr inbounds ptr, ptr %t4132, i32 %t4120 + store ptr @.str6800, ptr %t4133 + %t4134 = add i32 %t4120, 1 + store i32 %t4134, ptr %t4117 + %t4135 = load ptr, ptr %t387 + %t4136 = getelementptr inbounds %LSlice, ptr %t4135, i32 0, i32 1 + %t4137 = getelementptr inbounds %LSlice, ptr %t4135, i32 0, i32 2 + %t4138 = getelementptr inbounds %LSlice, ptr %t4135, i32 0, i32 0 + %t4139 = load i32, ptr %t4136 + %t4140 = load i32, ptr %t4137 + %t4141 = icmp sge i32 %t4139, %t4140 + br i1 %t4141, label %grow815, label %put816 +grow815: + %t4142 = mul i32 %t4140, 2 + %t4143 = icmp eq i32 %t4140, 0 + %t4144 = select i1 %t4143, i32 8, i32 %t4142 + %t4145 = getelementptr ptr, ptr null, i32 1 + %t4146 = ptrtoint ptr %t4145 to i64 + %t4147 = zext i32 %t4144 to i64 + %t4148 = mul i64 %t4147, %t4146 + %t4149 = load ptr, ptr %t4138 + %t4150 = call ptr @realloc(ptr %t4149, i64 %t4148) + store ptr %t4150, ptr %t4138 + store i32 %t4144, ptr %t4137 + br label %put816 +put816: + %t4151 = load ptr, ptr %t4138 + %t4152 = getelementptr inbounds ptr, ptr %t4151, i32 %t4139 + store ptr @.str6801, ptr %t4152 + %t4153 = add i32 %t4139, 1 + store i32 %t4153, ptr %t4136 + %t4154 = load ptr, ptr %t387 + %t4155 = getelementptr inbounds %LSlice, ptr %t4154, i32 0, i32 1 + %t4156 = getelementptr inbounds %LSlice, ptr %t4154, i32 0, i32 2 + %t4157 = getelementptr inbounds %LSlice, ptr %t4154, i32 0, i32 0 + %t4158 = load i32, ptr %t4155 + %t4159 = load i32, ptr %t4156 + %t4160 = icmp sge i32 %t4158, %t4159 + br i1 %t4160, label %grow817, label %put818 +grow817: + %t4161 = mul i32 %t4159, 2 + %t4162 = icmp eq i32 %t4159, 0 + %t4163 = select i1 %t4162, i32 8, i32 %t4161 + %t4164 = getelementptr ptr, ptr null, i32 1 + %t4165 = ptrtoint ptr %t4164 to i64 + %t4166 = zext i32 %t4163 to i64 + %t4167 = mul i64 %t4166, %t4165 + %t4168 = load ptr, ptr %t4157 + %t4169 = call ptr @realloc(ptr %t4168, i64 %t4167) + store ptr %t4169, ptr %t4157 + store i32 %t4163, ptr %t4156 + br label %put818 +put818: + %t4170 = load ptr, ptr %t4157 + %t4171 = getelementptr inbounds ptr, ptr %t4170, i32 %t4158 + store ptr @.str6802, ptr %t4171 + %t4172 = add i32 %t4158, 1 + store i32 %t4172, ptr %t4155 + br label %ifend812 +ifend812: + %t4173 = load ptr, ptr %t1 + %t4174 = call i32 @fn_str_eq(ptr %t4173, ptr @.str6803) + %t4175 = icmp ne i32 %t4174, 0 + br i1 %t4175, label %then819, label %ifend821 +then819: + store ptr @.str6804, ptr %t380 + %t4176 = load ptr, ptr %t387 + %t4177 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 1 + %t4178 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 2 + %t4179 = getelementptr inbounds %LSlice, ptr %t4176, i32 0, i32 0 + %t4180 = load i32, ptr %t4177 + %t4181 = load i32, ptr %t4178 + %t4182 = icmp sge i32 %t4180, %t4181 + br i1 %t4182, label %grow822, label %put823 +grow822: + %t4183 = mul i32 %t4181, 2 + %t4184 = icmp eq i32 %t4181, 0 + %t4185 = select i1 %t4184, i32 8, i32 %t4183 + %t4186 = getelementptr ptr, ptr null, i32 1 + %t4187 = ptrtoint ptr %t4186 to i64 + %t4188 = zext i32 %t4185 to i64 + %t4189 = mul i64 %t4188, %t4187 + %t4190 = load ptr, ptr %t4179 + %t4191 = call ptr @realloc(ptr %t4190, i64 %t4189) + store ptr %t4191, ptr %t4179 + store i32 %t4185, ptr %t4178 + br label %put823 +put823: + %t4192 = load ptr, ptr %t4179 + %t4193 = getelementptr inbounds ptr, ptr %t4192, i32 %t4180 + store ptr @.str6805, ptr %t4193 + %t4194 = add i32 %t4180, 1 + store i32 %t4194, ptr %t4177 + br label %ifend821 +ifend821: + %t4195 = load ptr, ptr %t1 + %t4196 = call i32 @fn_str_eq(ptr %t4195, ptr @.str6806) + %t4197 = icmp ne i32 %t4196, 0 + br i1 %t4197, label %then824, label %ifend826 +then824: + store ptr @.str6807, ptr %t380 + %t4198 = load ptr, ptr %t387 + %t4199 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 1 + %t4200 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 2 + %t4201 = getelementptr inbounds %LSlice, ptr %t4198, i32 0, i32 0 + %t4202 = load i32, ptr %t4199 + %t4203 = load i32, ptr %t4200 + %t4204 = icmp sge i32 %t4202, %t4203 + br i1 %t4204, label %grow827, label %put828 +grow827: + %t4205 = mul i32 %t4203, 2 + %t4206 = icmp eq i32 %t4203, 0 + %t4207 = select i1 %t4206, i32 8, i32 %t4205 + %t4208 = getelementptr ptr, ptr null, i32 1 + %t4209 = ptrtoint ptr %t4208 to i64 + %t4210 = zext i32 %t4207 to i64 + %t4211 = mul i64 %t4210, %t4209 + %t4212 = load ptr, ptr %t4201 + %t4213 = call ptr @realloc(ptr %t4212, i64 %t4211) + store ptr %t4213, ptr %t4201 + store i32 %t4207, ptr %t4200 + br label %put828 +put828: + %t4214 = load ptr, ptr %t4201 + %t4215 = getelementptr inbounds ptr, ptr %t4214, i32 %t4202 + store ptr @.str6808, ptr %t4215 + %t4216 = add i32 %t4202, 1 + store i32 %t4216, ptr %t4199 + %t4217 = load ptr, ptr %t387 + %t4218 = getelementptr inbounds %LSlice, ptr %t4217, i32 0, i32 1 + %t4219 = getelementptr inbounds %LSlice, ptr %t4217, i32 0, i32 2 + %t4220 = getelementptr inbounds %LSlice, ptr %t4217, i32 0, i32 0 + %t4221 = load i32, ptr %t4218 + %t4222 = load i32, ptr %t4219 + %t4223 = icmp sge i32 %t4221, %t4222 + br i1 %t4223, label %grow829, label %put830 +grow829: + %t4224 = mul i32 %t4222, 2 + %t4225 = icmp eq i32 %t4222, 0 + %t4226 = select i1 %t4225, i32 8, i32 %t4224 + %t4227 = getelementptr ptr, ptr null, i32 1 + %t4228 = ptrtoint ptr %t4227 to i64 + %t4229 = zext i32 %t4226 to i64 + %t4230 = mul i64 %t4229, %t4228 + %t4231 = load ptr, ptr %t4220 + %t4232 = call ptr @realloc(ptr %t4231, i64 %t4230) + store ptr %t4232, ptr %t4220 + store i32 %t4226, ptr %t4219 + br label %put830 +put830: + %t4233 = load ptr, ptr %t4220 + %t4234 = getelementptr inbounds ptr, ptr %t4233, i32 %t4221 + store ptr @.str6809, ptr %t4234 + %t4235 = add i32 %t4221, 1 + store i32 %t4235, ptr %t4218 + %t4236 = load ptr, ptr %t387 + %t4237 = getelementptr inbounds %LSlice, ptr %t4236, i32 0, i32 1 + %t4238 = getelementptr inbounds %LSlice, ptr %t4236, i32 0, i32 2 + %t4239 = getelementptr inbounds %LSlice, ptr %t4236, i32 0, i32 0 + %t4240 = load i32, ptr %t4237 + %t4241 = load i32, ptr %t4238 + %t4242 = icmp sge i32 %t4240, %t4241 + br i1 %t4242, label %grow831, label %put832 +grow831: + %t4243 = mul i32 %t4241, 2 + %t4244 = icmp eq i32 %t4241, 0 + %t4245 = select i1 %t4244, i32 8, i32 %t4243 + %t4246 = getelementptr ptr, ptr null, i32 1 + %t4247 = ptrtoint ptr %t4246 to i64 + %t4248 = zext i32 %t4245 to i64 + %t4249 = mul i64 %t4248, %t4247 + %t4250 = load ptr, ptr %t4239 + %t4251 = call ptr @realloc(ptr %t4250, i64 %t4249) + store ptr %t4251, ptr %t4239 + store i32 %t4245, ptr %t4238 + br label %put832 +put832: + %t4252 = load ptr, ptr %t4239 + %t4253 = getelementptr inbounds ptr, ptr %t4252, i32 %t4240 + store ptr @.str6810, ptr %t4253 + %t4254 = add i32 %t4240, 1 + store i32 %t4254, ptr %t4237 + %t4255 = load ptr, ptr %t387 + %t4256 = getelementptr inbounds %LSlice, ptr %t4255, i32 0, i32 1 + %t4257 = getelementptr inbounds %LSlice, ptr %t4255, i32 0, i32 2 + %t4258 = getelementptr inbounds %LSlice, ptr %t4255, i32 0, i32 0 + %t4259 = load i32, ptr %t4256 + %t4260 = load i32, ptr %t4257 + %t4261 = icmp sge i32 %t4259, %t4260 + br i1 %t4261, label %grow833, label %put834 +grow833: + %t4262 = mul i32 %t4260, 2 + %t4263 = icmp eq i32 %t4260, 0 + %t4264 = select i1 %t4263, i32 8, i32 %t4262 + %t4265 = getelementptr ptr, ptr null, i32 1 + %t4266 = ptrtoint ptr %t4265 to i64 + %t4267 = zext i32 %t4264 to i64 + %t4268 = mul i64 %t4267, %t4266 + %t4269 = load ptr, ptr %t4258 + %t4270 = call ptr @realloc(ptr %t4269, i64 %t4268) + store ptr %t4270, ptr %t4258 + store i32 %t4264, ptr %t4257 + br label %put834 +put834: + %t4271 = load ptr, ptr %t4258 + %t4272 = getelementptr inbounds ptr, ptr %t4271, i32 %t4259 + store ptr @.str6811, ptr %t4272 + %t4273 = add i32 %t4259, 1 + store i32 %t4273, ptr %t4256 + %t4274 = load ptr, ptr %t387 + %t4275 = getelementptr inbounds %LSlice, ptr %t4274, i32 0, i32 1 + %t4276 = getelementptr inbounds %LSlice, ptr %t4274, i32 0, i32 2 + %t4277 = getelementptr inbounds %LSlice, ptr %t4274, i32 0, i32 0 + %t4278 = load i32, ptr %t4275 + %t4279 = load i32, ptr %t4276 + %t4280 = icmp sge i32 %t4278, %t4279 + br i1 %t4280, label %grow835, label %put836 +grow835: + %t4281 = mul i32 %t4279, 2 + %t4282 = icmp eq i32 %t4279, 0 + %t4283 = select i1 %t4282, i32 8, i32 %t4281 + %t4284 = getelementptr ptr, ptr null, i32 1 + %t4285 = ptrtoint ptr %t4284 to i64 + %t4286 = zext i32 %t4283 to i64 + %t4287 = mul i64 %t4286, %t4285 + %t4288 = load ptr, ptr %t4277 + %t4289 = call ptr @realloc(ptr %t4288, i64 %t4287) + store ptr %t4289, ptr %t4277 + store i32 %t4283, ptr %t4276 + br label %put836 +put836: + %t4290 = load ptr, ptr %t4277 + %t4291 = getelementptr inbounds ptr, ptr %t4290, i32 %t4278 + store ptr @.str6812, ptr %t4291 + %t4292 = add i32 %t4278, 1 + store i32 %t4292, ptr %t4275 + br label %ifend826 +ifend826: + %t4293 = load ptr, ptr %t1 + %t4294 = call i32 @fn_str_eq(ptr %t4293, ptr @.str6813) + %t4295 = icmp ne i32 %t4294, 0 + br i1 %t4295, label %then837, label %ifend839 +then837: + store ptr @.str6814, ptr %t380 + %t4296 = load ptr, ptr %t387 + %t4297 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 1 + %t4298 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 2 + %t4299 = getelementptr inbounds %LSlice, ptr %t4296, i32 0, i32 0 + %t4300 = load i32, ptr %t4297 + %t4301 = load i32, ptr %t4298 + %t4302 = icmp sge i32 %t4300, %t4301 + br i1 %t4302, label %grow840, label %put841 +grow840: + %t4303 = mul i32 %t4301, 2 + %t4304 = icmp eq i32 %t4301, 0 + %t4305 = select i1 %t4304, i32 8, i32 %t4303 + %t4306 = getelementptr ptr, ptr null, i32 1 + %t4307 = ptrtoint ptr %t4306 to i64 + %t4308 = zext i32 %t4305 to i64 + %t4309 = mul i64 %t4308, %t4307 + %t4310 = load ptr, ptr %t4299 + %t4311 = call ptr @realloc(ptr %t4310, i64 %t4309) + store ptr %t4311, ptr %t4299 + store i32 %t4305, ptr %t4298 + br label %put841 +put841: + %t4312 = load ptr, ptr %t4299 + %t4313 = getelementptr inbounds ptr, ptr %t4312, i32 %t4300 + store ptr @.str6815, ptr %t4313 + %t4314 = add i32 %t4300, 1 + store i32 %t4314, ptr %t4297 + br label %ifend839 +ifend839: + %t4315 = load ptr, ptr %t1 + %t4316 = call i32 @fn_str_eq(ptr %t4315, ptr @.str6816) + %t4317 = icmp ne i32 %t4316, 0 + br i1 %t4317, label %then842, label %ifend844 +then842: + store ptr @.str6817, ptr %t380 + %t4318 = load ptr, ptr %t387 + %t4319 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 1 + %t4320 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 2 + %t4321 = getelementptr inbounds %LSlice, ptr %t4318, i32 0, i32 0 + %t4322 = load i32, ptr %t4319 + %t4323 = load i32, ptr %t4320 + %t4324 = icmp sge i32 %t4322, %t4323 + br i1 %t4324, label %grow845, label %put846 +grow845: + %t4325 = mul i32 %t4323, 2 + %t4326 = icmp eq i32 %t4323, 0 + %t4327 = select i1 %t4326, i32 8, i32 %t4325 + %t4328 = getelementptr ptr, ptr null, i32 1 + %t4329 = ptrtoint ptr %t4328 to i64 + %t4330 = zext i32 %t4327 to i64 + %t4331 = mul i64 %t4330, %t4329 + %t4332 = load ptr, ptr %t4321 + %t4333 = call ptr @realloc(ptr %t4332, i64 %t4331) + store ptr %t4333, ptr %t4321 + store i32 %t4327, ptr %t4320 + br label %put846 +put846: + %t4334 = load ptr, ptr %t4321 + %t4335 = getelementptr inbounds ptr, ptr %t4334, i32 %t4322 + store ptr @.str6818, ptr %t4335 + %t4336 = add i32 %t4322, 1 + store i32 %t4336, ptr %t4319 + br label %ifend844 +ifend844: + %t4337 = load ptr, ptr %t1 + %t4338 = call i32 @fn_str_eq(ptr %t4337, ptr @.str6819) + %t4339 = icmp ne i32 %t4338, 0 + br i1 %t4339, label %then847, label %ifend849 +then847: + store ptr @.str6820, ptr %t380 + %t4340 = load ptr, ptr %t387 + %t4341 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 1 + %t4342 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 2 + %t4343 = getelementptr inbounds %LSlice, ptr %t4340, i32 0, i32 0 + %t4344 = load i32, ptr %t4341 + %t4345 = load i32, ptr %t4342 + %t4346 = icmp sge i32 %t4344, %t4345 + br i1 %t4346, label %grow850, label %put851 +grow850: + %t4347 = mul i32 %t4345, 2 + %t4348 = icmp eq i32 %t4345, 0 + %t4349 = select i1 %t4348, i32 8, i32 %t4347 + %t4350 = getelementptr ptr, ptr null, i32 1 + %t4351 = ptrtoint ptr %t4350 to i64 + %t4352 = zext i32 %t4349 to i64 + %t4353 = mul i64 %t4352, %t4351 + %t4354 = load ptr, ptr %t4343 + %t4355 = call ptr @realloc(ptr %t4354, i64 %t4353) + store ptr %t4355, ptr %t4343 + store i32 %t4349, ptr %t4342 + br label %put851 +put851: + %t4356 = load ptr, ptr %t4343 + %t4357 = getelementptr inbounds ptr, ptr %t4356, i32 %t4344 + store ptr @.str6821, ptr %t4357 + %t4358 = add i32 %t4344, 1 + store i32 %t4358, ptr %t4341 + %t4359 = load ptr, ptr %t387 + %t4360 = getelementptr inbounds %LSlice, ptr %t4359, i32 0, i32 1 + %t4361 = getelementptr inbounds %LSlice, ptr %t4359, i32 0, i32 2 + %t4362 = getelementptr inbounds %LSlice, ptr %t4359, i32 0, i32 0 + %t4363 = load i32, ptr %t4360 + %t4364 = load i32, ptr %t4361 + %t4365 = icmp sge i32 %t4363, %t4364 + br i1 %t4365, label %grow852, label %put853 +grow852: + %t4366 = mul i32 %t4364, 2 + %t4367 = icmp eq i32 %t4364, 0 + %t4368 = select i1 %t4367, i32 8, i32 %t4366 + %t4369 = getelementptr ptr, ptr null, i32 1 + %t4370 = ptrtoint ptr %t4369 to i64 + %t4371 = zext i32 %t4368 to i64 + %t4372 = mul i64 %t4371, %t4370 + %t4373 = load ptr, ptr %t4362 + %t4374 = call ptr @realloc(ptr %t4373, i64 %t4372) + store ptr %t4374, ptr %t4362 + store i32 %t4368, ptr %t4361 + br label %put853 +put853: + %t4375 = load ptr, ptr %t4362 + %t4376 = getelementptr inbounds ptr, ptr %t4375, i32 %t4363 + store ptr @.str6822, ptr %t4376 + %t4377 = add i32 %t4363, 1 + store i32 %t4377, ptr %t4360 + %t4378 = load ptr, ptr %t387 + %t4379 = getelementptr inbounds %LSlice, ptr %t4378, i32 0, i32 1 + %t4380 = getelementptr inbounds %LSlice, ptr %t4378, i32 0, i32 2 + %t4381 = getelementptr inbounds %LSlice, ptr %t4378, i32 0, i32 0 + %t4382 = load i32, ptr %t4379 + %t4383 = load i32, ptr %t4380 + %t4384 = icmp sge i32 %t4382, %t4383 + br i1 %t4384, label %grow854, label %put855 +grow854: + %t4385 = mul i32 %t4383, 2 + %t4386 = icmp eq i32 %t4383, 0 + %t4387 = select i1 %t4386, i32 8, i32 %t4385 + %t4388 = getelementptr ptr, ptr null, i32 1 + %t4389 = ptrtoint ptr %t4388 to i64 + %t4390 = zext i32 %t4387 to i64 + %t4391 = mul i64 %t4390, %t4389 + %t4392 = load ptr, ptr %t4381 + %t4393 = call ptr @realloc(ptr %t4392, i64 %t4391) + store ptr %t4393, ptr %t4381 + store i32 %t4387, ptr %t4380 + br label %put855 +put855: + %t4394 = load ptr, ptr %t4381 + %t4395 = getelementptr inbounds ptr, ptr %t4394, i32 %t4382 + store ptr @.str6823, ptr %t4395 + %t4396 = add i32 %t4382, 1 + store i32 %t4396, ptr %t4379 br label %ifend849 ifend849: - %t3971 = load ptr, ptr %t1 - %t3972 = call i32 @fn_str_eq(ptr %t3971, ptr @.str6509) - %t3973 = icmp ne i32 %t3972, 0 - br i1 %t3973, label %then852, label %ifend854 -then852: - store ptr @.str6510, ptr %t330 - %t3974 = load ptr, ptr %t337 - %t3975 = getelementptr inbounds %LSlice, ptr %t3974, i32 0, i32 1 - %t3976 = getelementptr inbounds %LSlice, ptr %t3974, i32 0, i32 2 - %t3977 = getelementptr inbounds %LSlice, ptr %t3974, i32 0, i32 0 - %t3978 = load i32, ptr %t3975 - %t3979 = load i32, ptr %t3976 - %t3980 = icmp sge i32 %t3978, %t3979 - br i1 %t3980, label %grow855, label %put856 -grow855: - %t3981 = mul i32 %t3979, 2 - %t3982 = icmp eq i32 %t3979, 0 - %t3983 = select i1 %t3982, i32 8, i32 %t3981 - %t3984 = getelementptr ptr, ptr null, i32 1 - %t3985 = ptrtoint ptr %t3984 to i64 - %t3986 = zext i32 %t3983 to i64 - %t3987 = mul i64 %t3986, %t3985 - %t3988 = load ptr, ptr %t3977 - %t3989 = call ptr @realloc(ptr %t3988, i64 %t3987) - store ptr %t3989, ptr %t3977 - store i32 %t3983, ptr %t3976 - br label %put856 -put856: - %t3990 = load ptr, ptr %t3977 - %t3991 = getelementptr inbounds ptr, ptr %t3990, i32 %t3978 - store ptr @.str6511, ptr %t3991 - %t3992 = add i32 %t3978, 1 - store i32 %t3992, ptr %t3975 - br label %ifend854 -ifend854: - %t3993 = load ptr, ptr %t1 - %t3994 = call i32 @fn_str_eq(ptr %t3993, ptr @.str6512) - %t3995 = icmp ne i32 %t3994, 0 - br i1 %t3995, label %then857, label %ifend859 -then857: - store ptr @.str6513, ptr %t330 - %t3996 = load ptr, ptr %t337 - %t3997 = getelementptr inbounds %LSlice, ptr %t3996, i32 0, i32 1 - %t3998 = getelementptr inbounds %LSlice, ptr %t3996, i32 0, i32 2 - %t3999 = getelementptr inbounds %LSlice, ptr %t3996, i32 0, i32 0 - %t4000 = load i32, ptr %t3997 - %t4001 = load i32, ptr %t3998 - %t4002 = icmp sge i32 %t4000, %t4001 - br i1 %t4002, label %grow860, label %put861 -grow860: - %t4003 = mul i32 %t4001, 2 - %t4004 = icmp eq i32 %t4001, 0 - %t4005 = select i1 %t4004, i32 8, i32 %t4003 - %t4006 = getelementptr ptr, ptr null, i32 1 - %t4007 = ptrtoint ptr %t4006 to i64 - %t4008 = zext i32 %t4005 to i64 - %t4009 = mul i64 %t4008, %t4007 - %t4010 = load ptr, ptr %t3999 - %t4011 = call ptr @realloc(ptr %t4010, i64 %t4009) - store ptr %t4011, ptr %t3999 - store i32 %t4005, ptr %t3998 - br label %put861 -put861: - %t4012 = load ptr, ptr %t3999 - %t4013 = getelementptr inbounds ptr, ptr %t4012, i32 %t4000 - store ptr @.str6514, ptr %t4013 - %t4014 = add i32 %t4000, 1 - store i32 %t4014, ptr %t3997 - br label %ifend859 -ifend859: - br label %ifend815 -ifend815: - %t4015 = load ptr, ptr %t0 - %t4016 = call i32 @fn_str_eq(ptr %t4015, ptr @.str6515) - %t4017 = icmp ne i32 %t4016, 0 - br i1 %t4017, label %then862, label %ifend864 -then862: - %t4018 = load ptr, ptr %t1 - %t4019 = call i32 @fn_str_eq(ptr %t4018, ptr @.str6516) - %t4020 = icmp ne i32 %t4019, 0 - br i1 %t4020, label %then865, label %ifend867 -then865: - store ptr @.str6517, ptr %t330 - %t4021 = load ptr, ptr %t337 - %t4022 = getelementptr inbounds %LSlice, ptr %t4021, i32 0, i32 1 - %t4023 = getelementptr inbounds %LSlice, ptr %t4021, i32 0, i32 2 - %t4024 = getelementptr inbounds %LSlice, ptr %t4021, i32 0, i32 0 - %t4025 = load i32, ptr %t4022 - %t4026 = load i32, ptr %t4023 - %t4027 = icmp sge i32 %t4025, %t4026 - br i1 %t4027, label %grow868, label %put869 + %t4397 = load ptr, ptr %t1 + %t4398 = call i32 @fn_str_eq(ptr %t4397, ptr @.str6824) + %t4399 = icmp ne i32 %t4398, 0 + br i1 %t4399, label %then856, label %ifend858 +then856: + store ptr @.str6825, ptr %t380 + %t4400 = load ptr, ptr %t387 + %t4401 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 1 + %t4402 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 2 + %t4403 = getelementptr inbounds %LSlice, ptr %t4400, i32 0, i32 0 + %t4404 = load i32, ptr %t4401 + %t4405 = load i32, ptr %t4402 + %t4406 = icmp sge i32 %t4404, %t4405 + br i1 %t4406, label %grow859, label %put860 +grow859: + %t4407 = mul i32 %t4405, 2 + %t4408 = icmp eq i32 %t4405, 0 + %t4409 = select i1 %t4408, i32 8, i32 %t4407 + %t4410 = getelementptr ptr, ptr null, i32 1 + %t4411 = ptrtoint ptr %t4410 to i64 + %t4412 = zext i32 %t4409 to i64 + %t4413 = mul i64 %t4412, %t4411 + %t4414 = load ptr, ptr %t4403 + %t4415 = call ptr @realloc(ptr %t4414, i64 %t4413) + store ptr %t4415, ptr %t4403 + store i32 %t4409, ptr %t4402 + br label %put860 +put860: + %t4416 = load ptr, ptr %t4403 + %t4417 = getelementptr inbounds ptr, ptr %t4416, i32 %t4404 + store ptr @.str6826, ptr %t4417 + %t4418 = add i32 %t4404, 1 + store i32 %t4418, ptr %t4401 + %t4419 = load ptr, ptr %t387 + %t4420 = getelementptr inbounds %LSlice, ptr %t4419, i32 0, i32 1 + %t4421 = getelementptr inbounds %LSlice, ptr %t4419, i32 0, i32 2 + %t4422 = getelementptr inbounds %LSlice, ptr %t4419, i32 0, i32 0 + %t4423 = load i32, ptr %t4420 + %t4424 = load i32, ptr %t4421 + %t4425 = icmp sge i32 %t4423, %t4424 + br i1 %t4425, label %grow861, label %put862 +grow861: + %t4426 = mul i32 %t4424, 2 + %t4427 = icmp eq i32 %t4424, 0 + %t4428 = select i1 %t4427, i32 8, i32 %t4426 + %t4429 = getelementptr ptr, ptr null, i32 1 + %t4430 = ptrtoint ptr %t4429 to i64 + %t4431 = zext i32 %t4428 to i64 + %t4432 = mul i64 %t4431, %t4430 + %t4433 = load ptr, ptr %t4422 + %t4434 = call ptr @realloc(ptr %t4433, i64 %t4432) + store ptr %t4434, ptr %t4422 + store i32 %t4428, ptr %t4421 + br label %put862 +put862: + %t4435 = load ptr, ptr %t4422 + %t4436 = getelementptr inbounds ptr, ptr %t4435, i32 %t4423 + store ptr @.str6827, ptr %t4436 + %t4437 = add i32 %t4423, 1 + store i32 %t4437, ptr %t4420 + br label %ifend858 +ifend858: + %t4438 = load ptr, ptr %t1 + %t4439 = call i32 @fn_str_eq(ptr %t4438, ptr @.str6828) + %t4440 = icmp ne i32 %t4439, 0 + br i1 %t4440, label %then863, label %ifend865 +then863: + store ptr @.str6829, ptr %t380 + %t4441 = load ptr, ptr %t387 + %t4442 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 1 + %t4443 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 2 + %t4444 = getelementptr inbounds %LSlice, ptr %t4441, i32 0, i32 0 + %t4445 = load i32, ptr %t4442 + %t4446 = load i32, ptr %t4443 + %t4447 = icmp sge i32 %t4445, %t4446 + br i1 %t4447, label %grow866, label %put867 +grow866: + %t4448 = mul i32 %t4446, 2 + %t4449 = icmp eq i32 %t4446, 0 + %t4450 = select i1 %t4449, i32 8, i32 %t4448 + %t4451 = getelementptr ptr, ptr null, i32 1 + %t4452 = ptrtoint ptr %t4451 to i64 + %t4453 = zext i32 %t4450 to i64 + %t4454 = mul i64 %t4453, %t4452 + %t4455 = load ptr, ptr %t4444 + %t4456 = call ptr @realloc(ptr %t4455, i64 %t4454) + store ptr %t4456, ptr %t4444 + store i32 %t4450, ptr %t4443 + br label %put867 +put867: + %t4457 = load ptr, ptr %t4444 + %t4458 = getelementptr inbounds ptr, ptr %t4457, i32 %t4445 + store ptr @.str6830, ptr %t4458 + %t4459 = add i32 %t4445, 1 + store i32 %t4459, ptr %t4442 + %t4460 = load ptr, ptr %t387 + %t4461 = getelementptr inbounds %LSlice, ptr %t4460, i32 0, i32 1 + %t4462 = getelementptr inbounds %LSlice, ptr %t4460, i32 0, i32 2 + %t4463 = getelementptr inbounds %LSlice, ptr %t4460, i32 0, i32 0 + %t4464 = load i32, ptr %t4461 + %t4465 = load i32, ptr %t4462 + %t4466 = icmp sge i32 %t4464, %t4465 + br i1 %t4466, label %grow868, label %put869 grow868: - %t4028 = mul i32 %t4026, 2 - %t4029 = icmp eq i32 %t4026, 0 - %t4030 = select i1 %t4029, i32 8, i32 %t4028 - %t4031 = getelementptr ptr, ptr null, i32 1 - %t4032 = ptrtoint ptr %t4031 to i64 - %t4033 = zext i32 %t4030 to i64 - %t4034 = mul i64 %t4033, %t4032 - %t4035 = load ptr, ptr %t4024 - %t4036 = call ptr @realloc(ptr %t4035, i64 %t4034) - store ptr %t4036, ptr %t4024 - store i32 %t4030, ptr %t4023 + %t4467 = mul i32 %t4465, 2 + %t4468 = icmp eq i32 %t4465, 0 + %t4469 = select i1 %t4468, i32 8, i32 %t4467 + %t4470 = getelementptr ptr, ptr null, i32 1 + %t4471 = ptrtoint ptr %t4470 to i64 + %t4472 = zext i32 %t4469 to i64 + %t4473 = mul i64 %t4472, %t4471 + %t4474 = load ptr, ptr %t4463 + %t4475 = call ptr @realloc(ptr %t4474, i64 %t4473) + store ptr %t4475, ptr %t4463 + store i32 %t4469, ptr %t4462 br label %put869 put869: - %t4037 = load ptr, ptr %t4024 - %t4038 = getelementptr inbounds ptr, ptr %t4037, i32 %t4025 - store ptr @.str6518, ptr %t4038 - %t4039 = add i32 %t4025, 1 - store i32 %t4039, ptr %t4022 - br label %ifend867 -ifend867: - %t4040 = load ptr, ptr %t1 - %t4041 = call i32 @fn_str_eq(ptr %t4040, ptr @.str6519) - %t4042 = icmp ne i32 %t4041, 0 - br i1 %t4042, label %then870, label %ifend872 + %t4476 = load ptr, ptr %t4463 + %t4477 = getelementptr inbounds ptr, ptr %t4476, i32 %t4464 + store ptr @.str6831, ptr %t4477 + %t4478 = add i32 %t4464, 1 + store i32 %t4478, ptr %t4461 + br label %ifend865 +ifend865: + %t4479 = load ptr, ptr %t1 + %t4480 = call i32 @fn_str_eq(ptr %t4479, ptr @.str6832) + %t4481 = icmp ne i32 %t4480, 0 + br i1 %t4481, label %then870, label %ifend872 then870: - store ptr @.str6520, ptr %t330 - %t4043 = load ptr, ptr %t337 - %t4044 = getelementptr inbounds %LSlice, ptr %t4043, i32 0, i32 1 - %t4045 = getelementptr inbounds %LSlice, ptr %t4043, i32 0, i32 2 - %t4046 = getelementptr inbounds %LSlice, ptr %t4043, i32 0, i32 0 - %t4047 = load i32, ptr %t4044 - %t4048 = load i32, ptr %t4045 - %t4049 = icmp sge i32 %t4047, %t4048 - br i1 %t4049, label %grow873, label %put874 + store ptr @.str6833, ptr %t380 + %t4482 = load ptr, ptr %t387 + %t4483 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 1 + %t4484 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 2 + %t4485 = getelementptr inbounds %LSlice, ptr %t4482, i32 0, i32 0 + %t4486 = load i32, ptr %t4483 + %t4487 = load i32, ptr %t4484 + %t4488 = icmp sge i32 %t4486, %t4487 + br i1 %t4488, label %grow873, label %put874 grow873: - %t4050 = mul i32 %t4048, 2 - %t4051 = icmp eq i32 %t4048, 0 - %t4052 = select i1 %t4051, i32 8, i32 %t4050 - %t4053 = getelementptr ptr, ptr null, i32 1 - %t4054 = ptrtoint ptr %t4053 to i64 - %t4055 = zext i32 %t4052 to i64 - %t4056 = mul i64 %t4055, %t4054 - %t4057 = load ptr, ptr %t4046 - %t4058 = call ptr @realloc(ptr %t4057, i64 %t4056) - store ptr %t4058, ptr %t4046 - store i32 %t4052, ptr %t4045 + %t4489 = mul i32 %t4487, 2 + %t4490 = icmp eq i32 %t4487, 0 + %t4491 = select i1 %t4490, i32 8, i32 %t4489 + %t4492 = getelementptr ptr, ptr null, i32 1 + %t4493 = ptrtoint ptr %t4492 to i64 + %t4494 = zext i32 %t4491 to i64 + %t4495 = mul i64 %t4494, %t4493 + %t4496 = load ptr, ptr %t4485 + %t4497 = call ptr @realloc(ptr %t4496, i64 %t4495) + store ptr %t4497, ptr %t4485 + store i32 %t4491, ptr %t4484 br label %put874 put874: - %t4059 = load ptr, ptr %t4046 - %t4060 = getelementptr inbounds ptr, ptr %t4059, i32 %t4047 - store ptr @.str6521, ptr %t4060 - %t4061 = add i32 %t4047, 1 - store i32 %t4061, ptr %t4044 - %t4062 = load ptr, ptr %t337 - %t4063 = getelementptr inbounds %LSlice, ptr %t4062, i32 0, i32 1 - %t4064 = getelementptr inbounds %LSlice, ptr %t4062, i32 0, i32 2 - %t4065 = getelementptr inbounds %LSlice, ptr %t4062, i32 0, i32 0 - %t4066 = load i32, ptr %t4063 - %t4067 = load i32, ptr %t4064 - %t4068 = icmp sge i32 %t4066, %t4067 - br i1 %t4068, label %grow875, label %put876 -grow875: - %t4069 = mul i32 %t4067, 2 - %t4070 = icmp eq i32 %t4067, 0 - %t4071 = select i1 %t4070, i32 8, i32 %t4069 - %t4072 = getelementptr ptr, ptr null, i32 1 - %t4073 = ptrtoint ptr %t4072 to i64 - %t4074 = zext i32 %t4071 to i64 - %t4075 = mul i64 %t4074, %t4073 - %t4076 = load ptr, ptr %t4065 - %t4077 = call ptr @realloc(ptr %t4076, i64 %t4075) - store ptr %t4077, ptr %t4065 - store i32 %t4071, ptr %t4064 - br label %put876 -put876: - %t4078 = load ptr, ptr %t4065 - %t4079 = getelementptr inbounds ptr, ptr %t4078, i32 %t4066 - store ptr @.str6522, ptr %t4079 - %t4080 = add i32 %t4066, 1 - store i32 %t4080, ptr %t4063 + %t4498 = load ptr, ptr %t4485 + %t4499 = getelementptr inbounds ptr, ptr %t4498, i32 %t4486 + store ptr @.str6834, ptr %t4499 + %t4500 = add i32 %t4486, 1 + store i32 %t4500, ptr %t4483 br label %ifend872 ifend872: - %t4081 = load ptr, ptr %t1 - %t4082 = call i32 @fn_str_eq(ptr %t4081, ptr @.str6523) - %t4083 = icmp ne i32 %t4082, 0 - br i1 %t4083, label %then877, label %ifend879 -then877: - store ptr @.str6524, ptr %t330 - %t4084 = load ptr, ptr %t337 - %t4085 = getelementptr inbounds %LSlice, ptr %t4084, i32 0, i32 1 - %t4086 = getelementptr inbounds %LSlice, ptr %t4084, i32 0, i32 2 - %t4087 = getelementptr inbounds %LSlice, ptr %t4084, i32 0, i32 0 - %t4088 = load i32, ptr %t4085 - %t4089 = load i32, ptr %t4086 - %t4090 = icmp sge i32 %t4088, %t4089 - br i1 %t4090, label %grow880, label %put881 -grow880: - %t4091 = mul i32 %t4089, 2 - %t4092 = icmp eq i32 %t4089, 0 - %t4093 = select i1 %t4092, i32 8, i32 %t4091 - %t4094 = getelementptr ptr, ptr null, i32 1 - %t4095 = ptrtoint ptr %t4094 to i64 - %t4096 = zext i32 %t4093 to i64 - %t4097 = mul i64 %t4096, %t4095 - %t4098 = load ptr, ptr %t4087 - %t4099 = call ptr @realloc(ptr %t4098, i64 %t4097) - store ptr %t4099, ptr %t4087 - store i32 %t4093, ptr %t4086 - br label %put881 -put881: - %t4100 = load ptr, ptr %t4087 - %t4101 = getelementptr inbounds ptr, ptr %t4100, i32 %t4088 - store ptr @.str6525, ptr %t4101 - %t4102 = add i32 %t4088, 1 - store i32 %t4102, ptr %t4085 - %t4103 = load ptr, ptr %t337 - %t4104 = getelementptr inbounds %LSlice, ptr %t4103, i32 0, i32 1 - %t4105 = getelementptr inbounds %LSlice, ptr %t4103, i32 0, i32 2 - %t4106 = getelementptr inbounds %LSlice, ptr %t4103, i32 0, i32 0 - %t4107 = load i32, ptr %t4104 - %t4108 = load i32, ptr %t4105 - %t4109 = icmp sge i32 %t4107, %t4108 - br i1 %t4109, label %grow882, label %put883 -grow882: - %t4110 = mul i32 %t4108, 2 - %t4111 = icmp eq i32 %t4108, 0 - %t4112 = select i1 %t4111, i32 8, i32 %t4110 - %t4113 = getelementptr ptr, ptr null, i32 1 - %t4114 = ptrtoint ptr %t4113 to i64 - %t4115 = zext i32 %t4112 to i64 - %t4116 = mul i64 %t4115, %t4114 - %t4117 = load ptr, ptr %t4106 - %t4118 = call ptr @realloc(ptr %t4117, i64 %t4116) - store ptr %t4118, ptr %t4106 - store i32 %t4112, ptr %t4105 - br label %put883 -put883: - %t4119 = load ptr, ptr %t4106 - %t4120 = getelementptr inbounds ptr, ptr %t4119, i32 %t4107 - store ptr @.str6526, ptr %t4120 - %t4121 = add i32 %t4107, 1 - store i32 %t4121, ptr %t4104 - %t4122 = load ptr, ptr %t337 - %t4123 = getelementptr inbounds %LSlice, ptr %t4122, i32 0, i32 1 - %t4124 = getelementptr inbounds %LSlice, ptr %t4122, i32 0, i32 2 - %t4125 = getelementptr inbounds %LSlice, ptr %t4122, i32 0, i32 0 - %t4126 = load i32, ptr %t4123 - %t4127 = load i32, ptr %t4124 - %t4128 = icmp sge i32 %t4126, %t4127 - br i1 %t4128, label %grow884, label %put885 -grow884: - %t4129 = mul i32 %t4127, 2 - %t4130 = icmp eq i32 %t4127, 0 - %t4131 = select i1 %t4130, i32 8, i32 %t4129 - %t4132 = getelementptr ptr, ptr null, i32 1 - %t4133 = ptrtoint ptr %t4132 to i64 - %t4134 = zext i32 %t4131 to i64 - %t4135 = mul i64 %t4134, %t4133 - %t4136 = load ptr, ptr %t4125 - %t4137 = call ptr @realloc(ptr %t4136, i64 %t4135) - store ptr %t4137, ptr %t4125 - store i32 %t4131, ptr %t4124 - br label %put885 -put885: - %t4138 = load ptr, ptr %t4125 - %t4139 = getelementptr inbounds ptr, ptr %t4138, i32 %t4126 - store ptr @.str6527, ptr %t4139 - %t4140 = add i32 %t4126, 1 - store i32 %t4140, ptr %t4123 - br label %ifend879 -ifend879: - %t4141 = load ptr, ptr %t1 - %t4142 = call i32 @fn_str_eq(ptr %t4141, ptr @.str6528) - %t4143 = icmp ne i32 %t4142, 0 - br i1 %t4143, label %then886, label %ifend888 -then886: - store ptr @.str6529, ptr %t330 - %t4144 = load ptr, ptr %t337 - %t4145 = getelementptr inbounds %LSlice, ptr %t4144, i32 0, i32 1 - %t4146 = getelementptr inbounds %LSlice, ptr %t4144, i32 0, i32 2 - %t4147 = getelementptr inbounds %LSlice, ptr %t4144, i32 0, i32 0 - %t4148 = load i32, ptr %t4145 - %t4149 = load i32, ptr %t4146 - %t4150 = icmp sge i32 %t4148, %t4149 - br i1 %t4150, label %grow889, label %put890 + %t4501 = load ptr, ptr %t1 + %t4502 = call i32 @fn_str_eq(ptr %t4501, ptr @.str6835) + %t4503 = icmp ne i32 %t4502, 0 + br i1 %t4503, label %then875, label %ifend877 +then875: + store ptr @.str6836, ptr %t380 + br label %ifend877 +ifend877: + %t4504 = load ptr, ptr %t1 + %t4505 = call i32 @fn_str_eq(ptr %t4504, ptr @.str6837) + %t4506 = icmp ne i32 %t4505, 0 + br i1 %t4506, label %then878, label %ifend880 +then878: + store ptr @.str6838, ptr %t380 + br label %ifend880 +ifend880: + br label %ifend781 +ifend781: + %t4507 = load ptr, ptr %t0 + %t4508 = call i32 @fn_str_eq(ptr %t4507, ptr @.str6839) + %t4509 = icmp ne i32 %t4508, 0 + br i1 %t4509, label %then881, label %ifend883 +then881: + %t4510 = load ptr, ptr %t1 + %t4511 = call i32 @fn_str_eq(ptr %t4510, ptr @.str6840) + %t4512 = icmp ne i32 %t4511, 0 + br i1 %t4512, label %then884, label %ifend886 +then884: + store ptr @.str6841, ptr %t380 + %t4513 = load ptr, ptr %t387 + %t4514 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 1 + %t4515 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 2 + %t4516 = getelementptr inbounds %LSlice, ptr %t4513, i32 0, i32 0 + %t4517 = load i32, ptr %t4514 + %t4518 = load i32, ptr %t4515 + %t4519 = icmp sge i32 %t4517, %t4518 + br i1 %t4519, label %grow887, label %put888 +grow887: + %t4520 = mul i32 %t4518, 2 + %t4521 = icmp eq i32 %t4518, 0 + %t4522 = select i1 %t4521, i32 8, i32 %t4520 + %t4523 = getelementptr ptr, ptr null, i32 1 + %t4524 = ptrtoint ptr %t4523 to i64 + %t4525 = zext i32 %t4522 to i64 + %t4526 = mul i64 %t4525, %t4524 + %t4527 = load ptr, ptr %t4516 + %t4528 = call ptr @realloc(ptr %t4527, i64 %t4526) + store ptr %t4528, ptr %t4516 + store i32 %t4522, ptr %t4515 + br label %put888 +put888: + %t4529 = load ptr, ptr %t4516 + %t4530 = getelementptr inbounds ptr, ptr %t4529, i32 %t4517 + store ptr @.str6842, ptr %t4530 + %t4531 = add i32 %t4517, 1 + store i32 %t4531, ptr %t4514 + %t4532 = load ptr, ptr %t387 + %t4533 = getelementptr inbounds %LSlice, ptr %t4532, i32 0, i32 1 + %t4534 = getelementptr inbounds %LSlice, ptr %t4532, i32 0, i32 2 + %t4535 = getelementptr inbounds %LSlice, ptr %t4532, i32 0, i32 0 + %t4536 = load i32, ptr %t4533 + %t4537 = load i32, ptr %t4534 + %t4538 = icmp sge i32 %t4536, %t4537 + br i1 %t4538, label %grow889, label %put890 grow889: - %t4151 = mul i32 %t4149, 2 - %t4152 = icmp eq i32 %t4149, 0 - %t4153 = select i1 %t4152, i32 8, i32 %t4151 - %t4154 = getelementptr ptr, ptr null, i32 1 - %t4155 = ptrtoint ptr %t4154 to i64 - %t4156 = zext i32 %t4153 to i64 - %t4157 = mul i64 %t4156, %t4155 - %t4158 = load ptr, ptr %t4147 - %t4159 = call ptr @realloc(ptr %t4158, i64 %t4157) - store ptr %t4159, ptr %t4147 - store i32 %t4153, ptr %t4146 + %t4539 = mul i32 %t4537, 2 + %t4540 = icmp eq i32 %t4537, 0 + %t4541 = select i1 %t4540, i32 8, i32 %t4539 + %t4542 = getelementptr ptr, ptr null, i32 1 + %t4543 = ptrtoint ptr %t4542 to i64 + %t4544 = zext i32 %t4541 to i64 + %t4545 = mul i64 %t4544, %t4543 + %t4546 = load ptr, ptr %t4535 + %t4547 = call ptr @realloc(ptr %t4546, i64 %t4545) + store ptr %t4547, ptr %t4535 + store i32 %t4541, ptr %t4534 br label %put890 put890: - %t4160 = load ptr, ptr %t4147 - %t4161 = getelementptr inbounds ptr, ptr %t4160, i32 %t4148 - store ptr @.str6530, ptr %t4161 - %t4162 = add i32 %t4148, 1 - store i32 %t4162, ptr %t4145 - %t4163 = load ptr, ptr %t337 - %t4164 = getelementptr inbounds %LSlice, ptr %t4163, i32 0, i32 1 - %t4165 = getelementptr inbounds %LSlice, ptr %t4163, i32 0, i32 2 - %t4166 = getelementptr inbounds %LSlice, ptr %t4163, i32 0, i32 0 - %t4167 = load i32, ptr %t4164 - %t4168 = load i32, ptr %t4165 - %t4169 = icmp sge i32 %t4167, %t4168 - br i1 %t4169, label %grow891, label %put892 -grow891: - %t4170 = mul i32 %t4168, 2 - %t4171 = icmp eq i32 %t4168, 0 - %t4172 = select i1 %t4171, i32 8, i32 %t4170 - %t4173 = getelementptr ptr, ptr null, i32 1 - %t4174 = ptrtoint ptr %t4173 to i64 - %t4175 = zext i32 %t4172 to i64 - %t4176 = mul i64 %t4175, %t4174 - %t4177 = load ptr, ptr %t4166 - %t4178 = call ptr @realloc(ptr %t4177, i64 %t4176) - store ptr %t4178, ptr %t4166 - store i32 %t4172, ptr %t4165 - br label %put892 -put892: - %t4179 = load ptr, ptr %t4166 - %t4180 = getelementptr inbounds ptr, ptr %t4179, i32 %t4167 - store ptr @.str6531, ptr %t4180 - %t4181 = add i32 %t4167, 1 - store i32 %t4181, ptr %t4164 - br label %ifend888 -ifend888: - %t4182 = load ptr, ptr %t1 - %t4183 = call i32 @fn_str_eq(ptr %t4182, ptr @.str6532) - %t4184 = icmp ne i32 %t4183, 0 - br i1 %t4184, label %then893, label %ifend895 -then893: - store ptr @.str6533, ptr %t330 - %t4185 = load ptr, ptr %t337 - %t4186 = getelementptr inbounds %LSlice, ptr %t4185, i32 0, i32 1 - %t4187 = getelementptr inbounds %LSlice, ptr %t4185, i32 0, i32 2 - %t4188 = getelementptr inbounds %LSlice, ptr %t4185, i32 0, i32 0 - %t4189 = load i32, ptr %t4186 - %t4190 = load i32, ptr %t4187 - %t4191 = icmp sge i32 %t4189, %t4190 - br i1 %t4191, label %grow896, label %put897 -grow896: - %t4192 = mul i32 %t4190, 2 - %t4193 = icmp eq i32 %t4190, 0 - %t4194 = select i1 %t4193, i32 8, i32 %t4192 - %t4195 = getelementptr ptr, ptr null, i32 1 - %t4196 = ptrtoint ptr %t4195 to i64 - %t4197 = zext i32 %t4194 to i64 - %t4198 = mul i64 %t4197, %t4196 - %t4199 = load ptr, ptr %t4188 - %t4200 = call ptr @realloc(ptr %t4199, i64 %t4198) - store ptr %t4200, ptr %t4188 - store i32 %t4194, ptr %t4187 - br label %put897 -put897: - %t4201 = load ptr, ptr %t4188 - %t4202 = getelementptr inbounds ptr, ptr %t4201, i32 %t4189 - store ptr @.str6534, ptr %t4202 - %t4203 = add i32 %t4189, 1 - store i32 %t4203, ptr %t4186 - %t4204 = load ptr, ptr %t337 - %t4205 = getelementptr inbounds %LSlice, ptr %t4204, i32 0, i32 1 - %t4206 = getelementptr inbounds %LSlice, ptr %t4204, i32 0, i32 2 - %t4207 = getelementptr inbounds %LSlice, ptr %t4204, i32 0, i32 0 - %t4208 = load i32, ptr %t4205 - %t4209 = load i32, ptr %t4206 - %t4210 = icmp sge i32 %t4208, %t4209 - br i1 %t4210, label %grow898, label %put899 -grow898: - %t4211 = mul i32 %t4209, 2 - %t4212 = icmp eq i32 %t4209, 0 - %t4213 = select i1 %t4212, i32 8, i32 %t4211 - %t4214 = getelementptr ptr, ptr null, i32 1 - %t4215 = ptrtoint ptr %t4214 to i64 - %t4216 = zext i32 %t4213 to i64 - %t4217 = mul i64 %t4216, %t4215 - %t4218 = load ptr, ptr %t4207 - %t4219 = call ptr @realloc(ptr %t4218, i64 %t4217) - store ptr %t4219, ptr %t4207 - store i32 %t4213, ptr %t4206 - br label %put899 -put899: - %t4220 = load ptr, ptr %t4207 - %t4221 = getelementptr inbounds ptr, ptr %t4220, i32 %t4208 - store ptr @.str6535, ptr %t4221 - %t4222 = add i32 %t4208, 1 - store i32 %t4222, ptr %t4205 - %t4223 = load ptr, ptr %t337 - %t4224 = getelementptr inbounds %LSlice, ptr %t4223, i32 0, i32 1 - %t4225 = getelementptr inbounds %LSlice, ptr %t4223, i32 0, i32 2 - %t4226 = getelementptr inbounds %LSlice, ptr %t4223, i32 0, i32 0 - %t4227 = load i32, ptr %t4224 - %t4228 = load i32, ptr %t4225 - %t4229 = icmp sge i32 %t4227, %t4228 - br i1 %t4229, label %grow900, label %put901 -grow900: - %t4230 = mul i32 %t4228, 2 - %t4231 = icmp eq i32 %t4228, 0 - %t4232 = select i1 %t4231, i32 8, i32 %t4230 - %t4233 = getelementptr ptr, ptr null, i32 1 - %t4234 = ptrtoint ptr %t4233 to i64 - %t4235 = zext i32 %t4232 to i64 - %t4236 = mul i64 %t4235, %t4234 - %t4237 = load ptr, ptr %t4226 - %t4238 = call ptr @realloc(ptr %t4237, i64 %t4236) - store ptr %t4238, ptr %t4226 - store i32 %t4232, ptr %t4225 - br label %put901 -put901: - %t4239 = load ptr, ptr %t4226 - %t4240 = getelementptr inbounds ptr, ptr %t4239, i32 %t4227 - store ptr @.str6536, ptr %t4240 - %t4241 = add i32 %t4227, 1 - store i32 %t4241, ptr %t4224 - br label %ifend895 -ifend895: - %t4242 = load ptr, ptr %t1 - %t4243 = call i32 @fn_str_eq(ptr %t4242, ptr @.str6537) - %t4244 = icmp ne i32 %t4243, 0 - br i1 %t4244, label %then902, label %ifend904 -then902: - store ptr @.str6538, ptr %t330 - %t4245 = load ptr, ptr %t337 - %t4246 = getelementptr inbounds %LSlice, ptr %t4245, i32 0, i32 1 - %t4247 = getelementptr inbounds %LSlice, ptr %t4245, i32 0, i32 2 - %t4248 = getelementptr inbounds %LSlice, ptr %t4245, i32 0, i32 0 - %t4249 = load i32, ptr %t4246 - %t4250 = load i32, ptr %t4247 - %t4251 = icmp sge i32 %t4249, %t4250 - br i1 %t4251, label %grow905, label %put906 -grow905: - %t4252 = mul i32 %t4250, 2 - %t4253 = icmp eq i32 %t4250, 0 - %t4254 = select i1 %t4253, i32 8, i32 %t4252 - %t4255 = getelementptr ptr, ptr null, i32 1 - %t4256 = ptrtoint ptr %t4255 to i64 - %t4257 = zext i32 %t4254 to i64 - %t4258 = mul i64 %t4257, %t4256 - %t4259 = load ptr, ptr %t4248 - %t4260 = call ptr @realloc(ptr %t4259, i64 %t4258) - store ptr %t4260, ptr %t4248 - store i32 %t4254, ptr %t4247 - br label %put906 -put906: - %t4261 = load ptr, ptr %t4248 - %t4262 = getelementptr inbounds ptr, ptr %t4261, i32 %t4249 - store ptr @.str6539, ptr %t4262 - %t4263 = add i32 %t4249, 1 - store i32 %t4263, ptr %t4246 - %t4264 = load ptr, ptr %t337 - %t4265 = getelementptr inbounds %LSlice, ptr %t4264, i32 0, i32 1 - %t4266 = getelementptr inbounds %LSlice, ptr %t4264, i32 0, i32 2 - %t4267 = getelementptr inbounds %LSlice, ptr %t4264, i32 0, i32 0 - %t4268 = load i32, ptr %t4265 - %t4269 = load i32, ptr %t4266 - %t4270 = icmp sge i32 %t4268, %t4269 - br i1 %t4270, label %grow907, label %put908 -grow907: - %t4271 = mul i32 %t4269, 2 - %t4272 = icmp eq i32 %t4269, 0 - %t4273 = select i1 %t4272, i32 8, i32 %t4271 - %t4274 = getelementptr ptr, ptr null, i32 1 - %t4275 = ptrtoint ptr %t4274 to i64 - %t4276 = zext i32 %t4273 to i64 - %t4277 = mul i64 %t4276, %t4275 - %t4278 = load ptr, ptr %t4267 - %t4279 = call ptr @realloc(ptr %t4278, i64 %t4277) - store ptr %t4279, ptr %t4267 - store i32 %t4273, ptr %t4266 - br label %put908 -put908: - %t4280 = load ptr, ptr %t4267 - %t4281 = getelementptr inbounds ptr, ptr %t4280, i32 %t4268 - store ptr @.str6540, ptr %t4281 - %t4282 = add i32 %t4268, 1 - store i32 %t4282, ptr %t4265 - br label %ifend904 -ifend904: - %t4283 = load ptr, ptr %t1 - %t4284 = call i32 @fn_str_eq(ptr %t4283, ptr @.str6541) - %t4285 = icmp ne i32 %t4284, 0 - br i1 %t4285, label %then909, label %ifend911 + %t4548 = load ptr, ptr %t4535 + %t4549 = getelementptr inbounds ptr, ptr %t4548, i32 %t4536 + store ptr @.str6843, ptr %t4549 + %t4550 = add i32 %t4536, 1 + store i32 %t4550, ptr %t4533 + br label %ifend886 +ifend886: + %t4551 = load ptr, ptr %t1 + %t4552 = call i32 @fn_str_eq(ptr %t4551, ptr @.str6844) + %t4553 = icmp ne i32 %t4552, 0 + br i1 %t4553, label %then891, label %ifend893 +then891: + store ptr @.str6845, ptr %t380 + %t4554 = load ptr, ptr %t387 + %t4555 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 1 + %t4556 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 2 + %t4557 = getelementptr inbounds %LSlice, ptr %t4554, i32 0, i32 0 + %t4558 = load i32, ptr %t4555 + %t4559 = load i32, ptr %t4556 + %t4560 = icmp sge i32 %t4558, %t4559 + br i1 %t4560, label %grow894, label %put895 +grow894: + %t4561 = mul i32 %t4559, 2 + %t4562 = icmp eq i32 %t4559, 0 + %t4563 = select i1 %t4562, i32 8, i32 %t4561 + %t4564 = getelementptr ptr, ptr null, i32 1 + %t4565 = ptrtoint ptr %t4564 to i64 + %t4566 = zext i32 %t4563 to i64 + %t4567 = mul i64 %t4566, %t4565 + %t4568 = load ptr, ptr %t4557 + %t4569 = call ptr @realloc(ptr %t4568, i64 %t4567) + store ptr %t4569, ptr %t4557 + store i32 %t4563, ptr %t4556 + br label %put895 +put895: + %t4570 = load ptr, ptr %t4557 + %t4571 = getelementptr inbounds ptr, ptr %t4570, i32 %t4558 + store ptr @.str6846, ptr %t4571 + %t4572 = add i32 %t4558, 1 + store i32 %t4572, ptr %t4555 + br label %ifend893 +ifend893: + %t4573 = load ptr, ptr %t1 + %t4574 = call i32 @fn_str_eq(ptr %t4573, ptr @.str6847) + %t4575 = icmp ne i32 %t4574, 0 + br i1 %t4575, label %then896, label %ifend898 +then896: + store ptr @.str6848, ptr %t380 + %t4576 = load ptr, ptr %t387 + %t4577 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 1 + %t4578 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 2 + %t4579 = getelementptr inbounds %LSlice, ptr %t4576, i32 0, i32 0 + %t4580 = load i32, ptr %t4577 + %t4581 = load i32, ptr %t4578 + %t4582 = icmp sge i32 %t4580, %t4581 + br i1 %t4582, label %grow899, label %put900 +grow899: + %t4583 = mul i32 %t4581, 2 + %t4584 = icmp eq i32 %t4581, 0 + %t4585 = select i1 %t4584, i32 8, i32 %t4583 + %t4586 = getelementptr ptr, ptr null, i32 1 + %t4587 = ptrtoint ptr %t4586 to i64 + %t4588 = zext i32 %t4585 to i64 + %t4589 = mul i64 %t4588, %t4587 + %t4590 = load ptr, ptr %t4579 + %t4591 = call ptr @realloc(ptr %t4590, i64 %t4589) + store ptr %t4591, ptr %t4579 + store i32 %t4585, ptr %t4578 + br label %put900 +put900: + %t4592 = load ptr, ptr %t4579 + %t4593 = getelementptr inbounds ptr, ptr %t4592, i32 %t4580 + store ptr @.str6849, ptr %t4593 + %t4594 = add i32 %t4580, 1 + store i32 %t4594, ptr %t4577 + br label %ifend898 +ifend898: + %t4595 = load ptr, ptr %t1 + %t4596 = call i32 @fn_str_eq(ptr %t4595, ptr @.str6850) + %t4597 = icmp ne i32 %t4596, 0 + br i1 %t4597, label %then901, label %ifend903 +then901: + store ptr @.str6851, ptr %t380 + %t4598 = load ptr, ptr %t387 + %t4599 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 1 + %t4600 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 2 + %t4601 = getelementptr inbounds %LSlice, ptr %t4598, i32 0, i32 0 + %t4602 = load i32, ptr %t4599 + %t4603 = load i32, ptr %t4600 + %t4604 = icmp sge i32 %t4602, %t4603 + br i1 %t4604, label %grow904, label %put905 +grow904: + %t4605 = mul i32 %t4603, 2 + %t4606 = icmp eq i32 %t4603, 0 + %t4607 = select i1 %t4606, i32 8, i32 %t4605 + %t4608 = getelementptr ptr, ptr null, i32 1 + %t4609 = ptrtoint ptr %t4608 to i64 + %t4610 = zext i32 %t4607 to i64 + %t4611 = mul i64 %t4610, %t4609 + %t4612 = load ptr, ptr %t4601 + %t4613 = call ptr @realloc(ptr %t4612, i64 %t4611) + store ptr %t4613, ptr %t4601 + store i32 %t4607, ptr %t4600 + br label %put905 +put905: + %t4614 = load ptr, ptr %t4601 + %t4615 = getelementptr inbounds ptr, ptr %t4614, i32 %t4602 + store ptr @.str6852, ptr %t4615 + %t4616 = add i32 %t4602, 1 + store i32 %t4616, ptr %t4599 + br label %ifend903 +ifend903: + %t4617 = load ptr, ptr %t1 + %t4618 = call i32 @fn_str_eq(ptr %t4617, ptr @.str6853) + %t4619 = icmp ne i32 %t4618, 0 + br i1 %t4619, label %then906, label %ifend908 +then906: + store ptr @.str6854, ptr %t380 + br label %ifend908 +ifend908: + %t4620 = load ptr, ptr %t1 + %t4621 = call i32 @fn_str_eq(ptr %t4620, ptr @.str6855) + %t4622 = icmp ne i32 %t4621, 0 + br i1 %t4622, label %then909, label %ifend911 then909: - store ptr @.str6542, ptr %t330 - %t4286 = load ptr, ptr %t337 - %t4287 = getelementptr inbounds %LSlice, ptr %t4286, i32 0, i32 1 - %t4288 = getelementptr inbounds %LSlice, ptr %t4286, i32 0, i32 2 - %t4289 = getelementptr inbounds %LSlice, ptr %t4286, i32 0, i32 0 - %t4290 = load i32, ptr %t4287 - %t4291 = load i32, ptr %t4288 - %t4292 = icmp sge i32 %t4290, %t4291 - br i1 %t4292, label %grow912, label %put913 + store ptr @.str6856, ptr %t380 + %t4623 = load ptr, ptr %t387 + %t4624 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 1 + %t4625 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 2 + %t4626 = getelementptr inbounds %LSlice, ptr %t4623, i32 0, i32 0 + %t4627 = load i32, ptr %t4624 + %t4628 = load i32, ptr %t4625 + %t4629 = icmp sge i32 %t4627, %t4628 + br i1 %t4629, label %grow912, label %put913 grow912: - %t4293 = mul i32 %t4291, 2 - %t4294 = icmp eq i32 %t4291, 0 - %t4295 = select i1 %t4294, i32 8, i32 %t4293 - %t4296 = getelementptr ptr, ptr null, i32 1 - %t4297 = ptrtoint ptr %t4296 to i64 - %t4298 = zext i32 %t4295 to i64 - %t4299 = mul i64 %t4298, %t4297 - %t4300 = load ptr, ptr %t4289 - %t4301 = call ptr @realloc(ptr %t4300, i64 %t4299) - store ptr %t4301, ptr %t4289 - store i32 %t4295, ptr %t4288 + %t4630 = mul i32 %t4628, 2 + %t4631 = icmp eq i32 %t4628, 0 + %t4632 = select i1 %t4631, i32 8, i32 %t4630 + %t4633 = getelementptr ptr, ptr null, i32 1 + %t4634 = ptrtoint ptr %t4633 to i64 + %t4635 = zext i32 %t4632 to i64 + %t4636 = mul i64 %t4635, %t4634 + %t4637 = load ptr, ptr %t4626 + %t4638 = call ptr @realloc(ptr %t4637, i64 %t4636) + store ptr %t4638, ptr %t4626 + store i32 %t4632, ptr %t4625 br label %put913 put913: - %t4302 = load ptr, ptr %t4289 - %t4303 = getelementptr inbounds ptr, ptr %t4302, i32 %t4290 - store ptr @.str6543, ptr %t4303 - %t4304 = add i32 %t4290, 1 - store i32 %t4304, ptr %t4287 - %t4305 = load ptr, ptr %t337 - %t4306 = getelementptr inbounds %LSlice, ptr %t4305, i32 0, i32 1 - %t4307 = getelementptr inbounds %LSlice, ptr %t4305, i32 0, i32 2 - %t4308 = getelementptr inbounds %LSlice, ptr %t4305, i32 0, i32 0 - %t4309 = load i32, ptr %t4306 - %t4310 = load i32, ptr %t4307 - %t4311 = icmp sge i32 %t4309, %t4310 - br i1 %t4311, label %grow914, label %put915 -grow914: - %t4312 = mul i32 %t4310, 2 - %t4313 = icmp eq i32 %t4310, 0 - %t4314 = select i1 %t4313, i32 8, i32 %t4312 - %t4315 = getelementptr ptr, ptr null, i32 1 - %t4316 = ptrtoint ptr %t4315 to i64 - %t4317 = zext i32 %t4314 to i64 - %t4318 = mul i64 %t4317, %t4316 - %t4319 = load ptr, ptr %t4308 - %t4320 = call ptr @realloc(ptr %t4319, i64 %t4318) - store ptr %t4320, ptr %t4308 - store i32 %t4314, ptr %t4307 - br label %put915 -put915: - %t4321 = load ptr, ptr %t4308 - %t4322 = getelementptr inbounds ptr, ptr %t4321, i32 %t4309 - store ptr @.str6544, ptr %t4322 - %t4323 = add i32 %t4309, 1 - store i32 %t4323, ptr %t4306 - %t4324 = load ptr, ptr %t337 - %t4325 = getelementptr inbounds %LSlice, ptr %t4324, i32 0, i32 1 - %t4326 = getelementptr inbounds %LSlice, ptr %t4324, i32 0, i32 2 - %t4327 = getelementptr inbounds %LSlice, ptr %t4324, i32 0, i32 0 - %t4328 = load i32, ptr %t4325 - %t4329 = load i32, ptr %t4326 - %t4330 = icmp sge i32 %t4328, %t4329 - br i1 %t4330, label %grow916, label %put917 -grow916: - %t4331 = mul i32 %t4329, 2 - %t4332 = icmp eq i32 %t4329, 0 - %t4333 = select i1 %t4332, i32 8, i32 %t4331 - %t4334 = getelementptr ptr, ptr null, i32 1 - %t4335 = ptrtoint ptr %t4334 to i64 - %t4336 = zext i32 %t4333 to i64 - %t4337 = mul i64 %t4336, %t4335 - %t4338 = load ptr, ptr %t4327 - %t4339 = call ptr @realloc(ptr %t4338, i64 %t4337) - store ptr %t4339, ptr %t4327 - store i32 %t4333, ptr %t4326 - br label %put917 -put917: - %t4340 = load ptr, ptr %t4327 - %t4341 = getelementptr inbounds ptr, ptr %t4340, i32 %t4328 - store ptr @.str6545, ptr %t4341 - %t4342 = add i32 %t4328, 1 - store i32 %t4342, ptr %t4325 + %t4639 = load ptr, ptr %t4626 + %t4640 = getelementptr inbounds ptr, ptr %t4639, i32 %t4627 + store ptr @.str6857, ptr %t4640 + %t4641 = add i32 %t4627, 1 + store i32 %t4641, ptr %t4624 br label %ifend911 ifend911: - %t4343 = load ptr, ptr %t1 - %t4344 = call i32 @fn_str_eq(ptr %t4343, ptr @.str6546) - %t4345 = icmp ne i32 %t4344, 0 - br i1 %t4345, label %then918, label %ifend920 -then918: - store ptr @.str6547, ptr %t330 - %t4346 = load ptr, ptr %t337 - %t4347 = getelementptr inbounds %LSlice, ptr %t4346, i32 0, i32 1 - %t4348 = getelementptr inbounds %LSlice, ptr %t4346, i32 0, i32 2 - %t4349 = getelementptr inbounds %LSlice, ptr %t4346, i32 0, i32 0 - %t4350 = load i32, ptr %t4347 - %t4351 = load i32, ptr %t4348 - %t4352 = icmp sge i32 %t4350, %t4351 - br i1 %t4352, label %grow921, label %put922 -grow921: - %t4353 = mul i32 %t4351, 2 - %t4354 = icmp eq i32 %t4351, 0 - %t4355 = select i1 %t4354, i32 8, i32 %t4353 - %t4356 = getelementptr ptr, ptr null, i32 1 - %t4357 = ptrtoint ptr %t4356 to i64 - %t4358 = zext i32 %t4355 to i64 - %t4359 = mul i64 %t4358, %t4357 - %t4360 = load ptr, ptr %t4349 - %t4361 = call ptr @realloc(ptr %t4360, i64 %t4359) - store ptr %t4361, ptr %t4349 - store i32 %t4355, ptr %t4348 - br label %put922 -put922: - %t4362 = load ptr, ptr %t4349 - %t4363 = getelementptr inbounds ptr, ptr %t4362, i32 %t4350 - store ptr @.str6548, ptr %t4363 - %t4364 = add i32 %t4350, 1 - store i32 %t4364, ptr %t4347 - br label %ifend920 -ifend920: - %t4365 = load ptr, ptr %t1 - %t4366 = call i32 @fn_str_eq(ptr %t4365, ptr @.str6549) - %t4367 = icmp ne i32 %t4366, 0 - br i1 %t4367, label %then923, label %ifend925 + %t4642 = load ptr, ptr %t1 + %t4643 = call i32 @fn_str_eq(ptr %t4642, ptr @.str6858) + %t4644 = icmp ne i32 %t4643, 0 + br i1 %t4644, label %then914, label %ifend916 +then914: + store ptr @.str6859, ptr %t380 + br label %ifend916 +ifend916: + br label %ifend883 +ifend883: + %t4645 = load ptr, ptr %t0 + %t4646 = call i32 @fn_str_eq(ptr %t4645, ptr @.str6860) + %t4647 = icmp ne i32 %t4646, 0 + br i1 %t4647, label %then917, label %ifend919 +then917: + %t4648 = load ptr, ptr %t1 + %t4649 = call i32 @fn_str_eq(ptr %t4648, ptr @.str6861) + %t4650 = icmp ne i32 %t4649, 0 + br i1 %t4650, label %then920, label %ifend922 +then920: + store ptr @.str6862, ptr %t380 + br label %ifend922 +ifend922: + %t4651 = load ptr, ptr %t1 + %t4652 = call i32 @fn_str_eq(ptr %t4651, ptr @.str6863) + %t4653 = icmp ne i32 %t4652, 0 + br i1 %t4653, label %then923, label %ifend925 then923: - store ptr @.str6550, ptr %t330 - %t4368 = load ptr, ptr %t337 - %t4369 = getelementptr inbounds %LSlice, ptr %t4368, i32 0, i32 1 - %t4370 = getelementptr inbounds %LSlice, ptr %t4368, i32 0, i32 2 - %t4371 = getelementptr inbounds %LSlice, ptr %t4368, i32 0, i32 0 - %t4372 = load i32, ptr %t4369 - %t4373 = load i32, ptr %t4370 - %t4374 = icmp sge i32 %t4372, %t4373 - br i1 %t4374, label %grow926, label %put927 + store ptr @.str6864, ptr %t380 + %t4654 = load ptr, ptr %t387 + %t4655 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 1 + %t4656 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 2 + %t4657 = getelementptr inbounds %LSlice, ptr %t4654, i32 0, i32 0 + %t4658 = load i32, ptr %t4655 + %t4659 = load i32, ptr %t4656 + %t4660 = icmp sge i32 %t4658, %t4659 + br i1 %t4660, label %grow926, label %put927 grow926: - %t4375 = mul i32 %t4373, 2 - %t4376 = icmp eq i32 %t4373, 0 - %t4377 = select i1 %t4376, i32 8, i32 %t4375 - %t4378 = getelementptr ptr, ptr null, i32 1 - %t4379 = ptrtoint ptr %t4378 to i64 - %t4380 = zext i32 %t4377 to i64 - %t4381 = mul i64 %t4380, %t4379 - %t4382 = load ptr, ptr %t4371 - %t4383 = call ptr @realloc(ptr %t4382, i64 %t4381) - store ptr %t4383, ptr %t4371 - store i32 %t4377, ptr %t4370 + %t4661 = mul i32 %t4659, 2 + %t4662 = icmp eq i32 %t4659, 0 + %t4663 = select i1 %t4662, i32 8, i32 %t4661 + %t4664 = getelementptr ptr, ptr null, i32 1 + %t4665 = ptrtoint ptr %t4664 to i64 + %t4666 = zext i32 %t4663 to i64 + %t4667 = mul i64 %t4666, %t4665 + %t4668 = load ptr, ptr %t4657 + %t4669 = call ptr @realloc(ptr %t4668, i64 %t4667) + store ptr %t4669, ptr %t4657 + store i32 %t4663, ptr %t4656 br label %put927 put927: - %t4384 = load ptr, ptr %t4371 - %t4385 = getelementptr inbounds ptr, ptr %t4384, i32 %t4372 - store ptr @.str6551, ptr %t4385 - %t4386 = add i32 %t4372, 1 - store i32 %t4386, ptr %t4369 + %t4670 = load ptr, ptr %t4657 + %t4671 = getelementptr inbounds ptr, ptr %t4670, i32 %t4658 + store ptr @.str6865, ptr %t4671 + %t4672 = add i32 %t4658, 1 + store i32 %t4672, ptr %t4655 + %t4673 = load ptr, ptr %t387 + %t4674 = getelementptr inbounds %LSlice, ptr %t4673, i32 0, i32 1 + %t4675 = getelementptr inbounds %LSlice, ptr %t4673, i32 0, i32 2 + %t4676 = getelementptr inbounds %LSlice, ptr %t4673, i32 0, i32 0 + %t4677 = load i32, ptr %t4674 + %t4678 = load i32, ptr %t4675 + %t4679 = icmp sge i32 %t4677, %t4678 + br i1 %t4679, label %grow928, label %put929 +grow928: + %t4680 = mul i32 %t4678, 2 + %t4681 = icmp eq i32 %t4678, 0 + %t4682 = select i1 %t4681, i32 8, i32 %t4680 + %t4683 = getelementptr ptr, ptr null, i32 1 + %t4684 = ptrtoint ptr %t4683 to i64 + %t4685 = zext i32 %t4682 to i64 + %t4686 = mul i64 %t4685, %t4684 + %t4687 = load ptr, ptr %t4676 + %t4688 = call ptr @realloc(ptr %t4687, i64 %t4686) + store ptr %t4688, ptr %t4676 + store i32 %t4682, ptr %t4675 + br label %put929 +put929: + %t4689 = load ptr, ptr %t4676 + %t4690 = getelementptr inbounds ptr, ptr %t4689, i32 %t4677 + store ptr @.str6866, ptr %t4690 + %t4691 = add i32 %t4677, 1 + store i32 %t4691, ptr %t4674 br label %ifend925 ifend925: - %t4387 = load ptr, ptr %t1 - %t4388 = call i32 @fn_str_eq(ptr %t4387, ptr @.str6552) - %t4389 = icmp ne i32 %t4388, 0 - br i1 %t4389, label %then928, label %ifend930 -then928: - store ptr @.str6553, ptr %t330 - %t4390 = load ptr, ptr %t337 - %t4391 = getelementptr inbounds %LSlice, ptr %t4390, i32 0, i32 1 - %t4392 = getelementptr inbounds %LSlice, ptr %t4390, i32 0, i32 2 - %t4393 = getelementptr inbounds %LSlice, ptr %t4390, i32 0, i32 0 - %t4394 = load i32, ptr %t4391 - %t4395 = load i32, ptr %t4392 - %t4396 = icmp sge i32 %t4394, %t4395 - br i1 %t4396, label %grow931, label %put932 -grow931: - %t4397 = mul i32 %t4395, 2 - %t4398 = icmp eq i32 %t4395, 0 - %t4399 = select i1 %t4398, i32 8, i32 %t4397 - %t4400 = getelementptr ptr, ptr null, i32 1 - %t4401 = ptrtoint ptr %t4400 to i64 - %t4402 = zext i32 %t4399 to i64 - %t4403 = mul i64 %t4402, %t4401 - %t4404 = load ptr, ptr %t4393 - %t4405 = call ptr @realloc(ptr %t4404, i64 %t4403) - store ptr %t4405, ptr %t4393 - store i32 %t4399, ptr %t4392 - br label %put932 -put932: - %t4406 = load ptr, ptr %t4393 - %t4407 = getelementptr inbounds ptr, ptr %t4406, i32 %t4394 - store ptr @.str6554, ptr %t4407 - %t4408 = add i32 %t4394, 1 - store i32 %t4408, ptr %t4391 - br label %ifend930 -ifend930: - %t4409 = load ptr, ptr %t1 - %t4410 = call i32 @fn_str_eq(ptr %t4409, ptr @.str6555) - %t4411 = icmp ne i32 %t4410, 0 - br i1 %t4411, label %then933, label %ifend935 -then933: - store ptr @.str6556, ptr %t330 - %t4412 = load ptr, ptr %t337 - %t4413 = getelementptr inbounds %LSlice, ptr %t4412, i32 0, i32 1 - %t4414 = getelementptr inbounds %LSlice, ptr %t4412, i32 0, i32 2 - %t4415 = getelementptr inbounds %LSlice, ptr %t4412, i32 0, i32 0 - %t4416 = load i32, ptr %t4413 - %t4417 = load i32, ptr %t4414 - %t4418 = icmp sge i32 %t4416, %t4417 - br i1 %t4418, label %grow936, label %put937 -grow936: - %t4419 = mul i32 %t4417, 2 - %t4420 = icmp eq i32 %t4417, 0 - %t4421 = select i1 %t4420, i32 8, i32 %t4419 - %t4422 = getelementptr ptr, ptr null, i32 1 - %t4423 = ptrtoint ptr %t4422 to i64 - %t4424 = zext i32 %t4421 to i64 - %t4425 = mul i64 %t4424, %t4423 - %t4426 = load ptr, ptr %t4415 - %t4427 = call ptr @realloc(ptr %t4426, i64 %t4425) - store ptr %t4427, ptr %t4415 - store i32 %t4421, ptr %t4414 - br label %put937 -put937: - %t4428 = load ptr, ptr %t4415 - %t4429 = getelementptr inbounds ptr, ptr %t4428, i32 %t4416 - store ptr @.str6557, ptr %t4429 - %t4430 = add i32 %t4416, 1 - store i32 %t4430, ptr %t4413 - br label %ifend935 -ifend935: - %t4431 = load ptr, ptr %t1 - %t4432 = call i32 @fn_str_eq(ptr %t4431, ptr @.str6558) - %t4433 = icmp ne i32 %t4432, 0 - br i1 %t4433, label %then938, label %ifend940 -then938: - store ptr @.str6559, ptr %t330 - %t4434 = load ptr, ptr %t337 - %t4435 = getelementptr inbounds %LSlice, ptr %t4434, i32 0, i32 1 - %t4436 = getelementptr inbounds %LSlice, ptr %t4434, i32 0, i32 2 - %t4437 = getelementptr inbounds %LSlice, ptr %t4434, i32 0, i32 0 - %t4438 = load i32, ptr %t4435 - %t4439 = load i32, ptr %t4436 - %t4440 = icmp sge i32 %t4438, %t4439 - br i1 %t4440, label %grow941, label %put942 -grow941: - %t4441 = mul i32 %t4439, 2 - %t4442 = icmp eq i32 %t4439, 0 - %t4443 = select i1 %t4442, i32 8, i32 %t4441 - %t4444 = getelementptr ptr, ptr null, i32 1 - %t4445 = ptrtoint ptr %t4444 to i64 - %t4446 = zext i32 %t4443 to i64 - %t4447 = mul i64 %t4446, %t4445 - %t4448 = load ptr, ptr %t4437 - %t4449 = call ptr @realloc(ptr %t4448, i64 %t4447) - store ptr %t4449, ptr %t4437 - store i32 %t4443, ptr %t4436 - br label %put942 -put942: - %t4450 = load ptr, ptr %t4437 - %t4451 = getelementptr inbounds ptr, ptr %t4450, i32 %t4438 - store ptr @.str6560, ptr %t4451 - %t4452 = add i32 %t4438, 1 - store i32 %t4452, ptr %t4435 - br label %ifend940 -ifend940: - %t4453 = load ptr, ptr %t1 - %t4454 = call i32 @fn_str_eq(ptr %t4453, ptr @.str6561) - %t4455 = icmp ne i32 %t4454, 0 - br i1 %t4455, label %then943, label %ifend945 -then943: - store ptr @.str6562, ptr %t330 - %t4456 = load ptr, ptr %t337 - %t4457 = getelementptr inbounds %LSlice, ptr %t4456, i32 0, i32 1 - %t4458 = getelementptr inbounds %LSlice, ptr %t4456, i32 0, i32 2 - %t4459 = getelementptr inbounds %LSlice, ptr %t4456, i32 0, i32 0 - %t4460 = load i32, ptr %t4457 - %t4461 = load i32, ptr %t4458 - %t4462 = icmp sge i32 %t4460, %t4461 - br i1 %t4462, label %grow946, label %put947 -grow946: - %t4463 = mul i32 %t4461, 2 - %t4464 = icmp eq i32 %t4461, 0 - %t4465 = select i1 %t4464, i32 8, i32 %t4463 - %t4466 = getelementptr ptr, ptr null, i32 1 - %t4467 = ptrtoint ptr %t4466 to i64 - %t4468 = zext i32 %t4465 to i64 - %t4469 = mul i64 %t4468, %t4467 - %t4470 = load ptr, ptr %t4459 - %t4471 = call ptr @realloc(ptr %t4470, i64 %t4469) - store ptr %t4471, ptr %t4459 - store i32 %t4465, ptr %t4458 - br label %put947 -put947: - %t4472 = load ptr, ptr %t4459 - %t4473 = getelementptr inbounds ptr, ptr %t4472, i32 %t4460 - store ptr @.str6563, ptr %t4473 - %t4474 = add i32 %t4460, 1 - store i32 %t4474, ptr %t4457 - br label %ifend945 -ifend945: - %t4475 = load ptr, ptr %t1 - %t4476 = call i32 @fn_str_eq(ptr %t4475, ptr @.str6564) - %t4477 = icmp ne i32 %t4476, 0 - br i1 %t4477, label %then948, label %ifend950 + %t4692 = load ptr, ptr %t1 + %t4693 = call i32 @fn_str_eq(ptr %t4692, ptr @.str6867) + %t4694 = icmp ne i32 %t4693, 0 + br i1 %t4694, label %then930, label %ifend932 +then930: + store ptr @.str6868, ptr %t380 + %t4695 = load ptr, ptr %t387 + %t4696 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 1 + %t4697 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 2 + %t4698 = getelementptr inbounds %LSlice, ptr %t4695, i32 0, i32 0 + %t4699 = load i32, ptr %t4696 + %t4700 = load i32, ptr %t4697 + %t4701 = icmp sge i32 %t4699, %t4700 + br i1 %t4701, label %grow933, label %put934 +grow933: + %t4702 = mul i32 %t4700, 2 + %t4703 = icmp eq i32 %t4700, 0 + %t4704 = select i1 %t4703, i32 8, i32 %t4702 + %t4705 = getelementptr ptr, ptr null, i32 1 + %t4706 = ptrtoint ptr %t4705 to i64 + %t4707 = zext i32 %t4704 to i64 + %t4708 = mul i64 %t4707, %t4706 + %t4709 = load ptr, ptr %t4698 + %t4710 = call ptr @realloc(ptr %t4709, i64 %t4708) + store ptr %t4710, ptr %t4698 + store i32 %t4704, ptr %t4697 + br label %put934 +put934: + %t4711 = load ptr, ptr %t4698 + %t4712 = getelementptr inbounds ptr, ptr %t4711, i32 %t4699 + store ptr @.str6869, ptr %t4712 + %t4713 = add i32 %t4699, 1 + store i32 %t4713, ptr %t4696 + %t4714 = load ptr, ptr %t387 + %t4715 = getelementptr inbounds %LSlice, ptr %t4714, i32 0, i32 1 + %t4716 = getelementptr inbounds %LSlice, ptr %t4714, i32 0, i32 2 + %t4717 = getelementptr inbounds %LSlice, ptr %t4714, i32 0, i32 0 + %t4718 = load i32, ptr %t4715 + %t4719 = load i32, ptr %t4716 + %t4720 = icmp sge i32 %t4718, %t4719 + br i1 %t4720, label %grow935, label %put936 +grow935: + %t4721 = mul i32 %t4719, 2 + %t4722 = icmp eq i32 %t4719, 0 + %t4723 = select i1 %t4722, i32 8, i32 %t4721 + %t4724 = getelementptr ptr, ptr null, i32 1 + %t4725 = ptrtoint ptr %t4724 to i64 + %t4726 = zext i32 %t4723 to i64 + %t4727 = mul i64 %t4726, %t4725 + %t4728 = load ptr, ptr %t4717 + %t4729 = call ptr @realloc(ptr %t4728, i64 %t4727) + store ptr %t4729, ptr %t4717 + store i32 %t4723, ptr %t4716 + br label %put936 +put936: + %t4730 = load ptr, ptr %t4717 + %t4731 = getelementptr inbounds ptr, ptr %t4730, i32 %t4718 + store ptr @.str6870, ptr %t4731 + %t4732 = add i32 %t4718, 1 + store i32 %t4732, ptr %t4715 + %t4733 = load ptr, ptr %t387 + %t4734 = getelementptr inbounds %LSlice, ptr %t4733, i32 0, i32 1 + %t4735 = getelementptr inbounds %LSlice, ptr %t4733, i32 0, i32 2 + %t4736 = getelementptr inbounds %LSlice, ptr %t4733, i32 0, i32 0 + %t4737 = load i32, ptr %t4734 + %t4738 = load i32, ptr %t4735 + %t4739 = icmp sge i32 %t4737, %t4738 + br i1 %t4739, label %grow937, label %put938 +grow937: + %t4740 = mul i32 %t4738, 2 + %t4741 = icmp eq i32 %t4738, 0 + %t4742 = select i1 %t4741, i32 8, i32 %t4740 + %t4743 = getelementptr ptr, ptr null, i32 1 + %t4744 = ptrtoint ptr %t4743 to i64 + %t4745 = zext i32 %t4742 to i64 + %t4746 = mul i64 %t4745, %t4744 + %t4747 = load ptr, ptr %t4736 + %t4748 = call ptr @realloc(ptr %t4747, i64 %t4746) + store ptr %t4748, ptr %t4736 + store i32 %t4742, ptr %t4735 + br label %put938 +put938: + %t4749 = load ptr, ptr %t4736 + %t4750 = getelementptr inbounds ptr, ptr %t4749, i32 %t4737 + store ptr @.str6871, ptr %t4750 + %t4751 = add i32 %t4737, 1 + store i32 %t4751, ptr %t4734 + br label %ifend932 +ifend932: + %t4752 = load ptr, ptr %t1 + %t4753 = call i32 @fn_str_eq(ptr %t4752, ptr @.str6872) + %t4754 = icmp ne i32 %t4753, 0 + br i1 %t4754, label %then939, label %ifend941 +then939: + store ptr @.str6873, ptr %t380 + br label %ifend941 +ifend941: + %t4755 = load ptr, ptr %t1 + %t4756 = call i32 @fn_str_eq(ptr %t4755, ptr @.str6874) + %t4757 = icmp ne i32 %t4756, 0 + br i1 %t4757, label %then942, label %ifend944 +then942: + store ptr @.str6875, ptr %t380 + br label %ifend944 +ifend944: + %t4758 = load ptr, ptr %t1 + %t4759 = call i32 @fn_str_eq(ptr %t4758, ptr @.str6876) + %t4760 = icmp ne i32 %t4759, 0 + br i1 %t4760, label %then945, label %ifend947 +then945: + store ptr @.str6877, ptr %t380 + br label %ifend947 +ifend947: + %t4761 = load ptr, ptr %t1 + %t4762 = call i32 @fn_str_eq(ptr %t4761, ptr @.str6878) + %t4763 = icmp ne i32 %t4762, 0 + br i1 %t4763, label %then948, label %ifend950 then948: - store ptr @.str6565, ptr %t330 - %t4478 = load ptr, ptr %t337 - %t4479 = getelementptr inbounds %LSlice, ptr %t4478, i32 0, i32 1 - %t4480 = getelementptr inbounds %LSlice, ptr %t4478, i32 0, i32 2 - %t4481 = getelementptr inbounds %LSlice, ptr %t4478, i32 0, i32 0 - %t4482 = load i32, ptr %t4479 - %t4483 = load i32, ptr %t4480 - %t4484 = icmp sge i32 %t4482, %t4483 - br i1 %t4484, label %grow951, label %put952 -grow951: - %t4485 = mul i32 %t4483, 2 - %t4486 = icmp eq i32 %t4483, 0 - %t4487 = select i1 %t4486, i32 8, i32 %t4485 - %t4488 = getelementptr ptr, ptr null, i32 1 - %t4489 = ptrtoint ptr %t4488 to i64 - %t4490 = zext i32 %t4487 to i64 - %t4491 = mul i64 %t4490, %t4489 - %t4492 = load ptr, ptr %t4481 - %t4493 = call ptr @realloc(ptr %t4492, i64 %t4491) - store ptr %t4493, ptr %t4481 - store i32 %t4487, ptr %t4480 - br label %put952 -put952: - %t4494 = load ptr, ptr %t4481 - %t4495 = getelementptr inbounds ptr, ptr %t4494, i32 %t4482 - store ptr @.str6566, ptr %t4495 - %t4496 = add i32 %t4482, 1 - store i32 %t4496, ptr %t4479 - %t4497 = load ptr, ptr %t337 - %t4498 = getelementptr inbounds %LSlice, ptr %t4497, i32 0, i32 1 - %t4499 = getelementptr inbounds %LSlice, ptr %t4497, i32 0, i32 2 - %t4500 = getelementptr inbounds %LSlice, ptr %t4497, i32 0, i32 0 - %t4501 = load i32, ptr %t4498 - %t4502 = load i32, ptr %t4499 - %t4503 = icmp sge i32 %t4501, %t4502 - br i1 %t4503, label %grow953, label %put954 -grow953: - %t4504 = mul i32 %t4502, 2 - %t4505 = icmp eq i32 %t4502, 0 - %t4506 = select i1 %t4505, i32 8, i32 %t4504 - %t4507 = getelementptr ptr, ptr null, i32 1 - %t4508 = ptrtoint ptr %t4507 to i64 - %t4509 = zext i32 %t4506 to i64 - %t4510 = mul i64 %t4509, %t4508 - %t4511 = load ptr, ptr %t4500 - %t4512 = call ptr @realloc(ptr %t4511, i64 %t4510) - store ptr %t4512, ptr %t4500 - store i32 %t4506, ptr %t4499 - br label %put954 -put954: - %t4513 = load ptr, ptr %t4500 - %t4514 = getelementptr inbounds ptr, ptr %t4513, i32 %t4501 - store ptr @.str6567, ptr %t4514 - %t4515 = add i32 %t4501, 1 - store i32 %t4515, ptr %t4498 + store ptr @.str6879, ptr %t380 br label %ifend950 ifend950: - %t4516 = load ptr, ptr %t1 - %t4517 = call i32 @fn_str_eq(ptr %t4516, ptr @.str6568) - %t4518 = icmp ne i32 %t4517, 0 - br i1 %t4518, label %then955, label %ifend957 -then955: - store ptr @.str6569, ptr %t330 - %t4519 = load ptr, ptr %t337 - %t4520 = getelementptr inbounds %LSlice, ptr %t4519, i32 0, i32 1 - %t4521 = getelementptr inbounds %LSlice, ptr %t4519, i32 0, i32 2 - %t4522 = getelementptr inbounds %LSlice, ptr %t4519, i32 0, i32 0 - %t4523 = load i32, ptr %t4520 - %t4524 = load i32, ptr %t4521 - %t4525 = icmp sge i32 %t4523, %t4524 - br i1 %t4525, label %grow958, label %put959 -grow958: - %t4526 = mul i32 %t4524, 2 - %t4527 = icmp eq i32 %t4524, 0 - %t4528 = select i1 %t4527, i32 8, i32 %t4526 - %t4529 = getelementptr ptr, ptr null, i32 1 - %t4530 = ptrtoint ptr %t4529 to i64 - %t4531 = zext i32 %t4528 to i64 - %t4532 = mul i64 %t4531, %t4530 - %t4533 = load ptr, ptr %t4522 - %t4534 = call ptr @realloc(ptr %t4533, i64 %t4532) - store ptr %t4534, ptr %t4522 - store i32 %t4528, ptr %t4521 - br label %put959 -put959: - %t4535 = load ptr, ptr %t4522 - %t4536 = getelementptr inbounds ptr, ptr %t4535, i32 %t4523 - store ptr @.str6570, ptr %t4536 - %t4537 = add i32 %t4523, 1 - store i32 %t4537, ptr %t4520 - br label %ifend957 -ifend957: - %t4538 = load ptr, ptr %t1 - %t4539 = call i32 @fn_str_eq(ptr %t4538, ptr @.str6571) - %t4540 = icmp ne i32 %t4539, 0 - br i1 %t4540, label %then960, label %ifend962 -then960: - store ptr @.str6572, ptr %t330 - %t4541 = load ptr, ptr %t337 - %t4542 = getelementptr inbounds %LSlice, ptr %t4541, i32 0, i32 1 - %t4543 = getelementptr inbounds %LSlice, ptr %t4541, i32 0, i32 2 - %t4544 = getelementptr inbounds %LSlice, ptr %t4541, i32 0, i32 0 - %t4545 = load i32, ptr %t4542 - %t4546 = load i32, ptr %t4543 - %t4547 = icmp sge i32 %t4545, %t4546 - br i1 %t4547, label %grow963, label %put964 -grow963: - %t4548 = mul i32 %t4546, 2 - %t4549 = icmp eq i32 %t4546, 0 - %t4550 = select i1 %t4549, i32 8, i32 %t4548 - %t4551 = getelementptr ptr, ptr null, i32 1 - %t4552 = ptrtoint ptr %t4551 to i64 - %t4553 = zext i32 %t4550 to i64 - %t4554 = mul i64 %t4553, %t4552 - %t4555 = load ptr, ptr %t4544 - %t4556 = call ptr @realloc(ptr %t4555, i64 %t4554) - store ptr %t4556, ptr %t4544 - store i32 %t4550, ptr %t4543 - br label %put964 -put964: - %t4557 = load ptr, ptr %t4544 - %t4558 = getelementptr inbounds ptr, ptr %t4557, i32 %t4545 - store ptr @.str6573, ptr %t4558 - %t4559 = add i32 %t4545, 1 - store i32 %t4559, ptr %t4542 - %t4560 = load ptr, ptr %t337 - %t4561 = getelementptr inbounds %LSlice, ptr %t4560, i32 0, i32 1 - %t4562 = getelementptr inbounds %LSlice, ptr %t4560, i32 0, i32 2 - %t4563 = getelementptr inbounds %LSlice, ptr %t4560, i32 0, i32 0 - %t4564 = load i32, ptr %t4561 - %t4565 = load i32, ptr %t4562 - %t4566 = icmp sge i32 %t4564, %t4565 - br i1 %t4566, label %grow965, label %put966 -grow965: - %t4567 = mul i32 %t4565, 2 - %t4568 = icmp eq i32 %t4565, 0 - %t4569 = select i1 %t4568, i32 8, i32 %t4567 - %t4570 = getelementptr ptr, ptr null, i32 1 - %t4571 = ptrtoint ptr %t4570 to i64 - %t4572 = zext i32 %t4569 to i64 - %t4573 = mul i64 %t4572, %t4571 - %t4574 = load ptr, ptr %t4563 - %t4575 = call ptr @realloc(ptr %t4574, i64 %t4573) - store ptr %t4575, ptr %t4563 - store i32 %t4569, ptr %t4562 - br label %put966 -put966: - %t4576 = load ptr, ptr %t4563 - %t4577 = getelementptr inbounds ptr, ptr %t4576, i32 %t4564 - store ptr @.str6574, ptr %t4577 - %t4578 = add i32 %t4564, 1 - store i32 %t4578, ptr %t4561 - br label %ifend962 -ifend962: - br label %ifend864 -ifend864: - %t4579 = load ptr, ptr %t0 - %t4580 = call i32 @fn_str_eq(ptr %t4579, ptr @.str6575) - %t4581 = icmp ne i32 %t4580, 0 - br i1 %t4581, label %then967, label %ifend969 -then967: - %t4582 = load ptr, ptr %t1 - %t4583 = call i32 @fn_str_eq(ptr %t4582, ptr @.str6576) - %t4584 = icmp ne i32 %t4583, 0 - br i1 %t4584, label %then970, label %ifend972 -then970: - store ptr @.str6577, ptr %t330 - br label %ifend972 -ifend972: - %t4585 = load ptr, ptr %t1 - %t4586 = call i32 @fn_str_eq(ptr %t4585, ptr @.str6578) - %t4587 = icmp ne i32 %t4586, 0 - br i1 %t4587, label %then973, label %ifend975 + %t4764 = load ptr, ptr %t1 + %t4765 = call i32 @fn_str_eq(ptr %t4764, ptr @.str6880) + %t4766 = icmp ne i32 %t4765, 0 + br i1 %t4766, label %then951, label %ifend953 +then951: + store ptr @.str6881, ptr %t380 + br label %ifend953 +ifend953: + %t4767 = load ptr, ptr %t1 + %t4768 = call i32 @fn_str_eq(ptr %t4767, ptr @.str6882) + %t4769 = icmp ne i32 %t4768, 0 + br i1 %t4769, label %then954, label %ifend956 +then954: + store ptr @.str6883, ptr %t380 + %t4770 = load ptr, ptr %t387 + %t4771 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 1 + %t4772 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 2 + %t4773 = getelementptr inbounds %LSlice, ptr %t4770, i32 0, i32 0 + %t4774 = load i32, ptr %t4771 + %t4775 = load i32, ptr %t4772 + %t4776 = icmp sge i32 %t4774, %t4775 + br i1 %t4776, label %grow957, label %put958 +grow957: + %t4777 = mul i32 %t4775, 2 + %t4778 = icmp eq i32 %t4775, 0 + %t4779 = select i1 %t4778, i32 8, i32 %t4777 + %t4780 = getelementptr ptr, ptr null, i32 1 + %t4781 = ptrtoint ptr %t4780 to i64 + %t4782 = zext i32 %t4779 to i64 + %t4783 = mul i64 %t4782, %t4781 + %t4784 = load ptr, ptr %t4773 + %t4785 = call ptr @realloc(ptr %t4784, i64 %t4783) + store ptr %t4785, ptr %t4773 + store i32 %t4779, ptr %t4772 + br label %put958 +put958: + %t4786 = load ptr, ptr %t4773 + %t4787 = getelementptr inbounds ptr, ptr %t4786, i32 %t4774 + store ptr @.str6884, ptr %t4787 + %t4788 = add i32 %t4774, 1 + store i32 %t4788, ptr %t4771 + %t4789 = load ptr, ptr %t387 + %t4790 = getelementptr inbounds %LSlice, ptr %t4789, i32 0, i32 1 + %t4791 = getelementptr inbounds %LSlice, ptr %t4789, i32 0, i32 2 + %t4792 = getelementptr inbounds %LSlice, ptr %t4789, i32 0, i32 0 + %t4793 = load i32, ptr %t4790 + %t4794 = load i32, ptr %t4791 + %t4795 = icmp sge i32 %t4793, %t4794 + br i1 %t4795, label %grow959, label %put960 +grow959: + %t4796 = mul i32 %t4794, 2 + %t4797 = icmp eq i32 %t4794, 0 + %t4798 = select i1 %t4797, i32 8, i32 %t4796 + %t4799 = getelementptr ptr, ptr null, i32 1 + %t4800 = ptrtoint ptr %t4799 to i64 + %t4801 = zext i32 %t4798 to i64 + %t4802 = mul i64 %t4801, %t4800 + %t4803 = load ptr, ptr %t4792 + %t4804 = call ptr @realloc(ptr %t4803, i64 %t4802) + store ptr %t4804, ptr %t4792 + store i32 %t4798, ptr %t4791 + br label %put960 +put960: + %t4805 = load ptr, ptr %t4792 + %t4806 = getelementptr inbounds ptr, ptr %t4805, i32 %t4793 + store ptr @.str6885, ptr %t4806 + %t4807 = add i32 %t4793, 1 + store i32 %t4807, ptr %t4790 + br label %ifend956 +ifend956: + %t4808 = load ptr, ptr %t1 + %t4809 = call i32 @fn_str_eq(ptr %t4808, ptr @.str6886) + %t4810 = icmp ne i32 %t4809, 0 + br i1 %t4810, label %then961, label %ifend963 +then961: + store ptr @.str6887, ptr %t380 + %t4811 = load ptr, ptr %t387 + %t4812 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 1 + %t4813 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 2 + %t4814 = getelementptr inbounds %LSlice, ptr %t4811, i32 0, i32 0 + %t4815 = load i32, ptr %t4812 + %t4816 = load i32, ptr %t4813 + %t4817 = icmp sge i32 %t4815, %t4816 + br i1 %t4817, label %grow964, label %put965 +grow964: + %t4818 = mul i32 %t4816, 2 + %t4819 = icmp eq i32 %t4816, 0 + %t4820 = select i1 %t4819, i32 8, i32 %t4818 + %t4821 = getelementptr ptr, ptr null, i32 1 + %t4822 = ptrtoint ptr %t4821 to i64 + %t4823 = zext i32 %t4820 to i64 + %t4824 = mul i64 %t4823, %t4822 + %t4825 = load ptr, ptr %t4814 + %t4826 = call ptr @realloc(ptr %t4825, i64 %t4824) + store ptr %t4826, ptr %t4814 + store i32 %t4820, ptr %t4813 + br label %put965 +put965: + %t4827 = load ptr, ptr %t4814 + %t4828 = getelementptr inbounds ptr, ptr %t4827, i32 %t4815 + store ptr @.str6888, ptr %t4828 + %t4829 = add i32 %t4815, 1 + store i32 %t4829, ptr %t4812 + %t4830 = load ptr, ptr %t387 + %t4831 = getelementptr inbounds %LSlice, ptr %t4830, i32 0, i32 1 + %t4832 = getelementptr inbounds %LSlice, ptr %t4830, i32 0, i32 2 + %t4833 = getelementptr inbounds %LSlice, ptr %t4830, i32 0, i32 0 + %t4834 = load i32, ptr %t4831 + %t4835 = load i32, ptr %t4832 + %t4836 = icmp sge i32 %t4834, %t4835 + br i1 %t4836, label %grow966, label %put967 +grow966: + %t4837 = mul i32 %t4835, 2 + %t4838 = icmp eq i32 %t4835, 0 + %t4839 = select i1 %t4838, i32 8, i32 %t4837 + %t4840 = getelementptr ptr, ptr null, i32 1 + %t4841 = ptrtoint ptr %t4840 to i64 + %t4842 = zext i32 %t4839 to i64 + %t4843 = mul i64 %t4842, %t4841 + %t4844 = load ptr, ptr %t4833 + %t4845 = call ptr @realloc(ptr %t4844, i64 %t4843) + store ptr %t4845, ptr %t4833 + store i32 %t4839, ptr %t4832 + br label %put967 +put967: + %t4846 = load ptr, ptr %t4833 + %t4847 = getelementptr inbounds ptr, ptr %t4846, i32 %t4834 + store ptr @.str6889, ptr %t4847 + %t4848 = add i32 %t4834, 1 + store i32 %t4848, ptr %t4831 + br label %ifend963 +ifend963: + %t4849 = load ptr, ptr %t1 + %t4850 = call i32 @fn_str_eq(ptr %t4849, ptr @.str6890) + %t4851 = icmp ne i32 %t4850, 0 + br i1 %t4851, label %then968, label %ifend970 +then968: + store ptr @.str6891, ptr %t380 + %t4852 = load ptr, ptr %t387 + %t4853 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 1 + %t4854 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 2 + %t4855 = getelementptr inbounds %LSlice, ptr %t4852, i32 0, i32 0 + %t4856 = load i32, ptr %t4853 + %t4857 = load i32, ptr %t4854 + %t4858 = icmp sge i32 %t4856, %t4857 + br i1 %t4858, label %grow971, label %put972 +grow971: + %t4859 = mul i32 %t4857, 2 + %t4860 = icmp eq i32 %t4857, 0 + %t4861 = select i1 %t4860, i32 8, i32 %t4859 + %t4862 = getelementptr ptr, ptr null, i32 1 + %t4863 = ptrtoint ptr %t4862 to i64 + %t4864 = zext i32 %t4861 to i64 + %t4865 = mul i64 %t4864, %t4863 + %t4866 = load ptr, ptr %t4855 + %t4867 = call ptr @realloc(ptr %t4866, i64 %t4865) + store ptr %t4867, ptr %t4855 + store i32 %t4861, ptr %t4854 + br label %put972 +put972: + %t4868 = load ptr, ptr %t4855 + %t4869 = getelementptr inbounds ptr, ptr %t4868, i32 %t4856 + store ptr @.str6892, ptr %t4869 + %t4870 = add i32 %t4856, 1 + store i32 %t4870, ptr %t4853 + br label %ifend970 +ifend970: + %t4871 = load ptr, ptr %t1 + %t4872 = call i32 @fn_str_eq(ptr %t4871, ptr @.str6893) + %t4873 = icmp ne i32 %t4872, 0 + br i1 %t4873, label %then973, label %ifend975 then973: - store ptr @.str6579, ptr %t330 + store ptr @.str6894, ptr %t380 + %t4874 = load ptr, ptr %t387 + %t4875 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 1 + %t4876 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 2 + %t4877 = getelementptr inbounds %LSlice, ptr %t4874, i32 0, i32 0 + %t4878 = load i32, ptr %t4875 + %t4879 = load i32, ptr %t4876 + %t4880 = icmp sge i32 %t4878, %t4879 + br i1 %t4880, label %grow976, label %put977 +grow976: + %t4881 = mul i32 %t4879, 2 + %t4882 = icmp eq i32 %t4879, 0 + %t4883 = select i1 %t4882, i32 8, i32 %t4881 + %t4884 = getelementptr ptr, ptr null, i32 1 + %t4885 = ptrtoint ptr %t4884 to i64 + %t4886 = zext i32 %t4883 to i64 + %t4887 = mul i64 %t4886, %t4885 + %t4888 = load ptr, ptr %t4877 + %t4889 = call ptr @realloc(ptr %t4888, i64 %t4887) + store ptr %t4889, ptr %t4877 + store i32 %t4883, ptr %t4876 + br label %put977 +put977: + %t4890 = load ptr, ptr %t4877 + %t4891 = getelementptr inbounds ptr, ptr %t4890, i32 %t4878 + store ptr @.str6895, ptr %t4891 + %t4892 = add i32 %t4878, 1 + store i32 %t4892, ptr %t4875 br label %ifend975 ifend975: - %t4588 = load ptr, ptr %t1 - %t4589 = call i32 @fn_str_eq(ptr %t4588, ptr @.str6580) - %t4590 = icmp ne i32 %t4589, 0 - br i1 %t4590, label %then976, label %ifend978 -then976: - store ptr @.str6581, ptr %t330 - br label %ifend978 -ifend978: - %t4591 = load ptr, ptr %t1 - %t4592 = call i32 @fn_str_eq(ptr %t4591, ptr @.str6582) - %t4593 = icmp ne i32 %t4592, 0 - br i1 %t4593, label %then979, label %ifend981 -then979: - store ptr @.str6583, ptr %t330 - br label %ifend981 -ifend981: - %t4594 = load ptr, ptr %t1 - %t4595 = call i32 @fn_str_eq(ptr %t4594, ptr @.str6584) - %t4596 = icmp ne i32 %t4595, 0 - br i1 %t4596, label %then982, label %ifend984 -then982: - store ptr @.str6585, ptr %t330 - br label %ifend984 -ifend984: - %t4597 = load ptr, ptr %t1 - %t4598 = call i32 @fn_str_eq(ptr %t4597, ptr @.str6586) - %t4599 = icmp ne i32 %t4598, 0 - br i1 %t4599, label %then985, label %ifend987 -then985: - store ptr @.str6587, ptr %t330 - br label %ifend987 -ifend987: - %t4600 = load ptr, ptr %t1 - %t4601 = call i32 @fn_str_eq(ptr %t4600, ptr @.str6588) - %t4602 = icmp ne i32 %t4601, 0 - br i1 %t4602, label %then988, label %ifend990 + %t4893 = load ptr, ptr %t1 + %t4894 = call i32 @fn_str_eq(ptr %t4893, ptr @.str6896) + %t4895 = icmp ne i32 %t4894, 0 + br i1 %t4895, label %then978, label %ifend980 +then978: + store ptr @.str6897, ptr %t380 + %t4896 = load ptr, ptr %t387 + %t4897 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 1 + %t4898 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 2 + %t4899 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 0 + %t4900 = load i32, ptr %t4897 + %t4901 = load i32, ptr %t4898 + %t4902 = icmp sge i32 %t4900, %t4901 + br i1 %t4902, label %grow981, label %put982 +grow981: + %t4903 = mul i32 %t4901, 2 + %t4904 = icmp eq i32 %t4901, 0 + %t4905 = select i1 %t4904, i32 8, i32 %t4903 + %t4906 = getelementptr ptr, ptr null, i32 1 + %t4907 = ptrtoint ptr %t4906 to i64 + %t4908 = zext i32 %t4905 to i64 + %t4909 = mul i64 %t4908, %t4907 + %t4910 = load ptr, ptr %t4899 + %t4911 = call ptr @realloc(ptr %t4910, i64 %t4909) + store ptr %t4911, ptr %t4899 + store i32 %t4905, ptr %t4898 + br label %put982 +put982: + %t4912 = load ptr, ptr %t4899 + %t4913 = getelementptr inbounds ptr, ptr %t4912, i32 %t4900 + store ptr @.str6898, ptr %t4913 + %t4914 = add i32 %t4900, 1 + store i32 %t4914, ptr %t4897 + br label %ifend980 +ifend980: + %t4915 = load ptr, ptr %t1 + %t4916 = call i32 @fn_str_eq(ptr %t4915, ptr @.str6899) + %t4917 = icmp ne i32 %t4916, 0 + br i1 %t4917, label %then983, label %ifend985 +then983: + store ptr @.str6900, ptr %t380 + %t4918 = load ptr, ptr %t387 + %t4919 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 1 + %t4920 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 2 + %t4921 = getelementptr inbounds %LSlice, ptr %t4918, i32 0, i32 0 + %t4922 = load i32, ptr %t4919 + %t4923 = load i32, ptr %t4920 + %t4924 = icmp sge i32 %t4922, %t4923 + br i1 %t4924, label %grow986, label %put987 +grow986: + %t4925 = mul i32 %t4923, 2 + %t4926 = icmp eq i32 %t4923, 0 + %t4927 = select i1 %t4926, i32 8, i32 %t4925 + %t4928 = getelementptr ptr, ptr null, i32 1 + %t4929 = ptrtoint ptr %t4928 to i64 + %t4930 = zext i32 %t4927 to i64 + %t4931 = mul i64 %t4930, %t4929 + %t4932 = load ptr, ptr %t4921 + %t4933 = call ptr @realloc(ptr %t4932, i64 %t4931) + store ptr %t4933, ptr %t4921 + store i32 %t4927, ptr %t4920 + br label %put987 +put987: + %t4934 = load ptr, ptr %t4921 + %t4935 = getelementptr inbounds ptr, ptr %t4934, i32 %t4922 + store ptr @.str6901, ptr %t4935 + %t4936 = add i32 %t4922, 1 + store i32 %t4936, ptr %t4919 + br label %ifend985 +ifend985: + %t4937 = load ptr, ptr %t1 + %t4938 = call i32 @fn_str_eq(ptr %t4937, ptr @.str6902) + %t4939 = icmp ne i32 %t4938, 0 + br i1 %t4939, label %then988, label %ifend990 then988: - store ptr @.str6589, ptr %t330 + store ptr @.str6903, ptr %t380 + %t4940 = load ptr, ptr %t387 + %t4941 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 1 + %t4942 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 2 + %t4943 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 0 + %t4944 = load i32, ptr %t4941 + %t4945 = load i32, ptr %t4942 + %t4946 = icmp sge i32 %t4944, %t4945 + br i1 %t4946, label %grow991, label %put992 +grow991: + %t4947 = mul i32 %t4945, 2 + %t4948 = icmp eq i32 %t4945, 0 + %t4949 = select i1 %t4948, i32 8, i32 %t4947 + %t4950 = getelementptr ptr, ptr null, i32 1 + %t4951 = ptrtoint ptr %t4950 to i64 + %t4952 = zext i32 %t4949 to i64 + %t4953 = mul i64 %t4952, %t4951 + %t4954 = load ptr, ptr %t4943 + %t4955 = call ptr @realloc(ptr %t4954, i64 %t4953) + store ptr %t4955, ptr %t4943 + store i32 %t4949, ptr %t4942 + br label %put992 +put992: + %t4956 = load ptr, ptr %t4943 + %t4957 = getelementptr inbounds ptr, ptr %t4956, i32 %t4944 + store ptr @.str6904, ptr %t4957 + %t4958 = add i32 %t4944, 1 + store i32 %t4958, ptr %t4941 br label %ifend990 ifend990: - %t4603 = load ptr, ptr %t1 - %t4604 = call i32 @fn_str_eq(ptr %t4603, ptr @.str6590) - %t4605 = icmp ne i32 %t4604, 0 - br i1 %t4605, label %then991, label %ifend993 -then991: - store ptr @.str6591, ptr %t330 - br label %ifend993 -ifend993: - %t4606 = load ptr, ptr %t1 - %t4607 = call i32 @fn_str_eq(ptr %t4606, ptr @.str6592) - %t4608 = icmp ne i32 %t4607, 0 - br i1 %t4608, label %then994, label %ifend996 -then994: - store ptr @.str6593, ptr %t330 - br label %ifend996 -ifend996: - %t4609 = load ptr, ptr %t1 - %t4610 = call i32 @fn_str_eq(ptr %t4609, ptr @.str6594) - %t4611 = icmp ne i32 %t4610, 0 - br i1 %t4611, label %then997, label %ifend999 -then997: - store ptr @.str6595, ptr %t330 - br label %ifend999 -ifend999: - %t4612 = load ptr, ptr %t1 - %t4613 = call i32 @fn_str_eq(ptr %t4612, ptr @.str6596) - %t4614 = icmp ne i32 %t4613, 0 - br i1 %t4614, label %then1000, label %ifend1002 -then1000: - store ptr @.str6597, ptr %t330 - br label %ifend1002 -ifend1002: - %t4615 = load ptr, ptr %t1 - %t4616 = call i32 @fn_str_eq(ptr %t4615, ptr @.str6598) - %t4617 = icmp ne i32 %t4616, 0 - br i1 %t4617, label %then1003, label %ifend1005 + %t4959 = load ptr, ptr %t1 + %t4960 = call i32 @fn_str_eq(ptr %t4959, ptr @.str6905) + %t4961 = icmp ne i32 %t4960, 0 + br i1 %t4961, label %then993, label %ifend995 +then993: + store ptr @.str6906, ptr %t380 + %t4962 = load ptr, ptr %t387 + %t4963 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 1 + %t4964 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 2 + %t4965 = getelementptr inbounds %LSlice, ptr %t4962, i32 0, i32 0 + %t4966 = load i32, ptr %t4963 + %t4967 = load i32, ptr %t4964 + %t4968 = icmp sge i32 %t4966, %t4967 + br i1 %t4968, label %grow996, label %put997 +grow996: + %t4969 = mul i32 %t4967, 2 + %t4970 = icmp eq i32 %t4967, 0 + %t4971 = select i1 %t4970, i32 8, i32 %t4969 + %t4972 = getelementptr ptr, ptr null, i32 1 + %t4973 = ptrtoint ptr %t4972 to i64 + %t4974 = zext i32 %t4971 to i64 + %t4975 = mul i64 %t4974, %t4973 + %t4976 = load ptr, ptr %t4965 + %t4977 = call ptr @realloc(ptr %t4976, i64 %t4975) + store ptr %t4977, ptr %t4965 + store i32 %t4971, ptr %t4964 + br label %put997 +put997: + %t4978 = load ptr, ptr %t4965 + %t4979 = getelementptr inbounds ptr, ptr %t4978, i32 %t4966 + store ptr @.str6907, ptr %t4979 + %t4980 = add i32 %t4966, 1 + store i32 %t4980, ptr %t4963 + br label %ifend995 +ifend995: + %t4981 = load ptr, ptr %t1 + %t4982 = call i32 @fn_str_eq(ptr %t4981, ptr @.str6908) + %t4983 = icmp ne i32 %t4982, 0 + br i1 %t4983, label %then998, label %ifend1000 +then998: + store ptr @.str6909, ptr %t380 + %t4984 = load ptr, ptr %t387 + %t4985 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 1 + %t4986 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 2 + %t4987 = getelementptr inbounds %LSlice, ptr %t4984, i32 0, i32 0 + %t4988 = load i32, ptr %t4985 + %t4989 = load i32, ptr %t4986 + %t4990 = icmp sge i32 %t4988, %t4989 + br i1 %t4990, label %grow1001, label %put1002 +grow1001: + %t4991 = mul i32 %t4989, 2 + %t4992 = icmp eq i32 %t4989, 0 + %t4993 = select i1 %t4992, i32 8, i32 %t4991 + %t4994 = getelementptr ptr, ptr null, i32 1 + %t4995 = ptrtoint ptr %t4994 to i64 + %t4996 = zext i32 %t4993 to i64 + %t4997 = mul i64 %t4996, %t4995 + %t4998 = load ptr, ptr %t4987 + %t4999 = call ptr @realloc(ptr %t4998, i64 %t4997) + store ptr %t4999, ptr %t4987 + store i32 %t4993, ptr %t4986 + br label %put1002 +put1002: + %t5000 = load ptr, ptr %t4987 + %t5001 = getelementptr inbounds ptr, ptr %t5000, i32 %t4988 + store ptr @.str6910, ptr %t5001 + %t5002 = add i32 %t4988, 1 + store i32 %t5002, ptr %t4985 + br label %ifend1000 +ifend1000: + %t5003 = load ptr, ptr %t1 + %t5004 = call i32 @fn_str_eq(ptr %t5003, ptr @.str6911) + %t5005 = icmp ne i32 %t5004, 0 + br i1 %t5005, label %then1003, label %ifend1005 then1003: - store ptr @.str6599, ptr %t330 + store ptr @.str6912, ptr %t380 + %t5006 = load ptr, ptr %t387 + %t5007 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 1 + %t5008 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 2 + %t5009 = getelementptr inbounds %LSlice, ptr %t5006, i32 0, i32 0 + %t5010 = load i32, ptr %t5007 + %t5011 = load i32, ptr %t5008 + %t5012 = icmp sge i32 %t5010, %t5011 + br i1 %t5012, label %grow1006, label %put1007 +grow1006: + %t5013 = mul i32 %t5011, 2 + %t5014 = icmp eq i32 %t5011, 0 + %t5015 = select i1 %t5014, i32 8, i32 %t5013 + %t5016 = getelementptr ptr, ptr null, i32 1 + %t5017 = ptrtoint ptr %t5016 to i64 + %t5018 = zext i32 %t5015 to i64 + %t5019 = mul i64 %t5018, %t5017 + %t5020 = load ptr, ptr %t5009 + %t5021 = call ptr @realloc(ptr %t5020, i64 %t5019) + store ptr %t5021, ptr %t5009 + store i32 %t5015, ptr %t5008 + br label %put1007 +put1007: + %t5022 = load ptr, ptr %t5009 + %t5023 = getelementptr inbounds ptr, ptr %t5022, i32 %t5010 + store ptr @.str6913, ptr %t5023 + %t5024 = add i32 %t5010, 1 + store i32 %t5024, ptr %t5007 br label %ifend1005 ifend1005: - %t4618 = load ptr, ptr %t1 - %t4619 = call i32 @fn_str_eq(ptr %t4618, ptr @.str6600) - %t4620 = icmp ne i32 %t4619, 0 - br i1 %t4620, label %then1006, label %ifend1008 -then1006: - store ptr @.str6601, ptr %t330 - br label %ifend1008 -ifend1008: - %t4621 = load ptr, ptr %t1 - %t4622 = call i32 @fn_str_eq(ptr %t4621, ptr @.str6602) - %t4623 = icmp ne i32 %t4622, 0 - br i1 %t4623, label %then1009, label %ifend1011 -then1009: - store ptr @.str6603, ptr %t330 - br label %ifend1011 -ifend1011: - %t4624 = load ptr, ptr %t1 - %t4625 = call i32 @fn_str_eq(ptr %t4624, ptr @.str6604) - %t4626 = icmp ne i32 %t4625, 0 - br i1 %t4626, label %then1012, label %ifend1014 -then1012: - store ptr @.str6605, ptr %t330 - br label %ifend1014 -ifend1014: - %t4627 = load ptr, ptr %t1 - %t4628 = call i32 @fn_str_eq(ptr %t4627, ptr @.str6606) - %t4629 = icmp ne i32 %t4628, 0 - br i1 %t4629, label %then1015, label %ifend1017 + %t5025 = load ptr, ptr %t1 + %t5026 = call i32 @fn_str_eq(ptr %t5025, ptr @.str6914) + %t5027 = icmp ne i32 %t5026, 0 + br i1 %t5027, label %then1008, label %ifend1010 +then1008: + store ptr @.str6915, ptr %t380 + %t5028 = load ptr, ptr %t387 + %t5029 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 1 + %t5030 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 2 + %t5031 = getelementptr inbounds %LSlice, ptr %t5028, i32 0, i32 0 + %t5032 = load i32, ptr %t5029 + %t5033 = load i32, ptr %t5030 + %t5034 = icmp sge i32 %t5032, %t5033 + br i1 %t5034, label %grow1011, label %put1012 +grow1011: + %t5035 = mul i32 %t5033, 2 + %t5036 = icmp eq i32 %t5033, 0 + %t5037 = select i1 %t5036, i32 8, i32 %t5035 + %t5038 = getelementptr ptr, ptr null, i32 1 + %t5039 = ptrtoint ptr %t5038 to i64 + %t5040 = zext i32 %t5037 to i64 + %t5041 = mul i64 %t5040, %t5039 + %t5042 = load ptr, ptr %t5031 + %t5043 = call ptr @realloc(ptr %t5042, i64 %t5041) + store ptr %t5043, ptr %t5031 + store i32 %t5037, ptr %t5030 + br label %put1012 +put1012: + %t5044 = load ptr, ptr %t5031 + %t5045 = getelementptr inbounds ptr, ptr %t5044, i32 %t5032 + store ptr @.str6916, ptr %t5045 + %t5046 = add i32 %t5032, 1 + store i32 %t5046, ptr %t5029 + %t5047 = load ptr, ptr %t387 + %t5048 = getelementptr inbounds %LSlice, ptr %t5047, i32 0, i32 1 + %t5049 = getelementptr inbounds %LSlice, ptr %t5047, i32 0, i32 2 + %t5050 = getelementptr inbounds %LSlice, ptr %t5047, i32 0, i32 0 + %t5051 = load i32, ptr %t5048 + %t5052 = load i32, ptr %t5049 + %t5053 = icmp sge i32 %t5051, %t5052 + br i1 %t5053, label %grow1013, label %put1014 +grow1013: + %t5054 = mul i32 %t5052, 2 + %t5055 = icmp eq i32 %t5052, 0 + %t5056 = select i1 %t5055, i32 8, i32 %t5054 + %t5057 = getelementptr ptr, ptr null, i32 1 + %t5058 = ptrtoint ptr %t5057 to i64 + %t5059 = zext i32 %t5056 to i64 + %t5060 = mul i64 %t5059, %t5058 + %t5061 = load ptr, ptr %t5050 + %t5062 = call ptr @realloc(ptr %t5061, i64 %t5060) + store ptr %t5062, ptr %t5050 + store i32 %t5056, ptr %t5049 + br label %put1014 +put1014: + %t5063 = load ptr, ptr %t5050 + %t5064 = getelementptr inbounds ptr, ptr %t5063, i32 %t5051 + store ptr @.str6917, ptr %t5064 + %t5065 = add i32 %t5051, 1 + store i32 %t5065, ptr %t5048 + br label %ifend1010 +ifend1010: + %t5066 = load ptr, ptr %t1 + %t5067 = call i32 @fn_str_eq(ptr %t5066, ptr @.str6918) + %t5068 = icmp ne i32 %t5067, 0 + br i1 %t5068, label %then1015, label %ifend1017 then1015: - store ptr @.str6607, ptr %t330 + store ptr @.str6919, ptr %t380 + %t5069 = load ptr, ptr %t387 + %t5070 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 1 + %t5071 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 2 + %t5072 = getelementptr inbounds %LSlice, ptr %t5069, i32 0, i32 0 + %t5073 = load i32, ptr %t5070 + %t5074 = load i32, ptr %t5071 + %t5075 = icmp sge i32 %t5073, %t5074 + br i1 %t5075, label %grow1018, label %put1019 +grow1018: + %t5076 = mul i32 %t5074, 2 + %t5077 = icmp eq i32 %t5074, 0 + %t5078 = select i1 %t5077, i32 8, i32 %t5076 + %t5079 = getelementptr ptr, ptr null, i32 1 + %t5080 = ptrtoint ptr %t5079 to i64 + %t5081 = zext i32 %t5078 to i64 + %t5082 = mul i64 %t5081, %t5080 + %t5083 = load ptr, ptr %t5072 + %t5084 = call ptr @realloc(ptr %t5083, i64 %t5082) + store ptr %t5084, ptr %t5072 + store i32 %t5078, ptr %t5071 + br label %put1019 +put1019: + %t5085 = load ptr, ptr %t5072 + %t5086 = getelementptr inbounds ptr, ptr %t5085, i32 %t5073 + store ptr @.str6920, ptr %t5086 + %t5087 = add i32 %t5073, 1 + store i32 %t5087, ptr %t5070 + %t5088 = load ptr, ptr %t387 + %t5089 = getelementptr inbounds %LSlice, ptr %t5088, i32 0, i32 1 + %t5090 = getelementptr inbounds %LSlice, ptr %t5088, i32 0, i32 2 + %t5091 = getelementptr inbounds %LSlice, ptr %t5088, i32 0, i32 0 + %t5092 = load i32, ptr %t5089 + %t5093 = load i32, ptr %t5090 + %t5094 = icmp sge i32 %t5092, %t5093 + br i1 %t5094, label %grow1020, label %put1021 +grow1020: + %t5095 = mul i32 %t5093, 2 + %t5096 = icmp eq i32 %t5093, 0 + %t5097 = select i1 %t5096, i32 8, i32 %t5095 + %t5098 = getelementptr ptr, ptr null, i32 1 + %t5099 = ptrtoint ptr %t5098 to i64 + %t5100 = zext i32 %t5097 to i64 + %t5101 = mul i64 %t5100, %t5099 + %t5102 = load ptr, ptr %t5091 + %t5103 = call ptr @realloc(ptr %t5102, i64 %t5101) + store ptr %t5103, ptr %t5091 + store i32 %t5097, ptr %t5090 + br label %put1021 +put1021: + %t5104 = load ptr, ptr %t5091 + %t5105 = getelementptr inbounds ptr, ptr %t5104, i32 %t5092 + store ptr @.str6921, ptr %t5105 + %t5106 = add i32 %t5092, 1 + store i32 %t5106, ptr %t5089 br label %ifend1017 ifend1017: - %t4630 = load ptr, ptr %t1 - %t4631 = call i32 @fn_str_eq(ptr %t4630, ptr @.str6608) - %t4632 = icmp ne i32 %t4631, 0 - br i1 %t4632, label %then1018, label %ifend1020 -then1018: - store ptr @.str6609, ptr %t330 - br label %ifend1020 -ifend1020: - br label %ifend969 -ifend969: - %t4633 = load ptr, ptr %t0 - %t4634 = call i32 @fn_str_eq(ptr %t4633, ptr @.str6610) - %t4635 = icmp ne i32 %t4634, 0 - br i1 %t4635, label %then1021, label %ifend1023 -then1021: - %t4636 = load ptr, ptr %t1 - %t4637 = call i32 @fn_str_eq(ptr %t4636, ptr @.str6611) - %t4638 = icmp ne i32 %t4637, 0 - br i1 %t4638, label %then1024, label %ifend1026 -then1024: - store ptr @.str6612, ptr %t330 - br label %ifend1026 -ifend1026: - %t4639 = load ptr, ptr %t1 - %t4640 = call i32 @fn_str_eq(ptr %t4639, ptr @.str6613) - %t4641 = icmp ne i32 %t4640, 0 - br i1 %t4641, label %then1027, label %ifend1029 -then1027: - store ptr @.str6614, ptr %t330 - br label %ifend1029 -ifend1029: - %t4642 = load ptr, ptr %t1 - %t4643 = call i32 @fn_str_eq(ptr %t4642, ptr @.str6615) - %t4644 = icmp ne i32 %t4643, 0 - br i1 %t4644, label %then1030, label %ifend1032 -then1030: - store ptr @.str6616, ptr %t330 - br label %ifend1032 -ifend1032: - %t4645 = load ptr, ptr %t1 - %t4646 = call i32 @fn_str_eq(ptr %t4645, ptr @.str6617) - %t4647 = icmp ne i32 %t4646, 0 - br i1 %t4647, label %then1033, label %ifend1035 -then1033: - store ptr @.str6618, ptr %t330 - br label %ifend1035 -ifend1035: - %t4648 = load ptr, ptr %t1 - %t4649 = call i32 @fn_str_eq(ptr %t4648, ptr @.str6619) - %t4650 = icmp ne i32 %t4649, 0 - br i1 %t4650, label %then1036, label %ifend1038 + %t5107 = load ptr, ptr %t1 + %t5108 = call i32 @fn_str_eq(ptr %t5107, ptr @.str6922) + %t5109 = icmp ne i32 %t5108, 0 + br i1 %t5109, label %then1022, label %ifend1024 +then1022: + store ptr @.str6923, ptr %t380 + br label %ifend1024 +ifend1024: + %t5110 = load ptr, ptr %t1 + %t5111 = call i32 @fn_str_eq(ptr %t5110, ptr @.str6924) + %t5112 = icmp ne i32 %t5111, 0 + br i1 %t5112, label %then1025, label %ifend1027 +then1025: + store ptr @.str6925, ptr %t380 + %t5113 = load ptr, ptr %t387 + %t5114 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 1 + %t5115 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 2 + %t5116 = getelementptr inbounds %LSlice, ptr %t5113, i32 0, i32 0 + %t5117 = load i32, ptr %t5114 + %t5118 = load i32, ptr %t5115 + %t5119 = icmp sge i32 %t5117, %t5118 + br i1 %t5119, label %grow1028, label %put1029 +grow1028: + %t5120 = mul i32 %t5118, 2 + %t5121 = icmp eq i32 %t5118, 0 + %t5122 = select i1 %t5121, i32 8, i32 %t5120 + %t5123 = getelementptr ptr, ptr null, i32 1 + %t5124 = ptrtoint ptr %t5123 to i64 + %t5125 = zext i32 %t5122 to i64 + %t5126 = mul i64 %t5125, %t5124 + %t5127 = load ptr, ptr %t5116 + %t5128 = call ptr @realloc(ptr %t5127, i64 %t5126) + store ptr %t5128, ptr %t5116 + store i32 %t5122, ptr %t5115 + br label %put1029 +put1029: + %t5129 = load ptr, ptr %t5116 + %t5130 = getelementptr inbounds ptr, ptr %t5129, i32 %t5117 + store ptr @.str6926, ptr %t5130 + %t5131 = add i32 %t5117, 1 + store i32 %t5131, ptr %t5114 + %t5132 = load ptr, ptr %t387 + %t5133 = getelementptr inbounds %LSlice, ptr %t5132, i32 0, i32 1 + %t5134 = getelementptr inbounds %LSlice, ptr %t5132, i32 0, i32 2 + %t5135 = getelementptr inbounds %LSlice, ptr %t5132, i32 0, i32 0 + %t5136 = load i32, ptr %t5133 + %t5137 = load i32, ptr %t5134 + %t5138 = icmp sge i32 %t5136, %t5137 + br i1 %t5138, label %grow1030, label %put1031 +grow1030: + %t5139 = mul i32 %t5137, 2 + %t5140 = icmp eq i32 %t5137, 0 + %t5141 = select i1 %t5140, i32 8, i32 %t5139 + %t5142 = getelementptr ptr, ptr null, i32 1 + %t5143 = ptrtoint ptr %t5142 to i64 + %t5144 = zext i32 %t5141 to i64 + %t5145 = mul i64 %t5144, %t5143 + %t5146 = load ptr, ptr %t5135 + %t5147 = call ptr @realloc(ptr %t5146, i64 %t5145) + store ptr %t5147, ptr %t5135 + store i32 %t5141, ptr %t5134 + br label %put1031 +put1031: + %t5148 = load ptr, ptr %t5135 + %t5149 = getelementptr inbounds ptr, ptr %t5148, i32 %t5136 + store ptr @.str6927, ptr %t5149 + %t5150 = add i32 %t5136, 1 + store i32 %t5150, ptr %t5133 + %t5151 = load ptr, ptr %t387 + %t5152 = getelementptr inbounds %LSlice, ptr %t5151, i32 0, i32 1 + %t5153 = getelementptr inbounds %LSlice, ptr %t5151, i32 0, i32 2 + %t5154 = getelementptr inbounds %LSlice, ptr %t5151, i32 0, i32 0 + %t5155 = load i32, ptr %t5152 + %t5156 = load i32, ptr %t5153 + %t5157 = icmp sge i32 %t5155, %t5156 + br i1 %t5157, label %grow1032, label %put1033 +grow1032: + %t5158 = mul i32 %t5156, 2 + %t5159 = icmp eq i32 %t5156, 0 + %t5160 = select i1 %t5159, i32 8, i32 %t5158 + %t5161 = getelementptr ptr, ptr null, i32 1 + %t5162 = ptrtoint ptr %t5161 to i64 + %t5163 = zext i32 %t5160 to i64 + %t5164 = mul i64 %t5163, %t5162 + %t5165 = load ptr, ptr %t5154 + %t5166 = call ptr @realloc(ptr %t5165, i64 %t5164) + store ptr %t5166, ptr %t5154 + store i32 %t5160, ptr %t5153 + br label %put1033 +put1033: + %t5167 = load ptr, ptr %t5154 + %t5168 = getelementptr inbounds ptr, ptr %t5167, i32 %t5155 + store ptr @.str6928, ptr %t5168 + %t5169 = add i32 %t5155, 1 + store i32 %t5169, ptr %t5152 + %t5170 = load ptr, ptr %t387 + %t5171 = getelementptr inbounds %LSlice, ptr %t5170, i32 0, i32 1 + %t5172 = getelementptr inbounds %LSlice, ptr %t5170, i32 0, i32 2 + %t5173 = getelementptr inbounds %LSlice, ptr %t5170, i32 0, i32 0 + %t5174 = load i32, ptr %t5171 + %t5175 = load i32, ptr %t5172 + %t5176 = icmp sge i32 %t5174, %t5175 + br i1 %t5176, label %grow1034, label %put1035 +grow1034: + %t5177 = mul i32 %t5175, 2 + %t5178 = icmp eq i32 %t5175, 0 + %t5179 = select i1 %t5178, i32 8, i32 %t5177 + %t5180 = getelementptr ptr, ptr null, i32 1 + %t5181 = ptrtoint ptr %t5180 to i64 + %t5182 = zext i32 %t5179 to i64 + %t5183 = mul i64 %t5182, %t5181 + %t5184 = load ptr, ptr %t5173 + %t5185 = call ptr @realloc(ptr %t5184, i64 %t5183) + store ptr %t5185, ptr %t5173 + store i32 %t5179, ptr %t5172 + br label %put1035 +put1035: + %t5186 = load ptr, ptr %t5173 + %t5187 = getelementptr inbounds ptr, ptr %t5186, i32 %t5174 + store ptr @.str6929, ptr %t5187 + %t5188 = add i32 %t5174, 1 + store i32 %t5188, ptr %t5171 + br label %ifend1027 +ifend1027: + %t5189 = load ptr, ptr %t1 + %t5190 = call i32 @fn_str_eq(ptr %t5189, ptr @.str6930) + %t5191 = icmp ne i32 %t5190, 0 + br i1 %t5191, label %then1036, label %ifend1038 then1036: - store ptr @.str6620, ptr %t330 + store ptr @.str6931, ptr %t380 + %t5192 = load ptr, ptr %t387 + %t5193 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 1 + %t5194 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 2 + %t5195 = getelementptr inbounds %LSlice, ptr %t5192, i32 0, i32 0 + %t5196 = load i32, ptr %t5193 + %t5197 = load i32, ptr %t5194 + %t5198 = icmp sge i32 %t5196, %t5197 + br i1 %t5198, label %grow1039, label %put1040 +grow1039: + %t5199 = mul i32 %t5197, 2 + %t5200 = icmp eq i32 %t5197, 0 + %t5201 = select i1 %t5200, i32 8, i32 %t5199 + %t5202 = getelementptr ptr, ptr null, i32 1 + %t5203 = ptrtoint ptr %t5202 to i64 + %t5204 = zext i32 %t5201 to i64 + %t5205 = mul i64 %t5204, %t5203 + %t5206 = load ptr, ptr %t5195 + %t5207 = call ptr @realloc(ptr %t5206, i64 %t5205) + store ptr %t5207, ptr %t5195 + store i32 %t5201, ptr %t5194 + br label %put1040 +put1040: + %t5208 = load ptr, ptr %t5195 + %t5209 = getelementptr inbounds ptr, ptr %t5208, i32 %t5196 + store ptr @.str6932, ptr %t5209 + %t5210 = add i32 %t5196, 1 + store i32 %t5210, ptr %t5193 br label %ifend1038 ifend1038: - %t4651 = load ptr, ptr %t1 - %t4652 = call i32 @fn_str_eq(ptr %t4651, ptr @.str6621) - %t4653 = icmp ne i32 %t4652, 0 - br i1 %t4653, label %then1039, label %ifend1041 -then1039: - store ptr @.str6622, ptr %t330 - br label %ifend1041 -ifend1041: - %t4654 = load ptr, ptr %t1 - %t4655 = call i32 @fn_str_eq(ptr %t4654, ptr @.str6623) - %t4656 = icmp ne i32 %t4655, 0 - br i1 %t4656, label %then1042, label %ifend1044 -then1042: - store ptr @.str6624, ptr %t330 - br label %ifend1044 -ifend1044: - %t4657 = load ptr, ptr %t1 - %t4658 = call i32 @fn_str_eq(ptr %t4657, ptr @.str6625) - %t4659 = icmp ne i32 %t4658, 0 - br i1 %t4659, label %then1045, label %ifend1047 -then1045: - store ptr @.str6626, ptr %t330 - br label %ifend1047 -ifend1047: - %t4660 = load ptr, ptr %t1 - %t4661 = call i32 @fn_str_eq(ptr %t4660, ptr @.str6627) - %t4662 = icmp ne i32 %t4661, 0 - br i1 %t4662, label %then1048, label %ifend1050 -then1048: - store ptr @.str6628, ptr %t330 - br label %ifend1050 -ifend1050: - br label %ifend1023 -ifend1023: - %t4663 = load ptr, ptr %t0 - %t4664 = call i32 @fn_str_eq(ptr %t4663, ptr @.str6629) - %t4665 = icmp ne i32 %t4664, 0 - br i1 %t4665, label %then1051, label %ifend1053 -then1051: - %t4666 = load ptr, ptr %t1 - %t4667 = call i32 @fn_str_eq(ptr %t4666, ptr @.str6630) - %t4668 = icmp ne i32 %t4667, 0 - br i1 %t4668, label %then1054, label %ifend1056 -then1054: - store ptr @.str6631, ptr %t330 - br label %ifend1056 -ifend1056: - %t4669 = load ptr, ptr %t1 - %t4670 = call i32 @fn_str_eq(ptr %t4669, ptr @.str6632) - %t4671 = icmp ne i32 %t4670, 0 - br i1 %t4671, label %then1057, label %ifend1059 -then1057: - store ptr @.str6633, ptr %t330 - br label %ifend1059 -ifend1059: - %t4672 = load ptr, ptr %t1 - %t4673 = call i32 @fn_str_eq(ptr %t4672, ptr @.str6634) - %t4674 = icmp ne i32 %t4673, 0 - br i1 %t4674, label %then1060, label %ifend1062 -then1060: - store ptr @.str6635, ptr %t330 - br label %ifend1062 -ifend1062: - %t4675 = load ptr, ptr %t1 - %t4676 = call i32 @fn_str_eq(ptr %t4675, ptr @.str6636) - %t4677 = icmp ne i32 %t4676, 0 - br i1 %t4677, label %then1063, label %ifend1065 -then1063: - store ptr @.str6637, ptr %t330 - br label %ifend1065 -ifend1065: - %t4678 = load ptr, ptr %t1 - %t4679 = call i32 @fn_str_eq(ptr %t4678, ptr @.str6638) - %t4680 = icmp ne i32 %t4679, 0 - br i1 %t4680, label %then1066, label %ifend1068 -then1066: - store ptr @.str6639, ptr %t330 - br label %ifend1068 -ifend1068: - %t4681 = load ptr, ptr %t1 - %t4682 = call i32 @fn_str_eq(ptr %t4681, ptr @.str6640) - %t4683 = icmp ne i32 %t4682, 0 - br i1 %t4683, label %then1069, label %ifend1071 -then1069: - store ptr @.str6641, ptr %t330 - br label %ifend1071 -ifend1071: - %t4684 = load ptr, ptr %t1 - %t4685 = call i32 @fn_str_eq(ptr %t4684, ptr @.str6642) - %t4686 = icmp ne i32 %t4685, 0 - br i1 %t4686, label %then1072, label %ifend1074 + %t5211 = load ptr, ptr %t1 + %t5212 = call i32 @fn_str_eq(ptr %t5211, ptr @.str6933) + %t5213 = icmp ne i32 %t5212, 0 + br i1 %t5213, label %then1041, label %ifend1043 +then1041: + store ptr @.str6934, ptr %t380 + br label %ifend1043 +ifend1043: + %t5214 = load ptr, ptr %t1 + %t5215 = call i32 @fn_str_eq(ptr %t5214, ptr @.str6935) + %t5216 = icmp ne i32 %t5215, 0 + br i1 %t5216, label %then1044, label %ifend1046 +then1044: + store ptr @.str6936, ptr %t380 + br label %ifend1046 +ifend1046: + %t5217 = load ptr, ptr %t1 + %t5218 = call i32 @fn_str_eq(ptr %t5217, ptr @.str6937) + %t5219 = icmp ne i32 %t5218, 0 + br i1 %t5219, label %then1047, label %ifend1049 +then1047: + store ptr @.str6938, ptr %t380 + br label %ifend1049 +ifend1049: + %t5220 = load ptr, ptr %t1 + %t5221 = call i32 @fn_str_eq(ptr %t5220, ptr @.str6939) + %t5222 = icmp ne i32 %t5221, 0 + br i1 %t5222, label %then1050, label %ifend1052 +then1050: + store ptr @.str6940, ptr %t380 + br label %ifend1052 +ifend1052: + %t5223 = load ptr, ptr %t1 + %t5224 = call i32 @fn_str_eq(ptr %t5223, ptr @.str6941) + %t5225 = icmp ne i32 %t5224, 0 + br i1 %t5225, label %then1053, label %ifend1055 +then1053: + store ptr @.str6942, ptr %t380 + %t5226 = load ptr, ptr %t387 + %t5227 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 1 + %t5228 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 2 + %t5229 = getelementptr inbounds %LSlice, ptr %t5226, i32 0, i32 0 + %t5230 = load i32, ptr %t5227 + %t5231 = load i32, ptr %t5228 + %t5232 = icmp sge i32 %t5230, %t5231 + br i1 %t5232, label %grow1056, label %put1057 +grow1056: + %t5233 = mul i32 %t5231, 2 + %t5234 = icmp eq i32 %t5231, 0 + %t5235 = select i1 %t5234, i32 8, i32 %t5233 + %t5236 = getelementptr ptr, ptr null, i32 1 + %t5237 = ptrtoint ptr %t5236 to i64 + %t5238 = zext i32 %t5235 to i64 + %t5239 = mul i64 %t5238, %t5237 + %t5240 = load ptr, ptr %t5229 + %t5241 = call ptr @realloc(ptr %t5240, i64 %t5239) + store ptr %t5241, ptr %t5229 + store i32 %t5235, ptr %t5228 + br label %put1057 +put1057: + %t5242 = load ptr, ptr %t5229 + %t5243 = getelementptr inbounds ptr, ptr %t5242, i32 %t5230 + store ptr @.str6943, ptr %t5243 + %t5244 = add i32 %t5230, 1 + store i32 %t5244, ptr %t5227 + br label %ifend1055 +ifend1055: + %t5245 = load ptr, ptr %t1 + %t5246 = call i32 @fn_str_eq(ptr %t5245, ptr @.str6944) + %t5247 = icmp ne i32 %t5246, 0 + br i1 %t5247, label %then1058, label %ifend1060 +then1058: + store ptr @.str6945, ptr %t380 + br label %ifend1060 +ifend1060: + %t5248 = load ptr, ptr %t1 + %t5249 = call i32 @fn_str_eq(ptr %t5248, ptr @.str6946) + %t5250 = icmp ne i32 %t5249, 0 + br i1 %t5250, label %then1061, label %ifend1063 +then1061: + store ptr @.str6947, ptr %t380 + %t5251 = load ptr, ptr %t387 + %t5252 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 1 + %t5253 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 2 + %t5254 = getelementptr inbounds %LSlice, ptr %t5251, i32 0, i32 0 + %t5255 = load i32, ptr %t5252 + %t5256 = load i32, ptr %t5253 + %t5257 = icmp sge i32 %t5255, %t5256 + br i1 %t5257, label %grow1064, label %put1065 +grow1064: + %t5258 = mul i32 %t5256, 2 + %t5259 = icmp eq i32 %t5256, 0 + %t5260 = select i1 %t5259, i32 8, i32 %t5258 + %t5261 = getelementptr ptr, ptr null, i32 1 + %t5262 = ptrtoint ptr %t5261 to i64 + %t5263 = zext i32 %t5260 to i64 + %t5264 = mul i64 %t5263, %t5262 + %t5265 = load ptr, ptr %t5254 + %t5266 = call ptr @realloc(ptr %t5265, i64 %t5264) + store ptr %t5266, ptr %t5254 + store i32 %t5260, ptr %t5253 + br label %put1065 +put1065: + %t5267 = load ptr, ptr %t5254 + %t5268 = getelementptr inbounds ptr, ptr %t5267, i32 %t5255 + store ptr @.str6948, ptr %t5268 + %t5269 = add i32 %t5255, 1 + store i32 %t5269, ptr %t5252 + %t5270 = load ptr, ptr %t387 + %t5271 = getelementptr inbounds %LSlice, ptr %t5270, i32 0, i32 1 + %t5272 = getelementptr inbounds %LSlice, ptr %t5270, i32 0, i32 2 + %t5273 = getelementptr inbounds %LSlice, ptr %t5270, i32 0, i32 0 + %t5274 = load i32, ptr %t5271 + %t5275 = load i32, ptr %t5272 + %t5276 = icmp sge i32 %t5274, %t5275 + br i1 %t5276, label %grow1066, label %put1067 +grow1066: + %t5277 = mul i32 %t5275, 2 + %t5278 = icmp eq i32 %t5275, 0 + %t5279 = select i1 %t5278, i32 8, i32 %t5277 + %t5280 = getelementptr ptr, ptr null, i32 1 + %t5281 = ptrtoint ptr %t5280 to i64 + %t5282 = zext i32 %t5279 to i64 + %t5283 = mul i64 %t5282, %t5281 + %t5284 = load ptr, ptr %t5273 + %t5285 = call ptr @realloc(ptr %t5284, i64 %t5283) + store ptr %t5285, ptr %t5273 + store i32 %t5279, ptr %t5272 + br label %put1067 +put1067: + %t5286 = load ptr, ptr %t5273 + %t5287 = getelementptr inbounds ptr, ptr %t5286, i32 %t5274 + store ptr @.str6949, ptr %t5287 + %t5288 = add i32 %t5274, 1 + store i32 %t5288, ptr %t5271 + %t5289 = load ptr, ptr %t387 + %t5290 = getelementptr inbounds %LSlice, ptr %t5289, i32 0, i32 1 + %t5291 = getelementptr inbounds %LSlice, ptr %t5289, i32 0, i32 2 + %t5292 = getelementptr inbounds %LSlice, ptr %t5289, i32 0, i32 0 + %t5293 = load i32, ptr %t5290 + %t5294 = load i32, ptr %t5291 + %t5295 = icmp sge i32 %t5293, %t5294 + br i1 %t5295, label %grow1068, label %put1069 +grow1068: + %t5296 = mul i32 %t5294, 2 + %t5297 = icmp eq i32 %t5294, 0 + %t5298 = select i1 %t5297, i32 8, i32 %t5296 + %t5299 = getelementptr ptr, ptr null, i32 1 + %t5300 = ptrtoint ptr %t5299 to i64 + %t5301 = zext i32 %t5298 to i64 + %t5302 = mul i64 %t5301, %t5300 + %t5303 = load ptr, ptr %t5292 + %t5304 = call ptr @realloc(ptr %t5303, i64 %t5302) + store ptr %t5304, ptr %t5292 + store i32 %t5298, ptr %t5291 + br label %put1069 +put1069: + %t5305 = load ptr, ptr %t5292 + %t5306 = getelementptr inbounds ptr, ptr %t5305, i32 %t5293 + store ptr @.str6950, ptr %t5306 + %t5307 = add i32 %t5293, 1 + store i32 %t5307, ptr %t5290 + %t5308 = load ptr, ptr %t387 + %t5309 = getelementptr inbounds %LSlice, ptr %t5308, i32 0, i32 1 + %t5310 = getelementptr inbounds %LSlice, ptr %t5308, i32 0, i32 2 + %t5311 = getelementptr inbounds %LSlice, ptr %t5308, i32 0, i32 0 + %t5312 = load i32, ptr %t5309 + %t5313 = load i32, ptr %t5310 + %t5314 = icmp sge i32 %t5312, %t5313 + br i1 %t5314, label %grow1070, label %put1071 +grow1070: + %t5315 = mul i32 %t5313, 2 + %t5316 = icmp eq i32 %t5313, 0 + %t5317 = select i1 %t5316, i32 8, i32 %t5315 + %t5318 = getelementptr ptr, ptr null, i32 1 + %t5319 = ptrtoint ptr %t5318 to i64 + %t5320 = zext i32 %t5317 to i64 + %t5321 = mul i64 %t5320, %t5319 + %t5322 = load ptr, ptr %t5311 + %t5323 = call ptr @realloc(ptr %t5322, i64 %t5321) + store ptr %t5323, ptr %t5311 + store i32 %t5317, ptr %t5310 + br label %put1071 +put1071: + %t5324 = load ptr, ptr %t5311 + %t5325 = getelementptr inbounds ptr, ptr %t5324, i32 %t5312 + store ptr @.str6951, ptr %t5325 + %t5326 = add i32 %t5312, 1 + store i32 %t5326, ptr %t5309 + br label %ifend1063 +ifend1063: + %t5327 = load ptr, ptr %t1 + %t5328 = call i32 @fn_str_eq(ptr %t5327, ptr @.str6952) + %t5329 = icmp ne i32 %t5328, 0 + br i1 %t5329, label %then1072, label %ifend1074 then1072: - store ptr @.str6643, ptr %t330 + store ptr @.str6953, ptr %t380 + %t5330 = load ptr, ptr %t387 + %t5331 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 1 + %t5332 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 2 + %t5333 = getelementptr inbounds %LSlice, ptr %t5330, i32 0, i32 0 + %t5334 = load i32, ptr %t5331 + %t5335 = load i32, ptr %t5332 + %t5336 = icmp sge i32 %t5334, %t5335 + br i1 %t5336, label %grow1075, label %put1076 +grow1075: + %t5337 = mul i32 %t5335, 2 + %t5338 = icmp eq i32 %t5335, 0 + %t5339 = select i1 %t5338, i32 8, i32 %t5337 + %t5340 = getelementptr ptr, ptr null, i32 1 + %t5341 = ptrtoint ptr %t5340 to i64 + %t5342 = zext i32 %t5339 to i64 + %t5343 = mul i64 %t5342, %t5341 + %t5344 = load ptr, ptr %t5333 + %t5345 = call ptr @realloc(ptr %t5344, i64 %t5343) + store ptr %t5345, ptr %t5333 + store i32 %t5339, ptr %t5332 + br label %put1076 +put1076: + %t5346 = load ptr, ptr %t5333 + %t5347 = getelementptr inbounds ptr, ptr %t5346, i32 %t5334 + store ptr @.str6954, ptr %t5347 + %t5348 = add i32 %t5334, 1 + store i32 %t5348, ptr %t5331 br label %ifend1074 ifend1074: - %t4687 = load ptr, ptr %t1 - %t4688 = call i32 @fn_str_eq(ptr %t4687, ptr @.str6644) - %t4689 = icmp ne i32 %t4688, 0 - br i1 %t4689, label %then1075, label %ifend1077 -then1075: - store ptr @.str6645, ptr %t330 - br label %ifend1077 -ifend1077: - br label %ifend1053 -ifend1053: - %t4690 = load ptr, ptr %t0 - %t4691 = call i32 @fn_str_eq(ptr %t4690, ptr @.str6646) - %t4692 = icmp ne i32 %t4691, 0 - br i1 %t4692, label %then1078, label %ifend1080 -then1078: - %t4693 = load ptr, ptr %t1 - %t4694 = call i32 @fn_str_eq(ptr %t4693, ptr @.str6647) - %t4695 = icmp ne i32 %t4694, 0 - br i1 %t4695, label %then1081, label %ifend1083 -then1081: - store ptr @.str6648, ptr %t330 - br label %ifend1083 -ifend1083: - %t4696 = load ptr, ptr %t1 - %t4697 = call i32 @fn_str_eq(ptr %t4696, ptr @.str6649) - %t4698 = icmp ne i32 %t4697, 0 - br i1 %t4698, label %then1084, label %ifend1086 + %t5349 = load ptr, ptr %t1 + %t5350 = call i32 @fn_str_eq(ptr %t5349, ptr @.str6955) + %t5351 = icmp ne i32 %t5350, 0 + br i1 %t5351, label %then1077, label %ifend1079 +then1077: + store ptr @.str6956, ptr %t380 + %t5352 = load ptr, ptr %t387 + %t5353 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 1 + %t5354 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 2 + %t5355 = getelementptr inbounds %LSlice, ptr %t5352, i32 0, i32 0 + %t5356 = load i32, ptr %t5353 + %t5357 = load i32, ptr %t5354 + %t5358 = icmp sge i32 %t5356, %t5357 + br i1 %t5358, label %grow1080, label %put1081 +grow1080: + %t5359 = mul i32 %t5357, 2 + %t5360 = icmp eq i32 %t5357, 0 + %t5361 = select i1 %t5360, i32 8, i32 %t5359 + %t5362 = getelementptr ptr, ptr null, i32 1 + %t5363 = ptrtoint ptr %t5362 to i64 + %t5364 = zext i32 %t5361 to i64 + %t5365 = mul i64 %t5364, %t5363 + %t5366 = load ptr, ptr %t5355 + %t5367 = call ptr @realloc(ptr %t5366, i64 %t5365) + store ptr %t5367, ptr %t5355 + store i32 %t5361, ptr %t5354 + br label %put1081 +put1081: + %t5368 = load ptr, ptr %t5355 + %t5369 = getelementptr inbounds ptr, ptr %t5368, i32 %t5356 + store ptr @.str6957, ptr %t5369 + %t5370 = add i32 %t5356, 1 + store i32 %t5370, ptr %t5353 + %t5371 = load ptr, ptr %t387 + %t5372 = getelementptr inbounds %LSlice, ptr %t5371, i32 0, i32 1 + %t5373 = getelementptr inbounds %LSlice, ptr %t5371, i32 0, i32 2 + %t5374 = getelementptr inbounds %LSlice, ptr %t5371, i32 0, i32 0 + %t5375 = load i32, ptr %t5372 + %t5376 = load i32, ptr %t5373 + %t5377 = icmp sge i32 %t5375, %t5376 + br i1 %t5377, label %grow1082, label %put1083 +grow1082: + %t5378 = mul i32 %t5376, 2 + %t5379 = icmp eq i32 %t5376, 0 + %t5380 = select i1 %t5379, i32 8, i32 %t5378 + %t5381 = getelementptr ptr, ptr null, i32 1 + %t5382 = ptrtoint ptr %t5381 to i64 + %t5383 = zext i32 %t5380 to i64 + %t5384 = mul i64 %t5383, %t5382 + %t5385 = load ptr, ptr %t5374 + %t5386 = call ptr @realloc(ptr %t5385, i64 %t5384) + store ptr %t5386, ptr %t5374 + store i32 %t5380, ptr %t5373 + br label %put1083 +put1083: + %t5387 = load ptr, ptr %t5374 + %t5388 = getelementptr inbounds ptr, ptr %t5387, i32 %t5375 + store ptr @.str6958, ptr %t5388 + %t5389 = add i32 %t5375, 1 + store i32 %t5389, ptr %t5372 + br label %ifend1079 +ifend1079: + %t5390 = load ptr, ptr %t1 + %t5391 = call i32 @fn_str_eq(ptr %t5390, ptr @.str6959) + %t5392 = icmp ne i32 %t5391, 0 + br i1 %t5392, label %then1084, label %ifend1086 then1084: - store ptr @.str6650, ptr %t330 + store ptr @.str6960, ptr %t380 + %t5393 = load ptr, ptr %t387 + %t5394 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 1 + %t5395 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 2 + %t5396 = getelementptr inbounds %LSlice, ptr %t5393, i32 0, i32 0 + %t5397 = load i32, ptr %t5394 + %t5398 = load i32, ptr %t5395 + %t5399 = icmp sge i32 %t5397, %t5398 + br i1 %t5399, label %grow1087, label %put1088 +grow1087: + %t5400 = mul i32 %t5398, 2 + %t5401 = icmp eq i32 %t5398, 0 + %t5402 = select i1 %t5401, i32 8, i32 %t5400 + %t5403 = getelementptr ptr, ptr null, i32 1 + %t5404 = ptrtoint ptr %t5403 to i64 + %t5405 = zext i32 %t5402 to i64 + %t5406 = mul i64 %t5405, %t5404 + %t5407 = load ptr, ptr %t5396 + %t5408 = call ptr @realloc(ptr %t5407, i64 %t5406) + store ptr %t5408, ptr %t5396 + store i32 %t5402, ptr %t5395 + br label %put1088 +put1088: + %t5409 = load ptr, ptr %t5396 + %t5410 = getelementptr inbounds ptr, ptr %t5409, i32 %t5397 + store ptr @.str6961, ptr %t5410 + %t5411 = add i32 %t5397, 1 + store i32 %t5411, ptr %t5394 + %t5412 = load ptr, ptr %t387 + %t5413 = getelementptr inbounds %LSlice, ptr %t5412, i32 0, i32 1 + %t5414 = getelementptr inbounds %LSlice, ptr %t5412, i32 0, i32 2 + %t5415 = getelementptr inbounds %LSlice, ptr %t5412, i32 0, i32 0 + %t5416 = load i32, ptr %t5413 + %t5417 = load i32, ptr %t5414 + %t5418 = icmp sge i32 %t5416, %t5417 + br i1 %t5418, label %grow1089, label %put1090 +grow1089: + %t5419 = mul i32 %t5417, 2 + %t5420 = icmp eq i32 %t5417, 0 + %t5421 = select i1 %t5420, i32 8, i32 %t5419 + %t5422 = getelementptr ptr, ptr null, i32 1 + %t5423 = ptrtoint ptr %t5422 to i64 + %t5424 = zext i32 %t5421 to i64 + %t5425 = mul i64 %t5424, %t5423 + %t5426 = load ptr, ptr %t5415 + %t5427 = call ptr @realloc(ptr %t5426, i64 %t5425) + store ptr %t5427, ptr %t5415 + store i32 %t5421, ptr %t5414 + br label %put1090 +put1090: + %t5428 = load ptr, ptr %t5415 + %t5429 = getelementptr inbounds ptr, ptr %t5428, i32 %t5416 + store ptr @.str6962, ptr %t5429 + %t5430 = add i32 %t5416, 1 + store i32 %t5430, ptr %t5413 br label %ifend1086 ifend1086: - br label %ifend1080 -ifend1080: - %t4699 = load ptr, ptr %t0 - %t4700 = call i32 @fn_str_eq(ptr %t4699, ptr @.str6651) - %t4701 = icmp ne i32 %t4700, 0 - br i1 %t4701, label %then1087, label %ifend1089 -then1087: - %t4702 = load ptr, ptr %t1 - %t4703 = call i32 @fn_str_eq(ptr %t4702, ptr @.str6652) - %t4704 = icmp ne i32 %t4703, 0 - br i1 %t4704, label %then1090, label %ifend1092 -then1090: - store ptr @.str6653, ptr %t330 - %t4705 = load ptr, ptr %t337 - %t4706 = getelementptr inbounds %LSlice, ptr %t4705, i32 0, i32 1 - %t4707 = getelementptr inbounds %LSlice, ptr %t4705, i32 0, i32 2 - %t4708 = getelementptr inbounds %LSlice, ptr %t4705, i32 0, i32 0 - %t4709 = load i32, ptr %t4706 - %t4710 = load i32, ptr %t4707 - %t4711 = icmp sge i32 %t4709, %t4710 - br i1 %t4711, label %grow1093, label %put1094 -grow1093: - %t4712 = mul i32 %t4710, 2 - %t4713 = icmp eq i32 %t4710, 0 - %t4714 = select i1 %t4713, i32 8, i32 %t4712 - %t4715 = getelementptr ptr, ptr null, i32 1 - %t4716 = ptrtoint ptr %t4715 to i64 - %t4717 = zext i32 %t4714 to i64 - %t4718 = mul i64 %t4717, %t4716 - %t4719 = load ptr, ptr %t4708 - %t4720 = call ptr @realloc(ptr %t4719, i64 %t4718) - store ptr %t4720, ptr %t4708 - store i32 %t4714, ptr %t4707 - br label %put1094 -put1094: - %t4721 = load ptr, ptr %t4708 - %t4722 = getelementptr inbounds ptr, ptr %t4721, i32 %t4709 - store ptr @.str6654, ptr %t4722 - %t4723 = add i32 %t4709, 1 - store i32 %t4723, ptr %t4706 - br label %ifend1092 -ifend1092: - %t4724 = load ptr, ptr %t1 - %t4725 = call i32 @fn_str_eq(ptr %t4724, ptr @.str6655) - %t4726 = icmp ne i32 %t4725, 0 - br i1 %t4726, label %then1095, label %ifend1097 -then1095: - store ptr @.str6656, ptr %t330 - %t4727 = load ptr, ptr %t337 - %t4728 = getelementptr inbounds %LSlice, ptr %t4727, i32 0, i32 1 - %t4729 = getelementptr inbounds %LSlice, ptr %t4727, i32 0, i32 2 - %t4730 = getelementptr inbounds %LSlice, ptr %t4727, i32 0, i32 0 - %t4731 = load i32, ptr %t4728 - %t4732 = load i32, ptr %t4729 - %t4733 = icmp sge i32 %t4731, %t4732 - br i1 %t4733, label %grow1098, label %put1099 + %t5431 = load ptr, ptr %t1 + %t5432 = call i32 @fn_str_eq(ptr %t5431, ptr @.str6963) + %t5433 = icmp ne i32 %t5432, 0 + br i1 %t5433, label %then1091, label %ifend1093 +then1091: + store ptr @.str6964, ptr %t380 + %t5434 = load ptr, ptr %t387 + %t5435 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 1 + %t5436 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 2 + %t5437 = getelementptr inbounds %LSlice, ptr %t5434, i32 0, i32 0 + %t5438 = load i32, ptr %t5435 + %t5439 = load i32, ptr %t5436 + %t5440 = icmp sge i32 %t5438, %t5439 + br i1 %t5440, label %grow1094, label %put1095 +grow1094: + %t5441 = mul i32 %t5439, 2 + %t5442 = icmp eq i32 %t5439, 0 + %t5443 = select i1 %t5442, i32 8, i32 %t5441 + %t5444 = getelementptr ptr, ptr null, i32 1 + %t5445 = ptrtoint ptr %t5444 to i64 + %t5446 = zext i32 %t5443 to i64 + %t5447 = mul i64 %t5446, %t5445 + %t5448 = load ptr, ptr %t5437 + %t5449 = call ptr @realloc(ptr %t5448, i64 %t5447) + store ptr %t5449, ptr %t5437 + store i32 %t5443, ptr %t5436 + br label %put1095 +put1095: + %t5450 = load ptr, ptr %t5437 + %t5451 = getelementptr inbounds ptr, ptr %t5450, i32 %t5438 + store ptr @.str6965, ptr %t5451 + %t5452 = add i32 %t5438, 1 + store i32 %t5452, ptr %t5435 + %t5453 = load ptr, ptr %t387 + %t5454 = getelementptr inbounds %LSlice, ptr %t5453, i32 0, i32 1 + %t5455 = getelementptr inbounds %LSlice, ptr %t5453, i32 0, i32 2 + %t5456 = getelementptr inbounds %LSlice, ptr %t5453, i32 0, i32 0 + %t5457 = load i32, ptr %t5454 + %t5458 = load i32, ptr %t5455 + %t5459 = icmp sge i32 %t5457, %t5458 + br i1 %t5459, label %grow1096, label %put1097 +grow1096: + %t5460 = mul i32 %t5458, 2 + %t5461 = icmp eq i32 %t5458, 0 + %t5462 = select i1 %t5461, i32 8, i32 %t5460 + %t5463 = getelementptr ptr, ptr null, i32 1 + %t5464 = ptrtoint ptr %t5463 to i64 + %t5465 = zext i32 %t5462 to i64 + %t5466 = mul i64 %t5465, %t5464 + %t5467 = load ptr, ptr %t5456 + %t5468 = call ptr @realloc(ptr %t5467, i64 %t5466) + store ptr %t5468, ptr %t5456 + store i32 %t5462, ptr %t5455 + br label %put1097 +put1097: + %t5469 = load ptr, ptr %t5456 + %t5470 = getelementptr inbounds ptr, ptr %t5469, i32 %t5457 + store ptr @.str6966, ptr %t5470 + %t5471 = add i32 %t5457, 1 + store i32 %t5471, ptr %t5454 + %t5472 = load ptr, ptr %t387 + %t5473 = getelementptr inbounds %LSlice, ptr %t5472, i32 0, i32 1 + %t5474 = getelementptr inbounds %LSlice, ptr %t5472, i32 0, i32 2 + %t5475 = getelementptr inbounds %LSlice, ptr %t5472, i32 0, i32 0 + %t5476 = load i32, ptr %t5473 + %t5477 = load i32, ptr %t5474 + %t5478 = icmp sge i32 %t5476, %t5477 + br i1 %t5478, label %grow1098, label %put1099 grow1098: - %t4734 = mul i32 %t4732, 2 - %t4735 = icmp eq i32 %t4732, 0 - %t4736 = select i1 %t4735, i32 8, i32 %t4734 - %t4737 = getelementptr ptr, ptr null, i32 1 - %t4738 = ptrtoint ptr %t4737 to i64 - %t4739 = zext i32 %t4736 to i64 - %t4740 = mul i64 %t4739, %t4738 - %t4741 = load ptr, ptr %t4730 - %t4742 = call ptr @realloc(ptr %t4741, i64 %t4740) - store ptr %t4742, ptr %t4730 - store i32 %t4736, ptr %t4729 + %t5479 = mul i32 %t5477, 2 + %t5480 = icmp eq i32 %t5477, 0 + %t5481 = select i1 %t5480, i32 8, i32 %t5479 + %t5482 = getelementptr ptr, ptr null, i32 1 + %t5483 = ptrtoint ptr %t5482 to i64 + %t5484 = zext i32 %t5481 to i64 + %t5485 = mul i64 %t5484, %t5483 + %t5486 = load ptr, ptr %t5475 + %t5487 = call ptr @realloc(ptr %t5486, i64 %t5485) + store ptr %t5487, ptr %t5475 + store i32 %t5481, ptr %t5474 br label %put1099 put1099: - %t4743 = load ptr, ptr %t4730 - %t4744 = getelementptr inbounds ptr, ptr %t4743, i32 %t4731 - store ptr @.str6657, ptr %t4744 - %t4745 = add i32 %t4731, 1 - store i32 %t4745, ptr %t4728 - br label %ifend1097 -ifend1097: - %t4746 = load ptr, ptr %t1 - %t4747 = call i32 @fn_str_eq(ptr %t4746, ptr @.str6658) - %t4748 = icmp ne i32 %t4747, 0 - br i1 %t4748, label %then1100, label %ifend1102 -then1100: - store ptr @.str6659, ptr %t330 - %t4749 = load ptr, ptr %t337 - %t4750 = getelementptr inbounds %LSlice, ptr %t4749, i32 0, i32 1 - %t4751 = getelementptr inbounds %LSlice, ptr %t4749, i32 0, i32 2 - %t4752 = getelementptr inbounds %LSlice, ptr %t4749, i32 0, i32 0 - %t4753 = load i32, ptr %t4750 - %t4754 = load i32, ptr %t4751 - %t4755 = icmp sge i32 %t4753, %t4754 - br i1 %t4755, label %grow1103, label %put1104 -grow1103: - %t4756 = mul i32 %t4754, 2 - %t4757 = icmp eq i32 %t4754, 0 - %t4758 = select i1 %t4757, i32 8, i32 %t4756 - %t4759 = getelementptr ptr, ptr null, i32 1 - %t4760 = ptrtoint ptr %t4759 to i64 - %t4761 = zext i32 %t4758 to i64 - %t4762 = mul i64 %t4761, %t4760 - %t4763 = load ptr, ptr %t4752 - %t4764 = call ptr @realloc(ptr %t4763, i64 %t4762) - store ptr %t4764, ptr %t4752 - store i32 %t4758, ptr %t4751 - br label %put1104 -put1104: - %t4765 = load ptr, ptr %t4752 - %t4766 = getelementptr inbounds ptr, ptr %t4765, i32 %t4753 - store ptr @.str6660, ptr %t4766 - %t4767 = add i32 %t4753, 1 - store i32 %t4767, ptr %t4750 - %t4768 = load ptr, ptr %t337 - %t4769 = getelementptr inbounds %LSlice, ptr %t4768, i32 0, i32 1 - %t4770 = getelementptr inbounds %LSlice, ptr %t4768, i32 0, i32 2 - %t4771 = getelementptr inbounds %LSlice, ptr %t4768, i32 0, i32 0 - %t4772 = load i32, ptr %t4769 - %t4773 = load i32, ptr %t4770 - %t4774 = icmp sge i32 %t4772, %t4773 - br i1 %t4774, label %grow1105, label %put1106 -grow1105: - %t4775 = mul i32 %t4773, 2 - %t4776 = icmp eq i32 %t4773, 0 - %t4777 = select i1 %t4776, i32 8, i32 %t4775 - %t4778 = getelementptr ptr, ptr null, i32 1 - %t4779 = ptrtoint ptr %t4778 to i64 - %t4780 = zext i32 %t4777 to i64 - %t4781 = mul i64 %t4780, %t4779 - %t4782 = load ptr, ptr %t4771 - %t4783 = call ptr @realloc(ptr %t4782, i64 %t4781) - store ptr %t4783, ptr %t4771 - store i32 %t4777, ptr %t4770 - br label %put1106 -put1106: - %t4784 = load ptr, ptr %t4771 - %t4785 = getelementptr inbounds ptr, ptr %t4784, i32 %t4772 - store ptr @.str6661, ptr %t4785 - %t4786 = add i32 %t4772, 1 - store i32 %t4786, ptr %t4769 - br label %ifend1102 -ifend1102: - %t4787 = load ptr, ptr %t1 - %t4788 = call i32 @fn_str_eq(ptr %t4787, ptr @.str6662) - %t4789 = icmp ne i32 %t4788, 0 - br i1 %t4789, label %then1107, label %ifend1109 -then1107: - store ptr @.str6663, ptr %t330 - %t4790 = load ptr, ptr %t337 - %t4791 = getelementptr inbounds %LSlice, ptr %t4790, i32 0, i32 1 - %t4792 = getelementptr inbounds %LSlice, ptr %t4790, i32 0, i32 2 - %t4793 = getelementptr inbounds %LSlice, ptr %t4790, i32 0, i32 0 - %t4794 = load i32, ptr %t4791 - %t4795 = load i32, ptr %t4792 - %t4796 = icmp sge i32 %t4794, %t4795 - br i1 %t4796, label %grow1110, label %put1111 -grow1110: - %t4797 = mul i32 %t4795, 2 - %t4798 = icmp eq i32 %t4795, 0 - %t4799 = select i1 %t4798, i32 8, i32 %t4797 - %t4800 = getelementptr ptr, ptr null, i32 1 - %t4801 = ptrtoint ptr %t4800 to i64 - %t4802 = zext i32 %t4799 to i64 - %t4803 = mul i64 %t4802, %t4801 - %t4804 = load ptr, ptr %t4793 - %t4805 = call ptr @realloc(ptr %t4804, i64 %t4803) - store ptr %t4805, ptr %t4793 - store i32 %t4799, ptr %t4792 - br label %put1111 -put1111: - %t4806 = load ptr, ptr %t4793 - %t4807 = getelementptr inbounds ptr, ptr %t4806, i32 %t4794 - store ptr @.str6664, ptr %t4807 - %t4808 = add i32 %t4794, 1 - store i32 %t4808, ptr %t4791 - %t4809 = load ptr, ptr %t337 - %t4810 = getelementptr inbounds %LSlice, ptr %t4809, i32 0, i32 1 - %t4811 = getelementptr inbounds %LSlice, ptr %t4809, i32 0, i32 2 - %t4812 = getelementptr inbounds %LSlice, ptr %t4809, i32 0, i32 0 - %t4813 = load i32, ptr %t4810 - %t4814 = load i32, ptr %t4811 - %t4815 = icmp sge i32 %t4813, %t4814 - br i1 %t4815, label %grow1112, label %put1113 -grow1112: - %t4816 = mul i32 %t4814, 2 - %t4817 = icmp eq i32 %t4814, 0 - %t4818 = select i1 %t4817, i32 8, i32 %t4816 - %t4819 = getelementptr ptr, ptr null, i32 1 - %t4820 = ptrtoint ptr %t4819 to i64 - %t4821 = zext i32 %t4818 to i64 - %t4822 = mul i64 %t4821, %t4820 - %t4823 = load ptr, ptr %t4812 - %t4824 = call ptr @realloc(ptr %t4823, i64 %t4822) - store ptr %t4824, ptr %t4812 - store i32 %t4818, ptr %t4811 - br label %put1113 -put1113: - %t4825 = load ptr, ptr %t4812 - %t4826 = getelementptr inbounds ptr, ptr %t4825, i32 %t4813 - store ptr @.str6665, ptr %t4826 - %t4827 = add i32 %t4813, 1 - store i32 %t4827, ptr %t4810 - br label %ifend1109 -ifend1109: - %t4828 = load ptr, ptr %t1 - %t4829 = call i32 @fn_str_eq(ptr %t4828, ptr @.str6666) - %t4830 = icmp ne i32 %t4829, 0 - br i1 %t4830, label %then1114, label %ifend1116 -then1114: - store ptr @.str6667, ptr %t330 - %t4831 = load ptr, ptr %t337 - %t4832 = getelementptr inbounds %LSlice, ptr %t4831, i32 0, i32 1 - %t4833 = getelementptr inbounds %LSlice, ptr %t4831, i32 0, i32 2 - %t4834 = getelementptr inbounds %LSlice, ptr %t4831, i32 0, i32 0 - %t4835 = load i32, ptr %t4832 - %t4836 = load i32, ptr %t4833 - %t4837 = icmp sge i32 %t4835, %t4836 - br i1 %t4837, label %grow1117, label %put1118 -grow1117: - %t4838 = mul i32 %t4836, 2 - %t4839 = icmp eq i32 %t4836, 0 - %t4840 = select i1 %t4839, i32 8, i32 %t4838 - %t4841 = getelementptr ptr, ptr null, i32 1 - %t4842 = ptrtoint ptr %t4841 to i64 - %t4843 = zext i32 %t4840 to i64 - %t4844 = mul i64 %t4843, %t4842 - %t4845 = load ptr, ptr %t4834 - %t4846 = call ptr @realloc(ptr %t4845, i64 %t4844) - store ptr %t4846, ptr %t4834 - store i32 %t4840, ptr %t4833 - br label %put1118 -put1118: - %t4847 = load ptr, ptr %t4834 - %t4848 = getelementptr inbounds ptr, ptr %t4847, i32 %t4835 - store ptr @.str6668, ptr %t4848 - %t4849 = add i32 %t4835, 1 - store i32 %t4849, ptr %t4832 - %t4850 = load ptr, ptr %t337 - %t4851 = getelementptr inbounds %LSlice, ptr %t4850, i32 0, i32 1 - %t4852 = getelementptr inbounds %LSlice, ptr %t4850, i32 0, i32 2 - %t4853 = getelementptr inbounds %LSlice, ptr %t4850, i32 0, i32 0 - %t4854 = load i32, ptr %t4851 - %t4855 = load i32, ptr %t4852 - %t4856 = icmp sge i32 %t4854, %t4855 - br i1 %t4856, label %grow1119, label %put1120 + %t5488 = load ptr, ptr %t5475 + %t5489 = getelementptr inbounds ptr, ptr %t5488, i32 %t5476 + store ptr @.str6967, ptr %t5489 + %t5490 = add i32 %t5476, 1 + store i32 %t5490, ptr %t5473 + %t5491 = load ptr, ptr %t387 + %t5492 = getelementptr inbounds %LSlice, ptr %t5491, i32 0, i32 1 + %t5493 = getelementptr inbounds %LSlice, ptr %t5491, i32 0, i32 2 + %t5494 = getelementptr inbounds %LSlice, ptr %t5491, i32 0, i32 0 + %t5495 = load i32, ptr %t5492 + %t5496 = load i32, ptr %t5493 + %t5497 = icmp sge i32 %t5495, %t5496 + br i1 %t5497, label %grow1100, label %put1101 +grow1100: + %t5498 = mul i32 %t5496, 2 + %t5499 = icmp eq i32 %t5496, 0 + %t5500 = select i1 %t5499, i32 8, i32 %t5498 + %t5501 = getelementptr ptr, ptr null, i32 1 + %t5502 = ptrtoint ptr %t5501 to i64 + %t5503 = zext i32 %t5500 to i64 + %t5504 = mul i64 %t5503, %t5502 + %t5505 = load ptr, ptr %t5494 + %t5506 = call ptr @realloc(ptr %t5505, i64 %t5504) + store ptr %t5506, ptr %t5494 + store i32 %t5500, ptr %t5493 + br label %put1101 +put1101: + %t5507 = load ptr, ptr %t5494 + %t5508 = getelementptr inbounds ptr, ptr %t5507, i32 %t5495 + store ptr @.str6968, ptr %t5508 + %t5509 = add i32 %t5495, 1 + store i32 %t5509, ptr %t5492 + %t5510 = load ptr, ptr %t387 + %t5511 = getelementptr inbounds %LSlice, ptr %t5510, i32 0, i32 1 + %t5512 = getelementptr inbounds %LSlice, ptr %t5510, i32 0, i32 2 + %t5513 = getelementptr inbounds %LSlice, ptr %t5510, i32 0, i32 0 + %t5514 = load i32, ptr %t5511 + %t5515 = load i32, ptr %t5512 + %t5516 = icmp sge i32 %t5514, %t5515 + br i1 %t5516, label %grow1102, label %put1103 +grow1102: + %t5517 = mul i32 %t5515, 2 + %t5518 = icmp eq i32 %t5515, 0 + %t5519 = select i1 %t5518, i32 8, i32 %t5517 + %t5520 = getelementptr ptr, ptr null, i32 1 + %t5521 = ptrtoint ptr %t5520 to i64 + %t5522 = zext i32 %t5519 to i64 + %t5523 = mul i64 %t5522, %t5521 + %t5524 = load ptr, ptr %t5513 + %t5525 = call ptr @realloc(ptr %t5524, i64 %t5523) + store ptr %t5525, ptr %t5513 + store i32 %t5519, ptr %t5512 + br label %put1103 +put1103: + %t5526 = load ptr, ptr %t5513 + %t5527 = getelementptr inbounds ptr, ptr %t5526, i32 %t5514 + store ptr @.str6969, ptr %t5527 + %t5528 = add i32 %t5514, 1 + store i32 %t5528, ptr %t5511 + %t5529 = load ptr, ptr %t387 + %t5530 = getelementptr inbounds %LSlice, ptr %t5529, i32 0, i32 1 + %t5531 = getelementptr inbounds %LSlice, ptr %t5529, i32 0, i32 2 + %t5532 = getelementptr inbounds %LSlice, ptr %t5529, i32 0, i32 0 + %t5533 = load i32, ptr %t5530 + %t5534 = load i32, ptr %t5531 + %t5535 = icmp sge i32 %t5533, %t5534 + br i1 %t5535, label %grow1104, label %put1105 +grow1104: + %t5536 = mul i32 %t5534, 2 + %t5537 = icmp eq i32 %t5534, 0 + %t5538 = select i1 %t5537, i32 8, i32 %t5536 + %t5539 = getelementptr ptr, ptr null, i32 1 + %t5540 = ptrtoint ptr %t5539 to i64 + %t5541 = zext i32 %t5538 to i64 + %t5542 = mul i64 %t5541, %t5540 + %t5543 = load ptr, ptr %t5532 + %t5544 = call ptr @realloc(ptr %t5543, i64 %t5542) + store ptr %t5544, ptr %t5532 + store i32 %t5538, ptr %t5531 + br label %put1105 +put1105: + %t5545 = load ptr, ptr %t5532 + %t5546 = getelementptr inbounds ptr, ptr %t5545, i32 %t5533 + store ptr @.str6970, ptr %t5546 + %t5547 = add i32 %t5533, 1 + store i32 %t5547, ptr %t5530 + %t5548 = load ptr, ptr %t387 + %t5549 = getelementptr inbounds %LSlice, ptr %t5548, i32 0, i32 1 + %t5550 = getelementptr inbounds %LSlice, ptr %t5548, i32 0, i32 2 + %t5551 = getelementptr inbounds %LSlice, ptr %t5548, i32 0, i32 0 + %t5552 = load i32, ptr %t5549 + %t5553 = load i32, ptr %t5550 + %t5554 = icmp sge i32 %t5552, %t5553 + br i1 %t5554, label %grow1106, label %put1107 +grow1106: + %t5555 = mul i32 %t5553, 2 + %t5556 = icmp eq i32 %t5553, 0 + %t5557 = select i1 %t5556, i32 8, i32 %t5555 + %t5558 = getelementptr ptr, ptr null, i32 1 + %t5559 = ptrtoint ptr %t5558 to i64 + %t5560 = zext i32 %t5557 to i64 + %t5561 = mul i64 %t5560, %t5559 + %t5562 = load ptr, ptr %t5551 + %t5563 = call ptr @realloc(ptr %t5562, i64 %t5561) + store ptr %t5563, ptr %t5551 + store i32 %t5557, ptr %t5550 + br label %put1107 +put1107: + %t5564 = load ptr, ptr %t5551 + %t5565 = getelementptr inbounds ptr, ptr %t5564, i32 %t5552 + store ptr @.str6971, ptr %t5565 + %t5566 = add i32 %t5552, 1 + store i32 %t5566, ptr %t5549 + br label %ifend1093 +ifend1093: + %t5567 = load ptr, ptr %t1 + %t5568 = call i32 @fn_str_eq(ptr %t5567, ptr @.str6972) + %t5569 = icmp ne i32 %t5568, 0 + br i1 %t5569, label %then1108, label %ifend1110 +then1108: + store ptr @.str6973, ptr %t380 + br label %ifend1110 +ifend1110: + %t5570 = load ptr, ptr %t1 + %t5571 = call i32 @fn_str_eq(ptr %t5570, ptr @.str6974) + %t5572 = icmp ne i32 %t5571, 0 + br i1 %t5572, label %then1111, label %ifend1113 +then1111: + store ptr @.str6975, ptr %t380 + %t5573 = load ptr, ptr %t387 + %t5574 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 1 + %t5575 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 2 + %t5576 = getelementptr inbounds %LSlice, ptr %t5573, i32 0, i32 0 + %t5577 = load i32, ptr %t5574 + %t5578 = load i32, ptr %t5575 + %t5579 = icmp sge i32 %t5577, %t5578 + br i1 %t5579, label %grow1114, label %put1115 +grow1114: + %t5580 = mul i32 %t5578, 2 + %t5581 = icmp eq i32 %t5578, 0 + %t5582 = select i1 %t5581, i32 8, i32 %t5580 + %t5583 = getelementptr ptr, ptr null, i32 1 + %t5584 = ptrtoint ptr %t5583 to i64 + %t5585 = zext i32 %t5582 to i64 + %t5586 = mul i64 %t5585, %t5584 + %t5587 = load ptr, ptr %t5576 + %t5588 = call ptr @realloc(ptr %t5587, i64 %t5586) + store ptr %t5588, ptr %t5576 + store i32 %t5582, ptr %t5575 + br label %put1115 +put1115: + %t5589 = load ptr, ptr %t5576 + %t5590 = getelementptr inbounds ptr, ptr %t5589, i32 %t5577 + store ptr @.str6976, ptr %t5590 + %t5591 = add i32 %t5577, 1 + store i32 %t5591, ptr %t5574 + br label %ifend1113 +ifend1113: + %t5592 = load ptr, ptr %t1 + %t5593 = call i32 @fn_str_eq(ptr %t5592, ptr @.str6977) + %t5594 = icmp ne i32 %t5593, 0 + br i1 %t5594, label %then1116, label %ifend1118 +then1116: + store ptr @.str6978, ptr %t380 + %t5595 = load ptr, ptr %t387 + %t5596 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 1 + %t5597 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 2 + %t5598 = getelementptr inbounds %LSlice, ptr %t5595, i32 0, i32 0 + %t5599 = load i32, ptr %t5596 + %t5600 = load i32, ptr %t5597 + %t5601 = icmp sge i32 %t5599, %t5600 + br i1 %t5601, label %grow1119, label %put1120 grow1119: - %t4857 = mul i32 %t4855, 2 - %t4858 = icmp eq i32 %t4855, 0 - %t4859 = select i1 %t4858, i32 8, i32 %t4857 - %t4860 = getelementptr ptr, ptr null, i32 1 - %t4861 = ptrtoint ptr %t4860 to i64 - %t4862 = zext i32 %t4859 to i64 - %t4863 = mul i64 %t4862, %t4861 - %t4864 = load ptr, ptr %t4853 - %t4865 = call ptr @realloc(ptr %t4864, i64 %t4863) - store ptr %t4865, ptr %t4853 - store i32 %t4859, ptr %t4852 + %t5602 = mul i32 %t5600, 2 + %t5603 = icmp eq i32 %t5600, 0 + %t5604 = select i1 %t5603, i32 8, i32 %t5602 + %t5605 = getelementptr ptr, ptr null, i32 1 + %t5606 = ptrtoint ptr %t5605 to i64 + %t5607 = zext i32 %t5604 to i64 + %t5608 = mul i64 %t5607, %t5606 + %t5609 = load ptr, ptr %t5598 + %t5610 = call ptr @realloc(ptr %t5609, i64 %t5608) + store ptr %t5610, ptr %t5598 + store i32 %t5604, ptr %t5597 br label %put1120 put1120: - %t4866 = load ptr, ptr %t4853 - %t4867 = getelementptr inbounds ptr, ptr %t4866, i32 %t4854 - store ptr @.str6669, ptr %t4867 - %t4868 = add i32 %t4854, 1 - store i32 %t4868, ptr %t4851 - br label %ifend1116 -ifend1116: - %t4869 = load ptr, ptr %t1 - %t4870 = call i32 @fn_str_eq(ptr %t4869, ptr @.str6670) - %t4871 = icmp ne i32 %t4870, 0 - br i1 %t4871, label %then1121, label %ifend1123 + %t5611 = load ptr, ptr %t5598 + %t5612 = getelementptr inbounds ptr, ptr %t5611, i32 %t5599 + store ptr @.str6979, ptr %t5612 + %t5613 = add i32 %t5599, 1 + store i32 %t5613, ptr %t5596 + br label %ifend1118 +ifend1118: + %t5614 = load ptr, ptr %t1 + %t5615 = call i32 @fn_str_eq(ptr %t5614, ptr @.str6980) + %t5616 = icmp ne i32 %t5615, 0 + br i1 %t5616, label %then1121, label %ifend1123 then1121: - store ptr @.str6671, ptr %t330 - %t4872 = load ptr, ptr %t337 - %t4873 = getelementptr inbounds %LSlice, ptr %t4872, i32 0, i32 1 - %t4874 = getelementptr inbounds %LSlice, ptr %t4872, i32 0, i32 2 - %t4875 = getelementptr inbounds %LSlice, ptr %t4872, i32 0, i32 0 - %t4876 = load i32, ptr %t4873 - %t4877 = load i32, ptr %t4874 - %t4878 = icmp sge i32 %t4876, %t4877 - br i1 %t4878, label %grow1124, label %put1125 + store ptr @.str6981, ptr %t380 + %t5617 = load ptr, ptr %t387 + %t5618 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 1 + %t5619 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 2 + %t5620 = getelementptr inbounds %LSlice, ptr %t5617, i32 0, i32 0 + %t5621 = load i32, ptr %t5618 + %t5622 = load i32, ptr %t5619 + %t5623 = icmp sge i32 %t5621, %t5622 + br i1 %t5623, label %grow1124, label %put1125 grow1124: - %t4879 = mul i32 %t4877, 2 - %t4880 = icmp eq i32 %t4877, 0 - %t4881 = select i1 %t4880, i32 8, i32 %t4879 - %t4882 = getelementptr ptr, ptr null, i32 1 - %t4883 = ptrtoint ptr %t4882 to i64 - %t4884 = zext i32 %t4881 to i64 - %t4885 = mul i64 %t4884, %t4883 - %t4886 = load ptr, ptr %t4875 - %t4887 = call ptr @realloc(ptr %t4886, i64 %t4885) - store ptr %t4887, ptr %t4875 - store i32 %t4881, ptr %t4874 + %t5624 = mul i32 %t5622, 2 + %t5625 = icmp eq i32 %t5622, 0 + %t5626 = select i1 %t5625, i32 8, i32 %t5624 + %t5627 = getelementptr ptr, ptr null, i32 1 + %t5628 = ptrtoint ptr %t5627 to i64 + %t5629 = zext i32 %t5626 to i64 + %t5630 = mul i64 %t5629, %t5628 + %t5631 = load ptr, ptr %t5620 + %t5632 = call ptr @realloc(ptr %t5631, i64 %t5630) + store ptr %t5632, ptr %t5620 + store i32 %t5626, ptr %t5619 br label %put1125 put1125: - %t4888 = load ptr, ptr %t4875 - %t4889 = getelementptr inbounds ptr, ptr %t4888, i32 %t4876 - store ptr @.str6672, ptr %t4889 - %t4890 = add i32 %t4876, 1 - store i32 %t4890, ptr %t4873 - %t4891 = load ptr, ptr %t337 - %t4892 = getelementptr inbounds %LSlice, ptr %t4891, i32 0, i32 1 - %t4893 = getelementptr inbounds %LSlice, ptr %t4891, i32 0, i32 2 - %t4894 = getelementptr inbounds %LSlice, ptr %t4891, i32 0, i32 0 - %t4895 = load i32, ptr %t4892 - %t4896 = load i32, ptr %t4893 - %t4897 = icmp sge i32 %t4895, %t4896 - br i1 %t4897, label %grow1126, label %put1127 + %t5633 = load ptr, ptr %t5620 + %t5634 = getelementptr inbounds ptr, ptr %t5633, i32 %t5621 + store ptr @.str6982, ptr %t5634 + %t5635 = add i32 %t5621, 1 + store i32 %t5635, ptr %t5618 + %t5636 = load ptr, ptr %t387 + %t5637 = getelementptr inbounds %LSlice, ptr %t5636, i32 0, i32 1 + %t5638 = getelementptr inbounds %LSlice, ptr %t5636, i32 0, i32 2 + %t5639 = getelementptr inbounds %LSlice, ptr %t5636, i32 0, i32 0 + %t5640 = load i32, ptr %t5637 + %t5641 = load i32, ptr %t5638 + %t5642 = icmp sge i32 %t5640, %t5641 + br i1 %t5642, label %grow1126, label %put1127 grow1126: - %t4898 = mul i32 %t4896, 2 - %t4899 = icmp eq i32 %t4896, 0 - %t4900 = select i1 %t4899, i32 8, i32 %t4898 - %t4901 = getelementptr ptr, ptr null, i32 1 - %t4902 = ptrtoint ptr %t4901 to i64 - %t4903 = zext i32 %t4900 to i64 - %t4904 = mul i64 %t4903, %t4902 - %t4905 = load ptr, ptr %t4894 - %t4906 = call ptr @realloc(ptr %t4905, i64 %t4904) - store ptr %t4906, ptr %t4894 - store i32 %t4900, ptr %t4893 + %t5643 = mul i32 %t5641, 2 + %t5644 = icmp eq i32 %t5641, 0 + %t5645 = select i1 %t5644, i32 8, i32 %t5643 + %t5646 = getelementptr ptr, ptr null, i32 1 + %t5647 = ptrtoint ptr %t5646 to i64 + %t5648 = zext i32 %t5645 to i64 + %t5649 = mul i64 %t5648, %t5647 + %t5650 = load ptr, ptr %t5639 + %t5651 = call ptr @realloc(ptr %t5650, i64 %t5649) + store ptr %t5651, ptr %t5639 + store i32 %t5645, ptr %t5638 br label %put1127 put1127: - %t4907 = load ptr, ptr %t4894 - %t4908 = getelementptr inbounds ptr, ptr %t4907, i32 %t4895 - store ptr @.str6673, ptr %t4908 - %t4909 = add i32 %t4895, 1 - store i32 %t4909, ptr %t4892 + %t5652 = load ptr, ptr %t5639 + %t5653 = getelementptr inbounds ptr, ptr %t5652, i32 %t5640 + store ptr @.str6983, ptr %t5653 + %t5654 = add i32 %t5640, 1 + store i32 %t5654, ptr %t5637 + %t5655 = load ptr, ptr %t387 + %t5656 = getelementptr inbounds %LSlice, ptr %t5655, i32 0, i32 1 + %t5657 = getelementptr inbounds %LSlice, ptr %t5655, i32 0, i32 2 + %t5658 = getelementptr inbounds %LSlice, ptr %t5655, i32 0, i32 0 + %t5659 = load i32, ptr %t5656 + %t5660 = load i32, ptr %t5657 + %t5661 = icmp sge i32 %t5659, %t5660 + br i1 %t5661, label %grow1128, label %put1129 +grow1128: + %t5662 = mul i32 %t5660, 2 + %t5663 = icmp eq i32 %t5660, 0 + %t5664 = select i1 %t5663, i32 8, i32 %t5662 + %t5665 = getelementptr ptr, ptr null, i32 1 + %t5666 = ptrtoint ptr %t5665 to i64 + %t5667 = zext i32 %t5664 to i64 + %t5668 = mul i64 %t5667, %t5666 + %t5669 = load ptr, ptr %t5658 + %t5670 = call ptr @realloc(ptr %t5669, i64 %t5668) + store ptr %t5670, ptr %t5658 + store i32 %t5664, ptr %t5657 + br label %put1129 +put1129: + %t5671 = load ptr, ptr %t5658 + %t5672 = getelementptr inbounds ptr, ptr %t5671, i32 %t5659 + store ptr @.str6984, ptr %t5672 + %t5673 = add i32 %t5659, 1 + store i32 %t5673, ptr %t5656 + %t5674 = load ptr, ptr %t387 + %t5675 = getelementptr inbounds %LSlice, ptr %t5674, i32 0, i32 1 + %t5676 = getelementptr inbounds %LSlice, ptr %t5674, i32 0, i32 2 + %t5677 = getelementptr inbounds %LSlice, ptr %t5674, i32 0, i32 0 + %t5678 = load i32, ptr %t5675 + %t5679 = load i32, ptr %t5676 + %t5680 = icmp sge i32 %t5678, %t5679 + br i1 %t5680, label %grow1130, label %put1131 +grow1130: + %t5681 = mul i32 %t5679, 2 + %t5682 = icmp eq i32 %t5679, 0 + %t5683 = select i1 %t5682, i32 8, i32 %t5681 + %t5684 = getelementptr ptr, ptr null, i32 1 + %t5685 = ptrtoint ptr %t5684 to i64 + %t5686 = zext i32 %t5683 to i64 + %t5687 = mul i64 %t5686, %t5685 + %t5688 = load ptr, ptr %t5677 + %t5689 = call ptr @realloc(ptr %t5688, i64 %t5687) + store ptr %t5689, ptr %t5677 + store i32 %t5683, ptr %t5676 + br label %put1131 +put1131: + %t5690 = load ptr, ptr %t5677 + %t5691 = getelementptr inbounds ptr, ptr %t5690, i32 %t5678 + store ptr @.str6985, ptr %t5691 + %t5692 = add i32 %t5678, 1 + store i32 %t5692, ptr %t5675 br label %ifend1123 ifend1123: - %t4910 = load ptr, ptr %t1 - %t4911 = call i32 @fn_str_eq(ptr %t4910, ptr @.str6674) - %t4912 = icmp ne i32 %t4911, 0 - br i1 %t4912, label %then1128, label %ifend1130 -then1128: - store ptr @.str6675, ptr %t330 - %t4913 = load ptr, ptr %t337 - %t4914 = getelementptr inbounds %LSlice, ptr %t4913, i32 0, i32 1 - %t4915 = getelementptr inbounds %LSlice, ptr %t4913, i32 0, i32 2 - %t4916 = getelementptr inbounds %LSlice, ptr %t4913, i32 0, i32 0 - %t4917 = load i32, ptr %t4914 - %t4918 = load i32, ptr %t4915 - %t4919 = icmp sge i32 %t4917, %t4918 - br i1 %t4919, label %grow1131, label %put1132 -grow1131: - %t4920 = mul i32 %t4918, 2 - %t4921 = icmp eq i32 %t4918, 0 - %t4922 = select i1 %t4921, i32 8, i32 %t4920 - %t4923 = getelementptr ptr, ptr null, i32 1 - %t4924 = ptrtoint ptr %t4923 to i64 - %t4925 = zext i32 %t4922 to i64 - %t4926 = mul i64 %t4925, %t4924 - %t4927 = load ptr, ptr %t4916 - %t4928 = call ptr @realloc(ptr %t4927, i64 %t4926) - store ptr %t4928, ptr %t4916 - store i32 %t4922, ptr %t4915 - br label %put1132 -put1132: - %t4929 = load ptr, ptr %t4916 - %t4930 = getelementptr inbounds ptr, ptr %t4929, i32 %t4917 - store ptr @.str6676, ptr %t4930 - %t4931 = add i32 %t4917, 1 - store i32 %t4931, ptr %t4914 - %t4932 = load ptr, ptr %t337 - %t4933 = getelementptr inbounds %LSlice, ptr %t4932, i32 0, i32 1 - %t4934 = getelementptr inbounds %LSlice, ptr %t4932, i32 0, i32 2 - %t4935 = getelementptr inbounds %LSlice, ptr %t4932, i32 0, i32 0 - %t4936 = load i32, ptr %t4933 - %t4937 = load i32, ptr %t4934 - %t4938 = icmp sge i32 %t4936, %t4937 - br i1 %t4938, label %grow1133, label %put1134 -grow1133: - %t4939 = mul i32 %t4937, 2 - %t4940 = icmp eq i32 %t4937, 0 - %t4941 = select i1 %t4940, i32 8, i32 %t4939 - %t4942 = getelementptr ptr, ptr null, i32 1 - %t4943 = ptrtoint ptr %t4942 to i64 - %t4944 = zext i32 %t4941 to i64 - %t4945 = mul i64 %t4944, %t4943 - %t4946 = load ptr, ptr %t4935 - %t4947 = call ptr @realloc(ptr %t4946, i64 %t4945) - store ptr %t4947, ptr %t4935 - store i32 %t4941, ptr %t4934 - br label %put1134 -put1134: - %t4948 = load ptr, ptr %t4935 - %t4949 = getelementptr inbounds ptr, ptr %t4948, i32 %t4936 - store ptr @.str6677, ptr %t4949 - %t4950 = add i32 %t4936, 1 - store i32 %t4950, ptr %t4933 - %t4951 = load ptr, ptr %t337 - %t4952 = getelementptr inbounds %LSlice, ptr %t4951, i32 0, i32 1 - %t4953 = getelementptr inbounds %LSlice, ptr %t4951, i32 0, i32 2 - %t4954 = getelementptr inbounds %LSlice, ptr %t4951, i32 0, i32 0 - %t4955 = load i32, ptr %t4952 - %t4956 = load i32, ptr %t4953 - %t4957 = icmp sge i32 %t4955, %t4956 - br i1 %t4957, label %grow1135, label %put1136 + %t5693 = load ptr, ptr %t1 + %t5694 = call i32 @fn_str_eq(ptr %t5693, ptr @.str6986) + %t5695 = icmp ne i32 %t5694, 0 + br i1 %t5695, label %then1132, label %ifend1134 +then1132: + store ptr @.str6987, ptr %t380 + %t5696 = load ptr, ptr %t387 + %t5697 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 1 + %t5698 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 2 + %t5699 = getelementptr inbounds %LSlice, ptr %t5696, i32 0, i32 0 + %t5700 = load i32, ptr %t5697 + %t5701 = load i32, ptr %t5698 + %t5702 = icmp sge i32 %t5700, %t5701 + br i1 %t5702, label %grow1135, label %put1136 grow1135: - %t4958 = mul i32 %t4956, 2 - %t4959 = icmp eq i32 %t4956, 0 - %t4960 = select i1 %t4959, i32 8, i32 %t4958 - %t4961 = getelementptr ptr, ptr null, i32 1 - %t4962 = ptrtoint ptr %t4961 to i64 - %t4963 = zext i32 %t4960 to i64 - %t4964 = mul i64 %t4963, %t4962 - %t4965 = load ptr, ptr %t4954 - %t4966 = call ptr @realloc(ptr %t4965, i64 %t4964) - store ptr %t4966, ptr %t4954 - store i32 %t4960, ptr %t4953 + %t5703 = mul i32 %t5701, 2 + %t5704 = icmp eq i32 %t5701, 0 + %t5705 = select i1 %t5704, i32 8, i32 %t5703 + %t5706 = getelementptr ptr, ptr null, i32 1 + %t5707 = ptrtoint ptr %t5706 to i64 + %t5708 = zext i32 %t5705 to i64 + %t5709 = mul i64 %t5708, %t5707 + %t5710 = load ptr, ptr %t5699 + %t5711 = call ptr @realloc(ptr %t5710, i64 %t5709) + store ptr %t5711, ptr %t5699 + store i32 %t5705, ptr %t5698 br label %put1136 put1136: - %t4967 = load ptr, ptr %t4954 - %t4968 = getelementptr inbounds ptr, ptr %t4967, i32 %t4955 - store ptr @.str6678, ptr %t4968 - %t4969 = add i32 %t4955, 1 - store i32 %t4969, ptr %t4952 - br label %ifend1130 -ifend1130: - %t4970 = load ptr, ptr %t1 - %t4971 = call i32 @fn_str_eq(ptr %t4970, ptr @.str6679) - %t4972 = icmp ne i32 %t4971, 0 - br i1 %t4972, label %then1137, label %ifend1139 + %t5712 = load ptr, ptr %t5699 + %t5713 = getelementptr inbounds ptr, ptr %t5712, i32 %t5700 + store ptr @.str6988, ptr %t5713 + %t5714 = add i32 %t5700, 1 + store i32 %t5714, ptr %t5697 + br label %ifend1134 +ifend1134: + br label %ifend919 +ifend919: + %t5715 = load ptr, ptr %t0 + %t5716 = call i32 @fn_str_eq(ptr %t5715, ptr @.str6989) + %t5717 = icmp ne i32 %t5716, 0 + br i1 %t5717, label %then1137, label %ifend1139 then1137: - store ptr @.str6680, ptr %t330 - %t4973 = load ptr, ptr %t337 - %t4974 = getelementptr inbounds %LSlice, ptr %t4973, i32 0, i32 1 - %t4975 = getelementptr inbounds %LSlice, ptr %t4973, i32 0, i32 2 - %t4976 = getelementptr inbounds %LSlice, ptr %t4973, i32 0, i32 0 - %t4977 = load i32, ptr %t4974 - %t4978 = load i32, ptr %t4975 - %t4979 = icmp sge i32 %t4977, %t4978 - br i1 %t4979, label %grow1140, label %put1141 -grow1140: - %t4980 = mul i32 %t4978, 2 - %t4981 = icmp eq i32 %t4978, 0 - %t4982 = select i1 %t4981, i32 8, i32 %t4980 - %t4983 = getelementptr ptr, ptr null, i32 1 - %t4984 = ptrtoint ptr %t4983 to i64 - %t4985 = zext i32 %t4982 to i64 - %t4986 = mul i64 %t4985, %t4984 - %t4987 = load ptr, ptr %t4976 - %t4988 = call ptr @realloc(ptr %t4987, i64 %t4986) - store ptr %t4988, ptr %t4976 - store i32 %t4982, ptr %t4975 - br label %put1141 -put1141: - %t4989 = load ptr, ptr %t4976 - %t4990 = getelementptr inbounds ptr, ptr %t4989, i32 %t4977 - store ptr @.str6681, ptr %t4990 - %t4991 = add i32 %t4977, 1 - store i32 %t4991, ptr %t4974 - %t4992 = load ptr, ptr %t337 - %t4993 = getelementptr inbounds %LSlice, ptr %t4992, i32 0, i32 1 - %t4994 = getelementptr inbounds %LSlice, ptr %t4992, i32 0, i32 2 - %t4995 = getelementptr inbounds %LSlice, ptr %t4992, i32 0, i32 0 - %t4996 = load i32, ptr %t4993 - %t4997 = load i32, ptr %t4994 - %t4998 = icmp sge i32 %t4996, %t4997 - br i1 %t4998, label %grow1142, label %put1143 -grow1142: - %t4999 = mul i32 %t4997, 2 - %t5000 = icmp eq i32 %t4997, 0 - %t5001 = select i1 %t5000, i32 8, i32 %t4999 - %t5002 = getelementptr ptr, ptr null, i32 1 - %t5003 = ptrtoint ptr %t5002 to i64 - %t5004 = zext i32 %t5001 to i64 - %t5005 = mul i64 %t5004, %t5003 - %t5006 = load ptr, ptr %t4995 - %t5007 = call ptr @realloc(ptr %t5006, i64 %t5005) - store ptr %t5007, ptr %t4995 - store i32 %t5001, ptr %t4994 - br label %put1143 -put1143: - %t5008 = load ptr, ptr %t4995 - %t5009 = getelementptr inbounds ptr, ptr %t5008, i32 %t4996 - store ptr @.str6682, ptr %t5009 - %t5010 = add i32 %t4996, 1 - store i32 %t5010, ptr %t4993 - %t5011 = load ptr, ptr %t337 - %t5012 = getelementptr inbounds %LSlice, ptr %t5011, i32 0, i32 1 - %t5013 = getelementptr inbounds %LSlice, ptr %t5011, i32 0, i32 2 - %t5014 = getelementptr inbounds %LSlice, ptr %t5011, i32 0, i32 0 - %t5015 = load i32, ptr %t5012 - %t5016 = load i32, ptr %t5013 - %t5017 = icmp sge i32 %t5015, %t5016 - br i1 %t5017, label %grow1144, label %put1145 -grow1144: - %t5018 = mul i32 %t5016, 2 - %t5019 = icmp eq i32 %t5016, 0 - %t5020 = select i1 %t5019, i32 8, i32 %t5018 - %t5021 = getelementptr ptr, ptr null, i32 1 - %t5022 = ptrtoint ptr %t5021 to i64 - %t5023 = zext i32 %t5020 to i64 - %t5024 = mul i64 %t5023, %t5022 - %t5025 = load ptr, ptr %t5014 - %t5026 = call ptr @realloc(ptr %t5025, i64 %t5024) - store ptr %t5026, ptr %t5014 - store i32 %t5020, ptr %t5013 - br label %put1145 -put1145: - %t5027 = load ptr, ptr %t5014 - %t5028 = getelementptr inbounds ptr, ptr %t5027, i32 %t5015 - store ptr @.str6683, ptr %t5028 - %t5029 = add i32 %t5015, 1 - store i32 %t5029, ptr %t5012 - br label %ifend1139 -ifend1139: - %t5030 = load ptr, ptr %t1 - %t5031 = call i32 @fn_str_eq(ptr %t5030, ptr @.str6684) - %t5032 = icmp ne i32 %t5031, 0 - br i1 %t5032, label %then1146, label %ifend1148 -then1146: - store ptr @.str6685, ptr %t330 - %t5033 = load ptr, ptr %t337 - %t5034 = getelementptr inbounds %LSlice, ptr %t5033, i32 0, i32 1 - %t5035 = getelementptr inbounds %LSlice, ptr %t5033, i32 0, i32 2 - %t5036 = getelementptr inbounds %LSlice, ptr %t5033, i32 0, i32 0 - %t5037 = load i32, ptr %t5034 - %t5038 = load i32, ptr %t5035 - %t5039 = icmp sge i32 %t5037, %t5038 - br i1 %t5039, label %grow1149, label %put1150 -grow1149: - %t5040 = mul i32 %t5038, 2 - %t5041 = icmp eq i32 %t5038, 0 - %t5042 = select i1 %t5041, i32 8, i32 %t5040 - %t5043 = getelementptr ptr, ptr null, i32 1 - %t5044 = ptrtoint ptr %t5043 to i64 - %t5045 = zext i32 %t5042 to i64 - %t5046 = mul i64 %t5045, %t5044 - %t5047 = load ptr, ptr %t5036 - %t5048 = call ptr @realloc(ptr %t5047, i64 %t5046) - store ptr %t5048, ptr %t5036 - store i32 %t5042, ptr %t5035 - br label %put1150 -put1150: - %t5049 = load ptr, ptr %t5036 - %t5050 = getelementptr inbounds ptr, ptr %t5049, i32 %t5037 - store ptr @.str6686, ptr %t5050 - %t5051 = add i32 %t5037, 1 - store i32 %t5051, ptr %t5034 - %t5052 = load ptr, ptr %t337 - %t5053 = getelementptr inbounds %LSlice, ptr %t5052, i32 0, i32 1 - %t5054 = getelementptr inbounds %LSlice, ptr %t5052, i32 0, i32 2 - %t5055 = getelementptr inbounds %LSlice, ptr %t5052, i32 0, i32 0 - %t5056 = load i32, ptr %t5053 - %t5057 = load i32, ptr %t5054 - %t5058 = icmp sge i32 %t5056, %t5057 - br i1 %t5058, label %grow1151, label %put1152 -grow1151: - %t5059 = mul i32 %t5057, 2 - %t5060 = icmp eq i32 %t5057, 0 - %t5061 = select i1 %t5060, i32 8, i32 %t5059 - %t5062 = getelementptr ptr, ptr null, i32 1 - %t5063 = ptrtoint ptr %t5062 to i64 - %t5064 = zext i32 %t5061 to i64 - %t5065 = mul i64 %t5064, %t5063 - %t5066 = load ptr, ptr %t5055 - %t5067 = call ptr @realloc(ptr %t5066, i64 %t5065) - store ptr %t5067, ptr %t5055 - store i32 %t5061, ptr %t5054 - br label %put1152 -put1152: - %t5068 = load ptr, ptr %t5055 - %t5069 = getelementptr inbounds ptr, ptr %t5068, i32 %t5056 - store ptr @.str6687, ptr %t5069 - %t5070 = add i32 %t5056, 1 - store i32 %t5070, ptr %t5053 - br label %ifend1148 -ifend1148: - %t5071 = load ptr, ptr %t1 - %t5072 = call i32 @fn_str_eq(ptr %t5071, ptr @.str6688) - %t5073 = icmp ne i32 %t5072, 0 - br i1 %t5073, label %then1153, label %ifend1155 -then1153: - store ptr @.str6689, ptr %t330 - %t5074 = load ptr, ptr %t337 - %t5075 = getelementptr inbounds %LSlice, ptr %t5074, i32 0, i32 1 - %t5076 = getelementptr inbounds %LSlice, ptr %t5074, i32 0, i32 2 - %t5077 = getelementptr inbounds %LSlice, ptr %t5074, i32 0, i32 0 - %t5078 = load i32, ptr %t5075 - %t5079 = load i32, ptr %t5076 - %t5080 = icmp sge i32 %t5078, %t5079 - br i1 %t5080, label %grow1156, label %put1157 -grow1156: - %t5081 = mul i32 %t5079, 2 - %t5082 = icmp eq i32 %t5079, 0 - %t5083 = select i1 %t5082, i32 8, i32 %t5081 - %t5084 = getelementptr ptr, ptr null, i32 1 - %t5085 = ptrtoint ptr %t5084 to i64 - %t5086 = zext i32 %t5083 to i64 - %t5087 = mul i64 %t5086, %t5085 - %t5088 = load ptr, ptr %t5077 - %t5089 = call ptr @realloc(ptr %t5088, i64 %t5087) - store ptr %t5089, ptr %t5077 - store i32 %t5083, ptr %t5076 - br label %put1157 -put1157: - %t5090 = load ptr, ptr %t5077 - %t5091 = getelementptr inbounds ptr, ptr %t5090, i32 %t5078 - store ptr @.str6690, ptr %t5091 - %t5092 = add i32 %t5078, 1 - store i32 %t5092, ptr %t5075 - br label %ifend1155 -ifend1155: - %t5093 = load ptr, ptr %t1 - %t5094 = call i32 @fn_str_eq(ptr %t5093, ptr @.str6691) - %t5095 = icmp ne i32 %t5094, 0 - br i1 %t5095, label %then1158, label %ifend1160 -then1158: - store ptr @.str6692, ptr %t330 - %t5096 = load ptr, ptr %t337 - %t5097 = getelementptr inbounds %LSlice, ptr %t5096, i32 0, i32 1 - %t5098 = getelementptr inbounds %LSlice, ptr %t5096, i32 0, i32 2 - %t5099 = getelementptr inbounds %LSlice, ptr %t5096, i32 0, i32 0 - %t5100 = load i32, ptr %t5097 - %t5101 = load i32, ptr %t5098 - %t5102 = icmp sge i32 %t5100, %t5101 - br i1 %t5102, label %grow1161, label %put1162 -grow1161: - %t5103 = mul i32 %t5101, 2 - %t5104 = icmp eq i32 %t5101, 0 - %t5105 = select i1 %t5104, i32 8, i32 %t5103 - %t5106 = getelementptr ptr, ptr null, i32 1 - %t5107 = ptrtoint ptr %t5106 to i64 - %t5108 = zext i32 %t5105 to i64 - %t5109 = mul i64 %t5108, %t5107 - %t5110 = load ptr, ptr %t5099 - %t5111 = call ptr @realloc(ptr %t5110, i64 %t5109) - store ptr %t5111, ptr %t5099 - store i32 %t5105, ptr %t5098 - br label %put1162 -put1162: - %t5112 = load ptr, ptr %t5099 - %t5113 = getelementptr inbounds ptr, ptr %t5112, i32 %t5100 - store ptr @.str6693, ptr %t5113 - %t5114 = add i32 %t5100, 1 - store i32 %t5114, ptr %t5097 - %t5115 = load ptr, ptr %t337 - %t5116 = getelementptr inbounds %LSlice, ptr %t5115, i32 0, i32 1 - %t5117 = getelementptr inbounds %LSlice, ptr %t5115, i32 0, i32 2 - %t5118 = getelementptr inbounds %LSlice, ptr %t5115, i32 0, i32 0 - %t5119 = load i32, ptr %t5116 - %t5120 = load i32, ptr %t5117 - %t5121 = icmp sge i32 %t5119, %t5120 - br i1 %t5121, label %grow1163, label %put1164 + %t5718 = load ptr, ptr %t1 + %t5719 = call i32 @fn_str_eq(ptr %t5718, ptr @.str6990) + %t5720 = icmp ne i32 %t5719, 0 + br i1 %t5720, label %then1140, label %ifend1142 +then1140: + store ptr @.str6991, ptr %t380 + %t5721 = load ptr, ptr %t387 + %t5722 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 1 + %t5723 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 2 + %t5724 = getelementptr inbounds %LSlice, ptr %t5721, i32 0, i32 0 + %t5725 = load i32, ptr %t5722 + %t5726 = load i32, ptr %t5723 + %t5727 = icmp sge i32 %t5725, %t5726 + br i1 %t5727, label %grow1143, label %put1144 +grow1143: + %t5728 = mul i32 %t5726, 2 + %t5729 = icmp eq i32 %t5726, 0 + %t5730 = select i1 %t5729, i32 8, i32 %t5728 + %t5731 = getelementptr ptr, ptr null, i32 1 + %t5732 = ptrtoint ptr %t5731 to i64 + %t5733 = zext i32 %t5730 to i64 + %t5734 = mul i64 %t5733, %t5732 + %t5735 = load ptr, ptr %t5724 + %t5736 = call ptr @realloc(ptr %t5735, i64 %t5734) + store ptr %t5736, ptr %t5724 + store i32 %t5730, ptr %t5723 + br label %put1144 +put1144: + %t5737 = load ptr, ptr %t5724 + %t5738 = getelementptr inbounds ptr, ptr %t5737, i32 %t5725 + store ptr @.str6992, ptr %t5738 + %t5739 = add i32 %t5725, 1 + store i32 %t5739, ptr %t5722 + br label %ifend1142 +ifend1142: + %t5740 = load ptr, ptr %t1 + %t5741 = call i32 @fn_str_eq(ptr %t5740, ptr @.str6993) + %t5742 = icmp ne i32 %t5741, 0 + br i1 %t5742, label %then1145, label %ifend1147 +then1145: + store ptr @.str6994, ptr %t380 + %t5743 = load ptr, ptr %t387 + %t5744 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 1 + %t5745 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 2 + %t5746 = getelementptr inbounds %LSlice, ptr %t5743, i32 0, i32 0 + %t5747 = load i32, ptr %t5744 + %t5748 = load i32, ptr %t5745 + %t5749 = icmp sge i32 %t5747, %t5748 + br i1 %t5749, label %grow1148, label %put1149 +grow1148: + %t5750 = mul i32 %t5748, 2 + %t5751 = icmp eq i32 %t5748, 0 + %t5752 = select i1 %t5751, i32 8, i32 %t5750 + %t5753 = getelementptr ptr, ptr null, i32 1 + %t5754 = ptrtoint ptr %t5753 to i64 + %t5755 = zext i32 %t5752 to i64 + %t5756 = mul i64 %t5755, %t5754 + %t5757 = load ptr, ptr %t5746 + %t5758 = call ptr @realloc(ptr %t5757, i64 %t5756) + store ptr %t5758, ptr %t5746 + store i32 %t5752, ptr %t5745 + br label %put1149 +put1149: + %t5759 = load ptr, ptr %t5746 + %t5760 = getelementptr inbounds ptr, ptr %t5759, i32 %t5747 + store ptr @.str6995, ptr %t5760 + %t5761 = add i32 %t5747, 1 + store i32 %t5761, ptr %t5744 + %t5762 = load ptr, ptr %t387 + %t5763 = getelementptr inbounds %LSlice, ptr %t5762, i32 0, i32 1 + %t5764 = getelementptr inbounds %LSlice, ptr %t5762, i32 0, i32 2 + %t5765 = getelementptr inbounds %LSlice, ptr %t5762, i32 0, i32 0 + %t5766 = load i32, ptr %t5763 + %t5767 = load i32, ptr %t5764 + %t5768 = icmp sge i32 %t5766, %t5767 + br i1 %t5768, label %grow1150, label %put1151 +grow1150: + %t5769 = mul i32 %t5767, 2 + %t5770 = icmp eq i32 %t5767, 0 + %t5771 = select i1 %t5770, i32 8, i32 %t5769 + %t5772 = getelementptr ptr, ptr null, i32 1 + %t5773 = ptrtoint ptr %t5772 to i64 + %t5774 = zext i32 %t5771 to i64 + %t5775 = mul i64 %t5774, %t5773 + %t5776 = load ptr, ptr %t5765 + %t5777 = call ptr @realloc(ptr %t5776, i64 %t5775) + store ptr %t5777, ptr %t5765 + store i32 %t5771, ptr %t5764 + br label %put1151 +put1151: + %t5778 = load ptr, ptr %t5765 + %t5779 = getelementptr inbounds ptr, ptr %t5778, i32 %t5766 + store ptr @.str6996, ptr %t5779 + %t5780 = add i32 %t5766, 1 + store i32 %t5780, ptr %t5763 + br label %ifend1147 +ifend1147: + %t5781 = load ptr, ptr %t1 + %t5782 = call i32 @fn_str_eq(ptr %t5781, ptr @.str6997) + %t5783 = icmp ne i32 %t5782, 0 + br i1 %t5783, label %then1152, label %ifend1154 +then1152: + store ptr @.str6998, ptr %t380 + %t5784 = load ptr, ptr %t387 + %t5785 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 1 + %t5786 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 2 + %t5787 = getelementptr inbounds %LSlice, ptr %t5784, i32 0, i32 0 + %t5788 = load i32, ptr %t5785 + %t5789 = load i32, ptr %t5786 + %t5790 = icmp sge i32 %t5788, %t5789 + br i1 %t5790, label %grow1155, label %put1156 +grow1155: + %t5791 = mul i32 %t5789, 2 + %t5792 = icmp eq i32 %t5789, 0 + %t5793 = select i1 %t5792, i32 8, i32 %t5791 + %t5794 = getelementptr ptr, ptr null, i32 1 + %t5795 = ptrtoint ptr %t5794 to i64 + %t5796 = zext i32 %t5793 to i64 + %t5797 = mul i64 %t5796, %t5795 + %t5798 = load ptr, ptr %t5787 + %t5799 = call ptr @realloc(ptr %t5798, i64 %t5797) + store ptr %t5799, ptr %t5787 + store i32 %t5793, ptr %t5786 + br label %put1156 +put1156: + %t5800 = load ptr, ptr %t5787 + %t5801 = getelementptr inbounds ptr, ptr %t5800, i32 %t5788 + store ptr @.str6999, ptr %t5801 + %t5802 = add i32 %t5788, 1 + store i32 %t5802, ptr %t5785 + br label %ifend1154 +ifend1154: + %t5803 = load ptr, ptr %t1 + %t5804 = call i32 @fn_str_eq(ptr %t5803, ptr @.str7000) + %t5805 = icmp ne i32 %t5804, 0 + br i1 %t5805, label %then1157, label %ifend1159 +then1157: + %t5806 = load ptr, ptr %t2 + %t5807 = call i32 @fn_first_arg_is_text(ptr %t5806) + %t5808 = icmp ne i32 %t5807, 0 + br i1 %t5808, label %then1160, label %else1161 +then1160: + store ptr @.str7001, ptr %t380 + %t5809 = load ptr, ptr %t387 + %t5810 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 1 + %t5811 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 2 + %t5812 = getelementptr inbounds %LSlice, ptr %t5809, i32 0, i32 0 + %t5813 = load i32, ptr %t5810 + %t5814 = load i32, ptr %t5811 + %t5815 = icmp sge i32 %t5813, %t5814 + br i1 %t5815, label %grow1163, label %put1164 grow1163: - %t5122 = mul i32 %t5120, 2 - %t5123 = icmp eq i32 %t5120, 0 - %t5124 = select i1 %t5123, i32 8, i32 %t5122 - %t5125 = getelementptr ptr, ptr null, i32 1 - %t5126 = ptrtoint ptr %t5125 to i64 - %t5127 = zext i32 %t5124 to i64 - %t5128 = mul i64 %t5127, %t5126 - %t5129 = load ptr, ptr %t5118 - %t5130 = call ptr @realloc(ptr %t5129, i64 %t5128) - store ptr %t5130, ptr %t5118 - store i32 %t5124, ptr %t5117 + %t5816 = mul i32 %t5814, 2 + %t5817 = icmp eq i32 %t5814, 0 + %t5818 = select i1 %t5817, i32 8, i32 %t5816 + %t5819 = getelementptr ptr, ptr null, i32 1 + %t5820 = ptrtoint ptr %t5819 to i64 + %t5821 = zext i32 %t5818 to i64 + %t5822 = mul i64 %t5821, %t5820 + %t5823 = load ptr, ptr %t5812 + %t5824 = call ptr @realloc(ptr %t5823, i64 %t5822) + store ptr %t5824, ptr %t5812 + store i32 %t5818, ptr %t5811 br label %put1164 put1164: - %t5131 = load ptr, ptr %t5118 - %t5132 = getelementptr inbounds ptr, ptr %t5131, i32 %t5119 - store ptr @.str6694, ptr %t5132 - %t5133 = add i32 %t5119, 1 - store i32 %t5133, ptr %t5116 - br label %ifend1160 -ifend1160: - %t5134 = load ptr, ptr %t1 - %t5135 = call i32 @fn_str_eq(ptr %t5134, ptr @.str6695) - %t5136 = icmp ne i32 %t5135, 0 - br i1 %t5136, label %then1165, label %ifend1167 -then1165: - store ptr @.str6696, ptr %t330 - %t5137 = load ptr, ptr %t337 - %t5138 = getelementptr inbounds %LSlice, ptr %t5137, i32 0, i32 1 - %t5139 = getelementptr inbounds %LSlice, ptr %t5137, i32 0, i32 2 - %t5140 = getelementptr inbounds %LSlice, ptr %t5137, i32 0, i32 0 - %t5141 = load i32, ptr %t5138 - %t5142 = load i32, ptr %t5139 - %t5143 = icmp sge i32 %t5141, %t5142 - br i1 %t5143, label %grow1168, label %put1169 -grow1168: - %t5144 = mul i32 %t5142, 2 - %t5145 = icmp eq i32 %t5142, 0 - %t5146 = select i1 %t5145, i32 8, i32 %t5144 - %t5147 = getelementptr ptr, ptr null, i32 1 - %t5148 = ptrtoint ptr %t5147 to i64 - %t5149 = zext i32 %t5146 to i64 - %t5150 = mul i64 %t5149, %t5148 - %t5151 = load ptr, ptr %t5140 - %t5152 = call ptr @realloc(ptr %t5151, i64 %t5150) - store ptr %t5152, ptr %t5140 - store i32 %t5146, ptr %t5139 - br label %put1169 -put1169: - %t5153 = load ptr, ptr %t5140 - %t5154 = getelementptr inbounds ptr, ptr %t5153, i32 %t5141 - store ptr @.str6697, ptr %t5154 - %t5155 = add i32 %t5141, 1 - store i32 %t5155, ptr %t5138 - %t5156 = load ptr, ptr %t337 - %t5157 = getelementptr inbounds %LSlice, ptr %t5156, i32 0, i32 1 - %t5158 = getelementptr inbounds %LSlice, ptr %t5156, i32 0, i32 2 - %t5159 = getelementptr inbounds %LSlice, ptr %t5156, i32 0, i32 0 - %t5160 = load i32, ptr %t5157 - %t5161 = load i32, ptr %t5158 - %t5162 = icmp sge i32 %t5160, %t5161 - br i1 %t5162, label %grow1170, label %put1171 + %t5825 = load ptr, ptr %t5812 + %t5826 = getelementptr inbounds ptr, ptr %t5825, i32 %t5813 + store ptr @.str7002, ptr %t5826 + %t5827 = add i32 %t5813, 1 + store i32 %t5827, ptr %t5810 + br label %ifend1162 +else1161: + store ptr @.str7003, ptr %t380 + %t5828 = load ptr, ptr %t387 + %t5829 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 1 + %t5830 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 2 + %t5831 = getelementptr inbounds %LSlice, ptr %t5828, i32 0, i32 0 + %t5832 = load i32, ptr %t5829 + %t5833 = load i32, ptr %t5830 + %t5834 = icmp sge i32 %t5832, %t5833 + br i1 %t5834, label %grow1165, label %put1166 +grow1165: + %t5835 = mul i32 %t5833, 2 + %t5836 = icmp eq i32 %t5833, 0 + %t5837 = select i1 %t5836, i32 8, i32 %t5835 + %t5838 = getelementptr ptr, ptr null, i32 1 + %t5839 = ptrtoint ptr %t5838 to i64 + %t5840 = zext i32 %t5837 to i64 + %t5841 = mul i64 %t5840, %t5839 + %t5842 = load ptr, ptr %t5831 + %t5843 = call ptr @realloc(ptr %t5842, i64 %t5841) + store ptr %t5843, ptr %t5831 + store i32 %t5837, ptr %t5830 + br label %put1166 +put1166: + %t5844 = load ptr, ptr %t5831 + %t5845 = getelementptr inbounds ptr, ptr %t5844, i32 %t5832 + store ptr @.str7004, ptr %t5845 + %t5846 = add i32 %t5832, 1 + store i32 %t5846, ptr %t5829 + br label %ifend1162 +ifend1162: + br label %ifend1159 +ifend1159: + %t5847 = load ptr, ptr %t1 + %t5848 = call i32 @fn_str_eq(ptr %t5847, ptr @.str7005) + %t5849 = icmp ne i32 %t5848, 0 + br i1 %t5849, label %then1167, label %ifend1169 +then1167: + store ptr @.str7006, ptr %t380 + %t5850 = load ptr, ptr %t387 + %t5851 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 1 + %t5852 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 2 + %t5853 = getelementptr inbounds %LSlice, ptr %t5850, i32 0, i32 0 + %t5854 = load i32, ptr %t5851 + %t5855 = load i32, ptr %t5852 + %t5856 = icmp sge i32 %t5854, %t5855 + br i1 %t5856, label %grow1170, label %put1171 grow1170: - %t5163 = mul i32 %t5161, 2 - %t5164 = icmp eq i32 %t5161, 0 - %t5165 = select i1 %t5164, i32 8, i32 %t5163 - %t5166 = getelementptr ptr, ptr null, i32 1 - %t5167 = ptrtoint ptr %t5166 to i64 - %t5168 = zext i32 %t5165 to i64 - %t5169 = mul i64 %t5168, %t5167 - %t5170 = load ptr, ptr %t5159 - %t5171 = call ptr @realloc(ptr %t5170, i64 %t5169) - store ptr %t5171, ptr %t5159 - store i32 %t5165, ptr %t5158 + %t5857 = mul i32 %t5855, 2 + %t5858 = icmp eq i32 %t5855, 0 + %t5859 = select i1 %t5858, i32 8, i32 %t5857 + %t5860 = getelementptr ptr, ptr null, i32 1 + %t5861 = ptrtoint ptr %t5860 to i64 + %t5862 = zext i32 %t5859 to i64 + %t5863 = mul i64 %t5862, %t5861 + %t5864 = load ptr, ptr %t5853 + %t5865 = call ptr @realloc(ptr %t5864, i64 %t5863) + store ptr %t5865, ptr %t5853 + store i32 %t5859, ptr %t5852 br label %put1171 put1171: - %t5172 = load ptr, ptr %t5159 - %t5173 = getelementptr inbounds ptr, ptr %t5172, i32 %t5160 - store ptr @.str6698, ptr %t5173 - %t5174 = add i32 %t5160, 1 - store i32 %t5174, ptr %t5157 - br label %ifend1167 -ifend1167: - %t5175 = load ptr, ptr %t1 - %t5176 = call i32 @fn_str_eq(ptr %t5175, ptr @.str6699) - %t5177 = icmp ne i32 %t5176, 0 - br i1 %t5177, label %then1172, label %ifend1174 + %t5866 = load ptr, ptr %t5853 + %t5867 = getelementptr inbounds ptr, ptr %t5866, i32 %t5854 + store ptr @.str7007, ptr %t5867 + %t5868 = add i32 %t5854, 1 + store i32 %t5868, ptr %t5851 + br label %ifend1169 +ifend1169: + %t5869 = load ptr, ptr %t1 + %t5870 = call i32 @fn_str_eq(ptr %t5869, ptr @.str7008) + %t5871 = icmp ne i32 %t5870, 0 + br i1 %t5871, label %then1172, label %ifend1174 then1172: - store ptr @.str6700, ptr %t330 - %t5178 = load ptr, ptr %t337 - %t5179 = getelementptr inbounds %LSlice, ptr %t5178, i32 0, i32 1 - %t5180 = getelementptr inbounds %LSlice, ptr %t5178, i32 0, i32 2 - %t5181 = getelementptr inbounds %LSlice, ptr %t5178, i32 0, i32 0 - %t5182 = load i32, ptr %t5179 - %t5183 = load i32, ptr %t5180 - %t5184 = icmp sge i32 %t5182, %t5183 - br i1 %t5184, label %grow1175, label %put1176 -grow1175: - %t5185 = mul i32 %t5183, 2 - %t5186 = icmp eq i32 %t5183, 0 - %t5187 = select i1 %t5186, i32 8, i32 %t5185 - %t5188 = getelementptr ptr, ptr null, i32 1 - %t5189 = ptrtoint ptr %t5188 to i64 - %t5190 = zext i32 %t5187 to i64 - %t5191 = mul i64 %t5190, %t5189 - %t5192 = load ptr, ptr %t5181 - %t5193 = call ptr @realloc(ptr %t5192, i64 %t5191) - store ptr %t5193, ptr %t5181 - store i32 %t5187, ptr %t5180 - br label %put1176 -put1176: - %t5194 = load ptr, ptr %t5181 - %t5195 = getelementptr inbounds ptr, ptr %t5194, i32 %t5182 - store ptr @.str6701, ptr %t5195 - %t5196 = add i32 %t5182, 1 - store i32 %t5196, ptr %t5179 + %t5872 = load ptr, ptr %t2 + %t5873 = call i32 @fn_first_arg_is_text(ptr %t5872) + %t5874 = icmp ne i32 %t5873, 0 + br i1 %t5874, label %then1175, label %else1176 +then1175: + store ptr @.str7009, ptr %t380 + %t5875 = load ptr, ptr %t387 + %t5876 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 1 + %t5877 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 2 + %t5878 = getelementptr inbounds %LSlice, ptr %t5875, i32 0, i32 0 + %t5879 = load i32, ptr %t5876 + %t5880 = load i32, ptr %t5877 + %t5881 = icmp sge i32 %t5879, %t5880 + br i1 %t5881, label %grow1178, label %put1179 +grow1178: + %t5882 = mul i32 %t5880, 2 + %t5883 = icmp eq i32 %t5880, 0 + %t5884 = select i1 %t5883, i32 8, i32 %t5882 + %t5885 = getelementptr ptr, ptr null, i32 1 + %t5886 = ptrtoint ptr %t5885 to i64 + %t5887 = zext i32 %t5884 to i64 + %t5888 = mul i64 %t5887, %t5886 + %t5889 = load ptr, ptr %t5878 + %t5890 = call ptr @realloc(ptr %t5889, i64 %t5888) + store ptr %t5890, ptr %t5878 + store i32 %t5884, ptr %t5877 + br label %put1179 +put1179: + %t5891 = load ptr, ptr %t5878 + %t5892 = getelementptr inbounds ptr, ptr %t5891, i32 %t5879 + store ptr @.str7010, ptr %t5892 + %t5893 = add i32 %t5879, 1 + store i32 %t5893, ptr %t5876 + br label %ifend1177 +else1176: + store ptr @.str7011, ptr %t380 + %t5894 = load ptr, ptr %t387 + %t5895 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 1 + %t5896 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 2 + %t5897 = getelementptr inbounds %LSlice, ptr %t5894, i32 0, i32 0 + %t5898 = load i32, ptr %t5895 + %t5899 = load i32, ptr %t5896 + %t5900 = icmp sge i32 %t5898, %t5899 + br i1 %t5900, label %grow1180, label %put1181 +grow1180: + %t5901 = mul i32 %t5899, 2 + %t5902 = icmp eq i32 %t5899, 0 + %t5903 = select i1 %t5902, i32 8, i32 %t5901 + %t5904 = getelementptr ptr, ptr null, i32 1 + %t5905 = ptrtoint ptr %t5904 to i64 + %t5906 = zext i32 %t5903 to i64 + %t5907 = mul i64 %t5906, %t5905 + %t5908 = load ptr, ptr %t5897 + %t5909 = call ptr @realloc(ptr %t5908, i64 %t5907) + store ptr %t5909, ptr %t5897 + store i32 %t5903, ptr %t5896 + br label %put1181 +put1181: + %t5910 = load ptr, ptr %t5897 + %t5911 = getelementptr inbounds ptr, ptr %t5910, i32 %t5898 + store ptr @.str7012, ptr %t5911 + %t5912 = add i32 %t5898, 1 + store i32 %t5912, ptr %t5895 + br label %ifend1177 +ifend1177: br label %ifend1174 ifend1174: - br label %ifend1089 -ifend1089: - %t5197 = load ptr, ptr %t0 - %t5198 = call i32 @fn_str_eq(ptr %t5197, ptr @.str6702) - %t5199 = icmp ne i32 %t5198, 0 - br i1 %t5199, label %then1177, label %ifend1179 -then1177: - %t5200 = load ptr, ptr %t1 - %t5201 = call i32 @fn_str_eq(ptr %t5200, ptr @.str6703) - %t5202 = icmp ne i32 %t5201, 0 - br i1 %t5202, label %then1180, label %ifend1182 -then1180: - store ptr @.str6704, ptr %t330 - %t5203 = load ptr, ptr %t337 - %t5204 = getelementptr inbounds %LSlice, ptr %t5203, i32 0, i32 1 - %t5205 = getelementptr inbounds %LSlice, ptr %t5203, i32 0, i32 2 - %t5206 = getelementptr inbounds %LSlice, ptr %t5203, i32 0, i32 0 - %t5207 = load i32, ptr %t5204 - %t5208 = load i32, ptr %t5205 - %t5209 = icmp sge i32 %t5207, %t5208 - br i1 %t5209, label %grow1183, label %put1184 -grow1183: - %t5210 = mul i32 %t5208, 2 - %t5211 = icmp eq i32 %t5208, 0 - %t5212 = select i1 %t5211, i32 8, i32 %t5210 - %t5213 = getelementptr ptr, ptr null, i32 1 - %t5214 = ptrtoint ptr %t5213 to i64 - %t5215 = zext i32 %t5212 to i64 - %t5216 = mul i64 %t5215, %t5214 - %t5217 = load ptr, ptr %t5206 - %t5218 = call ptr @realloc(ptr %t5217, i64 %t5216) - store ptr %t5218, ptr %t5206 - store i32 %t5212, ptr %t5205 - br label %put1184 -put1184: - %t5219 = load ptr, ptr %t5206 - %t5220 = getelementptr inbounds ptr, ptr %t5219, i32 %t5207 - store ptr @.str6705, ptr %t5220 - %t5221 = add i32 %t5207, 1 - store i32 %t5221, ptr %t5204 - br label %ifend1182 -ifend1182: - %t5222 = load ptr, ptr %t1 - %t5223 = call i32 @fn_str_eq(ptr %t5222, ptr @.str6706) - %t5224 = icmp ne i32 %t5223, 0 - br i1 %t5224, label %then1185, label %ifend1187 -then1185: - store ptr @.str6707, ptr %t330 - %t5225 = load ptr, ptr %t337 - %t5226 = getelementptr inbounds %LSlice, ptr %t5225, i32 0, i32 1 - %t5227 = getelementptr inbounds %LSlice, ptr %t5225, i32 0, i32 2 - %t5228 = getelementptr inbounds %LSlice, ptr %t5225, i32 0, i32 0 - %t5229 = load i32, ptr %t5226 - %t5230 = load i32, ptr %t5227 - %t5231 = icmp sge i32 %t5229, %t5230 - br i1 %t5231, label %grow1188, label %put1189 -grow1188: - %t5232 = mul i32 %t5230, 2 - %t5233 = icmp eq i32 %t5230, 0 - %t5234 = select i1 %t5233, i32 8, i32 %t5232 - %t5235 = getelementptr ptr, ptr null, i32 1 - %t5236 = ptrtoint ptr %t5235 to i64 - %t5237 = zext i32 %t5234 to i64 - %t5238 = mul i64 %t5237, %t5236 - %t5239 = load ptr, ptr %t5228 - %t5240 = call ptr @realloc(ptr %t5239, i64 %t5238) - store ptr %t5240, ptr %t5228 - store i32 %t5234, ptr %t5227 - br label %put1189 -put1189: - %t5241 = load ptr, ptr %t5228 - %t5242 = getelementptr inbounds ptr, ptr %t5241, i32 %t5229 - store ptr @.str6708, ptr %t5242 - %t5243 = add i32 %t5229, 1 - store i32 %t5243, ptr %t5226 - br label %ifend1187 -ifend1187: - %t5244 = load ptr, ptr %t1 - %t5245 = call i32 @fn_str_eq(ptr %t5244, ptr @.str6709) - %t5246 = icmp ne i32 %t5245, 0 - br i1 %t5246, label %then1190, label %ifend1192 + %t5913 = load ptr, ptr %t1 + %t5914 = call i32 @fn_str_eq(ptr %t5913, ptr @.str7013) + %t5915 = icmp ne i32 %t5914, 0 + br i1 %t5915, label %then1182, label %ifend1184 +then1182: + store ptr @.str7014, ptr %t380 + %t5916 = load ptr, ptr %t387 + %t5917 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 1 + %t5918 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 2 + %t5919 = getelementptr inbounds %LSlice, ptr %t5916, i32 0, i32 0 + %t5920 = load i32, ptr %t5917 + %t5921 = load i32, ptr %t5918 + %t5922 = icmp sge i32 %t5920, %t5921 + br i1 %t5922, label %grow1185, label %put1186 +grow1185: + %t5923 = mul i32 %t5921, 2 + %t5924 = icmp eq i32 %t5921, 0 + %t5925 = select i1 %t5924, i32 8, i32 %t5923 + %t5926 = getelementptr ptr, ptr null, i32 1 + %t5927 = ptrtoint ptr %t5926 to i64 + %t5928 = zext i32 %t5925 to i64 + %t5929 = mul i64 %t5928, %t5927 + %t5930 = load ptr, ptr %t5919 + %t5931 = call ptr @realloc(ptr %t5930, i64 %t5929) + store ptr %t5931, ptr %t5919 + store i32 %t5925, ptr %t5918 + br label %put1186 +put1186: + %t5932 = load ptr, ptr %t5919 + %t5933 = getelementptr inbounds ptr, ptr %t5932, i32 %t5920 + store ptr @.str7015, ptr %t5933 + %t5934 = add i32 %t5920, 1 + store i32 %t5934, ptr %t5917 + br label %ifend1184 +ifend1184: + %t5935 = load ptr, ptr %t1 + %t5936 = call i32 @fn_str_eq(ptr %t5935, ptr @.str7016) + %t5937 = icmp ne i32 %t5936, 0 + br i1 %t5937, label %then1187, label %ifend1189 +then1187: + store ptr @.str7017, ptr %t380 + br label %ifend1189 +ifend1189: + %t5938 = load ptr, ptr %t1 + %t5939 = call i32 @fn_str_eq(ptr %t5938, ptr @.str7018) + %t5940 = icmp ne i32 %t5939, 0 + br i1 %t5940, label %then1190, label %ifend1192 then1190: - store ptr @.str6710, ptr %t330 - %t5247 = load ptr, ptr %t337 - %t5248 = getelementptr inbounds %LSlice, ptr %t5247, i32 0, i32 1 - %t5249 = getelementptr inbounds %LSlice, ptr %t5247, i32 0, i32 2 - %t5250 = getelementptr inbounds %LSlice, ptr %t5247, i32 0, i32 0 - %t5251 = load i32, ptr %t5248 - %t5252 = load i32, ptr %t5249 - %t5253 = icmp sge i32 %t5251, %t5252 - br i1 %t5253, label %grow1193, label %put1194 -grow1193: - %t5254 = mul i32 %t5252, 2 - %t5255 = icmp eq i32 %t5252, 0 - %t5256 = select i1 %t5255, i32 8, i32 %t5254 - %t5257 = getelementptr ptr, ptr null, i32 1 - %t5258 = ptrtoint ptr %t5257 to i64 - %t5259 = zext i32 %t5256 to i64 - %t5260 = mul i64 %t5259, %t5258 - %t5261 = load ptr, ptr %t5250 - %t5262 = call ptr @realloc(ptr %t5261, i64 %t5260) - store ptr %t5262, ptr %t5250 - store i32 %t5256, ptr %t5249 - br label %put1194 -put1194: - %t5263 = load ptr, ptr %t5250 - %t5264 = getelementptr inbounds ptr, ptr %t5263, i32 %t5251 - store ptr @.str6711, ptr %t5264 - %t5265 = add i32 %t5251, 1 - store i32 %t5265, ptr %t5248 - %t5266 = load ptr, ptr %t337 - %t5267 = getelementptr inbounds %LSlice, ptr %t5266, i32 0, i32 1 - %t5268 = getelementptr inbounds %LSlice, ptr %t5266, i32 0, i32 2 - %t5269 = getelementptr inbounds %LSlice, ptr %t5266, i32 0, i32 0 - %t5270 = load i32, ptr %t5267 - %t5271 = load i32, ptr %t5268 - %t5272 = icmp sge i32 %t5270, %t5271 - br i1 %t5272, label %grow1195, label %put1196 -grow1195: - %t5273 = mul i32 %t5271, 2 - %t5274 = icmp eq i32 %t5271, 0 - %t5275 = select i1 %t5274, i32 8, i32 %t5273 - %t5276 = getelementptr ptr, ptr null, i32 1 - %t5277 = ptrtoint ptr %t5276 to i64 - %t5278 = zext i32 %t5275 to i64 - %t5279 = mul i64 %t5278, %t5277 - %t5280 = load ptr, ptr %t5269 - %t5281 = call ptr @realloc(ptr %t5280, i64 %t5279) - store ptr %t5281, ptr %t5269 - store i32 %t5275, ptr %t5268 - br label %put1196 -put1196: - %t5282 = load ptr, ptr %t5269 - %t5283 = getelementptr inbounds ptr, ptr %t5282, i32 %t5270 - store ptr @.str6712, ptr %t5283 - %t5284 = add i32 %t5270, 1 - store i32 %t5284, ptr %t5267 + store ptr @.str7019, ptr %t380 br label %ifend1192 ifend1192: - %t5285 = load ptr, ptr %t1 - %t5286 = call i32 @fn_str_eq(ptr %t5285, ptr @.str6713) - %t5287 = icmp ne i32 %t5286, 0 - br i1 %t5287, label %then1197, label %ifend1199 -then1197: - store ptr @.str6714, ptr %t330 - %t5288 = load ptr, ptr %t337 - %t5289 = getelementptr inbounds %LSlice, ptr %t5288, i32 0, i32 1 - %t5290 = getelementptr inbounds %LSlice, ptr %t5288, i32 0, i32 2 - %t5291 = getelementptr inbounds %LSlice, ptr %t5288, i32 0, i32 0 - %t5292 = load i32, ptr %t5289 - %t5293 = load i32, ptr %t5290 - %t5294 = icmp sge i32 %t5292, %t5293 - br i1 %t5294, label %grow1200, label %put1201 -grow1200: - %t5295 = mul i32 %t5293, 2 - %t5296 = icmp eq i32 %t5293, 0 - %t5297 = select i1 %t5296, i32 8, i32 %t5295 - %t5298 = getelementptr ptr, ptr null, i32 1 - %t5299 = ptrtoint ptr %t5298 to i64 - %t5300 = zext i32 %t5297 to i64 - %t5301 = mul i64 %t5300, %t5299 - %t5302 = load ptr, ptr %t5291 - %t5303 = call ptr @realloc(ptr %t5302, i64 %t5301) - store ptr %t5303, ptr %t5291 - store i32 %t5297, ptr %t5290 - br label %put1201 -put1201: - %t5304 = load ptr, ptr %t5291 - %t5305 = getelementptr inbounds ptr, ptr %t5304, i32 %t5292 - store ptr @.str6715, ptr %t5305 - %t5306 = add i32 %t5292, 1 - store i32 %t5306, ptr %t5289 - %t5307 = load ptr, ptr %t337 - %t5308 = getelementptr inbounds %LSlice, ptr %t5307, i32 0, i32 1 - %t5309 = getelementptr inbounds %LSlice, ptr %t5307, i32 0, i32 2 - %t5310 = getelementptr inbounds %LSlice, ptr %t5307, i32 0, i32 0 - %t5311 = load i32, ptr %t5308 - %t5312 = load i32, ptr %t5309 - %t5313 = icmp sge i32 %t5311, %t5312 - br i1 %t5313, label %grow1202, label %put1203 -grow1202: - %t5314 = mul i32 %t5312, 2 - %t5315 = icmp eq i32 %t5312, 0 - %t5316 = select i1 %t5315, i32 8, i32 %t5314 - %t5317 = getelementptr ptr, ptr null, i32 1 - %t5318 = ptrtoint ptr %t5317 to i64 - %t5319 = zext i32 %t5316 to i64 - %t5320 = mul i64 %t5319, %t5318 - %t5321 = load ptr, ptr %t5310 - %t5322 = call ptr @realloc(ptr %t5321, i64 %t5320) - store ptr %t5322, ptr %t5310 - store i32 %t5316, ptr %t5309 - br label %put1203 -put1203: - %t5323 = load ptr, ptr %t5310 - %t5324 = getelementptr inbounds ptr, ptr %t5323, i32 %t5311 - store ptr @.str6716, ptr %t5324 - %t5325 = add i32 %t5311, 1 - store i32 %t5325, ptr %t5308 - br label %ifend1199 -ifend1199: - %t5326 = load ptr, ptr %t1 - %t5327 = call i32 @fn_str_eq(ptr %t5326, ptr @.str6717) - %t5328 = icmp ne i32 %t5327, 0 - br i1 %t5328, label %then1204, label %ifend1206 -then1204: - store ptr @.str6718, ptr %t330 - %t5329 = load ptr, ptr %t337 - %t5330 = getelementptr inbounds %LSlice, ptr %t5329, i32 0, i32 1 - %t5331 = getelementptr inbounds %LSlice, ptr %t5329, i32 0, i32 2 - %t5332 = getelementptr inbounds %LSlice, ptr %t5329, i32 0, i32 0 - %t5333 = load i32, ptr %t5330 - %t5334 = load i32, ptr %t5331 - %t5335 = icmp sge i32 %t5333, %t5334 - br i1 %t5335, label %grow1207, label %put1208 -grow1207: - %t5336 = mul i32 %t5334, 2 - %t5337 = icmp eq i32 %t5334, 0 - %t5338 = select i1 %t5337, i32 8, i32 %t5336 - %t5339 = getelementptr ptr, ptr null, i32 1 - %t5340 = ptrtoint ptr %t5339 to i64 - %t5341 = zext i32 %t5338 to i64 - %t5342 = mul i64 %t5341, %t5340 - %t5343 = load ptr, ptr %t5332 - %t5344 = call ptr @realloc(ptr %t5343, i64 %t5342) - store ptr %t5344, ptr %t5332 - store i32 %t5338, ptr %t5331 - br label %put1208 -put1208: - %t5345 = load ptr, ptr %t5332 - %t5346 = getelementptr inbounds ptr, ptr %t5345, i32 %t5333 - store ptr @.str6719, ptr %t5346 - %t5347 = add i32 %t5333, 1 - store i32 %t5347, ptr %t5330 - %t5348 = load ptr, ptr %t337 - %t5349 = getelementptr inbounds %LSlice, ptr %t5348, i32 0, i32 1 - %t5350 = getelementptr inbounds %LSlice, ptr %t5348, i32 0, i32 2 - %t5351 = getelementptr inbounds %LSlice, ptr %t5348, i32 0, i32 0 - %t5352 = load i32, ptr %t5349 - %t5353 = load i32, ptr %t5350 - %t5354 = icmp sge i32 %t5352, %t5353 - br i1 %t5354, label %grow1209, label %put1210 -grow1209: - %t5355 = mul i32 %t5353, 2 - %t5356 = icmp eq i32 %t5353, 0 - %t5357 = select i1 %t5356, i32 8, i32 %t5355 - %t5358 = getelementptr ptr, ptr null, i32 1 - %t5359 = ptrtoint ptr %t5358 to i64 - %t5360 = zext i32 %t5357 to i64 - %t5361 = mul i64 %t5360, %t5359 - %t5362 = load ptr, ptr %t5351 - %t5363 = call ptr @realloc(ptr %t5362, i64 %t5361) - store ptr %t5363, ptr %t5351 - store i32 %t5357, ptr %t5350 - br label %put1210 -put1210: - %t5364 = load ptr, ptr %t5351 - %t5365 = getelementptr inbounds ptr, ptr %t5364, i32 %t5352 - store ptr @.str6720, ptr %t5365 - %t5366 = add i32 %t5352, 1 - store i32 %t5366, ptr %t5349 - br label %ifend1206 -ifend1206: - %t5367 = load ptr, ptr %t1 - %t5368 = call i32 @fn_str_eq(ptr %t5367, ptr @.str6721) - %t5369 = icmp ne i32 %t5368, 0 - br i1 %t5369, label %then1211, label %ifend1213 + %t5941 = load ptr, ptr %t1 + %t5942 = call i32 @fn_str_eq(ptr %t5941, ptr @.str7020) + %t5943 = icmp ne i32 %t5942, 0 + br i1 %t5943, label %then1193, label %ifend1195 +then1193: + store ptr @.str7021, ptr %t380 + %t5944 = load ptr, ptr %t387 + %t5945 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 1 + %t5946 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 2 + %t5947 = getelementptr inbounds %LSlice, ptr %t5944, i32 0, i32 0 + %t5948 = load i32, ptr %t5945 + %t5949 = load i32, ptr %t5946 + %t5950 = icmp sge i32 %t5948, %t5949 + br i1 %t5950, label %grow1196, label %put1197 +grow1196: + %t5951 = mul i32 %t5949, 2 + %t5952 = icmp eq i32 %t5949, 0 + %t5953 = select i1 %t5952, i32 8, i32 %t5951 + %t5954 = getelementptr ptr, ptr null, i32 1 + %t5955 = ptrtoint ptr %t5954 to i64 + %t5956 = zext i32 %t5953 to i64 + %t5957 = mul i64 %t5956, %t5955 + %t5958 = load ptr, ptr %t5947 + %t5959 = call ptr @realloc(ptr %t5958, i64 %t5957) + store ptr %t5959, ptr %t5947 + store i32 %t5953, ptr %t5946 + br label %put1197 +put1197: + %t5960 = load ptr, ptr %t5947 + %t5961 = getelementptr inbounds ptr, ptr %t5960, i32 %t5948 + store ptr @.str7022, ptr %t5961 + %t5962 = add i32 %t5948, 1 + store i32 %t5962, ptr %t5945 + br label %ifend1195 +ifend1195: + %t5963 = load ptr, ptr %t1 + %t5964 = call i32 @fn_str_eq(ptr %t5963, ptr @.str7023) + %t5965 = icmp ne i32 %t5964, 0 + br i1 %t5965, label %then1198, label %ifend1200 +then1198: + store ptr @.str7024, ptr %t380 + %t5966 = load ptr, ptr %t387 + %t5967 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 1 + %t5968 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 2 + %t5969 = getelementptr inbounds %LSlice, ptr %t5966, i32 0, i32 0 + %t5970 = load i32, ptr %t5967 + %t5971 = load i32, ptr %t5968 + %t5972 = icmp sge i32 %t5970, %t5971 + br i1 %t5972, label %grow1201, label %put1202 +grow1201: + %t5973 = mul i32 %t5971, 2 + %t5974 = icmp eq i32 %t5971, 0 + %t5975 = select i1 %t5974, i32 8, i32 %t5973 + %t5976 = getelementptr ptr, ptr null, i32 1 + %t5977 = ptrtoint ptr %t5976 to i64 + %t5978 = zext i32 %t5975 to i64 + %t5979 = mul i64 %t5978, %t5977 + %t5980 = load ptr, ptr %t5969 + %t5981 = call ptr @realloc(ptr %t5980, i64 %t5979) + store ptr %t5981, ptr %t5969 + store i32 %t5975, ptr %t5968 + br label %put1202 +put1202: + %t5982 = load ptr, ptr %t5969 + %t5983 = getelementptr inbounds ptr, ptr %t5982, i32 %t5970 + store ptr @.str7025, ptr %t5983 + %t5984 = add i32 %t5970, 1 + store i32 %t5984, ptr %t5967 + br label %ifend1200 +ifend1200: + %t5985 = load ptr, ptr %t1 + %t5986 = call i32 @fn_str_eq(ptr %t5985, ptr @.str7026) + %t5987 = icmp ne i32 %t5986, 0 + br i1 %t5987, label %then1203, label %ifend1205 +then1203: + store ptr @.str7027, ptr %t380 + %t5988 = load ptr, ptr %t387 + %t5989 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 1 + %t5990 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 2 + %t5991 = getelementptr inbounds %LSlice, ptr %t5988, i32 0, i32 0 + %t5992 = load i32, ptr %t5989 + %t5993 = load i32, ptr %t5990 + %t5994 = icmp sge i32 %t5992, %t5993 + br i1 %t5994, label %grow1206, label %put1207 +grow1206: + %t5995 = mul i32 %t5993, 2 + %t5996 = icmp eq i32 %t5993, 0 + %t5997 = select i1 %t5996, i32 8, i32 %t5995 + %t5998 = getelementptr ptr, ptr null, i32 1 + %t5999 = ptrtoint ptr %t5998 to i64 + %t6000 = zext i32 %t5997 to i64 + %t6001 = mul i64 %t6000, %t5999 + %t6002 = load ptr, ptr %t5991 + %t6003 = call ptr @realloc(ptr %t6002, i64 %t6001) + store ptr %t6003, ptr %t5991 + store i32 %t5997, ptr %t5990 + br label %put1207 +put1207: + %t6004 = load ptr, ptr %t5991 + %t6005 = getelementptr inbounds ptr, ptr %t6004, i32 %t5992 + store ptr @.str7028, ptr %t6005 + %t6006 = add i32 %t5992, 1 + store i32 %t6006, ptr %t5989 + br label %ifend1205 +ifend1205: + br label %ifend1139 +ifend1139: + %t6007 = load ptr, ptr %t0 + %t6008 = call i32 @fn_str_eq(ptr %t6007, ptr @.str7029) + %t6009 = icmp ne i32 %t6008, 0 + br i1 %t6009, label %then1208, label %ifend1210 +then1208: + %t6010 = load ptr, ptr %t1 + %t6011 = call i32 @fn_str_eq(ptr %t6010, ptr @.str7030) + %t6012 = icmp ne i32 %t6011, 0 + br i1 %t6012, label %then1211, label %ifend1213 then1211: - store ptr @.str6722, ptr %t330 - %t5370 = load ptr, ptr %t337 - %t5371 = getelementptr inbounds %LSlice, ptr %t5370, i32 0, i32 1 - %t5372 = getelementptr inbounds %LSlice, ptr %t5370, i32 0, i32 2 - %t5373 = getelementptr inbounds %LSlice, ptr %t5370, i32 0, i32 0 - %t5374 = load i32, ptr %t5371 - %t5375 = load i32, ptr %t5372 - %t5376 = icmp sge i32 %t5374, %t5375 - br i1 %t5376, label %grow1214, label %put1215 + store ptr @.str7031, ptr %t380 + %t6013 = load ptr, ptr %t387 + %t6014 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 1 + %t6015 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 2 + %t6016 = getelementptr inbounds %LSlice, ptr %t6013, i32 0, i32 0 + %t6017 = load i32, ptr %t6014 + %t6018 = load i32, ptr %t6015 + %t6019 = icmp sge i32 %t6017, %t6018 + br i1 %t6019, label %grow1214, label %put1215 grow1214: - %t5377 = mul i32 %t5375, 2 - %t5378 = icmp eq i32 %t5375, 0 - %t5379 = select i1 %t5378, i32 8, i32 %t5377 - %t5380 = getelementptr ptr, ptr null, i32 1 - %t5381 = ptrtoint ptr %t5380 to i64 - %t5382 = zext i32 %t5379 to i64 - %t5383 = mul i64 %t5382, %t5381 - %t5384 = load ptr, ptr %t5373 - %t5385 = call ptr @realloc(ptr %t5384, i64 %t5383) - store ptr %t5385, ptr %t5373 - store i32 %t5379, ptr %t5372 + %t6020 = mul i32 %t6018, 2 + %t6021 = icmp eq i32 %t6018, 0 + %t6022 = select i1 %t6021, i32 8, i32 %t6020 + %t6023 = getelementptr ptr, ptr null, i32 1 + %t6024 = ptrtoint ptr %t6023 to i64 + %t6025 = zext i32 %t6022 to i64 + %t6026 = mul i64 %t6025, %t6024 + %t6027 = load ptr, ptr %t6016 + %t6028 = call ptr @realloc(ptr %t6027, i64 %t6026) + store ptr %t6028, ptr %t6016 + store i32 %t6022, ptr %t6015 br label %put1215 put1215: - %t5386 = load ptr, ptr %t5373 - %t5387 = getelementptr inbounds ptr, ptr %t5386, i32 %t5374 - store ptr @.str6723, ptr %t5387 - %t5388 = add i32 %t5374, 1 - store i32 %t5388, ptr %t5371 + %t6029 = load ptr, ptr %t6016 + %t6030 = getelementptr inbounds ptr, ptr %t6029, i32 %t6017 + store ptr @.str7032, ptr %t6030 + %t6031 = add i32 %t6017, 1 + store i32 %t6031, ptr %t6014 br label %ifend1213 ifend1213: - %t5389 = load ptr, ptr %t1 - %t5390 = call i32 @fn_str_eq(ptr %t5389, ptr @.str6724) - %t5391 = icmp ne i32 %t5390, 0 - br i1 %t5391, label %then1216, label %ifend1218 + %t6032 = load ptr, ptr %t1 + %t6033 = call i32 @fn_str_eq(ptr %t6032, ptr @.str7033) + %t6034 = icmp ne i32 %t6033, 0 + br i1 %t6034, label %then1216, label %ifend1218 then1216: - store ptr @.str6725, ptr %t330 - %t5392 = load ptr, ptr %t337 - %t5393 = getelementptr inbounds %LSlice, ptr %t5392, i32 0, i32 1 - %t5394 = getelementptr inbounds %LSlice, ptr %t5392, i32 0, i32 2 - %t5395 = getelementptr inbounds %LSlice, ptr %t5392, i32 0, i32 0 - %t5396 = load i32, ptr %t5393 - %t5397 = load i32, ptr %t5394 - %t5398 = icmp sge i32 %t5396, %t5397 - br i1 %t5398, label %grow1219, label %put1220 + store ptr @.str7034, ptr %t380 + %t6035 = load ptr, ptr %t387 + %t6036 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 1 + %t6037 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 2 + %t6038 = getelementptr inbounds %LSlice, ptr %t6035, i32 0, i32 0 + %t6039 = load i32, ptr %t6036 + %t6040 = load i32, ptr %t6037 + %t6041 = icmp sge i32 %t6039, %t6040 + br i1 %t6041, label %grow1219, label %put1220 grow1219: - %t5399 = mul i32 %t5397, 2 - %t5400 = icmp eq i32 %t5397, 0 - %t5401 = select i1 %t5400, i32 8, i32 %t5399 - %t5402 = getelementptr ptr, ptr null, i32 1 - %t5403 = ptrtoint ptr %t5402 to i64 - %t5404 = zext i32 %t5401 to i64 - %t5405 = mul i64 %t5404, %t5403 - %t5406 = load ptr, ptr %t5395 - %t5407 = call ptr @realloc(ptr %t5406, i64 %t5405) - store ptr %t5407, ptr %t5395 - store i32 %t5401, ptr %t5394 + %t6042 = mul i32 %t6040, 2 + %t6043 = icmp eq i32 %t6040, 0 + %t6044 = select i1 %t6043, i32 8, i32 %t6042 + %t6045 = getelementptr ptr, ptr null, i32 1 + %t6046 = ptrtoint ptr %t6045 to i64 + %t6047 = zext i32 %t6044 to i64 + %t6048 = mul i64 %t6047, %t6046 + %t6049 = load ptr, ptr %t6038 + %t6050 = call ptr @realloc(ptr %t6049, i64 %t6048) + store ptr %t6050, ptr %t6038 + store i32 %t6044, ptr %t6037 br label %put1220 put1220: - %t5408 = load ptr, ptr %t5395 - %t5409 = getelementptr inbounds ptr, ptr %t5408, i32 %t5396 - store ptr @.str6726, ptr %t5409 - %t5410 = add i32 %t5396, 1 - store i32 %t5410, ptr %t5393 - %t5411 = load ptr, ptr %t337 - %t5412 = getelementptr inbounds %LSlice, ptr %t5411, i32 0, i32 1 - %t5413 = getelementptr inbounds %LSlice, ptr %t5411, i32 0, i32 2 - %t5414 = getelementptr inbounds %LSlice, ptr %t5411, i32 0, i32 0 - %t5415 = load i32, ptr %t5412 - %t5416 = load i32, ptr %t5413 - %t5417 = icmp sge i32 %t5415, %t5416 - br i1 %t5417, label %grow1221, label %put1222 + %t6051 = load ptr, ptr %t6038 + %t6052 = getelementptr inbounds ptr, ptr %t6051, i32 %t6039 + store ptr @.str7035, ptr %t6052 + %t6053 = add i32 %t6039, 1 + store i32 %t6053, ptr %t6036 + %t6054 = load ptr, ptr %t387 + %t6055 = getelementptr inbounds %LSlice, ptr %t6054, i32 0, i32 1 + %t6056 = getelementptr inbounds %LSlice, ptr %t6054, i32 0, i32 2 + %t6057 = getelementptr inbounds %LSlice, ptr %t6054, i32 0, i32 0 + %t6058 = load i32, ptr %t6055 + %t6059 = load i32, ptr %t6056 + %t6060 = icmp sge i32 %t6058, %t6059 + br i1 %t6060, label %grow1221, label %put1222 grow1221: - %t5418 = mul i32 %t5416, 2 - %t5419 = icmp eq i32 %t5416, 0 - %t5420 = select i1 %t5419, i32 8, i32 %t5418 - %t5421 = getelementptr ptr, ptr null, i32 1 - %t5422 = ptrtoint ptr %t5421 to i64 - %t5423 = zext i32 %t5420 to i64 - %t5424 = mul i64 %t5423, %t5422 - %t5425 = load ptr, ptr %t5414 - %t5426 = call ptr @realloc(ptr %t5425, i64 %t5424) - store ptr %t5426, ptr %t5414 - store i32 %t5420, ptr %t5413 + %t6061 = mul i32 %t6059, 2 + %t6062 = icmp eq i32 %t6059, 0 + %t6063 = select i1 %t6062, i32 8, i32 %t6061 + %t6064 = getelementptr ptr, ptr null, i32 1 + %t6065 = ptrtoint ptr %t6064 to i64 + %t6066 = zext i32 %t6063 to i64 + %t6067 = mul i64 %t6066, %t6065 + %t6068 = load ptr, ptr %t6057 + %t6069 = call ptr @realloc(ptr %t6068, i64 %t6067) + store ptr %t6069, ptr %t6057 + store i32 %t6063, ptr %t6056 br label %put1222 put1222: - %t5427 = load ptr, ptr %t5414 - %t5428 = getelementptr inbounds ptr, ptr %t5427, i32 %t5415 - store ptr @.str6727, ptr %t5428 - %t5429 = add i32 %t5415, 1 - store i32 %t5429, ptr %t5412 + %t6070 = load ptr, ptr %t6057 + %t6071 = getelementptr inbounds ptr, ptr %t6070, i32 %t6058 + store ptr @.str7036, ptr %t6071 + %t6072 = add i32 %t6058, 1 + store i32 %t6072, ptr %t6055 br label %ifend1218 ifend1218: - %t5430 = load ptr, ptr %t1 - %t5431 = call i32 @fn_str_eq(ptr %t5430, ptr @.str6728) - %t5432 = icmp ne i32 %t5431, 0 - br i1 %t5432, label %then1223, label %ifend1225 + %t6073 = load ptr, ptr %t1 + %t6074 = call i32 @fn_str_eq(ptr %t6073, ptr @.str7037) + %t6075 = icmp ne i32 %t6074, 0 + br i1 %t6075, label %then1223, label %ifend1225 then1223: - store ptr @.str6729, ptr %t330 - %t5433 = load ptr, ptr %t337 - %t5434 = getelementptr inbounds %LSlice, ptr %t5433, i32 0, i32 1 - %t5435 = getelementptr inbounds %LSlice, ptr %t5433, i32 0, i32 2 - %t5436 = getelementptr inbounds %LSlice, ptr %t5433, i32 0, i32 0 - %t5437 = load i32, ptr %t5434 - %t5438 = load i32, ptr %t5435 - %t5439 = icmp sge i32 %t5437, %t5438 - br i1 %t5439, label %grow1226, label %put1227 + store ptr @.str7038, ptr %t380 + %t6076 = load ptr, ptr %t387 + %t6077 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 1 + %t6078 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 2 + %t6079 = getelementptr inbounds %LSlice, ptr %t6076, i32 0, i32 0 + %t6080 = load i32, ptr %t6077 + %t6081 = load i32, ptr %t6078 + %t6082 = icmp sge i32 %t6080, %t6081 + br i1 %t6082, label %grow1226, label %put1227 grow1226: - %t5440 = mul i32 %t5438, 2 - %t5441 = icmp eq i32 %t5438, 0 - %t5442 = select i1 %t5441, i32 8, i32 %t5440 - %t5443 = getelementptr ptr, ptr null, i32 1 - %t5444 = ptrtoint ptr %t5443 to i64 - %t5445 = zext i32 %t5442 to i64 - %t5446 = mul i64 %t5445, %t5444 - %t5447 = load ptr, ptr %t5436 - %t5448 = call ptr @realloc(ptr %t5447, i64 %t5446) - store ptr %t5448, ptr %t5436 - store i32 %t5442, ptr %t5435 + %t6083 = mul i32 %t6081, 2 + %t6084 = icmp eq i32 %t6081, 0 + %t6085 = select i1 %t6084, i32 8, i32 %t6083 + %t6086 = getelementptr ptr, ptr null, i32 1 + %t6087 = ptrtoint ptr %t6086 to i64 + %t6088 = zext i32 %t6085 to i64 + %t6089 = mul i64 %t6088, %t6087 + %t6090 = load ptr, ptr %t6079 + %t6091 = call ptr @realloc(ptr %t6090, i64 %t6089) + store ptr %t6091, ptr %t6079 + store i32 %t6085, ptr %t6078 br label %put1227 put1227: - %t5449 = load ptr, ptr %t5436 - %t5450 = getelementptr inbounds ptr, ptr %t5449, i32 %t5437 - store ptr @.str6730, ptr %t5450 - %t5451 = add i32 %t5437, 1 - store i32 %t5451, ptr %t5434 - %t5452 = load ptr, ptr %t337 - %t5453 = getelementptr inbounds %LSlice, ptr %t5452, i32 0, i32 1 - %t5454 = getelementptr inbounds %LSlice, ptr %t5452, i32 0, i32 2 - %t5455 = getelementptr inbounds %LSlice, ptr %t5452, i32 0, i32 0 - %t5456 = load i32, ptr %t5453 - %t5457 = load i32, ptr %t5454 - %t5458 = icmp sge i32 %t5456, %t5457 - br i1 %t5458, label %grow1228, label %put1229 + %t6092 = load ptr, ptr %t6079 + %t6093 = getelementptr inbounds ptr, ptr %t6092, i32 %t6080 + store ptr @.str7039, ptr %t6093 + %t6094 = add i32 %t6080, 1 + store i32 %t6094, ptr %t6077 + %t6095 = load ptr, ptr %t387 + %t6096 = getelementptr inbounds %LSlice, ptr %t6095, i32 0, i32 1 + %t6097 = getelementptr inbounds %LSlice, ptr %t6095, i32 0, i32 2 + %t6098 = getelementptr inbounds %LSlice, ptr %t6095, i32 0, i32 0 + %t6099 = load i32, ptr %t6096 + %t6100 = load i32, ptr %t6097 + %t6101 = icmp sge i32 %t6099, %t6100 + br i1 %t6101, label %grow1228, label %put1229 grow1228: - %t5459 = mul i32 %t5457, 2 - %t5460 = icmp eq i32 %t5457, 0 - %t5461 = select i1 %t5460, i32 8, i32 %t5459 - %t5462 = getelementptr ptr, ptr null, i32 1 - %t5463 = ptrtoint ptr %t5462 to i64 - %t5464 = zext i32 %t5461 to i64 - %t5465 = mul i64 %t5464, %t5463 - %t5466 = load ptr, ptr %t5455 - %t5467 = call ptr @realloc(ptr %t5466, i64 %t5465) - store ptr %t5467, ptr %t5455 - store i32 %t5461, ptr %t5454 + %t6102 = mul i32 %t6100, 2 + %t6103 = icmp eq i32 %t6100, 0 + %t6104 = select i1 %t6103, i32 8, i32 %t6102 + %t6105 = getelementptr ptr, ptr null, i32 1 + %t6106 = ptrtoint ptr %t6105 to i64 + %t6107 = zext i32 %t6104 to i64 + %t6108 = mul i64 %t6107, %t6106 + %t6109 = load ptr, ptr %t6098 + %t6110 = call ptr @realloc(ptr %t6109, i64 %t6108) + store ptr %t6110, ptr %t6098 + store i32 %t6104, ptr %t6097 br label %put1229 put1229: - %t5468 = load ptr, ptr %t5455 - %t5469 = getelementptr inbounds ptr, ptr %t5468, i32 %t5456 - store ptr @.str6731, ptr %t5469 - %t5470 = add i32 %t5456, 1 - store i32 %t5470, ptr %t5453 + %t6111 = load ptr, ptr %t6098 + %t6112 = getelementptr inbounds ptr, ptr %t6111, i32 %t6099 + store ptr @.str7040, ptr %t6112 + %t6113 = add i32 %t6099, 1 + store i32 %t6113, ptr %t6096 + %t6114 = load ptr, ptr %t387 + %t6115 = getelementptr inbounds %LSlice, ptr %t6114, i32 0, i32 1 + %t6116 = getelementptr inbounds %LSlice, ptr %t6114, i32 0, i32 2 + %t6117 = getelementptr inbounds %LSlice, ptr %t6114, i32 0, i32 0 + %t6118 = load i32, ptr %t6115 + %t6119 = load i32, ptr %t6116 + %t6120 = icmp sge i32 %t6118, %t6119 + br i1 %t6120, label %grow1230, label %put1231 +grow1230: + %t6121 = mul i32 %t6119, 2 + %t6122 = icmp eq i32 %t6119, 0 + %t6123 = select i1 %t6122, i32 8, i32 %t6121 + %t6124 = getelementptr ptr, ptr null, i32 1 + %t6125 = ptrtoint ptr %t6124 to i64 + %t6126 = zext i32 %t6123 to i64 + %t6127 = mul i64 %t6126, %t6125 + %t6128 = load ptr, ptr %t6117 + %t6129 = call ptr @realloc(ptr %t6128, i64 %t6127) + store ptr %t6129, ptr %t6117 + store i32 %t6123, ptr %t6116 + br label %put1231 +put1231: + %t6130 = load ptr, ptr %t6117 + %t6131 = getelementptr inbounds ptr, ptr %t6130, i32 %t6118 + store ptr @.str7041, ptr %t6131 + %t6132 = add i32 %t6118, 1 + store i32 %t6132, ptr %t6115 br label %ifend1225 ifend1225: - %t5471 = load ptr, ptr %t1 - %t5472 = call i32 @fn_str_eq(ptr %t5471, ptr @.str6732) - %t5473 = icmp ne i32 %t5472, 0 - br i1 %t5473, label %then1230, label %ifend1232 -then1230: - store ptr @.str6733, ptr %t330 - %t5474 = load ptr, ptr %t337 - %t5475 = getelementptr inbounds %LSlice, ptr %t5474, i32 0, i32 1 - %t5476 = getelementptr inbounds %LSlice, ptr %t5474, i32 0, i32 2 - %t5477 = getelementptr inbounds %LSlice, ptr %t5474, i32 0, i32 0 - %t5478 = load i32, ptr %t5475 - %t5479 = load i32, ptr %t5476 - %t5480 = icmp sge i32 %t5478, %t5479 - br i1 %t5480, label %grow1233, label %put1234 -grow1233: - %t5481 = mul i32 %t5479, 2 - %t5482 = icmp eq i32 %t5479, 0 - %t5483 = select i1 %t5482, i32 8, i32 %t5481 - %t5484 = getelementptr ptr, ptr null, i32 1 - %t5485 = ptrtoint ptr %t5484 to i64 - %t5486 = zext i32 %t5483 to i64 - %t5487 = mul i64 %t5486, %t5485 - %t5488 = load ptr, ptr %t5477 - %t5489 = call ptr @realloc(ptr %t5488, i64 %t5487) - store ptr %t5489, ptr %t5477 - store i32 %t5483, ptr %t5476 - br label %put1234 -put1234: - %t5490 = load ptr, ptr %t5477 - %t5491 = getelementptr inbounds ptr, ptr %t5490, i32 %t5478 - store ptr @.str6734, ptr %t5491 - %t5492 = add i32 %t5478, 1 - store i32 %t5492, ptr %t5475 - %t5493 = load ptr, ptr %t337 - %t5494 = getelementptr inbounds %LSlice, ptr %t5493, i32 0, i32 1 - %t5495 = getelementptr inbounds %LSlice, ptr %t5493, i32 0, i32 2 - %t5496 = getelementptr inbounds %LSlice, ptr %t5493, i32 0, i32 0 - %t5497 = load i32, ptr %t5494 - %t5498 = load i32, ptr %t5495 - %t5499 = icmp sge i32 %t5497, %t5498 - br i1 %t5499, label %grow1235, label %put1236 + %t6133 = load ptr, ptr %t1 + %t6134 = call i32 @fn_str_eq(ptr %t6133, ptr @.str7042) + %t6135 = icmp ne i32 %t6134, 0 + br i1 %t6135, label %then1232, label %ifend1234 +then1232: + store ptr @.str7043, ptr %t380 + %t6136 = load ptr, ptr %t387 + %t6137 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 1 + %t6138 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 2 + %t6139 = getelementptr inbounds %LSlice, ptr %t6136, i32 0, i32 0 + %t6140 = load i32, ptr %t6137 + %t6141 = load i32, ptr %t6138 + %t6142 = icmp sge i32 %t6140, %t6141 + br i1 %t6142, label %grow1235, label %put1236 grow1235: - %t5500 = mul i32 %t5498, 2 - %t5501 = icmp eq i32 %t5498, 0 - %t5502 = select i1 %t5501, i32 8, i32 %t5500 - %t5503 = getelementptr ptr, ptr null, i32 1 - %t5504 = ptrtoint ptr %t5503 to i64 - %t5505 = zext i32 %t5502 to i64 - %t5506 = mul i64 %t5505, %t5504 - %t5507 = load ptr, ptr %t5496 - %t5508 = call ptr @realloc(ptr %t5507, i64 %t5506) - store ptr %t5508, ptr %t5496 - store i32 %t5502, ptr %t5495 + %t6143 = mul i32 %t6141, 2 + %t6144 = icmp eq i32 %t6141, 0 + %t6145 = select i1 %t6144, i32 8, i32 %t6143 + %t6146 = getelementptr ptr, ptr null, i32 1 + %t6147 = ptrtoint ptr %t6146 to i64 + %t6148 = zext i32 %t6145 to i64 + %t6149 = mul i64 %t6148, %t6147 + %t6150 = load ptr, ptr %t6139 + %t6151 = call ptr @realloc(ptr %t6150, i64 %t6149) + store ptr %t6151, ptr %t6139 + store i32 %t6145, ptr %t6138 br label %put1236 put1236: - %t5509 = load ptr, ptr %t5496 - %t5510 = getelementptr inbounds ptr, ptr %t5509, i32 %t5497 - store ptr @.str6735, ptr %t5510 - %t5511 = add i32 %t5497, 1 - store i32 %t5511, ptr %t5494 - br label %ifend1232 -ifend1232: - %t5512 = load ptr, ptr %t1 - %t5513 = call i32 @fn_str_eq(ptr %t5512, ptr @.str6736) - %t5514 = icmp ne i32 %t5513, 0 - br i1 %t5514, label %then1237, label %ifend1239 -then1237: - store ptr @.str6737, ptr %t330 - %t5515 = load ptr, ptr %t337 - %t5516 = getelementptr inbounds %LSlice, ptr %t5515, i32 0, i32 1 - %t5517 = getelementptr inbounds %LSlice, ptr %t5515, i32 0, i32 2 - %t5518 = getelementptr inbounds %LSlice, ptr %t5515, i32 0, i32 0 - %t5519 = load i32, ptr %t5516 - %t5520 = load i32, ptr %t5517 - %t5521 = icmp sge i32 %t5519, %t5520 - br i1 %t5521, label %grow1240, label %put1241 -grow1240: - %t5522 = mul i32 %t5520, 2 - %t5523 = icmp eq i32 %t5520, 0 - %t5524 = select i1 %t5523, i32 8, i32 %t5522 - %t5525 = getelementptr ptr, ptr null, i32 1 - %t5526 = ptrtoint ptr %t5525 to i64 - %t5527 = zext i32 %t5524 to i64 - %t5528 = mul i64 %t5527, %t5526 - %t5529 = load ptr, ptr %t5518 - %t5530 = call ptr @realloc(ptr %t5529, i64 %t5528) - store ptr %t5530, ptr %t5518 - store i32 %t5524, ptr %t5517 - br label %put1241 -put1241: - %t5531 = load ptr, ptr %t5518 - %t5532 = getelementptr inbounds ptr, ptr %t5531, i32 %t5519 - store ptr @.str6738, ptr %t5532 - %t5533 = add i32 %t5519, 1 - store i32 %t5533, ptr %t5516 - %t5534 = load ptr, ptr %t337 - %t5535 = getelementptr inbounds %LSlice, ptr %t5534, i32 0, i32 1 - %t5536 = getelementptr inbounds %LSlice, ptr %t5534, i32 0, i32 2 - %t5537 = getelementptr inbounds %LSlice, ptr %t5534, i32 0, i32 0 - %t5538 = load i32, ptr %t5535 - %t5539 = load i32, ptr %t5536 - %t5540 = icmp sge i32 %t5538, %t5539 - br i1 %t5540, label %grow1242, label %put1243 + %t6152 = load ptr, ptr %t6139 + %t6153 = getelementptr inbounds ptr, ptr %t6152, i32 %t6140 + store ptr @.str7044, ptr %t6153 + %t6154 = add i32 %t6140, 1 + store i32 %t6154, ptr %t6137 + %t6155 = load ptr, ptr %t387 + %t6156 = getelementptr inbounds %LSlice, ptr %t6155, i32 0, i32 1 + %t6157 = getelementptr inbounds %LSlice, ptr %t6155, i32 0, i32 2 + %t6158 = getelementptr inbounds %LSlice, ptr %t6155, i32 0, i32 0 + %t6159 = load i32, ptr %t6156 + %t6160 = load i32, ptr %t6157 + %t6161 = icmp sge i32 %t6159, %t6160 + br i1 %t6161, label %grow1237, label %put1238 +grow1237: + %t6162 = mul i32 %t6160, 2 + %t6163 = icmp eq i32 %t6160, 0 + %t6164 = select i1 %t6163, i32 8, i32 %t6162 + %t6165 = getelementptr ptr, ptr null, i32 1 + %t6166 = ptrtoint ptr %t6165 to i64 + %t6167 = zext i32 %t6164 to i64 + %t6168 = mul i64 %t6167, %t6166 + %t6169 = load ptr, ptr %t6158 + %t6170 = call ptr @realloc(ptr %t6169, i64 %t6168) + store ptr %t6170, ptr %t6158 + store i32 %t6164, ptr %t6157 + br label %put1238 +put1238: + %t6171 = load ptr, ptr %t6158 + %t6172 = getelementptr inbounds ptr, ptr %t6171, i32 %t6159 + store ptr @.str7045, ptr %t6172 + %t6173 = add i32 %t6159, 1 + store i32 %t6173, ptr %t6156 + br label %ifend1234 +ifend1234: + %t6174 = load ptr, ptr %t1 + %t6175 = call i32 @fn_str_eq(ptr %t6174, ptr @.str7046) + %t6176 = icmp ne i32 %t6175, 0 + br i1 %t6176, label %then1239, label %ifend1241 +then1239: + store ptr @.str7047, ptr %t380 + %t6177 = load ptr, ptr %t387 + %t6178 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 1 + %t6179 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 2 + %t6180 = getelementptr inbounds %LSlice, ptr %t6177, i32 0, i32 0 + %t6181 = load i32, ptr %t6178 + %t6182 = load i32, ptr %t6179 + %t6183 = icmp sge i32 %t6181, %t6182 + br i1 %t6183, label %grow1242, label %put1243 grow1242: - %t5541 = mul i32 %t5539, 2 - %t5542 = icmp eq i32 %t5539, 0 - %t5543 = select i1 %t5542, i32 8, i32 %t5541 - %t5544 = getelementptr ptr, ptr null, i32 1 - %t5545 = ptrtoint ptr %t5544 to i64 - %t5546 = zext i32 %t5543 to i64 - %t5547 = mul i64 %t5546, %t5545 - %t5548 = load ptr, ptr %t5537 - %t5549 = call ptr @realloc(ptr %t5548, i64 %t5547) - store ptr %t5549, ptr %t5537 - store i32 %t5543, ptr %t5536 + %t6184 = mul i32 %t6182, 2 + %t6185 = icmp eq i32 %t6182, 0 + %t6186 = select i1 %t6185, i32 8, i32 %t6184 + %t6187 = getelementptr ptr, ptr null, i32 1 + %t6188 = ptrtoint ptr %t6187 to i64 + %t6189 = zext i32 %t6186 to i64 + %t6190 = mul i64 %t6189, %t6188 + %t6191 = load ptr, ptr %t6180 + %t6192 = call ptr @realloc(ptr %t6191, i64 %t6190) + store ptr %t6192, ptr %t6180 + store i32 %t6186, ptr %t6179 br label %put1243 put1243: - %t5550 = load ptr, ptr %t5537 - %t5551 = getelementptr inbounds ptr, ptr %t5550, i32 %t5538 - store ptr @.str6739, ptr %t5551 - %t5552 = add i32 %t5538, 1 - store i32 %t5552, ptr %t5535 - br label %ifend1239 -ifend1239: - %t5553 = load ptr, ptr %t1 - %t5554 = call i32 @fn_str_eq(ptr %t5553, ptr @.str6740) - %t5555 = icmp ne i32 %t5554, 0 - br i1 %t5555, label %then1244, label %ifend1246 -then1244: - store ptr @.str6741, ptr %t330 - %t5556 = load ptr, ptr %t337 - %t5557 = getelementptr inbounds %LSlice, ptr %t5556, i32 0, i32 1 - %t5558 = getelementptr inbounds %LSlice, ptr %t5556, i32 0, i32 2 - %t5559 = getelementptr inbounds %LSlice, ptr %t5556, i32 0, i32 0 - %t5560 = load i32, ptr %t5557 - %t5561 = load i32, ptr %t5558 - %t5562 = icmp sge i32 %t5560, %t5561 - br i1 %t5562, label %grow1247, label %put1248 -grow1247: - %t5563 = mul i32 %t5561, 2 - %t5564 = icmp eq i32 %t5561, 0 - %t5565 = select i1 %t5564, i32 8, i32 %t5563 - %t5566 = getelementptr ptr, ptr null, i32 1 - %t5567 = ptrtoint ptr %t5566 to i64 - %t5568 = zext i32 %t5565 to i64 - %t5569 = mul i64 %t5568, %t5567 - %t5570 = load ptr, ptr %t5559 - %t5571 = call ptr @realloc(ptr %t5570, i64 %t5569) - store ptr %t5571, ptr %t5559 - store i32 %t5565, ptr %t5558 - br label %put1248 -put1248: - %t5572 = load ptr, ptr %t5559 - %t5573 = getelementptr inbounds ptr, ptr %t5572, i32 %t5560 - store ptr @.str6742, ptr %t5573 - %t5574 = add i32 %t5560, 1 - store i32 %t5574, ptr %t5557 - %t5575 = load ptr, ptr %t337 - %t5576 = getelementptr inbounds %LSlice, ptr %t5575, i32 0, i32 1 - %t5577 = getelementptr inbounds %LSlice, ptr %t5575, i32 0, i32 2 - %t5578 = getelementptr inbounds %LSlice, ptr %t5575, i32 0, i32 0 - %t5579 = load i32, ptr %t5576 - %t5580 = load i32, ptr %t5577 - %t5581 = icmp sge i32 %t5579, %t5580 - br i1 %t5581, label %grow1249, label %put1250 -grow1249: - %t5582 = mul i32 %t5580, 2 - %t5583 = icmp eq i32 %t5580, 0 - %t5584 = select i1 %t5583, i32 8, i32 %t5582 - %t5585 = getelementptr ptr, ptr null, i32 1 - %t5586 = ptrtoint ptr %t5585 to i64 - %t5587 = zext i32 %t5584 to i64 - %t5588 = mul i64 %t5587, %t5586 - %t5589 = load ptr, ptr %t5578 - %t5590 = call ptr @realloc(ptr %t5589, i64 %t5588) - store ptr %t5590, ptr %t5578 - store i32 %t5584, ptr %t5577 - br label %put1250 -put1250: - %t5591 = load ptr, ptr %t5578 - %t5592 = getelementptr inbounds ptr, ptr %t5591, i32 %t5579 - store ptr @.str6743, ptr %t5592 - %t5593 = add i32 %t5579, 1 - store i32 %t5593, ptr %t5576 - br label %ifend1246 -ifend1246: - %t5594 = load ptr, ptr %t1 - %t5595 = call i32 @fn_str_eq(ptr %t5594, ptr @.str6744) - %t5596 = icmp ne i32 %t5595, 0 - br i1 %t5596, label %then1251, label %ifend1253 -then1251: - store ptr @.str6745, ptr %t330 - %t5597 = load ptr, ptr %t337 - %t5598 = getelementptr inbounds %LSlice, ptr %t5597, i32 0, i32 1 - %t5599 = getelementptr inbounds %LSlice, ptr %t5597, i32 0, i32 2 - %t5600 = getelementptr inbounds %LSlice, ptr %t5597, i32 0, i32 0 - %t5601 = load i32, ptr %t5598 - %t5602 = load i32, ptr %t5599 - %t5603 = icmp sge i32 %t5601, %t5602 - br i1 %t5603, label %grow1254, label %put1255 -grow1254: - %t5604 = mul i32 %t5602, 2 - %t5605 = icmp eq i32 %t5602, 0 - %t5606 = select i1 %t5605, i32 8, i32 %t5604 - %t5607 = getelementptr ptr, ptr null, i32 1 - %t5608 = ptrtoint ptr %t5607 to i64 - %t5609 = zext i32 %t5606 to i64 - %t5610 = mul i64 %t5609, %t5608 - %t5611 = load ptr, ptr %t5600 - %t5612 = call ptr @realloc(ptr %t5611, i64 %t5610) - store ptr %t5612, ptr %t5600 - store i32 %t5606, ptr %t5599 - br label %put1255 -put1255: - %t5613 = load ptr, ptr %t5600 - %t5614 = getelementptr inbounds ptr, ptr %t5613, i32 %t5601 - store ptr @.str6746, ptr %t5614 - %t5615 = add i32 %t5601, 1 - store i32 %t5615, ptr %t5598 - br label %ifend1253 -ifend1253: - %t5616 = load ptr, ptr %t1 - %t5617 = call i32 @fn_str_eq(ptr %t5616, ptr @.str6747) - %t5618 = icmp ne i32 %t5617, 0 - br i1 %t5618, label %then1256, label %ifend1258 -then1256: - store ptr @.str6748, ptr %t330 - %t5619 = load ptr, ptr %t337 - %t5620 = getelementptr inbounds %LSlice, ptr %t5619, i32 0, i32 1 - %t5621 = getelementptr inbounds %LSlice, ptr %t5619, i32 0, i32 2 - %t5622 = getelementptr inbounds %LSlice, ptr %t5619, i32 0, i32 0 - %t5623 = load i32, ptr %t5620 - %t5624 = load i32, ptr %t5621 - %t5625 = icmp sge i32 %t5623, %t5624 - br i1 %t5625, label %grow1259, label %put1260 -grow1259: - %t5626 = mul i32 %t5624, 2 - %t5627 = icmp eq i32 %t5624, 0 - %t5628 = select i1 %t5627, i32 8, i32 %t5626 - %t5629 = getelementptr ptr, ptr null, i32 1 - %t5630 = ptrtoint ptr %t5629 to i64 - %t5631 = zext i32 %t5628 to i64 - %t5632 = mul i64 %t5631, %t5630 - %t5633 = load ptr, ptr %t5622 - %t5634 = call ptr @realloc(ptr %t5633, i64 %t5632) - store ptr %t5634, ptr %t5622 - store i32 %t5628, ptr %t5621 - br label %put1260 -put1260: - %t5635 = load ptr, ptr %t5622 - %t5636 = getelementptr inbounds ptr, ptr %t5635, i32 %t5623 - store ptr @.str6749, ptr %t5636 - %t5637 = add i32 %t5623, 1 - store i32 %t5637, ptr %t5620 - br label %ifend1258 -ifend1258: - %t5638 = load ptr, ptr %t1 - %t5639 = call i32 @fn_str_eq(ptr %t5638, ptr @.str6750) - %t5640 = icmp ne i32 %t5639, 0 - br i1 %t5640, label %then1261, label %ifend1263 -then1261: - store ptr @.str6751, ptr %t330 - %t5641 = load ptr, ptr %t337 - %t5642 = getelementptr inbounds %LSlice, ptr %t5641, i32 0, i32 1 - %t5643 = getelementptr inbounds %LSlice, ptr %t5641, i32 0, i32 2 - %t5644 = getelementptr inbounds %LSlice, ptr %t5641, i32 0, i32 0 - %t5645 = load i32, ptr %t5642 - %t5646 = load i32, ptr %t5643 - %t5647 = icmp sge i32 %t5645, %t5646 - br i1 %t5647, label %grow1264, label %put1265 -grow1264: - %t5648 = mul i32 %t5646, 2 - %t5649 = icmp eq i32 %t5646, 0 - %t5650 = select i1 %t5649, i32 8, i32 %t5648 - %t5651 = getelementptr ptr, ptr null, i32 1 - %t5652 = ptrtoint ptr %t5651 to i64 - %t5653 = zext i32 %t5650 to i64 - %t5654 = mul i64 %t5653, %t5652 - %t5655 = load ptr, ptr %t5644 - %t5656 = call ptr @realloc(ptr %t5655, i64 %t5654) - store ptr %t5656, ptr %t5644 - store i32 %t5650, ptr %t5643 - br label %put1265 -put1265: - %t5657 = load ptr, ptr %t5644 - %t5658 = getelementptr inbounds ptr, ptr %t5657, i32 %t5645 - store ptr @.str6752, ptr %t5658 - %t5659 = add i32 %t5645, 1 - store i32 %t5659, ptr %t5642 - br label %ifend1263 -ifend1263: - br label %ifend1179 -ifend1179: - %t5660 = load ptr, ptr %t0 - %t5661 = call i32 @fn_str_eq(ptr %t5660, ptr @.str6753) - %t5662 = icmp ne i32 %t5661, 0 - br i1 %t5662, label %then1266, label %ifend1268 -then1266: - %t5663 = load ptr, ptr %t1 - %t5664 = call i32 @fn_str_eq(ptr %t5663, ptr @.str6754) - %t5665 = icmp ne i32 %t5664, 0 - br i1 %t5665, label %then1269, label %ifend1271 + %t6193 = load ptr, ptr %t6180 + %t6194 = getelementptr inbounds ptr, ptr %t6193, i32 %t6181 + store ptr @.str7048, ptr %t6194 + %t6195 = add i32 %t6181, 1 + store i32 %t6195, ptr %t6178 + %t6196 = load ptr, ptr %t387 + %t6197 = getelementptr inbounds %LSlice, ptr %t6196, i32 0, i32 1 + %t6198 = getelementptr inbounds %LSlice, ptr %t6196, i32 0, i32 2 + %t6199 = getelementptr inbounds %LSlice, ptr %t6196, i32 0, i32 0 + %t6200 = load i32, ptr %t6197 + %t6201 = load i32, ptr %t6198 + %t6202 = icmp sge i32 %t6200, %t6201 + br i1 %t6202, label %grow1244, label %put1245 +grow1244: + %t6203 = mul i32 %t6201, 2 + %t6204 = icmp eq i32 %t6201, 0 + %t6205 = select i1 %t6204, i32 8, i32 %t6203 + %t6206 = getelementptr ptr, ptr null, i32 1 + %t6207 = ptrtoint ptr %t6206 to i64 + %t6208 = zext i32 %t6205 to i64 + %t6209 = mul i64 %t6208, %t6207 + %t6210 = load ptr, ptr %t6199 + %t6211 = call ptr @realloc(ptr %t6210, i64 %t6209) + store ptr %t6211, ptr %t6199 + store i32 %t6205, ptr %t6198 + br label %put1245 +put1245: + %t6212 = load ptr, ptr %t6199 + %t6213 = getelementptr inbounds ptr, ptr %t6212, i32 %t6200 + store ptr @.str7049, ptr %t6213 + %t6214 = add i32 %t6200, 1 + store i32 %t6214, ptr %t6197 + %t6215 = load ptr, ptr %t387 + %t6216 = getelementptr inbounds %LSlice, ptr %t6215, i32 0, i32 1 + %t6217 = getelementptr inbounds %LSlice, ptr %t6215, i32 0, i32 2 + %t6218 = getelementptr inbounds %LSlice, ptr %t6215, i32 0, i32 0 + %t6219 = load i32, ptr %t6216 + %t6220 = load i32, ptr %t6217 + %t6221 = icmp sge i32 %t6219, %t6220 + br i1 %t6221, label %grow1246, label %put1247 +grow1246: + %t6222 = mul i32 %t6220, 2 + %t6223 = icmp eq i32 %t6220, 0 + %t6224 = select i1 %t6223, i32 8, i32 %t6222 + %t6225 = getelementptr ptr, ptr null, i32 1 + %t6226 = ptrtoint ptr %t6225 to i64 + %t6227 = zext i32 %t6224 to i64 + %t6228 = mul i64 %t6227, %t6226 + %t6229 = load ptr, ptr %t6218 + %t6230 = call ptr @realloc(ptr %t6229, i64 %t6228) + store ptr %t6230, ptr %t6218 + store i32 %t6224, ptr %t6217 + br label %put1247 +put1247: + %t6231 = load ptr, ptr %t6218 + %t6232 = getelementptr inbounds ptr, ptr %t6231, i32 %t6219 + store ptr @.str7050, ptr %t6232 + %t6233 = add i32 %t6219, 1 + store i32 %t6233, ptr %t6216 + br label %ifend1241 +ifend1241: + %t6234 = load ptr, ptr %t1 + %t6235 = call i32 @fn_str_eq(ptr %t6234, ptr @.str7051) + %t6236 = icmp ne i32 %t6235, 0 + br i1 %t6236, label %then1248, label %ifend1250 +then1248: + store ptr @.str7052, ptr %t380 + %t6237 = load ptr, ptr %t387 + %t6238 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 1 + %t6239 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 2 + %t6240 = getelementptr inbounds %LSlice, ptr %t6237, i32 0, i32 0 + %t6241 = load i32, ptr %t6238 + %t6242 = load i32, ptr %t6239 + %t6243 = icmp sge i32 %t6241, %t6242 + br i1 %t6243, label %grow1251, label %put1252 +grow1251: + %t6244 = mul i32 %t6242, 2 + %t6245 = icmp eq i32 %t6242, 0 + %t6246 = select i1 %t6245, i32 8, i32 %t6244 + %t6247 = getelementptr ptr, ptr null, i32 1 + %t6248 = ptrtoint ptr %t6247 to i64 + %t6249 = zext i32 %t6246 to i64 + %t6250 = mul i64 %t6249, %t6248 + %t6251 = load ptr, ptr %t6240 + %t6252 = call ptr @realloc(ptr %t6251, i64 %t6250) + store ptr %t6252, ptr %t6240 + store i32 %t6246, ptr %t6239 + br label %put1252 +put1252: + %t6253 = load ptr, ptr %t6240 + %t6254 = getelementptr inbounds ptr, ptr %t6253, i32 %t6241 + store ptr @.str7053, ptr %t6254 + %t6255 = add i32 %t6241, 1 + store i32 %t6255, ptr %t6238 + %t6256 = load ptr, ptr %t387 + %t6257 = getelementptr inbounds %LSlice, ptr %t6256, i32 0, i32 1 + %t6258 = getelementptr inbounds %LSlice, ptr %t6256, i32 0, i32 2 + %t6259 = getelementptr inbounds %LSlice, ptr %t6256, i32 0, i32 0 + %t6260 = load i32, ptr %t6257 + %t6261 = load i32, ptr %t6258 + %t6262 = icmp sge i32 %t6260, %t6261 + br i1 %t6262, label %grow1253, label %put1254 +grow1253: + %t6263 = mul i32 %t6261, 2 + %t6264 = icmp eq i32 %t6261, 0 + %t6265 = select i1 %t6264, i32 8, i32 %t6263 + %t6266 = getelementptr ptr, ptr null, i32 1 + %t6267 = ptrtoint ptr %t6266 to i64 + %t6268 = zext i32 %t6265 to i64 + %t6269 = mul i64 %t6268, %t6267 + %t6270 = load ptr, ptr %t6259 + %t6271 = call ptr @realloc(ptr %t6270, i64 %t6269) + store ptr %t6271, ptr %t6259 + store i32 %t6265, ptr %t6258 + br label %put1254 +put1254: + %t6272 = load ptr, ptr %t6259 + %t6273 = getelementptr inbounds ptr, ptr %t6272, i32 %t6260 + store ptr @.str7054, ptr %t6273 + %t6274 = add i32 %t6260, 1 + store i32 %t6274, ptr %t6257 + br label %ifend1250 +ifend1250: + %t6275 = load ptr, ptr %t1 + %t6276 = call i32 @fn_str_eq(ptr %t6275, ptr @.str7055) + %t6277 = icmp ne i32 %t6276, 0 + br i1 %t6277, label %then1255, label %ifend1257 +then1255: + store ptr @.str7056, ptr %t380 + %t6278 = load ptr, ptr %t387 + %t6279 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 1 + %t6280 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 2 + %t6281 = getelementptr inbounds %LSlice, ptr %t6278, i32 0, i32 0 + %t6282 = load i32, ptr %t6279 + %t6283 = load i32, ptr %t6280 + %t6284 = icmp sge i32 %t6282, %t6283 + br i1 %t6284, label %grow1258, label %put1259 +grow1258: + %t6285 = mul i32 %t6283, 2 + %t6286 = icmp eq i32 %t6283, 0 + %t6287 = select i1 %t6286, i32 8, i32 %t6285 + %t6288 = getelementptr ptr, ptr null, i32 1 + %t6289 = ptrtoint ptr %t6288 to i64 + %t6290 = zext i32 %t6287 to i64 + %t6291 = mul i64 %t6290, %t6289 + %t6292 = load ptr, ptr %t6281 + %t6293 = call ptr @realloc(ptr %t6292, i64 %t6291) + store ptr %t6293, ptr %t6281 + store i32 %t6287, ptr %t6280 + br label %put1259 +put1259: + %t6294 = load ptr, ptr %t6281 + %t6295 = getelementptr inbounds ptr, ptr %t6294, i32 %t6282 + store ptr @.str7057, ptr %t6295 + %t6296 = add i32 %t6282, 1 + store i32 %t6296, ptr %t6279 + %t6297 = load ptr, ptr %t387 + %t6298 = getelementptr inbounds %LSlice, ptr %t6297, i32 0, i32 1 + %t6299 = getelementptr inbounds %LSlice, ptr %t6297, i32 0, i32 2 + %t6300 = getelementptr inbounds %LSlice, ptr %t6297, i32 0, i32 0 + %t6301 = load i32, ptr %t6298 + %t6302 = load i32, ptr %t6299 + %t6303 = icmp sge i32 %t6301, %t6302 + br i1 %t6303, label %grow1260, label %put1261 +grow1260: + %t6304 = mul i32 %t6302, 2 + %t6305 = icmp eq i32 %t6302, 0 + %t6306 = select i1 %t6305, i32 8, i32 %t6304 + %t6307 = getelementptr ptr, ptr null, i32 1 + %t6308 = ptrtoint ptr %t6307 to i64 + %t6309 = zext i32 %t6306 to i64 + %t6310 = mul i64 %t6309, %t6308 + %t6311 = load ptr, ptr %t6300 + %t6312 = call ptr @realloc(ptr %t6311, i64 %t6310) + store ptr %t6312, ptr %t6300 + store i32 %t6306, ptr %t6299 + br label %put1261 +put1261: + %t6313 = load ptr, ptr %t6300 + %t6314 = getelementptr inbounds ptr, ptr %t6313, i32 %t6301 + store ptr @.str7058, ptr %t6314 + %t6315 = add i32 %t6301, 1 + store i32 %t6315, ptr %t6298 + %t6316 = load ptr, ptr %t387 + %t6317 = getelementptr inbounds %LSlice, ptr %t6316, i32 0, i32 1 + %t6318 = getelementptr inbounds %LSlice, ptr %t6316, i32 0, i32 2 + %t6319 = getelementptr inbounds %LSlice, ptr %t6316, i32 0, i32 0 + %t6320 = load i32, ptr %t6317 + %t6321 = load i32, ptr %t6318 + %t6322 = icmp sge i32 %t6320, %t6321 + br i1 %t6322, label %grow1262, label %put1263 +grow1262: + %t6323 = mul i32 %t6321, 2 + %t6324 = icmp eq i32 %t6321, 0 + %t6325 = select i1 %t6324, i32 8, i32 %t6323 + %t6326 = getelementptr ptr, ptr null, i32 1 + %t6327 = ptrtoint ptr %t6326 to i64 + %t6328 = zext i32 %t6325 to i64 + %t6329 = mul i64 %t6328, %t6327 + %t6330 = load ptr, ptr %t6319 + %t6331 = call ptr @realloc(ptr %t6330, i64 %t6329) + store ptr %t6331, ptr %t6319 + store i32 %t6325, ptr %t6318 + br label %put1263 +put1263: + %t6332 = load ptr, ptr %t6319 + %t6333 = getelementptr inbounds ptr, ptr %t6332, i32 %t6320 + store ptr @.str7059, ptr %t6333 + %t6334 = add i32 %t6320, 1 + store i32 %t6334, ptr %t6317 + br label %ifend1257 +ifend1257: + %t6335 = load ptr, ptr %t1 + %t6336 = call i32 @fn_str_eq(ptr %t6335, ptr @.str7060) + %t6337 = icmp ne i32 %t6336, 0 + br i1 %t6337, label %then1264, label %ifend1266 +then1264: + store ptr @.str7061, ptr %t380 + %t6338 = load ptr, ptr %t387 + %t6339 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 1 + %t6340 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 2 + %t6341 = getelementptr inbounds %LSlice, ptr %t6338, i32 0, i32 0 + %t6342 = load i32, ptr %t6339 + %t6343 = load i32, ptr %t6340 + %t6344 = icmp sge i32 %t6342, %t6343 + br i1 %t6344, label %grow1267, label %put1268 +grow1267: + %t6345 = mul i32 %t6343, 2 + %t6346 = icmp eq i32 %t6343, 0 + %t6347 = select i1 %t6346, i32 8, i32 %t6345 + %t6348 = getelementptr ptr, ptr null, i32 1 + %t6349 = ptrtoint ptr %t6348 to i64 + %t6350 = zext i32 %t6347 to i64 + %t6351 = mul i64 %t6350, %t6349 + %t6352 = load ptr, ptr %t6341 + %t6353 = call ptr @realloc(ptr %t6352, i64 %t6351) + store ptr %t6353, ptr %t6341 + store i32 %t6347, ptr %t6340 + br label %put1268 +put1268: + %t6354 = load ptr, ptr %t6341 + %t6355 = getelementptr inbounds ptr, ptr %t6354, i32 %t6342 + store ptr @.str7062, ptr %t6355 + %t6356 = add i32 %t6342, 1 + store i32 %t6356, ptr %t6339 + br label %ifend1266 +ifend1266: + %t6357 = load ptr, ptr %t1 + %t6358 = call i32 @fn_str_eq(ptr %t6357, ptr @.str7063) + %t6359 = icmp ne i32 %t6358, 0 + br i1 %t6359, label %then1269, label %ifend1271 then1269: - store ptr @.str6755, ptr %t330 - %t5666 = load ptr, ptr %t337 - %t5667 = getelementptr inbounds %LSlice, ptr %t5666, i32 0, i32 1 - %t5668 = getelementptr inbounds %LSlice, ptr %t5666, i32 0, i32 2 - %t5669 = getelementptr inbounds %LSlice, ptr %t5666, i32 0, i32 0 - %t5670 = load i32, ptr %t5667 - %t5671 = load i32, ptr %t5668 - %t5672 = icmp sge i32 %t5670, %t5671 - br i1 %t5672, label %grow1272, label %put1273 + store ptr @.str7064, ptr %t380 + %t6360 = load ptr, ptr %t387 + %t6361 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 1 + %t6362 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 2 + %t6363 = getelementptr inbounds %LSlice, ptr %t6360, i32 0, i32 0 + %t6364 = load i32, ptr %t6361 + %t6365 = load i32, ptr %t6362 + %t6366 = icmp sge i32 %t6364, %t6365 + br i1 %t6366, label %grow1272, label %put1273 grow1272: - %t5673 = mul i32 %t5671, 2 - %t5674 = icmp eq i32 %t5671, 0 - %t5675 = select i1 %t5674, i32 8, i32 %t5673 - %t5676 = getelementptr ptr, ptr null, i32 1 - %t5677 = ptrtoint ptr %t5676 to i64 - %t5678 = zext i32 %t5675 to i64 - %t5679 = mul i64 %t5678, %t5677 - %t5680 = load ptr, ptr %t5669 - %t5681 = call ptr @realloc(ptr %t5680, i64 %t5679) - store ptr %t5681, ptr %t5669 - store i32 %t5675, ptr %t5668 + %t6367 = mul i32 %t6365, 2 + %t6368 = icmp eq i32 %t6365, 0 + %t6369 = select i1 %t6368, i32 8, i32 %t6367 + %t6370 = getelementptr ptr, ptr null, i32 1 + %t6371 = ptrtoint ptr %t6370 to i64 + %t6372 = zext i32 %t6369 to i64 + %t6373 = mul i64 %t6372, %t6371 + %t6374 = load ptr, ptr %t6363 + %t6375 = call ptr @realloc(ptr %t6374, i64 %t6373) + store ptr %t6375, ptr %t6363 + store i32 %t6369, ptr %t6362 br label %put1273 put1273: - %t5682 = load ptr, ptr %t5669 - %t5683 = getelementptr inbounds ptr, ptr %t5682, i32 %t5670 - store ptr @.str6756, ptr %t5683 - %t5684 = add i32 %t5670, 1 - store i32 %t5684, ptr %t5667 + %t6376 = load ptr, ptr %t6363 + %t6377 = getelementptr inbounds ptr, ptr %t6376, i32 %t6364 + store ptr @.str7065, ptr %t6377 + %t6378 = add i32 %t6364, 1 + store i32 %t6378, ptr %t6361 br label %ifend1271 ifend1271: - %t5685 = load ptr, ptr %t1 - %t5686 = call i32 @fn_str_eq(ptr %t5685, ptr @.str6757) - %t5687 = icmp ne i32 %t5686, 0 - br i1 %t5687, label %then1274, label %ifend1276 + %t6379 = load ptr, ptr %t1 + %t6380 = call i32 @fn_str_eq(ptr %t6379, ptr @.str7066) + %t6381 = icmp ne i32 %t6380, 0 + br i1 %t6381, label %then1274, label %ifend1276 then1274: - store ptr @.str6758, ptr %t330 - %t5688 = load ptr, ptr %t337 - %t5689 = getelementptr inbounds %LSlice, ptr %t5688, i32 0, i32 1 - %t5690 = getelementptr inbounds %LSlice, ptr %t5688, i32 0, i32 2 - %t5691 = getelementptr inbounds %LSlice, ptr %t5688, i32 0, i32 0 - %t5692 = load i32, ptr %t5689 - %t5693 = load i32, ptr %t5690 - %t5694 = icmp sge i32 %t5692, %t5693 - br i1 %t5694, label %grow1277, label %put1278 + store ptr @.str7067, ptr %t380 + %t6382 = load ptr, ptr %t387 + %t6383 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 1 + %t6384 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 2 + %t6385 = getelementptr inbounds %LSlice, ptr %t6382, i32 0, i32 0 + %t6386 = load i32, ptr %t6383 + %t6387 = load i32, ptr %t6384 + %t6388 = icmp sge i32 %t6386, %t6387 + br i1 %t6388, label %grow1277, label %put1278 grow1277: - %t5695 = mul i32 %t5693, 2 - %t5696 = icmp eq i32 %t5693, 0 - %t5697 = select i1 %t5696, i32 8, i32 %t5695 - %t5698 = getelementptr ptr, ptr null, i32 1 - %t5699 = ptrtoint ptr %t5698 to i64 - %t5700 = zext i32 %t5697 to i64 - %t5701 = mul i64 %t5700, %t5699 - %t5702 = load ptr, ptr %t5691 - %t5703 = call ptr @realloc(ptr %t5702, i64 %t5701) - store ptr %t5703, ptr %t5691 - store i32 %t5697, ptr %t5690 + %t6389 = mul i32 %t6387, 2 + %t6390 = icmp eq i32 %t6387, 0 + %t6391 = select i1 %t6390, i32 8, i32 %t6389 + %t6392 = getelementptr ptr, ptr null, i32 1 + %t6393 = ptrtoint ptr %t6392 to i64 + %t6394 = zext i32 %t6391 to i64 + %t6395 = mul i64 %t6394, %t6393 + %t6396 = load ptr, ptr %t6385 + %t6397 = call ptr @realloc(ptr %t6396, i64 %t6395) + store ptr %t6397, ptr %t6385 + store i32 %t6391, ptr %t6384 br label %put1278 put1278: - %t5704 = load ptr, ptr %t5691 - %t5705 = getelementptr inbounds ptr, ptr %t5704, i32 %t5692 - store ptr @.str6759, ptr %t5705 - %t5706 = add i32 %t5692, 1 - store i32 %t5706, ptr %t5689 + %t6398 = load ptr, ptr %t6385 + %t6399 = getelementptr inbounds ptr, ptr %t6398, i32 %t6386 + store ptr @.str7068, ptr %t6399 + %t6400 = add i32 %t6386, 1 + store i32 %t6400, ptr %t6383 br label %ifend1276 ifend1276: - %t5707 = load ptr, ptr %t1 - %t5708 = call i32 @fn_str_eq(ptr %t5707, ptr @.str6760) - %t5709 = icmp ne i32 %t5708, 0 - br i1 %t5709, label %then1279, label %ifend1281 + %t6401 = load ptr, ptr %t1 + %t6402 = call i32 @fn_str_eq(ptr %t6401, ptr @.str7069) + %t6403 = icmp ne i32 %t6402, 0 + br i1 %t6403, label %then1279, label %ifend1281 then1279: - store ptr @.str6761, ptr %t330 - %t5710 = load ptr, ptr %t337 - %t5711 = getelementptr inbounds %LSlice, ptr %t5710, i32 0, i32 1 - %t5712 = getelementptr inbounds %LSlice, ptr %t5710, i32 0, i32 2 - %t5713 = getelementptr inbounds %LSlice, ptr %t5710, i32 0, i32 0 - %t5714 = load i32, ptr %t5711 - %t5715 = load i32, ptr %t5712 - %t5716 = icmp sge i32 %t5714, %t5715 - br i1 %t5716, label %grow1282, label %put1283 + store ptr @.str7070, ptr %t380 + %t6404 = load ptr, ptr %t387 + %t6405 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 1 + %t6406 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 2 + %t6407 = getelementptr inbounds %LSlice, ptr %t6404, i32 0, i32 0 + %t6408 = load i32, ptr %t6405 + %t6409 = load i32, ptr %t6406 + %t6410 = icmp sge i32 %t6408, %t6409 + br i1 %t6410, label %grow1282, label %put1283 grow1282: - %t5717 = mul i32 %t5715, 2 - %t5718 = icmp eq i32 %t5715, 0 - %t5719 = select i1 %t5718, i32 8, i32 %t5717 - %t5720 = getelementptr ptr, ptr null, i32 1 - %t5721 = ptrtoint ptr %t5720 to i64 - %t5722 = zext i32 %t5719 to i64 - %t5723 = mul i64 %t5722, %t5721 - %t5724 = load ptr, ptr %t5713 - %t5725 = call ptr @realloc(ptr %t5724, i64 %t5723) - store ptr %t5725, ptr %t5713 - store i32 %t5719, ptr %t5712 + %t6411 = mul i32 %t6409, 2 + %t6412 = icmp eq i32 %t6409, 0 + %t6413 = select i1 %t6412, i32 8, i32 %t6411 + %t6414 = getelementptr ptr, ptr null, i32 1 + %t6415 = ptrtoint ptr %t6414 to i64 + %t6416 = zext i32 %t6413 to i64 + %t6417 = mul i64 %t6416, %t6415 + %t6418 = load ptr, ptr %t6407 + %t6419 = call ptr @realloc(ptr %t6418, i64 %t6417) + store ptr %t6419, ptr %t6407 + store i32 %t6413, ptr %t6406 br label %put1283 put1283: - %t5726 = load ptr, ptr %t5713 - %t5727 = getelementptr inbounds ptr, ptr %t5726, i32 %t5714 - store ptr @.str6762, ptr %t5727 - %t5728 = add i32 %t5714, 1 - store i32 %t5728, ptr %t5711 - %t5729 = load ptr, ptr %t337 - %t5730 = getelementptr inbounds %LSlice, ptr %t5729, i32 0, i32 1 - %t5731 = getelementptr inbounds %LSlice, ptr %t5729, i32 0, i32 2 - %t5732 = getelementptr inbounds %LSlice, ptr %t5729, i32 0, i32 0 - %t5733 = load i32, ptr %t5730 - %t5734 = load i32, ptr %t5731 - %t5735 = icmp sge i32 %t5733, %t5734 - br i1 %t5735, label %grow1284, label %put1285 -grow1284: - %t5736 = mul i32 %t5734, 2 - %t5737 = icmp eq i32 %t5734, 0 - %t5738 = select i1 %t5737, i32 8, i32 %t5736 - %t5739 = getelementptr ptr, ptr null, i32 1 - %t5740 = ptrtoint ptr %t5739 to i64 - %t5741 = zext i32 %t5738 to i64 - %t5742 = mul i64 %t5741, %t5740 - %t5743 = load ptr, ptr %t5732 - %t5744 = call ptr @realloc(ptr %t5743, i64 %t5742) - store ptr %t5744, ptr %t5732 - store i32 %t5738, ptr %t5731 - br label %put1285 -put1285: - %t5745 = load ptr, ptr %t5732 - %t5746 = getelementptr inbounds ptr, ptr %t5745, i32 %t5733 - store ptr @.str6763, ptr %t5746 - %t5747 = add i32 %t5733, 1 - store i32 %t5747, ptr %t5730 + %t6420 = load ptr, ptr %t6407 + %t6421 = getelementptr inbounds ptr, ptr %t6420, i32 %t6408 + store ptr @.str7071, ptr %t6421 + %t6422 = add i32 %t6408, 1 + store i32 %t6422, ptr %t6405 br label %ifend1281 ifend1281: - %t5748 = load ptr, ptr %t1 - %t5749 = call i32 @fn_str_eq(ptr %t5748, ptr @.str6764) - %t5750 = icmp ne i32 %t5749, 0 - br i1 %t5750, label %then1286, label %ifend1288 -then1286: - store ptr @.str6765, ptr %t330 - %t5751 = load ptr, ptr %t337 - %t5752 = getelementptr inbounds %LSlice, ptr %t5751, i32 0, i32 1 - %t5753 = getelementptr inbounds %LSlice, ptr %t5751, i32 0, i32 2 - %t5754 = getelementptr inbounds %LSlice, ptr %t5751, i32 0, i32 0 - %t5755 = load i32, ptr %t5752 - %t5756 = load i32, ptr %t5753 - %t5757 = icmp sge i32 %t5755, %t5756 - br i1 %t5757, label %grow1289, label %put1290 -grow1289: - %t5758 = mul i32 %t5756, 2 - %t5759 = icmp eq i32 %t5756, 0 - %t5760 = select i1 %t5759, i32 8, i32 %t5758 - %t5761 = getelementptr ptr, ptr null, i32 1 - %t5762 = ptrtoint ptr %t5761 to i64 - %t5763 = zext i32 %t5760 to i64 - %t5764 = mul i64 %t5763, %t5762 - %t5765 = load ptr, ptr %t5754 - %t5766 = call ptr @realloc(ptr %t5765, i64 %t5764) - store ptr %t5766, ptr %t5754 - store i32 %t5760, ptr %t5753 - br label %put1290 -put1290: - %t5767 = load ptr, ptr %t5754 - %t5768 = getelementptr inbounds ptr, ptr %t5767, i32 %t5755 - store ptr @.str6766, ptr %t5768 - %t5769 = add i32 %t5755, 1 - store i32 %t5769, ptr %t5752 - %t5770 = load ptr, ptr %t337 - %t5771 = getelementptr inbounds %LSlice, ptr %t5770, i32 0, i32 1 - %t5772 = getelementptr inbounds %LSlice, ptr %t5770, i32 0, i32 2 - %t5773 = getelementptr inbounds %LSlice, ptr %t5770, i32 0, i32 0 - %t5774 = load i32, ptr %t5771 - %t5775 = load i32, ptr %t5772 - %t5776 = icmp sge i32 %t5774, %t5775 - br i1 %t5776, label %grow1291, label %put1292 -grow1291: - %t5777 = mul i32 %t5775, 2 - %t5778 = icmp eq i32 %t5775, 0 - %t5779 = select i1 %t5778, i32 8, i32 %t5777 - %t5780 = getelementptr ptr, ptr null, i32 1 - %t5781 = ptrtoint ptr %t5780 to i64 - %t5782 = zext i32 %t5779 to i64 - %t5783 = mul i64 %t5782, %t5781 - %t5784 = load ptr, ptr %t5773 - %t5785 = call ptr @realloc(ptr %t5784, i64 %t5783) - store ptr %t5785, ptr %t5773 - store i32 %t5779, ptr %t5772 - br label %put1292 -put1292: - %t5786 = load ptr, ptr %t5773 - %t5787 = getelementptr inbounds ptr, ptr %t5786, i32 %t5774 - store ptr @.str6767, ptr %t5787 - %t5788 = add i32 %t5774, 1 - store i32 %t5788, ptr %t5771 - br label %ifend1288 -ifend1288: - %t5789 = load ptr, ptr %t1 - %t5790 = call i32 @fn_str_eq(ptr %t5789, ptr @.str6768) - %t5791 = icmp ne i32 %t5790, 0 - br i1 %t5791, label %then1293, label %ifend1295 -then1293: - store ptr @.str6769, ptr %t330 - %t5792 = load ptr, ptr %t337 - %t5793 = getelementptr inbounds %LSlice, ptr %t5792, i32 0, i32 1 - %t5794 = getelementptr inbounds %LSlice, ptr %t5792, i32 0, i32 2 - %t5795 = getelementptr inbounds %LSlice, ptr %t5792, i32 0, i32 0 - %t5796 = load i32, ptr %t5793 - %t5797 = load i32, ptr %t5794 - %t5798 = icmp sge i32 %t5796, %t5797 - br i1 %t5798, label %grow1296, label %put1297 -grow1296: - %t5799 = mul i32 %t5797, 2 - %t5800 = icmp eq i32 %t5797, 0 - %t5801 = select i1 %t5800, i32 8, i32 %t5799 - %t5802 = getelementptr ptr, ptr null, i32 1 - %t5803 = ptrtoint ptr %t5802 to i64 - %t5804 = zext i32 %t5801 to i64 - %t5805 = mul i64 %t5804, %t5803 - %t5806 = load ptr, ptr %t5795 - %t5807 = call ptr @realloc(ptr %t5806, i64 %t5805) - store ptr %t5807, ptr %t5795 - store i32 %t5801, ptr %t5794 - br label %put1297 -put1297: - %t5808 = load ptr, ptr %t5795 - %t5809 = getelementptr inbounds ptr, ptr %t5808, i32 %t5796 - store ptr @.str6770, ptr %t5809 - %t5810 = add i32 %t5796, 1 - store i32 %t5810, ptr %t5793 - %t5811 = load ptr, ptr %t337 - %t5812 = getelementptr inbounds %LSlice, ptr %t5811, i32 0, i32 1 - %t5813 = getelementptr inbounds %LSlice, ptr %t5811, i32 0, i32 2 - %t5814 = getelementptr inbounds %LSlice, ptr %t5811, i32 0, i32 0 - %t5815 = load i32, ptr %t5812 - %t5816 = load i32, ptr %t5813 - %t5817 = icmp sge i32 %t5815, %t5816 - br i1 %t5817, label %grow1298, label %put1299 -grow1298: - %t5818 = mul i32 %t5816, 2 - %t5819 = icmp eq i32 %t5816, 0 - %t5820 = select i1 %t5819, i32 8, i32 %t5818 - %t5821 = getelementptr ptr, ptr null, i32 1 - %t5822 = ptrtoint ptr %t5821 to i64 - %t5823 = zext i32 %t5820 to i64 - %t5824 = mul i64 %t5823, %t5822 - %t5825 = load ptr, ptr %t5814 - %t5826 = call ptr @realloc(ptr %t5825, i64 %t5824) - store ptr %t5826, ptr %t5814 - store i32 %t5820, ptr %t5813 - br label %put1299 -put1299: - %t5827 = load ptr, ptr %t5814 - %t5828 = getelementptr inbounds ptr, ptr %t5827, i32 %t5815 - store ptr @.str6771, ptr %t5828 - %t5829 = add i32 %t5815, 1 - store i32 %t5829, ptr %t5812 - br label %ifend1295 -ifend1295: - %t5830 = load ptr, ptr %t1 - %t5831 = call i32 @fn_str_eq(ptr %t5830, ptr @.str6772) - %t5832 = icmp ne i32 %t5831, 0 - br i1 %t5832, label %then1300, label %ifend1302 -then1300: - store ptr @.str6773, ptr %t330 - %t5833 = load ptr, ptr %t337 - %t5834 = getelementptr inbounds %LSlice, ptr %t5833, i32 0, i32 1 - %t5835 = getelementptr inbounds %LSlice, ptr %t5833, i32 0, i32 2 - %t5836 = getelementptr inbounds %LSlice, ptr %t5833, i32 0, i32 0 - %t5837 = load i32, ptr %t5834 - %t5838 = load i32, ptr %t5835 - %t5839 = icmp sge i32 %t5837, %t5838 - br i1 %t5839, label %grow1303, label %put1304 -grow1303: - %t5840 = mul i32 %t5838, 2 - %t5841 = icmp eq i32 %t5838, 0 - %t5842 = select i1 %t5841, i32 8, i32 %t5840 - %t5843 = getelementptr ptr, ptr null, i32 1 - %t5844 = ptrtoint ptr %t5843 to i64 - %t5845 = zext i32 %t5842 to i64 - %t5846 = mul i64 %t5845, %t5844 - %t5847 = load ptr, ptr %t5836 - %t5848 = call ptr @realloc(ptr %t5847, i64 %t5846) - store ptr %t5848, ptr %t5836 - store i32 %t5842, ptr %t5835 - br label %put1304 -put1304: - %t5849 = load ptr, ptr %t5836 - %t5850 = getelementptr inbounds ptr, ptr %t5849, i32 %t5837 - store ptr @.str6774, ptr %t5850 - %t5851 = add i32 %t5837, 1 - store i32 %t5851, ptr %t5834 - br label %ifend1302 -ifend1302: - %t5852 = load ptr, ptr %t1 - %t5853 = call i32 @fn_str_eq(ptr %t5852, ptr @.str6775) - %t5854 = icmp ne i32 %t5853, 0 - br i1 %t5854, label %then1305, label %ifend1307 -then1305: - store ptr @.str6776, ptr %t330 - %t5855 = load ptr, ptr %t337 - %t5856 = getelementptr inbounds %LSlice, ptr %t5855, i32 0, i32 1 - %t5857 = getelementptr inbounds %LSlice, ptr %t5855, i32 0, i32 2 - %t5858 = getelementptr inbounds %LSlice, ptr %t5855, i32 0, i32 0 - %t5859 = load i32, ptr %t5856 - %t5860 = load i32, ptr %t5857 - %t5861 = icmp sge i32 %t5859, %t5860 - br i1 %t5861, label %grow1308, label %put1309 -grow1308: - %t5862 = mul i32 %t5860, 2 - %t5863 = icmp eq i32 %t5860, 0 - %t5864 = select i1 %t5863, i32 8, i32 %t5862 - %t5865 = getelementptr ptr, ptr null, i32 1 - %t5866 = ptrtoint ptr %t5865 to i64 - %t5867 = zext i32 %t5864 to i64 - %t5868 = mul i64 %t5867, %t5866 - %t5869 = load ptr, ptr %t5858 - %t5870 = call ptr @realloc(ptr %t5869, i64 %t5868) - store ptr %t5870, ptr %t5858 - store i32 %t5864, ptr %t5857 - br label %put1309 -put1309: - %t5871 = load ptr, ptr %t5858 - %t5872 = getelementptr inbounds ptr, ptr %t5871, i32 %t5859 - store ptr @.str6777, ptr %t5872 - %t5873 = add i32 %t5859, 1 - store i32 %t5873, ptr %t5856 - %t5874 = load ptr, ptr %t337 - %t5875 = getelementptr inbounds %LSlice, ptr %t5874, i32 0, i32 1 - %t5876 = getelementptr inbounds %LSlice, ptr %t5874, i32 0, i32 2 - %t5877 = getelementptr inbounds %LSlice, ptr %t5874, i32 0, i32 0 - %t5878 = load i32, ptr %t5875 - %t5879 = load i32, ptr %t5876 - %t5880 = icmp sge i32 %t5878, %t5879 - br i1 %t5880, label %grow1310, label %put1311 -grow1310: - %t5881 = mul i32 %t5879, 2 - %t5882 = icmp eq i32 %t5879, 0 - %t5883 = select i1 %t5882, i32 8, i32 %t5881 - %t5884 = getelementptr ptr, ptr null, i32 1 - %t5885 = ptrtoint ptr %t5884 to i64 - %t5886 = zext i32 %t5883 to i64 - %t5887 = mul i64 %t5886, %t5885 - %t5888 = load ptr, ptr %t5877 - %t5889 = call ptr @realloc(ptr %t5888, i64 %t5887) - store ptr %t5889, ptr %t5877 - store i32 %t5883, ptr %t5876 - br label %put1311 -put1311: - %t5890 = load ptr, ptr %t5877 - %t5891 = getelementptr inbounds ptr, ptr %t5890, i32 %t5878 - store ptr @.str6778, ptr %t5891 - %t5892 = add i32 %t5878, 1 - store i32 %t5892, ptr %t5875 - br label %ifend1307 -ifend1307: - %t5893 = load ptr, ptr %t1 - %t5894 = call i32 @fn_str_eq(ptr %t5893, ptr @.str6779) - %t5895 = icmp ne i32 %t5894, 0 - br i1 %t5895, label %then1312, label %ifend1314 -then1312: - store ptr @.str6780, ptr %t330 - %t5896 = load ptr, ptr %t337 - %t5897 = getelementptr inbounds %LSlice, ptr %t5896, i32 0, i32 1 - %t5898 = getelementptr inbounds %LSlice, ptr %t5896, i32 0, i32 2 - %t5899 = getelementptr inbounds %LSlice, ptr %t5896, i32 0, i32 0 - %t5900 = load i32, ptr %t5897 - %t5901 = load i32, ptr %t5898 - %t5902 = icmp sge i32 %t5900, %t5901 - br i1 %t5902, label %grow1315, label %put1316 -grow1315: - %t5903 = mul i32 %t5901, 2 - %t5904 = icmp eq i32 %t5901, 0 - %t5905 = select i1 %t5904, i32 8, i32 %t5903 - %t5906 = getelementptr ptr, ptr null, i32 1 - %t5907 = ptrtoint ptr %t5906 to i64 - %t5908 = zext i32 %t5905 to i64 - %t5909 = mul i64 %t5908, %t5907 - %t5910 = load ptr, ptr %t5899 - %t5911 = call ptr @realloc(ptr %t5910, i64 %t5909) - store ptr %t5911, ptr %t5899 - store i32 %t5905, ptr %t5898 - br label %put1316 -put1316: - %t5912 = load ptr, ptr %t5899 - %t5913 = getelementptr inbounds ptr, ptr %t5912, i32 %t5900 - store ptr @.str6781, ptr %t5913 - %t5914 = add i32 %t5900, 1 - store i32 %t5914, ptr %t5897 - %t5915 = load ptr, ptr %t337 - %t5916 = getelementptr inbounds %LSlice, ptr %t5915, i32 0, i32 1 - %t5917 = getelementptr inbounds %LSlice, ptr %t5915, i32 0, i32 2 - %t5918 = getelementptr inbounds %LSlice, ptr %t5915, i32 0, i32 0 - %t5919 = load i32, ptr %t5916 - %t5920 = load i32, ptr %t5917 - %t5921 = icmp sge i32 %t5919, %t5920 - br i1 %t5921, label %grow1317, label %put1318 -grow1317: - %t5922 = mul i32 %t5920, 2 - %t5923 = icmp eq i32 %t5920, 0 - %t5924 = select i1 %t5923, i32 8, i32 %t5922 - %t5925 = getelementptr ptr, ptr null, i32 1 - %t5926 = ptrtoint ptr %t5925 to i64 - %t5927 = zext i32 %t5924 to i64 - %t5928 = mul i64 %t5927, %t5926 - %t5929 = load ptr, ptr %t5918 - %t5930 = call ptr @realloc(ptr %t5929, i64 %t5928) - store ptr %t5930, ptr %t5918 - store i32 %t5924, ptr %t5917 - br label %put1318 -put1318: - %t5931 = load ptr, ptr %t5918 - %t5932 = getelementptr inbounds ptr, ptr %t5931, i32 %t5919 - store ptr @.str6782, ptr %t5932 - %t5933 = add i32 %t5919, 1 - store i32 %t5933, ptr %t5916 - br label %ifend1314 -ifend1314: - %t5934 = load ptr, ptr %t1 - %t5935 = call i32 @fn_str_eq(ptr %t5934, ptr @.str6783) - %t5936 = icmp ne i32 %t5935, 0 - br i1 %t5936, label %then1319, label %ifend1321 + %t6423 = load ptr, ptr %t1 + %t6424 = call i32 @fn_str_eq(ptr %t6423, ptr @.str7072) + %t6425 = icmp ne i32 %t6424, 0 + br i1 %t6425, label %then1284, label %ifend1286 +then1284: + store ptr @.str7073, ptr %t380 + %t6426 = load ptr, ptr %t387 + %t6427 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 1 + %t6428 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 2 + %t6429 = getelementptr inbounds %LSlice, ptr %t6426, i32 0, i32 0 + %t6430 = load i32, ptr %t6427 + %t6431 = load i32, ptr %t6428 + %t6432 = icmp sge i32 %t6430, %t6431 + br i1 %t6432, label %grow1287, label %put1288 +grow1287: + %t6433 = mul i32 %t6431, 2 + %t6434 = icmp eq i32 %t6431, 0 + %t6435 = select i1 %t6434, i32 8, i32 %t6433 + %t6436 = getelementptr ptr, ptr null, i32 1 + %t6437 = ptrtoint ptr %t6436 to i64 + %t6438 = zext i32 %t6435 to i64 + %t6439 = mul i64 %t6438, %t6437 + %t6440 = load ptr, ptr %t6429 + %t6441 = call ptr @realloc(ptr %t6440, i64 %t6439) + store ptr %t6441, ptr %t6429 + store i32 %t6435, ptr %t6428 + br label %put1288 +put1288: + %t6442 = load ptr, ptr %t6429 + %t6443 = getelementptr inbounds ptr, ptr %t6442, i32 %t6430 + store ptr @.str7074, ptr %t6443 + %t6444 = add i32 %t6430, 1 + store i32 %t6444, ptr %t6427 + br label %ifend1286 +ifend1286: + %t6445 = load ptr, ptr %t1 + %t6446 = call i32 @fn_str_eq(ptr %t6445, ptr @.str7075) + %t6447 = icmp ne i32 %t6446, 0 + br i1 %t6447, label %then1289, label %ifend1291 +then1289: + store ptr @.str7076, ptr %t380 + %t6448 = load ptr, ptr %t387 + %t6449 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 1 + %t6450 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 2 + %t6451 = getelementptr inbounds %LSlice, ptr %t6448, i32 0, i32 0 + %t6452 = load i32, ptr %t6449 + %t6453 = load i32, ptr %t6450 + %t6454 = icmp sge i32 %t6452, %t6453 + br i1 %t6454, label %grow1292, label %put1293 +grow1292: + %t6455 = mul i32 %t6453, 2 + %t6456 = icmp eq i32 %t6453, 0 + %t6457 = select i1 %t6456, i32 8, i32 %t6455 + %t6458 = getelementptr ptr, ptr null, i32 1 + %t6459 = ptrtoint ptr %t6458 to i64 + %t6460 = zext i32 %t6457 to i64 + %t6461 = mul i64 %t6460, %t6459 + %t6462 = load ptr, ptr %t6451 + %t6463 = call ptr @realloc(ptr %t6462, i64 %t6461) + store ptr %t6463, ptr %t6451 + store i32 %t6457, ptr %t6450 + br label %put1293 +put1293: + %t6464 = load ptr, ptr %t6451 + %t6465 = getelementptr inbounds ptr, ptr %t6464, i32 %t6452 + store ptr @.str7077, ptr %t6465 + %t6466 = add i32 %t6452, 1 + store i32 %t6466, ptr %t6449 + br label %ifend1291 +ifend1291: + %t6467 = load ptr, ptr %t1 + %t6468 = call i32 @fn_str_eq(ptr %t6467, ptr @.str7078) + %t6469 = icmp ne i32 %t6468, 0 + br i1 %t6469, label %then1294, label %ifend1296 +then1294: + store ptr @.str7079, ptr %t380 + %t6470 = load ptr, ptr %t387 + %t6471 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 1 + %t6472 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 2 + %t6473 = getelementptr inbounds %LSlice, ptr %t6470, i32 0, i32 0 + %t6474 = load i32, ptr %t6471 + %t6475 = load i32, ptr %t6472 + %t6476 = icmp sge i32 %t6474, %t6475 + br i1 %t6476, label %grow1297, label %put1298 +grow1297: + %t6477 = mul i32 %t6475, 2 + %t6478 = icmp eq i32 %t6475, 0 + %t6479 = select i1 %t6478, i32 8, i32 %t6477 + %t6480 = getelementptr ptr, ptr null, i32 1 + %t6481 = ptrtoint ptr %t6480 to i64 + %t6482 = zext i32 %t6479 to i64 + %t6483 = mul i64 %t6482, %t6481 + %t6484 = load ptr, ptr %t6473 + %t6485 = call ptr @realloc(ptr %t6484, i64 %t6483) + store ptr %t6485, ptr %t6473 + store i32 %t6479, ptr %t6472 + br label %put1298 +put1298: + %t6486 = load ptr, ptr %t6473 + %t6487 = getelementptr inbounds ptr, ptr %t6486, i32 %t6474 + store ptr @.str7080, ptr %t6487 + %t6488 = add i32 %t6474, 1 + store i32 %t6488, ptr %t6471 + %t6489 = load ptr, ptr %t387 + %t6490 = getelementptr inbounds %LSlice, ptr %t6489, i32 0, i32 1 + %t6491 = getelementptr inbounds %LSlice, ptr %t6489, i32 0, i32 2 + %t6492 = getelementptr inbounds %LSlice, ptr %t6489, i32 0, i32 0 + %t6493 = load i32, ptr %t6490 + %t6494 = load i32, ptr %t6491 + %t6495 = icmp sge i32 %t6493, %t6494 + br i1 %t6495, label %grow1299, label %put1300 +grow1299: + %t6496 = mul i32 %t6494, 2 + %t6497 = icmp eq i32 %t6494, 0 + %t6498 = select i1 %t6497, i32 8, i32 %t6496 + %t6499 = getelementptr ptr, ptr null, i32 1 + %t6500 = ptrtoint ptr %t6499 to i64 + %t6501 = zext i32 %t6498 to i64 + %t6502 = mul i64 %t6501, %t6500 + %t6503 = load ptr, ptr %t6492 + %t6504 = call ptr @realloc(ptr %t6503, i64 %t6502) + store ptr %t6504, ptr %t6492 + store i32 %t6498, ptr %t6491 + br label %put1300 +put1300: + %t6505 = load ptr, ptr %t6492 + %t6506 = getelementptr inbounds ptr, ptr %t6505, i32 %t6493 + store ptr @.str7081, ptr %t6506 + %t6507 = add i32 %t6493, 1 + store i32 %t6507, ptr %t6490 + br label %ifend1296 +ifend1296: + %t6508 = load ptr, ptr %t1 + %t6509 = call i32 @fn_str_eq(ptr %t6508, ptr @.str7082) + %t6510 = icmp ne i32 %t6509, 0 + br i1 %t6510, label %then1301, label %ifend1303 +then1301: + store ptr @.str7083, ptr %t380 + %t6511 = load ptr, ptr %t387 + %t6512 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 1 + %t6513 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 2 + %t6514 = getelementptr inbounds %LSlice, ptr %t6511, i32 0, i32 0 + %t6515 = load i32, ptr %t6512 + %t6516 = load i32, ptr %t6513 + %t6517 = icmp sge i32 %t6515, %t6516 + br i1 %t6517, label %grow1304, label %put1305 +grow1304: + %t6518 = mul i32 %t6516, 2 + %t6519 = icmp eq i32 %t6516, 0 + %t6520 = select i1 %t6519, i32 8, i32 %t6518 + %t6521 = getelementptr ptr, ptr null, i32 1 + %t6522 = ptrtoint ptr %t6521 to i64 + %t6523 = zext i32 %t6520 to i64 + %t6524 = mul i64 %t6523, %t6522 + %t6525 = load ptr, ptr %t6514 + %t6526 = call ptr @realloc(ptr %t6525, i64 %t6524) + store ptr %t6526, ptr %t6514 + store i32 %t6520, ptr %t6513 + br label %put1305 +put1305: + %t6527 = load ptr, ptr %t6514 + %t6528 = getelementptr inbounds ptr, ptr %t6527, i32 %t6515 + store ptr @.str7084, ptr %t6528 + %t6529 = add i32 %t6515, 1 + store i32 %t6529, ptr %t6512 + br label %ifend1303 +ifend1303: + %t6530 = load ptr, ptr %t1 + %t6531 = call i32 @fn_str_eq(ptr %t6530, ptr @.str7085) + %t6532 = icmp ne i32 %t6531, 0 + br i1 %t6532, label %then1306, label %ifend1308 +then1306: + store ptr @.str7086, ptr %t380 + %t6533 = load ptr, ptr %t387 + %t6534 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 1 + %t6535 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 2 + %t6536 = getelementptr inbounds %LSlice, ptr %t6533, i32 0, i32 0 + %t6537 = load i32, ptr %t6534 + %t6538 = load i32, ptr %t6535 + %t6539 = icmp sge i32 %t6537, %t6538 + br i1 %t6539, label %grow1309, label %put1310 +grow1309: + %t6540 = mul i32 %t6538, 2 + %t6541 = icmp eq i32 %t6538, 0 + %t6542 = select i1 %t6541, i32 8, i32 %t6540 + %t6543 = getelementptr ptr, ptr null, i32 1 + %t6544 = ptrtoint ptr %t6543 to i64 + %t6545 = zext i32 %t6542 to i64 + %t6546 = mul i64 %t6545, %t6544 + %t6547 = load ptr, ptr %t6536 + %t6548 = call ptr @realloc(ptr %t6547, i64 %t6546) + store ptr %t6548, ptr %t6536 + store i32 %t6542, ptr %t6535 + br label %put1310 +put1310: + %t6549 = load ptr, ptr %t6536 + %t6550 = getelementptr inbounds ptr, ptr %t6549, i32 %t6537 + store ptr @.str7087, ptr %t6550 + %t6551 = add i32 %t6537, 1 + store i32 %t6551, ptr %t6534 + %t6552 = load ptr, ptr %t387 + %t6553 = getelementptr inbounds %LSlice, ptr %t6552, i32 0, i32 1 + %t6554 = getelementptr inbounds %LSlice, ptr %t6552, i32 0, i32 2 + %t6555 = getelementptr inbounds %LSlice, ptr %t6552, i32 0, i32 0 + %t6556 = load i32, ptr %t6553 + %t6557 = load i32, ptr %t6554 + %t6558 = icmp sge i32 %t6556, %t6557 + br i1 %t6558, label %grow1311, label %put1312 +grow1311: + %t6559 = mul i32 %t6557, 2 + %t6560 = icmp eq i32 %t6557, 0 + %t6561 = select i1 %t6560, i32 8, i32 %t6559 + %t6562 = getelementptr ptr, ptr null, i32 1 + %t6563 = ptrtoint ptr %t6562 to i64 + %t6564 = zext i32 %t6561 to i64 + %t6565 = mul i64 %t6564, %t6563 + %t6566 = load ptr, ptr %t6555 + %t6567 = call ptr @realloc(ptr %t6566, i64 %t6565) + store ptr %t6567, ptr %t6555 + store i32 %t6561, ptr %t6554 + br label %put1312 +put1312: + %t6568 = load ptr, ptr %t6555 + %t6569 = getelementptr inbounds ptr, ptr %t6568, i32 %t6556 + store ptr @.str7088, ptr %t6569 + %t6570 = add i32 %t6556, 1 + store i32 %t6570, ptr %t6553 + br label %ifend1308 +ifend1308: + br label %ifend1210 +ifend1210: + %t6571 = load ptr, ptr %t0 + %t6572 = call i32 @fn_str_eq(ptr %t6571, ptr @.str7089) + %t6573 = icmp ne i32 %t6572, 0 + br i1 %t6573, label %then1313, label %ifend1315 +then1313: + %t6574 = load ptr, ptr %t1 + %t6575 = call i32 @fn_str_eq(ptr %t6574, ptr @.str7090) + %t6576 = icmp ne i32 %t6575, 0 + br i1 %t6576, label %then1316, label %ifend1318 +then1316: + store ptr @.str7091, ptr %t380 + br label %ifend1318 +ifend1318: + %t6577 = load ptr, ptr %t1 + %t6578 = call i32 @fn_str_eq(ptr %t6577, ptr @.str7092) + %t6579 = icmp ne i32 %t6578, 0 + br i1 %t6579, label %then1319, label %ifend1321 then1319: - store ptr @.str6784, ptr %t330 - %t5937 = load ptr, ptr %t337 - %t5938 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 1 - %t5939 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 2 - %t5940 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 0 - %t5941 = load i32, ptr %t5938 - %t5942 = load i32, ptr %t5939 - %t5943 = icmp sge i32 %t5941, %t5942 - br i1 %t5943, label %grow1322, label %put1323 -grow1322: - %t5944 = mul i32 %t5942, 2 - %t5945 = icmp eq i32 %t5942, 0 - %t5946 = select i1 %t5945, i32 8, i32 %t5944 - %t5947 = getelementptr ptr, ptr null, i32 1 - %t5948 = ptrtoint ptr %t5947 to i64 - %t5949 = zext i32 %t5946 to i64 - %t5950 = mul i64 %t5949, %t5948 - %t5951 = load ptr, ptr %t5940 - %t5952 = call ptr @realloc(ptr %t5951, i64 %t5950) - store ptr %t5952, ptr %t5940 - store i32 %t5946, ptr %t5939 - br label %put1323 -put1323: - %t5953 = load ptr, ptr %t5940 - %t5954 = getelementptr inbounds ptr, ptr %t5953, i32 %t5941 - store ptr @.str6785, ptr %t5954 - %t5955 = add i32 %t5941, 1 - store i32 %t5955, ptr %t5938 + store ptr @.str7093, ptr %t380 br label %ifend1321 ifend1321: - %t5956 = load ptr, ptr %t1 - %t5957 = call i32 @fn_str_eq(ptr %t5956, ptr @.str6786) - %t5958 = icmp ne i32 %t5957, 0 - br i1 %t5958, label %then1324, label %ifend1326 -then1324: - store ptr @.str6787, ptr %t330 - %t5959 = load ptr, ptr %t337 - %t5960 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 1 - %t5961 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 2 - %t5962 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 0 - %t5963 = load i32, ptr %t5960 - %t5964 = load i32, ptr %t5961 - %t5965 = icmp sge i32 %t5963, %t5964 - br i1 %t5965, label %grow1327, label %put1328 -grow1327: - %t5966 = mul i32 %t5964, 2 - %t5967 = icmp eq i32 %t5964, 0 - %t5968 = select i1 %t5967, i32 8, i32 %t5966 - %t5969 = getelementptr ptr, ptr null, i32 1 - %t5970 = ptrtoint ptr %t5969 to i64 - %t5971 = zext i32 %t5968 to i64 - %t5972 = mul i64 %t5971, %t5970 - %t5973 = load ptr, ptr %t5962 - %t5974 = call ptr @realloc(ptr %t5973, i64 %t5972) - store ptr %t5974, ptr %t5962 - store i32 %t5968, ptr %t5961 - br label %put1328 -put1328: - %t5975 = load ptr, ptr %t5962 - %t5976 = getelementptr inbounds ptr, ptr %t5975, i32 %t5963 - store ptr @.str6788, ptr %t5976 - %t5977 = add i32 %t5963, 1 - store i32 %t5977, ptr %t5960 - %t5978 = load ptr, ptr %t337 - %t5979 = getelementptr inbounds %LSlice, ptr %t5978, i32 0, i32 1 - %t5980 = getelementptr inbounds %LSlice, ptr %t5978, i32 0, i32 2 - %t5981 = getelementptr inbounds %LSlice, ptr %t5978, i32 0, i32 0 - %t5982 = load i32, ptr %t5979 - %t5983 = load i32, ptr %t5980 - %t5984 = icmp sge i32 %t5982, %t5983 - br i1 %t5984, label %grow1329, label %put1330 -grow1329: - %t5985 = mul i32 %t5983, 2 - %t5986 = icmp eq i32 %t5983, 0 - %t5987 = select i1 %t5986, i32 8, i32 %t5985 - %t5988 = getelementptr ptr, ptr null, i32 1 - %t5989 = ptrtoint ptr %t5988 to i64 - %t5990 = zext i32 %t5987 to i64 - %t5991 = mul i64 %t5990, %t5989 - %t5992 = load ptr, ptr %t5981 - %t5993 = call ptr @realloc(ptr %t5992, i64 %t5991) - store ptr %t5993, ptr %t5981 - store i32 %t5987, ptr %t5980 - br label %put1330 -put1330: - %t5994 = load ptr, ptr %t5981 - %t5995 = getelementptr inbounds ptr, ptr %t5994, i32 %t5982 - store ptr @.str6789, ptr %t5995 - %t5996 = add i32 %t5982, 1 - store i32 %t5996, ptr %t5979 - br label %ifend1326 -ifend1326: - %t5997 = load ptr, ptr %t1 - %t5998 = call i32 @fn_str_eq(ptr %t5997, ptr @.str6790) - %t5999 = icmp ne i32 %t5998, 0 - br i1 %t5999, label %then1331, label %ifend1333 + %t6580 = load ptr, ptr %t1 + %t6581 = call i32 @fn_str_eq(ptr %t6580, ptr @.str7094) + %t6582 = icmp ne i32 %t6581, 0 + br i1 %t6582, label %then1322, label %ifend1324 +then1322: + store ptr @.str7095, ptr %t380 + br label %ifend1324 +ifend1324: + %t6583 = load ptr, ptr %t1 + %t6584 = call i32 @fn_str_eq(ptr %t6583, ptr @.str7096) + %t6585 = icmp ne i32 %t6584, 0 + br i1 %t6585, label %then1325, label %ifend1327 +then1325: + store ptr @.str7097, ptr %t380 + br label %ifend1327 +ifend1327: + %t6586 = load ptr, ptr %t1 + %t6587 = call i32 @fn_str_eq(ptr %t6586, ptr @.str7098) + %t6588 = icmp ne i32 %t6587, 0 + br i1 %t6588, label %then1328, label %ifend1330 +then1328: + store ptr @.str7099, ptr %t380 + br label %ifend1330 +ifend1330: + %t6589 = load ptr, ptr %t1 + %t6590 = call i32 @fn_str_eq(ptr %t6589, ptr @.str7100) + %t6591 = icmp ne i32 %t6590, 0 + br i1 %t6591, label %then1331, label %ifend1333 then1331: - store ptr @.str6791, ptr %t330 - %t6000 = load ptr, ptr %t337 - %t6001 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 1 - %t6002 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 2 - %t6003 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 0 - %t6004 = load i32, ptr %t6001 - %t6005 = load i32, ptr %t6002 - %t6006 = icmp sge i32 %t6004, %t6005 - br i1 %t6006, label %grow1334, label %put1335 -grow1334: - %t6007 = mul i32 %t6005, 2 - %t6008 = icmp eq i32 %t6005, 0 - %t6009 = select i1 %t6008, i32 8, i32 %t6007 - %t6010 = getelementptr ptr, ptr null, i32 1 - %t6011 = ptrtoint ptr %t6010 to i64 - %t6012 = zext i32 %t6009 to i64 - %t6013 = mul i64 %t6012, %t6011 - %t6014 = load ptr, ptr %t6003 - %t6015 = call ptr @realloc(ptr %t6014, i64 %t6013) - store ptr %t6015, ptr %t6003 - store i32 %t6009, ptr %t6002 - br label %put1335 -put1335: - %t6016 = load ptr, ptr %t6003 - %t6017 = getelementptr inbounds ptr, ptr %t6016, i32 %t6004 - store ptr @.str6792, ptr %t6017 - %t6018 = add i32 %t6004, 1 - store i32 %t6018, ptr %t6001 + store ptr @.str7101, ptr %t380 br label %ifend1333 ifend1333: - br label %ifend1268 -ifend1268: - %t6019 = load ptr, ptr %t0 - %t6020 = call i32 @fn_str_eq(ptr %t6019, ptr @.str6793) - %t6021 = icmp ne i32 %t6020, 0 - br i1 %t6021, label %then1336, label %ifend1338 -then1336: - %t6022 = load ptr, ptr %t1 - %t6023 = call i32 @fn_str_eq(ptr %t6022, ptr @.str6794) - %t6024 = icmp ne i32 %t6023, 0 - br i1 %t6024, label %then1339, label %ifend1341 -then1339: - store ptr @.str6795, ptr %t330 - br label %ifend1341 -ifend1341: - %t6025 = load ptr, ptr %t1 - %t6026 = call i32 @fn_str_eq(ptr %t6025, ptr @.str6796) - %t6027 = icmp ne i32 %t6026, 0 - br i1 %t6027, label %then1342, label %ifend1344 -then1342: - store ptr @.str6797, ptr %t330 - %t6028 = load ptr, ptr %t337 - %t6029 = getelementptr inbounds %LSlice, ptr %t6028, i32 0, i32 1 - %t6030 = getelementptr inbounds %LSlice, ptr %t6028, i32 0, i32 2 - %t6031 = getelementptr inbounds %LSlice, ptr %t6028, i32 0, i32 0 - %t6032 = load i32, ptr %t6029 - %t6033 = load i32, ptr %t6030 - %t6034 = icmp sge i32 %t6032, %t6033 - br i1 %t6034, label %grow1345, label %put1346 -grow1345: - %t6035 = mul i32 %t6033, 2 - %t6036 = icmp eq i32 %t6033, 0 - %t6037 = select i1 %t6036, i32 8, i32 %t6035 - %t6038 = getelementptr ptr, ptr null, i32 1 - %t6039 = ptrtoint ptr %t6038 to i64 - %t6040 = zext i32 %t6037 to i64 - %t6041 = mul i64 %t6040, %t6039 - %t6042 = load ptr, ptr %t6031 - %t6043 = call ptr @realloc(ptr %t6042, i64 %t6041) - store ptr %t6043, ptr %t6031 - store i32 %t6037, ptr %t6030 - br label %put1346 -put1346: - %t6044 = load ptr, ptr %t6031 - %t6045 = getelementptr inbounds ptr, ptr %t6044, i32 %t6032 - store ptr @.str6798, ptr %t6045 - %t6046 = add i32 %t6032, 1 - store i32 %t6046, ptr %t6029 - %t6047 = load ptr, ptr %t337 - %t6048 = getelementptr inbounds %LSlice, ptr %t6047, i32 0, i32 1 - %t6049 = getelementptr inbounds %LSlice, ptr %t6047, i32 0, i32 2 - %t6050 = getelementptr inbounds %LSlice, ptr %t6047, i32 0, i32 0 - %t6051 = load i32, ptr %t6048 - %t6052 = load i32, ptr %t6049 - %t6053 = icmp sge i32 %t6051, %t6052 - br i1 %t6053, label %grow1347, label %put1348 -grow1347: - %t6054 = mul i32 %t6052, 2 - %t6055 = icmp eq i32 %t6052, 0 - %t6056 = select i1 %t6055, i32 8, i32 %t6054 - %t6057 = getelementptr ptr, ptr null, i32 1 - %t6058 = ptrtoint ptr %t6057 to i64 - %t6059 = zext i32 %t6056 to i64 - %t6060 = mul i64 %t6059, %t6058 - %t6061 = load ptr, ptr %t6050 - %t6062 = call ptr @realloc(ptr %t6061, i64 %t6060) - store ptr %t6062, ptr %t6050 - store i32 %t6056, ptr %t6049 - br label %put1348 -put1348: - %t6063 = load ptr, ptr %t6050 - %t6064 = getelementptr inbounds ptr, ptr %t6063, i32 %t6051 - store ptr @.str6799, ptr %t6064 - %t6065 = add i32 %t6051, 1 - store i32 %t6065, ptr %t6048 - %t6066 = load ptr, ptr %t337 - %t6067 = getelementptr inbounds %LSlice, ptr %t6066, i32 0, i32 1 - %t6068 = getelementptr inbounds %LSlice, ptr %t6066, i32 0, i32 2 - %t6069 = getelementptr inbounds %LSlice, ptr %t6066, i32 0, i32 0 - %t6070 = load i32, ptr %t6067 - %t6071 = load i32, ptr %t6068 - %t6072 = icmp sge i32 %t6070, %t6071 - br i1 %t6072, label %grow1349, label %put1350 -grow1349: - %t6073 = mul i32 %t6071, 2 - %t6074 = icmp eq i32 %t6071, 0 - %t6075 = select i1 %t6074, i32 8, i32 %t6073 - %t6076 = getelementptr ptr, ptr null, i32 1 - %t6077 = ptrtoint ptr %t6076 to i64 - %t6078 = zext i32 %t6075 to i64 - %t6079 = mul i64 %t6078, %t6077 - %t6080 = load ptr, ptr %t6069 - %t6081 = call ptr @realloc(ptr %t6080, i64 %t6079) - store ptr %t6081, ptr %t6069 - store i32 %t6075, ptr %t6068 - br label %put1350 -put1350: - %t6082 = load ptr, ptr %t6069 - %t6083 = getelementptr inbounds ptr, ptr %t6082, i32 %t6070 - store ptr @.str6800, ptr %t6083 - %t6084 = add i32 %t6070, 1 - store i32 %t6084, ptr %t6067 - br label %ifend1344 -ifend1344: - %t6085 = load ptr, ptr %t1 - %t6086 = call i32 @fn_str_eq(ptr %t6085, ptr @.str6801) - %t6087 = icmp ne i32 %t6086, 0 - br i1 %t6087, label %then1351, label %ifend1353 -then1351: - store ptr @.str6802, ptr %t330 - %t6088 = load ptr, ptr %t337 - %t6089 = getelementptr inbounds %LSlice, ptr %t6088, i32 0, i32 1 - %t6090 = getelementptr inbounds %LSlice, ptr %t6088, i32 0, i32 2 - %t6091 = getelementptr inbounds %LSlice, ptr %t6088, i32 0, i32 0 - %t6092 = load i32, ptr %t6089 - %t6093 = load i32, ptr %t6090 - %t6094 = icmp sge i32 %t6092, %t6093 - br i1 %t6094, label %grow1354, label %put1355 -grow1354: - %t6095 = mul i32 %t6093, 2 - %t6096 = icmp eq i32 %t6093, 0 - %t6097 = select i1 %t6096, i32 8, i32 %t6095 - %t6098 = getelementptr ptr, ptr null, i32 1 - %t6099 = ptrtoint ptr %t6098 to i64 - %t6100 = zext i32 %t6097 to i64 - %t6101 = mul i64 %t6100, %t6099 - %t6102 = load ptr, ptr %t6091 - %t6103 = call ptr @realloc(ptr %t6102, i64 %t6101) - store ptr %t6103, ptr %t6091 - store i32 %t6097, ptr %t6090 - br label %put1355 -put1355: - %t6104 = load ptr, ptr %t6091 - %t6105 = getelementptr inbounds ptr, ptr %t6104, i32 %t6092 - store ptr @.str6803, ptr %t6105 - %t6106 = add i32 %t6092, 1 - store i32 %t6106, ptr %t6089 - %t6107 = load ptr, ptr %t337 - %t6108 = getelementptr inbounds %LSlice, ptr %t6107, i32 0, i32 1 - %t6109 = getelementptr inbounds %LSlice, ptr %t6107, i32 0, i32 2 - %t6110 = getelementptr inbounds %LSlice, ptr %t6107, i32 0, i32 0 - %t6111 = load i32, ptr %t6108 - %t6112 = load i32, ptr %t6109 - %t6113 = icmp sge i32 %t6111, %t6112 - br i1 %t6113, label %grow1356, label %put1357 -grow1356: - %t6114 = mul i32 %t6112, 2 - %t6115 = icmp eq i32 %t6112, 0 - %t6116 = select i1 %t6115, i32 8, i32 %t6114 - %t6117 = getelementptr ptr, ptr null, i32 1 - %t6118 = ptrtoint ptr %t6117 to i64 - %t6119 = zext i32 %t6116 to i64 - %t6120 = mul i64 %t6119, %t6118 - %t6121 = load ptr, ptr %t6110 - %t6122 = call ptr @realloc(ptr %t6121, i64 %t6120) - store ptr %t6122, ptr %t6110 - store i32 %t6116, ptr %t6109 - br label %put1357 -put1357: - %t6123 = load ptr, ptr %t6110 - %t6124 = getelementptr inbounds ptr, ptr %t6123, i32 %t6111 - store ptr @.str6804, ptr %t6124 - %t6125 = add i32 %t6111, 1 - store i32 %t6125, ptr %t6108 - br label %ifend1353 -ifend1353: - %t6126 = load ptr, ptr %t1 - %t6127 = call i32 @fn_str_eq(ptr %t6126, ptr @.str6805) - %t6128 = icmp ne i32 %t6127, 0 - br i1 %t6128, label %then1358, label %ifend1360 + %t6592 = load ptr, ptr %t1 + %t6593 = call i32 @fn_str_eq(ptr %t6592, ptr @.str7102) + %t6594 = icmp ne i32 %t6593, 0 + br i1 %t6594, label %then1334, label %ifend1336 +then1334: + store ptr @.str7103, ptr %t380 + br label %ifend1336 +ifend1336: + %t6595 = load ptr, ptr %t1 + %t6596 = call i32 @fn_str_eq(ptr %t6595, ptr @.str7104) + %t6597 = icmp ne i32 %t6596, 0 + br i1 %t6597, label %then1337, label %ifend1339 +then1337: + store ptr @.str7105, ptr %t380 + br label %ifend1339 +ifend1339: + %t6598 = load ptr, ptr %t1 + %t6599 = call i32 @fn_str_eq(ptr %t6598, ptr @.str7106) + %t6600 = icmp ne i32 %t6599, 0 + br i1 %t6600, label %then1340, label %ifend1342 +then1340: + store ptr @.str7107, ptr %t380 + br label %ifend1342 +ifend1342: + %t6601 = load ptr, ptr %t1 + %t6602 = call i32 @fn_str_eq(ptr %t6601, ptr @.str7108) + %t6603 = icmp ne i32 %t6602, 0 + br i1 %t6603, label %then1343, label %ifend1345 +then1343: + store ptr @.str7109, ptr %t380 + br label %ifend1345 +ifend1345: + %t6604 = load ptr, ptr %t1 + %t6605 = call i32 @fn_str_eq(ptr %t6604, ptr @.str7110) + %t6606 = icmp ne i32 %t6605, 0 + br i1 %t6606, label %then1346, label %ifend1348 +then1346: + store ptr @.str7111, ptr %t380 + br label %ifend1348 +ifend1348: + %t6607 = load ptr, ptr %t1 + %t6608 = call i32 @fn_str_eq(ptr %t6607, ptr @.str7112) + %t6609 = icmp ne i32 %t6608, 0 + br i1 %t6609, label %then1349, label %ifend1351 +then1349: + store ptr @.str7113, ptr %t380 + br label %ifend1351 +ifend1351: + %t6610 = load ptr, ptr %t1 + %t6611 = call i32 @fn_str_eq(ptr %t6610, ptr @.str7114) + %t6612 = icmp ne i32 %t6611, 0 + br i1 %t6612, label %then1352, label %ifend1354 +then1352: + store ptr @.str7115, ptr %t380 + br label %ifend1354 +ifend1354: + %t6613 = load ptr, ptr %t1 + %t6614 = call i32 @fn_str_eq(ptr %t6613, ptr @.str7116) + %t6615 = icmp ne i32 %t6614, 0 + br i1 %t6615, label %then1355, label %ifend1357 +then1355: + store ptr @.str7117, ptr %t380 + br label %ifend1357 +ifend1357: + %t6616 = load ptr, ptr %t1 + %t6617 = call i32 @fn_str_eq(ptr %t6616, ptr @.str7118) + %t6618 = icmp ne i32 %t6617, 0 + br i1 %t6618, label %then1358, label %ifend1360 then1358: - store ptr @.str6806, ptr %t330 - %t6129 = load ptr, ptr %t337 - %t6130 = getelementptr inbounds %LSlice, ptr %t6129, i32 0, i32 1 - %t6131 = getelementptr inbounds %LSlice, ptr %t6129, i32 0, i32 2 - %t6132 = getelementptr inbounds %LSlice, ptr %t6129, i32 0, i32 0 - %t6133 = load i32, ptr %t6130 - %t6134 = load i32, ptr %t6131 - %t6135 = icmp sge i32 %t6133, %t6134 - br i1 %t6135, label %grow1361, label %put1362 -grow1361: - %t6136 = mul i32 %t6134, 2 - %t6137 = icmp eq i32 %t6134, 0 - %t6138 = select i1 %t6137, i32 8, i32 %t6136 - %t6139 = getelementptr ptr, ptr null, i32 1 - %t6140 = ptrtoint ptr %t6139 to i64 - %t6141 = zext i32 %t6138 to i64 - %t6142 = mul i64 %t6141, %t6140 - %t6143 = load ptr, ptr %t6132 - %t6144 = call ptr @realloc(ptr %t6143, i64 %t6142) - store ptr %t6144, ptr %t6132 - store i32 %t6138, ptr %t6131 - br label %put1362 -put1362: - %t6145 = load ptr, ptr %t6132 - %t6146 = getelementptr inbounds ptr, ptr %t6145, i32 %t6133 - store ptr @.str6807, ptr %t6146 - %t6147 = add i32 %t6133, 1 - store i32 %t6147, ptr %t6130 - %t6148 = load ptr, ptr %t337 - %t6149 = getelementptr inbounds %LSlice, ptr %t6148, i32 0, i32 1 - %t6150 = getelementptr inbounds %LSlice, ptr %t6148, i32 0, i32 2 - %t6151 = getelementptr inbounds %LSlice, ptr %t6148, i32 0, i32 0 - %t6152 = load i32, ptr %t6149 - %t6153 = load i32, ptr %t6150 - %t6154 = icmp sge i32 %t6152, %t6153 - br i1 %t6154, label %grow1363, label %put1364 -grow1363: - %t6155 = mul i32 %t6153, 2 - %t6156 = icmp eq i32 %t6153, 0 - %t6157 = select i1 %t6156, i32 8, i32 %t6155 - %t6158 = getelementptr ptr, ptr null, i32 1 - %t6159 = ptrtoint ptr %t6158 to i64 - %t6160 = zext i32 %t6157 to i64 - %t6161 = mul i64 %t6160, %t6159 - %t6162 = load ptr, ptr %t6151 - %t6163 = call ptr @realloc(ptr %t6162, i64 %t6161) - store ptr %t6163, ptr %t6151 - store i32 %t6157, ptr %t6150 - br label %put1364 -put1364: - %t6164 = load ptr, ptr %t6151 - %t6165 = getelementptr inbounds ptr, ptr %t6164, i32 %t6152 - store ptr @.str6808, ptr %t6165 - %t6166 = add i32 %t6152, 1 - store i32 %t6166, ptr %t6149 - %t6167 = load ptr, ptr %t337 - %t6168 = getelementptr inbounds %LSlice, ptr %t6167, i32 0, i32 1 - %t6169 = getelementptr inbounds %LSlice, ptr %t6167, i32 0, i32 2 - %t6170 = getelementptr inbounds %LSlice, ptr %t6167, i32 0, i32 0 - %t6171 = load i32, ptr %t6168 - %t6172 = load i32, ptr %t6169 - %t6173 = icmp sge i32 %t6171, %t6172 - br i1 %t6173, label %grow1365, label %put1366 -grow1365: - %t6174 = mul i32 %t6172, 2 - %t6175 = icmp eq i32 %t6172, 0 - %t6176 = select i1 %t6175, i32 8, i32 %t6174 - %t6177 = getelementptr ptr, ptr null, i32 1 - %t6178 = ptrtoint ptr %t6177 to i64 - %t6179 = zext i32 %t6176 to i64 - %t6180 = mul i64 %t6179, %t6178 - %t6181 = load ptr, ptr %t6170 - %t6182 = call ptr @realloc(ptr %t6181, i64 %t6180) - store ptr %t6182, ptr %t6170 - store i32 %t6176, ptr %t6169 - br label %put1366 -put1366: - %t6183 = load ptr, ptr %t6170 - %t6184 = getelementptr inbounds ptr, ptr %t6183, i32 %t6171 - store ptr @.str6809, ptr %t6184 - %t6185 = add i32 %t6171, 1 - store i32 %t6185, ptr %t6168 + store ptr @.str7119, ptr %t380 br label %ifend1360 ifend1360: - %t6186 = load ptr, ptr %t1 - %t6187 = call i32 @fn_str_eq(ptr %t6186, ptr @.str6810) - %t6188 = icmp ne i32 %t6187, 0 - br i1 %t6188, label %then1367, label %ifend1369 + %t6619 = load ptr, ptr %t1 + %t6620 = call i32 @fn_str_eq(ptr %t6619, ptr @.str7120) + %t6621 = icmp ne i32 %t6620, 0 + br i1 %t6621, label %then1361, label %ifend1363 +then1361: + store ptr @.str7121, ptr %t380 + br label %ifend1363 +ifend1363: + %t6622 = load ptr, ptr %t1 + %t6623 = call i32 @fn_str_eq(ptr %t6622, ptr @.str7122) + %t6624 = icmp ne i32 %t6623, 0 + br i1 %t6624, label %then1364, label %ifend1366 +then1364: + store ptr @.str7123, ptr %t380 + br label %ifend1366 +ifend1366: + br label %ifend1315 +ifend1315: + %t6625 = load ptr, ptr %t0 + %t6626 = call i32 @fn_str_eq(ptr %t6625, ptr @.str7124) + %t6627 = icmp ne i32 %t6626, 0 + br i1 %t6627, label %then1367, label %ifend1369 then1367: - store ptr @.str6811, ptr %t330 - %t6189 = load ptr, ptr %t337 - %t6190 = getelementptr inbounds %LSlice, ptr %t6189, i32 0, i32 1 - %t6191 = getelementptr inbounds %LSlice, ptr %t6189, i32 0, i32 2 - %t6192 = getelementptr inbounds %LSlice, ptr %t6189, i32 0, i32 0 - %t6193 = load i32, ptr %t6190 - %t6194 = load i32, ptr %t6191 - %t6195 = icmp sge i32 %t6193, %t6194 - br i1 %t6195, label %grow1370, label %put1371 -grow1370: - %t6196 = mul i32 %t6194, 2 - %t6197 = icmp eq i32 %t6194, 0 - %t6198 = select i1 %t6197, i32 8, i32 %t6196 - %t6199 = getelementptr ptr, ptr null, i32 1 - %t6200 = ptrtoint ptr %t6199 to i64 - %t6201 = zext i32 %t6198 to i64 - %t6202 = mul i64 %t6201, %t6200 - %t6203 = load ptr, ptr %t6192 - %t6204 = call ptr @realloc(ptr %t6203, i64 %t6202) - store ptr %t6204, ptr %t6192 - store i32 %t6198, ptr %t6191 - br label %put1371 -put1371: - %t6205 = load ptr, ptr %t6192 - %t6206 = getelementptr inbounds ptr, ptr %t6205, i32 %t6193 - store ptr @.str6812, ptr %t6206 - %t6207 = add i32 %t6193, 1 - store i32 %t6207, ptr %t6190 - %t6208 = load ptr, ptr %t337 - %t6209 = getelementptr inbounds %LSlice, ptr %t6208, i32 0, i32 1 - %t6210 = getelementptr inbounds %LSlice, ptr %t6208, i32 0, i32 2 - %t6211 = getelementptr inbounds %LSlice, ptr %t6208, i32 0, i32 0 - %t6212 = load i32, ptr %t6209 - %t6213 = load i32, ptr %t6210 - %t6214 = icmp sge i32 %t6212, %t6213 - br i1 %t6214, label %grow1372, label %put1373 -grow1372: - %t6215 = mul i32 %t6213, 2 - %t6216 = icmp eq i32 %t6213, 0 - %t6217 = select i1 %t6216, i32 8, i32 %t6215 - %t6218 = getelementptr ptr, ptr null, i32 1 - %t6219 = ptrtoint ptr %t6218 to i64 - %t6220 = zext i32 %t6217 to i64 - %t6221 = mul i64 %t6220, %t6219 - %t6222 = load ptr, ptr %t6211 - %t6223 = call ptr @realloc(ptr %t6222, i64 %t6221) - store ptr %t6223, ptr %t6211 - store i32 %t6217, ptr %t6210 - br label %put1373 -put1373: - %t6224 = load ptr, ptr %t6211 - %t6225 = getelementptr inbounds ptr, ptr %t6224, i32 %t6212 - store ptr @.str6813, ptr %t6225 - %t6226 = add i32 %t6212, 1 - store i32 %t6226, ptr %t6209 - br label %ifend1369 -ifend1369: - %t6227 = load ptr, ptr %t1 - %t6228 = call i32 @fn_str_eq(ptr %t6227, ptr @.str6814) - %t6229 = icmp ne i32 %t6228, 0 - br i1 %t6229, label %then1374, label %ifend1376 -then1374: - store ptr @.str6815, ptr %t330 - %t6230 = load ptr, ptr %t337 - %t6231 = getelementptr inbounds %LSlice, ptr %t6230, i32 0, i32 1 - %t6232 = getelementptr inbounds %LSlice, ptr %t6230, i32 0, i32 2 - %t6233 = getelementptr inbounds %LSlice, ptr %t6230, i32 0, i32 0 - %t6234 = load i32, ptr %t6231 - %t6235 = load i32, ptr %t6232 - %t6236 = icmp sge i32 %t6234, %t6235 - br i1 %t6236, label %grow1377, label %put1378 -grow1377: - %t6237 = mul i32 %t6235, 2 - %t6238 = icmp eq i32 %t6235, 0 - %t6239 = select i1 %t6238, i32 8, i32 %t6237 - %t6240 = getelementptr ptr, ptr null, i32 1 - %t6241 = ptrtoint ptr %t6240 to i64 - %t6242 = zext i32 %t6239 to i64 - %t6243 = mul i64 %t6242, %t6241 - %t6244 = load ptr, ptr %t6233 - %t6245 = call ptr @realloc(ptr %t6244, i64 %t6243) - store ptr %t6245, ptr %t6233 - store i32 %t6239, ptr %t6232 - br label %put1378 -put1378: - %t6246 = load ptr, ptr %t6233 - %t6247 = getelementptr inbounds ptr, ptr %t6246, i32 %t6234 - store ptr @.str6816, ptr %t6247 - %t6248 = add i32 %t6234, 1 - store i32 %t6248, ptr %t6231 - %t6249 = load ptr, ptr %t337 - %t6250 = getelementptr inbounds %LSlice, ptr %t6249, i32 0, i32 1 - %t6251 = getelementptr inbounds %LSlice, ptr %t6249, i32 0, i32 2 - %t6252 = getelementptr inbounds %LSlice, ptr %t6249, i32 0, i32 0 - %t6253 = load i32, ptr %t6250 - %t6254 = load i32, ptr %t6251 - %t6255 = icmp sge i32 %t6253, %t6254 - br i1 %t6255, label %grow1379, label %put1380 -grow1379: - %t6256 = mul i32 %t6254, 2 - %t6257 = icmp eq i32 %t6254, 0 - %t6258 = select i1 %t6257, i32 8, i32 %t6256 - %t6259 = getelementptr ptr, ptr null, i32 1 - %t6260 = ptrtoint ptr %t6259 to i64 - %t6261 = zext i32 %t6258 to i64 - %t6262 = mul i64 %t6261, %t6260 - %t6263 = load ptr, ptr %t6252 - %t6264 = call ptr @realloc(ptr %t6263, i64 %t6262) - store ptr %t6264, ptr %t6252 - store i32 %t6258, ptr %t6251 - br label %put1380 -put1380: - %t6265 = load ptr, ptr %t6252 - %t6266 = getelementptr inbounds ptr, ptr %t6265, i32 %t6253 - store ptr @.str6817, ptr %t6266 - %t6267 = add i32 %t6253, 1 - store i32 %t6267, ptr %t6250 - br label %ifend1376 -ifend1376: - %t6268 = load ptr, ptr %t1 - %t6269 = call i32 @fn_str_eq(ptr %t6268, ptr @.str6818) - %t6270 = icmp ne i32 %t6269, 0 - br i1 %t6270, label %then1381, label %ifend1383 -then1381: - store ptr @.str6819, ptr %t330 - %t6271 = load ptr, ptr %t337 - %t6272 = getelementptr inbounds %LSlice, ptr %t6271, i32 0, i32 1 - %t6273 = getelementptr inbounds %LSlice, ptr %t6271, i32 0, i32 2 - %t6274 = getelementptr inbounds %LSlice, ptr %t6271, i32 0, i32 0 - %t6275 = load i32, ptr %t6272 - %t6276 = load i32, ptr %t6273 - %t6277 = icmp sge i32 %t6275, %t6276 - br i1 %t6277, label %grow1384, label %put1385 -grow1384: - %t6278 = mul i32 %t6276, 2 - %t6279 = icmp eq i32 %t6276, 0 - %t6280 = select i1 %t6279, i32 8, i32 %t6278 - %t6281 = getelementptr ptr, ptr null, i32 1 - %t6282 = ptrtoint ptr %t6281 to i64 - %t6283 = zext i32 %t6280 to i64 - %t6284 = mul i64 %t6283, %t6282 - %t6285 = load ptr, ptr %t6274 - %t6286 = call ptr @realloc(ptr %t6285, i64 %t6284) - store ptr %t6286, ptr %t6274 - store i32 %t6280, ptr %t6273 - br label %put1385 -put1385: - %t6287 = load ptr, ptr %t6274 - %t6288 = getelementptr inbounds ptr, ptr %t6287, i32 %t6275 - store ptr @.str6820, ptr %t6288 - %t6289 = add i32 %t6275, 1 - store i32 %t6289, ptr %t6272 - br label %ifend1383 -ifend1383: - %t6290 = load ptr, ptr %t1 - %t6291 = call i32 @fn_str_eq(ptr %t6290, ptr @.str6821) - %t6292 = icmp ne i32 %t6291, 0 - br i1 %t6292, label %then1386, label %ifend1388 -then1386: - store ptr @.str6822, ptr %t330 - %t6293 = load ptr, ptr %t337 - %t6294 = getelementptr inbounds %LSlice, ptr %t6293, i32 0, i32 1 - %t6295 = getelementptr inbounds %LSlice, ptr %t6293, i32 0, i32 2 - %t6296 = getelementptr inbounds %LSlice, ptr %t6293, i32 0, i32 0 - %t6297 = load i32, ptr %t6294 - %t6298 = load i32, ptr %t6295 - %t6299 = icmp sge i32 %t6297, %t6298 - br i1 %t6299, label %grow1389, label %put1390 -grow1389: - %t6300 = mul i32 %t6298, 2 - %t6301 = icmp eq i32 %t6298, 0 - %t6302 = select i1 %t6301, i32 8, i32 %t6300 - %t6303 = getelementptr ptr, ptr null, i32 1 - %t6304 = ptrtoint ptr %t6303 to i64 - %t6305 = zext i32 %t6302 to i64 - %t6306 = mul i64 %t6305, %t6304 - %t6307 = load ptr, ptr %t6296 - %t6308 = call ptr @realloc(ptr %t6307, i64 %t6306) - store ptr %t6308, ptr %t6296 - store i32 %t6302, ptr %t6295 - br label %put1390 -put1390: - %t6309 = load ptr, ptr %t6296 - %t6310 = getelementptr inbounds ptr, ptr %t6309, i32 %t6297 - store ptr @.str6823, ptr %t6310 - %t6311 = add i32 %t6297, 1 - store i32 %t6311, ptr %t6294 - br label %ifend1388 -ifend1388: - %t6312 = load ptr, ptr %t1 - %t6313 = call i32 @fn_str_eq(ptr %t6312, ptr @.str6824) - %t6314 = icmp ne i32 %t6313, 0 - br i1 %t6314, label %then1391, label %ifend1393 + %t6628 = load ptr, ptr %t1 + %t6629 = call i32 @fn_str_eq(ptr %t6628, ptr @.str7125) + %t6630 = icmp ne i32 %t6629, 0 + br i1 %t6630, label %then1370, label %ifend1372 +then1370: + store ptr @.str7126, ptr %t380 + br label %ifend1372 +ifend1372: + %t6631 = load ptr, ptr %t1 + %t6632 = call i32 @fn_str_eq(ptr %t6631, ptr @.str7127) + %t6633 = icmp ne i32 %t6632, 0 + br i1 %t6633, label %then1373, label %ifend1375 +then1373: + store ptr @.str7128, ptr %t380 + br label %ifend1375 +ifend1375: + %t6634 = load ptr, ptr %t1 + %t6635 = call i32 @fn_str_eq(ptr %t6634, ptr @.str7129) + %t6636 = icmp ne i32 %t6635, 0 + br i1 %t6636, label %then1376, label %ifend1378 +then1376: + store ptr @.str7130, ptr %t380 + br label %ifend1378 +ifend1378: + %t6637 = load ptr, ptr %t1 + %t6638 = call i32 @fn_str_eq(ptr %t6637, ptr @.str7131) + %t6639 = icmp ne i32 %t6638, 0 + br i1 %t6639, label %then1379, label %ifend1381 +then1379: + store ptr @.str7132, ptr %t380 + br label %ifend1381 +ifend1381: + %t6640 = load ptr, ptr %t1 + %t6641 = call i32 @fn_str_eq(ptr %t6640, ptr @.str7133) + %t6642 = icmp ne i32 %t6641, 0 + br i1 %t6642, label %then1382, label %ifend1384 +then1382: + store ptr @.str7134, ptr %t380 + br label %ifend1384 +ifend1384: + %t6643 = load ptr, ptr %t1 + %t6644 = call i32 @fn_str_eq(ptr %t6643, ptr @.str7135) + %t6645 = icmp ne i32 %t6644, 0 + br i1 %t6645, label %then1385, label %ifend1387 +then1385: + store ptr @.str7136, ptr %t380 + br label %ifend1387 +ifend1387: + %t6646 = load ptr, ptr %t1 + %t6647 = call i32 @fn_str_eq(ptr %t6646, ptr @.str7137) + %t6648 = icmp ne i32 %t6647, 0 + br i1 %t6648, label %then1388, label %ifend1390 +then1388: + store ptr @.str7138, ptr %t380 + br label %ifend1390 +ifend1390: + %t6649 = load ptr, ptr %t1 + %t6650 = call i32 @fn_str_eq(ptr %t6649, ptr @.str7139) + %t6651 = icmp ne i32 %t6650, 0 + br i1 %t6651, label %then1391, label %ifend1393 then1391: - store ptr @.str6825, ptr %t330 - %t6315 = load ptr, ptr %t337 - %t6316 = getelementptr inbounds %LSlice, ptr %t6315, i32 0, i32 1 - %t6317 = getelementptr inbounds %LSlice, ptr %t6315, i32 0, i32 2 - %t6318 = getelementptr inbounds %LSlice, ptr %t6315, i32 0, i32 0 - %t6319 = load i32, ptr %t6316 - %t6320 = load i32, ptr %t6317 - %t6321 = icmp sge i32 %t6319, %t6320 - br i1 %t6321, label %grow1394, label %put1395 -grow1394: - %t6322 = mul i32 %t6320, 2 - %t6323 = icmp eq i32 %t6320, 0 - %t6324 = select i1 %t6323, i32 8, i32 %t6322 - %t6325 = getelementptr ptr, ptr null, i32 1 - %t6326 = ptrtoint ptr %t6325 to i64 - %t6327 = zext i32 %t6324 to i64 - %t6328 = mul i64 %t6327, %t6326 - %t6329 = load ptr, ptr %t6318 - %t6330 = call ptr @realloc(ptr %t6329, i64 %t6328) - store ptr %t6330, ptr %t6318 - store i32 %t6324, ptr %t6317 - br label %put1395 -put1395: - %t6331 = load ptr, ptr %t6318 - %t6332 = getelementptr inbounds ptr, ptr %t6331, i32 %t6319 - store ptr @.str6826, ptr %t6332 - %t6333 = add i32 %t6319, 1 - store i32 %t6333, ptr %t6316 + store ptr @.str7140, ptr %t380 br label %ifend1393 ifend1393: - br label %ifend1338 -ifend1338: - %t6334 = load ptr, ptr %t0 - %t6335 = call i32 @fn_str_eq(ptr %t6334, ptr @.str6827) - %t6336 = icmp ne i32 %t6335, 0 - br i1 %t6336, label %then1396, label %ifend1398 -then1396: - %t6337 = load ptr, ptr %t1 - %t6338 = call i32 @fn_str_eq(ptr %t6337, ptr @.str6828) - %t6339 = icmp ne i32 %t6338, 0 - br i1 %t6339, label %then1399, label %ifend1401 -then1399: - store ptr @.str6829, ptr %t330 - br label %ifend1401 -ifend1401: - %t6340 = load ptr, ptr %t1 - %t6341 = call i32 @fn_str_eq(ptr %t6340, ptr @.str6830) - %t6342 = icmp ne i32 %t6341, 0 - br i1 %t6342, label %then1402, label %ifend1404 -then1402: - store ptr @.str6831, ptr %t330 - %t6343 = load ptr, ptr %t337 - %t6344 = getelementptr inbounds %LSlice, ptr %t6343, i32 0, i32 1 - %t6345 = getelementptr inbounds %LSlice, ptr %t6343, i32 0, i32 2 - %t6346 = getelementptr inbounds %LSlice, ptr %t6343, i32 0, i32 0 - %t6347 = load i32, ptr %t6344 - %t6348 = load i32, ptr %t6345 - %t6349 = icmp sge i32 %t6347, %t6348 - br i1 %t6349, label %grow1405, label %put1406 -grow1405: - %t6350 = mul i32 %t6348, 2 - %t6351 = icmp eq i32 %t6348, 0 - %t6352 = select i1 %t6351, i32 8, i32 %t6350 - %t6353 = getelementptr ptr, ptr null, i32 1 - %t6354 = ptrtoint ptr %t6353 to i64 - %t6355 = zext i32 %t6352 to i64 - %t6356 = mul i64 %t6355, %t6354 - %t6357 = load ptr, ptr %t6346 - %t6358 = call ptr @realloc(ptr %t6357, i64 %t6356) - store ptr %t6358, ptr %t6346 - store i32 %t6352, ptr %t6345 - br label %put1406 -put1406: - %t6359 = load ptr, ptr %t6346 - %t6360 = getelementptr inbounds ptr, ptr %t6359, i32 %t6347 - store ptr @.str6832, ptr %t6360 - %t6361 = add i32 %t6347, 1 - store i32 %t6361, ptr %t6344 - %t6362 = load ptr, ptr %t337 - %t6363 = getelementptr inbounds %LSlice, ptr %t6362, i32 0, i32 1 - %t6364 = getelementptr inbounds %LSlice, ptr %t6362, i32 0, i32 2 - %t6365 = getelementptr inbounds %LSlice, ptr %t6362, i32 0, i32 0 - %t6366 = load i32, ptr %t6363 - %t6367 = load i32, ptr %t6364 - %t6368 = icmp sge i32 %t6366, %t6367 - br i1 %t6368, label %grow1407, label %put1408 -grow1407: - %t6369 = mul i32 %t6367, 2 - %t6370 = icmp eq i32 %t6367, 0 - %t6371 = select i1 %t6370, i32 8, i32 %t6369 - %t6372 = getelementptr ptr, ptr null, i32 1 - %t6373 = ptrtoint ptr %t6372 to i64 - %t6374 = zext i32 %t6371 to i64 - %t6375 = mul i64 %t6374, %t6373 - %t6376 = load ptr, ptr %t6365 - %t6377 = call ptr @realloc(ptr %t6376, i64 %t6375) - store ptr %t6377, ptr %t6365 - store i32 %t6371, ptr %t6364 - br label %put1408 -put1408: - %t6378 = load ptr, ptr %t6365 - %t6379 = getelementptr inbounds ptr, ptr %t6378, i32 %t6366 - store ptr @.str6833, ptr %t6379 - %t6380 = add i32 %t6366, 1 - store i32 %t6380, ptr %t6363 - br label %ifend1404 -ifend1404: - %t6381 = load ptr, ptr %t1 - %t6382 = call i32 @fn_str_eq(ptr %t6381, ptr @.str6834) - %t6383 = icmp ne i32 %t6382, 0 - br i1 %t6383, label %then1409, label %ifend1411 + %t6652 = load ptr, ptr %t1 + %t6653 = call i32 @fn_str_eq(ptr %t6652, ptr @.str7141) + %t6654 = icmp ne i32 %t6653, 0 + br i1 %t6654, label %then1394, label %ifend1396 +then1394: + store ptr @.str7142, ptr %t380 + br label %ifend1396 +ifend1396: + br label %ifend1369 +ifend1369: + %t6655 = load ptr, ptr %t0 + %t6656 = call i32 @fn_str_eq(ptr %t6655, ptr @.str7143) + %t6657 = icmp ne i32 %t6656, 0 + br i1 %t6657, label %then1397, label %ifend1399 +then1397: + %t6658 = load ptr, ptr %t1 + %t6659 = call i32 @fn_str_eq(ptr %t6658, ptr @.str7144) + %t6660 = icmp ne i32 %t6659, 0 + br i1 %t6660, label %then1400, label %ifend1402 +then1400: + store ptr @.str7145, ptr %t380 + br label %ifend1402 +ifend1402: + %t6661 = load ptr, ptr %t1 + %t6662 = call i32 @fn_str_eq(ptr %t6661, ptr @.str7146) + %t6663 = icmp ne i32 %t6662, 0 + br i1 %t6663, label %then1403, label %ifend1405 +then1403: + store ptr @.str7147, ptr %t380 + br label %ifend1405 +ifend1405: + %t6664 = load ptr, ptr %t1 + %t6665 = call i32 @fn_str_eq(ptr %t6664, ptr @.str7148) + %t6666 = icmp ne i32 %t6665, 0 + br i1 %t6666, label %then1406, label %ifend1408 +then1406: + store ptr @.str7149, ptr %t380 + br label %ifend1408 +ifend1408: + %t6667 = load ptr, ptr %t1 + %t6668 = call i32 @fn_str_eq(ptr %t6667, ptr @.str7150) + %t6669 = icmp ne i32 %t6668, 0 + br i1 %t6669, label %then1409, label %ifend1411 then1409: - store ptr @.str6835, ptr %t330 - %t6384 = load ptr, ptr %t337 - %t6385 = getelementptr inbounds %LSlice, ptr %t6384, i32 0, i32 1 - %t6386 = getelementptr inbounds %LSlice, ptr %t6384, i32 0, i32 2 - %t6387 = getelementptr inbounds %LSlice, ptr %t6384, i32 0, i32 0 - %t6388 = load i32, ptr %t6385 - %t6389 = load i32, ptr %t6386 - %t6390 = icmp sge i32 %t6388, %t6389 - br i1 %t6390, label %grow1412, label %put1413 -grow1412: - %t6391 = mul i32 %t6389, 2 - %t6392 = icmp eq i32 %t6389, 0 - %t6393 = select i1 %t6392, i32 8, i32 %t6391 - %t6394 = getelementptr ptr, ptr null, i32 1 - %t6395 = ptrtoint ptr %t6394 to i64 - %t6396 = zext i32 %t6393 to i64 - %t6397 = mul i64 %t6396, %t6395 - %t6398 = load ptr, ptr %t6387 - %t6399 = call ptr @realloc(ptr %t6398, i64 %t6397) - store ptr %t6399, ptr %t6387 - store i32 %t6393, ptr %t6386 - br label %put1413 -put1413: - %t6400 = load ptr, ptr %t6387 - %t6401 = getelementptr inbounds ptr, ptr %t6400, i32 %t6388 - store ptr @.str6836, ptr %t6401 - %t6402 = add i32 %t6388, 1 - store i32 %t6402, ptr %t6385 - %t6403 = load ptr, ptr %t337 - %t6404 = getelementptr inbounds %LSlice, ptr %t6403, i32 0, i32 1 - %t6405 = getelementptr inbounds %LSlice, ptr %t6403, i32 0, i32 2 - %t6406 = getelementptr inbounds %LSlice, ptr %t6403, i32 0, i32 0 - %t6407 = load i32, ptr %t6404 - %t6408 = load i32, ptr %t6405 - %t6409 = icmp sge i32 %t6407, %t6408 - br i1 %t6409, label %grow1414, label %put1415 -grow1414: - %t6410 = mul i32 %t6408, 2 - %t6411 = icmp eq i32 %t6408, 0 - %t6412 = select i1 %t6411, i32 8, i32 %t6410 - %t6413 = getelementptr ptr, ptr null, i32 1 - %t6414 = ptrtoint ptr %t6413 to i64 - %t6415 = zext i32 %t6412 to i64 - %t6416 = mul i64 %t6415, %t6414 - %t6417 = load ptr, ptr %t6406 - %t6418 = call ptr @realloc(ptr %t6417, i64 %t6416) - store ptr %t6418, ptr %t6406 - store i32 %t6412, ptr %t6405 - br label %put1415 -put1415: - %t6419 = load ptr, ptr %t6406 - %t6420 = getelementptr inbounds ptr, ptr %t6419, i32 %t6407 - store ptr @.str6837, ptr %t6420 - %t6421 = add i32 %t6407, 1 - store i32 %t6421, ptr %t6404 + store ptr @.str7151, ptr %t380 br label %ifend1411 ifend1411: - %t6422 = load ptr, ptr %t1 - %t6423 = call i32 @fn_str_eq(ptr %t6422, ptr @.str6838) - %t6424 = icmp ne i32 %t6423, 0 - br i1 %t6424, label %then1416, label %ifend1418 -then1416: - store ptr @.str6839, ptr %t330 - %t6425 = load ptr, ptr %t337 - %t6426 = getelementptr inbounds %LSlice, ptr %t6425, i32 0, i32 1 - %t6427 = getelementptr inbounds %LSlice, ptr %t6425, i32 0, i32 2 - %t6428 = getelementptr inbounds %LSlice, ptr %t6425, i32 0, i32 0 - %t6429 = load i32, ptr %t6426 - %t6430 = load i32, ptr %t6427 - %t6431 = icmp sge i32 %t6429, %t6430 - br i1 %t6431, label %grow1419, label %put1420 -grow1419: - %t6432 = mul i32 %t6430, 2 - %t6433 = icmp eq i32 %t6430, 0 - %t6434 = select i1 %t6433, i32 8, i32 %t6432 - %t6435 = getelementptr ptr, ptr null, i32 1 - %t6436 = ptrtoint ptr %t6435 to i64 - %t6437 = zext i32 %t6434 to i64 - %t6438 = mul i64 %t6437, %t6436 - %t6439 = load ptr, ptr %t6428 - %t6440 = call ptr @realloc(ptr %t6439, i64 %t6438) - store ptr %t6440, ptr %t6428 - store i32 %t6434, ptr %t6427 - br label %put1420 -put1420: - %t6441 = load ptr, ptr %t6428 - %t6442 = getelementptr inbounds ptr, ptr %t6441, i32 %t6429 - store ptr @.str6840, ptr %t6442 - %t6443 = add i32 %t6429, 1 - store i32 %t6443, ptr %t6426 - %t6444 = load ptr, ptr %t337 - %t6445 = getelementptr inbounds %LSlice, ptr %t6444, i32 0, i32 1 - %t6446 = getelementptr inbounds %LSlice, ptr %t6444, i32 0, i32 2 - %t6447 = getelementptr inbounds %LSlice, ptr %t6444, i32 0, i32 0 - %t6448 = load i32, ptr %t6445 - %t6449 = load i32, ptr %t6446 - %t6450 = icmp sge i32 %t6448, %t6449 - br i1 %t6450, label %grow1421, label %put1422 -grow1421: - %t6451 = mul i32 %t6449, 2 - %t6452 = icmp eq i32 %t6449, 0 - %t6453 = select i1 %t6452, i32 8, i32 %t6451 - %t6454 = getelementptr ptr, ptr null, i32 1 - %t6455 = ptrtoint ptr %t6454 to i64 - %t6456 = zext i32 %t6453 to i64 - %t6457 = mul i64 %t6456, %t6455 - %t6458 = load ptr, ptr %t6447 - %t6459 = call ptr @realloc(ptr %t6458, i64 %t6457) - store ptr %t6459, ptr %t6447 - store i32 %t6453, ptr %t6446 - br label %put1422 -put1422: - %t6460 = load ptr, ptr %t6447 - %t6461 = getelementptr inbounds ptr, ptr %t6460, i32 %t6448 - store ptr @.str6841, ptr %t6461 - %t6462 = add i32 %t6448, 1 - store i32 %t6462, ptr %t6445 - br label %ifend1418 -ifend1418: - %t6463 = load ptr, ptr %t1 - %t6464 = call i32 @fn_str_eq(ptr %t6463, ptr @.str6842) - %t6465 = icmp ne i32 %t6464, 0 - br i1 %t6465, label %then1423, label %ifend1425 -then1423: - store ptr @.str6843, ptr %t330 - %t6466 = load ptr, ptr %t337 - %t6467 = getelementptr inbounds %LSlice, ptr %t6466, i32 0, i32 1 - %t6468 = getelementptr inbounds %LSlice, ptr %t6466, i32 0, i32 2 - %t6469 = getelementptr inbounds %LSlice, ptr %t6466, i32 0, i32 0 - %t6470 = load i32, ptr %t6467 - %t6471 = load i32, ptr %t6468 - %t6472 = icmp sge i32 %t6470, %t6471 - br i1 %t6472, label %grow1426, label %put1427 -grow1426: - %t6473 = mul i32 %t6471, 2 - %t6474 = icmp eq i32 %t6471, 0 - %t6475 = select i1 %t6474, i32 8, i32 %t6473 - %t6476 = getelementptr ptr, ptr null, i32 1 - %t6477 = ptrtoint ptr %t6476 to i64 - %t6478 = zext i32 %t6475 to i64 - %t6479 = mul i64 %t6478, %t6477 - %t6480 = load ptr, ptr %t6469 - %t6481 = call ptr @realloc(ptr %t6480, i64 %t6479) - store ptr %t6481, ptr %t6469 - store i32 %t6475, ptr %t6468 - br label %put1427 -put1427: - %t6482 = load ptr, ptr %t6469 - %t6483 = getelementptr inbounds ptr, ptr %t6482, i32 %t6470 - store ptr @.str6844, ptr %t6483 - %t6484 = add i32 %t6470, 1 - store i32 %t6484, ptr %t6467 - br label %ifend1425 -ifend1425: - %t6485 = load ptr, ptr %t1 - %t6486 = call i32 @fn_str_eq(ptr %t6485, ptr @.str6845) - %t6487 = icmp ne i32 %t6486, 0 - br i1 %t6487, label %then1428, label %ifend1430 -then1428: - store ptr @.str6846, ptr %t330 - %t6488 = load ptr, ptr %t337 - %t6489 = getelementptr inbounds %LSlice, ptr %t6488, i32 0, i32 1 - %t6490 = getelementptr inbounds %LSlice, ptr %t6488, i32 0, i32 2 - %t6491 = getelementptr inbounds %LSlice, ptr %t6488, i32 0, i32 0 - %t6492 = load i32, ptr %t6489 - %t6493 = load i32, ptr %t6490 - %t6494 = icmp sge i32 %t6492, %t6493 - br i1 %t6494, label %grow1431, label %put1432 -grow1431: - %t6495 = mul i32 %t6493, 2 - %t6496 = icmp eq i32 %t6493, 0 - %t6497 = select i1 %t6496, i32 8, i32 %t6495 - %t6498 = getelementptr ptr, ptr null, i32 1 - %t6499 = ptrtoint ptr %t6498 to i64 - %t6500 = zext i32 %t6497 to i64 - %t6501 = mul i64 %t6500, %t6499 - %t6502 = load ptr, ptr %t6491 - %t6503 = call ptr @realloc(ptr %t6502, i64 %t6501) - store ptr %t6503, ptr %t6491 - store i32 %t6497, ptr %t6490 - br label %put1432 -put1432: - %t6504 = load ptr, ptr %t6491 - %t6505 = getelementptr inbounds ptr, ptr %t6504, i32 %t6492 - store ptr @.str6847, ptr %t6505 - %t6506 = add i32 %t6492, 1 - store i32 %t6506, ptr %t6489 - br label %ifend1430 -ifend1430: - %t6507 = load ptr, ptr %t1 - %t6508 = call i32 @fn_str_eq(ptr %t6507, ptr @.str6848) - %t6509 = icmp ne i32 %t6508, 0 - br i1 %t6509, label %then1433, label %ifend1435 + %t6670 = load ptr, ptr %t1 + %t6671 = call i32 @fn_str_eq(ptr %t6670, ptr @.str7152) + %t6672 = icmp ne i32 %t6671, 0 + br i1 %t6672, label %then1412, label %ifend1414 +then1412: + store ptr @.str7153, ptr %t380 + br label %ifend1414 +ifend1414: + %t6673 = load ptr, ptr %t1 + %t6674 = call i32 @fn_str_eq(ptr %t6673, ptr @.str7154) + %t6675 = icmp ne i32 %t6674, 0 + br i1 %t6675, label %then1415, label %ifend1417 +then1415: + store ptr @.str7155, ptr %t380 + br label %ifend1417 +ifend1417: + %t6676 = load ptr, ptr %t1 + %t6677 = call i32 @fn_str_eq(ptr %t6676, ptr @.str7156) + %t6678 = icmp ne i32 %t6677, 0 + br i1 %t6678, label %then1418, label %ifend1420 +then1418: + store ptr @.str7157, ptr %t380 + br label %ifend1420 +ifend1420: + %t6679 = load ptr, ptr %t1 + %t6680 = call i32 @fn_str_eq(ptr %t6679, ptr @.str7158) + %t6681 = icmp ne i32 %t6680, 0 + br i1 %t6681, label %then1421, label %ifend1423 +then1421: + store ptr @.str7159, ptr %t380 + br label %ifend1423 +ifend1423: + br label %ifend1399 +ifend1399: + %t6682 = load ptr, ptr %t0 + %t6683 = call i32 @fn_str_eq(ptr %t6682, ptr @.str7160) + %t6684 = icmp ne i32 %t6683, 0 + br i1 %t6684, label %then1424, label %ifend1426 +then1424: + %t6685 = load ptr, ptr %t1 + %t6686 = call i32 @fn_str_eq(ptr %t6685, ptr @.str7161) + %t6687 = icmp ne i32 %t6686, 0 + br i1 %t6687, label %then1427, label %ifend1429 +then1427: + store ptr @.str7162, ptr %t380 + br label %ifend1429 +ifend1429: + %t6688 = load ptr, ptr %t1 + %t6689 = call i32 @fn_str_eq(ptr %t6688, ptr @.str7163) + %t6690 = icmp ne i32 %t6689, 0 + br i1 %t6690, label %then1430, label %ifend1432 +then1430: + store ptr @.str7164, ptr %t380 + br label %ifend1432 +ifend1432: + br label %ifend1426 +ifend1426: + %t6691 = load ptr, ptr %t0 + %t6692 = call i32 @fn_str_eq(ptr %t6691, ptr @.str7165) + %t6693 = icmp ne i32 %t6692, 0 + br i1 %t6693, label %then1433, label %ifend1435 then1433: - store ptr @.str6849, ptr %t330 - %t6510 = load ptr, ptr %t337 - %t6511 = getelementptr inbounds %LSlice, ptr %t6510, i32 0, i32 1 - %t6512 = getelementptr inbounds %LSlice, ptr %t6510, i32 0, i32 2 - %t6513 = getelementptr inbounds %LSlice, ptr %t6510, i32 0, i32 0 - %t6514 = load i32, ptr %t6511 - %t6515 = load i32, ptr %t6512 - %t6516 = icmp sge i32 %t6514, %t6515 - br i1 %t6516, label %grow1436, label %put1437 -grow1436: - %t6517 = mul i32 %t6515, 2 - %t6518 = icmp eq i32 %t6515, 0 - %t6519 = select i1 %t6518, i32 8, i32 %t6517 - %t6520 = getelementptr ptr, ptr null, i32 1 - %t6521 = ptrtoint ptr %t6520 to i64 - %t6522 = zext i32 %t6519 to i64 - %t6523 = mul i64 %t6522, %t6521 - %t6524 = load ptr, ptr %t6513 - %t6525 = call ptr @realloc(ptr %t6524, i64 %t6523) - store ptr %t6525, ptr %t6513 - store i32 %t6519, ptr %t6512 - br label %put1437 -put1437: - %t6526 = load ptr, ptr %t6513 - %t6527 = getelementptr inbounds ptr, ptr %t6526, i32 %t6514 - store ptr @.str6850, ptr %t6527 - %t6528 = add i32 %t6514, 1 - store i32 %t6528, ptr %t6511 - br label %ifend1435 -ifend1435: - br label %ifend1398 -ifend1398: - %t6529 = load ptr, ptr %t0 - %t6530 = call i32 @fn_str_eq(ptr %t6529, ptr @.str6851) - %t6531 = icmp ne i32 %t6530, 0 - br i1 %t6531, label %then1438, label %ifend1440 -then1438: - %t6532 = load ptr, ptr %t1 - %t6533 = call i32 @fn_str_eq(ptr %t6532, ptr @.str6852) - %t6534 = icmp ne i32 %t6533, 0 - br i1 %t6534, label %then1441, label %ifend1443 + %t6694 = load ptr, ptr %t1 + %t6695 = call i32 @fn_str_eq(ptr %t6694, ptr @.str7166) + %t6696 = icmp ne i32 %t6695, 0 + br i1 %t6696, label %then1436, label %ifend1438 +then1436: + store ptr @.str7167, ptr %t380 + %t6697 = load ptr, ptr %t387 + %t6698 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 1 + %t6699 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 2 + %t6700 = getelementptr inbounds %LSlice, ptr %t6697, i32 0, i32 0 + %t6701 = load i32, ptr %t6698 + %t6702 = load i32, ptr %t6699 + %t6703 = icmp sge i32 %t6701, %t6702 + br i1 %t6703, label %grow1439, label %put1440 +grow1439: + %t6704 = mul i32 %t6702, 2 + %t6705 = icmp eq i32 %t6702, 0 + %t6706 = select i1 %t6705, i32 8, i32 %t6704 + %t6707 = getelementptr ptr, ptr null, i32 1 + %t6708 = ptrtoint ptr %t6707 to i64 + %t6709 = zext i32 %t6706 to i64 + %t6710 = mul i64 %t6709, %t6708 + %t6711 = load ptr, ptr %t6700 + %t6712 = call ptr @realloc(ptr %t6711, i64 %t6710) + store ptr %t6712, ptr %t6700 + store i32 %t6706, ptr %t6699 + br label %put1440 +put1440: + %t6713 = load ptr, ptr %t6700 + %t6714 = getelementptr inbounds ptr, ptr %t6713, i32 %t6701 + store ptr @.str7168, ptr %t6714 + %t6715 = add i32 %t6701, 1 + store i32 %t6715, ptr %t6698 + br label %ifend1438 +ifend1438: + %t6716 = load ptr, ptr %t1 + %t6717 = call i32 @fn_str_eq(ptr %t6716, ptr @.str7169) + %t6718 = icmp ne i32 %t6717, 0 + br i1 %t6718, label %then1441, label %ifend1443 then1441: - store ptr @.str6853, ptr %t330 + store ptr @.str7170, ptr %t380 + %t6719 = load ptr, ptr %t387 + %t6720 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 1 + %t6721 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 2 + %t6722 = getelementptr inbounds %LSlice, ptr %t6719, i32 0, i32 0 + %t6723 = load i32, ptr %t6720 + %t6724 = load i32, ptr %t6721 + %t6725 = icmp sge i32 %t6723, %t6724 + br i1 %t6725, label %grow1444, label %put1445 +grow1444: + %t6726 = mul i32 %t6724, 2 + %t6727 = icmp eq i32 %t6724, 0 + %t6728 = select i1 %t6727, i32 8, i32 %t6726 + %t6729 = getelementptr ptr, ptr null, i32 1 + %t6730 = ptrtoint ptr %t6729 to i64 + %t6731 = zext i32 %t6728 to i64 + %t6732 = mul i64 %t6731, %t6730 + %t6733 = load ptr, ptr %t6722 + %t6734 = call ptr @realloc(ptr %t6733, i64 %t6732) + store ptr %t6734, ptr %t6722 + store i32 %t6728, ptr %t6721 + br label %put1445 +put1445: + %t6735 = load ptr, ptr %t6722 + %t6736 = getelementptr inbounds ptr, ptr %t6735, i32 %t6723 + store ptr @.str7171, ptr %t6736 + %t6737 = add i32 %t6723, 1 + store i32 %t6737, ptr %t6720 br label %ifend1443 ifend1443: - %t6535 = load ptr, ptr %t1 - %t6536 = call i32 @fn_str_eq(ptr %t6535, ptr @.str6854) - %t6537 = icmp ne i32 %t6536, 0 - br i1 %t6537, label %then1444, label %ifend1446 -then1444: - store ptr @.str6855, ptr %t330 - %t6538 = load ptr, ptr %t337 - %t6539 = getelementptr inbounds %LSlice, ptr %t6538, i32 0, i32 1 - %t6540 = getelementptr inbounds %LSlice, ptr %t6538, i32 0, i32 2 - %t6541 = getelementptr inbounds %LSlice, ptr %t6538, i32 0, i32 0 - %t6542 = load i32, ptr %t6539 - %t6543 = load i32, ptr %t6540 - %t6544 = icmp sge i32 %t6542, %t6543 - br i1 %t6544, label %grow1447, label %put1448 -grow1447: - %t6545 = mul i32 %t6543, 2 - %t6546 = icmp eq i32 %t6543, 0 - %t6547 = select i1 %t6546, i32 8, i32 %t6545 - %t6548 = getelementptr ptr, ptr null, i32 1 - %t6549 = ptrtoint ptr %t6548 to i64 - %t6550 = zext i32 %t6547 to i64 - %t6551 = mul i64 %t6550, %t6549 - %t6552 = load ptr, ptr %t6541 - %t6553 = call ptr @realloc(ptr %t6552, i64 %t6551) - store ptr %t6553, ptr %t6541 - store i32 %t6547, ptr %t6540 - br label %put1448 -put1448: - %t6554 = load ptr, ptr %t6541 - %t6555 = getelementptr inbounds ptr, ptr %t6554, i32 %t6542 - store ptr @.str6856, ptr %t6555 - %t6556 = add i32 %t6542, 1 - store i32 %t6556, ptr %t6539 - %t6557 = load ptr, ptr %t337 - %t6558 = getelementptr inbounds %LSlice, ptr %t6557, i32 0, i32 1 - %t6559 = getelementptr inbounds %LSlice, ptr %t6557, i32 0, i32 2 - %t6560 = getelementptr inbounds %LSlice, ptr %t6557, i32 0, i32 0 - %t6561 = load i32, ptr %t6558 - %t6562 = load i32, ptr %t6559 - %t6563 = icmp sge i32 %t6561, %t6562 - br i1 %t6563, label %grow1449, label %put1450 + %t6738 = load ptr, ptr %t1 + %t6739 = call i32 @fn_str_eq(ptr %t6738, ptr @.str7172) + %t6740 = icmp ne i32 %t6739, 0 + br i1 %t6740, label %then1446, label %ifend1448 +then1446: + store ptr @.str7173, ptr %t380 + %t6741 = load ptr, ptr %t387 + %t6742 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 1 + %t6743 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 2 + %t6744 = getelementptr inbounds %LSlice, ptr %t6741, i32 0, i32 0 + %t6745 = load i32, ptr %t6742 + %t6746 = load i32, ptr %t6743 + %t6747 = icmp sge i32 %t6745, %t6746 + br i1 %t6747, label %grow1449, label %put1450 grow1449: - %t6564 = mul i32 %t6562, 2 - %t6565 = icmp eq i32 %t6562, 0 - %t6566 = select i1 %t6565, i32 8, i32 %t6564 - %t6567 = getelementptr ptr, ptr null, i32 1 - %t6568 = ptrtoint ptr %t6567 to i64 - %t6569 = zext i32 %t6566 to i64 - %t6570 = mul i64 %t6569, %t6568 - %t6571 = load ptr, ptr %t6560 - %t6572 = call ptr @realloc(ptr %t6571, i64 %t6570) - store ptr %t6572, ptr %t6560 - store i32 %t6566, ptr %t6559 + %t6748 = mul i32 %t6746, 2 + %t6749 = icmp eq i32 %t6746, 0 + %t6750 = select i1 %t6749, i32 8, i32 %t6748 + %t6751 = getelementptr ptr, ptr null, i32 1 + %t6752 = ptrtoint ptr %t6751 to i64 + %t6753 = zext i32 %t6750 to i64 + %t6754 = mul i64 %t6753, %t6752 + %t6755 = load ptr, ptr %t6744 + %t6756 = call ptr @realloc(ptr %t6755, i64 %t6754) + store ptr %t6756, ptr %t6744 + store i32 %t6750, ptr %t6743 br label %put1450 put1450: - %t6573 = load ptr, ptr %t6560 - %t6574 = getelementptr inbounds ptr, ptr %t6573, i32 %t6561 - store ptr @.str6857, ptr %t6574 - %t6575 = add i32 %t6561, 1 - store i32 %t6575, ptr %t6558 - br label %ifend1446 -ifend1446: - %t6576 = load ptr, ptr %t1 - %t6577 = call i32 @fn_str_eq(ptr %t6576, ptr @.str6858) - %t6578 = icmp ne i32 %t6577, 0 - br i1 %t6578, label %then1451, label %ifend1453 -then1451: - store ptr @.str6859, ptr %t330 - %t6579 = load ptr, ptr %t337 - %t6580 = getelementptr inbounds %LSlice, ptr %t6579, i32 0, i32 1 - %t6581 = getelementptr inbounds %LSlice, ptr %t6579, i32 0, i32 2 - %t6582 = getelementptr inbounds %LSlice, ptr %t6579, i32 0, i32 0 - %t6583 = load i32, ptr %t6580 - %t6584 = load i32, ptr %t6581 - %t6585 = icmp sge i32 %t6583, %t6584 - br i1 %t6585, label %grow1454, label %put1455 -grow1454: - %t6586 = mul i32 %t6584, 2 - %t6587 = icmp eq i32 %t6584, 0 - %t6588 = select i1 %t6587, i32 8, i32 %t6586 - %t6589 = getelementptr ptr, ptr null, i32 1 - %t6590 = ptrtoint ptr %t6589 to i64 - %t6591 = zext i32 %t6588 to i64 - %t6592 = mul i64 %t6591, %t6590 - %t6593 = load ptr, ptr %t6582 - %t6594 = call ptr @realloc(ptr %t6593, i64 %t6592) - store ptr %t6594, ptr %t6582 - store i32 %t6588, ptr %t6581 - br label %put1455 -put1455: - %t6595 = load ptr, ptr %t6582 - %t6596 = getelementptr inbounds ptr, ptr %t6595, i32 %t6583 - store ptr @.str6860, ptr %t6596 - %t6597 = add i32 %t6583, 1 - store i32 %t6597, ptr %t6580 - %t6598 = load ptr, ptr %t337 - %t6599 = getelementptr inbounds %LSlice, ptr %t6598, i32 0, i32 1 - %t6600 = getelementptr inbounds %LSlice, ptr %t6598, i32 0, i32 2 - %t6601 = getelementptr inbounds %LSlice, ptr %t6598, i32 0, i32 0 - %t6602 = load i32, ptr %t6599 - %t6603 = load i32, ptr %t6600 - %t6604 = icmp sge i32 %t6602, %t6603 - br i1 %t6604, label %grow1456, label %put1457 + %t6757 = load ptr, ptr %t6744 + %t6758 = getelementptr inbounds ptr, ptr %t6757, i32 %t6745 + store ptr @.str7174, ptr %t6758 + %t6759 = add i32 %t6745, 1 + store i32 %t6759, ptr %t6742 + %t6760 = load ptr, ptr %t387 + %t6761 = getelementptr inbounds %LSlice, ptr %t6760, i32 0, i32 1 + %t6762 = getelementptr inbounds %LSlice, ptr %t6760, i32 0, i32 2 + %t6763 = getelementptr inbounds %LSlice, ptr %t6760, i32 0, i32 0 + %t6764 = load i32, ptr %t6761 + %t6765 = load i32, ptr %t6762 + %t6766 = icmp sge i32 %t6764, %t6765 + br i1 %t6766, label %grow1451, label %put1452 +grow1451: + %t6767 = mul i32 %t6765, 2 + %t6768 = icmp eq i32 %t6765, 0 + %t6769 = select i1 %t6768, i32 8, i32 %t6767 + %t6770 = getelementptr ptr, ptr null, i32 1 + %t6771 = ptrtoint ptr %t6770 to i64 + %t6772 = zext i32 %t6769 to i64 + %t6773 = mul i64 %t6772, %t6771 + %t6774 = load ptr, ptr %t6763 + %t6775 = call ptr @realloc(ptr %t6774, i64 %t6773) + store ptr %t6775, ptr %t6763 + store i32 %t6769, ptr %t6762 + br label %put1452 +put1452: + %t6776 = load ptr, ptr %t6763 + %t6777 = getelementptr inbounds ptr, ptr %t6776, i32 %t6764 + store ptr @.str7175, ptr %t6777 + %t6778 = add i32 %t6764, 1 + store i32 %t6778, ptr %t6761 + br label %ifend1448 +ifend1448: + %t6779 = load ptr, ptr %t1 + %t6780 = call i32 @fn_str_eq(ptr %t6779, ptr @.str7176) + %t6781 = icmp ne i32 %t6780, 0 + br i1 %t6781, label %then1453, label %ifend1455 +then1453: + store ptr @.str7177, ptr %t380 + %t6782 = load ptr, ptr %t387 + %t6783 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 1 + %t6784 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 2 + %t6785 = getelementptr inbounds %LSlice, ptr %t6782, i32 0, i32 0 + %t6786 = load i32, ptr %t6783 + %t6787 = load i32, ptr %t6784 + %t6788 = icmp sge i32 %t6786, %t6787 + br i1 %t6788, label %grow1456, label %put1457 grow1456: - %t6605 = mul i32 %t6603, 2 - %t6606 = icmp eq i32 %t6603, 0 - %t6607 = select i1 %t6606, i32 8, i32 %t6605 - %t6608 = getelementptr ptr, ptr null, i32 1 - %t6609 = ptrtoint ptr %t6608 to i64 - %t6610 = zext i32 %t6607 to i64 - %t6611 = mul i64 %t6610, %t6609 - %t6612 = load ptr, ptr %t6601 - %t6613 = call ptr @realloc(ptr %t6612, i64 %t6611) - store ptr %t6613, ptr %t6601 - store i32 %t6607, ptr %t6600 + %t6789 = mul i32 %t6787, 2 + %t6790 = icmp eq i32 %t6787, 0 + %t6791 = select i1 %t6790, i32 8, i32 %t6789 + %t6792 = getelementptr ptr, ptr null, i32 1 + %t6793 = ptrtoint ptr %t6792 to i64 + %t6794 = zext i32 %t6791 to i64 + %t6795 = mul i64 %t6794, %t6793 + %t6796 = load ptr, ptr %t6785 + %t6797 = call ptr @realloc(ptr %t6796, i64 %t6795) + store ptr %t6797, ptr %t6785 + store i32 %t6791, ptr %t6784 br label %put1457 put1457: - %t6614 = load ptr, ptr %t6601 - %t6615 = getelementptr inbounds ptr, ptr %t6614, i32 %t6602 - store ptr @.str6861, ptr %t6615 - %t6616 = add i32 %t6602, 1 - store i32 %t6616, ptr %t6599 - br label %ifend1453 -ifend1453: - %t6617 = load ptr, ptr %t1 - %t6618 = call i32 @fn_str_eq(ptr %t6617, ptr @.str6862) - %t6619 = icmp ne i32 %t6618, 0 - br i1 %t6619, label %then1458, label %ifend1460 -then1458: - store ptr @.str6863, ptr %t330 - %t6620 = load ptr, ptr %t337 - %t6621 = getelementptr inbounds %LSlice, ptr %t6620, i32 0, i32 1 - %t6622 = getelementptr inbounds %LSlice, ptr %t6620, i32 0, i32 2 - %t6623 = getelementptr inbounds %LSlice, ptr %t6620, i32 0, i32 0 - %t6624 = load i32, ptr %t6621 - %t6625 = load i32, ptr %t6622 - %t6626 = icmp sge i32 %t6624, %t6625 - br i1 %t6626, label %grow1461, label %put1462 -grow1461: - %t6627 = mul i32 %t6625, 2 - %t6628 = icmp eq i32 %t6625, 0 - %t6629 = select i1 %t6628, i32 8, i32 %t6627 - %t6630 = getelementptr ptr, ptr null, i32 1 - %t6631 = ptrtoint ptr %t6630 to i64 - %t6632 = zext i32 %t6629 to i64 - %t6633 = mul i64 %t6632, %t6631 - %t6634 = load ptr, ptr %t6623 - %t6635 = call ptr @realloc(ptr %t6634, i64 %t6633) - store ptr %t6635, ptr %t6623 - store i32 %t6629, ptr %t6622 - br label %put1462 -put1462: - %t6636 = load ptr, ptr %t6623 - %t6637 = getelementptr inbounds ptr, ptr %t6636, i32 %t6624 - store ptr @.str6864, ptr %t6637 - %t6638 = add i32 %t6624, 1 - store i32 %t6638, ptr %t6621 - %t6639 = load ptr, ptr %t337 - %t6640 = getelementptr inbounds %LSlice, ptr %t6639, i32 0, i32 1 - %t6641 = getelementptr inbounds %LSlice, ptr %t6639, i32 0, i32 2 - %t6642 = getelementptr inbounds %LSlice, ptr %t6639, i32 0, i32 0 - %t6643 = load i32, ptr %t6640 - %t6644 = load i32, ptr %t6641 - %t6645 = icmp sge i32 %t6643, %t6644 - br i1 %t6645, label %grow1463, label %put1464 + %t6798 = load ptr, ptr %t6785 + %t6799 = getelementptr inbounds ptr, ptr %t6798, i32 %t6786 + store ptr @.str7178, ptr %t6799 + %t6800 = add i32 %t6786, 1 + store i32 %t6800, ptr %t6783 + %t6801 = load ptr, ptr %t387 + %t6802 = getelementptr inbounds %LSlice, ptr %t6801, i32 0, i32 1 + %t6803 = getelementptr inbounds %LSlice, ptr %t6801, i32 0, i32 2 + %t6804 = getelementptr inbounds %LSlice, ptr %t6801, i32 0, i32 0 + %t6805 = load i32, ptr %t6802 + %t6806 = load i32, ptr %t6803 + %t6807 = icmp sge i32 %t6805, %t6806 + br i1 %t6807, label %grow1458, label %put1459 +grow1458: + %t6808 = mul i32 %t6806, 2 + %t6809 = icmp eq i32 %t6806, 0 + %t6810 = select i1 %t6809, i32 8, i32 %t6808 + %t6811 = getelementptr ptr, ptr null, i32 1 + %t6812 = ptrtoint ptr %t6811 to i64 + %t6813 = zext i32 %t6810 to i64 + %t6814 = mul i64 %t6813, %t6812 + %t6815 = load ptr, ptr %t6804 + %t6816 = call ptr @realloc(ptr %t6815, i64 %t6814) + store ptr %t6816, ptr %t6804 + store i32 %t6810, ptr %t6803 + br label %put1459 +put1459: + %t6817 = load ptr, ptr %t6804 + %t6818 = getelementptr inbounds ptr, ptr %t6817, i32 %t6805 + store ptr @.str7179, ptr %t6818 + %t6819 = add i32 %t6805, 1 + store i32 %t6819, ptr %t6802 + br label %ifend1455 +ifend1455: + %t6820 = load ptr, ptr %t1 + %t6821 = call i32 @fn_str_eq(ptr %t6820, ptr @.str7180) + %t6822 = icmp ne i32 %t6821, 0 + br i1 %t6822, label %then1460, label %ifend1462 +then1460: + store ptr @.str7181, ptr %t380 + %t6823 = load ptr, ptr %t387 + %t6824 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 1 + %t6825 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 2 + %t6826 = getelementptr inbounds %LSlice, ptr %t6823, i32 0, i32 0 + %t6827 = load i32, ptr %t6824 + %t6828 = load i32, ptr %t6825 + %t6829 = icmp sge i32 %t6827, %t6828 + br i1 %t6829, label %grow1463, label %put1464 grow1463: - %t6646 = mul i32 %t6644, 2 - %t6647 = icmp eq i32 %t6644, 0 - %t6648 = select i1 %t6647, i32 8, i32 %t6646 - %t6649 = getelementptr ptr, ptr null, i32 1 - %t6650 = ptrtoint ptr %t6649 to i64 - %t6651 = zext i32 %t6648 to i64 - %t6652 = mul i64 %t6651, %t6650 - %t6653 = load ptr, ptr %t6642 - %t6654 = call ptr @realloc(ptr %t6653, i64 %t6652) - store ptr %t6654, ptr %t6642 - store i32 %t6648, ptr %t6641 + %t6830 = mul i32 %t6828, 2 + %t6831 = icmp eq i32 %t6828, 0 + %t6832 = select i1 %t6831, i32 8, i32 %t6830 + %t6833 = getelementptr ptr, ptr null, i32 1 + %t6834 = ptrtoint ptr %t6833 to i64 + %t6835 = zext i32 %t6832 to i64 + %t6836 = mul i64 %t6835, %t6834 + %t6837 = load ptr, ptr %t6826 + %t6838 = call ptr @realloc(ptr %t6837, i64 %t6836) + store ptr %t6838, ptr %t6826 + store i32 %t6832, ptr %t6825 br label %put1464 put1464: - %t6655 = load ptr, ptr %t6642 - %t6656 = getelementptr inbounds ptr, ptr %t6655, i32 %t6643 - store ptr @.str6865, ptr %t6656 - %t6657 = add i32 %t6643, 1 - store i32 %t6657, ptr %t6640 - br label %ifend1460 -ifend1460: - %t6658 = load ptr, ptr %t1 - %t6659 = call i32 @fn_str_eq(ptr %t6658, ptr @.str6866) - %t6660 = icmp ne i32 %t6659, 0 - br i1 %t6660, label %then1465, label %ifend1467 -then1465: - store ptr @.str6867, ptr %t330 - %t6661 = load ptr, ptr %t337 - %t6662 = getelementptr inbounds %LSlice, ptr %t6661, i32 0, i32 1 - %t6663 = getelementptr inbounds %LSlice, ptr %t6661, i32 0, i32 2 - %t6664 = getelementptr inbounds %LSlice, ptr %t6661, i32 0, i32 0 - %t6665 = load i32, ptr %t6662 - %t6666 = load i32, ptr %t6663 - %t6667 = icmp sge i32 %t6665, %t6666 - br i1 %t6667, label %grow1468, label %put1469 -grow1468: - %t6668 = mul i32 %t6666, 2 - %t6669 = icmp eq i32 %t6666, 0 - %t6670 = select i1 %t6669, i32 8, i32 %t6668 - %t6671 = getelementptr ptr, ptr null, i32 1 - %t6672 = ptrtoint ptr %t6671 to i64 - %t6673 = zext i32 %t6670 to i64 - %t6674 = mul i64 %t6673, %t6672 - %t6675 = load ptr, ptr %t6664 - %t6676 = call ptr @realloc(ptr %t6675, i64 %t6674) - store ptr %t6676, ptr %t6664 - store i32 %t6670, ptr %t6663 - br label %put1469 -put1469: - %t6677 = load ptr, ptr %t6664 - %t6678 = getelementptr inbounds ptr, ptr %t6677, i32 %t6665 - store ptr @.str6868, ptr %t6678 - %t6679 = add i32 %t6665, 1 - store i32 %t6679, ptr %t6662 - br label %ifend1467 -ifend1467: - %t6680 = load ptr, ptr %t1 - %t6681 = call i32 @fn_str_eq(ptr %t6680, ptr @.str6869) - %t6682 = icmp ne i32 %t6681, 0 - br i1 %t6682, label %then1470, label %ifend1472 -then1470: - store ptr @.str6870, ptr %t330 - %t6683 = load ptr, ptr %t337 - %t6684 = getelementptr inbounds %LSlice, ptr %t6683, i32 0, i32 1 - %t6685 = getelementptr inbounds %LSlice, ptr %t6683, i32 0, i32 2 - %t6686 = getelementptr inbounds %LSlice, ptr %t6683, i32 0, i32 0 - %t6687 = load i32, ptr %t6684 - %t6688 = load i32, ptr %t6685 - %t6689 = icmp sge i32 %t6687, %t6688 - br i1 %t6689, label %grow1473, label %put1474 -grow1473: - %t6690 = mul i32 %t6688, 2 - %t6691 = icmp eq i32 %t6688, 0 - %t6692 = select i1 %t6691, i32 8, i32 %t6690 - %t6693 = getelementptr ptr, ptr null, i32 1 - %t6694 = ptrtoint ptr %t6693 to i64 - %t6695 = zext i32 %t6692 to i64 - %t6696 = mul i64 %t6695, %t6694 - %t6697 = load ptr, ptr %t6686 - %t6698 = call ptr @realloc(ptr %t6697, i64 %t6696) - store ptr %t6698, ptr %t6686 - store i32 %t6692, ptr %t6685 - br label %put1474 -put1474: - %t6699 = load ptr, ptr %t6686 - %t6700 = getelementptr inbounds ptr, ptr %t6699, i32 %t6687 - store ptr @.str6871, ptr %t6700 - %t6701 = add i32 %t6687, 1 - store i32 %t6701, ptr %t6684 - br label %ifend1472 -ifend1472: - %t6702 = load ptr, ptr %t1 - %t6703 = call i32 @fn_str_eq(ptr %t6702, ptr @.str6872) - %t6704 = icmp ne i32 %t6703, 0 - br i1 %t6704, label %then1475, label %ifend1477 -then1475: - store ptr @.str6873, ptr %t330 - %t6705 = load ptr, ptr %t337 - %t6706 = getelementptr inbounds %LSlice, ptr %t6705, i32 0, i32 1 - %t6707 = getelementptr inbounds %LSlice, ptr %t6705, i32 0, i32 2 - %t6708 = getelementptr inbounds %LSlice, ptr %t6705, i32 0, i32 0 - %t6709 = load i32, ptr %t6706 - %t6710 = load i32, ptr %t6707 - %t6711 = icmp sge i32 %t6709, %t6710 - br i1 %t6711, label %grow1478, label %put1479 -grow1478: - %t6712 = mul i32 %t6710, 2 - %t6713 = icmp eq i32 %t6710, 0 - %t6714 = select i1 %t6713, i32 8, i32 %t6712 - %t6715 = getelementptr ptr, ptr null, i32 1 - %t6716 = ptrtoint ptr %t6715 to i64 - %t6717 = zext i32 %t6714 to i64 - %t6718 = mul i64 %t6717, %t6716 - %t6719 = load ptr, ptr %t6708 - %t6720 = call ptr @realloc(ptr %t6719, i64 %t6718) - store ptr %t6720, ptr %t6708 - store i32 %t6714, ptr %t6707 - br label %put1479 -put1479: - %t6721 = load ptr, ptr %t6708 - %t6722 = getelementptr inbounds ptr, ptr %t6721, i32 %t6709 - store ptr @.str6874, ptr %t6722 - %t6723 = add i32 %t6709, 1 - store i32 %t6723, ptr %t6706 - br label %ifend1477 -ifend1477: - %t6724 = load ptr, ptr %t1 - %t6725 = call i32 @fn_str_eq(ptr %t6724, ptr @.str6875) - %t6726 = icmp ne i32 %t6725, 0 - br i1 %t6726, label %then1480, label %ifend1482 -then1480: - store ptr @.str6876, ptr %t330 - %t6727 = load ptr, ptr %t337 - %t6728 = getelementptr inbounds %LSlice, ptr %t6727, i32 0, i32 1 - %t6729 = getelementptr inbounds %LSlice, ptr %t6727, i32 0, i32 2 - %t6730 = getelementptr inbounds %LSlice, ptr %t6727, i32 0, i32 0 - %t6731 = load i32, ptr %t6728 - %t6732 = load i32, ptr %t6729 - %t6733 = icmp sge i32 %t6731, %t6732 - br i1 %t6733, label %grow1483, label %put1484 -grow1483: - %t6734 = mul i32 %t6732, 2 - %t6735 = icmp eq i32 %t6732, 0 - %t6736 = select i1 %t6735, i32 8, i32 %t6734 - %t6737 = getelementptr ptr, ptr null, i32 1 - %t6738 = ptrtoint ptr %t6737 to i64 - %t6739 = zext i32 %t6736 to i64 - %t6740 = mul i64 %t6739, %t6738 - %t6741 = load ptr, ptr %t6730 - %t6742 = call ptr @realloc(ptr %t6741, i64 %t6740) - store ptr %t6742, ptr %t6730 - store i32 %t6736, ptr %t6729 - br label %put1484 -put1484: - %t6743 = load ptr, ptr %t6730 - %t6744 = getelementptr inbounds ptr, ptr %t6743, i32 %t6731 - store ptr @.str6877, ptr %t6744 - %t6745 = add i32 %t6731, 1 - store i32 %t6745, ptr %t6728 - br label %ifend1482 -ifend1482: - %t6746 = load ptr, ptr %t1 - %t6747 = call i32 @fn_str_eq(ptr %t6746, ptr @.str6878) - %t6748 = icmp ne i32 %t6747, 0 - br i1 %t6748, label %then1485, label %ifend1487 -then1485: - store ptr @.str6879, ptr %t330 - %t6749 = load ptr, ptr %t337 - %t6750 = getelementptr inbounds %LSlice, ptr %t6749, i32 0, i32 1 - %t6751 = getelementptr inbounds %LSlice, ptr %t6749, i32 0, i32 2 - %t6752 = getelementptr inbounds %LSlice, ptr %t6749, i32 0, i32 0 - %t6753 = load i32, ptr %t6750 - %t6754 = load i32, ptr %t6751 - %t6755 = icmp sge i32 %t6753, %t6754 - br i1 %t6755, label %grow1488, label %put1489 + %t6839 = load ptr, ptr %t6826 + %t6840 = getelementptr inbounds ptr, ptr %t6839, i32 %t6827 + store ptr @.str7182, ptr %t6840 + %t6841 = add i32 %t6827, 1 + store i32 %t6841, ptr %t6824 + %t6842 = load ptr, ptr %t387 + %t6843 = getelementptr inbounds %LSlice, ptr %t6842, i32 0, i32 1 + %t6844 = getelementptr inbounds %LSlice, ptr %t6842, i32 0, i32 2 + %t6845 = getelementptr inbounds %LSlice, ptr %t6842, i32 0, i32 0 + %t6846 = load i32, ptr %t6843 + %t6847 = load i32, ptr %t6844 + %t6848 = icmp sge i32 %t6846, %t6847 + br i1 %t6848, label %grow1465, label %put1466 +grow1465: + %t6849 = mul i32 %t6847, 2 + %t6850 = icmp eq i32 %t6847, 0 + %t6851 = select i1 %t6850, i32 8, i32 %t6849 + %t6852 = getelementptr ptr, ptr null, i32 1 + %t6853 = ptrtoint ptr %t6852 to i64 + %t6854 = zext i32 %t6851 to i64 + %t6855 = mul i64 %t6854, %t6853 + %t6856 = load ptr, ptr %t6845 + %t6857 = call ptr @realloc(ptr %t6856, i64 %t6855) + store ptr %t6857, ptr %t6845 + store i32 %t6851, ptr %t6844 + br label %put1466 +put1466: + %t6858 = load ptr, ptr %t6845 + %t6859 = getelementptr inbounds ptr, ptr %t6858, i32 %t6846 + store ptr @.str7183, ptr %t6859 + %t6860 = add i32 %t6846, 1 + store i32 %t6860, ptr %t6843 + br label %ifend1462 +ifend1462: + %t6861 = load ptr, ptr %t1 + %t6862 = call i32 @fn_str_eq(ptr %t6861, ptr @.str7184) + %t6863 = icmp ne i32 %t6862, 0 + br i1 %t6863, label %then1467, label %ifend1469 +then1467: + store ptr @.str7185, ptr %t380 + %t6864 = load ptr, ptr %t387 + %t6865 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 1 + %t6866 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 2 + %t6867 = getelementptr inbounds %LSlice, ptr %t6864, i32 0, i32 0 + %t6868 = load i32, ptr %t6865 + %t6869 = load i32, ptr %t6866 + %t6870 = icmp sge i32 %t6868, %t6869 + br i1 %t6870, label %grow1470, label %put1471 +grow1470: + %t6871 = mul i32 %t6869, 2 + %t6872 = icmp eq i32 %t6869, 0 + %t6873 = select i1 %t6872, i32 8, i32 %t6871 + %t6874 = getelementptr ptr, ptr null, i32 1 + %t6875 = ptrtoint ptr %t6874 to i64 + %t6876 = zext i32 %t6873 to i64 + %t6877 = mul i64 %t6876, %t6875 + %t6878 = load ptr, ptr %t6867 + %t6879 = call ptr @realloc(ptr %t6878, i64 %t6877) + store ptr %t6879, ptr %t6867 + store i32 %t6873, ptr %t6866 + br label %put1471 +put1471: + %t6880 = load ptr, ptr %t6867 + %t6881 = getelementptr inbounds ptr, ptr %t6880, i32 %t6868 + store ptr @.str7186, ptr %t6881 + %t6882 = add i32 %t6868, 1 + store i32 %t6882, ptr %t6865 + %t6883 = load ptr, ptr %t387 + %t6884 = getelementptr inbounds %LSlice, ptr %t6883, i32 0, i32 1 + %t6885 = getelementptr inbounds %LSlice, ptr %t6883, i32 0, i32 2 + %t6886 = getelementptr inbounds %LSlice, ptr %t6883, i32 0, i32 0 + %t6887 = load i32, ptr %t6884 + %t6888 = load i32, ptr %t6885 + %t6889 = icmp sge i32 %t6887, %t6888 + br i1 %t6889, label %grow1472, label %put1473 +grow1472: + %t6890 = mul i32 %t6888, 2 + %t6891 = icmp eq i32 %t6888, 0 + %t6892 = select i1 %t6891, i32 8, i32 %t6890 + %t6893 = getelementptr ptr, ptr null, i32 1 + %t6894 = ptrtoint ptr %t6893 to i64 + %t6895 = zext i32 %t6892 to i64 + %t6896 = mul i64 %t6895, %t6894 + %t6897 = load ptr, ptr %t6886 + %t6898 = call ptr @realloc(ptr %t6897, i64 %t6896) + store ptr %t6898, ptr %t6886 + store i32 %t6892, ptr %t6885 + br label %put1473 +put1473: + %t6899 = load ptr, ptr %t6886 + %t6900 = getelementptr inbounds ptr, ptr %t6899, i32 %t6887 + store ptr @.str7187, ptr %t6900 + %t6901 = add i32 %t6887, 1 + store i32 %t6901, ptr %t6884 + br label %ifend1469 +ifend1469: + %t6902 = load ptr, ptr %t1 + %t6903 = call i32 @fn_str_eq(ptr %t6902, ptr @.str7188) + %t6904 = icmp ne i32 %t6903, 0 + br i1 %t6904, label %then1474, label %ifend1476 +then1474: + store ptr @.str7189, ptr %t380 + %t6905 = load ptr, ptr %t387 + %t6906 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 1 + %t6907 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 2 + %t6908 = getelementptr inbounds %LSlice, ptr %t6905, i32 0, i32 0 + %t6909 = load i32, ptr %t6906 + %t6910 = load i32, ptr %t6907 + %t6911 = icmp sge i32 %t6909, %t6910 + br i1 %t6911, label %grow1477, label %put1478 +grow1477: + %t6912 = mul i32 %t6910, 2 + %t6913 = icmp eq i32 %t6910, 0 + %t6914 = select i1 %t6913, i32 8, i32 %t6912 + %t6915 = getelementptr ptr, ptr null, i32 1 + %t6916 = ptrtoint ptr %t6915 to i64 + %t6917 = zext i32 %t6914 to i64 + %t6918 = mul i64 %t6917, %t6916 + %t6919 = load ptr, ptr %t6908 + %t6920 = call ptr @realloc(ptr %t6919, i64 %t6918) + store ptr %t6920, ptr %t6908 + store i32 %t6914, ptr %t6907 + br label %put1478 +put1478: + %t6921 = load ptr, ptr %t6908 + %t6922 = getelementptr inbounds ptr, ptr %t6921, i32 %t6909 + store ptr @.str7190, ptr %t6922 + %t6923 = add i32 %t6909, 1 + store i32 %t6923, ptr %t6906 + %t6924 = load ptr, ptr %t387 + %t6925 = getelementptr inbounds %LSlice, ptr %t6924, i32 0, i32 1 + %t6926 = getelementptr inbounds %LSlice, ptr %t6924, i32 0, i32 2 + %t6927 = getelementptr inbounds %LSlice, ptr %t6924, i32 0, i32 0 + %t6928 = load i32, ptr %t6925 + %t6929 = load i32, ptr %t6926 + %t6930 = icmp sge i32 %t6928, %t6929 + br i1 %t6930, label %grow1479, label %put1480 +grow1479: + %t6931 = mul i32 %t6929, 2 + %t6932 = icmp eq i32 %t6929, 0 + %t6933 = select i1 %t6932, i32 8, i32 %t6931 + %t6934 = getelementptr ptr, ptr null, i32 1 + %t6935 = ptrtoint ptr %t6934 to i64 + %t6936 = zext i32 %t6933 to i64 + %t6937 = mul i64 %t6936, %t6935 + %t6938 = load ptr, ptr %t6927 + %t6939 = call ptr @realloc(ptr %t6938, i64 %t6937) + store ptr %t6939, ptr %t6927 + store i32 %t6933, ptr %t6926 + br label %put1480 +put1480: + %t6940 = load ptr, ptr %t6927 + %t6941 = getelementptr inbounds ptr, ptr %t6940, i32 %t6928 + store ptr @.str7191, ptr %t6941 + %t6942 = add i32 %t6928, 1 + store i32 %t6942, ptr %t6925 + %t6943 = load ptr, ptr %t387 + %t6944 = getelementptr inbounds %LSlice, ptr %t6943, i32 0, i32 1 + %t6945 = getelementptr inbounds %LSlice, ptr %t6943, i32 0, i32 2 + %t6946 = getelementptr inbounds %LSlice, ptr %t6943, i32 0, i32 0 + %t6947 = load i32, ptr %t6944 + %t6948 = load i32, ptr %t6945 + %t6949 = icmp sge i32 %t6947, %t6948 + br i1 %t6949, label %grow1481, label %put1482 +grow1481: + %t6950 = mul i32 %t6948, 2 + %t6951 = icmp eq i32 %t6948, 0 + %t6952 = select i1 %t6951, i32 8, i32 %t6950 + %t6953 = getelementptr ptr, ptr null, i32 1 + %t6954 = ptrtoint ptr %t6953 to i64 + %t6955 = zext i32 %t6952 to i64 + %t6956 = mul i64 %t6955, %t6954 + %t6957 = load ptr, ptr %t6946 + %t6958 = call ptr @realloc(ptr %t6957, i64 %t6956) + store ptr %t6958, ptr %t6946 + store i32 %t6952, ptr %t6945 + br label %put1482 +put1482: + %t6959 = load ptr, ptr %t6946 + %t6960 = getelementptr inbounds ptr, ptr %t6959, i32 %t6947 + store ptr @.str7192, ptr %t6960 + %t6961 = add i32 %t6947, 1 + store i32 %t6961, ptr %t6944 + br label %ifend1476 +ifend1476: + %t6962 = load ptr, ptr %t1 + %t6963 = call i32 @fn_str_eq(ptr %t6962, ptr @.str7193) + %t6964 = icmp ne i32 %t6963, 0 + br i1 %t6964, label %then1483, label %ifend1485 +then1483: + store ptr @.str7194, ptr %t380 + %t6965 = load ptr, ptr %t387 + %t6966 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 1 + %t6967 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 2 + %t6968 = getelementptr inbounds %LSlice, ptr %t6965, i32 0, i32 0 + %t6969 = load i32, ptr %t6966 + %t6970 = load i32, ptr %t6967 + %t6971 = icmp sge i32 %t6969, %t6970 + br i1 %t6971, label %grow1486, label %put1487 +grow1486: + %t6972 = mul i32 %t6970, 2 + %t6973 = icmp eq i32 %t6970, 0 + %t6974 = select i1 %t6973, i32 8, i32 %t6972 + %t6975 = getelementptr ptr, ptr null, i32 1 + %t6976 = ptrtoint ptr %t6975 to i64 + %t6977 = zext i32 %t6974 to i64 + %t6978 = mul i64 %t6977, %t6976 + %t6979 = load ptr, ptr %t6968 + %t6980 = call ptr @realloc(ptr %t6979, i64 %t6978) + store ptr %t6980, ptr %t6968 + store i32 %t6974, ptr %t6967 + br label %put1487 +put1487: + %t6981 = load ptr, ptr %t6968 + %t6982 = getelementptr inbounds ptr, ptr %t6981, i32 %t6969 + store ptr @.str7195, ptr %t6982 + %t6983 = add i32 %t6969, 1 + store i32 %t6983, ptr %t6966 + %t6984 = load ptr, ptr %t387 + %t6985 = getelementptr inbounds %LSlice, ptr %t6984, i32 0, i32 1 + %t6986 = getelementptr inbounds %LSlice, ptr %t6984, i32 0, i32 2 + %t6987 = getelementptr inbounds %LSlice, ptr %t6984, i32 0, i32 0 + %t6988 = load i32, ptr %t6985 + %t6989 = load i32, ptr %t6986 + %t6990 = icmp sge i32 %t6988, %t6989 + br i1 %t6990, label %grow1488, label %put1489 grow1488: - %t6756 = mul i32 %t6754, 2 - %t6757 = icmp eq i32 %t6754, 0 - %t6758 = select i1 %t6757, i32 8, i32 %t6756 - %t6759 = getelementptr ptr, ptr null, i32 1 - %t6760 = ptrtoint ptr %t6759 to i64 - %t6761 = zext i32 %t6758 to i64 - %t6762 = mul i64 %t6761, %t6760 - %t6763 = load ptr, ptr %t6752 - %t6764 = call ptr @realloc(ptr %t6763, i64 %t6762) - store ptr %t6764, ptr %t6752 - store i32 %t6758, ptr %t6751 + %t6991 = mul i32 %t6989, 2 + %t6992 = icmp eq i32 %t6989, 0 + %t6993 = select i1 %t6992, i32 8, i32 %t6991 + %t6994 = getelementptr ptr, ptr null, i32 1 + %t6995 = ptrtoint ptr %t6994 to i64 + %t6996 = zext i32 %t6993 to i64 + %t6997 = mul i64 %t6996, %t6995 + %t6998 = load ptr, ptr %t6987 + %t6999 = call ptr @realloc(ptr %t6998, i64 %t6997) + store ptr %t6999, ptr %t6987 + store i32 %t6993, ptr %t6986 br label %put1489 put1489: - %t6765 = load ptr, ptr %t6752 - %t6766 = getelementptr inbounds ptr, ptr %t6765, i32 %t6753 - store ptr @.str6880, ptr %t6766 - %t6767 = add i32 %t6753, 1 - store i32 %t6767, ptr %t6750 - br label %ifend1487 -ifend1487: - %t6768 = load ptr, ptr %t1 - %t6769 = call i32 @fn_str_eq(ptr %t6768, ptr @.str6881) - %t6770 = icmp ne i32 %t6769, 0 - br i1 %t6770, label %then1490, label %ifend1492 -then1490: - store ptr @.str6882, ptr %t330 - %t6771 = load ptr, ptr %t337 - %t6772 = getelementptr inbounds %LSlice, ptr %t6771, i32 0, i32 1 - %t6773 = getelementptr inbounds %LSlice, ptr %t6771, i32 0, i32 2 - %t6774 = getelementptr inbounds %LSlice, ptr %t6771, i32 0, i32 0 - %t6775 = load i32, ptr %t6772 - %t6776 = load i32, ptr %t6773 - %t6777 = icmp sge i32 %t6775, %t6776 - br i1 %t6777, label %grow1493, label %put1494 -grow1493: - %t6778 = mul i32 %t6776, 2 - %t6779 = icmp eq i32 %t6776, 0 - %t6780 = select i1 %t6779, i32 8, i32 %t6778 - %t6781 = getelementptr ptr, ptr null, i32 1 - %t6782 = ptrtoint ptr %t6781 to i64 - %t6783 = zext i32 %t6780 to i64 - %t6784 = mul i64 %t6783, %t6782 - %t6785 = load ptr, ptr %t6774 - %t6786 = call ptr @realloc(ptr %t6785, i64 %t6784) - store ptr %t6786, ptr %t6774 - store i32 %t6780, ptr %t6773 - br label %put1494 -put1494: - %t6787 = load ptr, ptr %t6774 - %t6788 = getelementptr inbounds ptr, ptr %t6787, i32 %t6775 - store ptr @.str6883, ptr %t6788 - %t6789 = add i32 %t6775, 1 - store i32 %t6789, ptr %t6772 - br label %ifend1492 -ifend1492: - %t6790 = load ptr, ptr %t1 - %t6791 = call i32 @fn_str_eq(ptr %t6790, ptr @.str6884) - %t6792 = icmp ne i32 %t6791, 0 - br i1 %t6792, label %then1495, label %ifend1497 -then1495: - store ptr @.str6885, ptr %t330 - %t6793 = load ptr, ptr %t337 - %t6794 = getelementptr inbounds %LSlice, ptr %t6793, i32 0, i32 1 - %t6795 = getelementptr inbounds %LSlice, ptr %t6793, i32 0, i32 2 - %t6796 = getelementptr inbounds %LSlice, ptr %t6793, i32 0, i32 0 - %t6797 = load i32, ptr %t6794 - %t6798 = load i32, ptr %t6795 - %t6799 = icmp sge i32 %t6797, %t6798 - br i1 %t6799, label %grow1498, label %put1499 -grow1498: - %t6800 = mul i32 %t6798, 2 - %t6801 = icmp eq i32 %t6798, 0 - %t6802 = select i1 %t6801, i32 8, i32 %t6800 - %t6803 = getelementptr ptr, ptr null, i32 1 - %t6804 = ptrtoint ptr %t6803 to i64 - %t6805 = zext i32 %t6802 to i64 - %t6806 = mul i64 %t6805, %t6804 - %t6807 = load ptr, ptr %t6796 - %t6808 = call ptr @realloc(ptr %t6807, i64 %t6806) - store ptr %t6808, ptr %t6796 - store i32 %t6802, ptr %t6795 - br label %put1499 -put1499: - %t6809 = load ptr, ptr %t6796 - %t6810 = getelementptr inbounds ptr, ptr %t6809, i32 %t6797 - store ptr @.str6886, ptr %t6810 - %t6811 = add i32 %t6797, 1 - store i32 %t6811, ptr %t6794 - br label %ifend1497 -ifend1497: - %t6812 = load ptr, ptr %t1 - %t6813 = call i32 @fn_str_eq(ptr %t6812, ptr @.str6887) - %t6814 = icmp ne i32 %t6813, 0 - br i1 %t6814, label %then1500, label %ifend1502 -then1500: - store ptr @.str6888, ptr %t330 - %t6815 = load ptr, ptr %t337 - %t6816 = getelementptr inbounds %LSlice, ptr %t6815, i32 0, i32 1 - %t6817 = getelementptr inbounds %LSlice, ptr %t6815, i32 0, i32 2 - %t6818 = getelementptr inbounds %LSlice, ptr %t6815, i32 0, i32 0 - %t6819 = load i32, ptr %t6816 - %t6820 = load i32, ptr %t6817 - %t6821 = icmp sge i32 %t6819, %t6820 - br i1 %t6821, label %grow1503, label %put1504 -grow1503: - %t6822 = mul i32 %t6820, 2 - %t6823 = icmp eq i32 %t6820, 0 - %t6824 = select i1 %t6823, i32 8, i32 %t6822 - %t6825 = getelementptr ptr, ptr null, i32 1 - %t6826 = ptrtoint ptr %t6825 to i64 - %t6827 = zext i32 %t6824 to i64 - %t6828 = mul i64 %t6827, %t6826 - %t6829 = load ptr, ptr %t6818 - %t6830 = call ptr @realloc(ptr %t6829, i64 %t6828) - store ptr %t6830, ptr %t6818 - store i32 %t6824, ptr %t6817 - br label %put1504 -put1504: - %t6831 = load ptr, ptr %t6818 - %t6832 = getelementptr inbounds ptr, ptr %t6831, i32 %t6819 - store ptr @.str6889, ptr %t6832 - %t6833 = add i32 %t6819, 1 - store i32 %t6833, ptr %t6816 - br label %ifend1502 -ifend1502: - %t6834 = load ptr, ptr %t1 - %t6835 = call i32 @fn_str_eq(ptr %t6834, ptr @.str6890) - %t6836 = icmp ne i32 %t6835, 0 - br i1 %t6836, label %then1505, label %ifend1507 -then1505: - store ptr @.str6891, ptr %t330 - br label %ifend1507 -ifend1507: - %t6837 = load ptr, ptr %t1 - %t6838 = call i32 @fn_str_eq(ptr %t6837, ptr @.str6892) - %t6839 = icmp ne i32 %t6838, 0 - br i1 %t6839, label %then1508, label %ifend1510 -then1508: - store ptr @.str6893, ptr %t330 - %t6840 = load ptr, ptr %t337 - %t6841 = getelementptr inbounds %LSlice, ptr %t6840, i32 0, i32 1 - %t6842 = getelementptr inbounds %LSlice, ptr %t6840, i32 0, i32 2 - %t6843 = getelementptr inbounds %LSlice, ptr %t6840, i32 0, i32 0 - %t6844 = load i32, ptr %t6841 - %t6845 = load i32, ptr %t6842 - %t6846 = icmp sge i32 %t6844, %t6845 - br i1 %t6846, label %grow1511, label %put1512 -grow1511: - %t6847 = mul i32 %t6845, 2 - %t6848 = icmp eq i32 %t6845, 0 - %t6849 = select i1 %t6848, i32 8, i32 %t6847 - %t6850 = getelementptr ptr, ptr null, i32 1 - %t6851 = ptrtoint ptr %t6850 to i64 - %t6852 = zext i32 %t6849 to i64 - %t6853 = mul i64 %t6852, %t6851 - %t6854 = load ptr, ptr %t6843 - %t6855 = call ptr @realloc(ptr %t6854, i64 %t6853) - store ptr %t6855, ptr %t6843 - store i32 %t6849, ptr %t6842 - br label %put1512 -put1512: - %t6856 = load ptr, ptr %t6843 - %t6857 = getelementptr inbounds ptr, ptr %t6856, i32 %t6844 - store ptr @.str6894, ptr %t6857 - %t6858 = add i32 %t6844, 1 - store i32 %t6858, ptr %t6841 - br label %ifend1510 -ifend1510: - br label %ifend1440 -ifend1440: - %t6859 = load ptr, ptr %t0 - %t6860 = call i32 @fn_str_eq(ptr %t6859, ptr @.str6895) - %t6861 = icmp ne i32 %t6860, 0 - br i1 %t6861, label %then1513, label %ifend1515 -then1513: - %t6862 = load ptr, ptr %t1 - %t6863 = call i32 @fn_str_eq(ptr %t6862, ptr @.str6896) - %t6864 = icmp ne i32 %t6863, 0 - br i1 %t6864, label %then1516, label %ifend1518 -then1516: - store ptr @.str6897, ptr %t330 - %t6865 = load ptr, ptr %t337 - %t6866 = getelementptr inbounds %LSlice, ptr %t6865, i32 0, i32 1 - %t6867 = getelementptr inbounds %LSlice, ptr %t6865, i32 0, i32 2 - %t6868 = getelementptr inbounds %LSlice, ptr %t6865, i32 0, i32 0 - %t6869 = load i32, ptr %t6866 - %t6870 = load i32, ptr %t6867 - %t6871 = icmp sge i32 %t6869, %t6870 - br i1 %t6871, label %grow1519, label %put1520 -grow1519: - %t6872 = mul i32 %t6870, 2 - %t6873 = icmp eq i32 %t6870, 0 - %t6874 = select i1 %t6873, i32 8, i32 %t6872 - %t6875 = getelementptr ptr, ptr null, i32 1 - %t6876 = ptrtoint ptr %t6875 to i64 - %t6877 = zext i32 %t6874 to i64 - %t6878 = mul i64 %t6877, %t6876 - %t6879 = load ptr, ptr %t6868 - %t6880 = call ptr @realloc(ptr %t6879, i64 %t6878) - store ptr %t6880, ptr %t6868 - store i32 %t6874, ptr %t6867 - br label %put1520 -put1520: - %t6881 = load ptr, ptr %t6868 - %t6882 = getelementptr inbounds ptr, ptr %t6881, i32 %t6869 - store ptr @.str6898, ptr %t6882 - %t6883 = add i32 %t6869, 1 - store i32 %t6883, ptr %t6866 - br label %ifend1518 -ifend1518: - %t6884 = load ptr, ptr %t1 - %t6885 = call i32 @fn_str_eq(ptr %t6884, ptr @.str6899) - %t6886 = icmp ne i32 %t6885, 0 - br i1 %t6886, label %then1521, label %ifend1523 -then1521: - store ptr @.str6900, ptr %t330 - %t6887 = load ptr, ptr %t337 - %t6888 = getelementptr inbounds %LSlice, ptr %t6887, i32 0, i32 1 - %t6889 = getelementptr inbounds %LSlice, ptr %t6887, i32 0, i32 2 - %t6890 = getelementptr inbounds %LSlice, ptr %t6887, i32 0, i32 0 - %t6891 = load i32, ptr %t6888 - %t6892 = load i32, ptr %t6889 - %t6893 = icmp sge i32 %t6891, %t6892 - br i1 %t6893, label %grow1524, label %put1525 -grow1524: - %t6894 = mul i32 %t6892, 2 - %t6895 = icmp eq i32 %t6892, 0 - %t6896 = select i1 %t6895, i32 8, i32 %t6894 - %t6897 = getelementptr ptr, ptr null, i32 1 - %t6898 = ptrtoint ptr %t6897 to i64 - %t6899 = zext i32 %t6896 to i64 - %t6900 = mul i64 %t6899, %t6898 - %t6901 = load ptr, ptr %t6890 - %t6902 = call ptr @realloc(ptr %t6901, i64 %t6900) - store ptr %t6902, ptr %t6890 - store i32 %t6896, ptr %t6889 - br label %put1525 -put1525: - %t6903 = load ptr, ptr %t6890 - %t6904 = getelementptr inbounds ptr, ptr %t6903, i32 %t6891 - store ptr @.str6901, ptr %t6904 - %t6905 = add i32 %t6891, 1 - store i32 %t6905, ptr %t6888 - br label %ifend1523 -ifend1523: - %t6906 = load ptr, ptr %t1 - %t6907 = call i32 @fn_str_eq(ptr %t6906, ptr @.str6902) - %t6908 = icmp ne i32 %t6907, 0 - br i1 %t6908, label %then1526, label %ifend1528 -then1526: - store ptr @.str6903, ptr %t330 - %t6909 = load ptr, ptr %t337 - %t6910 = getelementptr inbounds %LSlice, ptr %t6909, i32 0, i32 1 - %t6911 = getelementptr inbounds %LSlice, ptr %t6909, i32 0, i32 2 - %t6912 = getelementptr inbounds %LSlice, ptr %t6909, i32 0, i32 0 - %t6913 = load i32, ptr %t6910 - %t6914 = load i32, ptr %t6911 - %t6915 = icmp sge i32 %t6913, %t6914 - br i1 %t6915, label %grow1529, label %put1530 -grow1529: - %t6916 = mul i32 %t6914, 2 - %t6917 = icmp eq i32 %t6914, 0 - %t6918 = select i1 %t6917, i32 8, i32 %t6916 - %t6919 = getelementptr ptr, ptr null, i32 1 - %t6920 = ptrtoint ptr %t6919 to i64 - %t6921 = zext i32 %t6918 to i64 - %t6922 = mul i64 %t6921, %t6920 - %t6923 = load ptr, ptr %t6912 - %t6924 = call ptr @realloc(ptr %t6923, i64 %t6922) - store ptr %t6924, ptr %t6912 - store i32 %t6918, ptr %t6911 - br label %put1530 -put1530: - %t6925 = load ptr, ptr %t6912 - %t6926 = getelementptr inbounds ptr, ptr %t6925, i32 %t6913 - store ptr @.str6904, ptr %t6926 - %t6927 = add i32 %t6913, 1 - store i32 %t6927, ptr %t6910 - br label %ifend1528 -ifend1528: - %t6928 = load ptr, ptr %t1 - %t6929 = call i32 @fn_str_eq(ptr %t6928, ptr @.str6905) - %t6930 = icmp ne i32 %t6929, 0 - br i1 %t6930, label %then1531, label %ifend1533 -then1531: - store ptr @.str6906, ptr %t330 - %t6931 = load ptr, ptr %t337 - %t6932 = getelementptr inbounds %LSlice, ptr %t6931, i32 0, i32 1 - %t6933 = getelementptr inbounds %LSlice, ptr %t6931, i32 0, i32 2 - %t6934 = getelementptr inbounds %LSlice, ptr %t6931, i32 0, i32 0 - %t6935 = load i32, ptr %t6932 - %t6936 = load i32, ptr %t6933 - %t6937 = icmp sge i32 %t6935, %t6936 - br i1 %t6937, label %grow1534, label %put1535 -grow1534: - %t6938 = mul i32 %t6936, 2 - %t6939 = icmp eq i32 %t6936, 0 - %t6940 = select i1 %t6939, i32 8, i32 %t6938 - %t6941 = getelementptr ptr, ptr null, i32 1 - %t6942 = ptrtoint ptr %t6941 to i64 - %t6943 = zext i32 %t6940 to i64 - %t6944 = mul i64 %t6943, %t6942 - %t6945 = load ptr, ptr %t6934 - %t6946 = call ptr @realloc(ptr %t6945, i64 %t6944) - store ptr %t6946, ptr %t6934 - store i32 %t6940, ptr %t6933 - br label %put1535 -put1535: - %t6947 = load ptr, ptr %t6934 - %t6948 = getelementptr inbounds ptr, ptr %t6947, i32 %t6935 - store ptr @.str6907, ptr %t6948 - %t6949 = add i32 %t6935, 1 - store i32 %t6949, ptr %t6932 - br label %ifend1533 -ifend1533: - br label %ifend1515 -ifend1515: - %t6950 = load ptr, ptr %t0 - %t6951 = call i32 @fn_str_eq(ptr %t6950, ptr @.str6908) - %t6952 = icmp ne i32 %t6951, 0 - br i1 %t6952, label %then1536, label %ifend1538 -then1536: - %t6953 = load ptr, ptr %t1 - %t6954 = call i32 @fn_str_eq(ptr %t6953, ptr @.str6909) - %t6955 = icmp ne i32 %t6954, 0 - br i1 %t6955, label %then1539, label %ifend1541 -then1539: - store ptr @.str6910, ptr %t330 - br label %ifend1541 -ifend1541: - %t6956 = load ptr, ptr %t1 - %t6957 = call i32 @fn_str_eq(ptr %t6956, ptr @.str6911) - %t6958 = icmp ne i32 %t6957, 0 - br i1 %t6958, label %then1542, label %ifend1544 -then1542: - store ptr @.str6912, ptr %t330 - %t6959 = load ptr, ptr %t337 - %t6960 = getelementptr inbounds %LSlice, ptr %t6959, i32 0, i32 1 - %t6961 = getelementptr inbounds %LSlice, ptr %t6959, i32 0, i32 2 - %t6962 = getelementptr inbounds %LSlice, ptr %t6959, i32 0, i32 0 - %t6963 = load i32, ptr %t6960 - %t6964 = load i32, ptr %t6961 - %t6965 = icmp sge i32 %t6963, %t6964 - br i1 %t6965, label %grow1545, label %put1546 -grow1545: - %t6966 = mul i32 %t6964, 2 - %t6967 = icmp eq i32 %t6964, 0 - %t6968 = select i1 %t6967, i32 8, i32 %t6966 - %t6969 = getelementptr ptr, ptr null, i32 1 - %t6970 = ptrtoint ptr %t6969 to i64 - %t6971 = zext i32 %t6968 to i64 - %t6972 = mul i64 %t6971, %t6970 - %t6973 = load ptr, ptr %t6962 - %t6974 = call ptr @realloc(ptr %t6973, i64 %t6972) - store ptr %t6974, ptr %t6962 - store i32 %t6968, ptr %t6961 - br label %put1546 -put1546: - %t6975 = load ptr, ptr %t6962 - %t6976 = getelementptr inbounds ptr, ptr %t6975, i32 %t6963 - store ptr @.str6913, ptr %t6976 - %t6977 = add i32 %t6963, 1 - store i32 %t6977, ptr %t6960 - br label %ifend1544 -ifend1544: - %t6978 = load ptr, ptr %t1 - %t6979 = call i32 @fn_str_eq(ptr %t6978, ptr @.str6914) - %t6980 = icmp ne i32 %t6979, 0 - br i1 %t6980, label %then1547, label %ifend1549 -then1547: - store ptr @.str6915, ptr %t330 - %t6981 = load ptr, ptr %t337 - %t6982 = getelementptr inbounds %LSlice, ptr %t6981, i32 0, i32 1 - %t6983 = getelementptr inbounds %LSlice, ptr %t6981, i32 0, i32 2 - %t6984 = getelementptr inbounds %LSlice, ptr %t6981, i32 0, i32 0 - %t6985 = load i32, ptr %t6982 - %t6986 = load i32, ptr %t6983 - %t6987 = icmp sge i32 %t6985, %t6986 - br i1 %t6987, label %grow1550, label %put1551 -grow1550: - %t6988 = mul i32 %t6986, 2 - %t6989 = icmp eq i32 %t6986, 0 - %t6990 = select i1 %t6989, i32 8, i32 %t6988 - %t6991 = getelementptr ptr, ptr null, i32 1 - %t6992 = ptrtoint ptr %t6991 to i64 - %t6993 = zext i32 %t6990 to i64 - %t6994 = mul i64 %t6993, %t6992 - %t6995 = load ptr, ptr %t6984 - %t6996 = call ptr @realloc(ptr %t6995, i64 %t6994) - store ptr %t6996, ptr %t6984 - store i32 %t6990, ptr %t6983 - br label %put1551 -put1551: - %t6997 = load ptr, ptr %t6984 - %t6998 = getelementptr inbounds ptr, ptr %t6997, i32 %t6985 - store ptr @.str6916, ptr %t6998 - %t6999 = add i32 %t6985, 1 - store i32 %t6999, ptr %t6982 - br label %ifend1549 -ifend1549: - %t7000 = load ptr, ptr %t1 - %t7001 = call i32 @fn_str_eq(ptr %t7000, ptr @.str6917) - %t7002 = icmp ne i32 %t7001, 0 - br i1 %t7002, label %then1552, label %ifend1554 -then1552: - store ptr @.str6918, ptr %t330 - %t7003 = load ptr, ptr %t337 + %t7000 = load ptr, ptr %t6987 + %t7001 = getelementptr inbounds ptr, ptr %t7000, i32 %t6988 + store ptr @.str7196, ptr %t7001 + %t7002 = add i32 %t6988, 1 + store i32 %t7002, ptr %t6985 + %t7003 = load ptr, ptr %t387 %t7004 = getelementptr inbounds %LSlice, ptr %t7003, i32 0, i32 1 %t7005 = getelementptr inbounds %LSlice, ptr %t7003, i32 0, i32 2 %t7006 = getelementptr inbounds %LSlice, ptr %t7003, i32 0, i32 0 %t7007 = load i32, ptr %t7004 %t7008 = load i32, ptr %t7005 %t7009 = icmp sge i32 %t7007, %t7008 - br i1 %t7009, label %grow1555, label %put1556 -grow1555: + br i1 %t7009, label %grow1490, label %put1491 +grow1490: %t7010 = mul i32 %t7008, 2 %t7011 = icmp eq i32 %t7008, 0 %t7012 = select i1 %t7011, i32 8, i32 %t7010 @@ -67372,251 +73761,251 @@ grow1555: %t7018 = call ptr @realloc(ptr %t7017, i64 %t7016) store ptr %t7018, ptr %t7006 store i32 %t7012, ptr %t7005 - br label %put1556 -put1556: + br label %put1491 +put1491: %t7019 = load ptr, ptr %t7006 %t7020 = getelementptr inbounds ptr, ptr %t7019, i32 %t7007 - store ptr @.str6919, ptr %t7020 + store ptr @.str7197, ptr %t7020 %t7021 = add i32 %t7007, 1 store i32 %t7021, ptr %t7004 - br label %ifend1554 -ifend1554: + br label %ifend1485 +ifend1485: %t7022 = load ptr, ptr %t1 - %t7023 = call i32 @fn_str_eq(ptr %t7022, ptr @.str6920) + %t7023 = call i32 @fn_str_eq(ptr %t7022, ptr @.str7198) %t7024 = icmp ne i32 %t7023, 0 - br i1 %t7024, label %then1557, label %ifend1559 -then1557: - store ptr @.str6921, ptr %t330 - br label %ifend1559 -ifend1559: - %t7025 = load ptr, ptr %t1 - %t7026 = call i32 @fn_str_eq(ptr %t7025, ptr @.str6922) - %t7027 = icmp ne i32 %t7026, 0 - br i1 %t7027, label %then1560, label %ifend1562 -then1560: - store ptr @.str6923, ptr %t330 - %t7028 = load ptr, ptr %t337 - %t7029 = getelementptr inbounds %LSlice, ptr %t7028, i32 0, i32 1 - %t7030 = getelementptr inbounds %LSlice, ptr %t7028, i32 0, i32 2 - %t7031 = getelementptr inbounds %LSlice, ptr %t7028, i32 0, i32 0 - %t7032 = load i32, ptr %t7029 - %t7033 = load i32, ptr %t7030 - %t7034 = icmp sge i32 %t7032, %t7033 - br i1 %t7034, label %grow1563, label %put1564 -grow1563: - %t7035 = mul i32 %t7033, 2 - %t7036 = icmp eq i32 %t7033, 0 - %t7037 = select i1 %t7036, i32 8, i32 %t7035 - %t7038 = getelementptr ptr, ptr null, i32 1 - %t7039 = ptrtoint ptr %t7038 to i64 - %t7040 = zext i32 %t7037 to i64 - %t7041 = mul i64 %t7040, %t7039 - %t7042 = load ptr, ptr %t7031 - %t7043 = call ptr @realloc(ptr %t7042, i64 %t7041) - store ptr %t7043, ptr %t7031 - store i32 %t7037, ptr %t7030 - br label %put1564 -put1564: - %t7044 = load ptr, ptr %t7031 - %t7045 = getelementptr inbounds ptr, ptr %t7044, i32 %t7032 - store ptr @.str6924, ptr %t7045 - %t7046 = add i32 %t7032, 1 - store i32 %t7046, ptr %t7029 - br label %ifend1562 -ifend1562: - %t7047 = load ptr, ptr %t1 - %t7048 = call i32 @fn_str_eq(ptr %t7047, ptr @.str6925) - %t7049 = icmp ne i32 %t7048, 0 - br i1 %t7049, label %then1565, label %ifend1567 -then1565: - store ptr @.str6926, ptr %t330 - %t7050 = load ptr, ptr %t337 - %t7051 = getelementptr inbounds %LSlice, ptr %t7050, i32 0, i32 1 - %t7052 = getelementptr inbounds %LSlice, ptr %t7050, i32 0, i32 2 - %t7053 = getelementptr inbounds %LSlice, ptr %t7050, i32 0, i32 0 - %t7054 = load i32, ptr %t7051 - %t7055 = load i32, ptr %t7052 - %t7056 = icmp sge i32 %t7054, %t7055 - br i1 %t7056, label %grow1568, label %put1569 -grow1568: - %t7057 = mul i32 %t7055, 2 - %t7058 = icmp eq i32 %t7055, 0 - %t7059 = select i1 %t7058, i32 8, i32 %t7057 - %t7060 = getelementptr ptr, ptr null, i32 1 - %t7061 = ptrtoint ptr %t7060 to i64 - %t7062 = zext i32 %t7059 to i64 - %t7063 = mul i64 %t7062, %t7061 - %t7064 = load ptr, ptr %t7053 - %t7065 = call ptr @realloc(ptr %t7064, i64 %t7063) - store ptr %t7065, ptr %t7053 - store i32 %t7059, ptr %t7052 - br label %put1569 -put1569: - %t7066 = load ptr, ptr %t7053 - %t7067 = getelementptr inbounds ptr, ptr %t7066, i32 %t7054 - store ptr @.str6927, ptr %t7067 - %t7068 = add i32 %t7054, 1 - store i32 %t7068, ptr %t7051 - %t7069 = load ptr, ptr %t337 - %t7070 = getelementptr inbounds %LSlice, ptr %t7069, i32 0, i32 1 - %t7071 = getelementptr inbounds %LSlice, ptr %t7069, i32 0, i32 2 - %t7072 = getelementptr inbounds %LSlice, ptr %t7069, i32 0, i32 0 - %t7073 = load i32, ptr %t7070 - %t7074 = load i32, ptr %t7071 - %t7075 = icmp sge i32 %t7073, %t7074 - br i1 %t7075, label %grow1570, label %put1571 -grow1570: - %t7076 = mul i32 %t7074, 2 - %t7077 = icmp eq i32 %t7074, 0 - %t7078 = select i1 %t7077, i32 8, i32 %t7076 - %t7079 = getelementptr ptr, ptr null, i32 1 - %t7080 = ptrtoint ptr %t7079 to i64 - %t7081 = zext i32 %t7078 to i64 - %t7082 = mul i64 %t7081, %t7080 - %t7083 = load ptr, ptr %t7072 - %t7084 = call ptr @realloc(ptr %t7083, i64 %t7082) - store ptr %t7084, ptr %t7072 - store i32 %t7078, ptr %t7071 - br label %put1571 -put1571: - %t7085 = load ptr, ptr %t7072 - %t7086 = getelementptr inbounds ptr, ptr %t7085, i32 %t7073 - store ptr @.str6928, ptr %t7086 - %t7087 = add i32 %t7073, 1 - store i32 %t7087, ptr %t7070 - br label %ifend1567 -ifend1567: - %t7088 = load ptr, ptr %t1 - %t7089 = call i32 @fn_str_eq(ptr %t7088, ptr @.str6929) - %t7090 = icmp ne i32 %t7089, 0 - br i1 %t7090, label %then1572, label %ifend1574 -then1572: - store ptr @.str6930, ptr %t330 - %t7091 = load ptr, ptr %t337 - %t7092 = getelementptr inbounds %LSlice, ptr %t7091, i32 0, i32 1 - %t7093 = getelementptr inbounds %LSlice, ptr %t7091, i32 0, i32 2 - %t7094 = getelementptr inbounds %LSlice, ptr %t7091, i32 0, i32 0 - %t7095 = load i32, ptr %t7092 - %t7096 = load i32, ptr %t7093 - %t7097 = icmp sge i32 %t7095, %t7096 - br i1 %t7097, label %grow1575, label %put1576 -grow1575: - %t7098 = mul i32 %t7096, 2 - %t7099 = icmp eq i32 %t7096, 0 - %t7100 = select i1 %t7099, i32 8, i32 %t7098 - %t7101 = getelementptr ptr, ptr null, i32 1 - %t7102 = ptrtoint ptr %t7101 to i64 - %t7103 = zext i32 %t7100 to i64 - %t7104 = mul i64 %t7103, %t7102 - %t7105 = load ptr, ptr %t7094 - %t7106 = call ptr @realloc(ptr %t7105, i64 %t7104) - store ptr %t7106, ptr %t7094 - store i32 %t7100, ptr %t7093 - br label %put1576 -put1576: - %t7107 = load ptr, ptr %t7094 - %t7108 = getelementptr inbounds ptr, ptr %t7107, i32 %t7095 - store ptr @.str6931, ptr %t7108 - %t7109 = add i32 %t7095, 1 - store i32 %t7109, ptr %t7092 - %t7110 = load ptr, ptr %t337 - %t7111 = getelementptr inbounds %LSlice, ptr %t7110, i32 0, i32 1 - %t7112 = getelementptr inbounds %LSlice, ptr %t7110, i32 0, i32 2 - %t7113 = getelementptr inbounds %LSlice, ptr %t7110, i32 0, i32 0 - %t7114 = load i32, ptr %t7111 - %t7115 = load i32, ptr %t7112 - %t7116 = icmp sge i32 %t7114, %t7115 - br i1 %t7116, label %grow1577, label %put1578 -grow1577: - %t7117 = mul i32 %t7115, 2 - %t7118 = icmp eq i32 %t7115, 0 - %t7119 = select i1 %t7118, i32 8, i32 %t7117 - %t7120 = getelementptr ptr, ptr null, i32 1 - %t7121 = ptrtoint ptr %t7120 to i64 - %t7122 = zext i32 %t7119 to i64 - %t7123 = mul i64 %t7122, %t7121 - %t7124 = load ptr, ptr %t7113 - %t7125 = call ptr @realloc(ptr %t7124, i64 %t7123) - store ptr %t7125, ptr %t7113 - store i32 %t7119, ptr %t7112 - br label %put1578 -put1578: - %t7126 = load ptr, ptr %t7113 - %t7127 = getelementptr inbounds ptr, ptr %t7126, i32 %t7114 - store ptr @.str6932, ptr %t7127 - %t7128 = add i32 %t7114, 1 - store i32 %t7128, ptr %t7111 - br label %ifend1574 -ifend1574: - %t7129 = load ptr, ptr %t1 - %t7130 = call i32 @fn_str_eq(ptr %t7129, ptr @.str6933) - %t7131 = icmp ne i32 %t7130, 0 - br i1 %t7131, label %then1579, label %ifend1581 -then1579: - store ptr @.str6934, ptr %t330 - %t7132 = load ptr, ptr %t337 - %t7133 = getelementptr inbounds %LSlice, ptr %t7132, i32 0, i32 1 - %t7134 = getelementptr inbounds %LSlice, ptr %t7132, i32 0, i32 2 - %t7135 = getelementptr inbounds %LSlice, ptr %t7132, i32 0, i32 0 - %t7136 = load i32, ptr %t7133 - %t7137 = load i32, ptr %t7134 - %t7138 = icmp sge i32 %t7136, %t7137 - br i1 %t7138, label %grow1582, label %put1583 -grow1582: - %t7139 = mul i32 %t7137, 2 - %t7140 = icmp eq i32 %t7137, 0 - %t7141 = select i1 %t7140, i32 8, i32 %t7139 - %t7142 = getelementptr ptr, ptr null, i32 1 - %t7143 = ptrtoint ptr %t7142 to i64 - %t7144 = zext i32 %t7141 to i64 - %t7145 = mul i64 %t7144, %t7143 - %t7146 = load ptr, ptr %t7135 - %t7147 = call ptr @realloc(ptr %t7146, i64 %t7145) - store ptr %t7147, ptr %t7135 - store i32 %t7141, ptr %t7134 - br label %put1583 -put1583: - %t7148 = load ptr, ptr %t7135 - %t7149 = getelementptr inbounds ptr, ptr %t7148, i32 %t7136 - store ptr @.str6935, ptr %t7149 - %t7150 = add i32 %t7136, 1 - store i32 %t7150, ptr %t7133 - %t7151 = load ptr, ptr %t337 - %t7152 = getelementptr inbounds %LSlice, ptr %t7151, i32 0, i32 1 - %t7153 = getelementptr inbounds %LSlice, ptr %t7151, i32 0, i32 2 - %t7154 = getelementptr inbounds %LSlice, ptr %t7151, i32 0, i32 0 - %t7155 = load i32, ptr %t7152 - %t7156 = load i32, ptr %t7153 - %t7157 = icmp sge i32 %t7155, %t7156 - br i1 %t7157, label %grow1584, label %put1585 -grow1584: - %t7158 = mul i32 %t7156, 2 - %t7159 = icmp eq i32 %t7156, 0 - %t7160 = select i1 %t7159, i32 8, i32 %t7158 - %t7161 = getelementptr ptr, ptr null, i32 1 - %t7162 = ptrtoint ptr %t7161 to i64 - %t7163 = zext i32 %t7160 to i64 - %t7164 = mul i64 %t7163, %t7162 - %t7165 = load ptr, ptr %t7154 - %t7166 = call ptr @realloc(ptr %t7165, i64 %t7164) - store ptr %t7166, ptr %t7154 - store i32 %t7160, ptr %t7153 - br label %put1585 -put1585: - %t7167 = load ptr, ptr %t7154 - %t7168 = getelementptr inbounds ptr, ptr %t7167, i32 %t7155 - store ptr @.str6936, ptr %t7168 - %t7169 = add i32 %t7155, 1 - store i32 %t7169, ptr %t7152 - %t7170 = load ptr, ptr %t337 + br i1 %t7024, label %then1492, label %ifend1494 +then1492: + store ptr @.str7199, ptr %t380 + %t7025 = load ptr, ptr %t387 + %t7026 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 1 + %t7027 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 2 + %t7028 = getelementptr inbounds %LSlice, ptr %t7025, i32 0, i32 0 + %t7029 = load i32, ptr %t7026 + %t7030 = load i32, ptr %t7027 + %t7031 = icmp sge i32 %t7029, %t7030 + br i1 %t7031, label %grow1495, label %put1496 +grow1495: + %t7032 = mul i32 %t7030, 2 + %t7033 = icmp eq i32 %t7030, 0 + %t7034 = select i1 %t7033, i32 8, i32 %t7032 + %t7035 = getelementptr ptr, ptr null, i32 1 + %t7036 = ptrtoint ptr %t7035 to i64 + %t7037 = zext i32 %t7034 to i64 + %t7038 = mul i64 %t7037, %t7036 + %t7039 = load ptr, ptr %t7028 + %t7040 = call ptr @realloc(ptr %t7039, i64 %t7038) + store ptr %t7040, ptr %t7028 + store i32 %t7034, ptr %t7027 + br label %put1496 +put1496: + %t7041 = load ptr, ptr %t7028 + %t7042 = getelementptr inbounds ptr, ptr %t7041, i32 %t7029 + store ptr @.str7200, ptr %t7042 + %t7043 = add i32 %t7029, 1 + store i32 %t7043, ptr %t7026 + %t7044 = load ptr, ptr %t387 + %t7045 = getelementptr inbounds %LSlice, ptr %t7044, i32 0, i32 1 + %t7046 = getelementptr inbounds %LSlice, ptr %t7044, i32 0, i32 2 + %t7047 = getelementptr inbounds %LSlice, ptr %t7044, i32 0, i32 0 + %t7048 = load i32, ptr %t7045 + %t7049 = load i32, ptr %t7046 + %t7050 = icmp sge i32 %t7048, %t7049 + br i1 %t7050, label %grow1497, label %put1498 +grow1497: + %t7051 = mul i32 %t7049, 2 + %t7052 = icmp eq i32 %t7049, 0 + %t7053 = select i1 %t7052, i32 8, i32 %t7051 + %t7054 = getelementptr ptr, ptr null, i32 1 + %t7055 = ptrtoint ptr %t7054 to i64 + %t7056 = zext i32 %t7053 to i64 + %t7057 = mul i64 %t7056, %t7055 + %t7058 = load ptr, ptr %t7047 + %t7059 = call ptr @realloc(ptr %t7058, i64 %t7057) + store ptr %t7059, ptr %t7047 + store i32 %t7053, ptr %t7046 + br label %put1498 +put1498: + %t7060 = load ptr, ptr %t7047 + %t7061 = getelementptr inbounds ptr, ptr %t7060, i32 %t7048 + store ptr @.str7201, ptr %t7061 + %t7062 = add i32 %t7048, 1 + store i32 %t7062, ptr %t7045 + br label %ifend1494 +ifend1494: + %t7063 = load ptr, ptr %t1 + %t7064 = call i32 @fn_str_eq(ptr %t7063, ptr @.str7202) + %t7065 = icmp ne i32 %t7064, 0 + br i1 %t7065, label %then1499, label %ifend1501 +then1499: + store ptr @.str7203, ptr %t380 + %t7066 = load ptr, ptr %t387 + %t7067 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 1 + %t7068 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 2 + %t7069 = getelementptr inbounds %LSlice, ptr %t7066, i32 0, i32 0 + %t7070 = load i32, ptr %t7067 + %t7071 = load i32, ptr %t7068 + %t7072 = icmp sge i32 %t7070, %t7071 + br i1 %t7072, label %grow1502, label %put1503 +grow1502: + %t7073 = mul i32 %t7071, 2 + %t7074 = icmp eq i32 %t7071, 0 + %t7075 = select i1 %t7074, i32 8, i32 %t7073 + %t7076 = getelementptr ptr, ptr null, i32 1 + %t7077 = ptrtoint ptr %t7076 to i64 + %t7078 = zext i32 %t7075 to i64 + %t7079 = mul i64 %t7078, %t7077 + %t7080 = load ptr, ptr %t7069 + %t7081 = call ptr @realloc(ptr %t7080, i64 %t7079) + store ptr %t7081, ptr %t7069 + store i32 %t7075, ptr %t7068 + br label %put1503 +put1503: + %t7082 = load ptr, ptr %t7069 + %t7083 = getelementptr inbounds ptr, ptr %t7082, i32 %t7070 + store ptr @.str7204, ptr %t7083 + %t7084 = add i32 %t7070, 1 + store i32 %t7084, ptr %t7067 + br label %ifend1501 +ifend1501: + %t7085 = load ptr, ptr %t1 + %t7086 = call i32 @fn_str_eq(ptr %t7085, ptr @.str7205) + %t7087 = icmp ne i32 %t7086, 0 + br i1 %t7087, label %then1504, label %ifend1506 +then1504: + store ptr @.str7206, ptr %t380 + %t7088 = load ptr, ptr %t387 + %t7089 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 1 + %t7090 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 2 + %t7091 = getelementptr inbounds %LSlice, ptr %t7088, i32 0, i32 0 + %t7092 = load i32, ptr %t7089 + %t7093 = load i32, ptr %t7090 + %t7094 = icmp sge i32 %t7092, %t7093 + br i1 %t7094, label %grow1507, label %put1508 +grow1507: + %t7095 = mul i32 %t7093, 2 + %t7096 = icmp eq i32 %t7093, 0 + %t7097 = select i1 %t7096, i32 8, i32 %t7095 + %t7098 = getelementptr ptr, ptr null, i32 1 + %t7099 = ptrtoint ptr %t7098 to i64 + %t7100 = zext i32 %t7097 to i64 + %t7101 = mul i64 %t7100, %t7099 + %t7102 = load ptr, ptr %t7091 + %t7103 = call ptr @realloc(ptr %t7102, i64 %t7101) + store ptr %t7103, ptr %t7091 + store i32 %t7097, ptr %t7090 + br label %put1508 +put1508: + %t7104 = load ptr, ptr %t7091 + %t7105 = getelementptr inbounds ptr, ptr %t7104, i32 %t7092 + store ptr @.str7207, ptr %t7105 + %t7106 = add i32 %t7092, 1 + store i32 %t7106, ptr %t7089 + %t7107 = load ptr, ptr %t387 + %t7108 = getelementptr inbounds %LSlice, ptr %t7107, i32 0, i32 1 + %t7109 = getelementptr inbounds %LSlice, ptr %t7107, i32 0, i32 2 + %t7110 = getelementptr inbounds %LSlice, ptr %t7107, i32 0, i32 0 + %t7111 = load i32, ptr %t7108 + %t7112 = load i32, ptr %t7109 + %t7113 = icmp sge i32 %t7111, %t7112 + br i1 %t7113, label %grow1509, label %put1510 +grow1509: + %t7114 = mul i32 %t7112, 2 + %t7115 = icmp eq i32 %t7112, 0 + %t7116 = select i1 %t7115, i32 8, i32 %t7114 + %t7117 = getelementptr ptr, ptr null, i32 1 + %t7118 = ptrtoint ptr %t7117 to i64 + %t7119 = zext i32 %t7116 to i64 + %t7120 = mul i64 %t7119, %t7118 + %t7121 = load ptr, ptr %t7110 + %t7122 = call ptr @realloc(ptr %t7121, i64 %t7120) + store ptr %t7122, ptr %t7110 + store i32 %t7116, ptr %t7109 + br label %put1510 +put1510: + %t7123 = load ptr, ptr %t7110 + %t7124 = getelementptr inbounds ptr, ptr %t7123, i32 %t7111 + store ptr @.str7208, ptr %t7124 + %t7125 = add i32 %t7111, 1 + store i32 %t7125, ptr %t7108 + br label %ifend1506 +ifend1506: + %t7126 = load ptr, ptr %t1 + %t7127 = call i32 @fn_str_eq(ptr %t7126, ptr @.str7209) + %t7128 = icmp ne i32 %t7127, 0 + br i1 %t7128, label %then1511, label %ifend1513 +then1511: + store ptr @.str7210, ptr %t380 + %t7129 = load ptr, ptr %t387 + %t7130 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 1 + %t7131 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 2 + %t7132 = getelementptr inbounds %LSlice, ptr %t7129, i32 0, i32 0 + %t7133 = load i32, ptr %t7130 + %t7134 = load i32, ptr %t7131 + %t7135 = icmp sge i32 %t7133, %t7134 + br i1 %t7135, label %grow1514, label %put1515 +grow1514: + %t7136 = mul i32 %t7134, 2 + %t7137 = icmp eq i32 %t7134, 0 + %t7138 = select i1 %t7137, i32 8, i32 %t7136 + %t7139 = getelementptr ptr, ptr null, i32 1 + %t7140 = ptrtoint ptr %t7139 to i64 + %t7141 = zext i32 %t7138 to i64 + %t7142 = mul i64 %t7141, %t7140 + %t7143 = load ptr, ptr %t7132 + %t7144 = call ptr @realloc(ptr %t7143, i64 %t7142) + store ptr %t7144, ptr %t7132 + store i32 %t7138, ptr %t7131 + br label %put1515 +put1515: + %t7145 = load ptr, ptr %t7132 + %t7146 = getelementptr inbounds ptr, ptr %t7145, i32 %t7133 + store ptr @.str7211, ptr %t7146 + %t7147 = add i32 %t7133, 1 + store i32 %t7147, ptr %t7130 + %t7148 = load ptr, ptr %t387 + %t7149 = getelementptr inbounds %LSlice, ptr %t7148, i32 0, i32 1 + %t7150 = getelementptr inbounds %LSlice, ptr %t7148, i32 0, i32 2 + %t7151 = getelementptr inbounds %LSlice, ptr %t7148, i32 0, i32 0 + %t7152 = load i32, ptr %t7149 + %t7153 = load i32, ptr %t7150 + %t7154 = icmp sge i32 %t7152, %t7153 + br i1 %t7154, label %grow1516, label %put1517 +grow1516: + %t7155 = mul i32 %t7153, 2 + %t7156 = icmp eq i32 %t7153, 0 + %t7157 = select i1 %t7156, i32 8, i32 %t7155 + %t7158 = getelementptr ptr, ptr null, i32 1 + %t7159 = ptrtoint ptr %t7158 to i64 + %t7160 = zext i32 %t7157 to i64 + %t7161 = mul i64 %t7160, %t7159 + %t7162 = load ptr, ptr %t7151 + %t7163 = call ptr @realloc(ptr %t7162, i64 %t7161) + store ptr %t7163, ptr %t7151 + store i32 %t7157, ptr %t7150 + br label %put1517 +put1517: + %t7164 = load ptr, ptr %t7151 + %t7165 = getelementptr inbounds ptr, ptr %t7164, i32 %t7152 + store ptr @.str7212, ptr %t7165 + %t7166 = add i32 %t7152, 1 + store i32 %t7166, ptr %t7149 + br label %ifend1513 +ifend1513: + %t7167 = load ptr, ptr %t1 + %t7168 = call i32 @fn_str_eq(ptr %t7167, ptr @.str7213) + %t7169 = icmp ne i32 %t7168, 0 + br i1 %t7169, label %then1518, label %ifend1520 +then1518: + store ptr @.str7214, ptr %t380 + %t7170 = load ptr, ptr %t387 %t7171 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 1 %t7172 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 2 %t7173 = getelementptr inbounds %LSlice, ptr %t7170, i32 0, i32 0 %t7174 = load i32, ptr %t7171 %t7175 = load i32, ptr %t7172 %t7176 = icmp sge i32 %t7174, %t7175 - br i1 %t7176, label %grow1586, label %put1587 -grow1586: + br i1 %t7176, label %grow1521, label %put1522 +grow1521: %t7177 = mul i32 %t7175, 2 %t7178 = icmp eq i32 %t7175, 0 %t7179 = select i1 %t7178, i32 8, i32 %t7177 @@ -67628,38 +74017,37 @@ grow1586: %t7185 = call ptr @realloc(ptr %t7184, i64 %t7183) store ptr %t7185, ptr %t7173 store i32 %t7179, ptr %t7172 - br label %put1587 -put1587: + br label %put1522 +put1522: %t7186 = load ptr, ptr %t7173 %t7187 = getelementptr inbounds ptr, ptr %t7186, i32 %t7174 - store ptr @.str6937, ptr %t7187 + store ptr @.str7215, ptr %t7187 %t7188 = add i32 %t7174, 1 store i32 %t7188, ptr %t7171 - br label %ifend1581 -ifend1581: - %t7189 = load ptr, ptr %t1 - %t7190 = call i32 @fn_str_eq(ptr %t7189, ptr @.str6938) + br label %ifend1520 +ifend1520: + br label %ifend1435 +ifend1435: + %t7189 = load ptr, ptr %t0 + %t7190 = call i32 @fn_str_eq(ptr %t7189, ptr @.str7216) %t7191 = icmp ne i32 %t7190, 0 - br i1 %t7191, label %then1588, label %ifend1590 -then1588: - store ptr @.str6939, ptr %t330 - br label %ifend1590 -ifend1590: + br i1 %t7191, label %then1523, label %ifend1525 +then1523: %t7192 = load ptr, ptr %t1 - %t7193 = call i32 @fn_str_eq(ptr %t7192, ptr @.str6940) + %t7193 = call i32 @fn_str_eq(ptr %t7192, ptr @.str7217) %t7194 = icmp ne i32 %t7193, 0 - br i1 %t7194, label %then1591, label %ifend1593 -then1591: - store ptr @.str6941, ptr %t330 - %t7195 = load ptr, ptr %t337 + br i1 %t7194, label %then1526, label %ifend1528 +then1526: + store ptr @.str7218, ptr %t380 + %t7195 = load ptr, ptr %t387 %t7196 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 1 %t7197 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 2 %t7198 = getelementptr inbounds %LSlice, ptr %t7195, i32 0, i32 0 %t7199 = load i32, ptr %t7196 %t7200 = load i32, ptr %t7197 %t7201 = icmp sge i32 %t7199, %t7200 - br i1 %t7201, label %grow1594, label %put1595 -grow1594: + br i1 %t7201, label %grow1529, label %put1530 +grow1529: %t7202 = mul i32 %t7200, 2 %t7203 = icmp eq i32 %t7200, 0 %t7204 = select i1 %t7203, i32 8, i32 %t7202 @@ -67671,92 +74059,92 @@ grow1594: %t7210 = call ptr @realloc(ptr %t7209, i64 %t7208) store ptr %t7210, ptr %t7198 store i32 %t7204, ptr %t7197 - br label %put1595 -put1595: + br label %put1530 +put1530: %t7211 = load ptr, ptr %t7198 %t7212 = getelementptr inbounds ptr, ptr %t7211, i32 %t7199 - store ptr @.str6942, ptr %t7212 + store ptr @.str7219, ptr %t7212 %t7213 = add i32 %t7199, 1 store i32 %t7213, ptr %t7196 - %t7214 = load ptr, ptr %t337 - %t7215 = getelementptr inbounds %LSlice, ptr %t7214, i32 0, i32 1 - %t7216 = getelementptr inbounds %LSlice, ptr %t7214, i32 0, i32 2 - %t7217 = getelementptr inbounds %LSlice, ptr %t7214, i32 0, i32 0 - %t7218 = load i32, ptr %t7215 - %t7219 = load i32, ptr %t7216 - %t7220 = icmp sge i32 %t7218, %t7219 - br i1 %t7220, label %grow1596, label %put1597 -grow1596: - %t7221 = mul i32 %t7219, 2 - %t7222 = icmp eq i32 %t7219, 0 - %t7223 = select i1 %t7222, i32 8, i32 %t7221 - %t7224 = getelementptr ptr, ptr null, i32 1 - %t7225 = ptrtoint ptr %t7224 to i64 - %t7226 = zext i32 %t7223 to i64 - %t7227 = mul i64 %t7226, %t7225 - %t7228 = load ptr, ptr %t7217 - %t7229 = call ptr @realloc(ptr %t7228, i64 %t7227) - store ptr %t7229, ptr %t7217 - store i32 %t7223, ptr %t7216 - br label %put1597 -put1597: - %t7230 = load ptr, ptr %t7217 - %t7231 = getelementptr inbounds ptr, ptr %t7230, i32 %t7218 - store ptr @.str6943, ptr %t7231 - %t7232 = add i32 %t7218, 1 - store i32 %t7232, ptr %t7215 - br label %ifend1593 -ifend1593: - %t7233 = load ptr, ptr %t1 - %t7234 = call i32 @fn_str_eq(ptr %t7233, ptr @.str6944) - %t7235 = icmp ne i32 %t7234, 0 - br i1 %t7235, label %then1598, label %ifend1600 -then1598: - store ptr @.str6945, ptr %t330 - %t7236 = load ptr, ptr %t337 - %t7237 = getelementptr inbounds %LSlice, ptr %t7236, i32 0, i32 1 - %t7238 = getelementptr inbounds %LSlice, ptr %t7236, i32 0, i32 2 - %t7239 = getelementptr inbounds %LSlice, ptr %t7236, i32 0, i32 0 - %t7240 = load i32, ptr %t7237 - %t7241 = load i32, ptr %t7238 - %t7242 = icmp sge i32 %t7240, %t7241 - br i1 %t7242, label %grow1601, label %put1602 -grow1601: - %t7243 = mul i32 %t7241, 2 - %t7244 = icmp eq i32 %t7241, 0 - %t7245 = select i1 %t7244, i32 8, i32 %t7243 - %t7246 = getelementptr ptr, ptr null, i32 1 - %t7247 = ptrtoint ptr %t7246 to i64 - %t7248 = zext i32 %t7245 to i64 - %t7249 = mul i64 %t7248, %t7247 - %t7250 = load ptr, ptr %t7239 - %t7251 = call ptr @realloc(ptr %t7250, i64 %t7249) - store ptr %t7251, ptr %t7239 - store i32 %t7245, ptr %t7238 - br label %put1602 -put1602: - %t7252 = load ptr, ptr %t7239 - %t7253 = getelementptr inbounds ptr, ptr %t7252, i32 %t7240 - store ptr @.str6946, ptr %t7253 - %t7254 = add i32 %t7240, 1 - store i32 %t7254, ptr %t7237 - br label %ifend1600 -ifend1600: - %t7255 = load ptr, ptr %t1 - %t7256 = call i32 @fn_str_eq(ptr %t7255, ptr @.str6947) - %t7257 = icmp ne i32 %t7256, 0 - br i1 %t7257, label %then1603, label %ifend1605 -then1603: - store ptr @.str6948, ptr %t330 - %t7258 = load ptr, ptr %t337 + br label %ifend1528 +ifend1528: + %t7214 = load ptr, ptr %t1 + %t7215 = call i32 @fn_str_eq(ptr %t7214, ptr @.str7220) + %t7216 = icmp ne i32 %t7215, 0 + br i1 %t7216, label %then1531, label %ifend1533 +then1531: + store ptr @.str7221, ptr %t380 + %t7217 = load ptr, ptr %t387 + %t7218 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 1 + %t7219 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 2 + %t7220 = getelementptr inbounds %LSlice, ptr %t7217, i32 0, i32 0 + %t7221 = load i32, ptr %t7218 + %t7222 = load i32, ptr %t7219 + %t7223 = icmp sge i32 %t7221, %t7222 + br i1 %t7223, label %grow1534, label %put1535 +grow1534: + %t7224 = mul i32 %t7222, 2 + %t7225 = icmp eq i32 %t7222, 0 + %t7226 = select i1 %t7225, i32 8, i32 %t7224 + %t7227 = getelementptr ptr, ptr null, i32 1 + %t7228 = ptrtoint ptr %t7227 to i64 + %t7229 = zext i32 %t7226 to i64 + %t7230 = mul i64 %t7229, %t7228 + %t7231 = load ptr, ptr %t7220 + %t7232 = call ptr @realloc(ptr %t7231, i64 %t7230) + store ptr %t7232, ptr %t7220 + store i32 %t7226, ptr %t7219 + br label %put1535 +put1535: + %t7233 = load ptr, ptr %t7220 + %t7234 = getelementptr inbounds ptr, ptr %t7233, i32 %t7221 + store ptr @.str7222, ptr %t7234 + %t7235 = add i32 %t7221, 1 + store i32 %t7235, ptr %t7218 + br label %ifend1533 +ifend1533: + %t7236 = load ptr, ptr %t1 + %t7237 = call i32 @fn_str_eq(ptr %t7236, ptr @.str7223) + %t7238 = icmp ne i32 %t7237, 0 + br i1 %t7238, label %then1536, label %ifend1538 +then1536: + store ptr @.str7224, ptr %t380 + %t7239 = load ptr, ptr %t387 + %t7240 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 1 + %t7241 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 2 + %t7242 = getelementptr inbounds %LSlice, ptr %t7239, i32 0, i32 0 + %t7243 = load i32, ptr %t7240 + %t7244 = load i32, ptr %t7241 + %t7245 = icmp sge i32 %t7243, %t7244 + br i1 %t7245, label %grow1539, label %put1540 +grow1539: + %t7246 = mul i32 %t7244, 2 + %t7247 = icmp eq i32 %t7244, 0 + %t7248 = select i1 %t7247, i32 8, i32 %t7246 + %t7249 = getelementptr ptr, ptr null, i32 1 + %t7250 = ptrtoint ptr %t7249 to i64 + %t7251 = zext i32 %t7248 to i64 + %t7252 = mul i64 %t7251, %t7250 + %t7253 = load ptr, ptr %t7242 + %t7254 = call ptr @realloc(ptr %t7253, i64 %t7252) + store ptr %t7254, ptr %t7242 + store i32 %t7248, ptr %t7241 + br label %put1540 +put1540: + %t7255 = load ptr, ptr %t7242 + %t7256 = getelementptr inbounds ptr, ptr %t7255, i32 %t7243 + store ptr @.str7225, ptr %t7256 + %t7257 = add i32 %t7243, 1 + store i32 %t7257, ptr %t7240 + %t7258 = load ptr, ptr %t387 %t7259 = getelementptr inbounds %LSlice, ptr %t7258, i32 0, i32 1 %t7260 = getelementptr inbounds %LSlice, ptr %t7258, i32 0, i32 2 %t7261 = getelementptr inbounds %LSlice, ptr %t7258, i32 0, i32 0 %t7262 = load i32, ptr %t7259 %t7263 = load i32, ptr %t7260 %t7264 = icmp sge i32 %t7262, %t7263 - br i1 %t7264, label %grow1606, label %put1607 -grow1606: + br i1 %t7264, label %grow1541, label %put1542 +grow1541: %t7265 = mul i32 %t7263, 2 %t7266 = icmp eq i32 %t7263, 0 %t7267 = select i1 %t7266, i32 8, i32 %t7265 @@ -67768,30 +74156,30 @@ grow1606: %t7273 = call ptr @realloc(ptr %t7272, i64 %t7271) store ptr %t7273, ptr %t7261 store i32 %t7267, ptr %t7260 - br label %put1607 -put1607: + br label %put1542 +put1542: %t7274 = load ptr, ptr %t7261 %t7275 = getelementptr inbounds ptr, ptr %t7274, i32 %t7262 - store ptr @.str6949, ptr %t7275 + store ptr @.str7226, ptr %t7275 %t7276 = add i32 %t7262, 1 store i32 %t7276, ptr %t7259 - br label %ifend1605 -ifend1605: + br label %ifend1538 +ifend1538: %t7277 = load ptr, ptr %t1 - %t7278 = call i32 @fn_str_eq(ptr %t7277, ptr @.str6950) + %t7278 = call i32 @fn_str_eq(ptr %t7277, ptr @.str7227) %t7279 = icmp ne i32 %t7278, 0 - br i1 %t7279, label %then1608, label %ifend1610 -then1608: - store ptr @.str6951, ptr %t330 - %t7280 = load ptr, ptr %t337 + br i1 %t7279, label %then1543, label %ifend1545 +then1543: + store ptr @.str7228, ptr %t380 + %t7280 = load ptr, ptr %t387 %t7281 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 1 %t7282 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 2 %t7283 = getelementptr inbounds %LSlice, ptr %t7280, i32 0, i32 0 %t7284 = load i32, ptr %t7281 %t7285 = load i32, ptr %t7282 %t7286 = icmp sge i32 %t7284, %t7285 - br i1 %t7286, label %grow1611, label %put1612 -grow1611: + br i1 %t7286, label %grow1546, label %put1547 +grow1546: %t7287 = mul i32 %t7285, 2 %t7288 = icmp eq i32 %t7285, 0 %t7289 = select i1 %t7288, i32 8, i32 %t7287 @@ -67803,1535 +74191,1537 @@ grow1611: %t7295 = call ptr @realloc(ptr %t7294, i64 %t7293) store ptr %t7295, ptr %t7283 store i32 %t7289, ptr %t7282 - br label %put1612 -put1612: + br label %put1547 +put1547: %t7296 = load ptr, ptr %t7283 %t7297 = getelementptr inbounds ptr, ptr %t7296, i32 %t7284 - store ptr @.str6952, ptr %t7297 + store ptr @.str7229, ptr %t7297 %t7298 = add i32 %t7284, 1 store i32 %t7298, ptr %t7281 - br label %ifend1610 -ifend1610: - %t7299 = load ptr, ptr %t1 - %t7300 = call i32 @fn_str_eq(ptr %t7299, ptr @.str6953) - %t7301 = icmp ne i32 %t7300, 0 - br i1 %t7301, label %then1613, label %ifend1615 -then1613: - store ptr @.str6954, ptr %t330 - br label %ifend1615 -ifend1615: - br label %ifend1538 -ifend1538: - %t7302 = load ptr, ptr %t0 - %t7303 = call i32 @fn_str_eq(ptr %t7302, ptr @.str6955) - %t7304 = icmp ne i32 %t7303, 0 - br i1 %t7304, label %then1616, label %ifend1618 -then1616: - %t7305 = load ptr, ptr %t1 - %t7306 = call i32 @fn_str_eq(ptr %t7305, ptr @.str6956) - %t7307 = icmp ne i32 %t7306, 0 - br i1 %t7307, label %then1619, label %ifend1621 -then1619: - store ptr @.str6957, ptr %t330 - %t7308 = load ptr, ptr %t337 - %t7309 = getelementptr inbounds %LSlice, ptr %t7308, i32 0, i32 1 - %t7310 = getelementptr inbounds %LSlice, ptr %t7308, i32 0, i32 2 - %t7311 = getelementptr inbounds %LSlice, ptr %t7308, i32 0, i32 0 - %t7312 = load i32, ptr %t7309 - %t7313 = load i32, ptr %t7310 - %t7314 = icmp sge i32 %t7312, %t7313 - br i1 %t7314, label %grow1622, label %put1623 -grow1622: - %t7315 = mul i32 %t7313, 2 - %t7316 = icmp eq i32 %t7313, 0 - %t7317 = select i1 %t7316, i32 8, i32 %t7315 - %t7318 = getelementptr ptr, ptr null, i32 1 - %t7319 = ptrtoint ptr %t7318 to i64 - %t7320 = zext i32 %t7317 to i64 - %t7321 = mul i64 %t7320, %t7319 - %t7322 = load ptr, ptr %t7311 - %t7323 = call ptr @realloc(ptr %t7322, i64 %t7321) - store ptr %t7323, ptr %t7311 - store i32 %t7317, ptr %t7310 - br label %put1623 -put1623: - %t7324 = load ptr, ptr %t7311 - %t7325 = getelementptr inbounds ptr, ptr %t7324, i32 %t7312 - store ptr @.str6958, ptr %t7325 - %t7326 = add i32 %t7312, 1 - store i32 %t7326, ptr %t7309 - br label %ifend1621 -ifend1621: - %t7327 = load ptr, ptr %t1 - %t7328 = call i32 @fn_str_eq(ptr %t7327, ptr @.str6959) - %t7329 = icmp ne i32 %t7328, 0 - br i1 %t7329, label %then1624, label %ifend1626 -then1624: - store ptr @.str6960, ptr %t330 - %t7330 = load ptr, ptr %t337 - %t7331 = getelementptr inbounds %LSlice, ptr %t7330, i32 0, i32 1 - %t7332 = getelementptr inbounds %LSlice, ptr %t7330, i32 0, i32 2 - %t7333 = getelementptr inbounds %LSlice, ptr %t7330, i32 0, i32 0 - %t7334 = load i32, ptr %t7331 - %t7335 = load i32, ptr %t7332 - %t7336 = icmp sge i32 %t7334, %t7335 - br i1 %t7336, label %grow1627, label %put1628 -grow1627: - %t7337 = mul i32 %t7335, 2 - %t7338 = icmp eq i32 %t7335, 0 - %t7339 = select i1 %t7338, i32 8, i32 %t7337 - %t7340 = getelementptr ptr, ptr null, i32 1 - %t7341 = ptrtoint ptr %t7340 to i64 - %t7342 = zext i32 %t7339 to i64 - %t7343 = mul i64 %t7342, %t7341 - %t7344 = load ptr, ptr %t7333 - %t7345 = call ptr @realloc(ptr %t7344, i64 %t7343) - store ptr %t7345, ptr %t7333 - store i32 %t7339, ptr %t7332 - br label %put1628 -put1628: - %t7346 = load ptr, ptr %t7333 - %t7347 = getelementptr inbounds ptr, ptr %t7346, i32 %t7334 - store ptr @.str6961, ptr %t7347 - %t7348 = add i32 %t7334, 1 - store i32 %t7348, ptr %t7331 - %t7349 = load ptr, ptr %t337 - %t7350 = getelementptr inbounds %LSlice, ptr %t7349, i32 0, i32 1 - %t7351 = getelementptr inbounds %LSlice, ptr %t7349, i32 0, i32 2 - %t7352 = getelementptr inbounds %LSlice, ptr %t7349, i32 0, i32 0 - %t7353 = load i32, ptr %t7350 - %t7354 = load i32, ptr %t7351 - %t7355 = icmp sge i32 %t7353, %t7354 - br i1 %t7355, label %grow1629, label %put1630 -grow1629: - %t7356 = mul i32 %t7354, 2 - %t7357 = icmp eq i32 %t7354, 0 - %t7358 = select i1 %t7357, i32 8, i32 %t7356 - %t7359 = getelementptr ptr, ptr null, i32 1 - %t7360 = ptrtoint ptr %t7359 to i64 - %t7361 = zext i32 %t7358 to i64 - %t7362 = mul i64 %t7361, %t7360 - %t7363 = load ptr, ptr %t7352 - %t7364 = call ptr @realloc(ptr %t7363, i64 %t7362) - store ptr %t7364, ptr %t7352 - store i32 %t7358, ptr %t7351 - br label %put1630 -put1630: - %t7365 = load ptr, ptr %t7352 - %t7366 = getelementptr inbounds ptr, ptr %t7365, i32 %t7353 - store ptr @.str6962, ptr %t7366 - %t7367 = add i32 %t7353, 1 - store i32 %t7367, ptr %t7350 - br label %ifend1626 -ifend1626: - %t7368 = load ptr, ptr %t1 - %t7369 = call i32 @fn_str_eq(ptr %t7368, ptr @.str6963) - %t7370 = icmp ne i32 %t7369, 0 - br i1 %t7370, label %then1631, label %ifend1633 -then1631: - store ptr @.str6964, ptr %t330 - %t7371 = load ptr, ptr %t337 - %t7372 = getelementptr inbounds %LSlice, ptr %t7371, i32 0, i32 1 - %t7373 = getelementptr inbounds %LSlice, ptr %t7371, i32 0, i32 2 - %t7374 = getelementptr inbounds %LSlice, ptr %t7371, i32 0, i32 0 - %t7375 = load i32, ptr %t7372 - %t7376 = load i32, ptr %t7373 - %t7377 = icmp sge i32 %t7375, %t7376 - br i1 %t7377, label %grow1634, label %put1635 -grow1634: - %t7378 = mul i32 %t7376, 2 - %t7379 = icmp eq i32 %t7376, 0 - %t7380 = select i1 %t7379, i32 8, i32 %t7378 - %t7381 = getelementptr ptr, ptr null, i32 1 - %t7382 = ptrtoint ptr %t7381 to i64 - %t7383 = zext i32 %t7380 to i64 - %t7384 = mul i64 %t7383, %t7382 - %t7385 = load ptr, ptr %t7374 - %t7386 = call ptr @realloc(ptr %t7385, i64 %t7384) - store ptr %t7386, ptr %t7374 - store i32 %t7380, ptr %t7373 - br label %put1635 -put1635: - %t7387 = load ptr, ptr %t7374 - %t7388 = getelementptr inbounds ptr, ptr %t7387, i32 %t7375 - store ptr @.str6965, ptr %t7388 - %t7389 = add i32 %t7375, 1 - store i32 %t7389, ptr %t7372 - %t7390 = load ptr, ptr %t337 - %t7391 = getelementptr inbounds %LSlice, ptr %t7390, i32 0, i32 1 - %t7392 = getelementptr inbounds %LSlice, ptr %t7390, i32 0, i32 2 - %t7393 = getelementptr inbounds %LSlice, ptr %t7390, i32 0, i32 0 - %t7394 = load i32, ptr %t7391 - %t7395 = load i32, ptr %t7392 - %t7396 = icmp sge i32 %t7394, %t7395 - br i1 %t7396, label %grow1636, label %put1637 -grow1636: - %t7397 = mul i32 %t7395, 2 - %t7398 = icmp eq i32 %t7395, 0 - %t7399 = select i1 %t7398, i32 8, i32 %t7397 - %t7400 = getelementptr ptr, ptr null, i32 1 - %t7401 = ptrtoint ptr %t7400 to i64 - %t7402 = zext i32 %t7399 to i64 - %t7403 = mul i64 %t7402, %t7401 - %t7404 = load ptr, ptr %t7393 - %t7405 = call ptr @realloc(ptr %t7404, i64 %t7403) - store ptr %t7405, ptr %t7393 - store i32 %t7399, ptr %t7392 - br label %put1637 -put1637: - %t7406 = load ptr, ptr %t7393 - %t7407 = getelementptr inbounds ptr, ptr %t7406, i32 %t7394 - store ptr @.str6966, ptr %t7407 - %t7408 = add i32 %t7394, 1 - store i32 %t7408, ptr %t7391 - br label %ifend1633 -ifend1633: - %t7409 = load ptr, ptr %t1 - %t7410 = call i32 @fn_str_eq(ptr %t7409, ptr @.str6967) - %t7411 = icmp ne i32 %t7410, 0 - br i1 %t7411, label %then1638, label %ifend1640 -then1638: - store ptr @.str6968, ptr %t330 - %t7412 = load ptr, ptr %t337 - %t7413 = getelementptr inbounds %LSlice, ptr %t7412, i32 0, i32 1 - %t7414 = getelementptr inbounds %LSlice, ptr %t7412, i32 0, i32 2 - %t7415 = getelementptr inbounds %LSlice, ptr %t7412, i32 0, i32 0 - %t7416 = load i32, ptr %t7413 - %t7417 = load i32, ptr %t7414 - %t7418 = icmp sge i32 %t7416, %t7417 - br i1 %t7418, label %grow1641, label %put1642 -grow1641: - %t7419 = mul i32 %t7417, 2 - %t7420 = icmp eq i32 %t7417, 0 - %t7421 = select i1 %t7420, i32 8, i32 %t7419 - %t7422 = getelementptr ptr, ptr null, i32 1 - %t7423 = ptrtoint ptr %t7422 to i64 - %t7424 = zext i32 %t7421 to i64 - %t7425 = mul i64 %t7424, %t7423 - %t7426 = load ptr, ptr %t7415 - %t7427 = call ptr @realloc(ptr %t7426, i64 %t7425) - store ptr %t7427, ptr %t7415 - store i32 %t7421, ptr %t7414 - br label %put1642 -put1642: - %t7428 = load ptr, ptr %t7415 - %t7429 = getelementptr inbounds ptr, ptr %t7428, i32 %t7416 - store ptr @.str6969, ptr %t7429 - %t7430 = add i32 %t7416, 1 - store i32 %t7430, ptr %t7413 - %t7431 = load ptr, ptr %t337 - %t7432 = getelementptr inbounds %LSlice, ptr %t7431, i32 0, i32 1 - %t7433 = getelementptr inbounds %LSlice, ptr %t7431, i32 0, i32 2 - %t7434 = getelementptr inbounds %LSlice, ptr %t7431, i32 0, i32 0 - %t7435 = load i32, ptr %t7432 - %t7436 = load i32, ptr %t7433 - %t7437 = icmp sge i32 %t7435, %t7436 - br i1 %t7437, label %grow1643, label %put1644 -grow1643: - %t7438 = mul i32 %t7436, 2 - %t7439 = icmp eq i32 %t7436, 0 - %t7440 = select i1 %t7439, i32 8, i32 %t7438 - %t7441 = getelementptr ptr, ptr null, i32 1 - %t7442 = ptrtoint ptr %t7441 to i64 - %t7443 = zext i32 %t7440 to i64 - %t7444 = mul i64 %t7443, %t7442 - %t7445 = load ptr, ptr %t7434 - %t7446 = call ptr @realloc(ptr %t7445, i64 %t7444) - store ptr %t7446, ptr %t7434 - store i32 %t7440, ptr %t7433 - br label %put1644 -put1644: - %t7447 = load ptr, ptr %t7434 - %t7448 = getelementptr inbounds ptr, ptr %t7447, i32 %t7435 - store ptr @.str6970, ptr %t7448 - %t7449 = add i32 %t7435, 1 - store i32 %t7449, ptr %t7432 - br label %ifend1640 -ifend1640: - %t7450 = load ptr, ptr %t1 - %t7451 = call i32 @fn_str_eq(ptr %t7450, ptr @.str6971) - %t7452 = icmp ne i32 %t7451, 0 - br i1 %t7452, label %then1645, label %ifend1647 -then1645: - store ptr @.str6972, ptr %t330 - %t7453 = load ptr, ptr %t337 - %t7454 = getelementptr inbounds %LSlice, ptr %t7453, i32 0, i32 1 - %t7455 = getelementptr inbounds %LSlice, ptr %t7453, i32 0, i32 2 - %t7456 = getelementptr inbounds %LSlice, ptr %t7453, i32 0, i32 0 - %t7457 = load i32, ptr %t7454 - %t7458 = load i32, ptr %t7455 - %t7459 = icmp sge i32 %t7457, %t7458 - br i1 %t7459, label %grow1648, label %put1649 -grow1648: - %t7460 = mul i32 %t7458, 2 - %t7461 = icmp eq i32 %t7458, 0 - %t7462 = select i1 %t7461, i32 8, i32 %t7460 - %t7463 = getelementptr ptr, ptr null, i32 1 - %t7464 = ptrtoint ptr %t7463 to i64 - %t7465 = zext i32 %t7462 to i64 - %t7466 = mul i64 %t7465, %t7464 - %t7467 = load ptr, ptr %t7456 - %t7468 = call ptr @realloc(ptr %t7467, i64 %t7466) - store ptr %t7468, ptr %t7456 - store i32 %t7462, ptr %t7455 - br label %put1649 -put1649: - %t7469 = load ptr, ptr %t7456 - %t7470 = getelementptr inbounds ptr, ptr %t7469, i32 %t7457 - store ptr @.str6973, ptr %t7470 - %t7471 = add i32 %t7457, 1 - store i32 %t7471, ptr %t7454 - br label %ifend1647 -ifend1647: - %t7472 = load ptr, ptr %t1 - %t7473 = call i32 @fn_str_eq(ptr %t7472, ptr @.str6974) - %t7474 = icmp ne i32 %t7473, 0 - br i1 %t7474, label %then1650, label %ifend1652 -then1650: - store ptr @.str6975, ptr %t330 - %t7475 = load ptr, ptr %t337 - %t7476 = getelementptr inbounds %LSlice, ptr %t7475, i32 0, i32 1 - %t7477 = getelementptr inbounds %LSlice, ptr %t7475, i32 0, i32 2 - %t7478 = getelementptr inbounds %LSlice, ptr %t7475, i32 0, i32 0 - %t7479 = load i32, ptr %t7476 - %t7480 = load i32, ptr %t7477 - %t7481 = icmp sge i32 %t7479, %t7480 - br i1 %t7481, label %grow1653, label %put1654 -grow1653: - %t7482 = mul i32 %t7480, 2 - %t7483 = icmp eq i32 %t7480, 0 - %t7484 = select i1 %t7483, i32 8, i32 %t7482 - %t7485 = getelementptr ptr, ptr null, i32 1 - %t7486 = ptrtoint ptr %t7485 to i64 - %t7487 = zext i32 %t7484 to i64 - %t7488 = mul i64 %t7487, %t7486 - %t7489 = load ptr, ptr %t7478 - %t7490 = call ptr @realloc(ptr %t7489, i64 %t7488) - store ptr %t7490, ptr %t7478 - store i32 %t7484, ptr %t7477 - br label %put1654 -put1654: - %t7491 = load ptr, ptr %t7478 - %t7492 = getelementptr inbounds ptr, ptr %t7491, i32 %t7479 - store ptr @.str6976, ptr %t7492 - %t7493 = add i32 %t7479, 1 - store i32 %t7493, ptr %t7476 - %t7494 = load ptr, ptr %t337 - %t7495 = getelementptr inbounds %LSlice, ptr %t7494, i32 0, i32 1 - %t7496 = getelementptr inbounds %LSlice, ptr %t7494, i32 0, i32 2 - %t7497 = getelementptr inbounds %LSlice, ptr %t7494, i32 0, i32 0 - %t7498 = load i32, ptr %t7495 - %t7499 = load i32, ptr %t7496 - %t7500 = icmp sge i32 %t7498, %t7499 - br i1 %t7500, label %grow1655, label %put1656 -grow1655: - %t7501 = mul i32 %t7499, 2 - %t7502 = icmp eq i32 %t7499, 0 - %t7503 = select i1 %t7502, i32 8, i32 %t7501 - %t7504 = getelementptr ptr, ptr null, i32 1 - %t7505 = ptrtoint ptr %t7504 to i64 - %t7506 = zext i32 %t7503 to i64 - %t7507 = mul i64 %t7506, %t7505 - %t7508 = load ptr, ptr %t7497 - %t7509 = call ptr @realloc(ptr %t7508, i64 %t7507) - store ptr %t7509, ptr %t7497 - store i32 %t7503, ptr %t7496 - br label %put1656 -put1656: - %t7510 = load ptr, ptr %t7497 - %t7511 = getelementptr inbounds ptr, ptr %t7510, i32 %t7498 - store ptr @.str6977, ptr %t7511 - %t7512 = add i32 %t7498, 1 - store i32 %t7512, ptr %t7495 - br label %ifend1652 -ifend1652: - %t7513 = load ptr, ptr %t1 - %t7514 = call i32 @fn_str_eq(ptr %t7513, ptr @.str6978) - %t7515 = icmp ne i32 %t7514, 0 - br i1 %t7515, label %then1657, label %ifend1659 -then1657: - store ptr @.str6979, ptr %t330 - %t7516 = load ptr, ptr %t337 - %t7517 = getelementptr inbounds %LSlice, ptr %t7516, i32 0, i32 1 - %t7518 = getelementptr inbounds %LSlice, ptr %t7516, i32 0, i32 2 - %t7519 = getelementptr inbounds %LSlice, ptr %t7516, i32 0, i32 0 - %t7520 = load i32, ptr %t7517 - %t7521 = load i32, ptr %t7518 - %t7522 = icmp sge i32 %t7520, %t7521 - br i1 %t7522, label %grow1660, label %put1661 -grow1660: - %t7523 = mul i32 %t7521, 2 - %t7524 = icmp eq i32 %t7521, 0 - %t7525 = select i1 %t7524, i32 8, i32 %t7523 - %t7526 = getelementptr ptr, ptr null, i32 1 - %t7527 = ptrtoint ptr %t7526 to i64 - %t7528 = zext i32 %t7525 to i64 - %t7529 = mul i64 %t7528, %t7527 - %t7530 = load ptr, ptr %t7519 - %t7531 = call ptr @realloc(ptr %t7530, i64 %t7529) - store ptr %t7531, ptr %t7519 - store i32 %t7525, ptr %t7518 - br label %put1661 -put1661: - %t7532 = load ptr, ptr %t7519 - %t7533 = getelementptr inbounds ptr, ptr %t7532, i32 %t7520 - store ptr @.str6980, ptr %t7533 - %t7534 = add i32 %t7520, 1 - store i32 %t7534, ptr %t7517 - br label %ifend1659 -ifend1659: - %t7535 = load ptr, ptr %t1 - %t7536 = call i32 @fn_str_eq(ptr %t7535, ptr @.str6981) - %t7537 = icmp ne i32 %t7536, 0 - br i1 %t7537, label %then1662, label %ifend1664 -then1662: - store ptr @.str6982, ptr %t330 - %t7538 = load ptr, ptr %t337 - %t7539 = getelementptr inbounds %LSlice, ptr %t7538, i32 0, i32 1 - %t7540 = getelementptr inbounds %LSlice, ptr %t7538, i32 0, i32 2 - %t7541 = getelementptr inbounds %LSlice, ptr %t7538, i32 0, i32 0 - %t7542 = load i32, ptr %t7539 - %t7543 = load i32, ptr %t7540 - %t7544 = icmp sge i32 %t7542, %t7543 - br i1 %t7544, label %grow1665, label %put1666 -grow1665: - %t7545 = mul i32 %t7543, 2 - %t7546 = icmp eq i32 %t7543, 0 - %t7547 = select i1 %t7546, i32 8, i32 %t7545 - %t7548 = getelementptr ptr, ptr null, i32 1 - %t7549 = ptrtoint ptr %t7548 to i64 - %t7550 = zext i32 %t7547 to i64 - %t7551 = mul i64 %t7550, %t7549 - %t7552 = load ptr, ptr %t7541 - %t7553 = call ptr @realloc(ptr %t7552, i64 %t7551) - store ptr %t7553, ptr %t7541 - store i32 %t7547, ptr %t7540 - br label %put1666 -put1666: - %t7554 = load ptr, ptr %t7541 - %t7555 = getelementptr inbounds ptr, ptr %t7554, i32 %t7542 - store ptr @.str6983, ptr %t7555 - %t7556 = add i32 %t7542, 1 - store i32 %t7556, ptr %t7539 - br label %ifend1664 -ifend1664: - %t7557 = load ptr, ptr %t1 - %t7558 = call i32 @fn_str_eq(ptr %t7557, ptr @.str6984) - %t7559 = icmp ne i32 %t7558, 0 - br i1 %t7559, label %then1667, label %ifend1669 -then1667: - store ptr @.str6985, ptr %t330 - %t7560 = load ptr, ptr %t337 - %t7561 = getelementptr inbounds %LSlice, ptr %t7560, i32 0, i32 1 - %t7562 = getelementptr inbounds %LSlice, ptr %t7560, i32 0, i32 2 - %t7563 = getelementptr inbounds %LSlice, ptr %t7560, i32 0, i32 0 - %t7564 = load i32, ptr %t7561 - %t7565 = load i32, ptr %t7562 - %t7566 = icmp sge i32 %t7564, %t7565 - br i1 %t7566, label %grow1670, label %put1671 -grow1670: - %t7567 = mul i32 %t7565, 2 - %t7568 = icmp eq i32 %t7565, 0 - %t7569 = select i1 %t7568, i32 8, i32 %t7567 - %t7570 = getelementptr ptr, ptr null, i32 1 - %t7571 = ptrtoint ptr %t7570 to i64 - %t7572 = zext i32 %t7569 to i64 - %t7573 = mul i64 %t7572, %t7571 - %t7574 = load ptr, ptr %t7563 - %t7575 = call ptr @realloc(ptr %t7574, i64 %t7573) - store ptr %t7575, ptr %t7563 - store i32 %t7569, ptr %t7562 - br label %put1671 -put1671: - %t7576 = load ptr, ptr %t7563 - %t7577 = getelementptr inbounds ptr, ptr %t7576, i32 %t7564 - store ptr @.str6986, ptr %t7577 - %t7578 = add i32 %t7564, 1 - store i32 %t7578, ptr %t7561 - br label %ifend1669 -ifend1669: - %t7579 = load ptr, ptr %t1 - %t7580 = call i32 @fn_str_eq(ptr %t7579, ptr @.str6987) - %t7581 = icmp ne i32 %t7580, 0 - br i1 %t7581, label %then1672, label %ifend1674 -then1672: - store ptr @.str6988, ptr %t330 - %t7582 = load ptr, ptr %t337 - %t7583 = getelementptr inbounds %LSlice, ptr %t7582, i32 0, i32 1 - %t7584 = getelementptr inbounds %LSlice, ptr %t7582, i32 0, i32 2 - %t7585 = getelementptr inbounds %LSlice, ptr %t7582, i32 0, i32 0 - %t7586 = load i32, ptr %t7583 - %t7587 = load i32, ptr %t7584 - %t7588 = icmp sge i32 %t7586, %t7587 - br i1 %t7588, label %grow1675, label %put1676 + %t7299 = load ptr, ptr %t387 + %t7300 = getelementptr inbounds %LSlice, ptr %t7299, i32 0, i32 1 + %t7301 = getelementptr inbounds %LSlice, ptr %t7299, i32 0, i32 2 + %t7302 = getelementptr inbounds %LSlice, ptr %t7299, i32 0, i32 0 + %t7303 = load i32, ptr %t7300 + %t7304 = load i32, ptr %t7301 + %t7305 = icmp sge i32 %t7303, %t7304 + br i1 %t7305, label %grow1548, label %put1549 +grow1548: + %t7306 = mul i32 %t7304, 2 + %t7307 = icmp eq i32 %t7304, 0 + %t7308 = select i1 %t7307, i32 8, i32 %t7306 + %t7309 = getelementptr ptr, ptr null, i32 1 + %t7310 = ptrtoint ptr %t7309 to i64 + %t7311 = zext i32 %t7308 to i64 + %t7312 = mul i64 %t7311, %t7310 + %t7313 = load ptr, ptr %t7302 + %t7314 = call ptr @realloc(ptr %t7313, i64 %t7312) + store ptr %t7314, ptr %t7302 + store i32 %t7308, ptr %t7301 + br label %put1549 +put1549: + %t7315 = load ptr, ptr %t7302 + %t7316 = getelementptr inbounds ptr, ptr %t7315, i32 %t7303 + store ptr @.str7230, ptr %t7316 + %t7317 = add i32 %t7303, 1 + store i32 %t7317, ptr %t7300 + br label %ifend1545 +ifend1545: + %t7318 = load ptr, ptr %t1 + %t7319 = call i32 @fn_str_eq(ptr %t7318, ptr @.str7231) + %t7320 = icmp ne i32 %t7319, 0 + br i1 %t7320, label %then1550, label %ifend1552 +then1550: + store ptr @.str7232, ptr %t380 + %t7321 = load ptr, ptr %t387 + %t7322 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 1 + %t7323 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 2 + %t7324 = getelementptr inbounds %LSlice, ptr %t7321, i32 0, i32 0 + %t7325 = load i32, ptr %t7322 + %t7326 = load i32, ptr %t7323 + %t7327 = icmp sge i32 %t7325, %t7326 + br i1 %t7327, label %grow1553, label %put1554 +grow1553: + %t7328 = mul i32 %t7326, 2 + %t7329 = icmp eq i32 %t7326, 0 + %t7330 = select i1 %t7329, i32 8, i32 %t7328 + %t7331 = getelementptr ptr, ptr null, i32 1 + %t7332 = ptrtoint ptr %t7331 to i64 + %t7333 = zext i32 %t7330 to i64 + %t7334 = mul i64 %t7333, %t7332 + %t7335 = load ptr, ptr %t7324 + %t7336 = call ptr @realloc(ptr %t7335, i64 %t7334) + store ptr %t7336, ptr %t7324 + store i32 %t7330, ptr %t7323 + br label %put1554 +put1554: + %t7337 = load ptr, ptr %t7324 + %t7338 = getelementptr inbounds ptr, ptr %t7337, i32 %t7325 + store ptr @.str7233, ptr %t7338 + %t7339 = add i32 %t7325, 1 + store i32 %t7339, ptr %t7322 + %t7340 = load ptr, ptr %t387 + %t7341 = getelementptr inbounds %LSlice, ptr %t7340, i32 0, i32 1 + %t7342 = getelementptr inbounds %LSlice, ptr %t7340, i32 0, i32 2 + %t7343 = getelementptr inbounds %LSlice, ptr %t7340, i32 0, i32 0 + %t7344 = load i32, ptr %t7341 + %t7345 = load i32, ptr %t7342 + %t7346 = icmp sge i32 %t7344, %t7345 + br i1 %t7346, label %grow1555, label %put1556 +grow1555: + %t7347 = mul i32 %t7345, 2 + %t7348 = icmp eq i32 %t7345, 0 + %t7349 = select i1 %t7348, i32 8, i32 %t7347 + %t7350 = getelementptr ptr, ptr null, i32 1 + %t7351 = ptrtoint ptr %t7350 to i64 + %t7352 = zext i32 %t7349 to i64 + %t7353 = mul i64 %t7352, %t7351 + %t7354 = load ptr, ptr %t7343 + %t7355 = call ptr @realloc(ptr %t7354, i64 %t7353) + store ptr %t7355, ptr %t7343 + store i32 %t7349, ptr %t7342 + br label %put1556 +put1556: + %t7356 = load ptr, ptr %t7343 + %t7357 = getelementptr inbounds ptr, ptr %t7356, i32 %t7344 + store ptr @.str7234, ptr %t7357 + %t7358 = add i32 %t7344, 1 + store i32 %t7358, ptr %t7341 + br label %ifend1552 +ifend1552: + %t7359 = load ptr, ptr %t1 + %t7360 = call i32 @fn_str_eq(ptr %t7359, ptr @.str7235) + %t7361 = icmp ne i32 %t7360, 0 + br i1 %t7361, label %then1557, label %ifend1559 +then1557: + store ptr @.str7236, ptr %t380 + %t7362 = load ptr, ptr %t387 + %t7363 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 1 + %t7364 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 2 + %t7365 = getelementptr inbounds %LSlice, ptr %t7362, i32 0, i32 0 + %t7366 = load i32, ptr %t7363 + %t7367 = load i32, ptr %t7364 + %t7368 = icmp sge i32 %t7366, %t7367 + br i1 %t7368, label %grow1560, label %put1561 +grow1560: + %t7369 = mul i32 %t7367, 2 + %t7370 = icmp eq i32 %t7367, 0 + %t7371 = select i1 %t7370, i32 8, i32 %t7369 + %t7372 = getelementptr ptr, ptr null, i32 1 + %t7373 = ptrtoint ptr %t7372 to i64 + %t7374 = zext i32 %t7371 to i64 + %t7375 = mul i64 %t7374, %t7373 + %t7376 = load ptr, ptr %t7365 + %t7377 = call ptr @realloc(ptr %t7376, i64 %t7375) + store ptr %t7377, ptr %t7365 + store i32 %t7371, ptr %t7364 + br label %put1561 +put1561: + %t7378 = load ptr, ptr %t7365 + %t7379 = getelementptr inbounds ptr, ptr %t7378, i32 %t7366 + store ptr @.str7237, ptr %t7379 + %t7380 = add i32 %t7366, 1 + store i32 %t7380, ptr %t7363 + br label %ifend1559 +ifend1559: + %t7381 = load ptr, ptr %t1 + %t7382 = call i32 @fn_str_eq(ptr %t7381, ptr @.str7238) + %t7383 = icmp ne i32 %t7382, 0 + br i1 %t7383, label %then1562, label %ifend1564 +then1562: + store ptr @.str7239, ptr %t380 + %t7384 = load ptr, ptr %t387 + %t7385 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 1 + %t7386 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 2 + %t7387 = getelementptr inbounds %LSlice, ptr %t7384, i32 0, i32 0 + %t7388 = load i32, ptr %t7385 + %t7389 = load i32, ptr %t7386 + %t7390 = icmp sge i32 %t7388, %t7389 + br i1 %t7390, label %grow1565, label %put1566 +grow1565: + %t7391 = mul i32 %t7389, 2 + %t7392 = icmp eq i32 %t7389, 0 + %t7393 = select i1 %t7392, i32 8, i32 %t7391 + %t7394 = getelementptr ptr, ptr null, i32 1 + %t7395 = ptrtoint ptr %t7394 to i64 + %t7396 = zext i32 %t7393 to i64 + %t7397 = mul i64 %t7396, %t7395 + %t7398 = load ptr, ptr %t7387 + %t7399 = call ptr @realloc(ptr %t7398, i64 %t7397) + store ptr %t7399, ptr %t7387 + store i32 %t7393, ptr %t7386 + br label %put1566 +put1566: + %t7400 = load ptr, ptr %t7387 + %t7401 = getelementptr inbounds ptr, ptr %t7400, i32 %t7388 + store ptr @.str7240, ptr %t7401 + %t7402 = add i32 %t7388, 1 + store i32 %t7402, ptr %t7385 + %t7403 = load ptr, ptr %t387 + %t7404 = getelementptr inbounds %LSlice, ptr %t7403, i32 0, i32 1 + %t7405 = getelementptr inbounds %LSlice, ptr %t7403, i32 0, i32 2 + %t7406 = getelementptr inbounds %LSlice, ptr %t7403, i32 0, i32 0 + %t7407 = load i32, ptr %t7404 + %t7408 = load i32, ptr %t7405 + %t7409 = icmp sge i32 %t7407, %t7408 + br i1 %t7409, label %grow1567, label %put1568 +grow1567: + %t7410 = mul i32 %t7408, 2 + %t7411 = icmp eq i32 %t7408, 0 + %t7412 = select i1 %t7411, i32 8, i32 %t7410 + %t7413 = getelementptr ptr, ptr null, i32 1 + %t7414 = ptrtoint ptr %t7413 to i64 + %t7415 = zext i32 %t7412 to i64 + %t7416 = mul i64 %t7415, %t7414 + %t7417 = load ptr, ptr %t7406 + %t7418 = call ptr @realloc(ptr %t7417, i64 %t7416) + store ptr %t7418, ptr %t7406 + store i32 %t7412, ptr %t7405 + br label %put1568 +put1568: + %t7419 = load ptr, ptr %t7406 + %t7420 = getelementptr inbounds ptr, ptr %t7419, i32 %t7407 + store ptr @.str7241, ptr %t7420 + %t7421 = add i32 %t7407, 1 + store i32 %t7421, ptr %t7404 + br label %ifend1564 +ifend1564: + %t7422 = load ptr, ptr %t1 + %t7423 = call i32 @fn_str_eq(ptr %t7422, ptr @.str7242) + %t7424 = icmp ne i32 %t7423, 0 + br i1 %t7424, label %then1569, label %ifend1571 +then1569: + store ptr @.str7243, ptr %t380 + %t7425 = load ptr, ptr %t387 + %t7426 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 1 + %t7427 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 2 + %t7428 = getelementptr inbounds %LSlice, ptr %t7425, i32 0, i32 0 + %t7429 = load i32, ptr %t7426 + %t7430 = load i32, ptr %t7427 + %t7431 = icmp sge i32 %t7429, %t7430 + br i1 %t7431, label %grow1572, label %put1573 +grow1572: + %t7432 = mul i32 %t7430, 2 + %t7433 = icmp eq i32 %t7430, 0 + %t7434 = select i1 %t7433, i32 8, i32 %t7432 + %t7435 = getelementptr ptr, ptr null, i32 1 + %t7436 = ptrtoint ptr %t7435 to i64 + %t7437 = zext i32 %t7434 to i64 + %t7438 = mul i64 %t7437, %t7436 + %t7439 = load ptr, ptr %t7428 + %t7440 = call ptr @realloc(ptr %t7439, i64 %t7438) + store ptr %t7440, ptr %t7428 + store i32 %t7434, ptr %t7427 + br label %put1573 +put1573: + %t7441 = load ptr, ptr %t7428 + %t7442 = getelementptr inbounds ptr, ptr %t7441, i32 %t7429 + store ptr @.str7244, ptr %t7442 + %t7443 = add i32 %t7429, 1 + store i32 %t7443, ptr %t7426 + %t7444 = load ptr, ptr %t387 + %t7445 = getelementptr inbounds %LSlice, ptr %t7444, i32 0, i32 1 + %t7446 = getelementptr inbounds %LSlice, ptr %t7444, i32 0, i32 2 + %t7447 = getelementptr inbounds %LSlice, ptr %t7444, i32 0, i32 0 + %t7448 = load i32, ptr %t7445 + %t7449 = load i32, ptr %t7446 + %t7450 = icmp sge i32 %t7448, %t7449 + br i1 %t7450, label %grow1574, label %put1575 +grow1574: + %t7451 = mul i32 %t7449, 2 + %t7452 = icmp eq i32 %t7449, 0 + %t7453 = select i1 %t7452, i32 8, i32 %t7451 + %t7454 = getelementptr ptr, ptr null, i32 1 + %t7455 = ptrtoint ptr %t7454 to i64 + %t7456 = zext i32 %t7453 to i64 + %t7457 = mul i64 %t7456, %t7455 + %t7458 = load ptr, ptr %t7447 + %t7459 = call ptr @realloc(ptr %t7458, i64 %t7457) + store ptr %t7459, ptr %t7447 + store i32 %t7453, ptr %t7446 + br label %put1575 +put1575: + %t7460 = load ptr, ptr %t7447 + %t7461 = getelementptr inbounds ptr, ptr %t7460, i32 %t7448 + store ptr @.str7245, ptr %t7461 + %t7462 = add i32 %t7448, 1 + store i32 %t7462, ptr %t7445 + br label %ifend1571 +ifend1571: + %t7463 = load ptr, ptr %t1 + %t7464 = call i32 @fn_str_eq(ptr %t7463, ptr @.str7246) + %t7465 = icmp ne i32 %t7464, 0 + br i1 %t7465, label %then1576, label %ifend1578 +then1576: + store ptr @.str7247, ptr %t380 + %t7466 = load ptr, ptr %t387 + %t7467 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 1 + %t7468 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 2 + %t7469 = getelementptr inbounds %LSlice, ptr %t7466, i32 0, i32 0 + %t7470 = load i32, ptr %t7467 + %t7471 = load i32, ptr %t7468 + %t7472 = icmp sge i32 %t7470, %t7471 + br i1 %t7472, label %grow1579, label %put1580 +grow1579: + %t7473 = mul i32 %t7471, 2 + %t7474 = icmp eq i32 %t7471, 0 + %t7475 = select i1 %t7474, i32 8, i32 %t7473 + %t7476 = getelementptr ptr, ptr null, i32 1 + %t7477 = ptrtoint ptr %t7476 to i64 + %t7478 = zext i32 %t7475 to i64 + %t7479 = mul i64 %t7478, %t7477 + %t7480 = load ptr, ptr %t7469 + %t7481 = call ptr @realloc(ptr %t7480, i64 %t7479) + store ptr %t7481, ptr %t7469 + store i32 %t7475, ptr %t7468 + br label %put1580 +put1580: + %t7482 = load ptr, ptr %t7469 + %t7483 = getelementptr inbounds ptr, ptr %t7482, i32 %t7470 + store ptr @.str7248, ptr %t7483 + %t7484 = add i32 %t7470, 1 + store i32 %t7484, ptr %t7467 + %t7485 = load ptr, ptr %t387 + %t7486 = getelementptr inbounds %LSlice, ptr %t7485, i32 0, i32 1 + %t7487 = getelementptr inbounds %LSlice, ptr %t7485, i32 0, i32 2 + %t7488 = getelementptr inbounds %LSlice, ptr %t7485, i32 0, i32 0 + %t7489 = load i32, ptr %t7486 + %t7490 = load i32, ptr %t7487 + %t7491 = icmp sge i32 %t7489, %t7490 + br i1 %t7491, label %grow1581, label %put1582 +grow1581: + %t7492 = mul i32 %t7490, 2 + %t7493 = icmp eq i32 %t7490, 0 + %t7494 = select i1 %t7493, i32 8, i32 %t7492 + %t7495 = getelementptr ptr, ptr null, i32 1 + %t7496 = ptrtoint ptr %t7495 to i64 + %t7497 = zext i32 %t7494 to i64 + %t7498 = mul i64 %t7497, %t7496 + %t7499 = load ptr, ptr %t7488 + %t7500 = call ptr @realloc(ptr %t7499, i64 %t7498) + store ptr %t7500, ptr %t7488 + store i32 %t7494, ptr %t7487 + br label %put1582 +put1582: + %t7501 = load ptr, ptr %t7488 + %t7502 = getelementptr inbounds ptr, ptr %t7501, i32 %t7489 + store ptr @.str7249, ptr %t7502 + %t7503 = add i32 %t7489, 1 + store i32 %t7503, ptr %t7486 + br label %ifend1578 +ifend1578: + %t7504 = load ptr, ptr %t1 + %t7505 = call i32 @fn_str_eq(ptr %t7504, ptr @.str7250) + %t7506 = icmp ne i32 %t7505, 0 + br i1 %t7506, label %then1583, label %ifend1585 +then1583: + store ptr @.str7251, ptr %t380 + %t7507 = load ptr, ptr %t387 + %t7508 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 1 + %t7509 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 2 + %t7510 = getelementptr inbounds %LSlice, ptr %t7507, i32 0, i32 0 + %t7511 = load i32, ptr %t7508 + %t7512 = load i32, ptr %t7509 + %t7513 = icmp sge i32 %t7511, %t7512 + br i1 %t7513, label %grow1586, label %put1587 +grow1586: + %t7514 = mul i32 %t7512, 2 + %t7515 = icmp eq i32 %t7512, 0 + %t7516 = select i1 %t7515, i32 8, i32 %t7514 + %t7517 = getelementptr ptr, ptr null, i32 1 + %t7518 = ptrtoint ptr %t7517 to i64 + %t7519 = zext i32 %t7516 to i64 + %t7520 = mul i64 %t7519, %t7518 + %t7521 = load ptr, ptr %t7510 + %t7522 = call ptr @realloc(ptr %t7521, i64 %t7520) + store ptr %t7522, ptr %t7510 + store i32 %t7516, ptr %t7509 + br label %put1587 +put1587: + %t7523 = load ptr, ptr %t7510 + %t7524 = getelementptr inbounds ptr, ptr %t7523, i32 %t7511 + store ptr @.str7252, ptr %t7524 + %t7525 = add i32 %t7511, 1 + store i32 %t7525, ptr %t7508 + %t7526 = load ptr, ptr %t387 + %t7527 = getelementptr inbounds %LSlice, ptr %t7526, i32 0, i32 1 + %t7528 = getelementptr inbounds %LSlice, ptr %t7526, i32 0, i32 2 + %t7529 = getelementptr inbounds %LSlice, ptr %t7526, i32 0, i32 0 + %t7530 = load i32, ptr %t7527 + %t7531 = load i32, ptr %t7528 + %t7532 = icmp sge i32 %t7530, %t7531 + br i1 %t7532, label %grow1588, label %put1589 +grow1588: + %t7533 = mul i32 %t7531, 2 + %t7534 = icmp eq i32 %t7531, 0 + %t7535 = select i1 %t7534, i32 8, i32 %t7533 + %t7536 = getelementptr ptr, ptr null, i32 1 + %t7537 = ptrtoint ptr %t7536 to i64 + %t7538 = zext i32 %t7535 to i64 + %t7539 = mul i64 %t7538, %t7537 + %t7540 = load ptr, ptr %t7529 + %t7541 = call ptr @realloc(ptr %t7540, i64 %t7539) + store ptr %t7541, ptr %t7529 + store i32 %t7535, ptr %t7528 + br label %put1589 +put1589: + %t7542 = load ptr, ptr %t7529 + %t7543 = getelementptr inbounds ptr, ptr %t7542, i32 %t7530 + store ptr @.str7253, ptr %t7543 + %t7544 = add i32 %t7530, 1 + store i32 %t7544, ptr %t7527 + br label %ifend1585 +ifend1585: + %t7545 = load ptr, ptr %t1 + %t7546 = call i32 @fn_str_eq(ptr %t7545, ptr @.str7254) + %t7547 = icmp ne i32 %t7546, 0 + br i1 %t7547, label %then1590, label %ifend1592 +then1590: + store ptr @.str7255, ptr %t380 + %t7548 = load ptr, ptr %t387 + %t7549 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 1 + %t7550 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 2 + %t7551 = getelementptr inbounds %LSlice, ptr %t7548, i32 0, i32 0 + %t7552 = load i32, ptr %t7549 + %t7553 = load i32, ptr %t7550 + %t7554 = icmp sge i32 %t7552, %t7553 + br i1 %t7554, label %grow1593, label %put1594 +grow1593: + %t7555 = mul i32 %t7553, 2 + %t7556 = icmp eq i32 %t7553, 0 + %t7557 = select i1 %t7556, i32 8, i32 %t7555 + %t7558 = getelementptr ptr, ptr null, i32 1 + %t7559 = ptrtoint ptr %t7558 to i64 + %t7560 = zext i32 %t7557 to i64 + %t7561 = mul i64 %t7560, %t7559 + %t7562 = load ptr, ptr %t7551 + %t7563 = call ptr @realloc(ptr %t7562, i64 %t7561) + store ptr %t7563, ptr %t7551 + store i32 %t7557, ptr %t7550 + br label %put1594 +put1594: + %t7564 = load ptr, ptr %t7551 + %t7565 = getelementptr inbounds ptr, ptr %t7564, i32 %t7552 + store ptr @.str7256, ptr %t7565 + %t7566 = add i32 %t7552, 1 + store i32 %t7566, ptr %t7549 + %t7567 = load ptr, ptr %t387 + %t7568 = getelementptr inbounds %LSlice, ptr %t7567, i32 0, i32 1 + %t7569 = getelementptr inbounds %LSlice, ptr %t7567, i32 0, i32 2 + %t7570 = getelementptr inbounds %LSlice, ptr %t7567, i32 0, i32 0 + %t7571 = load i32, ptr %t7568 + %t7572 = load i32, ptr %t7569 + %t7573 = icmp sge i32 %t7571, %t7572 + br i1 %t7573, label %grow1595, label %put1596 +grow1595: + %t7574 = mul i32 %t7572, 2 + %t7575 = icmp eq i32 %t7572, 0 + %t7576 = select i1 %t7575, i32 8, i32 %t7574 + %t7577 = getelementptr ptr, ptr null, i32 1 + %t7578 = ptrtoint ptr %t7577 to i64 + %t7579 = zext i32 %t7576 to i64 + %t7580 = mul i64 %t7579, %t7578 + %t7581 = load ptr, ptr %t7570 + %t7582 = call ptr @realloc(ptr %t7581, i64 %t7580) + store ptr %t7582, ptr %t7570 + store i32 %t7576, ptr %t7569 + br label %put1596 +put1596: + %t7583 = load ptr, ptr %t7570 + %t7584 = getelementptr inbounds ptr, ptr %t7583, i32 %t7571 + store ptr @.str7257, ptr %t7584 + %t7585 = add i32 %t7571, 1 + store i32 %t7585, ptr %t7568 + br label %ifend1592 +ifend1592: + %t7586 = load ptr, ptr %t1 + %t7587 = call i32 @fn_str_eq(ptr %t7586, ptr @.str7258) + %t7588 = icmp ne i32 %t7587, 0 + br i1 %t7588, label %then1597, label %ifend1599 +then1597: + store ptr @.str7259, ptr %t380 + %t7589 = load ptr, ptr %t387 + %t7590 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 1 + %t7591 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 2 + %t7592 = getelementptr inbounds %LSlice, ptr %t7589, i32 0, i32 0 + %t7593 = load i32, ptr %t7590 + %t7594 = load i32, ptr %t7591 + %t7595 = icmp sge i32 %t7593, %t7594 + br i1 %t7595, label %grow1600, label %put1601 +grow1600: + %t7596 = mul i32 %t7594, 2 + %t7597 = icmp eq i32 %t7594, 0 + %t7598 = select i1 %t7597, i32 8, i32 %t7596 + %t7599 = getelementptr ptr, ptr null, i32 1 + %t7600 = ptrtoint ptr %t7599 to i64 + %t7601 = zext i32 %t7598 to i64 + %t7602 = mul i64 %t7601, %t7600 + %t7603 = load ptr, ptr %t7592 + %t7604 = call ptr @realloc(ptr %t7603, i64 %t7602) + store ptr %t7604, ptr %t7592 + store i32 %t7598, ptr %t7591 + br label %put1601 +put1601: + %t7605 = load ptr, ptr %t7592 + %t7606 = getelementptr inbounds ptr, ptr %t7605, i32 %t7593 + store ptr @.str7260, ptr %t7606 + %t7607 = add i32 %t7593, 1 + store i32 %t7607, ptr %t7590 + br label %ifend1599 +ifend1599: + %t7608 = load ptr, ptr %t1 + %t7609 = call i32 @fn_str_eq(ptr %t7608, ptr @.str7261) + %t7610 = icmp ne i32 %t7609, 0 + br i1 %t7610, label %then1602, label %ifend1604 +then1602: + store ptr @.str7262, ptr %t380 + %t7611 = load ptr, ptr %t387 + %t7612 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 1 + %t7613 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 2 + %t7614 = getelementptr inbounds %LSlice, ptr %t7611, i32 0, i32 0 + %t7615 = load i32, ptr %t7612 + %t7616 = load i32, ptr %t7613 + %t7617 = icmp sge i32 %t7615, %t7616 + br i1 %t7617, label %grow1605, label %put1606 +grow1605: + %t7618 = mul i32 %t7616, 2 + %t7619 = icmp eq i32 %t7616, 0 + %t7620 = select i1 %t7619, i32 8, i32 %t7618 + %t7621 = getelementptr ptr, ptr null, i32 1 + %t7622 = ptrtoint ptr %t7621 to i64 + %t7623 = zext i32 %t7620 to i64 + %t7624 = mul i64 %t7623, %t7622 + %t7625 = load ptr, ptr %t7614 + %t7626 = call ptr @realloc(ptr %t7625, i64 %t7624) + store ptr %t7626, ptr %t7614 + store i32 %t7620, ptr %t7613 + br label %put1606 +put1606: + %t7627 = load ptr, ptr %t7614 + %t7628 = getelementptr inbounds ptr, ptr %t7627, i32 %t7615 + store ptr @.str7263, ptr %t7628 + %t7629 = add i32 %t7615, 1 + store i32 %t7629, ptr %t7612 + br label %ifend1604 +ifend1604: + %t7630 = load ptr, ptr %t1 + %t7631 = call i32 @fn_str_eq(ptr %t7630, ptr @.str7264) + %t7632 = icmp ne i32 %t7631, 0 + br i1 %t7632, label %then1607, label %ifend1609 +then1607: + store ptr @.str7265, ptr %t380 + %t7633 = load ptr, ptr %t387 + %t7634 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 1 + %t7635 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 2 + %t7636 = getelementptr inbounds %LSlice, ptr %t7633, i32 0, i32 0 + %t7637 = load i32, ptr %t7634 + %t7638 = load i32, ptr %t7635 + %t7639 = icmp sge i32 %t7637, %t7638 + br i1 %t7639, label %grow1610, label %put1611 +grow1610: + %t7640 = mul i32 %t7638, 2 + %t7641 = icmp eq i32 %t7638, 0 + %t7642 = select i1 %t7641, i32 8, i32 %t7640 + %t7643 = getelementptr ptr, ptr null, i32 1 + %t7644 = ptrtoint ptr %t7643 to i64 + %t7645 = zext i32 %t7642 to i64 + %t7646 = mul i64 %t7645, %t7644 + %t7647 = load ptr, ptr %t7636 + %t7648 = call ptr @realloc(ptr %t7647, i64 %t7646) + store ptr %t7648, ptr %t7636 + store i32 %t7642, ptr %t7635 + br label %put1611 +put1611: + %t7649 = load ptr, ptr %t7636 + %t7650 = getelementptr inbounds ptr, ptr %t7649, i32 %t7637 + store ptr @.str7266, ptr %t7650 + %t7651 = add i32 %t7637, 1 + store i32 %t7651, ptr %t7634 + br label %ifend1609 +ifend1609: + br label %ifend1525 +ifend1525: + %t7652 = load ptr, ptr %t0 + %t7653 = call i32 @fn_str_eq(ptr %t7652, ptr @.str7267) + %t7654 = icmp ne i32 %t7653, 0 + br i1 %t7654, label %then1612, label %ifend1614 +then1612: + %t7655 = load ptr, ptr %t1 + %t7656 = call i32 @fn_str_eq(ptr %t7655, ptr @.str7268) + %t7657 = icmp ne i32 %t7656, 0 + br i1 %t7657, label %then1615, label %ifend1617 +then1615: + store ptr @.str7269, ptr %t380 + %t7658 = load ptr, ptr %t387 + %t7659 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 1 + %t7660 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 2 + %t7661 = getelementptr inbounds %LSlice, ptr %t7658, i32 0, i32 0 + %t7662 = load i32, ptr %t7659 + %t7663 = load i32, ptr %t7660 + %t7664 = icmp sge i32 %t7662, %t7663 + br i1 %t7664, label %grow1618, label %put1619 +grow1618: + %t7665 = mul i32 %t7663, 2 + %t7666 = icmp eq i32 %t7663, 0 + %t7667 = select i1 %t7666, i32 8, i32 %t7665 + %t7668 = getelementptr ptr, ptr null, i32 1 + %t7669 = ptrtoint ptr %t7668 to i64 + %t7670 = zext i32 %t7667 to i64 + %t7671 = mul i64 %t7670, %t7669 + %t7672 = load ptr, ptr %t7661 + %t7673 = call ptr @realloc(ptr %t7672, i64 %t7671) + store ptr %t7673, ptr %t7661 + store i32 %t7667, ptr %t7660 + br label %put1619 +put1619: + %t7674 = load ptr, ptr %t7661 + %t7675 = getelementptr inbounds ptr, ptr %t7674, i32 %t7662 + store ptr @.str7270, ptr %t7675 + %t7676 = add i32 %t7662, 1 + store i32 %t7676, ptr %t7659 + br label %ifend1617 +ifend1617: + %t7677 = load ptr, ptr %t1 + %t7678 = call i32 @fn_str_eq(ptr %t7677, ptr @.str7271) + %t7679 = icmp ne i32 %t7678, 0 + br i1 %t7679, label %then1620, label %ifend1622 +then1620: + store ptr @.str7272, ptr %t380 + %t7680 = load ptr, ptr %t387 + %t7681 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 1 + %t7682 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 2 + %t7683 = getelementptr inbounds %LSlice, ptr %t7680, i32 0, i32 0 + %t7684 = load i32, ptr %t7681 + %t7685 = load i32, ptr %t7682 + %t7686 = icmp sge i32 %t7684, %t7685 + br i1 %t7686, label %grow1623, label %put1624 +grow1623: + %t7687 = mul i32 %t7685, 2 + %t7688 = icmp eq i32 %t7685, 0 + %t7689 = select i1 %t7688, i32 8, i32 %t7687 + %t7690 = getelementptr ptr, ptr null, i32 1 + %t7691 = ptrtoint ptr %t7690 to i64 + %t7692 = zext i32 %t7689 to i64 + %t7693 = mul i64 %t7692, %t7691 + %t7694 = load ptr, ptr %t7683 + %t7695 = call ptr @realloc(ptr %t7694, i64 %t7693) + store ptr %t7695, ptr %t7683 + store i32 %t7689, ptr %t7682 + br label %put1624 +put1624: + %t7696 = load ptr, ptr %t7683 + %t7697 = getelementptr inbounds ptr, ptr %t7696, i32 %t7684 + store ptr @.str7273, ptr %t7697 + %t7698 = add i32 %t7684, 1 + store i32 %t7698, ptr %t7681 + br label %ifend1622 +ifend1622: + %t7699 = load ptr, ptr %t1 + %t7700 = call i32 @fn_str_eq(ptr %t7699, ptr @.str7274) + %t7701 = icmp ne i32 %t7700, 0 + br i1 %t7701, label %then1625, label %ifend1627 +then1625: + store ptr @.str7275, ptr %t380 + %t7702 = load ptr, ptr %t387 + %t7703 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 1 + %t7704 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 2 + %t7705 = getelementptr inbounds %LSlice, ptr %t7702, i32 0, i32 0 + %t7706 = load i32, ptr %t7703 + %t7707 = load i32, ptr %t7704 + %t7708 = icmp sge i32 %t7706, %t7707 + br i1 %t7708, label %grow1628, label %put1629 +grow1628: + %t7709 = mul i32 %t7707, 2 + %t7710 = icmp eq i32 %t7707, 0 + %t7711 = select i1 %t7710, i32 8, i32 %t7709 + %t7712 = getelementptr ptr, ptr null, i32 1 + %t7713 = ptrtoint ptr %t7712 to i64 + %t7714 = zext i32 %t7711 to i64 + %t7715 = mul i64 %t7714, %t7713 + %t7716 = load ptr, ptr %t7705 + %t7717 = call ptr @realloc(ptr %t7716, i64 %t7715) + store ptr %t7717, ptr %t7705 + store i32 %t7711, ptr %t7704 + br label %put1629 +put1629: + %t7718 = load ptr, ptr %t7705 + %t7719 = getelementptr inbounds ptr, ptr %t7718, i32 %t7706 + store ptr @.str7276, ptr %t7719 + %t7720 = add i32 %t7706, 1 + store i32 %t7720, ptr %t7703 + %t7721 = load ptr, ptr %t387 + %t7722 = getelementptr inbounds %LSlice, ptr %t7721, i32 0, i32 1 + %t7723 = getelementptr inbounds %LSlice, ptr %t7721, i32 0, i32 2 + %t7724 = getelementptr inbounds %LSlice, ptr %t7721, i32 0, i32 0 + %t7725 = load i32, ptr %t7722 + %t7726 = load i32, ptr %t7723 + %t7727 = icmp sge i32 %t7725, %t7726 + br i1 %t7727, label %grow1630, label %put1631 +grow1630: + %t7728 = mul i32 %t7726, 2 + %t7729 = icmp eq i32 %t7726, 0 + %t7730 = select i1 %t7729, i32 8, i32 %t7728 + %t7731 = getelementptr ptr, ptr null, i32 1 + %t7732 = ptrtoint ptr %t7731 to i64 + %t7733 = zext i32 %t7730 to i64 + %t7734 = mul i64 %t7733, %t7732 + %t7735 = load ptr, ptr %t7724 + %t7736 = call ptr @realloc(ptr %t7735, i64 %t7734) + store ptr %t7736, ptr %t7724 + store i32 %t7730, ptr %t7723 + br label %put1631 +put1631: + %t7737 = load ptr, ptr %t7724 + %t7738 = getelementptr inbounds ptr, ptr %t7737, i32 %t7725 + store ptr @.str7277, ptr %t7738 + %t7739 = add i32 %t7725, 1 + store i32 %t7739, ptr %t7722 + br label %ifend1627 +ifend1627: + %t7740 = load ptr, ptr %t1 + %t7741 = call i32 @fn_str_eq(ptr %t7740, ptr @.str7278) + %t7742 = icmp ne i32 %t7741, 0 + br i1 %t7742, label %then1632, label %ifend1634 +then1632: + store ptr @.str7279, ptr %t380 + %t7743 = load ptr, ptr %t387 + %t7744 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 1 + %t7745 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 2 + %t7746 = getelementptr inbounds %LSlice, ptr %t7743, i32 0, i32 0 + %t7747 = load i32, ptr %t7744 + %t7748 = load i32, ptr %t7745 + %t7749 = icmp sge i32 %t7747, %t7748 + br i1 %t7749, label %grow1635, label %put1636 +grow1635: + %t7750 = mul i32 %t7748, 2 + %t7751 = icmp eq i32 %t7748, 0 + %t7752 = select i1 %t7751, i32 8, i32 %t7750 + %t7753 = getelementptr ptr, ptr null, i32 1 + %t7754 = ptrtoint ptr %t7753 to i64 + %t7755 = zext i32 %t7752 to i64 + %t7756 = mul i64 %t7755, %t7754 + %t7757 = load ptr, ptr %t7746 + %t7758 = call ptr @realloc(ptr %t7757, i64 %t7756) + store ptr %t7758, ptr %t7746 + store i32 %t7752, ptr %t7745 + br label %put1636 +put1636: + %t7759 = load ptr, ptr %t7746 + %t7760 = getelementptr inbounds ptr, ptr %t7759, i32 %t7747 + store ptr @.str7280, ptr %t7760 + %t7761 = add i32 %t7747, 1 + store i32 %t7761, ptr %t7744 + %t7762 = load ptr, ptr %t387 + %t7763 = getelementptr inbounds %LSlice, ptr %t7762, i32 0, i32 1 + %t7764 = getelementptr inbounds %LSlice, ptr %t7762, i32 0, i32 2 + %t7765 = getelementptr inbounds %LSlice, ptr %t7762, i32 0, i32 0 + %t7766 = load i32, ptr %t7763 + %t7767 = load i32, ptr %t7764 + %t7768 = icmp sge i32 %t7766, %t7767 + br i1 %t7768, label %grow1637, label %put1638 +grow1637: + %t7769 = mul i32 %t7767, 2 + %t7770 = icmp eq i32 %t7767, 0 + %t7771 = select i1 %t7770, i32 8, i32 %t7769 + %t7772 = getelementptr ptr, ptr null, i32 1 + %t7773 = ptrtoint ptr %t7772 to i64 + %t7774 = zext i32 %t7771 to i64 + %t7775 = mul i64 %t7774, %t7773 + %t7776 = load ptr, ptr %t7765 + %t7777 = call ptr @realloc(ptr %t7776, i64 %t7775) + store ptr %t7777, ptr %t7765 + store i32 %t7771, ptr %t7764 + br label %put1638 +put1638: + %t7778 = load ptr, ptr %t7765 + %t7779 = getelementptr inbounds ptr, ptr %t7778, i32 %t7766 + store ptr @.str7281, ptr %t7779 + %t7780 = add i32 %t7766, 1 + store i32 %t7780, ptr %t7763 + br label %ifend1634 +ifend1634: + %t7781 = load ptr, ptr %t1 + %t7782 = call i32 @fn_str_eq(ptr %t7781, ptr @.str7282) + %t7783 = icmp ne i32 %t7782, 0 + br i1 %t7783, label %then1639, label %ifend1641 +then1639: + store ptr @.str7283, ptr %t380 + %t7784 = load ptr, ptr %t387 + %t7785 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 1 + %t7786 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 2 + %t7787 = getelementptr inbounds %LSlice, ptr %t7784, i32 0, i32 0 + %t7788 = load i32, ptr %t7785 + %t7789 = load i32, ptr %t7786 + %t7790 = icmp sge i32 %t7788, %t7789 + br i1 %t7790, label %grow1642, label %put1643 +grow1642: + %t7791 = mul i32 %t7789, 2 + %t7792 = icmp eq i32 %t7789, 0 + %t7793 = select i1 %t7792, i32 8, i32 %t7791 + %t7794 = getelementptr ptr, ptr null, i32 1 + %t7795 = ptrtoint ptr %t7794 to i64 + %t7796 = zext i32 %t7793 to i64 + %t7797 = mul i64 %t7796, %t7795 + %t7798 = load ptr, ptr %t7787 + %t7799 = call ptr @realloc(ptr %t7798, i64 %t7797) + store ptr %t7799, ptr %t7787 + store i32 %t7793, ptr %t7786 + br label %put1643 +put1643: + %t7800 = load ptr, ptr %t7787 + %t7801 = getelementptr inbounds ptr, ptr %t7800, i32 %t7788 + store ptr @.str7284, ptr %t7801 + %t7802 = add i32 %t7788, 1 + store i32 %t7802, ptr %t7785 + %t7803 = load ptr, ptr %t387 + %t7804 = getelementptr inbounds %LSlice, ptr %t7803, i32 0, i32 1 + %t7805 = getelementptr inbounds %LSlice, ptr %t7803, i32 0, i32 2 + %t7806 = getelementptr inbounds %LSlice, ptr %t7803, i32 0, i32 0 + %t7807 = load i32, ptr %t7804 + %t7808 = load i32, ptr %t7805 + %t7809 = icmp sge i32 %t7807, %t7808 + br i1 %t7809, label %grow1644, label %put1645 +grow1644: + %t7810 = mul i32 %t7808, 2 + %t7811 = icmp eq i32 %t7808, 0 + %t7812 = select i1 %t7811, i32 8, i32 %t7810 + %t7813 = getelementptr ptr, ptr null, i32 1 + %t7814 = ptrtoint ptr %t7813 to i64 + %t7815 = zext i32 %t7812 to i64 + %t7816 = mul i64 %t7815, %t7814 + %t7817 = load ptr, ptr %t7806 + %t7818 = call ptr @realloc(ptr %t7817, i64 %t7816) + store ptr %t7818, ptr %t7806 + store i32 %t7812, ptr %t7805 + br label %put1645 +put1645: + %t7819 = load ptr, ptr %t7806 + %t7820 = getelementptr inbounds ptr, ptr %t7819, i32 %t7807 + store ptr @.str7285, ptr %t7820 + %t7821 = add i32 %t7807, 1 + store i32 %t7821, ptr %t7804 + br label %ifend1641 +ifend1641: + %t7822 = load ptr, ptr %t1 + %t7823 = call i32 @fn_str_eq(ptr %t7822, ptr @.str7286) + %t7824 = icmp ne i32 %t7823, 0 + br i1 %t7824, label %then1646, label %ifend1648 +then1646: + store ptr @.str7287, ptr %t380 + %t7825 = load ptr, ptr %t387 + %t7826 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 1 + %t7827 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 2 + %t7828 = getelementptr inbounds %LSlice, ptr %t7825, i32 0, i32 0 + %t7829 = load i32, ptr %t7826 + %t7830 = load i32, ptr %t7827 + %t7831 = icmp sge i32 %t7829, %t7830 + br i1 %t7831, label %grow1649, label %put1650 +grow1649: + %t7832 = mul i32 %t7830, 2 + %t7833 = icmp eq i32 %t7830, 0 + %t7834 = select i1 %t7833, i32 8, i32 %t7832 + %t7835 = getelementptr ptr, ptr null, i32 1 + %t7836 = ptrtoint ptr %t7835 to i64 + %t7837 = zext i32 %t7834 to i64 + %t7838 = mul i64 %t7837, %t7836 + %t7839 = load ptr, ptr %t7828 + %t7840 = call ptr @realloc(ptr %t7839, i64 %t7838) + store ptr %t7840, ptr %t7828 + store i32 %t7834, ptr %t7827 + br label %put1650 +put1650: + %t7841 = load ptr, ptr %t7828 + %t7842 = getelementptr inbounds ptr, ptr %t7841, i32 %t7829 + store ptr @.str7288, ptr %t7842 + %t7843 = add i32 %t7829, 1 + store i32 %t7843, ptr %t7826 + br label %ifend1648 +ifend1648: + %t7844 = load ptr, ptr %t1 + %t7845 = call i32 @fn_str_eq(ptr %t7844, ptr @.str7289) + %t7846 = icmp ne i32 %t7845, 0 + br i1 %t7846, label %then1651, label %ifend1653 +then1651: + store ptr @.str7290, ptr %t380 + %t7847 = load ptr, ptr %t387 + %t7848 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 1 + %t7849 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 2 + %t7850 = getelementptr inbounds %LSlice, ptr %t7847, i32 0, i32 0 + %t7851 = load i32, ptr %t7848 + %t7852 = load i32, ptr %t7849 + %t7853 = icmp sge i32 %t7851, %t7852 + br i1 %t7853, label %grow1654, label %put1655 +grow1654: + %t7854 = mul i32 %t7852, 2 + %t7855 = icmp eq i32 %t7852, 0 + %t7856 = select i1 %t7855, i32 8, i32 %t7854 + %t7857 = getelementptr ptr, ptr null, i32 1 + %t7858 = ptrtoint ptr %t7857 to i64 + %t7859 = zext i32 %t7856 to i64 + %t7860 = mul i64 %t7859, %t7858 + %t7861 = load ptr, ptr %t7850 + %t7862 = call ptr @realloc(ptr %t7861, i64 %t7860) + store ptr %t7862, ptr %t7850 + store i32 %t7856, ptr %t7849 + br label %put1655 +put1655: + %t7863 = load ptr, ptr %t7850 + %t7864 = getelementptr inbounds ptr, ptr %t7863, i32 %t7851 + store ptr @.str7291, ptr %t7864 + %t7865 = add i32 %t7851, 1 + store i32 %t7865, ptr %t7848 + %t7866 = load ptr, ptr %t387 + %t7867 = getelementptr inbounds %LSlice, ptr %t7866, i32 0, i32 1 + %t7868 = getelementptr inbounds %LSlice, ptr %t7866, i32 0, i32 2 + %t7869 = getelementptr inbounds %LSlice, ptr %t7866, i32 0, i32 0 + %t7870 = load i32, ptr %t7867 + %t7871 = load i32, ptr %t7868 + %t7872 = icmp sge i32 %t7870, %t7871 + br i1 %t7872, label %grow1656, label %put1657 +grow1656: + %t7873 = mul i32 %t7871, 2 + %t7874 = icmp eq i32 %t7871, 0 + %t7875 = select i1 %t7874, i32 8, i32 %t7873 + %t7876 = getelementptr ptr, ptr null, i32 1 + %t7877 = ptrtoint ptr %t7876 to i64 + %t7878 = zext i32 %t7875 to i64 + %t7879 = mul i64 %t7878, %t7877 + %t7880 = load ptr, ptr %t7869 + %t7881 = call ptr @realloc(ptr %t7880, i64 %t7879) + store ptr %t7881, ptr %t7869 + store i32 %t7875, ptr %t7868 + br label %put1657 +put1657: + %t7882 = load ptr, ptr %t7869 + %t7883 = getelementptr inbounds ptr, ptr %t7882, i32 %t7870 + store ptr @.str7292, ptr %t7883 + %t7884 = add i32 %t7870, 1 + store i32 %t7884, ptr %t7867 + br label %ifend1653 +ifend1653: + %t7885 = load ptr, ptr %t1 + %t7886 = call i32 @fn_str_eq(ptr %t7885, ptr @.str7293) + %t7887 = icmp ne i32 %t7886, 0 + br i1 %t7887, label %then1658, label %ifend1660 +then1658: + store ptr @.str7294, ptr %t380 + %t7888 = load ptr, ptr %t387 + %t7889 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 1 + %t7890 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 2 + %t7891 = getelementptr inbounds %LSlice, ptr %t7888, i32 0, i32 0 + %t7892 = load i32, ptr %t7889 + %t7893 = load i32, ptr %t7890 + %t7894 = icmp sge i32 %t7892, %t7893 + br i1 %t7894, label %grow1661, label %put1662 +grow1661: + %t7895 = mul i32 %t7893, 2 + %t7896 = icmp eq i32 %t7893, 0 + %t7897 = select i1 %t7896, i32 8, i32 %t7895 + %t7898 = getelementptr ptr, ptr null, i32 1 + %t7899 = ptrtoint ptr %t7898 to i64 + %t7900 = zext i32 %t7897 to i64 + %t7901 = mul i64 %t7900, %t7899 + %t7902 = load ptr, ptr %t7891 + %t7903 = call ptr @realloc(ptr %t7902, i64 %t7901) + store ptr %t7903, ptr %t7891 + store i32 %t7897, ptr %t7890 + br label %put1662 +put1662: + %t7904 = load ptr, ptr %t7891 + %t7905 = getelementptr inbounds ptr, ptr %t7904, i32 %t7892 + store ptr @.str7295, ptr %t7905 + %t7906 = add i32 %t7892, 1 + store i32 %t7906, ptr %t7889 + %t7907 = load ptr, ptr %t387 + %t7908 = getelementptr inbounds %LSlice, ptr %t7907, i32 0, i32 1 + %t7909 = getelementptr inbounds %LSlice, ptr %t7907, i32 0, i32 2 + %t7910 = getelementptr inbounds %LSlice, ptr %t7907, i32 0, i32 0 + %t7911 = load i32, ptr %t7908 + %t7912 = load i32, ptr %t7909 + %t7913 = icmp sge i32 %t7911, %t7912 + br i1 %t7913, label %grow1663, label %put1664 +grow1663: + %t7914 = mul i32 %t7912, 2 + %t7915 = icmp eq i32 %t7912, 0 + %t7916 = select i1 %t7915, i32 8, i32 %t7914 + %t7917 = getelementptr ptr, ptr null, i32 1 + %t7918 = ptrtoint ptr %t7917 to i64 + %t7919 = zext i32 %t7916 to i64 + %t7920 = mul i64 %t7919, %t7918 + %t7921 = load ptr, ptr %t7910 + %t7922 = call ptr @realloc(ptr %t7921, i64 %t7920) + store ptr %t7922, ptr %t7910 + store i32 %t7916, ptr %t7909 + br label %put1664 +put1664: + %t7923 = load ptr, ptr %t7910 + %t7924 = getelementptr inbounds ptr, ptr %t7923, i32 %t7911 + store ptr @.str7296, ptr %t7924 + %t7925 = add i32 %t7911, 1 + store i32 %t7925, ptr %t7908 + br label %ifend1660 +ifend1660: + %t7926 = load ptr, ptr %t1 + %t7927 = call i32 @fn_str_eq(ptr %t7926, ptr @.str7297) + %t7928 = icmp ne i32 %t7927, 0 + br i1 %t7928, label %then1665, label %ifend1667 +then1665: + store ptr @.str7298, ptr %t380 + %t7929 = load ptr, ptr %t387 + %t7930 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 1 + %t7931 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 2 + %t7932 = getelementptr inbounds %LSlice, ptr %t7929, i32 0, i32 0 + %t7933 = load i32, ptr %t7930 + %t7934 = load i32, ptr %t7931 + %t7935 = icmp sge i32 %t7933, %t7934 + br i1 %t7935, label %grow1668, label %put1669 +grow1668: + %t7936 = mul i32 %t7934, 2 + %t7937 = icmp eq i32 %t7934, 0 + %t7938 = select i1 %t7937, i32 8, i32 %t7936 + %t7939 = getelementptr ptr, ptr null, i32 1 + %t7940 = ptrtoint ptr %t7939 to i64 + %t7941 = zext i32 %t7938 to i64 + %t7942 = mul i64 %t7941, %t7940 + %t7943 = load ptr, ptr %t7932 + %t7944 = call ptr @realloc(ptr %t7943, i64 %t7942) + store ptr %t7944, ptr %t7932 + store i32 %t7938, ptr %t7931 + br label %put1669 +put1669: + %t7945 = load ptr, ptr %t7932 + %t7946 = getelementptr inbounds ptr, ptr %t7945, i32 %t7933 + store ptr @.str7299, ptr %t7946 + %t7947 = add i32 %t7933, 1 + store i32 %t7947, ptr %t7930 + br label %ifend1667 +ifend1667: + %t7948 = load ptr, ptr %t1 + %t7949 = call i32 @fn_str_eq(ptr %t7948, ptr @.str7300) + %t7950 = icmp ne i32 %t7949, 0 + br i1 %t7950, label %then1670, label %ifend1672 +then1670: + store ptr @.str7301, ptr %t380 + %t7951 = load ptr, ptr %t387 + %t7952 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 1 + %t7953 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 2 + %t7954 = getelementptr inbounds %LSlice, ptr %t7951, i32 0, i32 0 + %t7955 = load i32, ptr %t7952 + %t7956 = load i32, ptr %t7953 + %t7957 = icmp sge i32 %t7955, %t7956 + br i1 %t7957, label %grow1673, label %put1674 +grow1673: + %t7958 = mul i32 %t7956, 2 + %t7959 = icmp eq i32 %t7956, 0 + %t7960 = select i1 %t7959, i32 8, i32 %t7958 + %t7961 = getelementptr ptr, ptr null, i32 1 + %t7962 = ptrtoint ptr %t7961 to i64 + %t7963 = zext i32 %t7960 to i64 + %t7964 = mul i64 %t7963, %t7962 + %t7965 = load ptr, ptr %t7954 + %t7966 = call ptr @realloc(ptr %t7965, i64 %t7964) + store ptr %t7966, ptr %t7954 + store i32 %t7960, ptr %t7953 + br label %put1674 +put1674: + %t7967 = load ptr, ptr %t7954 + %t7968 = getelementptr inbounds ptr, ptr %t7967, i32 %t7955 + store ptr @.str7302, ptr %t7968 + %t7969 = add i32 %t7955, 1 + store i32 %t7969, ptr %t7952 + %t7970 = load ptr, ptr %t387 + %t7971 = getelementptr inbounds %LSlice, ptr %t7970, i32 0, i32 1 + %t7972 = getelementptr inbounds %LSlice, ptr %t7970, i32 0, i32 2 + %t7973 = getelementptr inbounds %LSlice, ptr %t7970, i32 0, i32 0 + %t7974 = load i32, ptr %t7971 + %t7975 = load i32, ptr %t7972 + %t7976 = icmp sge i32 %t7974, %t7975 + br i1 %t7976, label %grow1675, label %put1676 grow1675: - %t7589 = mul i32 %t7587, 2 - %t7590 = icmp eq i32 %t7587, 0 - %t7591 = select i1 %t7590, i32 8, i32 %t7589 - %t7592 = getelementptr ptr, ptr null, i32 1 - %t7593 = ptrtoint ptr %t7592 to i64 - %t7594 = zext i32 %t7591 to i64 - %t7595 = mul i64 %t7594, %t7593 - %t7596 = load ptr, ptr %t7585 - %t7597 = call ptr @realloc(ptr %t7596, i64 %t7595) - store ptr %t7597, ptr %t7585 - store i32 %t7591, ptr %t7584 + %t7977 = mul i32 %t7975, 2 + %t7978 = icmp eq i32 %t7975, 0 + %t7979 = select i1 %t7978, i32 8, i32 %t7977 + %t7980 = getelementptr ptr, ptr null, i32 1 + %t7981 = ptrtoint ptr %t7980 to i64 + %t7982 = zext i32 %t7979 to i64 + %t7983 = mul i64 %t7982, %t7981 + %t7984 = load ptr, ptr %t7973 + %t7985 = call ptr @realloc(ptr %t7984, i64 %t7983) + store ptr %t7985, ptr %t7973 + store i32 %t7979, ptr %t7972 br label %put1676 put1676: - %t7598 = load ptr, ptr %t7585 - %t7599 = getelementptr inbounds ptr, ptr %t7598, i32 %t7586 - store ptr @.str6989, ptr %t7599 - %t7600 = add i32 %t7586, 1 - store i32 %t7600, ptr %t7583 - br label %ifend1674 -ifend1674: - br label %ifend1618 -ifend1618: - %t7601 = load ptr, ptr %t0 - %t7602 = call i32 @fn_str_eq(ptr %t7601, ptr @.str6990) - %t7603 = icmp ne i32 %t7602, 0 - br i1 %t7603, label %then1677, label %ifend1679 + %t7986 = load ptr, ptr %t7973 + %t7987 = getelementptr inbounds ptr, ptr %t7986, i32 %t7974 + store ptr @.str7303, ptr %t7987 + %t7988 = add i32 %t7974, 1 + store i32 %t7988, ptr %t7971 + br label %ifend1672 +ifend1672: + %t7989 = load ptr, ptr %t1 + %t7990 = call i32 @fn_str_eq(ptr %t7989, ptr @.str7304) + %t7991 = icmp ne i32 %t7990, 0 + br i1 %t7991, label %then1677, label %ifend1679 then1677: - %t7604 = load ptr, ptr %t1 - %t7605 = call i32 @fn_str_eq(ptr %t7604, ptr @.str6991) - %t7606 = icmp ne i32 %t7605, 0 - br i1 %t7606, label %then1680, label %ifend1682 -then1680: - store ptr @.str6992, ptr %t330 - %t7607 = load ptr, ptr %t337 - %t7608 = getelementptr inbounds %LSlice, ptr %t7607, i32 0, i32 1 - %t7609 = getelementptr inbounds %LSlice, ptr %t7607, i32 0, i32 2 - %t7610 = getelementptr inbounds %LSlice, ptr %t7607, i32 0, i32 0 - %t7611 = load i32, ptr %t7608 - %t7612 = load i32, ptr %t7609 - %t7613 = icmp sge i32 %t7611, %t7612 - br i1 %t7613, label %grow1683, label %put1684 -grow1683: - %t7614 = mul i32 %t7612, 2 - %t7615 = icmp eq i32 %t7612, 0 - %t7616 = select i1 %t7615, i32 8, i32 %t7614 - %t7617 = getelementptr ptr, ptr null, i32 1 - %t7618 = ptrtoint ptr %t7617 to i64 - %t7619 = zext i32 %t7616 to i64 - %t7620 = mul i64 %t7619, %t7618 - %t7621 = load ptr, ptr %t7610 - %t7622 = call ptr @realloc(ptr %t7621, i64 %t7620) - store ptr %t7622, ptr %t7610 - store i32 %t7616, ptr %t7609 - br label %put1684 -put1684: - %t7623 = load ptr, ptr %t7610 - %t7624 = getelementptr inbounds ptr, ptr %t7623, i32 %t7611 - store ptr @.str6993, ptr %t7624 - %t7625 = add i32 %t7611, 1 - store i32 %t7625, ptr %t7608 - br label %ifend1682 -ifend1682: - %t7626 = load ptr, ptr %t1 - %t7627 = call i32 @fn_str_eq(ptr %t7626, ptr @.str6994) - %t7628 = icmp ne i32 %t7627, 0 - br i1 %t7628, label %then1685, label %ifend1687 -then1685: - store ptr @.str6995, ptr %t330 - %t7629 = load ptr, ptr %t337 - %t7630 = getelementptr inbounds %LSlice, ptr %t7629, i32 0, i32 1 - %t7631 = getelementptr inbounds %LSlice, ptr %t7629, i32 0, i32 2 - %t7632 = getelementptr inbounds %LSlice, ptr %t7629, i32 0, i32 0 - %t7633 = load i32, ptr %t7630 - %t7634 = load i32, ptr %t7631 - %t7635 = icmp sge i32 %t7633, %t7634 - br i1 %t7635, label %grow1688, label %put1689 -grow1688: - %t7636 = mul i32 %t7634, 2 - %t7637 = icmp eq i32 %t7634, 0 - %t7638 = select i1 %t7637, i32 8, i32 %t7636 - %t7639 = getelementptr ptr, ptr null, i32 1 - %t7640 = ptrtoint ptr %t7639 to i64 - %t7641 = zext i32 %t7638 to i64 - %t7642 = mul i64 %t7641, %t7640 - %t7643 = load ptr, ptr %t7632 - %t7644 = call ptr @realloc(ptr %t7643, i64 %t7642) - store ptr %t7644, ptr %t7632 - store i32 %t7638, ptr %t7631 - br label %put1689 -put1689: - %t7645 = load ptr, ptr %t7632 - %t7646 = getelementptr inbounds ptr, ptr %t7645, i32 %t7633 - store ptr @.str6996, ptr %t7646 - %t7647 = add i32 %t7633, 1 - store i32 %t7647, ptr %t7630 - br label %ifend1687 -ifend1687: - %t7648 = load ptr, ptr %t1 - %t7649 = call i32 @fn_str_eq(ptr %t7648, ptr @.str6997) - %t7650 = icmp ne i32 %t7649, 0 - br i1 %t7650, label %then1690, label %ifend1692 -then1690: - store ptr @.str6998, ptr %t330 - %t7651 = load ptr, ptr %t337 - %t7652 = getelementptr inbounds %LSlice, ptr %t7651, i32 0, i32 1 - %t7653 = getelementptr inbounds %LSlice, ptr %t7651, i32 0, i32 2 - %t7654 = getelementptr inbounds %LSlice, ptr %t7651, i32 0, i32 0 - %t7655 = load i32, ptr %t7652 - %t7656 = load i32, ptr %t7653 - %t7657 = icmp sge i32 %t7655, %t7656 - br i1 %t7657, label %grow1693, label %put1694 -grow1693: - %t7658 = mul i32 %t7656, 2 - %t7659 = icmp eq i32 %t7656, 0 - %t7660 = select i1 %t7659, i32 8, i32 %t7658 - %t7661 = getelementptr ptr, ptr null, i32 1 - %t7662 = ptrtoint ptr %t7661 to i64 - %t7663 = zext i32 %t7660 to i64 - %t7664 = mul i64 %t7663, %t7662 - %t7665 = load ptr, ptr %t7654 - %t7666 = call ptr @realloc(ptr %t7665, i64 %t7664) - store ptr %t7666, ptr %t7654 - store i32 %t7660, ptr %t7653 - br label %put1694 -put1694: - %t7667 = load ptr, ptr %t7654 - %t7668 = getelementptr inbounds ptr, ptr %t7667, i32 %t7655 - store ptr @.str6999, ptr %t7668 - %t7669 = add i32 %t7655, 1 - store i32 %t7669, ptr %t7652 - br label %ifend1692 -ifend1692: - %t7670 = load ptr, ptr %t1 - %t7671 = call i32 @fn_str_eq(ptr %t7670, ptr @.str7000) - %t7672 = icmp ne i32 %t7671, 0 - br i1 %t7672, label %then1695, label %ifend1697 -then1695: - store ptr @.str7001, ptr %t330 - %t7673 = load ptr, ptr %t337 - %t7674 = getelementptr inbounds %LSlice, ptr %t7673, i32 0, i32 1 - %t7675 = getelementptr inbounds %LSlice, ptr %t7673, i32 0, i32 2 - %t7676 = getelementptr inbounds %LSlice, ptr %t7673, i32 0, i32 0 - %t7677 = load i32, ptr %t7674 - %t7678 = load i32, ptr %t7675 - %t7679 = icmp sge i32 %t7677, %t7678 - br i1 %t7679, label %grow1698, label %put1699 -grow1698: - %t7680 = mul i32 %t7678, 2 - %t7681 = icmp eq i32 %t7678, 0 - %t7682 = select i1 %t7681, i32 8, i32 %t7680 - %t7683 = getelementptr ptr, ptr null, i32 1 - %t7684 = ptrtoint ptr %t7683 to i64 - %t7685 = zext i32 %t7682 to i64 - %t7686 = mul i64 %t7685, %t7684 - %t7687 = load ptr, ptr %t7676 - %t7688 = call ptr @realloc(ptr %t7687, i64 %t7686) - store ptr %t7688, ptr %t7676 - store i32 %t7682, ptr %t7675 - br label %put1699 -put1699: - %t7689 = load ptr, ptr %t7676 - %t7690 = getelementptr inbounds ptr, ptr %t7689, i32 %t7677 - store ptr @.str7002, ptr %t7690 - %t7691 = add i32 %t7677, 1 - store i32 %t7691, ptr %t7674 - br label %ifend1697 -ifend1697: - %t7692 = load ptr, ptr %t1 - %t7693 = call i32 @fn_str_eq(ptr %t7692, ptr @.str7003) - %t7694 = icmp ne i32 %t7693, 0 - br i1 %t7694, label %then1700, label %ifend1702 -then1700: - store ptr @.str7004, ptr %t330 - %t7695 = load ptr, ptr %t337 - %t7696 = getelementptr inbounds %LSlice, ptr %t7695, i32 0, i32 1 - %t7697 = getelementptr inbounds %LSlice, ptr %t7695, i32 0, i32 2 - %t7698 = getelementptr inbounds %LSlice, ptr %t7695, i32 0, i32 0 - %t7699 = load i32, ptr %t7696 - %t7700 = load i32, ptr %t7697 - %t7701 = icmp sge i32 %t7699, %t7700 - br i1 %t7701, label %grow1703, label %put1704 -grow1703: - %t7702 = mul i32 %t7700, 2 - %t7703 = icmp eq i32 %t7700, 0 - %t7704 = select i1 %t7703, i32 8, i32 %t7702 - %t7705 = getelementptr ptr, ptr null, i32 1 - %t7706 = ptrtoint ptr %t7705 to i64 - %t7707 = zext i32 %t7704 to i64 - %t7708 = mul i64 %t7707, %t7706 - %t7709 = load ptr, ptr %t7698 - %t7710 = call ptr @realloc(ptr %t7709, i64 %t7708) - store ptr %t7710, ptr %t7698 - store i32 %t7704, ptr %t7697 - br label %put1704 -put1704: - %t7711 = load ptr, ptr %t7698 - %t7712 = getelementptr inbounds ptr, ptr %t7711, i32 %t7699 - store ptr @.str7005, ptr %t7712 - %t7713 = add i32 %t7699, 1 - store i32 %t7713, ptr %t7696 - br label %ifend1702 -ifend1702: - %t7714 = load ptr, ptr %t1 - %t7715 = call i32 @fn_str_eq(ptr %t7714, ptr @.str7006) - %t7716 = icmp ne i32 %t7715, 0 - br i1 %t7716, label %then1705, label %ifend1707 -then1705: - store ptr @.str7007, ptr %t330 - %t7717 = load ptr, ptr %t337 - %t7718 = getelementptr inbounds %LSlice, ptr %t7717, i32 0, i32 1 - %t7719 = getelementptr inbounds %LSlice, ptr %t7717, i32 0, i32 2 - %t7720 = getelementptr inbounds %LSlice, ptr %t7717, i32 0, i32 0 - %t7721 = load i32, ptr %t7718 - %t7722 = load i32, ptr %t7719 - %t7723 = icmp sge i32 %t7721, %t7722 - br i1 %t7723, label %grow1708, label %put1709 -grow1708: - %t7724 = mul i32 %t7722, 2 - %t7725 = icmp eq i32 %t7722, 0 - %t7726 = select i1 %t7725, i32 8, i32 %t7724 - %t7727 = getelementptr ptr, ptr null, i32 1 - %t7728 = ptrtoint ptr %t7727 to i64 - %t7729 = zext i32 %t7726 to i64 - %t7730 = mul i64 %t7729, %t7728 - %t7731 = load ptr, ptr %t7720 - %t7732 = call ptr @realloc(ptr %t7731, i64 %t7730) - store ptr %t7732, ptr %t7720 - store i32 %t7726, ptr %t7719 - br label %put1709 -put1709: - %t7733 = load ptr, ptr %t7720 - %t7734 = getelementptr inbounds ptr, ptr %t7733, i32 %t7721 - store ptr @.str7008, ptr %t7734 - %t7735 = add i32 %t7721, 1 - store i32 %t7735, ptr %t7718 - %t7736 = load ptr, ptr %t337 - %t7737 = getelementptr inbounds %LSlice, ptr %t7736, i32 0, i32 1 - %t7738 = getelementptr inbounds %LSlice, ptr %t7736, i32 0, i32 2 - %t7739 = getelementptr inbounds %LSlice, ptr %t7736, i32 0, i32 0 - %t7740 = load i32, ptr %t7737 - %t7741 = load i32, ptr %t7738 - %t7742 = icmp sge i32 %t7740, %t7741 - br i1 %t7742, label %grow1710, label %put1711 -grow1710: - %t7743 = mul i32 %t7741, 2 - %t7744 = icmp eq i32 %t7741, 0 - %t7745 = select i1 %t7744, i32 8, i32 %t7743 - %t7746 = getelementptr ptr, ptr null, i32 1 - %t7747 = ptrtoint ptr %t7746 to i64 - %t7748 = zext i32 %t7745 to i64 - %t7749 = mul i64 %t7748, %t7747 - %t7750 = load ptr, ptr %t7739 - %t7751 = call ptr @realloc(ptr %t7750, i64 %t7749) - store ptr %t7751, ptr %t7739 - store i32 %t7745, ptr %t7738 - br label %put1711 -put1711: - %t7752 = load ptr, ptr %t7739 - %t7753 = getelementptr inbounds ptr, ptr %t7752, i32 %t7740 - store ptr @.str7009, ptr %t7753 - %t7754 = add i32 %t7740, 1 - store i32 %t7754, ptr %t7737 - br label %ifend1707 -ifend1707: - %t7755 = load ptr, ptr %t1 - %t7756 = call i32 @fn_str_eq(ptr %t7755, ptr @.str7010) - %t7757 = icmp ne i32 %t7756, 0 - br i1 %t7757, label %then1712, label %ifend1714 -then1712: - store ptr @.str7011, ptr %t330 - %t7758 = load ptr, ptr %t337 - %t7759 = getelementptr inbounds %LSlice, ptr %t7758, i32 0, i32 1 - %t7760 = getelementptr inbounds %LSlice, ptr %t7758, i32 0, i32 2 - %t7761 = getelementptr inbounds %LSlice, ptr %t7758, i32 0, i32 0 - %t7762 = load i32, ptr %t7759 - %t7763 = load i32, ptr %t7760 - %t7764 = icmp sge i32 %t7762, %t7763 - br i1 %t7764, label %grow1715, label %put1716 -grow1715: - %t7765 = mul i32 %t7763, 2 - %t7766 = icmp eq i32 %t7763, 0 - %t7767 = select i1 %t7766, i32 8, i32 %t7765 - %t7768 = getelementptr ptr, ptr null, i32 1 - %t7769 = ptrtoint ptr %t7768 to i64 - %t7770 = zext i32 %t7767 to i64 - %t7771 = mul i64 %t7770, %t7769 - %t7772 = load ptr, ptr %t7761 - %t7773 = call ptr @realloc(ptr %t7772, i64 %t7771) - store ptr %t7773, ptr %t7761 - store i32 %t7767, ptr %t7760 - br label %put1716 -put1716: - %t7774 = load ptr, ptr %t7761 - %t7775 = getelementptr inbounds ptr, ptr %t7774, i32 %t7762 - store ptr @.str7012, ptr %t7775 - %t7776 = add i32 %t7762, 1 - store i32 %t7776, ptr %t7759 - %t7777 = load ptr, ptr %t337 - %t7778 = getelementptr inbounds %LSlice, ptr %t7777, i32 0, i32 1 - %t7779 = getelementptr inbounds %LSlice, ptr %t7777, i32 0, i32 2 - %t7780 = getelementptr inbounds %LSlice, ptr %t7777, i32 0, i32 0 - %t7781 = load i32, ptr %t7778 - %t7782 = load i32, ptr %t7779 - %t7783 = icmp sge i32 %t7781, %t7782 - br i1 %t7783, label %grow1717, label %put1718 -grow1717: - %t7784 = mul i32 %t7782, 2 - %t7785 = icmp eq i32 %t7782, 0 - %t7786 = select i1 %t7785, i32 8, i32 %t7784 - %t7787 = getelementptr ptr, ptr null, i32 1 - %t7788 = ptrtoint ptr %t7787 to i64 - %t7789 = zext i32 %t7786 to i64 - %t7790 = mul i64 %t7789, %t7788 - %t7791 = load ptr, ptr %t7780 - %t7792 = call ptr @realloc(ptr %t7791, i64 %t7790) - store ptr %t7792, ptr %t7780 - store i32 %t7786, ptr %t7779 - br label %put1718 -put1718: - %t7793 = load ptr, ptr %t7780 - %t7794 = getelementptr inbounds ptr, ptr %t7793, i32 %t7781 - store ptr @.str7013, ptr %t7794 - %t7795 = add i32 %t7781, 1 - store i32 %t7795, ptr %t7778 - br label %ifend1714 -ifend1714: - %t7796 = load ptr, ptr %t1 - %t7797 = call i32 @fn_str_eq(ptr %t7796, ptr @.str7014) - %t7798 = icmp ne i32 %t7797, 0 - br i1 %t7798, label %then1719, label %ifend1721 -then1719: - store ptr @.str7015, ptr %t330 - %t7799 = load ptr, ptr %t337 - %t7800 = getelementptr inbounds %LSlice, ptr %t7799, i32 0, i32 1 - %t7801 = getelementptr inbounds %LSlice, ptr %t7799, i32 0, i32 2 - %t7802 = getelementptr inbounds %LSlice, ptr %t7799, i32 0, i32 0 - %t7803 = load i32, ptr %t7800 - %t7804 = load i32, ptr %t7801 - %t7805 = icmp sge i32 %t7803, %t7804 - br i1 %t7805, label %grow1722, label %put1723 -grow1722: - %t7806 = mul i32 %t7804, 2 - %t7807 = icmp eq i32 %t7804, 0 - %t7808 = select i1 %t7807, i32 8, i32 %t7806 - %t7809 = getelementptr ptr, ptr null, i32 1 - %t7810 = ptrtoint ptr %t7809 to i64 - %t7811 = zext i32 %t7808 to i64 - %t7812 = mul i64 %t7811, %t7810 - %t7813 = load ptr, ptr %t7802 - %t7814 = call ptr @realloc(ptr %t7813, i64 %t7812) - store ptr %t7814, ptr %t7802 - store i32 %t7808, ptr %t7801 - br label %put1723 -put1723: - %t7815 = load ptr, ptr %t7802 - %t7816 = getelementptr inbounds ptr, ptr %t7815, i32 %t7803 - store ptr @.str7016, ptr %t7816 - %t7817 = add i32 %t7803, 1 - store i32 %t7817, ptr %t7800 - %t7818 = load ptr, ptr %t337 - %t7819 = getelementptr inbounds %LSlice, ptr %t7818, i32 0, i32 1 - %t7820 = getelementptr inbounds %LSlice, ptr %t7818, i32 0, i32 2 - %t7821 = getelementptr inbounds %LSlice, ptr %t7818, i32 0, i32 0 - %t7822 = load i32, ptr %t7819 - %t7823 = load i32, ptr %t7820 - %t7824 = icmp sge i32 %t7822, %t7823 - br i1 %t7824, label %grow1724, label %put1725 -grow1724: - %t7825 = mul i32 %t7823, 2 - %t7826 = icmp eq i32 %t7823, 0 - %t7827 = select i1 %t7826, i32 8, i32 %t7825 - %t7828 = getelementptr ptr, ptr null, i32 1 - %t7829 = ptrtoint ptr %t7828 to i64 - %t7830 = zext i32 %t7827 to i64 - %t7831 = mul i64 %t7830, %t7829 - %t7832 = load ptr, ptr %t7821 - %t7833 = call ptr @realloc(ptr %t7832, i64 %t7831) - store ptr %t7833, ptr %t7821 - store i32 %t7827, ptr %t7820 - br label %put1725 -put1725: - %t7834 = load ptr, ptr %t7821 - %t7835 = getelementptr inbounds ptr, ptr %t7834, i32 %t7822 - store ptr @.str7017, ptr %t7835 - %t7836 = add i32 %t7822, 1 - store i32 %t7836, ptr %t7819 - %t7837 = load ptr, ptr %t337 - %t7838 = getelementptr inbounds %LSlice, ptr %t7837, i32 0, i32 1 - %t7839 = getelementptr inbounds %LSlice, ptr %t7837, i32 0, i32 2 - %t7840 = getelementptr inbounds %LSlice, ptr %t7837, i32 0, i32 0 - %t7841 = load i32, ptr %t7838 - %t7842 = load i32, ptr %t7839 - %t7843 = icmp sge i32 %t7841, %t7842 - br i1 %t7843, label %grow1726, label %put1727 -grow1726: - %t7844 = mul i32 %t7842, 2 - %t7845 = icmp eq i32 %t7842, 0 - %t7846 = select i1 %t7845, i32 8, i32 %t7844 - %t7847 = getelementptr ptr, ptr null, i32 1 - %t7848 = ptrtoint ptr %t7847 to i64 - %t7849 = zext i32 %t7846 to i64 - %t7850 = mul i64 %t7849, %t7848 - %t7851 = load ptr, ptr %t7840 - %t7852 = call ptr @realloc(ptr %t7851, i64 %t7850) - store ptr %t7852, ptr %t7840 - store i32 %t7846, ptr %t7839 - br label %put1727 -put1727: - %t7853 = load ptr, ptr %t7840 - %t7854 = getelementptr inbounds ptr, ptr %t7853, i32 %t7841 - store ptr @.str7018, ptr %t7854 - %t7855 = add i32 %t7841, 1 - store i32 %t7855, ptr %t7838 - br label %ifend1721 -ifend1721: + store ptr @.str7305, ptr %t380 + %t7992 = load ptr, ptr %t387 + %t7993 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 1 + %t7994 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 2 + %t7995 = getelementptr inbounds %LSlice, ptr %t7992, i32 0, i32 0 + %t7996 = load i32, ptr %t7993 + %t7997 = load i32, ptr %t7994 + %t7998 = icmp sge i32 %t7996, %t7997 + br i1 %t7998, label %grow1680, label %put1681 +grow1680: + %t7999 = mul i32 %t7997, 2 + %t8000 = icmp eq i32 %t7997, 0 + %t8001 = select i1 %t8000, i32 8, i32 %t7999 + %t8002 = getelementptr ptr, ptr null, i32 1 + %t8003 = ptrtoint ptr %t8002 to i64 + %t8004 = zext i32 %t8001 to i64 + %t8005 = mul i64 %t8004, %t8003 + %t8006 = load ptr, ptr %t7995 + %t8007 = call ptr @realloc(ptr %t8006, i64 %t8005) + store ptr %t8007, ptr %t7995 + store i32 %t8001, ptr %t7994 + br label %put1681 +put1681: + %t8008 = load ptr, ptr %t7995 + %t8009 = getelementptr inbounds ptr, ptr %t8008, i32 %t7996 + store ptr @.str7306, ptr %t8009 + %t8010 = add i32 %t7996, 1 + store i32 %t8010, ptr %t7993 br label %ifend1679 ifend1679: - %t7856 = load ptr, ptr %t0 - %t7857 = call i32 @fn_str_eq(ptr %t7856, ptr @.str7019) - %t7858 = icmp ne i32 %t7857, 0 - br i1 %t7858, label %then1728, label %ifend1730 -then1728: - %t7859 = load ptr, ptr %t1 - %t7860 = call i32 @fn_str_eq(ptr %t7859, ptr @.str7020) - %t7861 = icmp ne i32 %t7860, 0 - br i1 %t7861, label %then1731, label %ifend1733 -then1731: - store ptr @.str7021, ptr %t330 - %t7862 = load ptr, ptr %t337 - %t7863 = getelementptr inbounds %LSlice, ptr %t7862, i32 0, i32 1 - %t7864 = getelementptr inbounds %LSlice, ptr %t7862, i32 0, i32 2 - %t7865 = getelementptr inbounds %LSlice, ptr %t7862, i32 0, i32 0 - %t7866 = load i32, ptr %t7863 - %t7867 = load i32, ptr %t7864 - %t7868 = icmp sge i32 %t7866, %t7867 - br i1 %t7868, label %grow1734, label %put1735 -grow1734: - %t7869 = mul i32 %t7867, 2 - %t7870 = icmp eq i32 %t7867, 0 - %t7871 = select i1 %t7870, i32 8, i32 %t7869 - %t7872 = getelementptr ptr, ptr null, i32 1 - %t7873 = ptrtoint ptr %t7872 to i64 - %t7874 = zext i32 %t7871 to i64 - %t7875 = mul i64 %t7874, %t7873 - %t7876 = load ptr, ptr %t7865 - %t7877 = call ptr @realloc(ptr %t7876, i64 %t7875) - store ptr %t7877, ptr %t7865 - store i32 %t7871, ptr %t7864 - br label %put1735 -put1735: - %t7878 = load ptr, ptr %t7865 - %t7879 = getelementptr inbounds ptr, ptr %t7878, i32 %t7866 - store ptr @.str7022, ptr %t7879 - %t7880 = add i32 %t7866, 1 - store i32 %t7880, ptr %t7863 - br label %ifend1733 -ifend1733: - %t7881 = load ptr, ptr %t1 - %t7882 = call i32 @fn_str_eq(ptr %t7881, ptr @.str7023) - %t7883 = icmp ne i32 %t7882, 0 - br i1 %t7883, label %then1736, label %ifend1738 -then1736: - store ptr @.str7024, ptr %t330 - %t7884 = load ptr, ptr %t337 - %t7885 = getelementptr inbounds %LSlice, ptr %t7884, i32 0, i32 1 - %t7886 = getelementptr inbounds %LSlice, ptr %t7884, i32 0, i32 2 - %t7887 = getelementptr inbounds %LSlice, ptr %t7884, i32 0, i32 0 - %t7888 = load i32, ptr %t7885 - %t7889 = load i32, ptr %t7886 - %t7890 = icmp sge i32 %t7888, %t7889 - br i1 %t7890, label %grow1739, label %put1740 -grow1739: - %t7891 = mul i32 %t7889, 2 - %t7892 = icmp eq i32 %t7889, 0 - %t7893 = select i1 %t7892, i32 8, i32 %t7891 - %t7894 = getelementptr ptr, ptr null, i32 1 - %t7895 = ptrtoint ptr %t7894 to i64 - %t7896 = zext i32 %t7893 to i64 - %t7897 = mul i64 %t7896, %t7895 - %t7898 = load ptr, ptr %t7887 - %t7899 = call ptr @realloc(ptr %t7898, i64 %t7897) - store ptr %t7899, ptr %t7887 - store i32 %t7893, ptr %t7886 - br label %put1740 -put1740: - %t7900 = load ptr, ptr %t7887 - %t7901 = getelementptr inbounds ptr, ptr %t7900, i32 %t7888 - store ptr @.str7025, ptr %t7901 - %t7902 = add i32 %t7888, 1 - store i32 %t7902, ptr %t7885 - %t7903 = load ptr, ptr %t337 - %t7904 = getelementptr inbounds %LSlice, ptr %t7903, i32 0, i32 1 - %t7905 = getelementptr inbounds %LSlice, ptr %t7903, i32 0, i32 2 - %t7906 = getelementptr inbounds %LSlice, ptr %t7903, i32 0, i32 0 - %t7907 = load i32, ptr %t7904 - %t7908 = load i32, ptr %t7905 - %t7909 = icmp sge i32 %t7907, %t7908 - br i1 %t7909, label %grow1741, label %put1742 -grow1741: - %t7910 = mul i32 %t7908, 2 - %t7911 = icmp eq i32 %t7908, 0 - %t7912 = select i1 %t7911, i32 8, i32 %t7910 - %t7913 = getelementptr ptr, ptr null, i32 1 - %t7914 = ptrtoint ptr %t7913 to i64 - %t7915 = zext i32 %t7912 to i64 - %t7916 = mul i64 %t7915, %t7914 - %t7917 = load ptr, ptr %t7906 - %t7918 = call ptr @realloc(ptr %t7917, i64 %t7916) - store ptr %t7918, ptr %t7906 - store i32 %t7912, ptr %t7905 - br label %put1742 -put1742: - %t7919 = load ptr, ptr %t7906 - %t7920 = getelementptr inbounds ptr, ptr %t7919, i32 %t7907 - store ptr @.str7026, ptr %t7920 - %t7921 = add i32 %t7907, 1 - store i32 %t7921, ptr %t7904 - br label %ifend1738 -ifend1738: - %t7922 = load ptr, ptr %t1 - %t7923 = call i32 @fn_str_eq(ptr %t7922, ptr @.str7027) - %t7924 = icmp ne i32 %t7923, 0 - br i1 %t7924, label %then1743, label %ifend1745 -then1743: - store ptr @.str7028, ptr %t330 - %t7925 = load ptr, ptr %t337 - %t7926 = getelementptr inbounds %LSlice, ptr %t7925, i32 0, i32 1 - %t7927 = getelementptr inbounds %LSlice, ptr %t7925, i32 0, i32 2 - %t7928 = getelementptr inbounds %LSlice, ptr %t7925, i32 0, i32 0 - %t7929 = load i32, ptr %t7926 - %t7930 = load i32, ptr %t7927 - %t7931 = icmp sge i32 %t7929, %t7930 - br i1 %t7931, label %grow1746, label %put1747 -grow1746: - %t7932 = mul i32 %t7930, 2 - %t7933 = icmp eq i32 %t7930, 0 - %t7934 = select i1 %t7933, i32 8, i32 %t7932 - %t7935 = getelementptr ptr, ptr null, i32 1 - %t7936 = ptrtoint ptr %t7935 to i64 - %t7937 = zext i32 %t7934 to i64 - %t7938 = mul i64 %t7937, %t7936 - %t7939 = load ptr, ptr %t7928 - %t7940 = call ptr @realloc(ptr %t7939, i64 %t7938) - store ptr %t7940, ptr %t7928 - store i32 %t7934, ptr %t7927 - br label %put1747 -put1747: - %t7941 = load ptr, ptr %t7928 - %t7942 = getelementptr inbounds ptr, ptr %t7941, i32 %t7929 - store ptr @.str7029, ptr %t7942 - %t7943 = add i32 %t7929, 1 - store i32 %t7943, ptr %t7926 - %t7944 = load ptr, ptr %t337 - %t7945 = getelementptr inbounds %LSlice, ptr %t7944, i32 0, i32 1 - %t7946 = getelementptr inbounds %LSlice, ptr %t7944, i32 0, i32 2 - %t7947 = getelementptr inbounds %LSlice, ptr %t7944, i32 0, i32 0 - %t7948 = load i32, ptr %t7945 - %t7949 = load i32, ptr %t7946 - %t7950 = icmp sge i32 %t7948, %t7949 - br i1 %t7950, label %grow1748, label %put1749 -grow1748: - %t7951 = mul i32 %t7949, 2 - %t7952 = icmp eq i32 %t7949, 0 - %t7953 = select i1 %t7952, i32 8, i32 %t7951 - %t7954 = getelementptr ptr, ptr null, i32 1 - %t7955 = ptrtoint ptr %t7954 to i64 - %t7956 = zext i32 %t7953 to i64 - %t7957 = mul i64 %t7956, %t7955 - %t7958 = load ptr, ptr %t7947 - %t7959 = call ptr @realloc(ptr %t7958, i64 %t7957) - store ptr %t7959, ptr %t7947 - store i32 %t7953, ptr %t7946 - br label %put1749 -put1749: - %t7960 = load ptr, ptr %t7947 - %t7961 = getelementptr inbounds ptr, ptr %t7960, i32 %t7948 - store ptr @.str7030, ptr %t7961 - %t7962 = add i32 %t7948, 1 - store i32 %t7962, ptr %t7945 - %t7963 = load ptr, ptr %t337 - %t7964 = getelementptr inbounds %LSlice, ptr %t7963, i32 0, i32 1 - %t7965 = getelementptr inbounds %LSlice, ptr %t7963, i32 0, i32 2 - %t7966 = getelementptr inbounds %LSlice, ptr %t7963, i32 0, i32 0 - %t7967 = load i32, ptr %t7964 - %t7968 = load i32, ptr %t7965 - %t7969 = icmp sge i32 %t7967, %t7968 - br i1 %t7969, label %grow1750, label %put1751 -grow1750: - %t7970 = mul i32 %t7968, 2 - %t7971 = icmp eq i32 %t7968, 0 - %t7972 = select i1 %t7971, i32 8, i32 %t7970 - %t7973 = getelementptr ptr, ptr null, i32 1 - %t7974 = ptrtoint ptr %t7973 to i64 - %t7975 = zext i32 %t7972 to i64 - %t7976 = mul i64 %t7975, %t7974 - %t7977 = load ptr, ptr %t7966 - %t7978 = call ptr @realloc(ptr %t7977, i64 %t7976) - store ptr %t7978, ptr %t7966 - store i32 %t7972, ptr %t7965 - br label %put1751 -put1751: - %t7979 = load ptr, ptr %t7966 - %t7980 = getelementptr inbounds ptr, ptr %t7979, i32 %t7967 - store ptr @.str7031, ptr %t7980 - %t7981 = add i32 %t7967, 1 - store i32 %t7981, ptr %t7964 - br label %ifend1745 -ifend1745: - %t7982 = load ptr, ptr %t1 - %t7983 = call i32 @fn_str_eq(ptr %t7982, ptr @.str7032) - %t7984 = icmp ne i32 %t7983, 0 - br i1 %t7984, label %then1752, label %ifend1754 -then1752: - store ptr @.str7033, ptr %t330 - %t7985 = load ptr, ptr %t337 - %t7986 = getelementptr inbounds %LSlice, ptr %t7985, i32 0, i32 1 - %t7987 = getelementptr inbounds %LSlice, ptr %t7985, i32 0, i32 2 - %t7988 = getelementptr inbounds %LSlice, ptr %t7985, i32 0, i32 0 - %t7989 = load i32, ptr %t7986 - %t7990 = load i32, ptr %t7987 - %t7991 = icmp sge i32 %t7989, %t7990 - br i1 %t7991, label %grow1755, label %put1756 -grow1755: - %t7992 = mul i32 %t7990, 2 - %t7993 = icmp eq i32 %t7990, 0 - %t7994 = select i1 %t7993, i32 8, i32 %t7992 - %t7995 = getelementptr ptr, ptr null, i32 1 - %t7996 = ptrtoint ptr %t7995 to i64 - %t7997 = zext i32 %t7994 to i64 - %t7998 = mul i64 %t7997, %t7996 - %t7999 = load ptr, ptr %t7988 - %t8000 = call ptr @realloc(ptr %t7999, i64 %t7998) - store ptr %t8000, ptr %t7988 - store i32 %t7994, ptr %t7987 - br label %put1756 -put1756: - %t8001 = load ptr, ptr %t7988 - %t8002 = getelementptr inbounds ptr, ptr %t8001, i32 %t7989 - store ptr @.str7034, ptr %t8002 - %t8003 = add i32 %t7989, 1 - store i32 %t8003, ptr %t7986 - %t8004 = load ptr, ptr %t337 - %t8005 = getelementptr inbounds %LSlice, ptr %t8004, i32 0, i32 1 - %t8006 = getelementptr inbounds %LSlice, ptr %t8004, i32 0, i32 2 - %t8007 = getelementptr inbounds %LSlice, ptr %t8004, i32 0, i32 0 - %t8008 = load i32, ptr %t8005 - %t8009 = load i32, ptr %t8006 - %t8010 = icmp sge i32 %t8008, %t8009 - br i1 %t8010, label %grow1757, label %put1758 -grow1757: - %t8011 = mul i32 %t8009, 2 - %t8012 = icmp eq i32 %t8009, 0 - %t8013 = select i1 %t8012, i32 8, i32 %t8011 - %t8014 = getelementptr ptr, ptr null, i32 1 - %t8015 = ptrtoint ptr %t8014 to i64 - %t8016 = zext i32 %t8013 to i64 - %t8017 = mul i64 %t8016, %t8015 - %t8018 = load ptr, ptr %t8007 - %t8019 = call ptr @realloc(ptr %t8018, i64 %t8017) - store ptr %t8019, ptr %t8007 - store i32 %t8013, ptr %t8006 - br label %put1758 -put1758: - %t8020 = load ptr, ptr %t8007 - %t8021 = getelementptr inbounds ptr, ptr %t8020, i32 %t8008 - store ptr @.str7035, ptr %t8021 - %t8022 = add i32 %t8008, 1 - store i32 %t8022, ptr %t8005 - br label %ifend1754 -ifend1754: - br label %ifend1730 -ifend1730: - %t8023 = load ptr, ptr %t0 - %t8024 = call i32 @fn_str_eq(ptr %t8023, ptr @.str7036) - %t8025 = icmp ne i32 %t8024, 0 - br i1 %t8025, label %then1759, label %ifend1761 -then1759: - %t8026 = load ptr, ptr %t1 - %t8027 = call i32 @fn_str_eq(ptr %t8026, ptr @.str7037) - %t8028 = icmp ne i32 %t8027, 0 - br i1 %t8028, label %then1762, label %ifend1764 -then1762: - store ptr @.str7038, ptr %t330 - %t8029 = load ptr, ptr %t337 - %t8030 = getelementptr inbounds %LSlice, ptr %t8029, i32 0, i32 1 - %t8031 = getelementptr inbounds %LSlice, ptr %t8029, i32 0, i32 2 - %t8032 = getelementptr inbounds %LSlice, ptr %t8029, i32 0, i32 0 - %t8033 = load i32, ptr %t8030 - %t8034 = load i32, ptr %t8031 - %t8035 = icmp sge i32 %t8033, %t8034 - br i1 %t8035, label %grow1765, label %put1766 -grow1765: - %t8036 = mul i32 %t8034, 2 - %t8037 = icmp eq i32 %t8034, 0 - %t8038 = select i1 %t8037, i32 8, i32 %t8036 - %t8039 = getelementptr ptr, ptr null, i32 1 - %t8040 = ptrtoint ptr %t8039 to i64 - %t8041 = zext i32 %t8038 to i64 - %t8042 = mul i64 %t8041, %t8040 - %t8043 = load ptr, ptr %t8032 - %t8044 = call ptr @realloc(ptr %t8043, i64 %t8042) - store ptr %t8044, ptr %t8032 - store i32 %t8038, ptr %t8031 - br label %put1766 -put1766: - %t8045 = load ptr, ptr %t8032 - %t8046 = getelementptr inbounds ptr, ptr %t8045, i32 %t8033 - store ptr @.str7039, ptr %t8046 - %t8047 = add i32 %t8033, 1 - store i32 %t8047, ptr %t8030 - %t8048 = load ptr, ptr %t337 - %t8049 = getelementptr inbounds %LSlice, ptr %t8048, i32 0, i32 1 - %t8050 = getelementptr inbounds %LSlice, ptr %t8048, i32 0, i32 2 - %t8051 = getelementptr inbounds %LSlice, ptr %t8048, i32 0, i32 0 - %t8052 = load i32, ptr %t8049 - %t8053 = load i32, ptr %t8050 - %t8054 = icmp sge i32 %t8052, %t8053 - br i1 %t8054, label %grow1767, label %put1768 -grow1767: - %t8055 = mul i32 %t8053, 2 - %t8056 = icmp eq i32 %t8053, 0 - %t8057 = select i1 %t8056, i32 8, i32 %t8055 - %t8058 = getelementptr ptr, ptr null, i32 1 - %t8059 = ptrtoint ptr %t8058 to i64 - %t8060 = zext i32 %t8057 to i64 - %t8061 = mul i64 %t8060, %t8059 - %t8062 = load ptr, ptr %t8051 - %t8063 = call ptr @realloc(ptr %t8062, i64 %t8061) - store ptr %t8063, ptr %t8051 - store i32 %t8057, ptr %t8050 - br label %put1768 -put1768: - %t8064 = load ptr, ptr %t8051 - %t8065 = getelementptr inbounds ptr, ptr %t8064, i32 %t8052 - store ptr @.str7040, ptr %t8065 - %t8066 = add i32 %t8052, 1 - store i32 %t8066, ptr %t8049 - %t8067 = load ptr, ptr %t337 - %t8068 = getelementptr inbounds %LSlice, ptr %t8067, i32 0, i32 1 - %t8069 = getelementptr inbounds %LSlice, ptr %t8067, i32 0, i32 2 - %t8070 = getelementptr inbounds %LSlice, ptr %t8067, i32 0, i32 0 - %t8071 = load i32, ptr %t8068 - %t8072 = load i32, ptr %t8069 - %t8073 = icmp sge i32 %t8071, %t8072 - br i1 %t8073, label %grow1769, label %put1770 -grow1769: - %t8074 = mul i32 %t8072, 2 - %t8075 = icmp eq i32 %t8072, 0 - %t8076 = select i1 %t8075, i32 8, i32 %t8074 - %t8077 = getelementptr ptr, ptr null, i32 1 - %t8078 = ptrtoint ptr %t8077 to i64 - %t8079 = zext i32 %t8076 to i64 - %t8080 = mul i64 %t8079, %t8078 - %t8081 = load ptr, ptr %t8070 - %t8082 = call ptr @realloc(ptr %t8081, i64 %t8080) - store ptr %t8082, ptr %t8070 - store i32 %t8076, ptr %t8069 - br label %put1770 -put1770: - %t8083 = load ptr, ptr %t8070 - %t8084 = getelementptr inbounds ptr, ptr %t8083, i32 %t8071 - store ptr @.str7041, ptr %t8084 - %t8085 = add i32 %t8071, 1 - store i32 %t8085, ptr %t8068 - %t8086 = load ptr, ptr %t337 - %t8087 = getelementptr inbounds %LSlice, ptr %t8086, i32 0, i32 1 - %t8088 = getelementptr inbounds %LSlice, ptr %t8086, i32 0, i32 2 - %t8089 = getelementptr inbounds %LSlice, ptr %t8086, i32 0, i32 0 - %t8090 = load i32, ptr %t8087 - %t8091 = load i32, ptr %t8088 - %t8092 = icmp sge i32 %t8090, %t8091 - br i1 %t8092, label %grow1771, label %put1772 -grow1771: - %t8093 = mul i32 %t8091, 2 - %t8094 = icmp eq i32 %t8091, 0 - %t8095 = select i1 %t8094, i32 8, i32 %t8093 - %t8096 = getelementptr ptr, ptr null, i32 1 - %t8097 = ptrtoint ptr %t8096 to i64 - %t8098 = zext i32 %t8095 to i64 - %t8099 = mul i64 %t8098, %t8097 - %t8100 = load ptr, ptr %t8089 - %t8101 = call ptr @realloc(ptr %t8100, i64 %t8099) - store ptr %t8101, ptr %t8089 - store i32 %t8095, ptr %t8088 - br label %put1772 -put1772: - %t8102 = load ptr, ptr %t8089 - %t8103 = getelementptr inbounds ptr, ptr %t8102, i32 %t8090 - store ptr @.str7042, ptr %t8103 - %t8104 = add i32 %t8090, 1 - store i32 %t8104, ptr %t8087 - br label %ifend1764 -ifend1764: - %t8105 = load ptr, ptr %t1 - %t8106 = call i32 @fn_str_eq(ptr %t8105, ptr @.str7043) - %t8107 = icmp ne i32 %t8106, 0 - br i1 %t8107, label %then1773, label %ifend1775 -then1773: - store ptr @.str7044, ptr %t330 - %t8108 = load ptr, ptr %t337 - %t8109 = getelementptr inbounds %LSlice, ptr %t8108, i32 0, i32 1 - %t8110 = getelementptr inbounds %LSlice, ptr %t8108, i32 0, i32 2 - %t8111 = getelementptr inbounds %LSlice, ptr %t8108, i32 0, i32 0 - %t8112 = load i32, ptr %t8109 - %t8113 = load i32, ptr %t8110 - %t8114 = icmp sge i32 %t8112, %t8113 - br i1 %t8114, label %grow1776, label %put1777 -grow1776: - %t8115 = mul i32 %t8113, 2 - %t8116 = icmp eq i32 %t8113, 0 - %t8117 = select i1 %t8116, i32 8, i32 %t8115 - %t8118 = getelementptr ptr, ptr null, i32 1 - %t8119 = ptrtoint ptr %t8118 to i64 - %t8120 = zext i32 %t8117 to i64 - %t8121 = mul i64 %t8120, %t8119 - %t8122 = load ptr, ptr %t8111 - %t8123 = call ptr @realloc(ptr %t8122, i64 %t8121) - store ptr %t8123, ptr %t8111 - store i32 %t8117, ptr %t8110 - br label %put1777 -put1777: - %t8124 = load ptr, ptr %t8111 - %t8125 = getelementptr inbounds ptr, ptr %t8124, i32 %t8112 - store ptr @.str7045, ptr %t8125 - %t8126 = add i32 %t8112, 1 - store i32 %t8126, ptr %t8109 - %t8127 = load ptr, ptr %t337 - %t8128 = getelementptr inbounds %LSlice, ptr %t8127, i32 0, i32 1 - %t8129 = getelementptr inbounds %LSlice, ptr %t8127, i32 0, i32 2 - %t8130 = getelementptr inbounds %LSlice, ptr %t8127, i32 0, i32 0 - %t8131 = load i32, ptr %t8128 - %t8132 = load i32, ptr %t8129 - %t8133 = icmp sge i32 %t8131, %t8132 - br i1 %t8133, label %grow1778, label %put1779 -grow1778: - %t8134 = mul i32 %t8132, 2 - %t8135 = icmp eq i32 %t8132, 0 - %t8136 = select i1 %t8135, i32 8, i32 %t8134 - %t8137 = getelementptr ptr, ptr null, i32 1 - %t8138 = ptrtoint ptr %t8137 to i64 - %t8139 = zext i32 %t8136 to i64 - %t8140 = mul i64 %t8139, %t8138 - %t8141 = load ptr, ptr %t8130 - %t8142 = call ptr @realloc(ptr %t8141, i64 %t8140) - store ptr %t8142, ptr %t8130 - store i32 %t8136, ptr %t8129 - br label %put1779 -put1779: - %t8143 = load ptr, ptr %t8130 - %t8144 = getelementptr inbounds ptr, ptr %t8143, i32 %t8131 - store ptr @.str7046, ptr %t8144 - %t8145 = add i32 %t8131, 1 - store i32 %t8145, ptr %t8128 - %t8146 = load ptr, ptr %t337 - %t8147 = getelementptr inbounds %LSlice, ptr %t8146, i32 0, i32 1 - %t8148 = getelementptr inbounds %LSlice, ptr %t8146, i32 0, i32 2 - %t8149 = getelementptr inbounds %LSlice, ptr %t8146, i32 0, i32 0 - %t8150 = load i32, ptr %t8147 - %t8151 = load i32, ptr %t8148 - %t8152 = icmp sge i32 %t8150, %t8151 - br i1 %t8152, label %grow1780, label %put1781 -grow1780: - %t8153 = mul i32 %t8151, 2 - %t8154 = icmp eq i32 %t8151, 0 - %t8155 = select i1 %t8154, i32 8, i32 %t8153 - %t8156 = getelementptr ptr, ptr null, i32 1 - %t8157 = ptrtoint ptr %t8156 to i64 - %t8158 = zext i32 %t8155 to i64 - %t8159 = mul i64 %t8158, %t8157 - %t8160 = load ptr, ptr %t8149 - %t8161 = call ptr @realloc(ptr %t8160, i64 %t8159) - store ptr %t8161, ptr %t8149 - store i32 %t8155, ptr %t8148 - br label %put1781 -put1781: - %t8162 = load ptr, ptr %t8149 - %t8163 = getelementptr inbounds ptr, ptr %t8162, i32 %t8150 - store ptr @.str7047, ptr %t8163 - %t8164 = add i32 %t8150, 1 - store i32 %t8164, ptr %t8147 - br label %ifend1775 -ifend1775: - %t8165 = load ptr, ptr %t1 - %t8166 = call i32 @fn_str_eq(ptr %t8165, ptr @.str7048) - %t8167 = icmp ne i32 %t8166, 0 - br i1 %t8167, label %then1782, label %ifend1784 -then1782: - store ptr @.str7049, ptr %t330 - %t8168 = load ptr, ptr %t337 - %t8169 = getelementptr inbounds %LSlice, ptr %t8168, i32 0, i32 1 - %t8170 = getelementptr inbounds %LSlice, ptr %t8168, i32 0, i32 2 - %t8171 = getelementptr inbounds %LSlice, ptr %t8168, i32 0, i32 0 - %t8172 = load i32, ptr %t8169 - %t8173 = load i32, ptr %t8170 - %t8174 = icmp sge i32 %t8172, %t8173 - br i1 %t8174, label %grow1785, label %put1786 -grow1785: - %t8175 = mul i32 %t8173, 2 - %t8176 = icmp eq i32 %t8173, 0 - %t8177 = select i1 %t8176, i32 8, i32 %t8175 - %t8178 = getelementptr ptr, ptr null, i32 1 - %t8179 = ptrtoint ptr %t8178 to i64 - %t8180 = zext i32 %t8177 to i64 - %t8181 = mul i64 %t8180, %t8179 - %t8182 = load ptr, ptr %t8171 - %t8183 = call ptr @realloc(ptr %t8182, i64 %t8181) - store ptr %t8183, ptr %t8171 - store i32 %t8177, ptr %t8170 - br label %put1786 -put1786: - %t8184 = load ptr, ptr %t8171 - %t8185 = getelementptr inbounds ptr, ptr %t8184, i32 %t8172 - store ptr @.str7050, ptr %t8185 - %t8186 = add i32 %t8172, 1 - store i32 %t8186, ptr %t8169 - %t8187 = load ptr, ptr %t337 - %t8188 = getelementptr inbounds %LSlice, ptr %t8187, i32 0, i32 1 - %t8189 = getelementptr inbounds %LSlice, ptr %t8187, i32 0, i32 2 - %t8190 = getelementptr inbounds %LSlice, ptr %t8187, i32 0, i32 0 - %t8191 = load i32, ptr %t8188 - %t8192 = load i32, ptr %t8189 - %t8193 = icmp sge i32 %t8191, %t8192 - br i1 %t8193, label %grow1787, label %put1788 -grow1787: - %t8194 = mul i32 %t8192, 2 - %t8195 = icmp eq i32 %t8192, 0 - %t8196 = select i1 %t8195, i32 8, i32 %t8194 - %t8197 = getelementptr ptr, ptr null, i32 1 - %t8198 = ptrtoint ptr %t8197 to i64 - %t8199 = zext i32 %t8196 to i64 - %t8200 = mul i64 %t8199, %t8198 - %t8201 = load ptr, ptr %t8190 - %t8202 = call ptr @realloc(ptr %t8201, i64 %t8200) - store ptr %t8202, ptr %t8190 - store i32 %t8196, ptr %t8189 - br label %put1788 -put1788: - %t8203 = load ptr, ptr %t8190 - %t8204 = getelementptr inbounds ptr, ptr %t8203, i32 %t8191 - store ptr @.str7051, ptr %t8204 - %t8205 = add i32 %t8191, 1 - store i32 %t8205, ptr %t8188 - %t8206 = load ptr, ptr %t337 - %t8207 = getelementptr inbounds %LSlice, ptr %t8206, i32 0, i32 1 - %t8208 = getelementptr inbounds %LSlice, ptr %t8206, i32 0, i32 2 - %t8209 = getelementptr inbounds %LSlice, ptr %t8206, i32 0, i32 0 - %t8210 = load i32, ptr %t8207 - %t8211 = load i32, ptr %t8208 - %t8212 = icmp sge i32 %t8210, %t8211 - br i1 %t8212, label %grow1789, label %put1790 -grow1789: - %t8213 = mul i32 %t8211, 2 - %t8214 = icmp eq i32 %t8211, 0 - %t8215 = select i1 %t8214, i32 8, i32 %t8213 - %t8216 = getelementptr ptr, ptr null, i32 1 - %t8217 = ptrtoint ptr %t8216 to i64 - %t8218 = zext i32 %t8215 to i64 - %t8219 = mul i64 %t8218, %t8217 - %t8220 = load ptr, ptr %t8209 - %t8221 = call ptr @realloc(ptr %t8220, i64 %t8219) - store ptr %t8221, ptr %t8209 - store i32 %t8215, ptr %t8208 - br label %put1790 -put1790: - %t8222 = load ptr, ptr %t8209 - %t8223 = getelementptr inbounds ptr, ptr %t8222, i32 %t8210 - store ptr @.str7052, ptr %t8223 - %t8224 = add i32 %t8210, 1 - store i32 %t8224, ptr %t8207 - %t8225 = load ptr, ptr %t337 - %t8226 = getelementptr inbounds %LSlice, ptr %t8225, i32 0, i32 1 - %t8227 = getelementptr inbounds %LSlice, ptr %t8225, i32 0, i32 2 - %t8228 = getelementptr inbounds %LSlice, ptr %t8225, i32 0, i32 0 - %t8229 = load i32, ptr %t8226 - %t8230 = load i32, ptr %t8227 - %t8231 = icmp sge i32 %t8229, %t8230 - br i1 %t8231, label %grow1791, label %put1792 -grow1791: - %t8232 = mul i32 %t8230, 2 - %t8233 = icmp eq i32 %t8230, 0 - %t8234 = select i1 %t8233, i32 8, i32 %t8232 - %t8235 = getelementptr ptr, ptr null, i32 1 - %t8236 = ptrtoint ptr %t8235 to i64 - %t8237 = zext i32 %t8234 to i64 - %t8238 = mul i64 %t8237, %t8236 - %t8239 = load ptr, ptr %t8228 - %t8240 = call ptr @realloc(ptr %t8239, i64 %t8238) - store ptr %t8240, ptr %t8228 - store i32 %t8234, ptr %t8227 - br label %put1792 -put1792: - %t8241 = load ptr, ptr %t8228 - %t8242 = getelementptr inbounds ptr, ptr %t8241, i32 %t8229 - store ptr @.str7053, ptr %t8242 - %t8243 = add i32 %t8229, 1 - store i32 %t8243, ptr %t8226 - %t8244 = load ptr, ptr %t337 - %t8245 = getelementptr inbounds %LSlice, ptr %t8244, i32 0, i32 1 - %t8246 = getelementptr inbounds %LSlice, ptr %t8244, i32 0, i32 2 - %t8247 = getelementptr inbounds %LSlice, ptr %t8244, i32 0, i32 0 - %t8248 = load i32, ptr %t8245 - %t8249 = load i32, ptr %t8246 - %t8250 = icmp sge i32 %t8248, %t8249 - br i1 %t8250, label %grow1793, label %put1794 -grow1793: - %t8251 = mul i32 %t8249, 2 - %t8252 = icmp eq i32 %t8249, 0 - %t8253 = select i1 %t8252, i32 8, i32 %t8251 - %t8254 = getelementptr ptr, ptr null, i32 1 - %t8255 = ptrtoint ptr %t8254 to i64 - %t8256 = zext i32 %t8253 to i64 - %t8257 = mul i64 %t8256, %t8255 - %t8258 = load ptr, ptr %t8247 - %t8259 = call ptr @realloc(ptr %t8258, i64 %t8257) - store ptr %t8259, ptr %t8247 - store i32 %t8253, ptr %t8246 - br label %put1794 -put1794: - %t8260 = load ptr, ptr %t8247 - %t8261 = getelementptr inbounds ptr, ptr %t8260, i32 %t8248 - store ptr @.str7054, ptr %t8261 - %t8262 = add i32 %t8248, 1 - store i32 %t8262, ptr %t8245 - br label %ifend1784 -ifend1784: - %t8263 = load ptr, ptr %t1 - %t8264 = call i32 @fn_str_eq(ptr %t8263, ptr @.str7055) - %t8265 = icmp ne i32 %t8264, 0 - br i1 %t8265, label %then1795, label %ifend1797 -then1795: - store ptr @.str7056, ptr %t330 - %t8266 = load ptr, ptr %t337 - %t8267 = getelementptr inbounds %LSlice, ptr %t8266, i32 0, i32 1 - %t8268 = getelementptr inbounds %LSlice, ptr %t8266, i32 0, i32 2 - %t8269 = getelementptr inbounds %LSlice, ptr %t8266, i32 0, i32 0 - %t8270 = load i32, ptr %t8267 - %t8271 = load i32, ptr %t8268 - %t8272 = icmp sge i32 %t8270, %t8271 - br i1 %t8272, label %grow1798, label %put1799 -grow1798: - %t8273 = mul i32 %t8271, 2 - %t8274 = icmp eq i32 %t8271, 0 - %t8275 = select i1 %t8274, i32 8, i32 %t8273 - %t8276 = getelementptr ptr, ptr null, i32 1 - %t8277 = ptrtoint ptr %t8276 to i64 - %t8278 = zext i32 %t8275 to i64 - %t8279 = mul i64 %t8278, %t8277 - %t8280 = load ptr, ptr %t8269 - %t8281 = call ptr @realloc(ptr %t8280, i64 %t8279) - store ptr %t8281, ptr %t8269 - store i32 %t8275, ptr %t8268 - br label %put1799 -put1799: - %t8282 = load ptr, ptr %t8269 - %t8283 = getelementptr inbounds ptr, ptr %t8282, i32 %t8270 - store ptr @.str7057, ptr %t8283 - %t8284 = add i32 %t8270, 1 - store i32 %t8284, ptr %t8267 - %t8285 = load ptr, ptr %t337 + br label %ifend1614 +ifend1614: + %t8011 = load ptr, ptr %t0 + %t8012 = call i32 @fn_str_eq(ptr %t8011, ptr @.str7307) + %t8013 = icmp ne i32 %t8012, 0 + br i1 %t8013, label %then1682, label %ifend1684 +then1682: + %t8014 = load ptr, ptr %t1 + %t8015 = call i32 @fn_str_eq(ptr %t8014, ptr @.str7308) + %t8016 = icmp ne i32 %t8015, 0 + br i1 %t8016, label %then1685, label %ifend1687 +then1685: + store ptr @.str7309, ptr %t380 + br label %ifend1687 +ifend1687: + %t8017 = load ptr, ptr %t1 + %t8018 = call i32 @fn_str_eq(ptr %t8017, ptr @.str7310) + %t8019 = icmp ne i32 %t8018, 0 + br i1 %t8019, label %then1688, label %ifend1690 +then1688: + store ptr @.str7311, ptr %t380 + %t8020 = load ptr, ptr %t387 + %t8021 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 1 + %t8022 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 2 + %t8023 = getelementptr inbounds %LSlice, ptr %t8020, i32 0, i32 0 + %t8024 = load i32, ptr %t8021 + %t8025 = load i32, ptr %t8022 + %t8026 = icmp sge i32 %t8024, %t8025 + br i1 %t8026, label %grow1691, label %put1692 +grow1691: + %t8027 = mul i32 %t8025, 2 + %t8028 = icmp eq i32 %t8025, 0 + %t8029 = select i1 %t8028, i32 8, i32 %t8027 + %t8030 = getelementptr ptr, ptr null, i32 1 + %t8031 = ptrtoint ptr %t8030 to i64 + %t8032 = zext i32 %t8029 to i64 + %t8033 = mul i64 %t8032, %t8031 + %t8034 = load ptr, ptr %t8023 + %t8035 = call ptr @realloc(ptr %t8034, i64 %t8033) + store ptr %t8035, ptr %t8023 + store i32 %t8029, ptr %t8022 + br label %put1692 +put1692: + %t8036 = load ptr, ptr %t8023 + %t8037 = getelementptr inbounds ptr, ptr %t8036, i32 %t8024 + store ptr @.str7312, ptr %t8037 + %t8038 = add i32 %t8024, 1 + store i32 %t8038, ptr %t8021 + %t8039 = load ptr, ptr %t387 + %t8040 = getelementptr inbounds %LSlice, ptr %t8039, i32 0, i32 1 + %t8041 = getelementptr inbounds %LSlice, ptr %t8039, i32 0, i32 2 + %t8042 = getelementptr inbounds %LSlice, ptr %t8039, i32 0, i32 0 + %t8043 = load i32, ptr %t8040 + %t8044 = load i32, ptr %t8041 + %t8045 = icmp sge i32 %t8043, %t8044 + br i1 %t8045, label %grow1693, label %put1694 +grow1693: + %t8046 = mul i32 %t8044, 2 + %t8047 = icmp eq i32 %t8044, 0 + %t8048 = select i1 %t8047, i32 8, i32 %t8046 + %t8049 = getelementptr ptr, ptr null, i32 1 + %t8050 = ptrtoint ptr %t8049 to i64 + %t8051 = zext i32 %t8048 to i64 + %t8052 = mul i64 %t8051, %t8050 + %t8053 = load ptr, ptr %t8042 + %t8054 = call ptr @realloc(ptr %t8053, i64 %t8052) + store ptr %t8054, ptr %t8042 + store i32 %t8048, ptr %t8041 + br label %put1694 +put1694: + %t8055 = load ptr, ptr %t8042 + %t8056 = getelementptr inbounds ptr, ptr %t8055, i32 %t8043 + store ptr @.str7313, ptr %t8056 + %t8057 = add i32 %t8043, 1 + store i32 %t8057, ptr %t8040 + %t8058 = load ptr, ptr %t387 + %t8059 = getelementptr inbounds %LSlice, ptr %t8058, i32 0, i32 1 + %t8060 = getelementptr inbounds %LSlice, ptr %t8058, i32 0, i32 2 + %t8061 = getelementptr inbounds %LSlice, ptr %t8058, i32 0, i32 0 + %t8062 = load i32, ptr %t8059 + %t8063 = load i32, ptr %t8060 + %t8064 = icmp sge i32 %t8062, %t8063 + br i1 %t8064, label %grow1695, label %put1696 +grow1695: + %t8065 = mul i32 %t8063, 2 + %t8066 = icmp eq i32 %t8063, 0 + %t8067 = select i1 %t8066, i32 8, i32 %t8065 + %t8068 = getelementptr ptr, ptr null, i32 1 + %t8069 = ptrtoint ptr %t8068 to i64 + %t8070 = zext i32 %t8067 to i64 + %t8071 = mul i64 %t8070, %t8069 + %t8072 = load ptr, ptr %t8061 + %t8073 = call ptr @realloc(ptr %t8072, i64 %t8071) + store ptr %t8073, ptr %t8061 + store i32 %t8067, ptr %t8060 + br label %put1696 +put1696: + %t8074 = load ptr, ptr %t8061 + %t8075 = getelementptr inbounds ptr, ptr %t8074, i32 %t8062 + store ptr @.str7314, ptr %t8075 + %t8076 = add i32 %t8062, 1 + store i32 %t8076, ptr %t8059 + br label %ifend1690 +ifend1690: + %t8077 = load ptr, ptr %t1 + %t8078 = call i32 @fn_str_eq(ptr %t8077, ptr @.str7315) + %t8079 = icmp ne i32 %t8078, 0 + br i1 %t8079, label %then1697, label %ifend1699 +then1697: + store ptr @.str7316, ptr %t380 + %t8080 = load ptr, ptr %t387 + %t8081 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 1 + %t8082 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 2 + %t8083 = getelementptr inbounds %LSlice, ptr %t8080, i32 0, i32 0 + %t8084 = load i32, ptr %t8081 + %t8085 = load i32, ptr %t8082 + %t8086 = icmp sge i32 %t8084, %t8085 + br i1 %t8086, label %grow1700, label %put1701 +grow1700: + %t8087 = mul i32 %t8085, 2 + %t8088 = icmp eq i32 %t8085, 0 + %t8089 = select i1 %t8088, i32 8, i32 %t8087 + %t8090 = getelementptr ptr, ptr null, i32 1 + %t8091 = ptrtoint ptr %t8090 to i64 + %t8092 = zext i32 %t8089 to i64 + %t8093 = mul i64 %t8092, %t8091 + %t8094 = load ptr, ptr %t8083 + %t8095 = call ptr @realloc(ptr %t8094, i64 %t8093) + store ptr %t8095, ptr %t8083 + store i32 %t8089, ptr %t8082 + br label %put1701 +put1701: + %t8096 = load ptr, ptr %t8083 + %t8097 = getelementptr inbounds ptr, ptr %t8096, i32 %t8084 + store ptr @.str7317, ptr %t8097 + %t8098 = add i32 %t8084, 1 + store i32 %t8098, ptr %t8081 + %t8099 = load ptr, ptr %t387 + %t8100 = getelementptr inbounds %LSlice, ptr %t8099, i32 0, i32 1 + %t8101 = getelementptr inbounds %LSlice, ptr %t8099, i32 0, i32 2 + %t8102 = getelementptr inbounds %LSlice, ptr %t8099, i32 0, i32 0 + %t8103 = load i32, ptr %t8100 + %t8104 = load i32, ptr %t8101 + %t8105 = icmp sge i32 %t8103, %t8104 + br i1 %t8105, label %grow1702, label %put1703 +grow1702: + %t8106 = mul i32 %t8104, 2 + %t8107 = icmp eq i32 %t8104, 0 + %t8108 = select i1 %t8107, i32 8, i32 %t8106 + %t8109 = getelementptr ptr, ptr null, i32 1 + %t8110 = ptrtoint ptr %t8109 to i64 + %t8111 = zext i32 %t8108 to i64 + %t8112 = mul i64 %t8111, %t8110 + %t8113 = load ptr, ptr %t8102 + %t8114 = call ptr @realloc(ptr %t8113, i64 %t8112) + store ptr %t8114, ptr %t8102 + store i32 %t8108, ptr %t8101 + br label %put1703 +put1703: + %t8115 = load ptr, ptr %t8102 + %t8116 = getelementptr inbounds ptr, ptr %t8115, i32 %t8103 + store ptr @.str7318, ptr %t8116 + %t8117 = add i32 %t8103, 1 + store i32 %t8117, ptr %t8100 + br label %ifend1699 +ifend1699: + %t8118 = load ptr, ptr %t1 + %t8119 = call i32 @fn_str_eq(ptr %t8118, ptr @.str7319) + %t8120 = icmp ne i32 %t8119, 0 + br i1 %t8120, label %then1704, label %ifend1706 +then1704: + store ptr @.str7320, ptr %t380 + %t8121 = load ptr, ptr %t387 + %t8122 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 1 + %t8123 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 2 + %t8124 = getelementptr inbounds %LSlice, ptr %t8121, i32 0, i32 0 + %t8125 = load i32, ptr %t8122 + %t8126 = load i32, ptr %t8123 + %t8127 = icmp sge i32 %t8125, %t8126 + br i1 %t8127, label %grow1707, label %put1708 +grow1707: + %t8128 = mul i32 %t8126, 2 + %t8129 = icmp eq i32 %t8126, 0 + %t8130 = select i1 %t8129, i32 8, i32 %t8128 + %t8131 = getelementptr ptr, ptr null, i32 1 + %t8132 = ptrtoint ptr %t8131 to i64 + %t8133 = zext i32 %t8130 to i64 + %t8134 = mul i64 %t8133, %t8132 + %t8135 = load ptr, ptr %t8124 + %t8136 = call ptr @realloc(ptr %t8135, i64 %t8134) + store ptr %t8136, ptr %t8124 + store i32 %t8130, ptr %t8123 + br label %put1708 +put1708: + %t8137 = load ptr, ptr %t8124 + %t8138 = getelementptr inbounds ptr, ptr %t8137, i32 %t8125 + store ptr @.str7321, ptr %t8138 + %t8139 = add i32 %t8125, 1 + store i32 %t8139, ptr %t8122 + %t8140 = load ptr, ptr %t387 + %t8141 = getelementptr inbounds %LSlice, ptr %t8140, i32 0, i32 1 + %t8142 = getelementptr inbounds %LSlice, ptr %t8140, i32 0, i32 2 + %t8143 = getelementptr inbounds %LSlice, ptr %t8140, i32 0, i32 0 + %t8144 = load i32, ptr %t8141 + %t8145 = load i32, ptr %t8142 + %t8146 = icmp sge i32 %t8144, %t8145 + br i1 %t8146, label %grow1709, label %put1710 +grow1709: + %t8147 = mul i32 %t8145, 2 + %t8148 = icmp eq i32 %t8145, 0 + %t8149 = select i1 %t8148, i32 8, i32 %t8147 + %t8150 = getelementptr ptr, ptr null, i32 1 + %t8151 = ptrtoint ptr %t8150 to i64 + %t8152 = zext i32 %t8149 to i64 + %t8153 = mul i64 %t8152, %t8151 + %t8154 = load ptr, ptr %t8143 + %t8155 = call ptr @realloc(ptr %t8154, i64 %t8153) + store ptr %t8155, ptr %t8143 + store i32 %t8149, ptr %t8142 + br label %put1710 +put1710: + %t8156 = load ptr, ptr %t8143 + %t8157 = getelementptr inbounds ptr, ptr %t8156, i32 %t8144 + store ptr @.str7322, ptr %t8157 + %t8158 = add i32 %t8144, 1 + store i32 %t8158, ptr %t8141 + %t8159 = load ptr, ptr %t387 + %t8160 = getelementptr inbounds %LSlice, ptr %t8159, i32 0, i32 1 + %t8161 = getelementptr inbounds %LSlice, ptr %t8159, i32 0, i32 2 + %t8162 = getelementptr inbounds %LSlice, ptr %t8159, i32 0, i32 0 + %t8163 = load i32, ptr %t8160 + %t8164 = load i32, ptr %t8161 + %t8165 = icmp sge i32 %t8163, %t8164 + br i1 %t8165, label %grow1711, label %put1712 +grow1711: + %t8166 = mul i32 %t8164, 2 + %t8167 = icmp eq i32 %t8164, 0 + %t8168 = select i1 %t8167, i32 8, i32 %t8166 + %t8169 = getelementptr ptr, ptr null, i32 1 + %t8170 = ptrtoint ptr %t8169 to i64 + %t8171 = zext i32 %t8168 to i64 + %t8172 = mul i64 %t8171, %t8170 + %t8173 = load ptr, ptr %t8162 + %t8174 = call ptr @realloc(ptr %t8173, i64 %t8172) + store ptr %t8174, ptr %t8162 + store i32 %t8168, ptr %t8161 + br label %put1712 +put1712: + %t8175 = load ptr, ptr %t8162 + %t8176 = getelementptr inbounds ptr, ptr %t8175, i32 %t8163 + store ptr @.str7323, ptr %t8176 + %t8177 = add i32 %t8163, 1 + store i32 %t8177, ptr %t8160 + br label %ifend1706 +ifend1706: + %t8178 = load ptr, ptr %t1 + %t8179 = call i32 @fn_str_eq(ptr %t8178, ptr @.str7324) + %t8180 = icmp ne i32 %t8179, 0 + br i1 %t8180, label %then1713, label %ifend1715 +then1713: + store ptr @.str7325, ptr %t380 + %t8181 = load ptr, ptr %t387 + %t8182 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 1 + %t8183 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 2 + %t8184 = getelementptr inbounds %LSlice, ptr %t8181, i32 0, i32 0 + %t8185 = load i32, ptr %t8182 + %t8186 = load i32, ptr %t8183 + %t8187 = icmp sge i32 %t8185, %t8186 + br i1 %t8187, label %grow1716, label %put1717 +grow1716: + %t8188 = mul i32 %t8186, 2 + %t8189 = icmp eq i32 %t8186, 0 + %t8190 = select i1 %t8189, i32 8, i32 %t8188 + %t8191 = getelementptr ptr, ptr null, i32 1 + %t8192 = ptrtoint ptr %t8191 to i64 + %t8193 = zext i32 %t8190 to i64 + %t8194 = mul i64 %t8193, %t8192 + %t8195 = load ptr, ptr %t8184 + %t8196 = call ptr @realloc(ptr %t8195, i64 %t8194) + store ptr %t8196, ptr %t8184 + store i32 %t8190, ptr %t8183 + br label %put1717 +put1717: + %t8197 = load ptr, ptr %t8184 + %t8198 = getelementptr inbounds ptr, ptr %t8197, i32 %t8185 + store ptr @.str7326, ptr %t8198 + %t8199 = add i32 %t8185, 1 + store i32 %t8199, ptr %t8182 + %t8200 = load ptr, ptr %t387 + %t8201 = getelementptr inbounds %LSlice, ptr %t8200, i32 0, i32 1 + %t8202 = getelementptr inbounds %LSlice, ptr %t8200, i32 0, i32 2 + %t8203 = getelementptr inbounds %LSlice, ptr %t8200, i32 0, i32 0 + %t8204 = load i32, ptr %t8201 + %t8205 = load i32, ptr %t8202 + %t8206 = icmp sge i32 %t8204, %t8205 + br i1 %t8206, label %grow1718, label %put1719 +grow1718: + %t8207 = mul i32 %t8205, 2 + %t8208 = icmp eq i32 %t8205, 0 + %t8209 = select i1 %t8208, i32 8, i32 %t8207 + %t8210 = getelementptr ptr, ptr null, i32 1 + %t8211 = ptrtoint ptr %t8210 to i64 + %t8212 = zext i32 %t8209 to i64 + %t8213 = mul i64 %t8212, %t8211 + %t8214 = load ptr, ptr %t8203 + %t8215 = call ptr @realloc(ptr %t8214, i64 %t8213) + store ptr %t8215, ptr %t8203 + store i32 %t8209, ptr %t8202 + br label %put1719 +put1719: + %t8216 = load ptr, ptr %t8203 + %t8217 = getelementptr inbounds ptr, ptr %t8216, i32 %t8204 + store ptr @.str7327, ptr %t8217 + %t8218 = add i32 %t8204, 1 + store i32 %t8218, ptr %t8201 + br label %ifend1715 +ifend1715: + %t8219 = load ptr, ptr %t1 + %t8220 = call i32 @fn_str_eq(ptr %t8219, ptr @.str7328) + %t8221 = icmp ne i32 %t8220, 0 + br i1 %t8221, label %then1720, label %ifend1722 +then1720: + store ptr @.str7329, ptr %t380 + %t8222 = load ptr, ptr %t387 + %t8223 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 1 + %t8224 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 2 + %t8225 = getelementptr inbounds %LSlice, ptr %t8222, i32 0, i32 0 + %t8226 = load i32, ptr %t8223 + %t8227 = load i32, ptr %t8224 + %t8228 = icmp sge i32 %t8226, %t8227 + br i1 %t8228, label %grow1723, label %put1724 +grow1723: + %t8229 = mul i32 %t8227, 2 + %t8230 = icmp eq i32 %t8227, 0 + %t8231 = select i1 %t8230, i32 8, i32 %t8229 + %t8232 = getelementptr ptr, ptr null, i32 1 + %t8233 = ptrtoint ptr %t8232 to i64 + %t8234 = zext i32 %t8231 to i64 + %t8235 = mul i64 %t8234, %t8233 + %t8236 = load ptr, ptr %t8225 + %t8237 = call ptr @realloc(ptr %t8236, i64 %t8235) + store ptr %t8237, ptr %t8225 + store i32 %t8231, ptr %t8224 + br label %put1724 +put1724: + %t8238 = load ptr, ptr %t8225 + %t8239 = getelementptr inbounds ptr, ptr %t8238, i32 %t8226 + store ptr @.str7330, ptr %t8239 + %t8240 = add i32 %t8226, 1 + store i32 %t8240, ptr %t8223 + %t8241 = load ptr, ptr %t387 + %t8242 = getelementptr inbounds %LSlice, ptr %t8241, i32 0, i32 1 + %t8243 = getelementptr inbounds %LSlice, ptr %t8241, i32 0, i32 2 + %t8244 = getelementptr inbounds %LSlice, ptr %t8241, i32 0, i32 0 + %t8245 = load i32, ptr %t8242 + %t8246 = load i32, ptr %t8243 + %t8247 = icmp sge i32 %t8245, %t8246 + br i1 %t8247, label %grow1725, label %put1726 +grow1725: + %t8248 = mul i32 %t8246, 2 + %t8249 = icmp eq i32 %t8246, 0 + %t8250 = select i1 %t8249, i32 8, i32 %t8248 + %t8251 = getelementptr ptr, ptr null, i32 1 + %t8252 = ptrtoint ptr %t8251 to i64 + %t8253 = zext i32 %t8250 to i64 + %t8254 = mul i64 %t8253, %t8252 + %t8255 = load ptr, ptr %t8244 + %t8256 = call ptr @realloc(ptr %t8255, i64 %t8254) + store ptr %t8256, ptr %t8244 + store i32 %t8250, ptr %t8243 + br label %put1726 +put1726: + %t8257 = load ptr, ptr %t8244 + %t8258 = getelementptr inbounds ptr, ptr %t8257, i32 %t8245 + store ptr @.str7331, ptr %t8258 + %t8259 = add i32 %t8245, 1 + store i32 %t8259, ptr %t8242 + br label %ifend1722 +ifend1722: + %t8260 = load ptr, ptr %t1 + %t8261 = call i32 @fn_str_eq(ptr %t8260, ptr @.str7332) + %t8262 = icmp ne i32 %t8261, 0 + br i1 %t8262, label %then1727, label %ifend1729 +then1727: + store ptr @.str7333, ptr %t380 + %t8263 = load ptr, ptr %t387 + %t8264 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 1 + %t8265 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 2 + %t8266 = getelementptr inbounds %LSlice, ptr %t8263, i32 0, i32 0 + %t8267 = load i32, ptr %t8264 + %t8268 = load i32, ptr %t8265 + %t8269 = icmp sge i32 %t8267, %t8268 + br i1 %t8269, label %grow1730, label %put1731 +grow1730: + %t8270 = mul i32 %t8268, 2 + %t8271 = icmp eq i32 %t8268, 0 + %t8272 = select i1 %t8271, i32 8, i32 %t8270 + %t8273 = getelementptr ptr, ptr null, i32 1 + %t8274 = ptrtoint ptr %t8273 to i64 + %t8275 = zext i32 %t8272 to i64 + %t8276 = mul i64 %t8275, %t8274 + %t8277 = load ptr, ptr %t8266 + %t8278 = call ptr @realloc(ptr %t8277, i64 %t8276) + store ptr %t8278, ptr %t8266 + store i32 %t8272, ptr %t8265 + br label %put1731 +put1731: + %t8279 = load ptr, ptr %t8266 + %t8280 = getelementptr inbounds ptr, ptr %t8279, i32 %t8267 + store ptr @.str7334, ptr %t8280 + %t8281 = add i32 %t8267, 1 + store i32 %t8281, ptr %t8264 + br label %ifend1729 +ifend1729: + %t8282 = load ptr, ptr %t1 + %t8283 = call i32 @fn_str_eq(ptr %t8282, ptr @.str7335) + %t8284 = icmp ne i32 %t8283, 0 + br i1 %t8284, label %then1732, label %ifend1734 +then1732: + store ptr @.str7336, ptr %t380 + %t8285 = load ptr, ptr %t387 %t8286 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 1 %t8287 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 2 %t8288 = getelementptr inbounds %LSlice, ptr %t8285, i32 0, i32 0 %t8289 = load i32, ptr %t8286 %t8290 = load i32, ptr %t8287 %t8291 = icmp sge i32 %t8289, %t8290 - br i1 %t8291, label %grow1800, label %put1801 -grow1800: + br i1 %t8291, label %grow1735, label %put1736 +grow1735: %t8292 = mul i32 %t8290, 2 %t8293 = icmp eq i32 %t8290, 0 %t8294 = select i1 %t8293, i32 8, i32 %t8292 @@ -69343,989 +75733,1057 @@ grow1800: %t8300 = call ptr @realloc(ptr %t8299, i64 %t8298) store ptr %t8300, ptr %t8288 store i32 %t8294, ptr %t8287 - br label %put1801 -put1801: + br label %put1736 +put1736: %t8301 = load ptr, ptr %t8288 %t8302 = getelementptr inbounds ptr, ptr %t8301, i32 %t8289 - store ptr @.str7058, ptr %t8302 + store ptr @.str7337, ptr %t8302 %t8303 = add i32 %t8289, 1 store i32 %t8303, ptr %t8286 - %t8304 = load ptr, ptr %t337 - %t8305 = getelementptr inbounds %LSlice, ptr %t8304, i32 0, i32 1 - %t8306 = getelementptr inbounds %LSlice, ptr %t8304, i32 0, i32 2 - %t8307 = getelementptr inbounds %LSlice, ptr %t8304, i32 0, i32 0 - %t8308 = load i32, ptr %t8305 - %t8309 = load i32, ptr %t8306 - %t8310 = icmp sge i32 %t8308, %t8309 - br i1 %t8310, label %grow1802, label %put1803 + br label %ifend1734 +ifend1734: + %t8304 = load ptr, ptr %t1 + %t8305 = call i32 @fn_str_eq(ptr %t8304, ptr @.str7338) + %t8306 = icmp ne i32 %t8305, 0 + br i1 %t8306, label %then1737, label %ifend1739 +then1737: + store ptr @.str7339, ptr %t380 + %t8307 = load ptr, ptr %t387 + %t8308 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 1 + %t8309 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 2 + %t8310 = getelementptr inbounds %LSlice, ptr %t8307, i32 0, i32 0 + %t8311 = load i32, ptr %t8308 + %t8312 = load i32, ptr %t8309 + %t8313 = icmp sge i32 %t8311, %t8312 + br i1 %t8313, label %grow1740, label %put1741 +grow1740: + %t8314 = mul i32 %t8312, 2 + %t8315 = icmp eq i32 %t8312, 0 + %t8316 = select i1 %t8315, i32 8, i32 %t8314 + %t8317 = getelementptr ptr, ptr null, i32 1 + %t8318 = ptrtoint ptr %t8317 to i64 + %t8319 = zext i32 %t8316 to i64 + %t8320 = mul i64 %t8319, %t8318 + %t8321 = load ptr, ptr %t8310 + %t8322 = call ptr @realloc(ptr %t8321, i64 %t8320) + store ptr %t8322, ptr %t8310 + store i32 %t8316, ptr %t8309 + br label %put1741 +put1741: + %t8323 = load ptr, ptr %t8310 + %t8324 = getelementptr inbounds ptr, ptr %t8323, i32 %t8311 + store ptr @.str7340, ptr %t8324 + %t8325 = add i32 %t8311, 1 + store i32 %t8325, ptr %t8308 + br label %ifend1739 +ifend1739: + br label %ifend1684 +ifend1684: + %t8326 = load ptr, ptr %t0 + %t8327 = call i32 @fn_str_eq(ptr %t8326, ptr @.str7341) + %t8328 = icmp ne i32 %t8327, 0 + br i1 %t8328, label %then1742, label %ifend1744 +then1742: + %t8329 = load ptr, ptr %t1 + %t8330 = call i32 @fn_str_eq(ptr %t8329, ptr @.str7342) + %t8331 = icmp ne i32 %t8330, 0 + br i1 %t8331, label %then1745, label %ifend1747 +then1745: + store ptr @.str7343, ptr %t380 + br label %ifend1747 +ifend1747: + %t8332 = load ptr, ptr %t1 + %t8333 = call i32 @fn_str_eq(ptr %t8332, ptr @.str7344) + %t8334 = icmp ne i32 %t8333, 0 + br i1 %t8334, label %then1748, label %ifend1750 +then1748: + store ptr @.str7345, ptr %t380 + %t8335 = load ptr, ptr %t387 + %t8336 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 1 + %t8337 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 2 + %t8338 = getelementptr inbounds %LSlice, ptr %t8335, i32 0, i32 0 + %t8339 = load i32, ptr %t8336 + %t8340 = load i32, ptr %t8337 + %t8341 = icmp sge i32 %t8339, %t8340 + br i1 %t8341, label %grow1751, label %put1752 +grow1751: + %t8342 = mul i32 %t8340, 2 + %t8343 = icmp eq i32 %t8340, 0 + %t8344 = select i1 %t8343, i32 8, i32 %t8342 + %t8345 = getelementptr ptr, ptr null, i32 1 + %t8346 = ptrtoint ptr %t8345 to i64 + %t8347 = zext i32 %t8344 to i64 + %t8348 = mul i64 %t8347, %t8346 + %t8349 = load ptr, ptr %t8338 + %t8350 = call ptr @realloc(ptr %t8349, i64 %t8348) + store ptr %t8350, ptr %t8338 + store i32 %t8344, ptr %t8337 + br label %put1752 +put1752: + %t8351 = load ptr, ptr %t8338 + %t8352 = getelementptr inbounds ptr, ptr %t8351, i32 %t8339 + store ptr @.str7346, ptr %t8352 + %t8353 = add i32 %t8339, 1 + store i32 %t8353, ptr %t8336 + %t8354 = load ptr, ptr %t387 + %t8355 = getelementptr inbounds %LSlice, ptr %t8354, i32 0, i32 1 + %t8356 = getelementptr inbounds %LSlice, ptr %t8354, i32 0, i32 2 + %t8357 = getelementptr inbounds %LSlice, ptr %t8354, i32 0, i32 0 + %t8358 = load i32, ptr %t8355 + %t8359 = load i32, ptr %t8356 + %t8360 = icmp sge i32 %t8358, %t8359 + br i1 %t8360, label %grow1753, label %put1754 +grow1753: + %t8361 = mul i32 %t8359, 2 + %t8362 = icmp eq i32 %t8359, 0 + %t8363 = select i1 %t8362, i32 8, i32 %t8361 + %t8364 = getelementptr ptr, ptr null, i32 1 + %t8365 = ptrtoint ptr %t8364 to i64 + %t8366 = zext i32 %t8363 to i64 + %t8367 = mul i64 %t8366, %t8365 + %t8368 = load ptr, ptr %t8357 + %t8369 = call ptr @realloc(ptr %t8368, i64 %t8367) + store ptr %t8369, ptr %t8357 + store i32 %t8363, ptr %t8356 + br label %put1754 +put1754: + %t8370 = load ptr, ptr %t8357 + %t8371 = getelementptr inbounds ptr, ptr %t8370, i32 %t8358 + store ptr @.str7347, ptr %t8371 + %t8372 = add i32 %t8358, 1 + store i32 %t8372, ptr %t8355 + br label %ifend1750 +ifend1750: + %t8373 = load ptr, ptr %t1 + %t8374 = call i32 @fn_str_eq(ptr %t8373, ptr @.str7348) + %t8375 = icmp ne i32 %t8374, 0 + br i1 %t8375, label %then1755, label %ifend1757 +then1755: + store ptr @.str7349, ptr %t380 + %t8376 = load ptr, ptr %t387 + %t8377 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 1 + %t8378 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 2 + %t8379 = getelementptr inbounds %LSlice, ptr %t8376, i32 0, i32 0 + %t8380 = load i32, ptr %t8377 + %t8381 = load i32, ptr %t8378 + %t8382 = icmp sge i32 %t8380, %t8381 + br i1 %t8382, label %grow1758, label %put1759 +grow1758: + %t8383 = mul i32 %t8381, 2 + %t8384 = icmp eq i32 %t8381, 0 + %t8385 = select i1 %t8384, i32 8, i32 %t8383 + %t8386 = getelementptr ptr, ptr null, i32 1 + %t8387 = ptrtoint ptr %t8386 to i64 + %t8388 = zext i32 %t8385 to i64 + %t8389 = mul i64 %t8388, %t8387 + %t8390 = load ptr, ptr %t8379 + %t8391 = call ptr @realloc(ptr %t8390, i64 %t8389) + store ptr %t8391, ptr %t8379 + store i32 %t8385, ptr %t8378 + br label %put1759 +put1759: + %t8392 = load ptr, ptr %t8379 + %t8393 = getelementptr inbounds ptr, ptr %t8392, i32 %t8380 + store ptr @.str7350, ptr %t8393 + %t8394 = add i32 %t8380, 1 + store i32 %t8394, ptr %t8377 + %t8395 = load ptr, ptr %t387 + %t8396 = getelementptr inbounds %LSlice, ptr %t8395, i32 0, i32 1 + %t8397 = getelementptr inbounds %LSlice, ptr %t8395, i32 0, i32 2 + %t8398 = getelementptr inbounds %LSlice, ptr %t8395, i32 0, i32 0 + %t8399 = load i32, ptr %t8396 + %t8400 = load i32, ptr %t8397 + %t8401 = icmp sge i32 %t8399, %t8400 + br i1 %t8401, label %grow1760, label %put1761 +grow1760: + %t8402 = mul i32 %t8400, 2 + %t8403 = icmp eq i32 %t8400, 0 + %t8404 = select i1 %t8403, i32 8, i32 %t8402 + %t8405 = getelementptr ptr, ptr null, i32 1 + %t8406 = ptrtoint ptr %t8405 to i64 + %t8407 = zext i32 %t8404 to i64 + %t8408 = mul i64 %t8407, %t8406 + %t8409 = load ptr, ptr %t8398 + %t8410 = call ptr @realloc(ptr %t8409, i64 %t8408) + store ptr %t8410, ptr %t8398 + store i32 %t8404, ptr %t8397 + br label %put1761 +put1761: + %t8411 = load ptr, ptr %t8398 + %t8412 = getelementptr inbounds ptr, ptr %t8411, i32 %t8399 + store ptr @.str7351, ptr %t8412 + %t8413 = add i32 %t8399, 1 + store i32 %t8413, ptr %t8396 + br label %ifend1757 +ifend1757: + %t8414 = load ptr, ptr %t1 + %t8415 = call i32 @fn_str_eq(ptr %t8414, ptr @.str7352) + %t8416 = icmp ne i32 %t8415, 0 + br i1 %t8416, label %then1762, label %ifend1764 +then1762: + store ptr @.str7353, ptr %t380 + %t8417 = load ptr, ptr %t387 + %t8418 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 1 + %t8419 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 2 + %t8420 = getelementptr inbounds %LSlice, ptr %t8417, i32 0, i32 0 + %t8421 = load i32, ptr %t8418 + %t8422 = load i32, ptr %t8419 + %t8423 = icmp sge i32 %t8421, %t8422 + br i1 %t8423, label %grow1765, label %put1766 +grow1765: + %t8424 = mul i32 %t8422, 2 + %t8425 = icmp eq i32 %t8422, 0 + %t8426 = select i1 %t8425, i32 8, i32 %t8424 + %t8427 = getelementptr ptr, ptr null, i32 1 + %t8428 = ptrtoint ptr %t8427 to i64 + %t8429 = zext i32 %t8426 to i64 + %t8430 = mul i64 %t8429, %t8428 + %t8431 = load ptr, ptr %t8420 + %t8432 = call ptr @realloc(ptr %t8431, i64 %t8430) + store ptr %t8432, ptr %t8420 + store i32 %t8426, ptr %t8419 + br label %put1766 +put1766: + %t8433 = load ptr, ptr %t8420 + %t8434 = getelementptr inbounds ptr, ptr %t8433, i32 %t8421 + store ptr @.str7354, ptr %t8434 + %t8435 = add i32 %t8421, 1 + store i32 %t8435, ptr %t8418 + %t8436 = load ptr, ptr %t387 + %t8437 = getelementptr inbounds %LSlice, ptr %t8436, i32 0, i32 1 + %t8438 = getelementptr inbounds %LSlice, ptr %t8436, i32 0, i32 2 + %t8439 = getelementptr inbounds %LSlice, ptr %t8436, i32 0, i32 0 + %t8440 = load i32, ptr %t8437 + %t8441 = load i32, ptr %t8438 + %t8442 = icmp sge i32 %t8440, %t8441 + br i1 %t8442, label %grow1767, label %put1768 +grow1767: + %t8443 = mul i32 %t8441, 2 + %t8444 = icmp eq i32 %t8441, 0 + %t8445 = select i1 %t8444, i32 8, i32 %t8443 + %t8446 = getelementptr ptr, ptr null, i32 1 + %t8447 = ptrtoint ptr %t8446 to i64 + %t8448 = zext i32 %t8445 to i64 + %t8449 = mul i64 %t8448, %t8447 + %t8450 = load ptr, ptr %t8439 + %t8451 = call ptr @realloc(ptr %t8450, i64 %t8449) + store ptr %t8451, ptr %t8439 + store i32 %t8445, ptr %t8438 + br label %put1768 +put1768: + %t8452 = load ptr, ptr %t8439 + %t8453 = getelementptr inbounds ptr, ptr %t8452, i32 %t8440 + store ptr @.str7355, ptr %t8453 + %t8454 = add i32 %t8440, 1 + store i32 %t8454, ptr %t8437 + br label %ifend1764 +ifend1764: + %t8455 = load ptr, ptr %t1 + %t8456 = call i32 @fn_str_eq(ptr %t8455, ptr @.str7356) + %t8457 = icmp ne i32 %t8456, 0 + br i1 %t8457, label %then1769, label %ifend1771 +then1769: + store ptr @.str7357, ptr %t380 + %t8458 = load ptr, ptr %t387 + %t8459 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 1 + %t8460 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 2 + %t8461 = getelementptr inbounds %LSlice, ptr %t8458, i32 0, i32 0 + %t8462 = load i32, ptr %t8459 + %t8463 = load i32, ptr %t8460 + %t8464 = icmp sge i32 %t8462, %t8463 + br i1 %t8464, label %grow1772, label %put1773 +grow1772: + %t8465 = mul i32 %t8463, 2 + %t8466 = icmp eq i32 %t8463, 0 + %t8467 = select i1 %t8466, i32 8, i32 %t8465 + %t8468 = getelementptr ptr, ptr null, i32 1 + %t8469 = ptrtoint ptr %t8468 to i64 + %t8470 = zext i32 %t8467 to i64 + %t8471 = mul i64 %t8470, %t8469 + %t8472 = load ptr, ptr %t8461 + %t8473 = call ptr @realloc(ptr %t8472, i64 %t8471) + store ptr %t8473, ptr %t8461 + store i32 %t8467, ptr %t8460 + br label %put1773 +put1773: + %t8474 = load ptr, ptr %t8461 + %t8475 = getelementptr inbounds ptr, ptr %t8474, i32 %t8462 + store ptr @.str7358, ptr %t8475 + %t8476 = add i32 %t8462, 1 + store i32 %t8476, ptr %t8459 + br label %ifend1771 +ifend1771: + %t8477 = load ptr, ptr %t1 + %t8478 = call i32 @fn_str_eq(ptr %t8477, ptr @.str7359) + %t8479 = icmp ne i32 %t8478, 0 + br i1 %t8479, label %then1774, label %ifend1776 +then1774: + store ptr @.str7360, ptr %t380 + %t8480 = load ptr, ptr %t387 + %t8481 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 1 + %t8482 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 2 + %t8483 = getelementptr inbounds %LSlice, ptr %t8480, i32 0, i32 0 + %t8484 = load i32, ptr %t8481 + %t8485 = load i32, ptr %t8482 + %t8486 = icmp sge i32 %t8484, %t8485 + br i1 %t8486, label %grow1777, label %put1778 +grow1777: + %t8487 = mul i32 %t8485, 2 + %t8488 = icmp eq i32 %t8485, 0 + %t8489 = select i1 %t8488, i32 8, i32 %t8487 + %t8490 = getelementptr ptr, ptr null, i32 1 + %t8491 = ptrtoint ptr %t8490 to i64 + %t8492 = zext i32 %t8489 to i64 + %t8493 = mul i64 %t8492, %t8491 + %t8494 = load ptr, ptr %t8483 + %t8495 = call ptr @realloc(ptr %t8494, i64 %t8493) + store ptr %t8495, ptr %t8483 + store i32 %t8489, ptr %t8482 + br label %put1778 +put1778: + %t8496 = load ptr, ptr %t8483 + %t8497 = getelementptr inbounds ptr, ptr %t8496, i32 %t8484 + store ptr @.str7361, ptr %t8497 + %t8498 = add i32 %t8484, 1 + store i32 %t8498, ptr %t8481 + br label %ifend1776 +ifend1776: + %t8499 = load ptr, ptr %t1 + %t8500 = call i32 @fn_str_eq(ptr %t8499, ptr @.str7362) + %t8501 = icmp ne i32 %t8500, 0 + br i1 %t8501, label %then1779, label %ifend1781 +then1779: + store ptr @.str7363, ptr %t380 + %t8502 = load ptr, ptr %t387 + %t8503 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 1 + %t8504 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 2 + %t8505 = getelementptr inbounds %LSlice, ptr %t8502, i32 0, i32 0 + %t8506 = load i32, ptr %t8503 + %t8507 = load i32, ptr %t8504 + %t8508 = icmp sge i32 %t8506, %t8507 + br i1 %t8508, label %grow1782, label %put1783 +grow1782: + %t8509 = mul i32 %t8507, 2 + %t8510 = icmp eq i32 %t8507, 0 + %t8511 = select i1 %t8510, i32 8, i32 %t8509 + %t8512 = getelementptr ptr, ptr null, i32 1 + %t8513 = ptrtoint ptr %t8512 to i64 + %t8514 = zext i32 %t8511 to i64 + %t8515 = mul i64 %t8514, %t8513 + %t8516 = load ptr, ptr %t8505 + %t8517 = call ptr @realloc(ptr %t8516, i64 %t8515) + store ptr %t8517, ptr %t8505 + store i32 %t8511, ptr %t8504 + br label %put1783 +put1783: + %t8518 = load ptr, ptr %t8505 + %t8519 = getelementptr inbounds ptr, ptr %t8518, i32 %t8506 + store ptr @.str7364, ptr %t8519 + %t8520 = add i32 %t8506, 1 + store i32 %t8520, ptr %t8503 + br label %ifend1781 +ifend1781: + br label %ifend1744 +ifend1744: + %t8521 = load ptr, ptr %t0 + %t8522 = call i32 @fn_str_eq(ptr %t8521, ptr @.str7365) + %t8523 = icmp ne i32 %t8522, 0 + br i1 %t8523, label %then1784, label %ifend1786 +then1784: + %t8524 = load ptr, ptr %t1 + %t8525 = call i32 @fn_str_eq(ptr %t8524, ptr @.str7366) + %t8526 = icmp ne i32 %t8525, 0 + br i1 %t8526, label %then1787, label %ifend1789 +then1787: + store ptr @.str7367, ptr %t380 + br label %ifend1789 +ifend1789: + %t8527 = load ptr, ptr %t1 + %t8528 = call i32 @fn_str_eq(ptr %t8527, ptr @.str7368) + %t8529 = icmp ne i32 %t8528, 0 + br i1 %t8529, label %then1790, label %ifend1792 +then1790: + store ptr @.str7369, ptr %t380 + %t8530 = load ptr, ptr %t387 + %t8531 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 1 + %t8532 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 2 + %t8533 = getelementptr inbounds %LSlice, ptr %t8530, i32 0, i32 0 + %t8534 = load i32, ptr %t8531 + %t8535 = load i32, ptr %t8532 + %t8536 = icmp sge i32 %t8534, %t8535 + br i1 %t8536, label %grow1793, label %put1794 +grow1793: + %t8537 = mul i32 %t8535, 2 + %t8538 = icmp eq i32 %t8535, 0 + %t8539 = select i1 %t8538, i32 8, i32 %t8537 + %t8540 = getelementptr ptr, ptr null, i32 1 + %t8541 = ptrtoint ptr %t8540 to i64 + %t8542 = zext i32 %t8539 to i64 + %t8543 = mul i64 %t8542, %t8541 + %t8544 = load ptr, ptr %t8533 + %t8545 = call ptr @realloc(ptr %t8544, i64 %t8543) + store ptr %t8545, ptr %t8533 + store i32 %t8539, ptr %t8532 + br label %put1794 +put1794: + %t8546 = load ptr, ptr %t8533 + %t8547 = getelementptr inbounds ptr, ptr %t8546, i32 %t8534 + store ptr @.str7370, ptr %t8547 + %t8548 = add i32 %t8534, 1 + store i32 %t8548, ptr %t8531 + %t8549 = load ptr, ptr %t387 + %t8550 = getelementptr inbounds %LSlice, ptr %t8549, i32 0, i32 1 + %t8551 = getelementptr inbounds %LSlice, ptr %t8549, i32 0, i32 2 + %t8552 = getelementptr inbounds %LSlice, ptr %t8549, i32 0, i32 0 + %t8553 = load i32, ptr %t8550 + %t8554 = load i32, ptr %t8551 + %t8555 = icmp sge i32 %t8553, %t8554 + br i1 %t8555, label %grow1795, label %put1796 +grow1795: + %t8556 = mul i32 %t8554, 2 + %t8557 = icmp eq i32 %t8554, 0 + %t8558 = select i1 %t8557, i32 8, i32 %t8556 + %t8559 = getelementptr ptr, ptr null, i32 1 + %t8560 = ptrtoint ptr %t8559 to i64 + %t8561 = zext i32 %t8558 to i64 + %t8562 = mul i64 %t8561, %t8560 + %t8563 = load ptr, ptr %t8552 + %t8564 = call ptr @realloc(ptr %t8563, i64 %t8562) + store ptr %t8564, ptr %t8552 + store i32 %t8558, ptr %t8551 + br label %put1796 +put1796: + %t8565 = load ptr, ptr %t8552 + %t8566 = getelementptr inbounds ptr, ptr %t8565, i32 %t8553 + store ptr @.str7371, ptr %t8566 + %t8567 = add i32 %t8553, 1 + store i32 %t8567, ptr %t8550 + br label %ifend1792 +ifend1792: + %t8568 = load ptr, ptr %t1 + %t8569 = call i32 @fn_str_eq(ptr %t8568, ptr @.str7372) + %t8570 = icmp ne i32 %t8569, 0 + br i1 %t8570, label %then1797, label %ifend1799 +then1797: + store ptr @.str7373, ptr %t380 + %t8571 = load ptr, ptr %t387 + %t8572 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 1 + %t8573 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 2 + %t8574 = getelementptr inbounds %LSlice, ptr %t8571, i32 0, i32 0 + %t8575 = load i32, ptr %t8572 + %t8576 = load i32, ptr %t8573 + %t8577 = icmp sge i32 %t8575, %t8576 + br i1 %t8577, label %grow1800, label %put1801 +grow1800: + %t8578 = mul i32 %t8576, 2 + %t8579 = icmp eq i32 %t8576, 0 + %t8580 = select i1 %t8579, i32 8, i32 %t8578 + %t8581 = getelementptr ptr, ptr null, i32 1 + %t8582 = ptrtoint ptr %t8581 to i64 + %t8583 = zext i32 %t8580 to i64 + %t8584 = mul i64 %t8583, %t8582 + %t8585 = load ptr, ptr %t8574 + %t8586 = call ptr @realloc(ptr %t8585, i64 %t8584) + store ptr %t8586, ptr %t8574 + store i32 %t8580, ptr %t8573 + br label %put1801 +put1801: + %t8587 = load ptr, ptr %t8574 + %t8588 = getelementptr inbounds ptr, ptr %t8587, i32 %t8575 + store ptr @.str7374, ptr %t8588 + %t8589 = add i32 %t8575, 1 + store i32 %t8589, ptr %t8572 + %t8590 = load ptr, ptr %t387 + %t8591 = getelementptr inbounds %LSlice, ptr %t8590, i32 0, i32 1 + %t8592 = getelementptr inbounds %LSlice, ptr %t8590, i32 0, i32 2 + %t8593 = getelementptr inbounds %LSlice, ptr %t8590, i32 0, i32 0 + %t8594 = load i32, ptr %t8591 + %t8595 = load i32, ptr %t8592 + %t8596 = icmp sge i32 %t8594, %t8595 + br i1 %t8596, label %grow1802, label %put1803 grow1802: - %t8311 = mul i32 %t8309, 2 - %t8312 = icmp eq i32 %t8309, 0 - %t8313 = select i1 %t8312, i32 8, i32 %t8311 - %t8314 = getelementptr ptr, ptr null, i32 1 - %t8315 = ptrtoint ptr %t8314 to i64 - %t8316 = zext i32 %t8313 to i64 - %t8317 = mul i64 %t8316, %t8315 - %t8318 = load ptr, ptr %t8307 - %t8319 = call ptr @realloc(ptr %t8318, i64 %t8317) - store ptr %t8319, ptr %t8307 - store i32 %t8313, ptr %t8306 + %t8597 = mul i32 %t8595, 2 + %t8598 = icmp eq i32 %t8595, 0 + %t8599 = select i1 %t8598, i32 8, i32 %t8597 + %t8600 = getelementptr ptr, ptr null, i32 1 + %t8601 = ptrtoint ptr %t8600 to i64 + %t8602 = zext i32 %t8599 to i64 + %t8603 = mul i64 %t8602, %t8601 + %t8604 = load ptr, ptr %t8593 + %t8605 = call ptr @realloc(ptr %t8604, i64 %t8603) + store ptr %t8605, ptr %t8593 + store i32 %t8599, ptr %t8592 br label %put1803 put1803: - %t8320 = load ptr, ptr %t8307 - %t8321 = getelementptr inbounds ptr, ptr %t8320, i32 %t8308 - store ptr @.str7059, ptr %t8321 - %t8322 = add i32 %t8308, 1 - store i32 %t8322, ptr %t8305 - br label %ifend1797 -ifend1797: - %t8323 = load ptr, ptr %t1 - %t8324 = call i32 @fn_str_eq(ptr %t8323, ptr @.str7060) - %t8325 = icmp ne i32 %t8324, 0 - br i1 %t8325, label %then1804, label %ifend1806 + %t8606 = load ptr, ptr %t8593 + %t8607 = getelementptr inbounds ptr, ptr %t8606, i32 %t8594 + store ptr @.str7375, ptr %t8607 + %t8608 = add i32 %t8594, 1 + store i32 %t8608, ptr %t8591 + br label %ifend1799 +ifend1799: + %t8609 = load ptr, ptr %t1 + %t8610 = call i32 @fn_str_eq(ptr %t8609, ptr @.str7376) + %t8611 = icmp ne i32 %t8610, 0 + br i1 %t8611, label %then1804, label %ifend1806 then1804: - store ptr @.str7061, ptr %t330 - %t8326 = load ptr, ptr %t337 - %t8327 = getelementptr inbounds %LSlice, ptr %t8326, i32 0, i32 1 - %t8328 = getelementptr inbounds %LSlice, ptr %t8326, i32 0, i32 2 - %t8329 = getelementptr inbounds %LSlice, ptr %t8326, i32 0, i32 0 - %t8330 = load i32, ptr %t8327 - %t8331 = load i32, ptr %t8328 - %t8332 = icmp sge i32 %t8330, %t8331 - br i1 %t8332, label %grow1807, label %put1808 + store ptr @.str7377, ptr %t380 + %t8612 = load ptr, ptr %t387 + %t8613 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 1 + %t8614 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 2 + %t8615 = getelementptr inbounds %LSlice, ptr %t8612, i32 0, i32 0 + %t8616 = load i32, ptr %t8613 + %t8617 = load i32, ptr %t8614 + %t8618 = icmp sge i32 %t8616, %t8617 + br i1 %t8618, label %grow1807, label %put1808 grow1807: - %t8333 = mul i32 %t8331, 2 - %t8334 = icmp eq i32 %t8331, 0 - %t8335 = select i1 %t8334, i32 8, i32 %t8333 - %t8336 = getelementptr ptr, ptr null, i32 1 - %t8337 = ptrtoint ptr %t8336 to i64 - %t8338 = zext i32 %t8335 to i64 - %t8339 = mul i64 %t8338, %t8337 - %t8340 = load ptr, ptr %t8329 - %t8341 = call ptr @realloc(ptr %t8340, i64 %t8339) - store ptr %t8341, ptr %t8329 - store i32 %t8335, ptr %t8328 + %t8619 = mul i32 %t8617, 2 + %t8620 = icmp eq i32 %t8617, 0 + %t8621 = select i1 %t8620, i32 8, i32 %t8619 + %t8622 = getelementptr ptr, ptr null, i32 1 + %t8623 = ptrtoint ptr %t8622 to i64 + %t8624 = zext i32 %t8621 to i64 + %t8625 = mul i64 %t8624, %t8623 + %t8626 = load ptr, ptr %t8615 + %t8627 = call ptr @realloc(ptr %t8626, i64 %t8625) + store ptr %t8627, ptr %t8615 + store i32 %t8621, ptr %t8614 br label %put1808 put1808: - %t8342 = load ptr, ptr %t8329 - %t8343 = getelementptr inbounds ptr, ptr %t8342, i32 %t8330 - store ptr @.str7062, ptr %t8343 - %t8344 = add i32 %t8330, 1 - store i32 %t8344, ptr %t8327 - %t8345 = load ptr, ptr %t337 - %t8346 = getelementptr inbounds %LSlice, ptr %t8345, i32 0, i32 1 - %t8347 = getelementptr inbounds %LSlice, ptr %t8345, i32 0, i32 2 - %t8348 = getelementptr inbounds %LSlice, ptr %t8345, i32 0, i32 0 - %t8349 = load i32, ptr %t8346 - %t8350 = load i32, ptr %t8347 - %t8351 = icmp sge i32 %t8349, %t8350 - br i1 %t8351, label %grow1809, label %put1810 + %t8628 = load ptr, ptr %t8615 + %t8629 = getelementptr inbounds ptr, ptr %t8628, i32 %t8616 + store ptr @.str7378, ptr %t8629 + %t8630 = add i32 %t8616, 1 + store i32 %t8630, ptr %t8613 + %t8631 = load ptr, ptr %t387 + %t8632 = getelementptr inbounds %LSlice, ptr %t8631, i32 0, i32 1 + %t8633 = getelementptr inbounds %LSlice, ptr %t8631, i32 0, i32 2 + %t8634 = getelementptr inbounds %LSlice, ptr %t8631, i32 0, i32 0 + %t8635 = load i32, ptr %t8632 + %t8636 = load i32, ptr %t8633 + %t8637 = icmp sge i32 %t8635, %t8636 + br i1 %t8637, label %grow1809, label %put1810 grow1809: - %t8352 = mul i32 %t8350, 2 - %t8353 = icmp eq i32 %t8350, 0 - %t8354 = select i1 %t8353, i32 8, i32 %t8352 - %t8355 = getelementptr ptr, ptr null, i32 1 - %t8356 = ptrtoint ptr %t8355 to i64 - %t8357 = zext i32 %t8354 to i64 - %t8358 = mul i64 %t8357, %t8356 - %t8359 = load ptr, ptr %t8348 - %t8360 = call ptr @realloc(ptr %t8359, i64 %t8358) - store ptr %t8360, ptr %t8348 - store i32 %t8354, ptr %t8347 + %t8638 = mul i32 %t8636, 2 + %t8639 = icmp eq i32 %t8636, 0 + %t8640 = select i1 %t8639, i32 8, i32 %t8638 + %t8641 = getelementptr ptr, ptr null, i32 1 + %t8642 = ptrtoint ptr %t8641 to i64 + %t8643 = zext i32 %t8640 to i64 + %t8644 = mul i64 %t8643, %t8642 + %t8645 = load ptr, ptr %t8634 + %t8646 = call ptr @realloc(ptr %t8645, i64 %t8644) + store ptr %t8646, ptr %t8634 + store i32 %t8640, ptr %t8633 br label %put1810 put1810: - %t8361 = load ptr, ptr %t8348 - %t8362 = getelementptr inbounds ptr, ptr %t8361, i32 %t8349 - store ptr @.str7063, ptr %t8362 - %t8363 = add i32 %t8349, 1 - store i32 %t8363, ptr %t8346 - %t8364 = load ptr, ptr %t337 - %t8365 = getelementptr inbounds %LSlice, ptr %t8364, i32 0, i32 1 - %t8366 = getelementptr inbounds %LSlice, ptr %t8364, i32 0, i32 2 - %t8367 = getelementptr inbounds %LSlice, ptr %t8364, i32 0, i32 0 - %t8368 = load i32, ptr %t8365 - %t8369 = load i32, ptr %t8366 - %t8370 = icmp sge i32 %t8368, %t8369 - br i1 %t8370, label %grow1811, label %put1812 -grow1811: - %t8371 = mul i32 %t8369, 2 - %t8372 = icmp eq i32 %t8369, 0 - %t8373 = select i1 %t8372, i32 8, i32 %t8371 - %t8374 = getelementptr ptr, ptr null, i32 1 - %t8375 = ptrtoint ptr %t8374 to i64 - %t8376 = zext i32 %t8373 to i64 - %t8377 = mul i64 %t8376, %t8375 - %t8378 = load ptr, ptr %t8367 - %t8379 = call ptr @realloc(ptr %t8378, i64 %t8377) - store ptr %t8379, ptr %t8367 - store i32 %t8373, ptr %t8366 - br label %put1812 -put1812: - %t8380 = load ptr, ptr %t8367 - %t8381 = getelementptr inbounds ptr, ptr %t8380, i32 %t8368 - store ptr @.str7064, ptr %t8381 - %t8382 = add i32 %t8368, 1 - store i32 %t8382, ptr %t8365 - %t8383 = load ptr, ptr %t337 - %t8384 = getelementptr inbounds %LSlice, ptr %t8383, i32 0, i32 1 - %t8385 = getelementptr inbounds %LSlice, ptr %t8383, i32 0, i32 2 - %t8386 = getelementptr inbounds %LSlice, ptr %t8383, i32 0, i32 0 - %t8387 = load i32, ptr %t8384 - %t8388 = load i32, ptr %t8385 - %t8389 = icmp sge i32 %t8387, %t8388 - br i1 %t8389, label %grow1813, label %put1814 -grow1813: - %t8390 = mul i32 %t8388, 2 - %t8391 = icmp eq i32 %t8388, 0 - %t8392 = select i1 %t8391, i32 8, i32 %t8390 - %t8393 = getelementptr ptr, ptr null, i32 1 - %t8394 = ptrtoint ptr %t8393 to i64 - %t8395 = zext i32 %t8392 to i64 - %t8396 = mul i64 %t8395, %t8394 - %t8397 = load ptr, ptr %t8386 - %t8398 = call ptr @realloc(ptr %t8397, i64 %t8396) - store ptr %t8398, ptr %t8386 - store i32 %t8392, ptr %t8385 - br label %put1814 -put1814: - %t8399 = load ptr, ptr %t8386 - %t8400 = getelementptr inbounds ptr, ptr %t8399, i32 %t8387 - store ptr @.str7065, ptr %t8400 - %t8401 = add i32 %t8387, 1 - store i32 %t8401, ptr %t8384 - %t8402 = load ptr, ptr %t337 - %t8403 = getelementptr inbounds %LSlice, ptr %t8402, i32 0, i32 1 - %t8404 = getelementptr inbounds %LSlice, ptr %t8402, i32 0, i32 2 - %t8405 = getelementptr inbounds %LSlice, ptr %t8402, i32 0, i32 0 - %t8406 = load i32, ptr %t8403 - %t8407 = load i32, ptr %t8404 - %t8408 = icmp sge i32 %t8406, %t8407 - br i1 %t8408, label %grow1815, label %put1816 -grow1815: - %t8409 = mul i32 %t8407, 2 - %t8410 = icmp eq i32 %t8407, 0 - %t8411 = select i1 %t8410, i32 8, i32 %t8409 - %t8412 = getelementptr ptr, ptr null, i32 1 - %t8413 = ptrtoint ptr %t8412 to i64 - %t8414 = zext i32 %t8411 to i64 - %t8415 = mul i64 %t8414, %t8413 - %t8416 = load ptr, ptr %t8405 - %t8417 = call ptr @realloc(ptr %t8416, i64 %t8415) - store ptr %t8417, ptr %t8405 - store i32 %t8411, ptr %t8404 - br label %put1816 -put1816: - %t8418 = load ptr, ptr %t8405 - %t8419 = getelementptr inbounds ptr, ptr %t8418, i32 %t8406 - store ptr @.str7066, ptr %t8419 - %t8420 = add i32 %t8406, 1 - store i32 %t8420, ptr %t8403 + %t8647 = load ptr, ptr %t8634 + %t8648 = getelementptr inbounds ptr, ptr %t8647, i32 %t8635 + store ptr @.str7379, ptr %t8648 + %t8649 = add i32 %t8635, 1 + store i32 %t8649, ptr %t8632 br label %ifend1806 ifend1806: - br label %ifend1761 -ifend1761: - %t8421 = load ptr, ptr %t0 - %t8422 = call i32 @fn_str_eq(ptr %t8421, ptr @.str7067) - %t8423 = icmp ne i32 %t8422, 0 - br i1 %t8423, label %then1817, label %ifend1819 -then1817: - %t8424 = load ptr, ptr %t1 - %t8425 = call i32 @fn_str_eq(ptr %t8424, ptr @.str7068) - %t8426 = icmp ne i32 %t8425, 0 - br i1 %t8426, label %then1820, label %ifend1822 -then1820: - store ptr @.str7069, ptr %t330 - %t8427 = load ptr, ptr %t337 - %t8428 = getelementptr inbounds %LSlice, ptr %t8427, i32 0, i32 1 - %t8429 = getelementptr inbounds %LSlice, ptr %t8427, i32 0, i32 2 - %t8430 = getelementptr inbounds %LSlice, ptr %t8427, i32 0, i32 0 - %t8431 = load i32, ptr %t8428 - %t8432 = load i32, ptr %t8429 - %t8433 = icmp sge i32 %t8431, %t8432 - br i1 %t8433, label %grow1823, label %put1824 -grow1823: - %t8434 = mul i32 %t8432, 2 - %t8435 = icmp eq i32 %t8432, 0 - %t8436 = select i1 %t8435, i32 8, i32 %t8434 - %t8437 = getelementptr ptr, ptr null, i32 1 - %t8438 = ptrtoint ptr %t8437 to i64 - %t8439 = zext i32 %t8436 to i64 - %t8440 = mul i64 %t8439, %t8438 - %t8441 = load ptr, ptr %t8430 - %t8442 = call ptr @realloc(ptr %t8441, i64 %t8440) - store ptr %t8442, ptr %t8430 - store i32 %t8436, ptr %t8429 - br label %put1824 -put1824: - %t8443 = load ptr, ptr %t8430 - %t8444 = getelementptr inbounds ptr, ptr %t8443, i32 %t8431 - store ptr @.str7070, ptr %t8444 - %t8445 = add i32 %t8431, 1 - store i32 %t8445, ptr %t8428 - br label %ifend1822 -ifend1822: - %t8446 = load ptr, ptr %t1 - %t8447 = call i32 @fn_str_eq(ptr %t8446, ptr @.str7071) - %t8448 = icmp ne i32 %t8447, 0 - br i1 %t8448, label %then1825, label %ifend1827 -then1825: - store ptr @.str7072, ptr %t330 - %t8449 = load ptr, ptr %t337 - %t8450 = getelementptr inbounds %LSlice, ptr %t8449, i32 0, i32 1 - %t8451 = getelementptr inbounds %LSlice, ptr %t8449, i32 0, i32 2 - %t8452 = getelementptr inbounds %LSlice, ptr %t8449, i32 0, i32 0 - %t8453 = load i32, ptr %t8450 - %t8454 = load i32, ptr %t8451 - %t8455 = icmp sge i32 %t8453, %t8454 - br i1 %t8455, label %grow1828, label %put1829 -grow1828: - %t8456 = mul i32 %t8454, 2 - %t8457 = icmp eq i32 %t8454, 0 - %t8458 = select i1 %t8457, i32 8, i32 %t8456 - %t8459 = getelementptr ptr, ptr null, i32 1 - %t8460 = ptrtoint ptr %t8459 to i64 - %t8461 = zext i32 %t8458 to i64 - %t8462 = mul i64 %t8461, %t8460 - %t8463 = load ptr, ptr %t8452 - %t8464 = call ptr @realloc(ptr %t8463, i64 %t8462) - store ptr %t8464, ptr %t8452 - store i32 %t8458, ptr %t8451 - br label %put1829 -put1829: - %t8465 = load ptr, ptr %t8452 - %t8466 = getelementptr inbounds ptr, ptr %t8465, i32 %t8453 - store ptr @.str7073, ptr %t8466 - %t8467 = add i32 %t8453, 1 - store i32 %t8467, ptr %t8450 - %t8468 = load ptr, ptr %t337 - %t8469 = getelementptr inbounds %LSlice, ptr %t8468, i32 0, i32 1 - %t8470 = getelementptr inbounds %LSlice, ptr %t8468, i32 0, i32 2 - %t8471 = getelementptr inbounds %LSlice, ptr %t8468, i32 0, i32 0 - %t8472 = load i32, ptr %t8469 - %t8473 = load i32, ptr %t8470 - %t8474 = icmp sge i32 %t8472, %t8473 - br i1 %t8474, label %grow1830, label %put1831 -grow1830: - %t8475 = mul i32 %t8473, 2 - %t8476 = icmp eq i32 %t8473, 0 - %t8477 = select i1 %t8476, i32 8, i32 %t8475 - %t8478 = getelementptr ptr, ptr null, i32 1 - %t8479 = ptrtoint ptr %t8478 to i64 - %t8480 = zext i32 %t8477 to i64 - %t8481 = mul i64 %t8480, %t8479 - %t8482 = load ptr, ptr %t8471 - %t8483 = call ptr @realloc(ptr %t8482, i64 %t8481) - store ptr %t8483, ptr %t8471 - store i32 %t8477, ptr %t8470 - br label %put1831 -put1831: - %t8484 = load ptr, ptr %t8471 - %t8485 = getelementptr inbounds ptr, ptr %t8484, i32 %t8472 - store ptr @.str7074, ptr %t8485 - %t8486 = add i32 %t8472, 1 - store i32 %t8486, ptr %t8469 - %t8487 = load ptr, ptr %t337 - %t8488 = getelementptr inbounds %LSlice, ptr %t8487, i32 0, i32 1 - %t8489 = getelementptr inbounds %LSlice, ptr %t8487, i32 0, i32 2 - %t8490 = getelementptr inbounds %LSlice, ptr %t8487, i32 0, i32 0 - %t8491 = load i32, ptr %t8488 - %t8492 = load i32, ptr %t8489 - %t8493 = icmp sge i32 %t8491, %t8492 - br i1 %t8493, label %grow1832, label %put1833 -grow1832: - %t8494 = mul i32 %t8492, 2 - %t8495 = icmp eq i32 %t8492, 0 - %t8496 = select i1 %t8495, i32 8, i32 %t8494 - %t8497 = getelementptr ptr, ptr null, i32 1 - %t8498 = ptrtoint ptr %t8497 to i64 - %t8499 = zext i32 %t8496 to i64 - %t8500 = mul i64 %t8499, %t8498 - %t8501 = load ptr, ptr %t8490 - %t8502 = call ptr @realloc(ptr %t8501, i64 %t8500) - store ptr %t8502, ptr %t8490 - store i32 %t8496, ptr %t8489 - br label %put1833 -put1833: - %t8503 = load ptr, ptr %t8490 - %t8504 = getelementptr inbounds ptr, ptr %t8503, i32 %t8491 - store ptr @.str7075, ptr %t8504 - %t8505 = add i32 %t8491, 1 - store i32 %t8505, ptr %t8488 - %t8506 = load ptr, ptr %t337 - %t8507 = getelementptr inbounds %LSlice, ptr %t8506, i32 0, i32 1 - %t8508 = getelementptr inbounds %LSlice, ptr %t8506, i32 0, i32 2 - %t8509 = getelementptr inbounds %LSlice, ptr %t8506, i32 0, i32 0 - %t8510 = load i32, ptr %t8507 - %t8511 = load i32, ptr %t8508 - %t8512 = icmp sge i32 %t8510, %t8511 - br i1 %t8512, label %grow1834, label %put1835 + %t8650 = load ptr, ptr %t1 + %t8651 = call i32 @fn_str_eq(ptr %t8650, ptr @.str7380) + %t8652 = icmp ne i32 %t8651, 0 + br i1 %t8652, label %then1811, label %ifend1813 +then1811: + store ptr @.str7381, ptr %t380 + %t8653 = load ptr, ptr %t387 + %t8654 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 1 + %t8655 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 2 + %t8656 = getelementptr inbounds %LSlice, ptr %t8653, i32 0, i32 0 + %t8657 = load i32, ptr %t8654 + %t8658 = load i32, ptr %t8655 + %t8659 = icmp sge i32 %t8657, %t8658 + br i1 %t8659, label %grow1814, label %put1815 +grow1814: + %t8660 = mul i32 %t8658, 2 + %t8661 = icmp eq i32 %t8658, 0 + %t8662 = select i1 %t8661, i32 8, i32 %t8660 + %t8663 = getelementptr ptr, ptr null, i32 1 + %t8664 = ptrtoint ptr %t8663 to i64 + %t8665 = zext i32 %t8662 to i64 + %t8666 = mul i64 %t8665, %t8664 + %t8667 = load ptr, ptr %t8656 + %t8668 = call ptr @realloc(ptr %t8667, i64 %t8666) + store ptr %t8668, ptr %t8656 + store i32 %t8662, ptr %t8655 + br label %put1815 +put1815: + %t8669 = load ptr, ptr %t8656 + %t8670 = getelementptr inbounds ptr, ptr %t8669, i32 %t8657 + store ptr @.str7382, ptr %t8670 + %t8671 = add i32 %t8657, 1 + store i32 %t8671, ptr %t8654 + br label %ifend1813 +ifend1813: + %t8672 = load ptr, ptr %t1 + %t8673 = call i32 @fn_str_eq(ptr %t8672, ptr @.str7383) + %t8674 = icmp ne i32 %t8673, 0 + br i1 %t8674, label %then1816, label %ifend1818 +then1816: + store ptr @.str7384, ptr %t380 + %t8675 = load ptr, ptr %t387 + %t8676 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 1 + %t8677 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 2 + %t8678 = getelementptr inbounds %LSlice, ptr %t8675, i32 0, i32 0 + %t8679 = load i32, ptr %t8676 + %t8680 = load i32, ptr %t8677 + %t8681 = icmp sge i32 %t8679, %t8680 + br i1 %t8681, label %grow1819, label %put1820 +grow1819: + %t8682 = mul i32 %t8680, 2 + %t8683 = icmp eq i32 %t8680, 0 + %t8684 = select i1 %t8683, i32 8, i32 %t8682 + %t8685 = getelementptr ptr, ptr null, i32 1 + %t8686 = ptrtoint ptr %t8685 to i64 + %t8687 = zext i32 %t8684 to i64 + %t8688 = mul i64 %t8687, %t8686 + %t8689 = load ptr, ptr %t8678 + %t8690 = call ptr @realloc(ptr %t8689, i64 %t8688) + store ptr %t8690, ptr %t8678 + store i32 %t8684, ptr %t8677 + br label %put1820 +put1820: + %t8691 = load ptr, ptr %t8678 + %t8692 = getelementptr inbounds ptr, ptr %t8691, i32 %t8679 + store ptr @.str7385, ptr %t8692 + %t8693 = add i32 %t8679, 1 + store i32 %t8693, ptr %t8676 + br label %ifend1818 +ifend1818: + %t8694 = load ptr, ptr %t1 + %t8695 = call i32 @fn_str_eq(ptr %t8694, ptr @.str7386) + %t8696 = icmp ne i32 %t8695, 0 + br i1 %t8696, label %then1821, label %ifend1823 +then1821: + store ptr @.str7387, ptr %t380 + %t8697 = load ptr, ptr %t387 + %t8698 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 1 + %t8699 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 2 + %t8700 = getelementptr inbounds %LSlice, ptr %t8697, i32 0, i32 0 + %t8701 = load i32, ptr %t8698 + %t8702 = load i32, ptr %t8699 + %t8703 = icmp sge i32 %t8701, %t8702 + br i1 %t8703, label %grow1824, label %put1825 +grow1824: + %t8704 = mul i32 %t8702, 2 + %t8705 = icmp eq i32 %t8702, 0 + %t8706 = select i1 %t8705, i32 8, i32 %t8704 + %t8707 = getelementptr ptr, ptr null, i32 1 + %t8708 = ptrtoint ptr %t8707 to i64 + %t8709 = zext i32 %t8706 to i64 + %t8710 = mul i64 %t8709, %t8708 + %t8711 = load ptr, ptr %t8700 + %t8712 = call ptr @realloc(ptr %t8711, i64 %t8710) + store ptr %t8712, ptr %t8700 + store i32 %t8706, ptr %t8699 + br label %put1825 +put1825: + %t8713 = load ptr, ptr %t8700 + %t8714 = getelementptr inbounds ptr, ptr %t8713, i32 %t8701 + store ptr @.str7388, ptr %t8714 + %t8715 = add i32 %t8701, 1 + store i32 %t8715, ptr %t8698 + br label %ifend1823 +ifend1823: + %t8716 = load ptr, ptr %t1 + %t8717 = call i32 @fn_str_eq(ptr %t8716, ptr @.str7389) + %t8718 = icmp ne i32 %t8717, 0 + br i1 %t8718, label %then1826, label %ifend1828 +then1826: + store ptr @.str7390, ptr %t380 + %t8719 = load ptr, ptr %t387 + %t8720 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 1 + %t8721 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 2 + %t8722 = getelementptr inbounds %LSlice, ptr %t8719, i32 0, i32 0 + %t8723 = load i32, ptr %t8720 + %t8724 = load i32, ptr %t8721 + %t8725 = icmp sge i32 %t8723, %t8724 + br i1 %t8725, label %grow1829, label %put1830 +grow1829: + %t8726 = mul i32 %t8724, 2 + %t8727 = icmp eq i32 %t8724, 0 + %t8728 = select i1 %t8727, i32 8, i32 %t8726 + %t8729 = getelementptr ptr, ptr null, i32 1 + %t8730 = ptrtoint ptr %t8729 to i64 + %t8731 = zext i32 %t8728 to i64 + %t8732 = mul i64 %t8731, %t8730 + %t8733 = load ptr, ptr %t8722 + %t8734 = call ptr @realloc(ptr %t8733, i64 %t8732) + store ptr %t8734, ptr %t8722 + store i32 %t8728, ptr %t8721 + br label %put1830 +put1830: + %t8735 = load ptr, ptr %t8722 + %t8736 = getelementptr inbounds ptr, ptr %t8735, i32 %t8723 + store ptr @.str7391, ptr %t8736 + %t8737 = add i32 %t8723, 1 + store i32 %t8737, ptr %t8720 + br label %ifend1828 +ifend1828: + %t8738 = load ptr, ptr %t1 + %t8739 = call i32 @fn_str_eq(ptr %t8738, ptr @.str7392) + %t8740 = icmp ne i32 %t8739, 0 + br i1 %t8740, label %then1831, label %ifend1833 +then1831: + store ptr @.str7393, ptr %t380 + %t8741 = load ptr, ptr %t387 + %t8742 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 1 + %t8743 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 2 + %t8744 = getelementptr inbounds %LSlice, ptr %t8741, i32 0, i32 0 + %t8745 = load i32, ptr %t8742 + %t8746 = load i32, ptr %t8743 + %t8747 = icmp sge i32 %t8745, %t8746 + br i1 %t8747, label %grow1834, label %put1835 grow1834: - %t8513 = mul i32 %t8511, 2 - %t8514 = icmp eq i32 %t8511, 0 - %t8515 = select i1 %t8514, i32 8, i32 %t8513 - %t8516 = getelementptr ptr, ptr null, i32 1 - %t8517 = ptrtoint ptr %t8516 to i64 - %t8518 = zext i32 %t8515 to i64 - %t8519 = mul i64 %t8518, %t8517 - %t8520 = load ptr, ptr %t8509 - %t8521 = call ptr @realloc(ptr %t8520, i64 %t8519) - store ptr %t8521, ptr %t8509 - store i32 %t8515, ptr %t8508 + %t8748 = mul i32 %t8746, 2 + %t8749 = icmp eq i32 %t8746, 0 + %t8750 = select i1 %t8749, i32 8, i32 %t8748 + %t8751 = getelementptr ptr, ptr null, i32 1 + %t8752 = ptrtoint ptr %t8751 to i64 + %t8753 = zext i32 %t8750 to i64 + %t8754 = mul i64 %t8753, %t8752 + %t8755 = load ptr, ptr %t8744 + %t8756 = call ptr @realloc(ptr %t8755, i64 %t8754) + store ptr %t8756, ptr %t8744 + store i32 %t8750, ptr %t8743 br label %put1835 put1835: - %t8522 = load ptr, ptr %t8509 - %t8523 = getelementptr inbounds ptr, ptr %t8522, i32 %t8510 - store ptr @.str7076, ptr %t8523 - %t8524 = add i32 %t8510, 1 - store i32 %t8524, ptr %t8507 - %t8525 = load ptr, ptr %t337 - %t8526 = getelementptr inbounds %LSlice, ptr %t8525, i32 0, i32 1 - %t8527 = getelementptr inbounds %LSlice, ptr %t8525, i32 0, i32 2 - %t8528 = getelementptr inbounds %LSlice, ptr %t8525, i32 0, i32 0 - %t8529 = load i32, ptr %t8526 - %t8530 = load i32, ptr %t8527 - %t8531 = icmp sge i32 %t8529, %t8530 - br i1 %t8531, label %grow1836, label %put1837 -grow1836: - %t8532 = mul i32 %t8530, 2 - %t8533 = icmp eq i32 %t8530, 0 - %t8534 = select i1 %t8533, i32 8, i32 %t8532 - %t8535 = getelementptr ptr, ptr null, i32 1 - %t8536 = ptrtoint ptr %t8535 to i64 - %t8537 = zext i32 %t8534 to i64 - %t8538 = mul i64 %t8537, %t8536 - %t8539 = load ptr, ptr %t8528 - %t8540 = call ptr @realloc(ptr %t8539, i64 %t8538) - store ptr %t8540, ptr %t8528 - store i32 %t8534, ptr %t8527 - br label %put1837 -put1837: - %t8541 = load ptr, ptr %t8528 - %t8542 = getelementptr inbounds ptr, ptr %t8541, i32 %t8529 - store ptr @.str7077, ptr %t8542 - %t8543 = add i32 %t8529, 1 - store i32 %t8543, ptr %t8526 - br label %ifend1827 -ifend1827: - %t8544 = load ptr, ptr %t1 - %t8545 = call i32 @fn_str_eq(ptr %t8544, ptr @.str7078) - %t8546 = icmp ne i32 %t8545, 0 - br i1 %t8546, label %then1838, label %ifend1840 -then1838: - store ptr @.str7079, ptr %t330 - %t8547 = load ptr, ptr %t337 - %t8548 = getelementptr inbounds %LSlice, ptr %t8547, i32 0, i32 1 - %t8549 = getelementptr inbounds %LSlice, ptr %t8547, i32 0, i32 2 - %t8550 = getelementptr inbounds %LSlice, ptr %t8547, i32 0, i32 0 - %t8551 = load i32, ptr %t8548 - %t8552 = load i32, ptr %t8549 - %t8553 = icmp sge i32 %t8551, %t8552 - br i1 %t8553, label %grow1841, label %put1842 -grow1841: - %t8554 = mul i32 %t8552, 2 - %t8555 = icmp eq i32 %t8552, 0 - %t8556 = select i1 %t8555, i32 8, i32 %t8554 - %t8557 = getelementptr ptr, ptr null, i32 1 - %t8558 = ptrtoint ptr %t8557 to i64 - %t8559 = zext i32 %t8556 to i64 - %t8560 = mul i64 %t8559, %t8558 - %t8561 = load ptr, ptr %t8550 - %t8562 = call ptr @realloc(ptr %t8561, i64 %t8560) - store ptr %t8562, ptr %t8550 - store i32 %t8556, ptr %t8549 - br label %put1842 -put1842: - %t8563 = load ptr, ptr %t8550 - %t8564 = getelementptr inbounds ptr, ptr %t8563, i32 %t8551 - store ptr @.str7080, ptr %t8564 - %t8565 = add i32 %t8551, 1 - store i32 %t8565, ptr %t8548 - %t8566 = load ptr, ptr %t337 - %t8567 = getelementptr inbounds %LSlice, ptr %t8566, i32 0, i32 1 - %t8568 = getelementptr inbounds %LSlice, ptr %t8566, i32 0, i32 2 - %t8569 = getelementptr inbounds %LSlice, ptr %t8566, i32 0, i32 0 - %t8570 = load i32, ptr %t8567 - %t8571 = load i32, ptr %t8568 - %t8572 = icmp sge i32 %t8570, %t8571 - br i1 %t8572, label %grow1843, label %put1844 -grow1843: - %t8573 = mul i32 %t8571, 2 - %t8574 = icmp eq i32 %t8571, 0 - %t8575 = select i1 %t8574, i32 8, i32 %t8573 - %t8576 = getelementptr ptr, ptr null, i32 1 - %t8577 = ptrtoint ptr %t8576 to i64 - %t8578 = zext i32 %t8575 to i64 - %t8579 = mul i64 %t8578, %t8577 - %t8580 = load ptr, ptr %t8569 - %t8581 = call ptr @realloc(ptr %t8580, i64 %t8579) - store ptr %t8581, ptr %t8569 - store i32 %t8575, ptr %t8568 - br label %put1844 -put1844: - %t8582 = load ptr, ptr %t8569 - %t8583 = getelementptr inbounds ptr, ptr %t8582, i32 %t8570 - store ptr @.str7081, ptr %t8583 - %t8584 = add i32 %t8570, 1 - store i32 %t8584, ptr %t8567 - %t8585 = load ptr, ptr %t337 - %t8586 = getelementptr inbounds %LSlice, ptr %t8585, i32 0, i32 1 - %t8587 = getelementptr inbounds %LSlice, ptr %t8585, i32 0, i32 2 - %t8588 = getelementptr inbounds %LSlice, ptr %t8585, i32 0, i32 0 - %t8589 = load i32, ptr %t8586 - %t8590 = load i32, ptr %t8587 - %t8591 = icmp sge i32 %t8589, %t8590 - br i1 %t8591, label %grow1845, label %put1846 -grow1845: - %t8592 = mul i32 %t8590, 2 - %t8593 = icmp eq i32 %t8590, 0 - %t8594 = select i1 %t8593, i32 8, i32 %t8592 - %t8595 = getelementptr ptr, ptr null, i32 1 - %t8596 = ptrtoint ptr %t8595 to i64 - %t8597 = zext i32 %t8594 to i64 - %t8598 = mul i64 %t8597, %t8596 - %t8599 = load ptr, ptr %t8588 - %t8600 = call ptr @realloc(ptr %t8599, i64 %t8598) - store ptr %t8600, ptr %t8588 - store i32 %t8594, ptr %t8587 - br label %put1846 -put1846: - %t8601 = load ptr, ptr %t8588 - %t8602 = getelementptr inbounds ptr, ptr %t8601, i32 %t8589 - store ptr @.str7082, ptr %t8602 - %t8603 = add i32 %t8589, 1 - store i32 %t8603, ptr %t8586 - %t8604 = load ptr, ptr %t337 - %t8605 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 1 - %t8606 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 2 - %t8607 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 0 - %t8608 = load i32, ptr %t8605 - %t8609 = load i32, ptr %t8606 - %t8610 = icmp sge i32 %t8608, %t8609 - br i1 %t8610, label %grow1847, label %put1848 -grow1847: - %t8611 = mul i32 %t8609, 2 - %t8612 = icmp eq i32 %t8609, 0 - %t8613 = select i1 %t8612, i32 8, i32 %t8611 - %t8614 = getelementptr ptr, ptr null, i32 1 - %t8615 = ptrtoint ptr %t8614 to i64 - %t8616 = zext i32 %t8613 to i64 - %t8617 = mul i64 %t8616, %t8615 - %t8618 = load ptr, ptr %t8607 - %t8619 = call ptr @realloc(ptr %t8618, i64 %t8617) - store ptr %t8619, ptr %t8607 - store i32 %t8613, ptr %t8606 - br label %put1848 -put1848: - %t8620 = load ptr, ptr %t8607 - %t8621 = getelementptr inbounds ptr, ptr %t8620, i32 %t8608 - store ptr @.str7083, ptr %t8621 - %t8622 = add i32 %t8608, 1 - store i32 %t8622, ptr %t8605 - %t8623 = load ptr, ptr %t337 - %t8624 = getelementptr inbounds %LSlice, ptr %t8623, i32 0, i32 1 - %t8625 = getelementptr inbounds %LSlice, ptr %t8623, i32 0, i32 2 - %t8626 = getelementptr inbounds %LSlice, ptr %t8623, i32 0, i32 0 - %t8627 = load i32, ptr %t8624 - %t8628 = load i32, ptr %t8625 - %t8629 = icmp sge i32 %t8627, %t8628 - br i1 %t8629, label %grow1849, label %put1850 + %t8757 = load ptr, ptr %t8744 + %t8758 = getelementptr inbounds ptr, ptr %t8757, i32 %t8745 + store ptr @.str7394, ptr %t8758 + %t8759 = add i32 %t8745, 1 + store i32 %t8759, ptr %t8742 + br label %ifend1833 +ifend1833: + %t8760 = load ptr, ptr %t1 + %t8761 = call i32 @fn_str_eq(ptr %t8760, ptr @.str7395) + %t8762 = icmp ne i32 %t8761, 0 + br i1 %t8762, label %then1836, label %ifend1838 +then1836: + store ptr @.str7396, ptr %t380 + %t8763 = load ptr, ptr %t387 + %t8764 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 1 + %t8765 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 2 + %t8766 = getelementptr inbounds %LSlice, ptr %t8763, i32 0, i32 0 + %t8767 = load i32, ptr %t8764 + %t8768 = load i32, ptr %t8765 + %t8769 = icmp sge i32 %t8767, %t8768 + br i1 %t8769, label %grow1839, label %put1840 +grow1839: + %t8770 = mul i32 %t8768, 2 + %t8771 = icmp eq i32 %t8768, 0 + %t8772 = select i1 %t8771, i32 8, i32 %t8770 + %t8773 = getelementptr ptr, ptr null, i32 1 + %t8774 = ptrtoint ptr %t8773 to i64 + %t8775 = zext i32 %t8772 to i64 + %t8776 = mul i64 %t8775, %t8774 + %t8777 = load ptr, ptr %t8766 + %t8778 = call ptr @realloc(ptr %t8777, i64 %t8776) + store ptr %t8778, ptr %t8766 + store i32 %t8772, ptr %t8765 + br label %put1840 +put1840: + %t8779 = load ptr, ptr %t8766 + %t8780 = getelementptr inbounds ptr, ptr %t8779, i32 %t8767 + store ptr @.str7397, ptr %t8780 + %t8781 = add i32 %t8767, 1 + store i32 %t8781, ptr %t8764 + br label %ifend1838 +ifend1838: + %t8782 = load ptr, ptr %t1 + %t8783 = call i32 @fn_str_eq(ptr %t8782, ptr @.str7398) + %t8784 = icmp ne i32 %t8783, 0 + br i1 %t8784, label %then1841, label %ifend1843 +then1841: + store ptr @.str7399, ptr %t380 + %t8785 = load ptr, ptr %t387 + %t8786 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 1 + %t8787 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 2 + %t8788 = getelementptr inbounds %LSlice, ptr %t8785, i32 0, i32 0 + %t8789 = load i32, ptr %t8786 + %t8790 = load i32, ptr %t8787 + %t8791 = icmp sge i32 %t8789, %t8790 + br i1 %t8791, label %grow1844, label %put1845 +grow1844: + %t8792 = mul i32 %t8790, 2 + %t8793 = icmp eq i32 %t8790, 0 + %t8794 = select i1 %t8793, i32 8, i32 %t8792 + %t8795 = getelementptr ptr, ptr null, i32 1 + %t8796 = ptrtoint ptr %t8795 to i64 + %t8797 = zext i32 %t8794 to i64 + %t8798 = mul i64 %t8797, %t8796 + %t8799 = load ptr, ptr %t8788 + %t8800 = call ptr @realloc(ptr %t8799, i64 %t8798) + store ptr %t8800, ptr %t8788 + store i32 %t8794, ptr %t8787 + br label %put1845 +put1845: + %t8801 = load ptr, ptr %t8788 + %t8802 = getelementptr inbounds ptr, ptr %t8801, i32 %t8789 + store ptr @.str7400, ptr %t8802 + %t8803 = add i32 %t8789, 1 + store i32 %t8803, ptr %t8786 + br label %ifend1843 +ifend1843: + %t8804 = load ptr, ptr %t1 + %t8805 = call i32 @fn_str_eq(ptr %t8804, ptr @.str7401) + %t8806 = icmp ne i32 %t8805, 0 + br i1 %t8806, label %then1846, label %ifend1848 +then1846: + store ptr @.str7402, ptr %t380 + %t8807 = load ptr, ptr %t387 + %t8808 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 1 + %t8809 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 2 + %t8810 = getelementptr inbounds %LSlice, ptr %t8807, i32 0, i32 0 + %t8811 = load i32, ptr %t8808 + %t8812 = load i32, ptr %t8809 + %t8813 = icmp sge i32 %t8811, %t8812 + br i1 %t8813, label %grow1849, label %put1850 grow1849: - %t8630 = mul i32 %t8628, 2 - %t8631 = icmp eq i32 %t8628, 0 - %t8632 = select i1 %t8631, i32 8, i32 %t8630 - %t8633 = getelementptr ptr, ptr null, i32 1 - %t8634 = ptrtoint ptr %t8633 to i64 - %t8635 = zext i32 %t8632 to i64 - %t8636 = mul i64 %t8635, %t8634 - %t8637 = load ptr, ptr %t8626 - %t8638 = call ptr @realloc(ptr %t8637, i64 %t8636) - store ptr %t8638, ptr %t8626 - store i32 %t8632, ptr %t8625 + %t8814 = mul i32 %t8812, 2 + %t8815 = icmp eq i32 %t8812, 0 + %t8816 = select i1 %t8815, i32 8, i32 %t8814 + %t8817 = getelementptr ptr, ptr null, i32 1 + %t8818 = ptrtoint ptr %t8817 to i64 + %t8819 = zext i32 %t8816 to i64 + %t8820 = mul i64 %t8819, %t8818 + %t8821 = load ptr, ptr %t8810 + %t8822 = call ptr @realloc(ptr %t8821, i64 %t8820) + store ptr %t8822, ptr %t8810 + store i32 %t8816, ptr %t8809 br label %put1850 put1850: - %t8639 = load ptr, ptr %t8626 - %t8640 = getelementptr inbounds ptr, ptr %t8639, i32 %t8627 - store ptr @.str7084, ptr %t8640 - %t8641 = add i32 %t8627, 1 - store i32 %t8641, ptr %t8624 - %t8642 = load ptr, ptr %t337 - %t8643 = getelementptr inbounds %LSlice, ptr %t8642, i32 0, i32 1 - %t8644 = getelementptr inbounds %LSlice, ptr %t8642, i32 0, i32 2 - %t8645 = getelementptr inbounds %LSlice, ptr %t8642, i32 0, i32 0 - %t8646 = load i32, ptr %t8643 - %t8647 = load i32, ptr %t8644 - %t8648 = icmp sge i32 %t8646, %t8647 - br i1 %t8648, label %grow1851, label %put1852 -grow1851: - %t8649 = mul i32 %t8647, 2 - %t8650 = icmp eq i32 %t8647, 0 - %t8651 = select i1 %t8650, i32 8, i32 %t8649 - %t8652 = getelementptr ptr, ptr null, i32 1 - %t8653 = ptrtoint ptr %t8652 to i64 - %t8654 = zext i32 %t8651 to i64 - %t8655 = mul i64 %t8654, %t8653 - %t8656 = load ptr, ptr %t8645 - %t8657 = call ptr @realloc(ptr %t8656, i64 %t8655) - store ptr %t8657, ptr %t8645 - store i32 %t8651, ptr %t8644 - br label %put1852 -put1852: - %t8658 = load ptr, ptr %t8645 - %t8659 = getelementptr inbounds ptr, ptr %t8658, i32 %t8646 - store ptr @.str7085, ptr %t8659 - %t8660 = add i32 %t8646, 1 - store i32 %t8660, ptr %t8643 - %t8661 = load ptr, ptr %t337 - %t8662 = getelementptr inbounds %LSlice, ptr %t8661, i32 0, i32 1 - %t8663 = getelementptr inbounds %LSlice, ptr %t8661, i32 0, i32 2 - %t8664 = getelementptr inbounds %LSlice, ptr %t8661, i32 0, i32 0 - %t8665 = load i32, ptr %t8662 - %t8666 = load i32, ptr %t8663 - %t8667 = icmp sge i32 %t8665, %t8666 - br i1 %t8667, label %grow1853, label %put1854 -grow1853: - %t8668 = mul i32 %t8666, 2 - %t8669 = icmp eq i32 %t8666, 0 - %t8670 = select i1 %t8669, i32 8, i32 %t8668 - %t8671 = getelementptr ptr, ptr null, i32 1 - %t8672 = ptrtoint ptr %t8671 to i64 - %t8673 = zext i32 %t8670 to i64 - %t8674 = mul i64 %t8673, %t8672 - %t8675 = load ptr, ptr %t8664 - %t8676 = call ptr @realloc(ptr %t8675, i64 %t8674) - store ptr %t8676, ptr %t8664 - store i32 %t8670, ptr %t8663 - br label %put1854 -put1854: - %t8677 = load ptr, ptr %t8664 - %t8678 = getelementptr inbounds ptr, ptr %t8677, i32 %t8665 - store ptr @.str7086, ptr %t8678 - %t8679 = add i32 %t8665, 1 - store i32 %t8679, ptr %t8662 - br label %ifend1840 -ifend1840: - %t8680 = load ptr, ptr %t1 - %t8681 = call i32 @fn_str_eq(ptr %t8680, ptr @.str7087) - %t8682 = icmp ne i32 %t8681, 0 - br i1 %t8682, label %then1855, label %ifend1857 -then1855: - store ptr @.str7088, ptr %t330 - %t8683 = load ptr, ptr %t337 - %t8684 = getelementptr inbounds %LSlice, ptr %t8683, i32 0, i32 1 - %t8685 = getelementptr inbounds %LSlice, ptr %t8683, i32 0, i32 2 - %t8686 = getelementptr inbounds %LSlice, ptr %t8683, i32 0, i32 0 - %t8687 = load i32, ptr %t8684 - %t8688 = load i32, ptr %t8685 - %t8689 = icmp sge i32 %t8687, %t8688 - br i1 %t8689, label %grow1858, label %put1859 -grow1858: - %t8690 = mul i32 %t8688, 2 - %t8691 = icmp eq i32 %t8688, 0 - %t8692 = select i1 %t8691, i32 8, i32 %t8690 - %t8693 = getelementptr ptr, ptr null, i32 1 - %t8694 = ptrtoint ptr %t8693 to i64 - %t8695 = zext i32 %t8692 to i64 - %t8696 = mul i64 %t8695, %t8694 - %t8697 = load ptr, ptr %t8686 - %t8698 = call ptr @realloc(ptr %t8697, i64 %t8696) - store ptr %t8698, ptr %t8686 - store i32 %t8692, ptr %t8685 - br label %put1859 -put1859: - %t8699 = load ptr, ptr %t8686 - %t8700 = getelementptr inbounds ptr, ptr %t8699, i32 %t8687 - store ptr @.str7089, ptr %t8700 - %t8701 = add i32 %t8687, 1 - store i32 %t8701, ptr %t8684 - %t8702 = load ptr, ptr %t337 - %t8703 = getelementptr inbounds %LSlice, ptr %t8702, i32 0, i32 1 - %t8704 = getelementptr inbounds %LSlice, ptr %t8702, i32 0, i32 2 - %t8705 = getelementptr inbounds %LSlice, ptr %t8702, i32 0, i32 0 - %t8706 = load i32, ptr %t8703 - %t8707 = load i32, ptr %t8704 - %t8708 = icmp sge i32 %t8706, %t8707 - br i1 %t8708, label %grow1860, label %put1861 -grow1860: - %t8709 = mul i32 %t8707, 2 - %t8710 = icmp eq i32 %t8707, 0 - %t8711 = select i1 %t8710, i32 8, i32 %t8709 - %t8712 = getelementptr ptr, ptr null, i32 1 - %t8713 = ptrtoint ptr %t8712 to i64 - %t8714 = zext i32 %t8711 to i64 - %t8715 = mul i64 %t8714, %t8713 - %t8716 = load ptr, ptr %t8705 - %t8717 = call ptr @realloc(ptr %t8716, i64 %t8715) - store ptr %t8717, ptr %t8705 - store i32 %t8711, ptr %t8704 - br label %put1861 -put1861: - %t8718 = load ptr, ptr %t8705 - %t8719 = getelementptr inbounds ptr, ptr %t8718, i32 %t8706 - store ptr @.str7090, ptr %t8719 - %t8720 = add i32 %t8706, 1 - store i32 %t8720, ptr %t8703 - %t8721 = load ptr, ptr %t337 - %t8722 = getelementptr inbounds %LSlice, ptr %t8721, i32 0, i32 1 - %t8723 = getelementptr inbounds %LSlice, ptr %t8721, i32 0, i32 2 - %t8724 = getelementptr inbounds %LSlice, ptr %t8721, i32 0, i32 0 - %t8725 = load i32, ptr %t8722 - %t8726 = load i32, ptr %t8723 - %t8727 = icmp sge i32 %t8725, %t8726 - br i1 %t8727, label %grow1862, label %put1863 -grow1862: - %t8728 = mul i32 %t8726, 2 - %t8729 = icmp eq i32 %t8726, 0 - %t8730 = select i1 %t8729, i32 8, i32 %t8728 - %t8731 = getelementptr ptr, ptr null, i32 1 - %t8732 = ptrtoint ptr %t8731 to i64 - %t8733 = zext i32 %t8730 to i64 - %t8734 = mul i64 %t8733, %t8732 - %t8735 = load ptr, ptr %t8724 - %t8736 = call ptr @realloc(ptr %t8735, i64 %t8734) - store ptr %t8736, ptr %t8724 - store i32 %t8730, ptr %t8723 - br label %put1863 -put1863: - %t8737 = load ptr, ptr %t8724 - %t8738 = getelementptr inbounds ptr, ptr %t8737, i32 %t8725 - store ptr @.str7091, ptr %t8738 - %t8739 = add i32 %t8725, 1 - store i32 %t8739, ptr %t8722 - %t8740 = load ptr, ptr %t337 - %t8741 = getelementptr inbounds %LSlice, ptr %t8740, i32 0, i32 1 - %t8742 = getelementptr inbounds %LSlice, ptr %t8740, i32 0, i32 2 - %t8743 = getelementptr inbounds %LSlice, ptr %t8740, i32 0, i32 0 - %t8744 = load i32, ptr %t8741 - %t8745 = load i32, ptr %t8742 - %t8746 = icmp sge i32 %t8744, %t8745 - br i1 %t8746, label %grow1864, label %put1865 -grow1864: - %t8747 = mul i32 %t8745, 2 - %t8748 = icmp eq i32 %t8745, 0 - %t8749 = select i1 %t8748, i32 8, i32 %t8747 - %t8750 = getelementptr ptr, ptr null, i32 1 - %t8751 = ptrtoint ptr %t8750 to i64 - %t8752 = zext i32 %t8749 to i64 - %t8753 = mul i64 %t8752, %t8751 - %t8754 = load ptr, ptr %t8743 - %t8755 = call ptr @realloc(ptr %t8754, i64 %t8753) - store ptr %t8755, ptr %t8743 - store i32 %t8749, ptr %t8742 - br label %put1865 -put1865: - %t8756 = load ptr, ptr %t8743 - %t8757 = getelementptr inbounds ptr, ptr %t8756, i32 %t8744 - store ptr @.str7092, ptr %t8757 - %t8758 = add i32 %t8744, 1 - store i32 %t8758, ptr %t8741 - br label %ifend1857 -ifend1857: - %t8759 = load ptr, ptr %t1 - %t8760 = call i32 @fn_str_eq(ptr %t8759, ptr @.str7093) - %t8761 = icmp ne i32 %t8760, 0 - br i1 %t8761, label %then1866, label %ifend1868 -then1866: - store ptr @.str7094, ptr %t330 - br label %ifend1868 -ifend1868: - %t8762 = load ptr, ptr %t1 - %t8763 = call i32 @fn_str_eq(ptr %t8762, ptr @.str7095) - %t8764 = icmp ne i32 %t8763, 0 - br i1 %t8764, label %then1869, label %ifend1871 -then1869: - store ptr @.str7096, ptr %t330 - %t8765 = load ptr, ptr %t337 - %t8766 = getelementptr inbounds %LSlice, ptr %t8765, i32 0, i32 1 - %t8767 = getelementptr inbounds %LSlice, ptr %t8765, i32 0, i32 2 - %t8768 = getelementptr inbounds %LSlice, ptr %t8765, i32 0, i32 0 - %t8769 = load i32, ptr %t8766 - %t8770 = load i32, ptr %t8767 - %t8771 = icmp sge i32 %t8769, %t8770 - br i1 %t8771, label %grow1872, label %put1873 -grow1872: - %t8772 = mul i32 %t8770, 2 - %t8773 = icmp eq i32 %t8770, 0 - %t8774 = select i1 %t8773, i32 8, i32 %t8772 - %t8775 = getelementptr ptr, ptr null, i32 1 - %t8776 = ptrtoint ptr %t8775 to i64 - %t8777 = zext i32 %t8774 to i64 - %t8778 = mul i64 %t8777, %t8776 - %t8779 = load ptr, ptr %t8768 - %t8780 = call ptr @realloc(ptr %t8779, i64 %t8778) - store ptr %t8780, ptr %t8768 - store i32 %t8774, ptr %t8767 - br label %put1873 -put1873: - %t8781 = load ptr, ptr %t8768 - %t8782 = getelementptr inbounds ptr, ptr %t8781, i32 %t8769 - store ptr @.str7097, ptr %t8782 - %t8783 = add i32 %t8769, 1 - store i32 %t8783, ptr %t8766 - br label %ifend1871 -ifend1871: - %t8784 = load ptr, ptr %t1 - %t8785 = call i32 @fn_str_eq(ptr %t8784, ptr @.str7098) - %t8786 = icmp ne i32 %t8785, 0 - br i1 %t8786, label %then1874, label %ifend1876 -then1874: - store ptr @.str7099, ptr %t330 - %t8787 = load ptr, ptr %t337 - %t8788 = getelementptr inbounds %LSlice, ptr %t8787, i32 0, i32 1 - %t8789 = getelementptr inbounds %LSlice, ptr %t8787, i32 0, i32 2 - %t8790 = getelementptr inbounds %LSlice, ptr %t8787, i32 0, i32 0 - %t8791 = load i32, ptr %t8788 - %t8792 = load i32, ptr %t8789 - %t8793 = icmp sge i32 %t8791, %t8792 - br i1 %t8793, label %grow1877, label %put1878 -grow1877: - %t8794 = mul i32 %t8792, 2 - %t8795 = icmp eq i32 %t8792, 0 - %t8796 = select i1 %t8795, i32 8, i32 %t8794 - %t8797 = getelementptr ptr, ptr null, i32 1 - %t8798 = ptrtoint ptr %t8797 to i64 - %t8799 = zext i32 %t8796 to i64 - %t8800 = mul i64 %t8799, %t8798 - %t8801 = load ptr, ptr %t8790 - %t8802 = call ptr @realloc(ptr %t8801, i64 %t8800) - store ptr %t8802, ptr %t8790 - store i32 %t8796, ptr %t8789 - br label %put1878 -put1878: - %t8803 = load ptr, ptr %t8790 - %t8804 = getelementptr inbounds ptr, ptr %t8803, i32 %t8791 - store ptr @.str7100, ptr %t8804 - %t8805 = add i32 %t8791, 1 - store i32 %t8805, ptr %t8788 - br label %ifend1876 -ifend1876: - %t8806 = load ptr, ptr %t1 - %t8807 = call i32 @fn_str_eq(ptr %t8806, ptr @.str7101) - %t8808 = icmp ne i32 %t8807, 0 - br i1 %t8808, label %then1879, label %ifend1881 -then1879: - store ptr @.str7102, ptr %t330 - %t8809 = load ptr, ptr %t337 - %t8810 = getelementptr inbounds %LSlice, ptr %t8809, i32 0, i32 1 - %t8811 = getelementptr inbounds %LSlice, ptr %t8809, i32 0, i32 2 - %t8812 = getelementptr inbounds %LSlice, ptr %t8809, i32 0, i32 0 - %t8813 = load i32, ptr %t8810 - %t8814 = load i32, ptr %t8811 - %t8815 = icmp sge i32 %t8813, %t8814 - br i1 %t8815, label %grow1882, label %put1883 -grow1882: - %t8816 = mul i32 %t8814, 2 - %t8817 = icmp eq i32 %t8814, 0 - %t8818 = select i1 %t8817, i32 8, i32 %t8816 - %t8819 = getelementptr ptr, ptr null, i32 1 - %t8820 = ptrtoint ptr %t8819 to i64 - %t8821 = zext i32 %t8818 to i64 - %t8822 = mul i64 %t8821, %t8820 - %t8823 = load ptr, ptr %t8812 - %t8824 = call ptr @realloc(ptr %t8823, i64 %t8822) - store ptr %t8824, ptr %t8812 - store i32 %t8818, ptr %t8811 - br label %put1883 -put1883: - %t8825 = load ptr, ptr %t8812 - %t8826 = getelementptr inbounds ptr, ptr %t8825, i32 %t8813 - store ptr @.str7103, ptr %t8826 - %t8827 = add i32 %t8813, 1 - store i32 %t8827, ptr %t8810 - br label %ifend1881 -ifend1881: - %t8828 = load ptr, ptr %t1 - %t8829 = call i32 @fn_str_eq(ptr %t8828, ptr @.str7104) - %t8830 = icmp ne i32 %t8829, 0 - br i1 %t8830, label %then1884, label %ifend1886 -then1884: - store ptr @.str7105, ptr %t330 - br label %ifend1886 -ifend1886: - %t8831 = load ptr, ptr %t1 - %t8832 = call i32 @fn_str_eq(ptr %t8831, ptr @.str7106) - %t8833 = icmp ne i32 %t8832, 0 - br i1 %t8833, label %then1887, label %ifend1889 -then1887: - store ptr @.str7107, ptr %t330 - %t8834 = load ptr, ptr %t337 - %t8835 = getelementptr inbounds %LSlice, ptr %t8834, i32 0, i32 1 - %t8836 = getelementptr inbounds %LSlice, ptr %t8834, i32 0, i32 2 - %t8837 = getelementptr inbounds %LSlice, ptr %t8834, i32 0, i32 0 - %t8838 = load i32, ptr %t8835 - %t8839 = load i32, ptr %t8836 - %t8840 = icmp sge i32 %t8838, %t8839 - br i1 %t8840, label %grow1890, label %put1891 -grow1890: - %t8841 = mul i32 %t8839, 2 - %t8842 = icmp eq i32 %t8839, 0 - %t8843 = select i1 %t8842, i32 8, i32 %t8841 - %t8844 = getelementptr ptr, ptr null, i32 1 - %t8845 = ptrtoint ptr %t8844 to i64 - %t8846 = zext i32 %t8843 to i64 - %t8847 = mul i64 %t8846, %t8845 - %t8848 = load ptr, ptr %t8837 - %t8849 = call ptr @realloc(ptr %t8848, i64 %t8847) - store ptr %t8849, ptr %t8837 - store i32 %t8843, ptr %t8836 - br label %put1891 -put1891: - %t8850 = load ptr, ptr %t8837 - %t8851 = getelementptr inbounds ptr, ptr %t8850, i32 %t8838 - store ptr @.str7108, ptr %t8851 - %t8852 = add i32 %t8838, 1 - store i32 %t8852, ptr %t8835 - br label %ifend1889 -ifend1889: - %t8853 = load ptr, ptr %t1 - %t8854 = call i32 @fn_str_eq(ptr %t8853, ptr @.str7109) - %t8855 = icmp ne i32 %t8854, 0 - br i1 %t8855, label %then1892, label %ifend1894 -then1892: - store ptr @.str7110, ptr %t330 - %t8856 = load ptr, ptr %t337 - %t8857 = getelementptr inbounds %LSlice, ptr %t8856, i32 0, i32 1 - %t8858 = getelementptr inbounds %LSlice, ptr %t8856, i32 0, i32 2 - %t8859 = getelementptr inbounds %LSlice, ptr %t8856, i32 0, i32 0 - %t8860 = load i32, ptr %t8857 + %t8823 = load ptr, ptr %t8810 + %t8824 = getelementptr inbounds ptr, ptr %t8823, i32 %t8811 + store ptr @.str7403, ptr %t8824 + %t8825 = add i32 %t8811, 1 + store i32 %t8825, ptr %t8808 + br label %ifend1848 +ifend1848: + %t8826 = load ptr, ptr %t1 + %t8827 = call i32 @fn_str_eq(ptr %t8826, ptr @.str7404) + %t8828 = icmp ne i32 %t8827, 0 + br i1 %t8828, label %then1851, label %ifend1853 +then1851: + store ptr @.str7405, ptr %t380 + br label %ifend1853 +ifend1853: + %t8829 = load ptr, ptr %t1 + %t8830 = call i32 @fn_str_eq(ptr %t8829, ptr @.str7406) + %t8831 = icmp ne i32 %t8830, 0 + br i1 %t8831, label %then1854, label %ifend1856 +then1854: + store ptr @.str7407, ptr %t380 + %t8832 = load ptr, ptr %t387 + %t8833 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 1 + %t8834 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 2 + %t8835 = getelementptr inbounds %LSlice, ptr %t8832, i32 0, i32 0 + %t8836 = load i32, ptr %t8833 + %t8837 = load i32, ptr %t8834 + %t8838 = icmp sge i32 %t8836, %t8837 + br i1 %t8838, label %grow1857, label %put1858 +grow1857: + %t8839 = mul i32 %t8837, 2 + %t8840 = icmp eq i32 %t8837, 0 + %t8841 = select i1 %t8840, i32 8, i32 %t8839 + %t8842 = getelementptr ptr, ptr null, i32 1 + %t8843 = ptrtoint ptr %t8842 to i64 + %t8844 = zext i32 %t8841 to i64 + %t8845 = mul i64 %t8844, %t8843 + %t8846 = load ptr, ptr %t8835 + %t8847 = call ptr @realloc(ptr %t8846, i64 %t8845) + store ptr %t8847, ptr %t8835 + store i32 %t8841, ptr %t8834 + br label %put1858 +put1858: + %t8848 = load ptr, ptr %t8835 + %t8849 = getelementptr inbounds ptr, ptr %t8848, i32 %t8836 + store ptr @.str7408, ptr %t8849 + %t8850 = add i32 %t8836, 1 + store i32 %t8850, ptr %t8833 + br label %ifend1856 +ifend1856: + br label %ifend1786 +ifend1786: + %t8851 = load ptr, ptr %t0 + %t8852 = call i32 @fn_str_eq(ptr %t8851, ptr @.str7409) + %t8853 = icmp ne i32 %t8852, 0 + br i1 %t8853, label %then1859, label %ifend1861 +then1859: + %t8854 = load ptr, ptr %t1 + %t8855 = call i32 @fn_str_eq(ptr %t8854, ptr @.str7410) + %t8856 = icmp ne i32 %t8855, 0 + br i1 %t8856, label %then1862, label %ifend1864 +then1862: + store ptr @.str7411, ptr %t380 + %t8857 = load ptr, ptr %t387 + %t8858 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 1 + %t8859 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 2 + %t8860 = getelementptr inbounds %LSlice, ptr %t8857, i32 0, i32 0 %t8861 = load i32, ptr %t8858 - %t8862 = icmp sge i32 %t8860, %t8861 - br i1 %t8862, label %grow1895, label %put1896 -grow1895: - %t8863 = mul i32 %t8861, 2 - %t8864 = icmp eq i32 %t8861, 0 - %t8865 = select i1 %t8864, i32 8, i32 %t8863 - %t8866 = getelementptr ptr, ptr null, i32 1 - %t8867 = ptrtoint ptr %t8866 to i64 - %t8868 = zext i32 %t8865 to i64 - %t8869 = mul i64 %t8868, %t8867 - %t8870 = load ptr, ptr %t8859 - %t8871 = call ptr @realloc(ptr %t8870, i64 %t8869) - store ptr %t8871, ptr %t8859 - store i32 %t8865, ptr %t8858 - br label %put1896 -put1896: - %t8872 = load ptr, ptr %t8859 - %t8873 = getelementptr inbounds ptr, ptr %t8872, i32 %t8860 - store ptr @.str7111, ptr %t8873 - %t8874 = add i32 %t8860, 1 - store i32 %t8874, ptr %t8857 - %t8875 = load ptr, ptr %t337 - %t8876 = getelementptr inbounds %LSlice, ptr %t8875, i32 0, i32 1 - %t8877 = getelementptr inbounds %LSlice, ptr %t8875, i32 0, i32 2 - %t8878 = getelementptr inbounds %LSlice, ptr %t8875, i32 0, i32 0 - %t8879 = load i32, ptr %t8876 - %t8880 = load i32, ptr %t8877 - %t8881 = icmp sge i32 %t8879, %t8880 - br i1 %t8881, label %grow1897, label %put1898 -grow1897: - %t8882 = mul i32 %t8880, 2 - %t8883 = icmp eq i32 %t8880, 0 - %t8884 = select i1 %t8883, i32 8, i32 %t8882 - %t8885 = getelementptr ptr, ptr null, i32 1 - %t8886 = ptrtoint ptr %t8885 to i64 - %t8887 = zext i32 %t8884 to i64 - %t8888 = mul i64 %t8887, %t8886 - %t8889 = load ptr, ptr %t8878 - %t8890 = call ptr @realloc(ptr %t8889, i64 %t8888) - store ptr %t8890, ptr %t8878 - store i32 %t8884, ptr %t8877 - br label %put1898 -put1898: - %t8891 = load ptr, ptr %t8878 - %t8892 = getelementptr inbounds ptr, ptr %t8891, i32 %t8879 - store ptr @.str7112, ptr %t8892 - %t8893 = add i32 %t8879, 1 - store i32 %t8893, ptr %t8876 - %t8894 = load ptr, ptr %t337 - %t8895 = getelementptr inbounds %LSlice, ptr %t8894, i32 0, i32 1 - %t8896 = getelementptr inbounds %LSlice, ptr %t8894, i32 0, i32 2 - %t8897 = getelementptr inbounds %LSlice, ptr %t8894, i32 0, i32 0 - %t8898 = load i32, ptr %t8895 - %t8899 = load i32, ptr %t8896 - %t8900 = icmp sge i32 %t8898, %t8899 - br i1 %t8900, label %grow1899, label %put1900 -grow1899: - %t8901 = mul i32 %t8899, 2 - %t8902 = icmp eq i32 %t8899, 0 - %t8903 = select i1 %t8902, i32 8, i32 %t8901 - %t8904 = getelementptr ptr, ptr null, i32 1 - %t8905 = ptrtoint ptr %t8904 to i64 - %t8906 = zext i32 %t8903 to i64 - %t8907 = mul i64 %t8906, %t8905 - %t8908 = load ptr, ptr %t8897 - %t8909 = call ptr @realloc(ptr %t8908, i64 %t8907) - store ptr %t8909, ptr %t8897 - store i32 %t8903, ptr %t8896 - br label %put1900 -put1900: - %t8910 = load ptr, ptr %t8897 - %t8911 = getelementptr inbounds ptr, ptr %t8910, i32 %t8898 - store ptr @.str7113, ptr %t8911 - %t8912 = add i32 %t8898, 1 - store i32 %t8912, ptr %t8895 - %t8913 = load ptr, ptr %t337 - %t8914 = getelementptr inbounds %LSlice, ptr %t8913, i32 0, i32 1 - %t8915 = getelementptr inbounds %LSlice, ptr %t8913, i32 0, i32 2 - %t8916 = getelementptr inbounds %LSlice, ptr %t8913, i32 0, i32 0 - %t8917 = load i32, ptr %t8914 - %t8918 = load i32, ptr %t8915 - %t8919 = icmp sge i32 %t8917, %t8918 - br i1 %t8919, label %grow1901, label %put1902 -grow1901: - %t8920 = mul i32 %t8918, 2 - %t8921 = icmp eq i32 %t8918, 0 - %t8922 = select i1 %t8921, i32 8, i32 %t8920 - %t8923 = getelementptr ptr, ptr null, i32 1 - %t8924 = ptrtoint ptr %t8923 to i64 - %t8925 = zext i32 %t8922 to i64 - %t8926 = mul i64 %t8925, %t8924 - %t8927 = load ptr, ptr %t8916 - %t8928 = call ptr @realloc(ptr %t8927, i64 %t8926) - store ptr %t8928, ptr %t8916 - store i32 %t8922, ptr %t8915 - br label %put1902 -put1902: - %t8929 = load ptr, ptr %t8916 - %t8930 = getelementptr inbounds ptr, ptr %t8929, i32 %t8917 - store ptr @.str7114, ptr %t8930 - %t8931 = add i32 %t8917, 1 - store i32 %t8931, ptr %t8914 - %t8932 = load ptr, ptr %t337 - %t8933 = getelementptr inbounds %LSlice, ptr %t8932, i32 0, i32 1 - %t8934 = getelementptr inbounds %LSlice, ptr %t8932, i32 0, i32 2 - %t8935 = getelementptr inbounds %LSlice, ptr %t8932, i32 0, i32 0 - %t8936 = load i32, ptr %t8933 - %t8937 = load i32, ptr %t8934 - %t8938 = icmp sge i32 %t8936, %t8937 - br i1 %t8938, label %grow1903, label %put1904 -grow1903: - %t8939 = mul i32 %t8937, 2 - %t8940 = icmp eq i32 %t8937, 0 - %t8941 = select i1 %t8940, i32 8, i32 %t8939 - %t8942 = getelementptr ptr, ptr null, i32 1 - %t8943 = ptrtoint ptr %t8942 to i64 - %t8944 = zext i32 %t8941 to i64 - %t8945 = mul i64 %t8944, %t8943 - %t8946 = load ptr, ptr %t8935 - %t8947 = call ptr @realloc(ptr %t8946, i64 %t8945) - store ptr %t8947, ptr %t8935 - store i32 %t8941, ptr %t8934 - br label %put1904 -put1904: - %t8948 = load ptr, ptr %t8935 - %t8949 = getelementptr inbounds ptr, ptr %t8948, i32 %t8936 - store ptr @.str7115, ptr %t8949 - %t8950 = add i32 %t8936, 1 - store i32 %t8950, ptr %t8933 - %t8951 = load ptr, ptr %t337 + %t8862 = load i32, ptr %t8859 + %t8863 = icmp sge i32 %t8861, %t8862 + br i1 %t8863, label %grow1865, label %put1866 +grow1865: + %t8864 = mul i32 %t8862, 2 + %t8865 = icmp eq i32 %t8862, 0 + %t8866 = select i1 %t8865, i32 8, i32 %t8864 + %t8867 = getelementptr ptr, ptr null, i32 1 + %t8868 = ptrtoint ptr %t8867 to i64 + %t8869 = zext i32 %t8866 to i64 + %t8870 = mul i64 %t8869, %t8868 + %t8871 = load ptr, ptr %t8860 + %t8872 = call ptr @realloc(ptr %t8871, i64 %t8870) + store ptr %t8872, ptr %t8860 + store i32 %t8866, ptr %t8859 + br label %put1866 +put1866: + %t8873 = load ptr, ptr %t8860 + %t8874 = getelementptr inbounds ptr, ptr %t8873, i32 %t8861 + store ptr @.str7412, ptr %t8874 + %t8875 = add i32 %t8861, 1 + store i32 %t8875, ptr %t8858 + br label %ifend1864 +ifend1864: + %t8876 = load ptr, ptr %t1 + %t8877 = call i32 @fn_str_eq(ptr %t8876, ptr @.str7413) + %t8878 = icmp ne i32 %t8877, 0 + br i1 %t8878, label %then1867, label %ifend1869 +then1867: + store ptr @.str7414, ptr %t380 + %t8879 = load ptr, ptr %t387 + %t8880 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 1 + %t8881 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 2 + %t8882 = getelementptr inbounds %LSlice, ptr %t8879, i32 0, i32 0 + %t8883 = load i32, ptr %t8880 + %t8884 = load i32, ptr %t8881 + %t8885 = icmp sge i32 %t8883, %t8884 + br i1 %t8885, label %grow1870, label %put1871 +grow1870: + %t8886 = mul i32 %t8884, 2 + %t8887 = icmp eq i32 %t8884, 0 + %t8888 = select i1 %t8887, i32 8, i32 %t8886 + %t8889 = getelementptr ptr, ptr null, i32 1 + %t8890 = ptrtoint ptr %t8889 to i64 + %t8891 = zext i32 %t8888 to i64 + %t8892 = mul i64 %t8891, %t8890 + %t8893 = load ptr, ptr %t8882 + %t8894 = call ptr @realloc(ptr %t8893, i64 %t8892) + store ptr %t8894, ptr %t8882 + store i32 %t8888, ptr %t8881 + br label %put1871 +put1871: + %t8895 = load ptr, ptr %t8882 + %t8896 = getelementptr inbounds ptr, ptr %t8895, i32 %t8883 + store ptr @.str7415, ptr %t8896 + %t8897 = add i32 %t8883, 1 + store i32 %t8897, ptr %t8880 + br label %ifend1869 +ifend1869: + %t8898 = load ptr, ptr %t1 + %t8899 = call i32 @fn_str_eq(ptr %t8898, ptr @.str7416) + %t8900 = icmp ne i32 %t8899, 0 + br i1 %t8900, label %then1872, label %ifend1874 +then1872: + store ptr @.str7417, ptr %t380 + %t8901 = load ptr, ptr %t387 + %t8902 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 1 + %t8903 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 2 + %t8904 = getelementptr inbounds %LSlice, ptr %t8901, i32 0, i32 0 + %t8905 = load i32, ptr %t8902 + %t8906 = load i32, ptr %t8903 + %t8907 = icmp sge i32 %t8905, %t8906 + br i1 %t8907, label %grow1875, label %put1876 +grow1875: + %t8908 = mul i32 %t8906, 2 + %t8909 = icmp eq i32 %t8906, 0 + %t8910 = select i1 %t8909, i32 8, i32 %t8908 + %t8911 = getelementptr ptr, ptr null, i32 1 + %t8912 = ptrtoint ptr %t8911 to i64 + %t8913 = zext i32 %t8910 to i64 + %t8914 = mul i64 %t8913, %t8912 + %t8915 = load ptr, ptr %t8904 + %t8916 = call ptr @realloc(ptr %t8915, i64 %t8914) + store ptr %t8916, ptr %t8904 + store i32 %t8910, ptr %t8903 + br label %put1876 +put1876: + %t8917 = load ptr, ptr %t8904 + %t8918 = getelementptr inbounds ptr, ptr %t8917, i32 %t8905 + store ptr @.str7418, ptr %t8918 + %t8919 = add i32 %t8905, 1 + store i32 %t8919, ptr %t8902 + br label %ifend1874 +ifend1874: + %t8920 = load ptr, ptr %t1 + %t8921 = call i32 @fn_str_eq(ptr %t8920, ptr @.str7419) + %t8922 = icmp ne i32 %t8921, 0 + br i1 %t8922, label %then1877, label %ifend1879 +then1877: + store ptr @.str7420, ptr %t380 + %t8923 = load ptr, ptr %t387 + %t8924 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 1 + %t8925 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 2 + %t8926 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 0 + %t8927 = load i32, ptr %t8924 + %t8928 = load i32, ptr %t8925 + %t8929 = icmp sge i32 %t8927, %t8928 + br i1 %t8929, label %grow1880, label %put1881 +grow1880: + %t8930 = mul i32 %t8928, 2 + %t8931 = icmp eq i32 %t8928, 0 + %t8932 = select i1 %t8931, i32 8, i32 %t8930 + %t8933 = getelementptr ptr, ptr null, i32 1 + %t8934 = ptrtoint ptr %t8933 to i64 + %t8935 = zext i32 %t8932 to i64 + %t8936 = mul i64 %t8935, %t8934 + %t8937 = load ptr, ptr %t8926 + %t8938 = call ptr @realloc(ptr %t8937, i64 %t8936) + store ptr %t8938, ptr %t8926 + store i32 %t8932, ptr %t8925 + br label %put1881 +put1881: + %t8939 = load ptr, ptr %t8926 + %t8940 = getelementptr inbounds ptr, ptr %t8939, i32 %t8927 + store ptr @.str7421, ptr %t8940 + %t8941 = add i32 %t8927, 1 + store i32 %t8941, ptr %t8924 + br label %ifend1879 +ifend1879: + br label %ifend1861 +ifend1861: + %t8942 = load ptr, ptr %t0 + %t8943 = call i32 @fn_str_eq(ptr %t8942, ptr @.str7422) + %t8944 = icmp ne i32 %t8943, 0 + br i1 %t8944, label %then1882, label %ifend1884 +then1882: + %t8945 = load ptr, ptr %t1 + %t8946 = call i32 @fn_str_eq(ptr %t8945, ptr @.str7423) + %t8947 = icmp ne i32 %t8946, 0 + br i1 %t8947, label %then1885, label %ifend1887 +then1885: + store ptr @.str7424, ptr %t380 + br label %ifend1887 +ifend1887: + %t8948 = load ptr, ptr %t1 + %t8949 = call i32 @fn_str_eq(ptr %t8948, ptr @.str7425) + %t8950 = icmp ne i32 %t8949, 0 + br i1 %t8950, label %then1888, label %ifend1890 +then1888: + store ptr @.str7426, ptr %t380 + %t8951 = load ptr, ptr %t387 %t8952 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 1 %t8953 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 2 %t8954 = getelementptr inbounds %LSlice, ptr %t8951, i32 0, i32 0 %t8955 = load i32, ptr %t8952 %t8956 = load i32, ptr %t8953 %t8957 = icmp sge i32 %t8955, %t8956 - br i1 %t8957, label %grow1905, label %put1906 -grow1905: + br i1 %t8957, label %grow1891, label %put1892 +grow1891: %t8958 = mul i32 %t8956, 2 %t8959 = icmp eq i32 %t8956, 0 %t8960 = select i1 %t8959, i32 8, i32 %t8958 @@ -70337,107 +76795,108 @@ grow1905: %t8966 = call ptr @realloc(ptr %t8965, i64 %t8964) store ptr %t8966, ptr %t8954 store i32 %t8960, ptr %t8953 - br label %put1906 -put1906: + br label %put1892 +put1892: %t8967 = load ptr, ptr %t8954 %t8968 = getelementptr inbounds ptr, ptr %t8967, i32 %t8955 - store ptr @.str7116, ptr %t8968 + store ptr @.str7427, ptr %t8968 %t8969 = add i32 %t8955, 1 store i32 %t8969, ptr %t8952 - br label %ifend1894 -ifend1894: + br label %ifend1890 +ifend1890: %t8970 = load ptr, ptr %t1 - %t8971 = call i32 @fn_str_eq(ptr %t8970, ptr @.str7117) + %t8971 = call i32 @fn_str_eq(ptr %t8970, ptr @.str7428) %t8972 = icmp ne i32 %t8971, 0 - br i1 %t8972, label %then1907, label %ifend1909 -then1907: - store ptr @.str7118, ptr %t330 - br label %ifend1909 -ifend1909: - %t8973 = load ptr, ptr %t1 - %t8974 = call i32 @fn_str_eq(ptr %t8973, ptr @.str7119) - %t8975 = icmp ne i32 %t8974, 0 - br i1 %t8975, label %then1910, label %ifend1912 -then1910: - store ptr @.str7120, ptr %t330 - %t8976 = load ptr, ptr %t337 - %t8977 = getelementptr inbounds %LSlice, ptr %t8976, i32 0, i32 1 - %t8978 = getelementptr inbounds %LSlice, ptr %t8976, i32 0, i32 2 - %t8979 = getelementptr inbounds %LSlice, ptr %t8976, i32 0, i32 0 - %t8980 = load i32, ptr %t8977 - %t8981 = load i32, ptr %t8978 - %t8982 = icmp sge i32 %t8980, %t8981 - br i1 %t8982, label %grow1913, label %put1914 -grow1913: - %t8983 = mul i32 %t8981, 2 - %t8984 = icmp eq i32 %t8981, 0 - %t8985 = select i1 %t8984, i32 8, i32 %t8983 - %t8986 = getelementptr ptr, ptr null, i32 1 - %t8987 = ptrtoint ptr %t8986 to i64 - %t8988 = zext i32 %t8985 to i64 - %t8989 = mul i64 %t8988, %t8987 - %t8990 = load ptr, ptr %t8979 - %t8991 = call ptr @realloc(ptr %t8990, i64 %t8989) - store ptr %t8991, ptr %t8979 - store i32 %t8985, ptr %t8978 - br label %put1914 -put1914: - %t8992 = load ptr, ptr %t8979 - %t8993 = getelementptr inbounds ptr, ptr %t8992, i32 %t8980 - store ptr @.str7121, ptr %t8993 - %t8994 = add i32 %t8980, 1 - store i32 %t8994, ptr %t8977 - br label %ifend1912 -ifend1912: - br label %ifend1819 -ifend1819: - %t8995 = load ptr, ptr %t0 - %t8996 = call i32 @fn_str_eq(ptr %t8995, ptr @.str7122) - %t8997 = icmp ne i32 %t8996, 0 - br i1 %t8997, label %then1915, label %ifend1917 -then1915: - %t8998 = load ptr, ptr %t1 - %t8999 = call i32 @fn_str_eq(ptr %t8998, ptr @.str7123) - %t9000 = icmp ne i32 %t8999, 0 - br i1 %t9000, label %then1918, label %ifend1920 -then1918: - store ptr @.str7124, ptr %t330 - %t9001 = load ptr, ptr %t337 - %t9002 = getelementptr inbounds %LSlice, ptr %t9001, i32 0, i32 1 - %t9003 = getelementptr inbounds %LSlice, ptr %t9001, i32 0, i32 2 - %t9004 = getelementptr inbounds %LSlice, ptr %t9001, i32 0, i32 0 - %t9005 = load i32, ptr %t9002 - %t9006 = load i32, ptr %t9003 - %t9007 = icmp sge i32 %t9005, %t9006 - br i1 %t9007, label %grow1921, label %put1922 -grow1921: - %t9008 = mul i32 %t9006, 2 - %t9009 = icmp eq i32 %t9006, 0 - %t9010 = select i1 %t9009, i32 8, i32 %t9008 - %t9011 = getelementptr ptr, ptr null, i32 1 - %t9012 = ptrtoint ptr %t9011 to i64 - %t9013 = zext i32 %t9010 to i64 - %t9014 = mul i64 %t9013, %t9012 - %t9015 = load ptr, ptr %t9004 - %t9016 = call ptr @realloc(ptr %t9015, i64 %t9014) - store ptr %t9016, ptr %t9004 - store i32 %t9010, ptr %t9003 - br label %put1922 -put1922: - %t9017 = load ptr, ptr %t9004 - %t9018 = getelementptr inbounds ptr, ptr %t9017, i32 %t9005 - store ptr @.str7125, ptr %t9018 - %t9019 = add i32 %t9005, 1 - store i32 %t9019, ptr %t9002 - %t9020 = load ptr, ptr %t337 + br i1 %t8972, label %then1893, label %ifend1895 +then1893: + store ptr @.str7429, ptr %t380 + %t8973 = load ptr, ptr %t387 + %t8974 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 1 + %t8975 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 2 + %t8976 = getelementptr inbounds %LSlice, ptr %t8973, i32 0, i32 0 + %t8977 = load i32, ptr %t8974 + %t8978 = load i32, ptr %t8975 + %t8979 = icmp sge i32 %t8977, %t8978 + br i1 %t8979, label %grow1896, label %put1897 +grow1896: + %t8980 = mul i32 %t8978, 2 + %t8981 = icmp eq i32 %t8978, 0 + %t8982 = select i1 %t8981, i32 8, i32 %t8980 + %t8983 = getelementptr ptr, ptr null, i32 1 + %t8984 = ptrtoint ptr %t8983 to i64 + %t8985 = zext i32 %t8982 to i64 + %t8986 = mul i64 %t8985, %t8984 + %t8987 = load ptr, ptr %t8976 + %t8988 = call ptr @realloc(ptr %t8987, i64 %t8986) + store ptr %t8988, ptr %t8976 + store i32 %t8982, ptr %t8975 + br label %put1897 +put1897: + %t8989 = load ptr, ptr %t8976 + %t8990 = getelementptr inbounds ptr, ptr %t8989, i32 %t8977 + store ptr @.str7430, ptr %t8990 + %t8991 = add i32 %t8977, 1 + store i32 %t8991, ptr %t8974 + br label %ifend1895 +ifend1895: + %t8992 = load ptr, ptr %t1 + %t8993 = call i32 @fn_str_eq(ptr %t8992, ptr @.str7431) + %t8994 = icmp ne i32 %t8993, 0 + br i1 %t8994, label %then1898, label %ifend1900 +then1898: + store ptr @.str7432, ptr %t380 + %t8995 = load ptr, ptr %t387 + %t8996 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 1 + %t8997 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 2 + %t8998 = getelementptr inbounds %LSlice, ptr %t8995, i32 0, i32 0 + %t8999 = load i32, ptr %t8996 + %t9000 = load i32, ptr %t8997 + %t9001 = icmp sge i32 %t8999, %t9000 + br i1 %t9001, label %grow1901, label %put1902 +grow1901: + %t9002 = mul i32 %t9000, 2 + %t9003 = icmp eq i32 %t9000, 0 + %t9004 = select i1 %t9003, i32 8, i32 %t9002 + %t9005 = getelementptr ptr, ptr null, i32 1 + %t9006 = ptrtoint ptr %t9005 to i64 + %t9007 = zext i32 %t9004 to i64 + %t9008 = mul i64 %t9007, %t9006 + %t9009 = load ptr, ptr %t8998 + %t9010 = call ptr @realloc(ptr %t9009, i64 %t9008) + store ptr %t9010, ptr %t8998 + store i32 %t9004, ptr %t8997 + br label %put1902 +put1902: + %t9011 = load ptr, ptr %t8998 + %t9012 = getelementptr inbounds ptr, ptr %t9011, i32 %t8999 + store ptr @.str7433, ptr %t9012 + %t9013 = add i32 %t8999, 1 + store i32 %t9013, ptr %t8996 + br label %ifend1900 +ifend1900: + %t9014 = load ptr, ptr %t1 + %t9015 = call i32 @fn_str_eq(ptr %t9014, ptr @.str7434) + %t9016 = icmp ne i32 %t9015, 0 + br i1 %t9016, label %then1903, label %ifend1905 +then1903: + store ptr @.str7435, ptr %t380 + br label %ifend1905 +ifend1905: + %t9017 = load ptr, ptr %t1 + %t9018 = call i32 @fn_str_eq(ptr %t9017, ptr @.str7436) + %t9019 = icmp ne i32 %t9018, 0 + br i1 %t9019, label %then1906, label %ifend1908 +then1906: + store ptr @.str7437, ptr %t380 + %t9020 = load ptr, ptr %t387 %t9021 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 1 %t9022 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 2 %t9023 = getelementptr inbounds %LSlice, ptr %t9020, i32 0, i32 0 %t9024 = load i32, ptr %t9021 %t9025 = load i32, ptr %t9022 %t9026 = icmp sge i32 %t9024, %t9025 - br i1 %t9026, label %grow1923, label %put1924 -grow1923: + br i1 %t9026, label %grow1909, label %put1910 +grow1909: %t9027 = mul i32 %t9025, 2 %t9028 = icmp eq i32 %t9025, 0 %t9029 = select i1 %t9028, i32 8, i32 %t9027 @@ -70449,720 +76908,751 @@ grow1923: %t9035 = call ptr @realloc(ptr %t9034, i64 %t9033) store ptr %t9035, ptr %t9023 store i32 %t9029, ptr %t9022 - br label %put1924 -put1924: + br label %put1910 +put1910: %t9036 = load ptr, ptr %t9023 %t9037 = getelementptr inbounds ptr, ptr %t9036, i32 %t9024 - store ptr @.str7126, ptr %t9037 + store ptr @.str7438, ptr %t9037 %t9038 = add i32 %t9024, 1 store i32 %t9038, ptr %t9021 - %t9039 = load ptr, ptr %t337 - %t9040 = getelementptr inbounds %LSlice, ptr %t9039, i32 0, i32 1 - %t9041 = getelementptr inbounds %LSlice, ptr %t9039, i32 0, i32 2 - %t9042 = getelementptr inbounds %LSlice, ptr %t9039, i32 0, i32 0 - %t9043 = load i32, ptr %t9040 - %t9044 = load i32, ptr %t9041 - %t9045 = icmp sge i32 %t9043, %t9044 - br i1 %t9045, label %grow1925, label %put1926 -grow1925: - %t9046 = mul i32 %t9044, 2 - %t9047 = icmp eq i32 %t9044, 0 - %t9048 = select i1 %t9047, i32 8, i32 %t9046 - %t9049 = getelementptr ptr, ptr null, i32 1 - %t9050 = ptrtoint ptr %t9049 to i64 - %t9051 = zext i32 %t9048 to i64 - %t9052 = mul i64 %t9051, %t9050 - %t9053 = load ptr, ptr %t9042 - %t9054 = call ptr @realloc(ptr %t9053, i64 %t9052) - store ptr %t9054, ptr %t9042 - store i32 %t9048, ptr %t9041 - br label %put1926 -put1926: - %t9055 = load ptr, ptr %t9042 - %t9056 = getelementptr inbounds ptr, ptr %t9055, i32 %t9043 - store ptr @.str7127, ptr %t9056 - %t9057 = add i32 %t9043, 1 - store i32 %t9057, ptr %t9040 - %t9058 = load ptr, ptr %t337 - %t9059 = getelementptr inbounds %LSlice, ptr %t9058, i32 0, i32 1 - %t9060 = getelementptr inbounds %LSlice, ptr %t9058, i32 0, i32 2 - %t9061 = getelementptr inbounds %LSlice, ptr %t9058, i32 0, i32 0 - %t9062 = load i32, ptr %t9059 - %t9063 = load i32, ptr %t9060 - %t9064 = icmp sge i32 %t9062, %t9063 - br i1 %t9064, label %grow1927, label %put1928 -grow1927: - %t9065 = mul i32 %t9063, 2 - %t9066 = icmp eq i32 %t9063, 0 - %t9067 = select i1 %t9066, i32 8, i32 %t9065 - %t9068 = getelementptr ptr, ptr null, i32 1 - %t9069 = ptrtoint ptr %t9068 to i64 - %t9070 = zext i32 %t9067 to i64 - %t9071 = mul i64 %t9070, %t9069 - %t9072 = load ptr, ptr %t9061 - %t9073 = call ptr @realloc(ptr %t9072, i64 %t9071) - store ptr %t9073, ptr %t9061 - store i32 %t9067, ptr %t9060 - br label %put1928 -put1928: - %t9074 = load ptr, ptr %t9061 - %t9075 = getelementptr inbounds ptr, ptr %t9074, i32 %t9062 - store ptr @.str7128, ptr %t9075 - %t9076 = add i32 %t9062, 1 - store i32 %t9076, ptr %t9059 + br label %ifend1908 +ifend1908: + %t9039 = load ptr, ptr %t1 + %t9040 = call i32 @fn_str_eq(ptr %t9039, ptr @.str7439) + %t9041 = icmp ne i32 %t9040, 0 + br i1 %t9041, label %then1911, label %ifend1913 +then1911: + store ptr @.str7440, ptr %t380 + %t9042 = load ptr, ptr %t387 + %t9043 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 1 + %t9044 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 2 + %t9045 = getelementptr inbounds %LSlice, ptr %t9042, i32 0, i32 0 + %t9046 = load i32, ptr %t9043 + %t9047 = load i32, ptr %t9044 + %t9048 = icmp sge i32 %t9046, %t9047 + br i1 %t9048, label %grow1914, label %put1915 +grow1914: + %t9049 = mul i32 %t9047, 2 + %t9050 = icmp eq i32 %t9047, 0 + %t9051 = select i1 %t9050, i32 8, i32 %t9049 + %t9052 = getelementptr ptr, ptr null, i32 1 + %t9053 = ptrtoint ptr %t9052 to i64 + %t9054 = zext i32 %t9051 to i64 + %t9055 = mul i64 %t9054, %t9053 + %t9056 = load ptr, ptr %t9045 + %t9057 = call ptr @realloc(ptr %t9056, i64 %t9055) + store ptr %t9057, ptr %t9045 + store i32 %t9051, ptr %t9044 + br label %put1915 +put1915: + %t9058 = load ptr, ptr %t9045 + %t9059 = getelementptr inbounds ptr, ptr %t9058, i32 %t9046 + store ptr @.str7441, ptr %t9059 + %t9060 = add i32 %t9046, 1 + store i32 %t9060, ptr %t9043 + %t9061 = load ptr, ptr %t387 + %t9062 = getelementptr inbounds %LSlice, ptr %t9061, i32 0, i32 1 + %t9063 = getelementptr inbounds %LSlice, ptr %t9061, i32 0, i32 2 + %t9064 = getelementptr inbounds %LSlice, ptr %t9061, i32 0, i32 0 + %t9065 = load i32, ptr %t9062 + %t9066 = load i32, ptr %t9063 + %t9067 = icmp sge i32 %t9065, %t9066 + br i1 %t9067, label %grow1916, label %put1917 +grow1916: + %t9068 = mul i32 %t9066, 2 + %t9069 = icmp eq i32 %t9066, 0 + %t9070 = select i1 %t9069, i32 8, i32 %t9068 + %t9071 = getelementptr ptr, ptr null, i32 1 + %t9072 = ptrtoint ptr %t9071 to i64 + %t9073 = zext i32 %t9070 to i64 + %t9074 = mul i64 %t9073, %t9072 + %t9075 = load ptr, ptr %t9064 + %t9076 = call ptr @realloc(ptr %t9075, i64 %t9074) + store ptr %t9076, ptr %t9064 + store i32 %t9070, ptr %t9063 + br label %put1917 +put1917: + %t9077 = load ptr, ptr %t9064 + %t9078 = getelementptr inbounds ptr, ptr %t9077, i32 %t9065 + store ptr @.str7442, ptr %t9078 + %t9079 = add i32 %t9065, 1 + store i32 %t9079, ptr %t9062 + br label %ifend1913 +ifend1913: + %t9080 = load ptr, ptr %t1 + %t9081 = call i32 @fn_str_eq(ptr %t9080, ptr @.str7443) + %t9082 = icmp ne i32 %t9081, 0 + br i1 %t9082, label %then1918, label %ifend1920 +then1918: + store ptr @.str7444, ptr %t380 + %t9083 = load ptr, ptr %t387 + %t9084 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 1 + %t9085 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 2 + %t9086 = getelementptr inbounds %LSlice, ptr %t9083, i32 0, i32 0 + %t9087 = load i32, ptr %t9084 + %t9088 = load i32, ptr %t9085 + %t9089 = icmp sge i32 %t9087, %t9088 + br i1 %t9089, label %grow1921, label %put1922 +grow1921: + %t9090 = mul i32 %t9088, 2 + %t9091 = icmp eq i32 %t9088, 0 + %t9092 = select i1 %t9091, i32 8, i32 %t9090 + %t9093 = getelementptr ptr, ptr null, i32 1 + %t9094 = ptrtoint ptr %t9093 to i64 + %t9095 = zext i32 %t9092 to i64 + %t9096 = mul i64 %t9095, %t9094 + %t9097 = load ptr, ptr %t9086 + %t9098 = call ptr @realloc(ptr %t9097, i64 %t9096) + store ptr %t9098, ptr %t9086 + store i32 %t9092, ptr %t9085 + br label %put1922 +put1922: + %t9099 = load ptr, ptr %t9086 + %t9100 = getelementptr inbounds ptr, ptr %t9099, i32 %t9087 + store ptr @.str7445, ptr %t9100 + %t9101 = add i32 %t9087, 1 + store i32 %t9101, ptr %t9084 + %t9102 = load ptr, ptr %t387 + %t9103 = getelementptr inbounds %LSlice, ptr %t9102, i32 0, i32 1 + %t9104 = getelementptr inbounds %LSlice, ptr %t9102, i32 0, i32 2 + %t9105 = getelementptr inbounds %LSlice, ptr %t9102, i32 0, i32 0 + %t9106 = load i32, ptr %t9103 + %t9107 = load i32, ptr %t9104 + %t9108 = icmp sge i32 %t9106, %t9107 + br i1 %t9108, label %grow1923, label %put1924 +grow1923: + %t9109 = mul i32 %t9107, 2 + %t9110 = icmp eq i32 %t9107, 0 + %t9111 = select i1 %t9110, i32 8, i32 %t9109 + %t9112 = getelementptr ptr, ptr null, i32 1 + %t9113 = ptrtoint ptr %t9112 to i64 + %t9114 = zext i32 %t9111 to i64 + %t9115 = mul i64 %t9114, %t9113 + %t9116 = load ptr, ptr %t9105 + %t9117 = call ptr @realloc(ptr %t9116, i64 %t9115) + store ptr %t9117, ptr %t9105 + store i32 %t9111, ptr %t9104 + br label %put1924 +put1924: + %t9118 = load ptr, ptr %t9105 + %t9119 = getelementptr inbounds ptr, ptr %t9118, i32 %t9106 + store ptr @.str7446, ptr %t9119 + %t9120 = add i32 %t9106, 1 + store i32 %t9120, ptr %t9103 br label %ifend1920 ifend1920: - %t9077 = load ptr, ptr %t1 - %t9078 = call i32 @fn_str_eq(ptr %t9077, ptr @.str7129) - %t9079 = icmp ne i32 %t9078, 0 - br i1 %t9079, label %then1929, label %ifend1931 -then1929: - store ptr @.str7130, ptr %t330 - %t9080 = load ptr, ptr %t337 - %t9081 = getelementptr inbounds %LSlice, ptr %t9080, i32 0, i32 1 - %t9082 = getelementptr inbounds %LSlice, ptr %t9080, i32 0, i32 2 - %t9083 = getelementptr inbounds %LSlice, ptr %t9080, i32 0, i32 0 - %t9084 = load i32, ptr %t9081 - %t9085 = load i32, ptr %t9082 - %t9086 = icmp sge i32 %t9084, %t9085 - br i1 %t9086, label %grow1932, label %put1933 + %t9121 = load ptr, ptr %t1 + %t9122 = call i32 @fn_str_eq(ptr %t9121, ptr @.str7447) + %t9123 = icmp ne i32 %t9122, 0 + br i1 %t9123, label %then1925, label %ifend1927 +then1925: + store ptr @.str7448, ptr %t380 + %t9124 = load ptr, ptr %t387 + %t9125 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 1 + %t9126 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 2 + %t9127 = getelementptr inbounds %LSlice, ptr %t9124, i32 0, i32 0 + %t9128 = load i32, ptr %t9125 + %t9129 = load i32, ptr %t9126 + %t9130 = icmp sge i32 %t9128, %t9129 + br i1 %t9130, label %grow1928, label %put1929 +grow1928: + %t9131 = mul i32 %t9129, 2 + %t9132 = icmp eq i32 %t9129, 0 + %t9133 = select i1 %t9132, i32 8, i32 %t9131 + %t9134 = getelementptr ptr, ptr null, i32 1 + %t9135 = ptrtoint ptr %t9134 to i64 + %t9136 = zext i32 %t9133 to i64 + %t9137 = mul i64 %t9136, %t9135 + %t9138 = load ptr, ptr %t9127 + %t9139 = call ptr @realloc(ptr %t9138, i64 %t9137) + store ptr %t9139, ptr %t9127 + store i32 %t9133, ptr %t9126 + br label %put1929 +put1929: + %t9140 = load ptr, ptr %t9127 + %t9141 = getelementptr inbounds ptr, ptr %t9140, i32 %t9128 + store ptr @.str7449, ptr %t9141 + %t9142 = add i32 %t9128, 1 + store i32 %t9142, ptr %t9125 + %t9143 = load ptr, ptr %t387 + %t9144 = getelementptr inbounds %LSlice, ptr %t9143, i32 0, i32 1 + %t9145 = getelementptr inbounds %LSlice, ptr %t9143, i32 0, i32 2 + %t9146 = getelementptr inbounds %LSlice, ptr %t9143, i32 0, i32 0 + %t9147 = load i32, ptr %t9144 + %t9148 = load i32, ptr %t9145 + %t9149 = icmp sge i32 %t9147, %t9148 + br i1 %t9149, label %grow1930, label %put1931 +grow1930: + %t9150 = mul i32 %t9148, 2 + %t9151 = icmp eq i32 %t9148, 0 + %t9152 = select i1 %t9151, i32 8, i32 %t9150 + %t9153 = getelementptr ptr, ptr null, i32 1 + %t9154 = ptrtoint ptr %t9153 to i64 + %t9155 = zext i32 %t9152 to i64 + %t9156 = mul i64 %t9155, %t9154 + %t9157 = load ptr, ptr %t9146 + %t9158 = call ptr @realloc(ptr %t9157, i64 %t9156) + store ptr %t9158, ptr %t9146 + store i32 %t9152, ptr %t9145 + br label %put1931 +put1931: + %t9159 = load ptr, ptr %t9146 + %t9160 = getelementptr inbounds ptr, ptr %t9159, i32 %t9147 + store ptr @.str7450, ptr %t9160 + %t9161 = add i32 %t9147, 1 + store i32 %t9161, ptr %t9144 + %t9162 = load ptr, ptr %t387 + %t9163 = getelementptr inbounds %LSlice, ptr %t9162, i32 0, i32 1 + %t9164 = getelementptr inbounds %LSlice, ptr %t9162, i32 0, i32 2 + %t9165 = getelementptr inbounds %LSlice, ptr %t9162, i32 0, i32 0 + %t9166 = load i32, ptr %t9163 + %t9167 = load i32, ptr %t9164 + %t9168 = icmp sge i32 %t9166, %t9167 + br i1 %t9168, label %grow1932, label %put1933 grow1932: - %t9087 = mul i32 %t9085, 2 - %t9088 = icmp eq i32 %t9085, 0 - %t9089 = select i1 %t9088, i32 8, i32 %t9087 - %t9090 = getelementptr ptr, ptr null, i32 1 - %t9091 = ptrtoint ptr %t9090 to i64 - %t9092 = zext i32 %t9089 to i64 - %t9093 = mul i64 %t9092, %t9091 - %t9094 = load ptr, ptr %t9083 - %t9095 = call ptr @realloc(ptr %t9094, i64 %t9093) - store ptr %t9095, ptr %t9083 - store i32 %t9089, ptr %t9082 + %t9169 = mul i32 %t9167, 2 + %t9170 = icmp eq i32 %t9167, 0 + %t9171 = select i1 %t9170, i32 8, i32 %t9169 + %t9172 = getelementptr ptr, ptr null, i32 1 + %t9173 = ptrtoint ptr %t9172 to i64 + %t9174 = zext i32 %t9171 to i64 + %t9175 = mul i64 %t9174, %t9173 + %t9176 = load ptr, ptr %t9165 + %t9177 = call ptr @realloc(ptr %t9176, i64 %t9175) + store ptr %t9177, ptr %t9165 + store i32 %t9171, ptr %t9164 br label %put1933 put1933: - %t9096 = load ptr, ptr %t9083 - %t9097 = getelementptr inbounds ptr, ptr %t9096, i32 %t9084 - store ptr @.str7131, ptr %t9097 - %t9098 = add i32 %t9084, 1 - store i32 %t9098, ptr %t9081 - %t9099 = load ptr, ptr %t337 - %t9100 = getelementptr inbounds %LSlice, ptr %t9099, i32 0, i32 1 - %t9101 = getelementptr inbounds %LSlice, ptr %t9099, i32 0, i32 2 - %t9102 = getelementptr inbounds %LSlice, ptr %t9099, i32 0, i32 0 - %t9103 = load i32, ptr %t9100 - %t9104 = load i32, ptr %t9101 - %t9105 = icmp sge i32 %t9103, %t9104 - br i1 %t9105, label %grow1934, label %put1935 -grow1934: - %t9106 = mul i32 %t9104, 2 - %t9107 = icmp eq i32 %t9104, 0 - %t9108 = select i1 %t9107, i32 8, i32 %t9106 - %t9109 = getelementptr ptr, ptr null, i32 1 - %t9110 = ptrtoint ptr %t9109 to i64 - %t9111 = zext i32 %t9108 to i64 - %t9112 = mul i64 %t9111, %t9110 - %t9113 = load ptr, ptr %t9102 - %t9114 = call ptr @realloc(ptr %t9113, i64 %t9112) - store ptr %t9114, ptr %t9102 - store i32 %t9108, ptr %t9101 - br label %put1935 -put1935: - %t9115 = load ptr, ptr %t9102 - %t9116 = getelementptr inbounds ptr, ptr %t9115, i32 %t9103 - store ptr @.str7132, ptr %t9116 - %t9117 = add i32 %t9103, 1 - store i32 %t9117, ptr %t9100 - br label %ifend1931 -ifend1931: - %t9118 = load ptr, ptr %t1 - %t9119 = call i32 @fn_str_eq(ptr %t9118, ptr @.str7133) - %t9120 = icmp ne i32 %t9119, 0 - br i1 %t9120, label %then1936, label %ifend1938 -then1936: - store ptr @.str7134, ptr %t330 - %t9121 = load ptr, ptr %t337 - %t9122 = getelementptr inbounds %LSlice, ptr %t9121, i32 0, i32 1 - %t9123 = getelementptr inbounds %LSlice, ptr %t9121, i32 0, i32 2 - %t9124 = getelementptr inbounds %LSlice, ptr %t9121, i32 0, i32 0 - %t9125 = load i32, ptr %t9122 - %t9126 = load i32, ptr %t9123 - %t9127 = icmp sge i32 %t9125, %t9126 - br i1 %t9127, label %grow1939, label %put1940 -grow1939: - %t9128 = mul i32 %t9126, 2 - %t9129 = icmp eq i32 %t9126, 0 - %t9130 = select i1 %t9129, i32 8, i32 %t9128 - %t9131 = getelementptr ptr, ptr null, i32 1 - %t9132 = ptrtoint ptr %t9131 to i64 - %t9133 = zext i32 %t9130 to i64 - %t9134 = mul i64 %t9133, %t9132 - %t9135 = load ptr, ptr %t9124 - %t9136 = call ptr @realloc(ptr %t9135, i64 %t9134) - store ptr %t9136, ptr %t9124 - store i32 %t9130, ptr %t9123 - br label %put1940 -put1940: - %t9137 = load ptr, ptr %t9124 - %t9138 = getelementptr inbounds ptr, ptr %t9137, i32 %t9125 - store ptr @.str7135, ptr %t9138 - %t9139 = add i32 %t9125, 1 - store i32 %t9139, ptr %t9122 - br label %ifend1938 -ifend1938: - %t9140 = load ptr, ptr %t1 - %t9141 = call i32 @fn_str_eq(ptr %t9140, ptr @.str7136) - %t9142 = icmp ne i32 %t9141, 0 - br i1 %t9142, label %then1941, label %ifend1943 -then1941: - %t9143 = load ptr, ptr %t2 - %t9144 = getelementptr inbounds %Cmp_Node, ptr %t9143, i32 0, i32 7 - %t9145 = load ptr, ptr %t9144 - %t9146 = getelementptr inbounds %LSlice, ptr %t9145, i32 0, i32 1 - %t9147 = load i32, ptr %t9146 - %t9148 = icmp eq i32 %t9147, 2 - %t9149 = zext i1 %t9148 to i32 - %t9150 = icmp ne i32 %t9149, 0 - br i1 %t9150, label %then1944, label %else1945 + %t9178 = load ptr, ptr %t9165 + %t9179 = getelementptr inbounds ptr, ptr %t9178, i32 %t9166 + store ptr @.str7451, ptr %t9179 + %t9180 = add i32 %t9166, 1 + store i32 %t9180, ptr %t9163 + br label %ifend1927 +ifend1927: + %t9181 = load ptr, ptr %t1 + %t9182 = call i32 @fn_str_eq(ptr %t9181, ptr @.str7452) + %t9183 = icmp ne i32 %t9182, 0 + br i1 %t9183, label %then1934, label %ifend1936 +then1934: + store ptr @.str7453, ptr %t380 + br label %ifend1936 +ifend1936: + %t9184 = load ptr, ptr %t1 + %t9185 = call i32 @fn_str_eq(ptr %t9184, ptr @.str7454) + %t9186 = icmp ne i32 %t9185, 0 + br i1 %t9186, label %then1937, label %ifend1939 +then1937: + store ptr @.str7455, ptr %t380 + %t9187 = load ptr, ptr %t387 + %t9188 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 1 + %t9189 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 2 + %t9190 = getelementptr inbounds %LSlice, ptr %t9187, i32 0, i32 0 + %t9191 = load i32, ptr %t9188 + %t9192 = load i32, ptr %t9189 + %t9193 = icmp sge i32 %t9191, %t9192 + br i1 %t9193, label %grow1940, label %put1941 +grow1940: + %t9194 = mul i32 %t9192, 2 + %t9195 = icmp eq i32 %t9192, 0 + %t9196 = select i1 %t9195, i32 8, i32 %t9194 + %t9197 = getelementptr ptr, ptr null, i32 1 + %t9198 = ptrtoint ptr %t9197 to i64 + %t9199 = zext i32 %t9196 to i64 + %t9200 = mul i64 %t9199, %t9198 + %t9201 = load ptr, ptr %t9190 + %t9202 = call ptr @realloc(ptr %t9201, i64 %t9200) + store ptr %t9202, ptr %t9190 + store i32 %t9196, ptr %t9189 + br label %put1941 +put1941: + %t9203 = load ptr, ptr %t9190 + %t9204 = getelementptr inbounds ptr, ptr %t9203, i32 %t9191 + store ptr @.str7456, ptr %t9204 + %t9205 = add i32 %t9191, 1 + store i32 %t9205, ptr %t9188 + %t9206 = load ptr, ptr %t387 + %t9207 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 1 + %t9208 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 2 + %t9209 = getelementptr inbounds %LSlice, ptr %t9206, i32 0, i32 0 + %t9210 = load i32, ptr %t9207 + %t9211 = load i32, ptr %t9208 + %t9212 = icmp sge i32 %t9210, %t9211 + br i1 %t9212, label %grow1942, label %put1943 +grow1942: + %t9213 = mul i32 %t9211, 2 + %t9214 = icmp eq i32 %t9211, 0 + %t9215 = select i1 %t9214, i32 8, i32 %t9213 + %t9216 = getelementptr ptr, ptr null, i32 1 + %t9217 = ptrtoint ptr %t9216 to i64 + %t9218 = zext i32 %t9215 to i64 + %t9219 = mul i64 %t9218, %t9217 + %t9220 = load ptr, ptr %t9209 + %t9221 = call ptr @realloc(ptr %t9220, i64 %t9219) + store ptr %t9221, ptr %t9209 + store i32 %t9215, ptr %t9208 + br label %put1943 +put1943: + %t9222 = load ptr, ptr %t9209 + %t9223 = getelementptr inbounds ptr, ptr %t9222, i32 %t9210 + store ptr @.str7457, ptr %t9223 + %t9224 = add i32 %t9210, 1 + store i32 %t9224, ptr %t9207 + br label %ifend1939 +ifend1939: + %t9225 = load ptr, ptr %t1 + %t9226 = call i32 @fn_str_eq(ptr %t9225, ptr @.str7458) + %t9227 = icmp ne i32 %t9226, 0 + br i1 %t9227, label %then1944, label %ifend1946 then1944: - store ptr @.str7137, ptr %t330 - %t9151 = load ptr, ptr %t337 - %t9152 = getelementptr inbounds %LSlice, ptr %t9151, i32 0, i32 1 - %t9153 = getelementptr inbounds %LSlice, ptr %t9151, i32 0, i32 2 - %t9154 = getelementptr inbounds %LSlice, ptr %t9151, i32 0, i32 0 - %t9155 = load i32, ptr %t9152 - %t9156 = load i32, ptr %t9153 - %t9157 = icmp sge i32 %t9155, %t9156 - br i1 %t9157, label %grow1947, label %put1948 + store ptr @.str7459, ptr %t380 + %t9228 = load ptr, ptr %t387 + %t9229 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 1 + %t9230 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 2 + %t9231 = getelementptr inbounds %LSlice, ptr %t9228, i32 0, i32 0 + %t9232 = load i32, ptr %t9229 + %t9233 = load i32, ptr %t9230 + %t9234 = icmp sge i32 %t9232, %t9233 + br i1 %t9234, label %grow1947, label %put1948 grow1947: - %t9158 = mul i32 %t9156, 2 - %t9159 = icmp eq i32 %t9156, 0 - %t9160 = select i1 %t9159, i32 8, i32 %t9158 - %t9161 = getelementptr ptr, ptr null, i32 1 - %t9162 = ptrtoint ptr %t9161 to i64 - %t9163 = zext i32 %t9160 to i64 - %t9164 = mul i64 %t9163, %t9162 - %t9165 = load ptr, ptr %t9154 - %t9166 = call ptr @realloc(ptr %t9165, i64 %t9164) - store ptr %t9166, ptr %t9154 - store i32 %t9160, ptr %t9153 + %t9235 = mul i32 %t9233, 2 + %t9236 = icmp eq i32 %t9233, 0 + %t9237 = select i1 %t9236, i32 8, i32 %t9235 + %t9238 = getelementptr ptr, ptr null, i32 1 + %t9239 = ptrtoint ptr %t9238 to i64 + %t9240 = zext i32 %t9237 to i64 + %t9241 = mul i64 %t9240, %t9239 + %t9242 = load ptr, ptr %t9231 + %t9243 = call ptr @realloc(ptr %t9242, i64 %t9241) + store ptr %t9243, ptr %t9231 + store i32 %t9237, ptr %t9230 br label %put1948 put1948: - %t9167 = load ptr, ptr %t9154 - %t9168 = getelementptr inbounds ptr, ptr %t9167, i32 %t9155 - store ptr @.str7138, ptr %t9168 - %t9169 = add i32 %t9155, 1 - store i32 %t9169, ptr %t9152 - %t9170 = load ptr, ptr %t337 - %t9171 = getelementptr inbounds %LSlice, ptr %t9170, i32 0, i32 1 - %t9172 = getelementptr inbounds %LSlice, ptr %t9170, i32 0, i32 2 - %t9173 = getelementptr inbounds %LSlice, ptr %t9170, i32 0, i32 0 - %t9174 = load i32, ptr %t9171 - %t9175 = load i32, ptr %t9172 - %t9176 = icmp sge i32 %t9174, %t9175 - br i1 %t9176, label %grow1949, label %put1950 -grow1949: - %t9177 = mul i32 %t9175, 2 - %t9178 = icmp eq i32 %t9175, 0 - %t9179 = select i1 %t9178, i32 8, i32 %t9177 - %t9180 = getelementptr ptr, ptr null, i32 1 - %t9181 = ptrtoint ptr %t9180 to i64 - %t9182 = zext i32 %t9179 to i64 - %t9183 = mul i64 %t9182, %t9181 - %t9184 = load ptr, ptr %t9173 - %t9185 = call ptr @realloc(ptr %t9184, i64 %t9183) - store ptr %t9185, ptr %t9173 - store i32 %t9179, ptr %t9172 - br label %put1950 -put1950: - %t9186 = load ptr, ptr %t9173 - %t9187 = getelementptr inbounds ptr, ptr %t9186, i32 %t9174 - store ptr @.str7139, ptr %t9187 - %t9188 = add i32 %t9174, 1 - store i32 %t9188, ptr %t9171 - br label %ifend1946 -else1945: - store ptr @.str7140, ptr %t330 - %t9189 = load ptr, ptr %t337 - %t9190 = getelementptr inbounds %LSlice, ptr %t9189, i32 0, i32 1 - %t9191 = getelementptr inbounds %LSlice, ptr %t9189, i32 0, i32 2 - %t9192 = getelementptr inbounds %LSlice, ptr %t9189, i32 0, i32 0 - %t9193 = load i32, ptr %t9190 - %t9194 = load i32, ptr %t9191 - %t9195 = icmp sge i32 %t9193, %t9194 - br i1 %t9195, label %grow1951, label %put1952 -grow1951: - %t9196 = mul i32 %t9194, 2 - %t9197 = icmp eq i32 %t9194, 0 - %t9198 = select i1 %t9197, i32 8, i32 %t9196 - %t9199 = getelementptr ptr, ptr null, i32 1 - %t9200 = ptrtoint ptr %t9199 to i64 - %t9201 = zext i32 %t9198 to i64 - %t9202 = mul i64 %t9201, %t9200 - %t9203 = load ptr, ptr %t9192 - %t9204 = call ptr @realloc(ptr %t9203, i64 %t9202) - store ptr %t9204, ptr %t9192 - store i32 %t9198, ptr %t9191 - br label %put1952 -put1952: - %t9205 = load ptr, ptr %t9192 - %t9206 = getelementptr inbounds ptr, ptr %t9205, i32 %t9193 - store ptr @.str7141, ptr %t9206 - %t9207 = add i32 %t9193, 1 - store i32 %t9207, ptr %t9190 - %t9208 = load ptr, ptr %t337 - %t9209 = getelementptr inbounds %LSlice, ptr %t9208, i32 0, i32 1 - %t9210 = getelementptr inbounds %LSlice, ptr %t9208, i32 0, i32 2 - %t9211 = getelementptr inbounds %LSlice, ptr %t9208, i32 0, i32 0 - %t9212 = load i32, ptr %t9209 - %t9213 = load i32, ptr %t9210 - %t9214 = icmp sge i32 %t9212, %t9213 - br i1 %t9214, label %grow1953, label %put1954 -grow1953: - %t9215 = mul i32 %t9213, 2 - %t9216 = icmp eq i32 %t9213, 0 - %t9217 = select i1 %t9216, i32 8, i32 %t9215 - %t9218 = getelementptr ptr, ptr null, i32 1 - %t9219 = ptrtoint ptr %t9218 to i64 - %t9220 = zext i32 %t9217 to i64 - %t9221 = mul i64 %t9220, %t9219 - %t9222 = load ptr, ptr %t9211 - %t9223 = call ptr @realloc(ptr %t9222, i64 %t9221) - store ptr %t9223, ptr %t9211 - store i32 %t9217, ptr %t9210 - br label %put1954 -put1954: - %t9224 = load ptr, ptr %t9211 - %t9225 = getelementptr inbounds ptr, ptr %t9224, i32 %t9212 - store ptr @.str7142, ptr %t9225 - %t9226 = add i32 %t9212, 1 - store i32 %t9226, ptr %t9209 - %t9227 = load ptr, ptr %t337 - %t9228 = getelementptr inbounds %LSlice, ptr %t9227, i32 0, i32 1 - %t9229 = getelementptr inbounds %LSlice, ptr %t9227, i32 0, i32 2 - %t9230 = getelementptr inbounds %LSlice, ptr %t9227, i32 0, i32 0 - %t9231 = load i32, ptr %t9228 - %t9232 = load i32, ptr %t9229 - %t9233 = icmp sge i32 %t9231, %t9232 - br i1 %t9233, label %grow1955, label %put1956 -grow1955: - %t9234 = mul i32 %t9232, 2 - %t9235 = icmp eq i32 %t9232, 0 - %t9236 = select i1 %t9235, i32 8, i32 %t9234 - %t9237 = getelementptr ptr, ptr null, i32 1 - %t9238 = ptrtoint ptr %t9237 to i64 - %t9239 = zext i32 %t9236 to i64 - %t9240 = mul i64 %t9239, %t9238 - %t9241 = load ptr, ptr %t9230 - %t9242 = call ptr @realloc(ptr %t9241, i64 %t9240) - store ptr %t9242, ptr %t9230 - store i32 %t9236, ptr %t9229 - br label %put1956 -put1956: - %t9243 = load ptr, ptr %t9230 - %t9244 = getelementptr inbounds ptr, ptr %t9243, i32 %t9231 - store ptr @.str7143, ptr %t9244 - %t9245 = add i32 %t9231, 1 - store i32 %t9245, ptr %t9228 - %t9246 = load ptr, ptr %t337 - %t9247 = getelementptr inbounds %LSlice, ptr %t9246, i32 0, i32 1 - %t9248 = getelementptr inbounds %LSlice, ptr %t9246, i32 0, i32 2 - %t9249 = getelementptr inbounds %LSlice, ptr %t9246, i32 0, i32 0 - %t9250 = load i32, ptr %t9247 - %t9251 = load i32, ptr %t9248 - %t9252 = icmp sge i32 %t9250, %t9251 - br i1 %t9252, label %grow1957, label %put1958 -grow1957: - %t9253 = mul i32 %t9251, 2 - %t9254 = icmp eq i32 %t9251, 0 - %t9255 = select i1 %t9254, i32 8, i32 %t9253 - %t9256 = getelementptr ptr, ptr null, i32 1 - %t9257 = ptrtoint ptr %t9256 to i64 - %t9258 = zext i32 %t9255 to i64 - %t9259 = mul i64 %t9258, %t9257 - %t9260 = load ptr, ptr %t9249 - %t9261 = call ptr @realloc(ptr %t9260, i64 %t9259) - store ptr %t9261, ptr %t9249 - store i32 %t9255, ptr %t9248 - br label %put1958 -put1958: - %t9262 = load ptr, ptr %t9249 - %t9263 = getelementptr inbounds ptr, ptr %t9262, i32 %t9250 - store ptr @.str7144, ptr %t9263 - %t9264 = add i32 %t9250, 1 - store i32 %t9264, ptr %t9247 + %t9244 = load ptr, ptr %t9231 + %t9245 = getelementptr inbounds ptr, ptr %t9244, i32 %t9232 + store ptr @.str7460, ptr %t9245 + %t9246 = add i32 %t9232, 1 + store i32 %t9246, ptr %t9229 br label %ifend1946 ifend1946: - br label %ifend1943 -ifend1943: - br label %ifend1917 -ifend1917: - %t9265 = load ptr, ptr %t0 - %t9266 = call i32 @fn_str_eq(ptr %t9265, ptr @.str7145) - %t9267 = icmp ne i32 %t9266, 0 - br i1 %t9267, label %then1959, label %ifend1961 -then1959: - %t9268 = load ptr, ptr %t1 - %t9269 = call i32 @fn_str_eq(ptr %t9268, ptr @.str7146) - %t9270 = icmp ne i32 %t9269, 0 - br i1 %t9270, label %then1962, label %ifend1964 -then1962: - store ptr @.str7147, ptr %t330 - %t9271 = load ptr, ptr %t337 - %t9272 = getelementptr inbounds %LSlice, ptr %t9271, i32 0, i32 1 - %t9273 = getelementptr inbounds %LSlice, ptr %t9271, i32 0, i32 2 - %t9274 = getelementptr inbounds %LSlice, ptr %t9271, i32 0, i32 0 - %t9275 = load i32, ptr %t9272 + %t9247 = load ptr, ptr %t1 + %t9248 = call i32 @fn_str_eq(ptr %t9247, ptr @.str7461) + %t9249 = icmp ne i32 %t9248, 0 + br i1 %t9249, label %then1949, label %ifend1951 +then1949: + store ptr @.str7462, ptr %t380 + %t9250 = load ptr, ptr %t387 + %t9251 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 1 + %t9252 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 2 + %t9253 = getelementptr inbounds %LSlice, ptr %t9250, i32 0, i32 0 + %t9254 = load i32, ptr %t9251 + %t9255 = load i32, ptr %t9252 + %t9256 = icmp sge i32 %t9254, %t9255 + br i1 %t9256, label %grow1952, label %put1953 +grow1952: + %t9257 = mul i32 %t9255, 2 + %t9258 = icmp eq i32 %t9255, 0 + %t9259 = select i1 %t9258, i32 8, i32 %t9257 + %t9260 = getelementptr ptr, ptr null, i32 1 + %t9261 = ptrtoint ptr %t9260 to i64 + %t9262 = zext i32 %t9259 to i64 + %t9263 = mul i64 %t9262, %t9261 + %t9264 = load ptr, ptr %t9253 + %t9265 = call ptr @realloc(ptr %t9264, i64 %t9263) + store ptr %t9265, ptr %t9253 + store i32 %t9259, ptr %t9252 + br label %put1953 +put1953: + %t9266 = load ptr, ptr %t9253 + %t9267 = getelementptr inbounds ptr, ptr %t9266, i32 %t9254 + store ptr @.str7463, ptr %t9267 + %t9268 = add i32 %t9254, 1 + store i32 %t9268, ptr %t9251 + br label %ifend1951 +ifend1951: + %t9269 = load ptr, ptr %t1 + %t9270 = call i32 @fn_str_eq(ptr %t9269, ptr @.str7464) + %t9271 = icmp ne i32 %t9270, 0 + br i1 %t9271, label %then1954, label %ifend1956 +then1954: + store ptr @.str7465, ptr %t380 + %t9272 = load ptr, ptr %t387 + %t9273 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 1 + %t9274 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 2 + %t9275 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 0 %t9276 = load i32, ptr %t9273 - %t9277 = icmp sge i32 %t9275, %t9276 - br i1 %t9277, label %grow1965, label %put1966 -grow1965: - %t9278 = mul i32 %t9276, 2 - %t9279 = icmp eq i32 %t9276, 0 - %t9280 = select i1 %t9279, i32 8, i32 %t9278 - %t9281 = getelementptr ptr, ptr null, i32 1 - %t9282 = ptrtoint ptr %t9281 to i64 - %t9283 = zext i32 %t9280 to i64 - %t9284 = mul i64 %t9283, %t9282 - %t9285 = load ptr, ptr %t9274 - %t9286 = call ptr @realloc(ptr %t9285, i64 %t9284) - store ptr %t9286, ptr %t9274 - store i32 %t9280, ptr %t9273 - br label %put1966 -put1966: - %t9287 = load ptr, ptr %t9274 - %t9288 = getelementptr inbounds ptr, ptr %t9287, i32 %t9275 - store ptr @.str7148, ptr %t9288 - %t9289 = add i32 %t9275, 1 - store i32 %t9289, ptr %t9272 - %t9290 = load ptr, ptr %t337 - %t9291 = getelementptr inbounds %LSlice, ptr %t9290, i32 0, i32 1 - %t9292 = getelementptr inbounds %LSlice, ptr %t9290, i32 0, i32 2 - %t9293 = getelementptr inbounds %LSlice, ptr %t9290, i32 0, i32 0 - %t9294 = load i32, ptr %t9291 - %t9295 = load i32, ptr %t9292 - %t9296 = icmp sge i32 %t9294, %t9295 - br i1 %t9296, label %grow1967, label %put1968 -grow1967: - %t9297 = mul i32 %t9295, 2 - %t9298 = icmp eq i32 %t9295, 0 - %t9299 = select i1 %t9298, i32 8, i32 %t9297 - %t9300 = getelementptr ptr, ptr null, i32 1 - %t9301 = ptrtoint ptr %t9300 to i64 - %t9302 = zext i32 %t9299 to i64 - %t9303 = mul i64 %t9302, %t9301 - %t9304 = load ptr, ptr %t9293 - %t9305 = call ptr @realloc(ptr %t9304, i64 %t9303) - store ptr %t9305, ptr %t9293 - store i32 %t9299, ptr %t9292 - br label %put1968 -put1968: - %t9306 = load ptr, ptr %t9293 - %t9307 = getelementptr inbounds ptr, ptr %t9306, i32 %t9294 - store ptr @.str7149, ptr %t9307 - %t9308 = add i32 %t9294, 1 - store i32 %t9308, ptr %t9291 - %t9309 = load ptr, ptr %t337 - %t9310 = getelementptr inbounds %LSlice, ptr %t9309, i32 0, i32 1 - %t9311 = getelementptr inbounds %LSlice, ptr %t9309, i32 0, i32 2 - %t9312 = getelementptr inbounds %LSlice, ptr %t9309, i32 0, i32 0 - %t9313 = load i32, ptr %t9310 - %t9314 = load i32, ptr %t9311 - %t9315 = icmp sge i32 %t9313, %t9314 - br i1 %t9315, label %grow1969, label %put1970 -grow1969: - %t9316 = mul i32 %t9314, 2 - %t9317 = icmp eq i32 %t9314, 0 - %t9318 = select i1 %t9317, i32 8, i32 %t9316 - %t9319 = getelementptr ptr, ptr null, i32 1 - %t9320 = ptrtoint ptr %t9319 to i64 - %t9321 = zext i32 %t9318 to i64 - %t9322 = mul i64 %t9321, %t9320 - %t9323 = load ptr, ptr %t9312 - %t9324 = call ptr @realloc(ptr %t9323, i64 %t9322) - store ptr %t9324, ptr %t9312 - store i32 %t9318, ptr %t9311 - br label %put1970 -put1970: - %t9325 = load ptr, ptr %t9312 - %t9326 = getelementptr inbounds ptr, ptr %t9325, i32 %t9313 - store ptr @.str7150, ptr %t9326 - %t9327 = add i32 %t9313, 1 - store i32 %t9327, ptr %t9310 - %t9328 = load ptr, ptr %t337 - %t9329 = getelementptr inbounds %LSlice, ptr %t9328, i32 0, i32 1 - %t9330 = getelementptr inbounds %LSlice, ptr %t9328, i32 0, i32 2 - %t9331 = getelementptr inbounds %LSlice, ptr %t9328, i32 0, i32 0 - %t9332 = load i32, ptr %t9329 - %t9333 = load i32, ptr %t9330 - %t9334 = icmp sge i32 %t9332, %t9333 - br i1 %t9334, label %grow1971, label %put1972 -grow1971: - %t9335 = mul i32 %t9333, 2 - %t9336 = icmp eq i32 %t9333, 0 - %t9337 = select i1 %t9336, i32 8, i32 %t9335 - %t9338 = getelementptr ptr, ptr null, i32 1 - %t9339 = ptrtoint ptr %t9338 to i64 - %t9340 = zext i32 %t9337 to i64 - %t9341 = mul i64 %t9340, %t9339 - %t9342 = load ptr, ptr %t9331 - %t9343 = call ptr @realloc(ptr %t9342, i64 %t9341) - store ptr %t9343, ptr %t9331 - store i32 %t9337, ptr %t9330 - br label %put1972 -put1972: - %t9344 = load ptr, ptr %t9331 - %t9345 = getelementptr inbounds ptr, ptr %t9344, i32 %t9332 - store ptr @.str7151, ptr %t9345 - %t9346 = add i32 %t9332, 1 - store i32 %t9346, ptr %t9329 - %t9347 = load ptr, ptr %t337 - %t9348 = getelementptr inbounds %LSlice, ptr %t9347, i32 0, i32 1 - %t9349 = getelementptr inbounds %LSlice, ptr %t9347, i32 0, i32 2 - %t9350 = getelementptr inbounds %LSlice, ptr %t9347, i32 0, i32 0 - %t9351 = load i32, ptr %t9348 - %t9352 = load i32, ptr %t9349 - %t9353 = icmp sge i32 %t9351, %t9352 - br i1 %t9353, label %grow1973, label %put1974 -grow1973: - %t9354 = mul i32 %t9352, 2 - %t9355 = icmp eq i32 %t9352, 0 - %t9356 = select i1 %t9355, i32 8, i32 %t9354 - %t9357 = getelementptr ptr, ptr null, i32 1 - %t9358 = ptrtoint ptr %t9357 to i64 - %t9359 = zext i32 %t9356 to i64 - %t9360 = mul i64 %t9359, %t9358 - %t9361 = load ptr, ptr %t9350 - %t9362 = call ptr @realloc(ptr %t9361, i64 %t9360) - store ptr %t9362, ptr %t9350 - store i32 %t9356, ptr %t9349 - br label %put1974 -put1974: - %t9363 = load ptr, ptr %t9350 - %t9364 = getelementptr inbounds ptr, ptr %t9363, i32 %t9351 - store ptr @.str7152, ptr %t9364 - %t9365 = add i32 %t9351, 1 - store i32 %t9365, ptr %t9348 - br label %ifend1964 -ifend1964: + %t9277 = load i32, ptr %t9274 + %t9278 = icmp sge i32 %t9276, %t9277 + br i1 %t9278, label %grow1957, label %put1958 +grow1957: + %t9279 = mul i32 %t9277, 2 + %t9280 = icmp eq i32 %t9277, 0 + %t9281 = select i1 %t9280, i32 8, i32 %t9279 + %t9282 = getelementptr ptr, ptr null, i32 1 + %t9283 = ptrtoint ptr %t9282 to i64 + %t9284 = zext i32 %t9281 to i64 + %t9285 = mul i64 %t9284, %t9283 + %t9286 = load ptr, ptr %t9275 + %t9287 = call ptr @realloc(ptr %t9286, i64 %t9285) + store ptr %t9287, ptr %t9275 + store i32 %t9281, ptr %t9274 + br label %put1958 +put1958: + %t9288 = load ptr, ptr %t9275 + %t9289 = getelementptr inbounds ptr, ptr %t9288, i32 %t9276 + store ptr @.str7466, ptr %t9289 + %t9290 = add i32 %t9276, 1 + store i32 %t9290, ptr %t9273 + br label %ifend1956 +ifend1956: + %t9291 = load ptr, ptr %t1 + %t9292 = call i32 @fn_str_eq(ptr %t9291, ptr @.str7467) + %t9293 = icmp ne i32 %t9292, 0 + br i1 %t9293, label %then1959, label %ifend1961 +then1959: + store ptr @.str7468, ptr %t380 br label %ifend1961 ifend1961: - %t9366 = load ptr, ptr %t0 - %t9367 = call i32 @fn_str_eq(ptr %t9366, ptr @.str7153) - %t9368 = icmp ne i32 %t9367, 0 - br i1 %t9368, label %then1975, label %ifend1977 -then1975: - %t9369 = load ptr, ptr %t1 - %t9370 = call i32 @fn_str_eq(ptr %t9369, ptr @.str7154) - %t9371 = icmp ne i32 %t9370, 0 - br i1 %t9371, label %then1978, label %ifend1980 -then1978: - store ptr @.str7155, ptr %t330 - %t9372 = load ptr, ptr %t337 - %t9373 = getelementptr inbounds %LSlice, ptr %t9372, i32 0, i32 1 - %t9374 = getelementptr inbounds %LSlice, ptr %t9372, i32 0, i32 2 - %t9375 = getelementptr inbounds %LSlice, ptr %t9372, i32 0, i32 0 - %t9376 = load i32, ptr %t9373 - %t9377 = load i32, ptr %t9374 - %t9378 = icmp sge i32 %t9376, %t9377 - br i1 %t9378, label %grow1981, label %put1982 -grow1981: - %t9379 = mul i32 %t9377, 2 - %t9380 = icmp eq i32 %t9377, 0 - %t9381 = select i1 %t9380, i32 8, i32 %t9379 - %t9382 = getelementptr ptr, ptr null, i32 1 - %t9383 = ptrtoint ptr %t9382 to i64 - %t9384 = zext i32 %t9381 to i64 - %t9385 = mul i64 %t9384, %t9383 - %t9386 = load ptr, ptr %t9375 - %t9387 = call ptr @realloc(ptr %t9386, i64 %t9385) - store ptr %t9387, ptr %t9375 - store i32 %t9381, ptr %t9374 - br label %put1982 -put1982: - %t9388 = load ptr, ptr %t9375 - %t9389 = getelementptr inbounds ptr, ptr %t9388, i32 %t9376 - store ptr @.str7156, ptr %t9389 - %t9390 = add i32 %t9376, 1 - store i32 %t9390, ptr %t9373 - %t9391 = load ptr, ptr %t337 - %t9392 = getelementptr inbounds %LSlice, ptr %t9391, i32 0, i32 1 - %t9393 = getelementptr inbounds %LSlice, ptr %t9391, i32 0, i32 2 - %t9394 = getelementptr inbounds %LSlice, ptr %t9391, i32 0, i32 0 - %t9395 = load i32, ptr %t9392 - %t9396 = load i32, ptr %t9393 - %t9397 = icmp sge i32 %t9395, %t9396 - br i1 %t9397, label %grow1983, label %put1984 -grow1983: - %t9398 = mul i32 %t9396, 2 - %t9399 = icmp eq i32 %t9396, 0 - %t9400 = select i1 %t9399, i32 8, i32 %t9398 - %t9401 = getelementptr ptr, ptr null, i32 1 - %t9402 = ptrtoint ptr %t9401 to i64 - %t9403 = zext i32 %t9400 to i64 - %t9404 = mul i64 %t9403, %t9402 - %t9405 = load ptr, ptr %t9394 - %t9406 = call ptr @realloc(ptr %t9405, i64 %t9404) - store ptr %t9406, ptr %t9394 - store i32 %t9400, ptr %t9393 - br label %put1984 -put1984: - %t9407 = load ptr, ptr %t9394 - %t9408 = getelementptr inbounds ptr, ptr %t9407, i32 %t9395 - store ptr @.str7157, ptr %t9408 - %t9409 = add i32 %t9395, 1 - store i32 %t9409, ptr %t9392 - %t9410 = load ptr, ptr %t337 - %t9411 = getelementptr inbounds %LSlice, ptr %t9410, i32 0, i32 1 - %t9412 = getelementptr inbounds %LSlice, ptr %t9410, i32 0, i32 2 - %t9413 = getelementptr inbounds %LSlice, ptr %t9410, i32 0, i32 0 - %t9414 = load i32, ptr %t9411 - %t9415 = load i32, ptr %t9412 - %t9416 = icmp sge i32 %t9414, %t9415 - br i1 %t9416, label %grow1985, label %put1986 -grow1985: - %t9417 = mul i32 %t9415, 2 - %t9418 = icmp eq i32 %t9415, 0 - %t9419 = select i1 %t9418, i32 8, i32 %t9417 - %t9420 = getelementptr ptr, ptr null, i32 1 - %t9421 = ptrtoint ptr %t9420 to i64 - %t9422 = zext i32 %t9419 to i64 - %t9423 = mul i64 %t9422, %t9421 - %t9424 = load ptr, ptr %t9413 - %t9425 = call ptr @realloc(ptr %t9424, i64 %t9423) - store ptr %t9425, ptr %t9413 - store i32 %t9419, ptr %t9412 - br label %put1986 -put1986: - %t9426 = load ptr, ptr %t9413 - %t9427 = getelementptr inbounds ptr, ptr %t9426, i32 %t9414 - store ptr @.str7158, ptr %t9427 - %t9428 = add i32 %t9414, 1 - store i32 %t9428, ptr %t9411 - %t9429 = load ptr, ptr %t337 - %t9430 = getelementptr inbounds %LSlice, ptr %t9429, i32 0, i32 1 - %t9431 = getelementptr inbounds %LSlice, ptr %t9429, i32 0, i32 2 - %t9432 = getelementptr inbounds %LSlice, ptr %t9429, i32 0, i32 0 - %t9433 = load i32, ptr %t9430 - %t9434 = load i32, ptr %t9431 - %t9435 = icmp sge i32 %t9433, %t9434 - br i1 %t9435, label %grow1987, label %put1988 + br label %ifend1884 +ifend1884: + %t9294 = load ptr, ptr %t0 + %t9295 = call i32 @fn_str_eq(ptr %t9294, ptr @.str7469) + %t9296 = icmp ne i32 %t9295, 0 + br i1 %t9296, label %then1962, label %ifend1964 +then1962: + %t9297 = load ptr, ptr %t1 + %t9298 = call i32 @fn_str_eq(ptr %t9297, ptr @.str7470) + %t9299 = icmp ne i32 %t9298, 0 + br i1 %t9299, label %then1965, label %ifend1967 +then1965: + store ptr @.str7471, ptr %t380 + %t9300 = load ptr, ptr %t387 + %t9301 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 1 + %t9302 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 2 + %t9303 = getelementptr inbounds %LSlice, ptr %t9300, i32 0, i32 0 + %t9304 = load i32, ptr %t9301 + %t9305 = load i32, ptr %t9302 + %t9306 = icmp sge i32 %t9304, %t9305 + br i1 %t9306, label %grow1968, label %put1969 +grow1968: + %t9307 = mul i32 %t9305, 2 + %t9308 = icmp eq i32 %t9305, 0 + %t9309 = select i1 %t9308, i32 8, i32 %t9307 + %t9310 = getelementptr ptr, ptr null, i32 1 + %t9311 = ptrtoint ptr %t9310 to i64 + %t9312 = zext i32 %t9309 to i64 + %t9313 = mul i64 %t9312, %t9311 + %t9314 = load ptr, ptr %t9303 + %t9315 = call ptr @realloc(ptr %t9314, i64 %t9313) + store ptr %t9315, ptr %t9303 + store i32 %t9309, ptr %t9302 + br label %put1969 +put1969: + %t9316 = load ptr, ptr %t9303 + %t9317 = getelementptr inbounds ptr, ptr %t9316, i32 %t9304 + store ptr @.str7472, ptr %t9317 + %t9318 = add i32 %t9304, 1 + store i32 %t9318, ptr %t9301 + br label %ifend1967 +ifend1967: + %t9319 = load ptr, ptr %t1 + %t9320 = call i32 @fn_str_eq(ptr %t9319, ptr @.str7473) + %t9321 = icmp ne i32 %t9320, 0 + br i1 %t9321, label %then1970, label %ifend1972 +then1970: + store ptr @.str7474, ptr %t380 + %t9322 = load ptr, ptr %t387 + %t9323 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 1 + %t9324 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 2 + %t9325 = getelementptr inbounds %LSlice, ptr %t9322, i32 0, i32 0 + %t9326 = load i32, ptr %t9323 + %t9327 = load i32, ptr %t9324 + %t9328 = icmp sge i32 %t9326, %t9327 + br i1 %t9328, label %grow1973, label %put1974 +grow1973: + %t9329 = mul i32 %t9327, 2 + %t9330 = icmp eq i32 %t9327, 0 + %t9331 = select i1 %t9330, i32 8, i32 %t9329 + %t9332 = getelementptr ptr, ptr null, i32 1 + %t9333 = ptrtoint ptr %t9332 to i64 + %t9334 = zext i32 %t9331 to i64 + %t9335 = mul i64 %t9334, %t9333 + %t9336 = load ptr, ptr %t9325 + %t9337 = call ptr @realloc(ptr %t9336, i64 %t9335) + store ptr %t9337, ptr %t9325 + store i32 %t9331, ptr %t9324 + br label %put1974 +put1974: + %t9338 = load ptr, ptr %t9325 + %t9339 = getelementptr inbounds ptr, ptr %t9338, i32 %t9326 + store ptr @.str7475, ptr %t9339 + %t9340 = add i32 %t9326, 1 + store i32 %t9340, ptr %t9323 + %t9341 = load ptr, ptr %t387 + %t9342 = getelementptr inbounds %LSlice, ptr %t9341, i32 0, i32 1 + %t9343 = getelementptr inbounds %LSlice, ptr %t9341, i32 0, i32 2 + %t9344 = getelementptr inbounds %LSlice, ptr %t9341, i32 0, i32 0 + %t9345 = load i32, ptr %t9342 + %t9346 = load i32, ptr %t9343 + %t9347 = icmp sge i32 %t9345, %t9346 + br i1 %t9347, label %grow1975, label %put1976 +grow1975: + %t9348 = mul i32 %t9346, 2 + %t9349 = icmp eq i32 %t9346, 0 + %t9350 = select i1 %t9349, i32 8, i32 %t9348 + %t9351 = getelementptr ptr, ptr null, i32 1 + %t9352 = ptrtoint ptr %t9351 to i64 + %t9353 = zext i32 %t9350 to i64 + %t9354 = mul i64 %t9353, %t9352 + %t9355 = load ptr, ptr %t9344 + %t9356 = call ptr @realloc(ptr %t9355, i64 %t9354) + store ptr %t9356, ptr %t9344 + store i32 %t9350, ptr %t9343 + br label %put1976 +put1976: + %t9357 = load ptr, ptr %t9344 + %t9358 = getelementptr inbounds ptr, ptr %t9357, i32 %t9345 + store ptr @.str7476, ptr %t9358 + %t9359 = add i32 %t9345, 1 + store i32 %t9359, ptr %t9342 + br label %ifend1972 +ifend1972: + %t9360 = load ptr, ptr %t1 + %t9361 = call i32 @fn_str_eq(ptr %t9360, ptr @.str7477) + %t9362 = icmp ne i32 %t9361, 0 + br i1 %t9362, label %then1977, label %ifend1979 +then1977: + store ptr @.str7478, ptr %t380 + %t9363 = load ptr, ptr %t387 + %t9364 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 1 + %t9365 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 2 + %t9366 = getelementptr inbounds %LSlice, ptr %t9363, i32 0, i32 0 + %t9367 = load i32, ptr %t9364 + %t9368 = load i32, ptr %t9365 + %t9369 = icmp sge i32 %t9367, %t9368 + br i1 %t9369, label %grow1980, label %put1981 +grow1980: + %t9370 = mul i32 %t9368, 2 + %t9371 = icmp eq i32 %t9368, 0 + %t9372 = select i1 %t9371, i32 8, i32 %t9370 + %t9373 = getelementptr ptr, ptr null, i32 1 + %t9374 = ptrtoint ptr %t9373 to i64 + %t9375 = zext i32 %t9372 to i64 + %t9376 = mul i64 %t9375, %t9374 + %t9377 = load ptr, ptr %t9366 + %t9378 = call ptr @realloc(ptr %t9377, i64 %t9376) + store ptr %t9378, ptr %t9366 + store i32 %t9372, ptr %t9365 + br label %put1981 +put1981: + %t9379 = load ptr, ptr %t9366 + %t9380 = getelementptr inbounds ptr, ptr %t9379, i32 %t9367 + store ptr @.str7479, ptr %t9380 + %t9381 = add i32 %t9367, 1 + store i32 %t9381, ptr %t9364 + %t9382 = load ptr, ptr %t387 + %t9383 = getelementptr inbounds %LSlice, ptr %t9382, i32 0, i32 1 + %t9384 = getelementptr inbounds %LSlice, ptr %t9382, i32 0, i32 2 + %t9385 = getelementptr inbounds %LSlice, ptr %t9382, i32 0, i32 0 + %t9386 = load i32, ptr %t9383 + %t9387 = load i32, ptr %t9384 + %t9388 = icmp sge i32 %t9386, %t9387 + br i1 %t9388, label %grow1982, label %put1983 +grow1982: + %t9389 = mul i32 %t9387, 2 + %t9390 = icmp eq i32 %t9387, 0 + %t9391 = select i1 %t9390, i32 8, i32 %t9389 + %t9392 = getelementptr ptr, ptr null, i32 1 + %t9393 = ptrtoint ptr %t9392 to i64 + %t9394 = zext i32 %t9391 to i64 + %t9395 = mul i64 %t9394, %t9393 + %t9396 = load ptr, ptr %t9385 + %t9397 = call ptr @realloc(ptr %t9396, i64 %t9395) + store ptr %t9397, ptr %t9385 + store i32 %t9391, ptr %t9384 + br label %put1983 +put1983: + %t9398 = load ptr, ptr %t9385 + %t9399 = getelementptr inbounds ptr, ptr %t9398, i32 %t9386 + store ptr @.str7480, ptr %t9399 + %t9400 = add i32 %t9386, 1 + store i32 %t9400, ptr %t9383 + br label %ifend1979 +ifend1979: + %t9401 = load ptr, ptr %t1 + %t9402 = call i32 @fn_str_eq(ptr %t9401, ptr @.str7481) + %t9403 = icmp ne i32 %t9402, 0 + br i1 %t9403, label %then1984, label %ifend1986 +then1984: + store ptr @.str7482, ptr %t380 + %t9404 = load ptr, ptr %t387 + %t9405 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 1 + %t9406 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 2 + %t9407 = getelementptr inbounds %LSlice, ptr %t9404, i32 0, i32 0 + %t9408 = load i32, ptr %t9405 + %t9409 = load i32, ptr %t9406 + %t9410 = icmp sge i32 %t9408, %t9409 + br i1 %t9410, label %grow1987, label %put1988 grow1987: - %t9436 = mul i32 %t9434, 2 - %t9437 = icmp eq i32 %t9434, 0 - %t9438 = select i1 %t9437, i32 8, i32 %t9436 - %t9439 = getelementptr ptr, ptr null, i32 1 - %t9440 = ptrtoint ptr %t9439 to i64 - %t9441 = zext i32 %t9438 to i64 - %t9442 = mul i64 %t9441, %t9440 - %t9443 = load ptr, ptr %t9432 - %t9444 = call ptr @realloc(ptr %t9443, i64 %t9442) - store ptr %t9444, ptr %t9432 - store i32 %t9438, ptr %t9431 + %t9411 = mul i32 %t9409, 2 + %t9412 = icmp eq i32 %t9409, 0 + %t9413 = select i1 %t9412, i32 8, i32 %t9411 + %t9414 = getelementptr ptr, ptr null, i32 1 + %t9415 = ptrtoint ptr %t9414 to i64 + %t9416 = zext i32 %t9413 to i64 + %t9417 = mul i64 %t9416, %t9415 + %t9418 = load ptr, ptr %t9407 + %t9419 = call ptr @realloc(ptr %t9418, i64 %t9417) + store ptr %t9419, ptr %t9407 + store i32 %t9413, ptr %t9406 br label %put1988 put1988: - %t9445 = load ptr, ptr %t9432 - %t9446 = getelementptr inbounds ptr, ptr %t9445, i32 %t9433 - store ptr @.str7159, ptr %t9446 - %t9447 = add i32 %t9433, 1 - store i32 %t9447, ptr %t9430 - br label %ifend1980 -ifend1980: - %t9448 = load ptr, ptr %t1 - %t9449 = call i32 @fn_str_eq(ptr %t9448, ptr @.str7160) - %t9450 = icmp ne i32 %t9449, 0 - br i1 %t9450, label %then1989, label %ifend1991 -then1989: - store ptr @.str7161, ptr %t330 - %t9451 = load ptr, ptr %t337 - %t9452 = getelementptr inbounds %LSlice, ptr %t9451, i32 0, i32 1 - %t9453 = getelementptr inbounds %LSlice, ptr %t9451, i32 0, i32 2 - %t9454 = getelementptr inbounds %LSlice, ptr %t9451, i32 0, i32 0 - %t9455 = load i32, ptr %t9452 - %t9456 = load i32, ptr %t9453 - %t9457 = icmp sge i32 %t9455, %t9456 - br i1 %t9457, label %grow1992, label %put1993 -grow1992: - %t9458 = mul i32 %t9456, 2 - %t9459 = icmp eq i32 %t9456, 0 - %t9460 = select i1 %t9459, i32 8, i32 %t9458 - %t9461 = getelementptr ptr, ptr null, i32 1 - %t9462 = ptrtoint ptr %t9461 to i64 - %t9463 = zext i32 %t9460 to i64 - %t9464 = mul i64 %t9463, %t9462 - %t9465 = load ptr, ptr %t9454 - %t9466 = call ptr @realloc(ptr %t9465, i64 %t9464) - store ptr %t9466, ptr %t9454 - store i32 %t9460, ptr %t9453 - br label %put1993 -put1993: - %t9467 = load ptr, ptr %t9454 - %t9468 = getelementptr inbounds ptr, ptr %t9467, i32 %t9455 - store ptr @.str7162, ptr %t9468 - %t9469 = add i32 %t9455, 1 - store i32 %t9469, ptr %t9452 - %t9470 = load ptr, ptr %t337 - %t9471 = getelementptr inbounds %LSlice, ptr %t9470, i32 0, i32 1 - %t9472 = getelementptr inbounds %LSlice, ptr %t9470, i32 0, i32 2 - %t9473 = getelementptr inbounds %LSlice, ptr %t9470, i32 0, i32 0 - %t9474 = load i32, ptr %t9471 - %t9475 = load i32, ptr %t9472 - %t9476 = icmp sge i32 %t9474, %t9475 - br i1 %t9476, label %grow1994, label %put1995 + %t9420 = load ptr, ptr %t9407 + %t9421 = getelementptr inbounds ptr, ptr %t9420, i32 %t9408 + store ptr @.str7483, ptr %t9421 + %t9422 = add i32 %t9408, 1 + store i32 %t9422, ptr %t9405 + %t9423 = load ptr, ptr %t387 + %t9424 = getelementptr inbounds %LSlice, ptr %t9423, i32 0, i32 1 + %t9425 = getelementptr inbounds %LSlice, ptr %t9423, i32 0, i32 2 + %t9426 = getelementptr inbounds %LSlice, ptr %t9423, i32 0, i32 0 + %t9427 = load i32, ptr %t9424 + %t9428 = load i32, ptr %t9425 + %t9429 = icmp sge i32 %t9427, %t9428 + br i1 %t9429, label %grow1989, label %put1990 +grow1989: + %t9430 = mul i32 %t9428, 2 + %t9431 = icmp eq i32 %t9428, 0 + %t9432 = select i1 %t9431, i32 8, i32 %t9430 + %t9433 = getelementptr ptr, ptr null, i32 1 + %t9434 = ptrtoint ptr %t9433 to i64 + %t9435 = zext i32 %t9432 to i64 + %t9436 = mul i64 %t9435, %t9434 + %t9437 = load ptr, ptr %t9426 + %t9438 = call ptr @realloc(ptr %t9437, i64 %t9436) + store ptr %t9438, ptr %t9426 + store i32 %t9432, ptr %t9425 + br label %put1990 +put1990: + %t9439 = load ptr, ptr %t9426 + %t9440 = getelementptr inbounds ptr, ptr %t9439, i32 %t9427 + store ptr @.str7484, ptr %t9440 + %t9441 = add i32 %t9427, 1 + store i32 %t9441, ptr %t9424 + br label %ifend1986 +ifend1986: + %t9442 = load ptr, ptr %t1 + %t9443 = call i32 @fn_str_eq(ptr %t9442, ptr @.str7485) + %t9444 = icmp ne i32 %t9443, 0 + br i1 %t9444, label %then1991, label %ifend1993 +then1991: + store ptr @.str7486, ptr %t380 + %t9445 = load ptr, ptr %t387 + %t9446 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 1 + %t9447 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 2 + %t9448 = getelementptr inbounds %LSlice, ptr %t9445, i32 0, i32 0 + %t9449 = load i32, ptr %t9446 + %t9450 = load i32, ptr %t9447 + %t9451 = icmp sge i32 %t9449, %t9450 + br i1 %t9451, label %grow1994, label %put1995 grow1994: - %t9477 = mul i32 %t9475, 2 - %t9478 = icmp eq i32 %t9475, 0 - %t9479 = select i1 %t9478, i32 8, i32 %t9477 - %t9480 = getelementptr ptr, ptr null, i32 1 - %t9481 = ptrtoint ptr %t9480 to i64 - %t9482 = zext i32 %t9479 to i64 - %t9483 = mul i64 %t9482, %t9481 - %t9484 = load ptr, ptr %t9473 - %t9485 = call ptr @realloc(ptr %t9484, i64 %t9483) - store ptr %t9485, ptr %t9473 - store i32 %t9479, ptr %t9472 + %t9452 = mul i32 %t9450, 2 + %t9453 = icmp eq i32 %t9450, 0 + %t9454 = select i1 %t9453, i32 8, i32 %t9452 + %t9455 = getelementptr ptr, ptr null, i32 1 + %t9456 = ptrtoint ptr %t9455 to i64 + %t9457 = zext i32 %t9454 to i64 + %t9458 = mul i64 %t9457, %t9456 + %t9459 = load ptr, ptr %t9448 + %t9460 = call ptr @realloc(ptr %t9459, i64 %t9458) + store ptr %t9460, ptr %t9448 + store i32 %t9454, ptr %t9447 br label %put1995 put1995: - %t9486 = load ptr, ptr %t9473 - %t9487 = getelementptr inbounds ptr, ptr %t9486, i32 %t9474 - store ptr @.str7163, ptr %t9487 - %t9488 = add i32 %t9474, 1 - store i32 %t9488, ptr %t9471 - %t9489 = load ptr, ptr %t337 - %t9490 = getelementptr inbounds %LSlice, ptr %t9489, i32 0, i32 1 - %t9491 = getelementptr inbounds %LSlice, ptr %t9489, i32 0, i32 2 - %t9492 = getelementptr inbounds %LSlice, ptr %t9489, i32 0, i32 0 - %t9493 = load i32, ptr %t9490 - %t9494 = load i32, ptr %t9491 - %t9495 = icmp sge i32 %t9493, %t9494 - br i1 %t9495, label %grow1996, label %put1997 -grow1996: - %t9496 = mul i32 %t9494, 2 - %t9497 = icmp eq i32 %t9494, 0 - %t9498 = select i1 %t9497, i32 8, i32 %t9496 - %t9499 = getelementptr ptr, ptr null, i32 1 - %t9500 = ptrtoint ptr %t9499 to i64 - %t9501 = zext i32 %t9498 to i64 - %t9502 = mul i64 %t9501, %t9500 - %t9503 = load ptr, ptr %t9492 - %t9504 = call ptr @realloc(ptr %t9503, i64 %t9502) - store ptr %t9504, ptr %t9492 - store i32 %t9498, ptr %t9491 - br label %put1997 -put1997: - %t9505 = load ptr, ptr %t9492 - %t9506 = getelementptr inbounds ptr, ptr %t9505, i32 %t9493 - store ptr @.str7164, ptr %t9506 - %t9507 = add i32 %t9493, 1 - store i32 %t9507, ptr %t9490 - %t9508 = load ptr, ptr %t337 + %t9461 = load ptr, ptr %t9448 + %t9462 = getelementptr inbounds ptr, ptr %t9461, i32 %t9449 + store ptr @.str7487, ptr %t9462 + %t9463 = add i32 %t9449, 1 + store i32 %t9463, ptr %t9446 + br label %ifend1993 +ifend1993: + %t9464 = load ptr, ptr %t1 + %t9465 = call i32 @fn_str_eq(ptr %t9464, ptr @.str7488) + %t9466 = icmp ne i32 %t9465, 0 + br i1 %t9466, label %then1996, label %ifend1998 +then1996: + store ptr @.str7489, ptr %t380 + %t9467 = load ptr, ptr %t387 + %t9468 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 1 + %t9469 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 2 + %t9470 = getelementptr inbounds %LSlice, ptr %t9467, i32 0, i32 0 + %t9471 = load i32, ptr %t9468 + %t9472 = load i32, ptr %t9469 + %t9473 = icmp sge i32 %t9471, %t9472 + br i1 %t9473, label %grow1999, label %put2000 +grow1999: + %t9474 = mul i32 %t9472, 2 + %t9475 = icmp eq i32 %t9472, 0 + %t9476 = select i1 %t9475, i32 8, i32 %t9474 + %t9477 = getelementptr ptr, ptr null, i32 1 + %t9478 = ptrtoint ptr %t9477 to i64 + %t9479 = zext i32 %t9476 to i64 + %t9480 = mul i64 %t9479, %t9478 + %t9481 = load ptr, ptr %t9470 + %t9482 = call ptr @realloc(ptr %t9481, i64 %t9480) + store ptr %t9482, ptr %t9470 + store i32 %t9476, ptr %t9469 + br label %put2000 +put2000: + %t9483 = load ptr, ptr %t9470 + %t9484 = getelementptr inbounds ptr, ptr %t9483, i32 %t9471 + store ptr @.str7490, ptr %t9484 + %t9485 = add i32 %t9471, 1 + store i32 %t9485, ptr %t9468 + %t9486 = load ptr, ptr %t387 + %t9487 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 1 + %t9488 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 2 + %t9489 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 0 + %t9490 = load i32, ptr %t9487 + %t9491 = load i32, ptr %t9488 + %t9492 = icmp sge i32 %t9490, %t9491 + br i1 %t9492, label %grow2001, label %put2002 +grow2001: + %t9493 = mul i32 %t9491, 2 + %t9494 = icmp eq i32 %t9491, 0 + %t9495 = select i1 %t9494, i32 8, i32 %t9493 + %t9496 = getelementptr ptr, ptr null, i32 1 + %t9497 = ptrtoint ptr %t9496 to i64 + %t9498 = zext i32 %t9495 to i64 + %t9499 = mul i64 %t9498, %t9497 + %t9500 = load ptr, ptr %t9489 + %t9501 = call ptr @realloc(ptr %t9500, i64 %t9499) + store ptr %t9501, ptr %t9489 + store i32 %t9495, ptr %t9488 + br label %put2002 +put2002: + %t9502 = load ptr, ptr %t9489 + %t9503 = getelementptr inbounds ptr, ptr %t9502, i32 %t9490 + store ptr @.str7491, ptr %t9503 + %t9504 = add i32 %t9490, 1 + store i32 %t9504, ptr %t9487 + br label %ifend1998 +ifend1998: + %t9505 = load ptr, ptr %t1 + %t9506 = call i32 @fn_str_eq(ptr %t9505, ptr @.str7492) + %t9507 = icmp ne i32 %t9506, 0 + br i1 %t9507, label %then2003, label %ifend2005 +then2003: + store ptr @.str7493, ptr %t380 + %t9508 = load ptr, ptr %t387 %t9509 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 1 %t9510 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 2 %t9511 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 0 %t9512 = load i32, ptr %t9509 %t9513 = load i32, ptr %t9510 %t9514 = icmp sge i32 %t9512, %t9513 - br i1 %t9514, label %grow1998, label %put1999 -grow1998: + br i1 %t9514, label %grow2006, label %put2007 +grow2006: %t9515 = mul i32 %t9513, 2 %t9516 = icmp eq i32 %t9513, 0 %t9517 = select i1 %t9516, i32 8, i32 %t9515 @@ -71174,30 +77664,30 @@ grow1998: %t9523 = call ptr @realloc(ptr %t9522, i64 %t9521) store ptr %t9523, ptr %t9511 store i32 %t9517, ptr %t9510 - br label %put1999 -put1999: + br label %put2007 +put2007: %t9524 = load ptr, ptr %t9511 %t9525 = getelementptr inbounds ptr, ptr %t9524, i32 %t9512 - store ptr @.str7165, ptr %t9525 + store ptr @.str7494, ptr %t9525 %t9526 = add i32 %t9512, 1 store i32 %t9526, ptr %t9509 - br label %ifend1991 -ifend1991: + br label %ifend2005 +ifend2005: %t9527 = load ptr, ptr %t1 - %t9528 = call i32 @fn_str_eq(ptr %t9527, ptr @.str7166) + %t9528 = call i32 @fn_str_eq(ptr %t9527, ptr @.str7495) %t9529 = icmp ne i32 %t9528, 0 - br i1 %t9529, label %then2000, label %ifend2002 -then2000: - store ptr @.str7167, ptr %t330 - %t9530 = load ptr, ptr %t337 + br i1 %t9529, label %then2008, label %ifend2010 +then2008: + store ptr @.str7496, ptr %t380 + %t9530 = load ptr, ptr %t387 %t9531 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 1 %t9532 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 2 %t9533 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 0 %t9534 = load i32, ptr %t9531 %t9535 = load i32, ptr %t9532 %t9536 = icmp sge i32 %t9534, %t9535 - br i1 %t9536, label %grow2003, label %put2004 -grow2003: + br i1 %t9536, label %grow2011, label %put2012 +grow2011: %t9537 = mul i32 %t9535, 2 %t9538 = icmp eq i32 %t9535, 0 %t9539 = select i1 %t9538, i32 8, i32 %t9537 @@ -71209,1311 +77699,1310 @@ grow2003: %t9545 = call ptr @realloc(ptr %t9544, i64 %t9543) store ptr %t9545, ptr %t9533 store i32 %t9539, ptr %t9532 - br label %put2004 -put2004: + br label %put2012 +put2012: %t9546 = load ptr, ptr %t9533 %t9547 = getelementptr inbounds ptr, ptr %t9546, i32 %t9534 - store ptr @.str7168, ptr %t9547 + store ptr @.str7497, ptr %t9547 %t9548 = add i32 %t9534, 1 store i32 %t9548, ptr %t9531 - %t9549 = load ptr, ptr %t337 - %t9550 = getelementptr inbounds %LSlice, ptr %t9549, i32 0, i32 1 - %t9551 = getelementptr inbounds %LSlice, ptr %t9549, i32 0, i32 2 - %t9552 = getelementptr inbounds %LSlice, ptr %t9549, i32 0, i32 0 - %t9553 = load i32, ptr %t9550 - %t9554 = load i32, ptr %t9551 - %t9555 = icmp sge i32 %t9553, %t9554 - br i1 %t9555, label %grow2005, label %put2006 -grow2005: - %t9556 = mul i32 %t9554, 2 - %t9557 = icmp eq i32 %t9554, 0 - %t9558 = select i1 %t9557, i32 8, i32 %t9556 - %t9559 = getelementptr ptr, ptr null, i32 1 - %t9560 = ptrtoint ptr %t9559 to i64 - %t9561 = zext i32 %t9558 to i64 - %t9562 = mul i64 %t9561, %t9560 - %t9563 = load ptr, ptr %t9552 - %t9564 = call ptr @realloc(ptr %t9563, i64 %t9562) - store ptr %t9564, ptr %t9552 - store i32 %t9558, ptr %t9551 - br label %put2006 -put2006: - %t9565 = load ptr, ptr %t9552 - %t9566 = getelementptr inbounds ptr, ptr %t9565, i32 %t9553 - store ptr @.str7169, ptr %t9566 - %t9567 = add i32 %t9553, 1 - store i32 %t9567, ptr %t9550 - br label %ifend2002 -ifend2002: - %t9568 = load ptr, ptr %t1 - %t9569 = call i32 @fn_str_eq(ptr %t9568, ptr @.str7170) - %t9570 = icmp ne i32 %t9569, 0 - br i1 %t9570, label %then2007, label %ifend2009 -then2007: - store ptr @.str7171, ptr %t330 - %t9571 = load ptr, ptr %t337 - %t9572 = getelementptr inbounds %LSlice, ptr %t9571, i32 0, i32 1 - %t9573 = getelementptr inbounds %LSlice, ptr %t9571, i32 0, i32 2 - %t9574 = getelementptr inbounds %LSlice, ptr %t9571, i32 0, i32 0 - %t9575 = load i32, ptr %t9572 - %t9576 = load i32, ptr %t9573 - %t9577 = icmp sge i32 %t9575, %t9576 - br i1 %t9577, label %grow2010, label %put2011 -grow2010: - %t9578 = mul i32 %t9576, 2 - %t9579 = icmp eq i32 %t9576, 0 - %t9580 = select i1 %t9579, i32 8, i32 %t9578 - %t9581 = getelementptr ptr, ptr null, i32 1 - %t9582 = ptrtoint ptr %t9581 to i64 - %t9583 = zext i32 %t9580 to i64 - %t9584 = mul i64 %t9583, %t9582 - %t9585 = load ptr, ptr %t9574 - %t9586 = call ptr @realloc(ptr %t9585, i64 %t9584) - store ptr %t9586, ptr %t9574 - store i32 %t9580, ptr %t9573 - br label %put2011 -put2011: - %t9587 = load ptr, ptr %t9574 - %t9588 = getelementptr inbounds ptr, ptr %t9587, i32 %t9575 - store ptr @.str7172, ptr %t9588 - %t9589 = add i32 %t9575, 1 - store i32 %t9589, ptr %t9572 - br label %ifend2009 -ifend2009: - %t9590 = load ptr, ptr %t1 - %t9591 = call i32 @fn_str_eq(ptr %t9590, ptr @.str7173) - %t9592 = icmp ne i32 %t9591, 0 - br i1 %t9592, label %then2012, label %ifend2014 -then2012: - store ptr @.str7174, ptr %t330 - %t9593 = load ptr, ptr %t337 - %t9594 = getelementptr inbounds %LSlice, ptr %t9593, i32 0, i32 1 - %t9595 = getelementptr inbounds %LSlice, ptr %t9593, i32 0, i32 2 - %t9596 = getelementptr inbounds %LSlice, ptr %t9593, i32 0, i32 0 - %t9597 = load i32, ptr %t9594 - %t9598 = load i32, ptr %t9595 - %t9599 = icmp sge i32 %t9597, %t9598 - br i1 %t9599, label %grow2015, label %put2016 -grow2015: - %t9600 = mul i32 %t9598, 2 - %t9601 = icmp eq i32 %t9598, 0 - %t9602 = select i1 %t9601, i32 8, i32 %t9600 - %t9603 = getelementptr ptr, ptr null, i32 1 - %t9604 = ptrtoint ptr %t9603 to i64 - %t9605 = zext i32 %t9602 to i64 - %t9606 = mul i64 %t9605, %t9604 - %t9607 = load ptr, ptr %t9596 - %t9608 = call ptr @realloc(ptr %t9607, i64 %t9606) - store ptr %t9608, ptr %t9596 - store i32 %t9602, ptr %t9595 - br label %put2016 -put2016: - %t9609 = load ptr, ptr %t9596 - %t9610 = getelementptr inbounds ptr, ptr %t9609, i32 %t9597 - store ptr @.str7175, ptr %t9610 - %t9611 = add i32 %t9597, 1 - store i32 %t9611, ptr %t9594 - br label %ifend2014 -ifend2014: - %t9612 = load ptr, ptr %t1 - %t9613 = call i32 @fn_str_eq(ptr %t9612, ptr @.str7176) - %t9614 = icmp ne i32 %t9613, 0 - br i1 %t9614, label %then2017, label %ifend2019 -then2017: - store ptr @.str7177, ptr %t330 - %t9615 = load ptr, ptr %t337 - %t9616 = getelementptr inbounds %LSlice, ptr %t9615, i32 0, i32 1 - %t9617 = getelementptr inbounds %LSlice, ptr %t9615, i32 0, i32 2 - %t9618 = getelementptr inbounds %LSlice, ptr %t9615, i32 0, i32 0 - %t9619 = load i32, ptr %t9616 - %t9620 = load i32, ptr %t9617 - %t9621 = icmp sge i32 %t9619, %t9620 - br i1 %t9621, label %grow2020, label %put2021 -grow2020: - %t9622 = mul i32 %t9620, 2 - %t9623 = icmp eq i32 %t9620, 0 - %t9624 = select i1 %t9623, i32 8, i32 %t9622 - %t9625 = getelementptr ptr, ptr null, i32 1 - %t9626 = ptrtoint ptr %t9625 to i64 - %t9627 = zext i32 %t9624 to i64 - %t9628 = mul i64 %t9627, %t9626 - %t9629 = load ptr, ptr %t9618 - %t9630 = call ptr @realloc(ptr %t9629, i64 %t9628) - store ptr %t9630, ptr %t9618 - store i32 %t9624, ptr %t9617 - br label %put2021 -put2021: - %t9631 = load ptr, ptr %t9618 - %t9632 = getelementptr inbounds ptr, ptr %t9631, i32 %t9619 - store ptr @.str7178, ptr %t9632 - %t9633 = add i32 %t9619, 1 - store i32 %t9633, ptr %t9616 - %t9634 = load ptr, ptr %t337 - %t9635 = getelementptr inbounds %LSlice, ptr %t9634, i32 0, i32 1 - %t9636 = getelementptr inbounds %LSlice, ptr %t9634, i32 0, i32 2 - %t9637 = getelementptr inbounds %LSlice, ptr %t9634, i32 0, i32 0 - %t9638 = load i32, ptr %t9635 - %t9639 = load i32, ptr %t9636 - %t9640 = icmp sge i32 %t9638, %t9639 - br i1 %t9640, label %grow2022, label %put2023 -grow2022: - %t9641 = mul i32 %t9639, 2 - %t9642 = icmp eq i32 %t9639, 0 - %t9643 = select i1 %t9642, i32 8, i32 %t9641 - %t9644 = getelementptr ptr, ptr null, i32 1 - %t9645 = ptrtoint ptr %t9644 to i64 - %t9646 = zext i32 %t9643 to i64 - %t9647 = mul i64 %t9646, %t9645 - %t9648 = load ptr, ptr %t9637 - %t9649 = call ptr @realloc(ptr %t9648, i64 %t9647) - store ptr %t9649, ptr %t9637 - store i32 %t9643, ptr %t9636 - br label %put2023 -put2023: - %t9650 = load ptr, ptr %t9637 - %t9651 = getelementptr inbounds ptr, ptr %t9650, i32 %t9638 - store ptr @.str7179, ptr %t9651 - %t9652 = add i32 %t9638, 1 - store i32 %t9652, ptr %t9635 - br label %ifend2019 -ifend2019: - br label %ifend1977 -ifend1977: - %t9653 = load ptr, ptr %t0 - %t9654 = call i32 @fn_str_eq(ptr %t9653, ptr @.str7180) - %t9655 = icmp ne i32 %t9654, 0 - br i1 %t9655, label %then2024, label %ifend2026 -then2024: - %t9656 = load ptr, ptr %t1 - %t9657 = call i32 @fn_str_eq(ptr %t9656, ptr @.str7181) - %t9658 = icmp ne i32 %t9657, 0 - br i1 %t9658, label %then2027, label %ifend2029 -then2027: - store ptr @.str7182, ptr %t330 - %t9659 = load ptr, ptr %t337 - %t9660 = getelementptr inbounds %LSlice, ptr %t9659, i32 0, i32 1 - %t9661 = getelementptr inbounds %LSlice, ptr %t9659, i32 0, i32 2 - %t9662 = getelementptr inbounds %LSlice, ptr %t9659, i32 0, i32 0 - %t9663 = load i32, ptr %t9660 - %t9664 = load i32, ptr %t9661 - %t9665 = icmp sge i32 %t9663, %t9664 - br i1 %t9665, label %grow2030, label %put2031 -grow2030: - %t9666 = mul i32 %t9664, 2 - %t9667 = icmp eq i32 %t9664, 0 - %t9668 = select i1 %t9667, i32 8, i32 %t9666 - %t9669 = getelementptr ptr, ptr null, i32 1 - %t9670 = ptrtoint ptr %t9669 to i64 - %t9671 = zext i32 %t9668 to i64 - %t9672 = mul i64 %t9671, %t9670 - %t9673 = load ptr, ptr %t9662 - %t9674 = call ptr @realloc(ptr %t9673, i64 %t9672) - store ptr %t9674, ptr %t9662 - store i32 %t9668, ptr %t9661 - br label %put2031 -put2031: - %t9675 = load ptr, ptr %t9662 - %t9676 = getelementptr inbounds ptr, ptr %t9675, i32 %t9663 - store ptr @.str7183, ptr %t9676 - %t9677 = add i32 %t9663, 1 - store i32 %t9677, ptr %t9660 - br label %ifend2029 -ifend2029: - %t9678 = load ptr, ptr %t1 - %t9679 = call i32 @fn_str_eq(ptr %t9678, ptr @.str7184) - %t9680 = icmp ne i32 %t9679, 0 - br i1 %t9680, label %then2032, label %ifend2034 -then2032: - store ptr @.str7185, ptr %t330 - %t9681 = load ptr, ptr %t337 - %t9682 = getelementptr inbounds %LSlice, ptr %t9681, i32 0, i32 1 - %t9683 = getelementptr inbounds %LSlice, ptr %t9681, i32 0, i32 2 - %t9684 = getelementptr inbounds %LSlice, ptr %t9681, i32 0, i32 0 - %t9685 = load i32, ptr %t9682 - %t9686 = load i32, ptr %t9683 - %t9687 = icmp sge i32 %t9685, %t9686 - br i1 %t9687, label %grow2035, label %put2036 -grow2035: - %t9688 = mul i32 %t9686, 2 - %t9689 = icmp eq i32 %t9686, 0 - %t9690 = select i1 %t9689, i32 8, i32 %t9688 - %t9691 = getelementptr ptr, ptr null, i32 1 - %t9692 = ptrtoint ptr %t9691 to i64 - %t9693 = zext i32 %t9690 to i64 - %t9694 = mul i64 %t9693, %t9692 - %t9695 = load ptr, ptr %t9684 - %t9696 = call ptr @realloc(ptr %t9695, i64 %t9694) - store ptr %t9696, ptr %t9684 - store i32 %t9690, ptr %t9683 - br label %put2036 -put2036: - %t9697 = load ptr, ptr %t9684 - %t9698 = getelementptr inbounds ptr, ptr %t9697, i32 %t9685 - store ptr @.str7186, ptr %t9698 - %t9699 = add i32 %t9685, 1 - store i32 %t9699, ptr %t9682 - br label %ifend2034 -ifend2034: - %t9700 = load ptr, ptr %t1 - %t9701 = call i32 @fn_str_eq(ptr %t9700, ptr @.str7187) - %t9702 = icmp ne i32 %t9701, 0 - br i1 %t9702, label %then2037, label %ifend2039 -then2037: - store ptr @.str7188, ptr %t330 - %t9703 = load ptr, ptr %t337 - %t9704 = getelementptr inbounds %LSlice, ptr %t9703, i32 0, i32 1 - %t9705 = getelementptr inbounds %LSlice, ptr %t9703, i32 0, i32 2 - %t9706 = getelementptr inbounds %LSlice, ptr %t9703, i32 0, i32 0 - %t9707 = load i32, ptr %t9704 - %t9708 = load i32, ptr %t9705 - %t9709 = icmp sge i32 %t9707, %t9708 - br i1 %t9709, label %grow2040, label %put2041 -grow2040: - %t9710 = mul i32 %t9708, 2 - %t9711 = icmp eq i32 %t9708, 0 - %t9712 = select i1 %t9711, i32 8, i32 %t9710 - %t9713 = getelementptr ptr, ptr null, i32 1 - %t9714 = ptrtoint ptr %t9713 to i64 - %t9715 = zext i32 %t9712 to i64 - %t9716 = mul i64 %t9715, %t9714 - %t9717 = load ptr, ptr %t9706 - %t9718 = call ptr @realloc(ptr %t9717, i64 %t9716) - store ptr %t9718, ptr %t9706 - store i32 %t9712, ptr %t9705 - br label %put2041 -put2041: - %t9719 = load ptr, ptr %t9706 - %t9720 = getelementptr inbounds ptr, ptr %t9719, i32 %t9707 - store ptr @.str7189, ptr %t9720 - %t9721 = add i32 %t9707, 1 - store i32 %t9721, ptr %t9704 - %t9722 = load ptr, ptr %t337 - %t9723 = getelementptr inbounds %LSlice, ptr %t9722, i32 0, i32 1 - %t9724 = getelementptr inbounds %LSlice, ptr %t9722, i32 0, i32 2 - %t9725 = getelementptr inbounds %LSlice, ptr %t9722, i32 0, i32 0 - %t9726 = load i32, ptr %t9723 - %t9727 = load i32, ptr %t9724 - %t9728 = icmp sge i32 %t9726, %t9727 - br i1 %t9728, label %grow2042, label %put2043 -grow2042: - %t9729 = mul i32 %t9727, 2 - %t9730 = icmp eq i32 %t9727, 0 - %t9731 = select i1 %t9730, i32 8, i32 %t9729 - %t9732 = getelementptr ptr, ptr null, i32 1 - %t9733 = ptrtoint ptr %t9732 to i64 - %t9734 = zext i32 %t9731 to i64 - %t9735 = mul i64 %t9734, %t9733 - %t9736 = load ptr, ptr %t9725 - %t9737 = call ptr @realloc(ptr %t9736, i64 %t9735) - store ptr %t9737, ptr %t9725 - store i32 %t9731, ptr %t9724 - br label %put2043 -put2043: - %t9738 = load ptr, ptr %t9725 - %t9739 = getelementptr inbounds ptr, ptr %t9738, i32 %t9726 - store ptr @.str7190, ptr %t9739 - %t9740 = add i32 %t9726, 1 - store i32 %t9740, ptr %t9723 - %t9741 = load ptr, ptr %t337 - %t9742 = getelementptr inbounds %LSlice, ptr %t9741, i32 0, i32 1 - %t9743 = getelementptr inbounds %LSlice, ptr %t9741, i32 0, i32 2 - %t9744 = getelementptr inbounds %LSlice, ptr %t9741, i32 0, i32 0 - %t9745 = load i32, ptr %t9742 - %t9746 = load i32, ptr %t9743 - %t9747 = icmp sge i32 %t9745, %t9746 - br i1 %t9747, label %grow2044, label %put2045 + br label %ifend2010 +ifend2010: + %t9549 = load ptr, ptr %t1 + %t9550 = call i32 @fn_str_eq(ptr %t9549, ptr @.str7498) + %t9551 = icmp ne i32 %t9550, 0 + br i1 %t9551, label %then2013, label %ifend2015 +then2013: + store ptr @.str7499, ptr %t380 + %t9552 = load ptr, ptr %t387 + %t9553 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 1 + %t9554 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 2 + %t9555 = getelementptr inbounds %LSlice, ptr %t9552, i32 0, i32 0 + %t9556 = load i32, ptr %t9553 + %t9557 = load i32, ptr %t9554 + %t9558 = icmp sge i32 %t9556, %t9557 + br i1 %t9558, label %grow2016, label %put2017 +grow2016: + %t9559 = mul i32 %t9557, 2 + %t9560 = icmp eq i32 %t9557, 0 + %t9561 = select i1 %t9560, i32 8, i32 %t9559 + %t9562 = getelementptr ptr, ptr null, i32 1 + %t9563 = ptrtoint ptr %t9562 to i64 + %t9564 = zext i32 %t9561 to i64 + %t9565 = mul i64 %t9564, %t9563 + %t9566 = load ptr, ptr %t9555 + %t9567 = call ptr @realloc(ptr %t9566, i64 %t9565) + store ptr %t9567, ptr %t9555 + store i32 %t9561, ptr %t9554 + br label %put2017 +put2017: + %t9568 = load ptr, ptr %t9555 + %t9569 = getelementptr inbounds ptr, ptr %t9568, i32 %t9556 + store ptr @.str7500, ptr %t9569 + %t9570 = add i32 %t9556, 1 + store i32 %t9570, ptr %t9553 + br label %ifend2015 +ifend2015: + %t9571 = load ptr, ptr %t1 + %t9572 = call i32 @fn_str_eq(ptr %t9571, ptr @.str7501) + %t9573 = icmp ne i32 %t9572, 0 + br i1 %t9573, label %then2018, label %ifend2020 +then2018: + store ptr @.str7502, ptr %t380 + %t9574 = load ptr, ptr %t387 + %t9575 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 1 + %t9576 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 2 + %t9577 = getelementptr inbounds %LSlice, ptr %t9574, i32 0, i32 0 + %t9578 = load i32, ptr %t9575 + %t9579 = load i32, ptr %t9576 + %t9580 = icmp sge i32 %t9578, %t9579 + br i1 %t9580, label %grow2021, label %put2022 +grow2021: + %t9581 = mul i32 %t9579, 2 + %t9582 = icmp eq i32 %t9579, 0 + %t9583 = select i1 %t9582, i32 8, i32 %t9581 + %t9584 = getelementptr ptr, ptr null, i32 1 + %t9585 = ptrtoint ptr %t9584 to i64 + %t9586 = zext i32 %t9583 to i64 + %t9587 = mul i64 %t9586, %t9585 + %t9588 = load ptr, ptr %t9577 + %t9589 = call ptr @realloc(ptr %t9588, i64 %t9587) + store ptr %t9589, ptr %t9577 + store i32 %t9583, ptr %t9576 + br label %put2022 +put2022: + %t9590 = load ptr, ptr %t9577 + %t9591 = getelementptr inbounds ptr, ptr %t9590, i32 %t9578 + store ptr @.str7503, ptr %t9591 + %t9592 = add i32 %t9578, 1 + store i32 %t9592, ptr %t9575 + br label %ifend2020 +ifend2020: + br label %ifend1964 +ifend1964: + %t9593 = load ptr, ptr %t0 + %t9594 = call i32 @fn_str_eq(ptr %t9593, ptr @.str7504) + %t9595 = icmp ne i32 %t9594, 0 + br i1 %t9595, label %then2023, label %ifend2025 +then2023: + %t9596 = load ptr, ptr %t1 + %t9597 = call i32 @fn_str_eq(ptr %t9596, ptr @.str7505) + %t9598 = icmp ne i32 %t9597, 0 + br i1 %t9598, label %then2026, label %ifend2028 +then2026: + store ptr @.str7506, ptr %t380 + %t9599 = load ptr, ptr %t387 + %t9600 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 1 + %t9601 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 2 + %t9602 = getelementptr inbounds %LSlice, ptr %t9599, i32 0, i32 0 + %t9603 = load i32, ptr %t9600 + %t9604 = load i32, ptr %t9601 + %t9605 = icmp sge i32 %t9603, %t9604 + br i1 %t9605, label %grow2029, label %put2030 +grow2029: + %t9606 = mul i32 %t9604, 2 + %t9607 = icmp eq i32 %t9604, 0 + %t9608 = select i1 %t9607, i32 8, i32 %t9606 + %t9609 = getelementptr ptr, ptr null, i32 1 + %t9610 = ptrtoint ptr %t9609 to i64 + %t9611 = zext i32 %t9608 to i64 + %t9612 = mul i64 %t9611, %t9610 + %t9613 = load ptr, ptr %t9602 + %t9614 = call ptr @realloc(ptr %t9613, i64 %t9612) + store ptr %t9614, ptr %t9602 + store i32 %t9608, ptr %t9601 + br label %put2030 +put2030: + %t9615 = load ptr, ptr %t9602 + %t9616 = getelementptr inbounds ptr, ptr %t9615, i32 %t9603 + store ptr @.str7507, ptr %t9616 + %t9617 = add i32 %t9603, 1 + store i32 %t9617, ptr %t9600 + br label %ifend2028 +ifend2028: + %t9618 = load ptr, ptr %t1 + %t9619 = call i32 @fn_str_eq(ptr %t9618, ptr @.str7508) + %t9620 = icmp ne i32 %t9619, 0 + br i1 %t9620, label %then2031, label %ifend2033 +then2031: + store ptr @.str7509, ptr %t380 + %t9621 = load ptr, ptr %t387 + %t9622 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 1 + %t9623 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 2 + %t9624 = getelementptr inbounds %LSlice, ptr %t9621, i32 0, i32 0 + %t9625 = load i32, ptr %t9622 + %t9626 = load i32, ptr %t9623 + %t9627 = icmp sge i32 %t9625, %t9626 + br i1 %t9627, label %grow2034, label %put2035 +grow2034: + %t9628 = mul i32 %t9626, 2 + %t9629 = icmp eq i32 %t9626, 0 + %t9630 = select i1 %t9629, i32 8, i32 %t9628 + %t9631 = getelementptr ptr, ptr null, i32 1 + %t9632 = ptrtoint ptr %t9631 to i64 + %t9633 = zext i32 %t9630 to i64 + %t9634 = mul i64 %t9633, %t9632 + %t9635 = load ptr, ptr %t9624 + %t9636 = call ptr @realloc(ptr %t9635, i64 %t9634) + store ptr %t9636, ptr %t9624 + store i32 %t9630, ptr %t9623 + br label %put2035 +put2035: + %t9637 = load ptr, ptr %t9624 + %t9638 = getelementptr inbounds ptr, ptr %t9637, i32 %t9625 + store ptr @.str7510, ptr %t9638 + %t9639 = add i32 %t9625, 1 + store i32 %t9639, ptr %t9622 + br label %ifend2033 +ifend2033: + %t9640 = load ptr, ptr %t1 + %t9641 = call i32 @fn_str_eq(ptr %t9640, ptr @.str7511) + %t9642 = icmp ne i32 %t9641, 0 + br i1 %t9642, label %then2036, label %ifend2038 +then2036: + store ptr @.str7512, ptr %t380 + %t9643 = load ptr, ptr %t387 + %t9644 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 1 + %t9645 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 2 + %t9646 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 0 + %t9647 = load i32, ptr %t9644 + %t9648 = load i32, ptr %t9645 + %t9649 = icmp sge i32 %t9647, %t9648 + br i1 %t9649, label %grow2039, label %put2040 +grow2039: + %t9650 = mul i32 %t9648, 2 + %t9651 = icmp eq i32 %t9648, 0 + %t9652 = select i1 %t9651, i32 8, i32 %t9650 + %t9653 = getelementptr ptr, ptr null, i32 1 + %t9654 = ptrtoint ptr %t9653 to i64 + %t9655 = zext i32 %t9652 to i64 + %t9656 = mul i64 %t9655, %t9654 + %t9657 = load ptr, ptr %t9646 + %t9658 = call ptr @realloc(ptr %t9657, i64 %t9656) + store ptr %t9658, ptr %t9646 + store i32 %t9652, ptr %t9645 + br label %put2040 +put2040: + %t9659 = load ptr, ptr %t9646 + %t9660 = getelementptr inbounds ptr, ptr %t9659, i32 %t9647 + store ptr @.str7513, ptr %t9660 + %t9661 = add i32 %t9647, 1 + store i32 %t9661, ptr %t9644 + br label %ifend2038 +ifend2038: + %t9662 = load ptr, ptr %t1 + %t9663 = call i32 @fn_str_eq(ptr %t9662, ptr @.str7514) + %t9664 = icmp ne i32 %t9663, 0 + br i1 %t9664, label %then2041, label %ifend2043 +then2041: + store ptr @.str7515, ptr %t380 + %t9665 = load ptr, ptr %t387 + %t9666 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 1 + %t9667 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 2 + %t9668 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 0 + %t9669 = load i32, ptr %t9666 + %t9670 = load i32, ptr %t9667 + %t9671 = icmp sge i32 %t9669, %t9670 + br i1 %t9671, label %grow2044, label %put2045 grow2044: - %t9748 = mul i32 %t9746, 2 - %t9749 = icmp eq i32 %t9746, 0 - %t9750 = select i1 %t9749, i32 8, i32 %t9748 - %t9751 = getelementptr ptr, ptr null, i32 1 - %t9752 = ptrtoint ptr %t9751 to i64 - %t9753 = zext i32 %t9750 to i64 - %t9754 = mul i64 %t9753, %t9752 - %t9755 = load ptr, ptr %t9744 - %t9756 = call ptr @realloc(ptr %t9755, i64 %t9754) - store ptr %t9756, ptr %t9744 - store i32 %t9750, ptr %t9743 + %t9672 = mul i32 %t9670, 2 + %t9673 = icmp eq i32 %t9670, 0 + %t9674 = select i1 %t9673, i32 8, i32 %t9672 + %t9675 = getelementptr ptr, ptr null, i32 1 + %t9676 = ptrtoint ptr %t9675 to i64 + %t9677 = zext i32 %t9674 to i64 + %t9678 = mul i64 %t9677, %t9676 + %t9679 = load ptr, ptr %t9668 + %t9680 = call ptr @realloc(ptr %t9679, i64 %t9678) + store ptr %t9680, ptr %t9668 + store i32 %t9674, ptr %t9667 br label %put2045 put2045: - %t9757 = load ptr, ptr %t9744 - %t9758 = getelementptr inbounds ptr, ptr %t9757, i32 %t9745 - store ptr @.str7191, ptr %t9758 - %t9759 = add i32 %t9745, 1 - store i32 %t9759, ptr %t9742 - %t9760 = load ptr, ptr %t337 - %t9761 = getelementptr inbounds %LSlice, ptr %t9760, i32 0, i32 1 - %t9762 = getelementptr inbounds %LSlice, ptr %t9760, i32 0, i32 2 - %t9763 = getelementptr inbounds %LSlice, ptr %t9760, i32 0, i32 0 - %t9764 = load i32, ptr %t9761 - %t9765 = load i32, ptr %t9762 - %t9766 = icmp sge i32 %t9764, %t9765 - br i1 %t9766, label %grow2046, label %put2047 -grow2046: - %t9767 = mul i32 %t9765, 2 - %t9768 = icmp eq i32 %t9765, 0 - %t9769 = select i1 %t9768, i32 8, i32 %t9767 - %t9770 = getelementptr ptr, ptr null, i32 1 - %t9771 = ptrtoint ptr %t9770 to i64 - %t9772 = zext i32 %t9769 to i64 - %t9773 = mul i64 %t9772, %t9771 - %t9774 = load ptr, ptr %t9763 - %t9775 = call ptr @realloc(ptr %t9774, i64 %t9773) - store ptr %t9775, ptr %t9763 - store i32 %t9769, ptr %t9762 - br label %put2047 -put2047: - %t9776 = load ptr, ptr %t9763 - %t9777 = getelementptr inbounds ptr, ptr %t9776, i32 %t9764 - store ptr @.str7192, ptr %t9777 - %t9778 = add i32 %t9764, 1 - store i32 %t9778, ptr %t9761 - %t9779 = load ptr, ptr %t337 - %t9780 = getelementptr inbounds %LSlice, ptr %t9779, i32 0, i32 1 - %t9781 = getelementptr inbounds %LSlice, ptr %t9779, i32 0, i32 2 - %t9782 = getelementptr inbounds %LSlice, ptr %t9779, i32 0, i32 0 - %t9783 = load i32, ptr %t9780 - %t9784 = load i32, ptr %t9781 - %t9785 = icmp sge i32 %t9783, %t9784 - br i1 %t9785, label %grow2048, label %put2049 -grow2048: - %t9786 = mul i32 %t9784, 2 - %t9787 = icmp eq i32 %t9784, 0 - %t9788 = select i1 %t9787, i32 8, i32 %t9786 - %t9789 = getelementptr ptr, ptr null, i32 1 - %t9790 = ptrtoint ptr %t9789 to i64 - %t9791 = zext i32 %t9788 to i64 - %t9792 = mul i64 %t9791, %t9790 - %t9793 = load ptr, ptr %t9782 - %t9794 = call ptr @realloc(ptr %t9793, i64 %t9792) - store ptr %t9794, ptr %t9782 - store i32 %t9788, ptr %t9781 - br label %put2049 -put2049: - %t9795 = load ptr, ptr %t9782 - %t9796 = getelementptr inbounds ptr, ptr %t9795, i32 %t9783 - store ptr @.str7193, ptr %t9796 - %t9797 = add i32 %t9783, 1 - store i32 %t9797, ptr %t9780 - %t9798 = load ptr, ptr %t337 - %t9799 = getelementptr inbounds %LSlice, ptr %t9798, i32 0, i32 1 - %t9800 = getelementptr inbounds %LSlice, ptr %t9798, i32 0, i32 2 - %t9801 = getelementptr inbounds %LSlice, ptr %t9798, i32 0, i32 0 - %t9802 = load i32, ptr %t9799 - %t9803 = load i32, ptr %t9800 - %t9804 = icmp sge i32 %t9802, %t9803 - br i1 %t9804, label %grow2050, label %put2051 -grow2050: - %t9805 = mul i32 %t9803, 2 - %t9806 = icmp eq i32 %t9803, 0 - %t9807 = select i1 %t9806, i32 8, i32 %t9805 - %t9808 = getelementptr ptr, ptr null, i32 1 - %t9809 = ptrtoint ptr %t9808 to i64 - %t9810 = zext i32 %t9807 to i64 - %t9811 = mul i64 %t9810, %t9809 - %t9812 = load ptr, ptr %t9801 - %t9813 = call ptr @realloc(ptr %t9812, i64 %t9811) - store ptr %t9813, ptr %t9801 - store i32 %t9807, ptr %t9800 - br label %put2051 -put2051: - %t9814 = load ptr, ptr %t9801 - %t9815 = getelementptr inbounds ptr, ptr %t9814, i32 %t9802 - store ptr @.str7194, ptr %t9815 - %t9816 = add i32 %t9802, 1 - store i32 %t9816, ptr %t9799 - br label %ifend2039 -ifend2039: - %t9817 = load ptr, ptr %t1 - %t9818 = call i32 @fn_str_eq(ptr %t9817, ptr @.str7195) - %t9819 = icmp ne i32 %t9818, 0 - br i1 %t9819, label %then2052, label %ifend2054 -then2052: - store ptr @.str7196, ptr %t330 - %t9820 = load ptr, ptr %t337 - %t9821 = getelementptr inbounds %LSlice, ptr %t9820, i32 0, i32 1 - %t9822 = getelementptr inbounds %LSlice, ptr %t9820, i32 0, i32 2 - %t9823 = getelementptr inbounds %LSlice, ptr %t9820, i32 0, i32 0 - %t9824 = load i32, ptr %t9821 - %t9825 = load i32, ptr %t9822 - %t9826 = icmp sge i32 %t9824, %t9825 - br i1 %t9826, label %grow2055, label %put2056 -grow2055: - %t9827 = mul i32 %t9825, 2 - %t9828 = icmp eq i32 %t9825, 0 - %t9829 = select i1 %t9828, i32 8, i32 %t9827 - %t9830 = getelementptr ptr, ptr null, i32 1 - %t9831 = ptrtoint ptr %t9830 to i64 - %t9832 = zext i32 %t9829 to i64 - %t9833 = mul i64 %t9832, %t9831 - %t9834 = load ptr, ptr %t9823 - %t9835 = call ptr @realloc(ptr %t9834, i64 %t9833) - store ptr %t9835, ptr %t9823 - store i32 %t9829, ptr %t9822 - br label %put2056 -put2056: - %t9836 = load ptr, ptr %t9823 - %t9837 = getelementptr inbounds ptr, ptr %t9836, i32 %t9824 - store ptr @.str7197, ptr %t9837 - %t9838 = add i32 %t9824, 1 - store i32 %t9838, ptr %t9821 - %t9839 = load ptr, ptr %t337 - %t9840 = getelementptr inbounds %LSlice, ptr %t9839, i32 0, i32 1 - %t9841 = getelementptr inbounds %LSlice, ptr %t9839, i32 0, i32 2 - %t9842 = getelementptr inbounds %LSlice, ptr %t9839, i32 0, i32 0 - %t9843 = load i32, ptr %t9840 - %t9844 = load i32, ptr %t9841 - %t9845 = icmp sge i32 %t9843, %t9844 - br i1 %t9845, label %grow2057, label %put2058 -grow2057: - %t9846 = mul i32 %t9844, 2 - %t9847 = icmp eq i32 %t9844, 0 - %t9848 = select i1 %t9847, i32 8, i32 %t9846 - %t9849 = getelementptr ptr, ptr null, i32 1 - %t9850 = ptrtoint ptr %t9849 to i64 - %t9851 = zext i32 %t9848 to i64 - %t9852 = mul i64 %t9851, %t9850 - %t9853 = load ptr, ptr %t9842 - %t9854 = call ptr @realloc(ptr %t9853, i64 %t9852) - store ptr %t9854, ptr %t9842 - store i32 %t9848, ptr %t9841 - br label %put2058 -put2058: - %t9855 = load ptr, ptr %t9842 - %t9856 = getelementptr inbounds ptr, ptr %t9855, i32 %t9843 - store ptr @.str7198, ptr %t9856 - %t9857 = add i32 %t9843, 1 - store i32 %t9857, ptr %t9840 - %t9858 = load ptr, ptr %t337 - %t9859 = getelementptr inbounds %LSlice, ptr %t9858, i32 0, i32 1 - %t9860 = getelementptr inbounds %LSlice, ptr %t9858, i32 0, i32 2 - %t9861 = getelementptr inbounds %LSlice, ptr %t9858, i32 0, i32 0 - %t9862 = load i32, ptr %t9859 - %t9863 = load i32, ptr %t9860 - %t9864 = icmp sge i32 %t9862, %t9863 - br i1 %t9864, label %grow2059, label %put2060 -grow2059: - %t9865 = mul i32 %t9863, 2 - %t9866 = icmp eq i32 %t9863, 0 - %t9867 = select i1 %t9866, i32 8, i32 %t9865 - %t9868 = getelementptr ptr, ptr null, i32 1 - %t9869 = ptrtoint ptr %t9868 to i64 - %t9870 = zext i32 %t9867 to i64 - %t9871 = mul i64 %t9870, %t9869 - %t9872 = load ptr, ptr %t9861 - %t9873 = call ptr @realloc(ptr %t9872, i64 %t9871) - store ptr %t9873, ptr %t9861 - store i32 %t9867, ptr %t9860 - br label %put2060 -put2060: - %t9874 = load ptr, ptr %t9861 - %t9875 = getelementptr inbounds ptr, ptr %t9874, i32 %t9862 - store ptr @.str7199, ptr %t9875 - %t9876 = add i32 %t9862, 1 - store i32 %t9876, ptr %t9859 - %t9877 = load ptr, ptr %t337 - %t9878 = getelementptr inbounds %LSlice, ptr %t9877, i32 0, i32 1 - %t9879 = getelementptr inbounds %LSlice, ptr %t9877, i32 0, i32 2 - %t9880 = getelementptr inbounds %LSlice, ptr %t9877, i32 0, i32 0 - %t9881 = load i32, ptr %t9878 - %t9882 = load i32, ptr %t9879 - %t9883 = icmp sge i32 %t9881, %t9882 - br i1 %t9883, label %grow2061, label %put2062 + %t9681 = load ptr, ptr %t9668 + %t9682 = getelementptr inbounds ptr, ptr %t9681, i32 %t9669 + store ptr @.str7516, ptr %t9682 + %t9683 = add i32 %t9669, 1 + store i32 %t9683, ptr %t9666 + br label %ifend2043 +ifend2043: + %t9684 = load ptr, ptr %t1 + %t9685 = call i32 @fn_str_eq(ptr %t9684, ptr @.str7517) + %t9686 = icmp ne i32 %t9685, 0 + br i1 %t9686, label %then2046, label %ifend2048 +then2046: + store ptr @.str7518, ptr %t380 + %t9687 = load ptr, ptr %t387 + %t9688 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 1 + %t9689 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 2 + %t9690 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 0 + %t9691 = load i32, ptr %t9688 + %t9692 = load i32, ptr %t9689 + %t9693 = icmp sge i32 %t9691, %t9692 + br i1 %t9693, label %grow2049, label %put2050 +grow2049: + %t9694 = mul i32 %t9692, 2 + %t9695 = icmp eq i32 %t9692, 0 + %t9696 = select i1 %t9695, i32 8, i32 %t9694 + %t9697 = getelementptr ptr, ptr null, i32 1 + %t9698 = ptrtoint ptr %t9697 to i64 + %t9699 = zext i32 %t9696 to i64 + %t9700 = mul i64 %t9699, %t9698 + %t9701 = load ptr, ptr %t9690 + %t9702 = call ptr @realloc(ptr %t9701, i64 %t9700) + store ptr %t9702, ptr %t9690 + store i32 %t9696, ptr %t9689 + br label %put2050 +put2050: + %t9703 = load ptr, ptr %t9690 + %t9704 = getelementptr inbounds ptr, ptr %t9703, i32 %t9691 + store ptr @.str7519, ptr %t9704 + %t9705 = add i32 %t9691, 1 + store i32 %t9705, ptr %t9688 + br label %ifend2048 +ifend2048: + %t9706 = load ptr, ptr %t1 + %t9707 = call i32 @fn_str_eq(ptr %t9706, ptr @.str7520) + %t9708 = icmp ne i32 %t9707, 0 + br i1 %t9708, label %then2051, label %ifend2053 +then2051: + store ptr @.str7521, ptr %t380 + %t9709 = load ptr, ptr %t387 + %t9710 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 1 + %t9711 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 2 + %t9712 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 0 + %t9713 = load i32, ptr %t9710 + %t9714 = load i32, ptr %t9711 + %t9715 = icmp sge i32 %t9713, %t9714 + br i1 %t9715, label %grow2054, label %put2055 +grow2054: + %t9716 = mul i32 %t9714, 2 + %t9717 = icmp eq i32 %t9714, 0 + %t9718 = select i1 %t9717, i32 8, i32 %t9716 + %t9719 = getelementptr ptr, ptr null, i32 1 + %t9720 = ptrtoint ptr %t9719 to i64 + %t9721 = zext i32 %t9718 to i64 + %t9722 = mul i64 %t9721, %t9720 + %t9723 = load ptr, ptr %t9712 + %t9724 = call ptr @realloc(ptr %t9723, i64 %t9722) + store ptr %t9724, ptr %t9712 + store i32 %t9718, ptr %t9711 + br label %put2055 +put2055: + %t9725 = load ptr, ptr %t9712 + %t9726 = getelementptr inbounds ptr, ptr %t9725, i32 %t9713 + store ptr @.str7522, ptr %t9726 + %t9727 = add i32 %t9713, 1 + store i32 %t9727, ptr %t9710 + %t9728 = load ptr, ptr %t387 + %t9729 = getelementptr inbounds %LSlice, ptr %t9728, i32 0, i32 1 + %t9730 = getelementptr inbounds %LSlice, ptr %t9728, i32 0, i32 2 + %t9731 = getelementptr inbounds %LSlice, ptr %t9728, i32 0, i32 0 + %t9732 = load i32, ptr %t9729 + %t9733 = load i32, ptr %t9730 + %t9734 = icmp sge i32 %t9732, %t9733 + br i1 %t9734, label %grow2056, label %put2057 +grow2056: + %t9735 = mul i32 %t9733, 2 + %t9736 = icmp eq i32 %t9733, 0 + %t9737 = select i1 %t9736, i32 8, i32 %t9735 + %t9738 = getelementptr ptr, ptr null, i32 1 + %t9739 = ptrtoint ptr %t9738 to i64 + %t9740 = zext i32 %t9737 to i64 + %t9741 = mul i64 %t9740, %t9739 + %t9742 = load ptr, ptr %t9731 + %t9743 = call ptr @realloc(ptr %t9742, i64 %t9741) + store ptr %t9743, ptr %t9731 + store i32 %t9737, ptr %t9730 + br label %put2057 +put2057: + %t9744 = load ptr, ptr %t9731 + %t9745 = getelementptr inbounds ptr, ptr %t9744, i32 %t9732 + store ptr @.str7523, ptr %t9745 + %t9746 = add i32 %t9732, 1 + store i32 %t9746, ptr %t9729 + br label %ifend2053 +ifend2053: + %t9747 = load ptr, ptr %t1 + %t9748 = call i32 @fn_str_eq(ptr %t9747, ptr @.str7524) + %t9749 = icmp ne i32 %t9748, 0 + br i1 %t9749, label %then2058, label %ifend2060 +then2058: + store ptr @.str7525, ptr %t380 + %t9750 = load ptr, ptr %t387 + %t9751 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 1 + %t9752 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 2 + %t9753 = getelementptr inbounds %LSlice, ptr %t9750, i32 0, i32 0 + %t9754 = load i32, ptr %t9751 + %t9755 = load i32, ptr %t9752 + %t9756 = icmp sge i32 %t9754, %t9755 + br i1 %t9756, label %grow2061, label %put2062 grow2061: - %t9884 = mul i32 %t9882, 2 - %t9885 = icmp eq i32 %t9882, 0 - %t9886 = select i1 %t9885, i32 8, i32 %t9884 - %t9887 = getelementptr ptr, ptr null, i32 1 - %t9888 = ptrtoint ptr %t9887 to i64 - %t9889 = zext i32 %t9886 to i64 - %t9890 = mul i64 %t9889, %t9888 - %t9891 = load ptr, ptr %t9880 - %t9892 = call ptr @realloc(ptr %t9891, i64 %t9890) - store ptr %t9892, ptr %t9880 - store i32 %t9886, ptr %t9879 + %t9757 = mul i32 %t9755, 2 + %t9758 = icmp eq i32 %t9755, 0 + %t9759 = select i1 %t9758, i32 8, i32 %t9757 + %t9760 = getelementptr ptr, ptr null, i32 1 + %t9761 = ptrtoint ptr %t9760 to i64 + %t9762 = zext i32 %t9759 to i64 + %t9763 = mul i64 %t9762, %t9761 + %t9764 = load ptr, ptr %t9753 + %t9765 = call ptr @realloc(ptr %t9764, i64 %t9763) + store ptr %t9765, ptr %t9753 + store i32 %t9759, ptr %t9752 br label %put2062 put2062: - %t9893 = load ptr, ptr %t9880 - %t9894 = getelementptr inbounds ptr, ptr %t9893, i32 %t9881 - store ptr @.str7200, ptr %t9894 - %t9895 = add i32 %t9881, 1 - store i32 %t9895, ptr %t9878 - %t9896 = load ptr, ptr %t337 - %t9897 = getelementptr inbounds %LSlice, ptr %t9896, i32 0, i32 1 - %t9898 = getelementptr inbounds %LSlice, ptr %t9896, i32 0, i32 2 - %t9899 = getelementptr inbounds %LSlice, ptr %t9896, i32 0, i32 0 - %t9900 = load i32, ptr %t9897 - %t9901 = load i32, ptr %t9898 - %t9902 = icmp sge i32 %t9900, %t9901 - br i1 %t9902, label %grow2063, label %put2064 + %t9766 = load ptr, ptr %t9753 + %t9767 = getelementptr inbounds ptr, ptr %t9766, i32 %t9754 + store ptr @.str7526, ptr %t9767 + %t9768 = add i32 %t9754, 1 + store i32 %t9768, ptr %t9751 + %t9769 = load ptr, ptr %t387 + %t9770 = getelementptr inbounds %LSlice, ptr %t9769, i32 0, i32 1 + %t9771 = getelementptr inbounds %LSlice, ptr %t9769, i32 0, i32 2 + %t9772 = getelementptr inbounds %LSlice, ptr %t9769, i32 0, i32 0 + %t9773 = load i32, ptr %t9770 + %t9774 = load i32, ptr %t9771 + %t9775 = icmp sge i32 %t9773, %t9774 + br i1 %t9775, label %grow2063, label %put2064 grow2063: - %t9903 = mul i32 %t9901, 2 - %t9904 = icmp eq i32 %t9901, 0 - %t9905 = select i1 %t9904, i32 8, i32 %t9903 - %t9906 = getelementptr ptr, ptr null, i32 1 - %t9907 = ptrtoint ptr %t9906 to i64 - %t9908 = zext i32 %t9905 to i64 - %t9909 = mul i64 %t9908, %t9907 - %t9910 = load ptr, ptr %t9899 - %t9911 = call ptr @realloc(ptr %t9910, i64 %t9909) - store ptr %t9911, ptr %t9899 - store i32 %t9905, ptr %t9898 + %t9776 = mul i32 %t9774, 2 + %t9777 = icmp eq i32 %t9774, 0 + %t9778 = select i1 %t9777, i32 8, i32 %t9776 + %t9779 = getelementptr ptr, ptr null, i32 1 + %t9780 = ptrtoint ptr %t9779 to i64 + %t9781 = zext i32 %t9778 to i64 + %t9782 = mul i64 %t9781, %t9780 + %t9783 = load ptr, ptr %t9772 + %t9784 = call ptr @realloc(ptr %t9783, i64 %t9782) + store ptr %t9784, ptr %t9772 + store i32 %t9778, ptr %t9771 br label %put2064 put2064: - %t9912 = load ptr, ptr %t9899 - %t9913 = getelementptr inbounds ptr, ptr %t9912, i32 %t9900 - store ptr @.str7201, ptr %t9913 - %t9914 = add i32 %t9900, 1 - store i32 %t9914, ptr %t9897 - %t9915 = load ptr, ptr %t337 - %t9916 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 1 - %t9917 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 2 - %t9918 = getelementptr inbounds %LSlice, ptr %t9915, i32 0, i32 0 - %t9919 = load i32, ptr %t9916 - %t9920 = load i32, ptr %t9917 - %t9921 = icmp sge i32 %t9919, %t9920 - br i1 %t9921, label %grow2065, label %put2066 -grow2065: - %t9922 = mul i32 %t9920, 2 - %t9923 = icmp eq i32 %t9920, 0 - %t9924 = select i1 %t9923, i32 8, i32 %t9922 - %t9925 = getelementptr ptr, ptr null, i32 1 - %t9926 = ptrtoint ptr %t9925 to i64 - %t9927 = zext i32 %t9924 to i64 - %t9928 = mul i64 %t9927, %t9926 - %t9929 = load ptr, ptr %t9918 - %t9930 = call ptr @realloc(ptr %t9929, i64 %t9928) - store ptr %t9930, ptr %t9918 - store i32 %t9924, ptr %t9917 - br label %put2066 -put2066: - %t9931 = load ptr, ptr %t9918 - %t9932 = getelementptr inbounds ptr, ptr %t9931, i32 %t9919 - store ptr @.str7202, ptr %t9932 - %t9933 = add i32 %t9919, 1 - store i32 %t9933, ptr %t9916 - %t9934 = load ptr, ptr %t337 - %t9935 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 1 - %t9936 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 2 - %t9937 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 0 - %t9938 = load i32, ptr %t9935 - %t9939 = load i32, ptr %t9936 - %t9940 = icmp sge i32 %t9938, %t9939 - br i1 %t9940, label %grow2067, label %put2068 -grow2067: - %t9941 = mul i32 %t9939, 2 - %t9942 = icmp eq i32 %t9939, 0 - %t9943 = select i1 %t9942, i32 8, i32 %t9941 - %t9944 = getelementptr ptr, ptr null, i32 1 - %t9945 = ptrtoint ptr %t9944 to i64 - %t9946 = zext i32 %t9943 to i64 - %t9947 = mul i64 %t9946, %t9945 - %t9948 = load ptr, ptr %t9937 - %t9949 = call ptr @realloc(ptr %t9948, i64 %t9947) - store ptr %t9949, ptr %t9937 - store i32 %t9943, ptr %t9936 - br label %put2068 -put2068: - %t9950 = load ptr, ptr %t9937 - %t9951 = getelementptr inbounds ptr, ptr %t9950, i32 %t9938 - store ptr @.str7203, ptr %t9951 - %t9952 = add i32 %t9938, 1 - store i32 %t9952, ptr %t9935 - br label %ifend2054 -ifend2054: - br label %ifend2026 -ifend2026: - %t9953 = load ptr, ptr %t0 - %t9954 = call i32 @fn_str_eq(ptr %t9953, ptr @.str7204) - %t9955 = icmp ne i32 %t9954, 0 - br i1 %t9955, label %then2069, label %ifend2071 -then2069: - %t9956 = load ptr, ptr %t1 - %t9957 = call i32 @fn_str_eq(ptr %t9956, ptr @.str7205) - %t9958 = icmp ne i32 %t9957, 0 - br i1 %t9958, label %then2072, label %ifend2074 + %t9785 = load ptr, ptr %t9772 + %t9786 = getelementptr inbounds ptr, ptr %t9785, i32 %t9773 + store ptr @.str7527, ptr %t9786 + %t9787 = add i32 %t9773, 1 + store i32 %t9787, ptr %t9770 + br label %ifend2060 +ifend2060: + %t9788 = load ptr, ptr %t1 + %t9789 = call i32 @fn_str_eq(ptr %t9788, ptr @.str7528) + %t9790 = icmp ne i32 %t9789, 0 + br i1 %t9790, label %then2065, label %ifend2067 +then2065: + store ptr @.str7529, ptr %t380 + %t9791 = load ptr, ptr %t387 + %t9792 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 1 + %t9793 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 2 + %t9794 = getelementptr inbounds %LSlice, ptr %t9791, i32 0, i32 0 + %t9795 = load i32, ptr %t9792 + %t9796 = load i32, ptr %t9793 + %t9797 = icmp sge i32 %t9795, %t9796 + br i1 %t9797, label %grow2068, label %put2069 +grow2068: + %t9798 = mul i32 %t9796, 2 + %t9799 = icmp eq i32 %t9796, 0 + %t9800 = select i1 %t9799, i32 8, i32 %t9798 + %t9801 = getelementptr ptr, ptr null, i32 1 + %t9802 = ptrtoint ptr %t9801 to i64 + %t9803 = zext i32 %t9800 to i64 + %t9804 = mul i64 %t9803, %t9802 + %t9805 = load ptr, ptr %t9794 + %t9806 = call ptr @realloc(ptr %t9805, i64 %t9804) + store ptr %t9806, ptr %t9794 + store i32 %t9800, ptr %t9793 + br label %put2069 +put2069: + %t9807 = load ptr, ptr %t9794 + %t9808 = getelementptr inbounds ptr, ptr %t9807, i32 %t9795 + store ptr @.str7530, ptr %t9808 + %t9809 = add i32 %t9795, 1 + store i32 %t9809, ptr %t9792 + %t9810 = load ptr, ptr %t387 + %t9811 = getelementptr inbounds %LSlice, ptr %t9810, i32 0, i32 1 + %t9812 = getelementptr inbounds %LSlice, ptr %t9810, i32 0, i32 2 + %t9813 = getelementptr inbounds %LSlice, ptr %t9810, i32 0, i32 0 + %t9814 = load i32, ptr %t9811 + %t9815 = load i32, ptr %t9812 + %t9816 = icmp sge i32 %t9814, %t9815 + br i1 %t9816, label %grow2070, label %put2071 +grow2070: + %t9817 = mul i32 %t9815, 2 + %t9818 = icmp eq i32 %t9815, 0 + %t9819 = select i1 %t9818, i32 8, i32 %t9817 + %t9820 = getelementptr ptr, ptr null, i32 1 + %t9821 = ptrtoint ptr %t9820 to i64 + %t9822 = zext i32 %t9819 to i64 + %t9823 = mul i64 %t9822, %t9821 + %t9824 = load ptr, ptr %t9813 + %t9825 = call ptr @realloc(ptr %t9824, i64 %t9823) + store ptr %t9825, ptr %t9813 + store i32 %t9819, ptr %t9812 + br label %put2071 +put2071: + %t9826 = load ptr, ptr %t9813 + %t9827 = getelementptr inbounds ptr, ptr %t9826, i32 %t9814 + store ptr @.str7531, ptr %t9827 + %t9828 = add i32 %t9814, 1 + store i32 %t9828, ptr %t9811 + br label %ifend2067 +ifend2067: + %t9829 = load ptr, ptr %t1 + %t9830 = call i32 @fn_str_eq(ptr %t9829, ptr @.str7532) + %t9831 = icmp ne i32 %t9830, 0 + br i1 %t9831, label %then2072, label %ifend2074 then2072: - store ptr @.str7206, ptr %t330 - %t9959 = load ptr, ptr %t337 - %t9960 = getelementptr inbounds %LSlice, ptr %t9959, i32 0, i32 1 - %t9961 = getelementptr inbounds %LSlice, ptr %t9959, i32 0, i32 2 - %t9962 = getelementptr inbounds %LSlice, ptr %t9959, i32 0, i32 0 - %t9963 = load i32, ptr %t9960 - %t9964 = load i32, ptr %t9961 - %t9965 = icmp sge i32 %t9963, %t9964 - br i1 %t9965, label %grow2075, label %put2076 + store ptr @.str7533, ptr %t380 + %t9832 = load ptr, ptr %t387 + %t9833 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 1 + %t9834 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 2 + %t9835 = getelementptr inbounds %LSlice, ptr %t9832, i32 0, i32 0 + %t9836 = load i32, ptr %t9833 + %t9837 = load i32, ptr %t9834 + %t9838 = icmp sge i32 %t9836, %t9837 + br i1 %t9838, label %grow2075, label %put2076 grow2075: - %t9966 = mul i32 %t9964, 2 - %t9967 = icmp eq i32 %t9964, 0 - %t9968 = select i1 %t9967, i32 8, i32 %t9966 - %t9969 = getelementptr ptr, ptr null, i32 1 - %t9970 = ptrtoint ptr %t9969 to i64 - %t9971 = zext i32 %t9968 to i64 - %t9972 = mul i64 %t9971, %t9970 - %t9973 = load ptr, ptr %t9962 - %t9974 = call ptr @realloc(ptr %t9973, i64 %t9972) - store ptr %t9974, ptr %t9962 - store i32 %t9968, ptr %t9961 + %t9839 = mul i32 %t9837, 2 + %t9840 = icmp eq i32 %t9837, 0 + %t9841 = select i1 %t9840, i32 8, i32 %t9839 + %t9842 = getelementptr ptr, ptr null, i32 1 + %t9843 = ptrtoint ptr %t9842 to i64 + %t9844 = zext i32 %t9841 to i64 + %t9845 = mul i64 %t9844, %t9843 + %t9846 = load ptr, ptr %t9835 + %t9847 = call ptr @realloc(ptr %t9846, i64 %t9845) + store ptr %t9847, ptr %t9835 + store i32 %t9841, ptr %t9834 br label %put2076 put2076: - %t9975 = load ptr, ptr %t9962 - %t9976 = getelementptr inbounds ptr, ptr %t9975, i32 %t9963 - store ptr @.str7207, ptr %t9976 - %t9977 = add i32 %t9963, 1 - store i32 %t9977, ptr %t9960 + %t9848 = load ptr, ptr %t9835 + %t9849 = getelementptr inbounds ptr, ptr %t9848, i32 %t9836 + store ptr @.str7534, ptr %t9849 + %t9850 = add i32 %t9836, 1 + store i32 %t9850, ptr %t9833 + %t9851 = load ptr, ptr %t387 + %t9852 = getelementptr inbounds %LSlice, ptr %t9851, i32 0, i32 1 + %t9853 = getelementptr inbounds %LSlice, ptr %t9851, i32 0, i32 2 + %t9854 = getelementptr inbounds %LSlice, ptr %t9851, i32 0, i32 0 + %t9855 = load i32, ptr %t9852 + %t9856 = load i32, ptr %t9853 + %t9857 = icmp sge i32 %t9855, %t9856 + br i1 %t9857, label %grow2077, label %put2078 +grow2077: + %t9858 = mul i32 %t9856, 2 + %t9859 = icmp eq i32 %t9856, 0 + %t9860 = select i1 %t9859, i32 8, i32 %t9858 + %t9861 = getelementptr ptr, ptr null, i32 1 + %t9862 = ptrtoint ptr %t9861 to i64 + %t9863 = zext i32 %t9860 to i64 + %t9864 = mul i64 %t9863, %t9862 + %t9865 = load ptr, ptr %t9854 + %t9866 = call ptr @realloc(ptr %t9865, i64 %t9864) + store ptr %t9866, ptr %t9854 + store i32 %t9860, ptr %t9853 + br label %put2078 +put2078: + %t9867 = load ptr, ptr %t9854 + %t9868 = getelementptr inbounds ptr, ptr %t9867, i32 %t9855 + store ptr @.str7535, ptr %t9868 + %t9869 = add i32 %t9855, 1 + store i32 %t9869, ptr %t9852 + %t9870 = load ptr, ptr %t387 + %t9871 = getelementptr inbounds %LSlice, ptr %t9870, i32 0, i32 1 + %t9872 = getelementptr inbounds %LSlice, ptr %t9870, i32 0, i32 2 + %t9873 = getelementptr inbounds %LSlice, ptr %t9870, i32 0, i32 0 + %t9874 = load i32, ptr %t9871 + %t9875 = load i32, ptr %t9872 + %t9876 = icmp sge i32 %t9874, %t9875 + br i1 %t9876, label %grow2079, label %put2080 +grow2079: + %t9877 = mul i32 %t9875, 2 + %t9878 = icmp eq i32 %t9875, 0 + %t9879 = select i1 %t9878, i32 8, i32 %t9877 + %t9880 = getelementptr ptr, ptr null, i32 1 + %t9881 = ptrtoint ptr %t9880 to i64 + %t9882 = zext i32 %t9879 to i64 + %t9883 = mul i64 %t9882, %t9881 + %t9884 = load ptr, ptr %t9873 + %t9885 = call ptr @realloc(ptr %t9884, i64 %t9883) + store ptr %t9885, ptr %t9873 + store i32 %t9879, ptr %t9872 + br label %put2080 +put2080: + %t9886 = load ptr, ptr %t9873 + %t9887 = getelementptr inbounds ptr, ptr %t9886, i32 %t9874 + store ptr @.str7536, ptr %t9887 + %t9888 = add i32 %t9874, 1 + store i32 %t9888, ptr %t9871 br label %ifend2074 ifend2074: - %t9978 = load ptr, ptr %t1 - %t9979 = call i32 @fn_str_eq(ptr %t9978, ptr @.str7208) - %t9980 = icmp ne i32 %t9979, 0 - br i1 %t9980, label %then2077, label %ifend2079 -then2077: - store ptr @.str7209, ptr %t330 - %t9981 = load ptr, ptr %t337 - %t9982 = getelementptr inbounds %LSlice, ptr %t9981, i32 0, i32 1 - %t9983 = getelementptr inbounds %LSlice, ptr %t9981, i32 0, i32 2 - %t9984 = getelementptr inbounds %LSlice, ptr %t9981, i32 0, i32 0 - %t9985 = load i32, ptr %t9982 - %t9986 = load i32, ptr %t9983 - %t9987 = icmp sge i32 %t9985, %t9986 - br i1 %t9987, label %grow2080, label %put2081 -grow2080: - %t9988 = mul i32 %t9986, 2 - %t9989 = icmp eq i32 %t9986, 0 - %t9990 = select i1 %t9989, i32 8, i32 %t9988 - %t9991 = getelementptr ptr, ptr null, i32 1 - %t9992 = ptrtoint ptr %t9991 to i64 - %t9993 = zext i32 %t9990 to i64 - %t9994 = mul i64 %t9993, %t9992 - %t9995 = load ptr, ptr %t9984 - %t9996 = call ptr @realloc(ptr %t9995, i64 %t9994) - store ptr %t9996, ptr %t9984 - store i32 %t9990, ptr %t9983 - br label %put2081 -put2081: - %t9997 = load ptr, ptr %t9984 - %t9998 = getelementptr inbounds ptr, ptr %t9997, i32 %t9985 - store ptr @.str7210, ptr %t9998 - %t9999 = add i32 %t9985, 1 - store i32 %t9999, ptr %t9982 - %t10000 = load ptr, ptr %t337 - %t10001 = getelementptr inbounds %LSlice, ptr %t10000, i32 0, i32 1 - %t10002 = getelementptr inbounds %LSlice, ptr %t10000, i32 0, i32 2 - %t10003 = getelementptr inbounds %LSlice, ptr %t10000, i32 0, i32 0 - %t10004 = load i32, ptr %t10001 - %t10005 = load i32, ptr %t10002 - %t10006 = icmp sge i32 %t10004, %t10005 - br i1 %t10006, label %grow2082, label %put2083 -grow2082: - %t10007 = mul i32 %t10005, 2 - %t10008 = icmp eq i32 %t10005, 0 - %t10009 = select i1 %t10008, i32 8, i32 %t10007 - %t10010 = getelementptr ptr, ptr null, i32 1 - %t10011 = ptrtoint ptr %t10010 to i64 - %t10012 = zext i32 %t10009 to i64 - %t10013 = mul i64 %t10012, %t10011 - %t10014 = load ptr, ptr %t10003 - %t10015 = call ptr @realloc(ptr %t10014, i64 %t10013) - store ptr %t10015, ptr %t10003 - store i32 %t10009, ptr %t10002 - br label %put2083 -put2083: - %t10016 = load ptr, ptr %t10003 - %t10017 = getelementptr inbounds ptr, ptr %t10016, i32 %t10004 - store ptr @.str7211, ptr %t10017 - %t10018 = add i32 %t10004, 1 - store i32 %t10018, ptr %t10001 - br label %ifend2079 -ifend2079: - %t10019 = load ptr, ptr %t1 - %t10020 = call i32 @fn_str_eq(ptr %t10019, ptr @.str7212) - %t10021 = icmp ne i32 %t10020, 0 - br i1 %t10021, label %then2084, label %ifend2086 + br label %ifend2025 +ifend2025: + %t9889 = load ptr, ptr %t0 + %t9890 = call i32 @fn_str_eq(ptr %t9889, ptr @.str7537) + %t9891 = icmp ne i32 %t9890, 0 + br i1 %t9891, label %then2081, label %ifend2083 +then2081: + %t9892 = load ptr, ptr %t1 + %t9893 = call i32 @fn_str_eq(ptr %t9892, ptr @.str7538) + %t9894 = icmp ne i32 %t9893, 0 + br i1 %t9894, label %then2084, label %ifend2086 then2084: - store ptr @.str7213, ptr %t330 + store ptr @.str7539, ptr %t380 + %t9895 = load ptr, ptr %t387 + %t9896 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 1 + %t9897 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 2 + %t9898 = getelementptr inbounds %LSlice, ptr %t9895, i32 0, i32 0 + %t9899 = load i32, ptr %t9896 + %t9900 = load i32, ptr %t9897 + %t9901 = icmp sge i32 %t9899, %t9900 + br i1 %t9901, label %grow2087, label %put2088 +grow2087: + %t9902 = mul i32 %t9900, 2 + %t9903 = icmp eq i32 %t9900, 0 + %t9904 = select i1 %t9903, i32 8, i32 %t9902 + %t9905 = getelementptr ptr, ptr null, i32 1 + %t9906 = ptrtoint ptr %t9905 to i64 + %t9907 = zext i32 %t9904 to i64 + %t9908 = mul i64 %t9907, %t9906 + %t9909 = load ptr, ptr %t9898 + %t9910 = call ptr @realloc(ptr %t9909, i64 %t9908) + store ptr %t9910, ptr %t9898 + store i32 %t9904, ptr %t9897 + br label %put2088 +put2088: + %t9911 = load ptr, ptr %t9898 + %t9912 = getelementptr inbounds ptr, ptr %t9911, i32 %t9899 + store ptr @.str7540, ptr %t9912 + %t9913 = add i32 %t9899, 1 + store i32 %t9913, ptr %t9896 br label %ifend2086 ifend2086: - %t10022 = load ptr, ptr %t1 - %t10023 = call i32 @fn_str_eq(ptr %t10022, ptr @.str7214) - %t10024 = icmp ne i32 %t10023, 0 - br i1 %t10024, label %then2087, label %ifend2089 -then2087: - store ptr @.str7215, ptr %t330 - %t10025 = load ptr, ptr %t337 - %t10026 = getelementptr inbounds %LSlice, ptr %t10025, i32 0, i32 1 - %t10027 = getelementptr inbounds %LSlice, ptr %t10025, i32 0, i32 2 - %t10028 = getelementptr inbounds %LSlice, ptr %t10025, i32 0, i32 0 - %t10029 = load i32, ptr %t10026 - %t10030 = load i32, ptr %t10027 - %t10031 = icmp sge i32 %t10029, %t10030 - br i1 %t10031, label %grow2090, label %put2091 -grow2090: - %t10032 = mul i32 %t10030, 2 - %t10033 = icmp eq i32 %t10030, 0 - %t10034 = select i1 %t10033, i32 8, i32 %t10032 - %t10035 = getelementptr ptr, ptr null, i32 1 - %t10036 = ptrtoint ptr %t10035 to i64 - %t10037 = zext i32 %t10034 to i64 - %t10038 = mul i64 %t10037, %t10036 - %t10039 = load ptr, ptr %t10028 - %t10040 = call ptr @realloc(ptr %t10039, i64 %t10038) - store ptr %t10040, ptr %t10028 - store i32 %t10034, ptr %t10027 - br label %put2091 -put2091: - %t10041 = load ptr, ptr %t10028 - %t10042 = getelementptr inbounds ptr, ptr %t10041, i32 %t10029 - store ptr @.str7216, ptr %t10042 - %t10043 = add i32 %t10029, 1 - store i32 %t10043, ptr %t10026 - br label %ifend2089 -ifend2089: - %t10044 = load ptr, ptr %t1 - %t10045 = call i32 @fn_str_eq(ptr %t10044, ptr @.str7217) - %t10046 = icmp ne i32 %t10045, 0 - br i1 %t10046, label %then2092, label %ifend2094 -then2092: - store ptr @.str7218, ptr %t330 - %t10047 = load ptr, ptr %t337 - %t10048 = getelementptr inbounds %LSlice, ptr %t10047, i32 0, i32 1 - %t10049 = getelementptr inbounds %LSlice, ptr %t10047, i32 0, i32 2 - %t10050 = getelementptr inbounds %LSlice, ptr %t10047, i32 0, i32 0 - %t10051 = load i32, ptr %t10048 - %t10052 = load i32, ptr %t10049 - %t10053 = icmp sge i32 %t10051, %t10052 - br i1 %t10053, label %grow2095, label %put2096 -grow2095: - %t10054 = mul i32 %t10052, 2 - %t10055 = icmp eq i32 %t10052, 0 - %t10056 = select i1 %t10055, i32 8, i32 %t10054 - %t10057 = getelementptr ptr, ptr null, i32 1 - %t10058 = ptrtoint ptr %t10057 to i64 - %t10059 = zext i32 %t10056 to i64 - %t10060 = mul i64 %t10059, %t10058 - %t10061 = load ptr, ptr %t10050 - %t10062 = call ptr @realloc(ptr %t10061, i64 %t10060) - store ptr %t10062, ptr %t10050 - store i32 %t10056, ptr %t10049 - br label %put2096 -put2096: - %t10063 = load ptr, ptr %t10050 - %t10064 = getelementptr inbounds ptr, ptr %t10063, i32 %t10051 - store ptr @.str7219, ptr %t10064 - %t10065 = add i32 %t10051, 1 - store i32 %t10065, ptr %t10048 - br label %ifend2094 -ifend2094: - %t10066 = load ptr, ptr %t1 - %t10067 = call i32 @fn_str_eq(ptr %t10066, ptr @.str7220) - %t10068 = icmp ne i32 %t10067, 0 - br i1 %t10068, label %then2097, label %ifend2099 -then2097: - store ptr @.str7221, ptr %t330 - %t10069 = load ptr, ptr %t337 - %t10070 = getelementptr inbounds %LSlice, ptr %t10069, i32 0, i32 1 - %t10071 = getelementptr inbounds %LSlice, ptr %t10069, i32 0, i32 2 - %t10072 = getelementptr inbounds %LSlice, ptr %t10069, i32 0, i32 0 - %t10073 = load i32, ptr %t10070 - %t10074 = load i32, ptr %t10071 - %t10075 = icmp sge i32 %t10073, %t10074 - br i1 %t10075, label %grow2100, label %put2101 -grow2100: - %t10076 = mul i32 %t10074, 2 - %t10077 = icmp eq i32 %t10074, 0 - %t10078 = select i1 %t10077, i32 8, i32 %t10076 - %t10079 = getelementptr ptr, ptr null, i32 1 - %t10080 = ptrtoint ptr %t10079 to i64 - %t10081 = zext i32 %t10078 to i64 - %t10082 = mul i64 %t10081, %t10080 - %t10083 = load ptr, ptr %t10072 - %t10084 = call ptr @realloc(ptr %t10083, i64 %t10082) - store ptr %t10084, ptr %t10072 - store i32 %t10078, ptr %t10071 - br label %put2101 -put2101: - %t10085 = load ptr, ptr %t10072 - %t10086 = getelementptr inbounds ptr, ptr %t10085, i32 %t10073 - store ptr @.str7222, ptr %t10086 - %t10087 = add i32 %t10073, 1 - store i32 %t10087, ptr %t10070 - %t10088 = load ptr, ptr %t337 - %t10089 = getelementptr inbounds %LSlice, ptr %t10088, i32 0, i32 1 - %t10090 = getelementptr inbounds %LSlice, ptr %t10088, i32 0, i32 2 - %t10091 = getelementptr inbounds %LSlice, ptr %t10088, i32 0, i32 0 - %t10092 = load i32, ptr %t10089 - %t10093 = load i32, ptr %t10090 - %t10094 = icmp sge i32 %t10092, %t10093 - br i1 %t10094, label %grow2102, label %put2103 -grow2102: - %t10095 = mul i32 %t10093, 2 - %t10096 = icmp eq i32 %t10093, 0 - %t10097 = select i1 %t10096, i32 8, i32 %t10095 - %t10098 = getelementptr ptr, ptr null, i32 1 - %t10099 = ptrtoint ptr %t10098 to i64 - %t10100 = zext i32 %t10097 to i64 - %t10101 = mul i64 %t10100, %t10099 - %t10102 = load ptr, ptr %t10091 - %t10103 = call ptr @realloc(ptr %t10102, i64 %t10101) - store ptr %t10103, ptr %t10091 - store i32 %t10097, ptr %t10090 - br label %put2103 -put2103: - %t10104 = load ptr, ptr %t10091 - %t10105 = getelementptr inbounds ptr, ptr %t10104, i32 %t10092 - store ptr @.str7223, ptr %t10105 - %t10106 = add i32 %t10092, 1 - store i32 %t10106, ptr %t10089 - br label %ifend2099 -ifend2099: - %t10107 = load ptr, ptr %t1 - %t10108 = call i32 @fn_str_eq(ptr %t10107, ptr @.str7224) - %t10109 = icmp ne i32 %t10108, 0 - br i1 %t10109, label %then2104, label %ifend2106 -then2104: - store ptr @.str7225, ptr %t330 - %t10110 = load ptr, ptr %t337 - %t10111 = getelementptr inbounds %LSlice, ptr %t10110, i32 0, i32 1 - %t10112 = getelementptr inbounds %LSlice, ptr %t10110, i32 0, i32 2 - %t10113 = getelementptr inbounds %LSlice, ptr %t10110, i32 0, i32 0 - %t10114 = load i32, ptr %t10111 - %t10115 = load i32, ptr %t10112 - %t10116 = icmp sge i32 %t10114, %t10115 - br i1 %t10116, label %grow2107, label %put2108 -grow2107: - %t10117 = mul i32 %t10115, 2 - %t10118 = icmp eq i32 %t10115, 0 - %t10119 = select i1 %t10118, i32 8, i32 %t10117 - %t10120 = getelementptr ptr, ptr null, i32 1 - %t10121 = ptrtoint ptr %t10120 to i64 - %t10122 = zext i32 %t10119 to i64 - %t10123 = mul i64 %t10122, %t10121 - %t10124 = load ptr, ptr %t10113 - %t10125 = call ptr @realloc(ptr %t10124, i64 %t10123) - store ptr %t10125, ptr %t10113 - store i32 %t10119, ptr %t10112 - br label %put2108 -put2108: - %t10126 = load ptr, ptr %t10113 - %t10127 = getelementptr inbounds ptr, ptr %t10126, i32 %t10114 - store ptr @.str7226, ptr %t10127 - %t10128 = add i32 %t10114, 1 - store i32 %t10128, ptr %t10111 - %t10129 = load ptr, ptr %t337 - %t10130 = getelementptr inbounds %LSlice, ptr %t10129, i32 0, i32 1 - %t10131 = getelementptr inbounds %LSlice, ptr %t10129, i32 0, i32 2 - %t10132 = getelementptr inbounds %LSlice, ptr %t10129, i32 0, i32 0 - %t10133 = load i32, ptr %t10130 - %t10134 = load i32, ptr %t10131 - %t10135 = icmp sge i32 %t10133, %t10134 - br i1 %t10135, label %grow2109, label %put2110 -grow2109: - %t10136 = mul i32 %t10134, 2 - %t10137 = icmp eq i32 %t10134, 0 - %t10138 = select i1 %t10137, i32 8, i32 %t10136 - %t10139 = getelementptr ptr, ptr null, i32 1 - %t10140 = ptrtoint ptr %t10139 to i64 - %t10141 = zext i32 %t10138 to i64 - %t10142 = mul i64 %t10141, %t10140 - %t10143 = load ptr, ptr %t10132 - %t10144 = call ptr @realloc(ptr %t10143, i64 %t10142) - store ptr %t10144, ptr %t10132 - store i32 %t10138, ptr %t10131 - br label %put2110 -put2110: - %t10145 = load ptr, ptr %t10132 - %t10146 = getelementptr inbounds ptr, ptr %t10145, i32 %t10133 - store ptr @.str7227, ptr %t10146 - %t10147 = add i32 %t10133, 1 - store i32 %t10147, ptr %t10130 - br label %ifend2106 -ifend2106: - %t10148 = load ptr, ptr %t1 - %t10149 = call i32 @fn_str_eq(ptr %t10148, ptr @.str7228) - %t10150 = icmp ne i32 %t10149, 0 - br i1 %t10150, label %then2111, label %ifend2113 -then2111: - store ptr @.str7229, ptr %t330 - %t10151 = load ptr, ptr %t337 - %t10152 = getelementptr inbounds %LSlice, ptr %t10151, i32 0, i32 1 - %t10153 = getelementptr inbounds %LSlice, ptr %t10151, i32 0, i32 2 - %t10154 = getelementptr inbounds %LSlice, ptr %t10151, i32 0, i32 0 - %t10155 = load i32, ptr %t10152 - %t10156 = load i32, ptr %t10153 - %t10157 = icmp sge i32 %t10155, %t10156 - br i1 %t10157, label %grow2114, label %put2115 -grow2114: - %t10158 = mul i32 %t10156, 2 - %t10159 = icmp eq i32 %t10156, 0 - %t10160 = select i1 %t10159, i32 8, i32 %t10158 - %t10161 = getelementptr ptr, ptr null, i32 1 - %t10162 = ptrtoint ptr %t10161 to i64 - %t10163 = zext i32 %t10160 to i64 - %t10164 = mul i64 %t10163, %t10162 - %t10165 = load ptr, ptr %t10154 - %t10166 = call ptr @realloc(ptr %t10165, i64 %t10164) - store ptr %t10166, ptr %t10154 - store i32 %t10160, ptr %t10153 - br label %put2115 -put2115: - %t10167 = load ptr, ptr %t10154 - %t10168 = getelementptr inbounds ptr, ptr %t10167, i32 %t10155 - store ptr @.str7230, ptr %t10168 - %t10169 = add i32 %t10155, 1 - store i32 %t10169, ptr %t10152 - %t10170 = load ptr, ptr %t337 - %t10171 = getelementptr inbounds %LSlice, ptr %t10170, i32 0, i32 1 - %t10172 = getelementptr inbounds %LSlice, ptr %t10170, i32 0, i32 2 - %t10173 = getelementptr inbounds %LSlice, ptr %t10170, i32 0, i32 0 - %t10174 = load i32, ptr %t10171 - %t10175 = load i32, ptr %t10172 - %t10176 = icmp sge i32 %t10174, %t10175 - br i1 %t10176, label %grow2116, label %put2117 -grow2116: - %t10177 = mul i32 %t10175, 2 - %t10178 = icmp eq i32 %t10175, 0 - %t10179 = select i1 %t10178, i32 8, i32 %t10177 - %t10180 = getelementptr ptr, ptr null, i32 1 - %t10181 = ptrtoint ptr %t10180 to i64 - %t10182 = zext i32 %t10179 to i64 - %t10183 = mul i64 %t10182, %t10181 - %t10184 = load ptr, ptr %t10173 - %t10185 = call ptr @realloc(ptr %t10184, i64 %t10183) - store ptr %t10185, ptr %t10173 - store i32 %t10179, ptr %t10172 - br label %put2117 -put2117: - %t10186 = load ptr, ptr %t10173 - %t10187 = getelementptr inbounds ptr, ptr %t10186, i32 %t10174 - store ptr @.str7231, ptr %t10187 - %t10188 = add i32 %t10174, 1 - store i32 %t10188, ptr %t10171 - %t10189 = load ptr, ptr %t337 - %t10190 = getelementptr inbounds %LSlice, ptr %t10189, i32 0, i32 1 - %t10191 = getelementptr inbounds %LSlice, ptr %t10189, i32 0, i32 2 - %t10192 = getelementptr inbounds %LSlice, ptr %t10189, i32 0, i32 0 - %t10193 = load i32, ptr %t10190 - %t10194 = load i32, ptr %t10191 - %t10195 = icmp sge i32 %t10193, %t10194 - br i1 %t10195, label %grow2118, label %put2119 + %t9914 = load ptr, ptr %t1 + %t9915 = call i32 @fn_str_eq(ptr %t9914, ptr @.str7541) + %t9916 = icmp ne i32 %t9915, 0 + br i1 %t9916, label %then2089, label %ifend2091 +then2089: + store ptr @.str7542, ptr %t380 + %t9917 = load ptr, ptr %t387 + %t9918 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 1 + %t9919 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 2 + %t9920 = getelementptr inbounds %LSlice, ptr %t9917, i32 0, i32 0 + %t9921 = load i32, ptr %t9918 + %t9922 = load i32, ptr %t9919 + %t9923 = icmp sge i32 %t9921, %t9922 + br i1 %t9923, label %grow2092, label %put2093 +grow2092: + %t9924 = mul i32 %t9922, 2 + %t9925 = icmp eq i32 %t9922, 0 + %t9926 = select i1 %t9925, i32 8, i32 %t9924 + %t9927 = getelementptr ptr, ptr null, i32 1 + %t9928 = ptrtoint ptr %t9927 to i64 + %t9929 = zext i32 %t9926 to i64 + %t9930 = mul i64 %t9929, %t9928 + %t9931 = load ptr, ptr %t9920 + %t9932 = call ptr @realloc(ptr %t9931, i64 %t9930) + store ptr %t9932, ptr %t9920 + store i32 %t9926, ptr %t9919 + br label %put2093 +put2093: + %t9933 = load ptr, ptr %t9920 + %t9934 = getelementptr inbounds ptr, ptr %t9933, i32 %t9921 + store ptr @.str7543, ptr %t9934 + %t9935 = add i32 %t9921, 1 + store i32 %t9935, ptr %t9918 + %t9936 = load ptr, ptr %t387 + %t9937 = getelementptr inbounds %LSlice, ptr %t9936, i32 0, i32 1 + %t9938 = getelementptr inbounds %LSlice, ptr %t9936, i32 0, i32 2 + %t9939 = getelementptr inbounds %LSlice, ptr %t9936, i32 0, i32 0 + %t9940 = load i32, ptr %t9937 + %t9941 = load i32, ptr %t9938 + %t9942 = icmp sge i32 %t9940, %t9941 + br i1 %t9942, label %grow2094, label %put2095 +grow2094: + %t9943 = mul i32 %t9941, 2 + %t9944 = icmp eq i32 %t9941, 0 + %t9945 = select i1 %t9944, i32 8, i32 %t9943 + %t9946 = getelementptr ptr, ptr null, i32 1 + %t9947 = ptrtoint ptr %t9946 to i64 + %t9948 = zext i32 %t9945 to i64 + %t9949 = mul i64 %t9948, %t9947 + %t9950 = load ptr, ptr %t9939 + %t9951 = call ptr @realloc(ptr %t9950, i64 %t9949) + store ptr %t9951, ptr %t9939 + store i32 %t9945, ptr %t9938 + br label %put2095 +put2095: + %t9952 = load ptr, ptr %t9939 + %t9953 = getelementptr inbounds ptr, ptr %t9952, i32 %t9940 + store ptr @.str7544, ptr %t9953 + %t9954 = add i32 %t9940, 1 + store i32 %t9954, ptr %t9937 + br label %ifend2091 +ifend2091: + %t9955 = load ptr, ptr %t1 + %t9956 = call i32 @fn_str_eq(ptr %t9955, ptr @.str7545) + %t9957 = icmp ne i32 %t9956, 0 + br i1 %t9957, label %then2096, label %ifend2098 +then2096: + store ptr @.str7546, ptr %t380 + %t9958 = load ptr, ptr %t387 + %t9959 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 1 + %t9960 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 2 + %t9961 = getelementptr inbounds %LSlice, ptr %t9958, i32 0, i32 0 + %t9962 = load i32, ptr %t9959 + %t9963 = load i32, ptr %t9960 + %t9964 = icmp sge i32 %t9962, %t9963 + br i1 %t9964, label %grow2099, label %put2100 +grow2099: + %t9965 = mul i32 %t9963, 2 + %t9966 = icmp eq i32 %t9963, 0 + %t9967 = select i1 %t9966, i32 8, i32 %t9965 + %t9968 = getelementptr ptr, ptr null, i32 1 + %t9969 = ptrtoint ptr %t9968 to i64 + %t9970 = zext i32 %t9967 to i64 + %t9971 = mul i64 %t9970, %t9969 + %t9972 = load ptr, ptr %t9961 + %t9973 = call ptr @realloc(ptr %t9972, i64 %t9971) + store ptr %t9973, ptr %t9961 + store i32 %t9967, ptr %t9960 + br label %put2100 +put2100: + %t9974 = load ptr, ptr %t9961 + %t9975 = getelementptr inbounds ptr, ptr %t9974, i32 %t9962 + store ptr @.str7547, ptr %t9975 + %t9976 = add i32 %t9962, 1 + store i32 %t9976, ptr %t9959 + %t9977 = load ptr, ptr %t387 + %t9978 = getelementptr inbounds %LSlice, ptr %t9977, i32 0, i32 1 + %t9979 = getelementptr inbounds %LSlice, ptr %t9977, i32 0, i32 2 + %t9980 = getelementptr inbounds %LSlice, ptr %t9977, i32 0, i32 0 + %t9981 = load i32, ptr %t9978 + %t9982 = load i32, ptr %t9979 + %t9983 = icmp sge i32 %t9981, %t9982 + br i1 %t9983, label %grow2101, label %put2102 +grow2101: + %t9984 = mul i32 %t9982, 2 + %t9985 = icmp eq i32 %t9982, 0 + %t9986 = select i1 %t9985, i32 8, i32 %t9984 + %t9987 = getelementptr ptr, ptr null, i32 1 + %t9988 = ptrtoint ptr %t9987 to i64 + %t9989 = zext i32 %t9986 to i64 + %t9990 = mul i64 %t9989, %t9988 + %t9991 = load ptr, ptr %t9980 + %t9992 = call ptr @realloc(ptr %t9991, i64 %t9990) + store ptr %t9992, ptr %t9980 + store i32 %t9986, ptr %t9979 + br label %put2102 +put2102: + %t9993 = load ptr, ptr %t9980 + %t9994 = getelementptr inbounds ptr, ptr %t9993, i32 %t9981 + store ptr @.str7548, ptr %t9994 + %t9995 = add i32 %t9981, 1 + store i32 %t9995, ptr %t9978 + %t9996 = load ptr, ptr %t387 + %t9997 = getelementptr inbounds %LSlice, ptr %t9996, i32 0, i32 1 + %t9998 = getelementptr inbounds %LSlice, ptr %t9996, i32 0, i32 2 + %t9999 = getelementptr inbounds %LSlice, ptr %t9996, i32 0, i32 0 + %t10000 = load i32, ptr %t9997 + %t10001 = load i32, ptr %t9998 + %t10002 = icmp sge i32 %t10000, %t10001 + br i1 %t10002, label %grow2103, label %put2104 +grow2103: + %t10003 = mul i32 %t10001, 2 + %t10004 = icmp eq i32 %t10001, 0 + %t10005 = select i1 %t10004, i32 8, i32 %t10003 + %t10006 = getelementptr ptr, ptr null, i32 1 + %t10007 = ptrtoint ptr %t10006 to i64 + %t10008 = zext i32 %t10005 to i64 + %t10009 = mul i64 %t10008, %t10007 + %t10010 = load ptr, ptr %t9999 + %t10011 = call ptr @realloc(ptr %t10010, i64 %t10009) + store ptr %t10011, ptr %t9999 + store i32 %t10005, ptr %t9998 + br label %put2104 +put2104: + %t10012 = load ptr, ptr %t9999 + %t10013 = getelementptr inbounds ptr, ptr %t10012, i32 %t10000 + store ptr @.str7549, ptr %t10013 + %t10014 = add i32 %t10000, 1 + store i32 %t10014, ptr %t9997 + br label %ifend2098 +ifend2098: + %t10015 = load ptr, ptr %t1 + %t10016 = call i32 @fn_str_eq(ptr %t10015, ptr @.str7550) + %t10017 = icmp ne i32 %t10016, 0 + br i1 %t10017, label %then2105, label %ifend2107 +then2105: + store ptr @.str7551, ptr %t380 + %t10018 = load ptr, ptr %t387 + %t10019 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 1 + %t10020 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 2 + %t10021 = getelementptr inbounds %LSlice, ptr %t10018, i32 0, i32 0 + %t10022 = load i32, ptr %t10019 + %t10023 = load i32, ptr %t10020 + %t10024 = icmp sge i32 %t10022, %t10023 + br i1 %t10024, label %grow2108, label %put2109 +grow2108: + %t10025 = mul i32 %t10023, 2 + %t10026 = icmp eq i32 %t10023, 0 + %t10027 = select i1 %t10026, i32 8, i32 %t10025 + %t10028 = getelementptr ptr, ptr null, i32 1 + %t10029 = ptrtoint ptr %t10028 to i64 + %t10030 = zext i32 %t10027 to i64 + %t10031 = mul i64 %t10030, %t10029 + %t10032 = load ptr, ptr %t10021 + %t10033 = call ptr @realloc(ptr %t10032, i64 %t10031) + store ptr %t10033, ptr %t10021 + store i32 %t10027, ptr %t10020 + br label %put2109 +put2109: + %t10034 = load ptr, ptr %t10021 + %t10035 = getelementptr inbounds ptr, ptr %t10034, i32 %t10022 + store ptr @.str7552, ptr %t10035 + %t10036 = add i32 %t10022, 1 + store i32 %t10036, ptr %t10019 + %t10037 = load ptr, ptr %t387 + %t10038 = getelementptr inbounds %LSlice, ptr %t10037, i32 0, i32 1 + %t10039 = getelementptr inbounds %LSlice, ptr %t10037, i32 0, i32 2 + %t10040 = getelementptr inbounds %LSlice, ptr %t10037, i32 0, i32 0 + %t10041 = load i32, ptr %t10038 + %t10042 = load i32, ptr %t10039 + %t10043 = icmp sge i32 %t10041, %t10042 + br i1 %t10043, label %grow2110, label %put2111 +grow2110: + %t10044 = mul i32 %t10042, 2 + %t10045 = icmp eq i32 %t10042, 0 + %t10046 = select i1 %t10045, i32 8, i32 %t10044 + %t10047 = getelementptr ptr, ptr null, i32 1 + %t10048 = ptrtoint ptr %t10047 to i64 + %t10049 = zext i32 %t10046 to i64 + %t10050 = mul i64 %t10049, %t10048 + %t10051 = load ptr, ptr %t10040 + %t10052 = call ptr @realloc(ptr %t10051, i64 %t10050) + store ptr %t10052, ptr %t10040 + store i32 %t10046, ptr %t10039 + br label %put2111 +put2111: + %t10053 = load ptr, ptr %t10040 + %t10054 = getelementptr inbounds ptr, ptr %t10053, i32 %t10041 + store ptr @.str7553, ptr %t10054 + %t10055 = add i32 %t10041, 1 + store i32 %t10055, ptr %t10038 + br label %ifend2107 +ifend2107: + br label %ifend2083 +ifend2083: + %t10056 = load ptr, ptr %t0 + %t10057 = call i32 @fn_str_eq(ptr %t10056, ptr @.str7554) + %t10058 = icmp ne i32 %t10057, 0 + br i1 %t10058, label %then2112, label %ifend2114 +then2112: + %t10059 = load ptr, ptr %t1 + %t10060 = call i32 @fn_str_eq(ptr %t10059, ptr @.str7555) + %t10061 = icmp ne i32 %t10060, 0 + br i1 %t10061, label %then2115, label %ifend2117 +then2115: + store ptr @.str7556, ptr %t380 + %t10062 = load ptr, ptr %t387 + %t10063 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 1 + %t10064 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 2 + %t10065 = getelementptr inbounds %LSlice, ptr %t10062, i32 0, i32 0 + %t10066 = load i32, ptr %t10063 + %t10067 = load i32, ptr %t10064 + %t10068 = icmp sge i32 %t10066, %t10067 + br i1 %t10068, label %grow2118, label %put2119 grow2118: - %t10196 = mul i32 %t10194, 2 - %t10197 = icmp eq i32 %t10194, 0 - %t10198 = select i1 %t10197, i32 8, i32 %t10196 - %t10199 = getelementptr ptr, ptr null, i32 1 - %t10200 = ptrtoint ptr %t10199 to i64 - %t10201 = zext i32 %t10198 to i64 - %t10202 = mul i64 %t10201, %t10200 - %t10203 = load ptr, ptr %t10192 - %t10204 = call ptr @realloc(ptr %t10203, i64 %t10202) - store ptr %t10204, ptr %t10192 - store i32 %t10198, ptr %t10191 + %t10069 = mul i32 %t10067, 2 + %t10070 = icmp eq i32 %t10067, 0 + %t10071 = select i1 %t10070, i32 8, i32 %t10069 + %t10072 = getelementptr ptr, ptr null, i32 1 + %t10073 = ptrtoint ptr %t10072 to i64 + %t10074 = zext i32 %t10071 to i64 + %t10075 = mul i64 %t10074, %t10073 + %t10076 = load ptr, ptr %t10065 + %t10077 = call ptr @realloc(ptr %t10076, i64 %t10075) + store ptr %t10077, ptr %t10065 + store i32 %t10071, ptr %t10064 br label %put2119 put2119: - %t10205 = load ptr, ptr %t10192 - %t10206 = getelementptr inbounds ptr, ptr %t10205, i32 %t10193 - store ptr @.str7232, ptr %t10206 - %t10207 = add i32 %t10193, 1 - store i32 %t10207, ptr %t10190 - br label %ifend2113 -ifend2113: - %t10208 = load ptr, ptr %t1 - %t10209 = call i32 @fn_str_eq(ptr %t10208, ptr @.str7233) - %t10210 = icmp ne i32 %t10209, 0 - br i1 %t10210, label %then2120, label %ifend2122 -then2120: - store ptr @.str7234, ptr %t330 - %t10211 = load ptr, ptr %t337 - %t10212 = getelementptr inbounds %LSlice, ptr %t10211, i32 0, i32 1 - %t10213 = getelementptr inbounds %LSlice, ptr %t10211, i32 0, i32 2 - %t10214 = getelementptr inbounds %LSlice, ptr %t10211, i32 0, i32 0 - %t10215 = load i32, ptr %t10212 - %t10216 = load i32, ptr %t10213 - %t10217 = icmp sge i32 %t10215, %t10216 - br i1 %t10217, label %grow2123, label %put2124 -grow2123: - %t10218 = mul i32 %t10216, 2 - %t10219 = icmp eq i32 %t10216, 0 - %t10220 = select i1 %t10219, i32 8, i32 %t10218 - %t10221 = getelementptr ptr, ptr null, i32 1 - %t10222 = ptrtoint ptr %t10221 to i64 - %t10223 = zext i32 %t10220 to i64 - %t10224 = mul i64 %t10223, %t10222 - %t10225 = load ptr, ptr %t10214 - %t10226 = call ptr @realloc(ptr %t10225, i64 %t10224) - store ptr %t10226, ptr %t10214 - store i32 %t10220, ptr %t10213 - br label %put2124 -put2124: - %t10227 = load ptr, ptr %t10214 - %t10228 = getelementptr inbounds ptr, ptr %t10227, i32 %t10215 - store ptr @.str7235, ptr %t10228 - %t10229 = add i32 %t10215, 1 - store i32 %t10229, ptr %t10212 - %t10230 = load ptr, ptr %t337 - %t10231 = getelementptr inbounds %LSlice, ptr %t10230, i32 0, i32 1 - %t10232 = getelementptr inbounds %LSlice, ptr %t10230, i32 0, i32 2 - %t10233 = getelementptr inbounds %LSlice, ptr %t10230, i32 0, i32 0 - %t10234 = load i32, ptr %t10231 - %t10235 = load i32, ptr %t10232 - %t10236 = icmp sge i32 %t10234, %t10235 - br i1 %t10236, label %grow2125, label %put2126 -grow2125: - %t10237 = mul i32 %t10235, 2 - %t10238 = icmp eq i32 %t10235, 0 - %t10239 = select i1 %t10238, i32 8, i32 %t10237 - %t10240 = getelementptr ptr, ptr null, i32 1 - %t10241 = ptrtoint ptr %t10240 to i64 - %t10242 = zext i32 %t10239 to i64 - %t10243 = mul i64 %t10242, %t10241 - %t10244 = load ptr, ptr %t10233 - %t10245 = call ptr @realloc(ptr %t10244, i64 %t10243) - store ptr %t10245, ptr %t10233 - store i32 %t10239, ptr %t10232 - br label %put2126 -put2126: - %t10246 = load ptr, ptr %t10233 - %t10247 = getelementptr inbounds ptr, ptr %t10246, i32 %t10234 - store ptr @.str7236, ptr %t10247 - %t10248 = add i32 %t10234, 1 - store i32 %t10248, ptr %t10231 - %t10249 = load ptr, ptr %t337 - %t10250 = getelementptr inbounds %LSlice, ptr %t10249, i32 0, i32 1 - %t10251 = getelementptr inbounds %LSlice, ptr %t10249, i32 0, i32 2 - %t10252 = getelementptr inbounds %LSlice, ptr %t10249, i32 0, i32 0 - %t10253 = load i32, ptr %t10250 - %t10254 = load i32, ptr %t10251 - %t10255 = icmp sge i32 %t10253, %t10254 - br i1 %t10255, label %grow2127, label %put2128 -grow2127: - %t10256 = mul i32 %t10254, 2 - %t10257 = icmp eq i32 %t10254, 0 - %t10258 = select i1 %t10257, i32 8, i32 %t10256 - %t10259 = getelementptr ptr, ptr null, i32 1 - %t10260 = ptrtoint ptr %t10259 to i64 - %t10261 = zext i32 %t10258 to i64 - %t10262 = mul i64 %t10261, %t10260 - %t10263 = load ptr, ptr %t10252 - %t10264 = call ptr @realloc(ptr %t10263, i64 %t10262) - store ptr %t10264, ptr %t10252 - store i32 %t10258, ptr %t10251 - br label %put2128 -put2128: - %t10265 = load ptr, ptr %t10252 - %t10266 = getelementptr inbounds ptr, ptr %t10265, i32 %t10253 - store ptr @.str7237, ptr %t10266 - %t10267 = add i32 %t10253, 1 - store i32 %t10267, ptr %t10250 - %t10268 = load ptr, ptr %t337 - %t10269 = getelementptr inbounds %LSlice, ptr %t10268, i32 0, i32 1 - %t10270 = getelementptr inbounds %LSlice, ptr %t10268, i32 0, i32 2 - %t10271 = getelementptr inbounds %LSlice, ptr %t10268, i32 0, i32 0 - %t10272 = load i32, ptr %t10269 - %t10273 = load i32, ptr %t10270 - %t10274 = icmp sge i32 %t10272, %t10273 - br i1 %t10274, label %grow2129, label %put2130 + %t10078 = load ptr, ptr %t10065 + %t10079 = getelementptr inbounds ptr, ptr %t10078, i32 %t10066 + store ptr @.str7557, ptr %t10079 + %t10080 = add i32 %t10066, 1 + store i32 %t10080, ptr %t10063 + %t10081 = load ptr, ptr %t387 + %t10082 = getelementptr inbounds %LSlice, ptr %t10081, i32 0, i32 1 + %t10083 = getelementptr inbounds %LSlice, ptr %t10081, i32 0, i32 2 + %t10084 = getelementptr inbounds %LSlice, ptr %t10081, i32 0, i32 0 + %t10085 = load i32, ptr %t10082 + %t10086 = load i32, ptr %t10083 + %t10087 = icmp sge i32 %t10085, %t10086 + br i1 %t10087, label %grow2120, label %put2121 +grow2120: + %t10088 = mul i32 %t10086, 2 + %t10089 = icmp eq i32 %t10086, 0 + %t10090 = select i1 %t10089, i32 8, i32 %t10088 + %t10091 = getelementptr ptr, ptr null, i32 1 + %t10092 = ptrtoint ptr %t10091 to i64 + %t10093 = zext i32 %t10090 to i64 + %t10094 = mul i64 %t10093, %t10092 + %t10095 = load ptr, ptr %t10084 + %t10096 = call ptr @realloc(ptr %t10095, i64 %t10094) + store ptr %t10096, ptr %t10084 + store i32 %t10090, ptr %t10083 + br label %put2121 +put2121: + %t10097 = load ptr, ptr %t10084 + %t10098 = getelementptr inbounds ptr, ptr %t10097, i32 %t10085 + store ptr @.str7558, ptr %t10098 + %t10099 = add i32 %t10085, 1 + store i32 %t10099, ptr %t10082 + %t10100 = load ptr, ptr %t387 + %t10101 = getelementptr inbounds %LSlice, ptr %t10100, i32 0, i32 1 + %t10102 = getelementptr inbounds %LSlice, ptr %t10100, i32 0, i32 2 + %t10103 = getelementptr inbounds %LSlice, ptr %t10100, i32 0, i32 0 + %t10104 = load i32, ptr %t10101 + %t10105 = load i32, ptr %t10102 + %t10106 = icmp sge i32 %t10104, %t10105 + br i1 %t10106, label %grow2122, label %put2123 +grow2122: + %t10107 = mul i32 %t10105, 2 + %t10108 = icmp eq i32 %t10105, 0 + %t10109 = select i1 %t10108, i32 8, i32 %t10107 + %t10110 = getelementptr ptr, ptr null, i32 1 + %t10111 = ptrtoint ptr %t10110 to i64 + %t10112 = zext i32 %t10109 to i64 + %t10113 = mul i64 %t10112, %t10111 + %t10114 = load ptr, ptr %t10103 + %t10115 = call ptr @realloc(ptr %t10114, i64 %t10113) + store ptr %t10115, ptr %t10103 + store i32 %t10109, ptr %t10102 + br label %put2123 +put2123: + %t10116 = load ptr, ptr %t10103 + %t10117 = getelementptr inbounds ptr, ptr %t10116, i32 %t10104 + store ptr @.str7559, ptr %t10117 + %t10118 = add i32 %t10104, 1 + store i32 %t10118, ptr %t10101 + %t10119 = load ptr, ptr %t387 + %t10120 = getelementptr inbounds %LSlice, ptr %t10119, i32 0, i32 1 + %t10121 = getelementptr inbounds %LSlice, ptr %t10119, i32 0, i32 2 + %t10122 = getelementptr inbounds %LSlice, ptr %t10119, i32 0, i32 0 + %t10123 = load i32, ptr %t10120 + %t10124 = load i32, ptr %t10121 + %t10125 = icmp sge i32 %t10123, %t10124 + br i1 %t10125, label %grow2124, label %put2125 +grow2124: + %t10126 = mul i32 %t10124, 2 + %t10127 = icmp eq i32 %t10124, 0 + %t10128 = select i1 %t10127, i32 8, i32 %t10126 + %t10129 = getelementptr ptr, ptr null, i32 1 + %t10130 = ptrtoint ptr %t10129 to i64 + %t10131 = zext i32 %t10128 to i64 + %t10132 = mul i64 %t10131, %t10130 + %t10133 = load ptr, ptr %t10122 + %t10134 = call ptr @realloc(ptr %t10133, i64 %t10132) + store ptr %t10134, ptr %t10122 + store i32 %t10128, ptr %t10121 + br label %put2125 +put2125: + %t10135 = load ptr, ptr %t10122 + %t10136 = getelementptr inbounds ptr, ptr %t10135, i32 %t10123 + store ptr @.str7560, ptr %t10136 + %t10137 = add i32 %t10123, 1 + store i32 %t10137, ptr %t10120 + br label %ifend2117 +ifend2117: + %t10138 = load ptr, ptr %t1 + %t10139 = call i32 @fn_str_eq(ptr %t10138, ptr @.str7561) + %t10140 = icmp ne i32 %t10139, 0 + br i1 %t10140, label %then2126, label %ifend2128 +then2126: + store ptr @.str7562, ptr %t380 + %t10141 = load ptr, ptr %t387 + %t10142 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 1 + %t10143 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 2 + %t10144 = getelementptr inbounds %LSlice, ptr %t10141, i32 0, i32 0 + %t10145 = load i32, ptr %t10142 + %t10146 = load i32, ptr %t10143 + %t10147 = icmp sge i32 %t10145, %t10146 + br i1 %t10147, label %grow2129, label %put2130 grow2129: - %t10275 = mul i32 %t10273, 2 - %t10276 = icmp eq i32 %t10273, 0 - %t10277 = select i1 %t10276, i32 8, i32 %t10275 - %t10278 = getelementptr ptr, ptr null, i32 1 - %t10279 = ptrtoint ptr %t10278 to i64 - %t10280 = zext i32 %t10277 to i64 - %t10281 = mul i64 %t10280, %t10279 - %t10282 = load ptr, ptr %t10271 - %t10283 = call ptr @realloc(ptr %t10282, i64 %t10281) - store ptr %t10283, ptr %t10271 - store i32 %t10277, ptr %t10270 + %t10148 = mul i32 %t10146, 2 + %t10149 = icmp eq i32 %t10146, 0 + %t10150 = select i1 %t10149, i32 8, i32 %t10148 + %t10151 = getelementptr ptr, ptr null, i32 1 + %t10152 = ptrtoint ptr %t10151 to i64 + %t10153 = zext i32 %t10150 to i64 + %t10154 = mul i64 %t10153, %t10152 + %t10155 = load ptr, ptr %t10144 + %t10156 = call ptr @realloc(ptr %t10155, i64 %t10154) + store ptr %t10156, ptr %t10144 + store i32 %t10150, ptr %t10143 br label %put2130 put2130: - %t10284 = load ptr, ptr %t10271 - %t10285 = getelementptr inbounds ptr, ptr %t10284, i32 %t10272 - store ptr @.str7238, ptr %t10285 - %t10286 = add i32 %t10272, 1 - store i32 %t10286, ptr %t10269 - br label %ifend2122 -ifend2122: - %t10287 = load ptr, ptr %t1 - %t10288 = call i32 @fn_str_eq(ptr %t10287, ptr @.str7239) - %t10289 = icmp ne i32 %t10288, 0 - br i1 %t10289, label %then2131, label %ifend2133 -then2131: - store ptr @.str7240, ptr %t330 - %t10290 = load ptr, ptr %t337 - %t10291 = getelementptr inbounds %LSlice, ptr %t10290, i32 0, i32 1 - %t10292 = getelementptr inbounds %LSlice, ptr %t10290, i32 0, i32 2 - %t10293 = getelementptr inbounds %LSlice, ptr %t10290, i32 0, i32 0 - %t10294 = load i32, ptr %t10291 - %t10295 = load i32, ptr %t10292 - %t10296 = icmp sge i32 %t10294, %t10295 - br i1 %t10296, label %grow2134, label %put2135 -grow2134: - %t10297 = mul i32 %t10295, 2 - %t10298 = icmp eq i32 %t10295, 0 - %t10299 = select i1 %t10298, i32 8, i32 %t10297 - %t10300 = getelementptr ptr, ptr null, i32 1 - %t10301 = ptrtoint ptr %t10300 to i64 - %t10302 = zext i32 %t10299 to i64 - %t10303 = mul i64 %t10302, %t10301 - %t10304 = load ptr, ptr %t10293 - %t10305 = call ptr @realloc(ptr %t10304, i64 %t10303) - store ptr %t10305, ptr %t10293 - store i32 %t10299, ptr %t10292 - br label %put2135 -put2135: - %t10306 = load ptr, ptr %t10293 - %t10307 = getelementptr inbounds ptr, ptr %t10306, i32 %t10294 - store ptr @.str7241, ptr %t10307 - %t10308 = add i32 %t10294, 1 - store i32 %t10308, ptr %t10291 - %t10309 = load ptr, ptr %t337 - %t10310 = getelementptr inbounds %LSlice, ptr %t10309, i32 0, i32 1 - %t10311 = getelementptr inbounds %LSlice, ptr %t10309, i32 0, i32 2 - %t10312 = getelementptr inbounds %LSlice, ptr %t10309, i32 0, i32 0 - %t10313 = load i32, ptr %t10310 - %t10314 = load i32, ptr %t10311 - %t10315 = icmp sge i32 %t10313, %t10314 - br i1 %t10315, label %grow2136, label %put2137 -grow2136: - %t10316 = mul i32 %t10314, 2 - %t10317 = icmp eq i32 %t10314, 0 - %t10318 = select i1 %t10317, i32 8, i32 %t10316 - %t10319 = getelementptr ptr, ptr null, i32 1 - %t10320 = ptrtoint ptr %t10319 to i64 - %t10321 = zext i32 %t10318 to i64 - %t10322 = mul i64 %t10321, %t10320 - %t10323 = load ptr, ptr %t10312 - %t10324 = call ptr @realloc(ptr %t10323, i64 %t10322) - store ptr %t10324, ptr %t10312 - store i32 %t10318, ptr %t10311 - br label %put2137 -put2137: - %t10325 = load ptr, ptr %t10312 - %t10326 = getelementptr inbounds ptr, ptr %t10325, i32 %t10313 - store ptr @.str7242, ptr %t10326 - %t10327 = add i32 %t10313, 1 - store i32 %t10327, ptr %t10310 - br label %ifend2133 -ifend2133: - %t10328 = load ptr, ptr %t1 - %t10329 = call i32 @fn_str_eq(ptr %t10328, ptr @.str7243) - %t10330 = icmp ne i32 %t10329, 0 - br i1 %t10330, label %then2138, label %ifend2140 -then2138: - store ptr @.str7244, ptr %t330 - %t10331 = load ptr, ptr %t337 - %t10332 = getelementptr inbounds %LSlice, ptr %t10331, i32 0, i32 1 - %t10333 = getelementptr inbounds %LSlice, ptr %t10331, i32 0, i32 2 - %t10334 = getelementptr inbounds %LSlice, ptr %t10331, i32 0, i32 0 - %t10335 = load i32, ptr %t10332 - %t10336 = load i32, ptr %t10333 - %t10337 = icmp sge i32 %t10335, %t10336 - br i1 %t10337, label %grow2141, label %put2142 -grow2141: - %t10338 = mul i32 %t10336, 2 - %t10339 = icmp eq i32 %t10336, 0 - %t10340 = select i1 %t10339, i32 8, i32 %t10338 - %t10341 = getelementptr ptr, ptr null, i32 1 - %t10342 = ptrtoint ptr %t10341 to i64 - %t10343 = zext i32 %t10340 to i64 - %t10344 = mul i64 %t10343, %t10342 - %t10345 = load ptr, ptr %t10334 - %t10346 = call ptr @realloc(ptr %t10345, i64 %t10344) - store ptr %t10346, ptr %t10334 - store i32 %t10340, ptr %t10333 - br label %put2142 -put2142: - %t10347 = load ptr, ptr %t10334 - %t10348 = getelementptr inbounds ptr, ptr %t10347, i32 %t10335 - store ptr @.str7245, ptr %t10348 - %t10349 = add i32 %t10335, 1 - store i32 %t10349, ptr %t10332 - br label %ifend2140 -ifend2140: - %t10350 = load ptr, ptr %t1 - %t10351 = call i32 @fn_str_eq(ptr %t10350, ptr @.str7246) - %t10352 = icmp ne i32 %t10351, 0 - br i1 %t10352, label %then2143, label %ifend2145 -then2143: - store ptr @.str7247, ptr %t330 - %t10353 = load ptr, ptr %t337 - %t10354 = getelementptr inbounds %LSlice, ptr %t10353, i32 0, i32 1 - %t10355 = getelementptr inbounds %LSlice, ptr %t10353, i32 0, i32 2 - %t10356 = getelementptr inbounds %LSlice, ptr %t10353, i32 0, i32 0 - %t10357 = load i32, ptr %t10354 - %t10358 = load i32, ptr %t10355 - %t10359 = icmp sge i32 %t10357, %t10358 - br i1 %t10359, label %grow2146, label %put2147 + %t10157 = load ptr, ptr %t10144 + %t10158 = getelementptr inbounds ptr, ptr %t10157, i32 %t10145 + store ptr @.str7563, ptr %t10158 + %t10159 = add i32 %t10145, 1 + store i32 %t10159, ptr %t10142 + %t10160 = load ptr, ptr %t387 + %t10161 = getelementptr inbounds %LSlice, ptr %t10160, i32 0, i32 1 + %t10162 = getelementptr inbounds %LSlice, ptr %t10160, i32 0, i32 2 + %t10163 = getelementptr inbounds %LSlice, ptr %t10160, i32 0, i32 0 + %t10164 = load i32, ptr %t10161 + %t10165 = load i32, ptr %t10162 + %t10166 = icmp sge i32 %t10164, %t10165 + br i1 %t10166, label %grow2131, label %put2132 +grow2131: + %t10167 = mul i32 %t10165, 2 + %t10168 = icmp eq i32 %t10165, 0 + %t10169 = select i1 %t10168, i32 8, i32 %t10167 + %t10170 = getelementptr ptr, ptr null, i32 1 + %t10171 = ptrtoint ptr %t10170 to i64 + %t10172 = zext i32 %t10169 to i64 + %t10173 = mul i64 %t10172, %t10171 + %t10174 = load ptr, ptr %t10163 + %t10175 = call ptr @realloc(ptr %t10174, i64 %t10173) + store ptr %t10175, ptr %t10163 + store i32 %t10169, ptr %t10162 + br label %put2132 +put2132: + %t10176 = load ptr, ptr %t10163 + %t10177 = getelementptr inbounds ptr, ptr %t10176, i32 %t10164 + store ptr @.str7564, ptr %t10177 + %t10178 = add i32 %t10164, 1 + store i32 %t10178, ptr %t10161 + %t10179 = load ptr, ptr %t387 + %t10180 = getelementptr inbounds %LSlice, ptr %t10179, i32 0, i32 1 + %t10181 = getelementptr inbounds %LSlice, ptr %t10179, i32 0, i32 2 + %t10182 = getelementptr inbounds %LSlice, ptr %t10179, i32 0, i32 0 + %t10183 = load i32, ptr %t10180 + %t10184 = load i32, ptr %t10181 + %t10185 = icmp sge i32 %t10183, %t10184 + br i1 %t10185, label %grow2133, label %put2134 +grow2133: + %t10186 = mul i32 %t10184, 2 + %t10187 = icmp eq i32 %t10184, 0 + %t10188 = select i1 %t10187, i32 8, i32 %t10186 + %t10189 = getelementptr ptr, ptr null, i32 1 + %t10190 = ptrtoint ptr %t10189 to i64 + %t10191 = zext i32 %t10188 to i64 + %t10192 = mul i64 %t10191, %t10190 + %t10193 = load ptr, ptr %t10182 + %t10194 = call ptr @realloc(ptr %t10193, i64 %t10192) + store ptr %t10194, ptr %t10182 + store i32 %t10188, ptr %t10181 + br label %put2134 +put2134: + %t10195 = load ptr, ptr %t10182 + %t10196 = getelementptr inbounds ptr, ptr %t10195, i32 %t10183 + store ptr @.str7565, ptr %t10196 + %t10197 = add i32 %t10183, 1 + store i32 %t10197, ptr %t10180 + br label %ifend2128 +ifend2128: + %t10198 = load ptr, ptr %t1 + %t10199 = call i32 @fn_str_eq(ptr %t10198, ptr @.str7566) + %t10200 = icmp ne i32 %t10199, 0 + br i1 %t10200, label %then2135, label %ifend2137 +then2135: + store ptr @.str7567, ptr %t380 + %t10201 = load ptr, ptr %t387 + %t10202 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 1 + %t10203 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 2 + %t10204 = getelementptr inbounds %LSlice, ptr %t10201, i32 0, i32 0 + %t10205 = load i32, ptr %t10202 + %t10206 = load i32, ptr %t10203 + %t10207 = icmp sge i32 %t10205, %t10206 + br i1 %t10207, label %grow2138, label %put2139 +grow2138: + %t10208 = mul i32 %t10206, 2 + %t10209 = icmp eq i32 %t10206, 0 + %t10210 = select i1 %t10209, i32 8, i32 %t10208 + %t10211 = getelementptr ptr, ptr null, i32 1 + %t10212 = ptrtoint ptr %t10211 to i64 + %t10213 = zext i32 %t10210 to i64 + %t10214 = mul i64 %t10213, %t10212 + %t10215 = load ptr, ptr %t10204 + %t10216 = call ptr @realloc(ptr %t10215, i64 %t10214) + store ptr %t10216, ptr %t10204 + store i32 %t10210, ptr %t10203 + br label %put2139 +put2139: + %t10217 = load ptr, ptr %t10204 + %t10218 = getelementptr inbounds ptr, ptr %t10217, i32 %t10205 + store ptr @.str7568, ptr %t10218 + %t10219 = add i32 %t10205, 1 + store i32 %t10219, ptr %t10202 + %t10220 = load ptr, ptr %t387 + %t10221 = getelementptr inbounds %LSlice, ptr %t10220, i32 0, i32 1 + %t10222 = getelementptr inbounds %LSlice, ptr %t10220, i32 0, i32 2 + %t10223 = getelementptr inbounds %LSlice, ptr %t10220, i32 0, i32 0 + %t10224 = load i32, ptr %t10221 + %t10225 = load i32, ptr %t10222 + %t10226 = icmp sge i32 %t10224, %t10225 + br i1 %t10226, label %grow2140, label %put2141 +grow2140: + %t10227 = mul i32 %t10225, 2 + %t10228 = icmp eq i32 %t10225, 0 + %t10229 = select i1 %t10228, i32 8, i32 %t10227 + %t10230 = getelementptr ptr, ptr null, i32 1 + %t10231 = ptrtoint ptr %t10230 to i64 + %t10232 = zext i32 %t10229 to i64 + %t10233 = mul i64 %t10232, %t10231 + %t10234 = load ptr, ptr %t10223 + %t10235 = call ptr @realloc(ptr %t10234, i64 %t10233) + store ptr %t10235, ptr %t10223 + store i32 %t10229, ptr %t10222 + br label %put2141 +put2141: + %t10236 = load ptr, ptr %t10223 + %t10237 = getelementptr inbounds ptr, ptr %t10236, i32 %t10224 + store ptr @.str7569, ptr %t10237 + %t10238 = add i32 %t10224, 1 + store i32 %t10238, ptr %t10221 + %t10239 = load ptr, ptr %t387 + %t10240 = getelementptr inbounds %LSlice, ptr %t10239, i32 0, i32 1 + %t10241 = getelementptr inbounds %LSlice, ptr %t10239, i32 0, i32 2 + %t10242 = getelementptr inbounds %LSlice, ptr %t10239, i32 0, i32 0 + %t10243 = load i32, ptr %t10240 + %t10244 = load i32, ptr %t10241 + %t10245 = icmp sge i32 %t10243, %t10244 + br i1 %t10245, label %grow2142, label %put2143 +grow2142: + %t10246 = mul i32 %t10244, 2 + %t10247 = icmp eq i32 %t10244, 0 + %t10248 = select i1 %t10247, i32 8, i32 %t10246 + %t10249 = getelementptr ptr, ptr null, i32 1 + %t10250 = ptrtoint ptr %t10249 to i64 + %t10251 = zext i32 %t10248 to i64 + %t10252 = mul i64 %t10251, %t10250 + %t10253 = load ptr, ptr %t10242 + %t10254 = call ptr @realloc(ptr %t10253, i64 %t10252) + store ptr %t10254, ptr %t10242 + store i32 %t10248, ptr %t10241 + br label %put2143 +put2143: + %t10255 = load ptr, ptr %t10242 + %t10256 = getelementptr inbounds ptr, ptr %t10255, i32 %t10243 + store ptr @.str7570, ptr %t10256 + %t10257 = add i32 %t10243, 1 + store i32 %t10257, ptr %t10240 + %t10258 = load ptr, ptr %t387 + %t10259 = getelementptr inbounds %LSlice, ptr %t10258, i32 0, i32 1 + %t10260 = getelementptr inbounds %LSlice, ptr %t10258, i32 0, i32 2 + %t10261 = getelementptr inbounds %LSlice, ptr %t10258, i32 0, i32 0 + %t10262 = load i32, ptr %t10259 + %t10263 = load i32, ptr %t10260 + %t10264 = icmp sge i32 %t10262, %t10263 + br i1 %t10264, label %grow2144, label %put2145 +grow2144: + %t10265 = mul i32 %t10263, 2 + %t10266 = icmp eq i32 %t10263, 0 + %t10267 = select i1 %t10266, i32 8, i32 %t10265 + %t10268 = getelementptr ptr, ptr null, i32 1 + %t10269 = ptrtoint ptr %t10268 to i64 + %t10270 = zext i32 %t10267 to i64 + %t10271 = mul i64 %t10270, %t10269 + %t10272 = load ptr, ptr %t10261 + %t10273 = call ptr @realloc(ptr %t10272, i64 %t10271) + store ptr %t10273, ptr %t10261 + store i32 %t10267, ptr %t10260 + br label %put2145 +put2145: + %t10274 = load ptr, ptr %t10261 + %t10275 = getelementptr inbounds ptr, ptr %t10274, i32 %t10262 + store ptr @.str7571, ptr %t10275 + %t10276 = add i32 %t10262, 1 + store i32 %t10276, ptr %t10259 + %t10277 = load ptr, ptr %t387 + %t10278 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 1 + %t10279 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 2 + %t10280 = getelementptr inbounds %LSlice, ptr %t10277, i32 0, i32 0 + %t10281 = load i32, ptr %t10278 + %t10282 = load i32, ptr %t10279 + %t10283 = icmp sge i32 %t10281, %t10282 + br i1 %t10283, label %grow2146, label %put2147 grow2146: - %t10360 = mul i32 %t10358, 2 - %t10361 = icmp eq i32 %t10358, 0 - %t10362 = select i1 %t10361, i32 8, i32 %t10360 - %t10363 = getelementptr ptr, ptr null, i32 1 - %t10364 = ptrtoint ptr %t10363 to i64 - %t10365 = zext i32 %t10362 to i64 - %t10366 = mul i64 %t10365, %t10364 - %t10367 = load ptr, ptr %t10356 - %t10368 = call ptr @realloc(ptr %t10367, i64 %t10366) - store ptr %t10368, ptr %t10356 - store i32 %t10362, ptr %t10355 + %t10284 = mul i32 %t10282, 2 + %t10285 = icmp eq i32 %t10282, 0 + %t10286 = select i1 %t10285, i32 8, i32 %t10284 + %t10287 = getelementptr ptr, ptr null, i32 1 + %t10288 = ptrtoint ptr %t10287 to i64 + %t10289 = zext i32 %t10286 to i64 + %t10290 = mul i64 %t10289, %t10288 + %t10291 = load ptr, ptr %t10280 + %t10292 = call ptr @realloc(ptr %t10291, i64 %t10290) + store ptr %t10292, ptr %t10280 + store i32 %t10286, ptr %t10279 br label %put2147 put2147: - %t10369 = load ptr, ptr %t10356 - %t10370 = getelementptr inbounds ptr, ptr %t10369, i32 %t10357 - store ptr @.str7248, ptr %t10370 - %t10371 = add i32 %t10357, 1 - store i32 %t10371, ptr %t10354 - br label %ifend2145 -ifend2145: - %t10372 = load ptr, ptr %t1 - %t10373 = call i32 @fn_str_eq(ptr %t10372, ptr @.str7249) - %t10374 = icmp ne i32 %t10373, 0 - br i1 %t10374, label %then2148, label %ifend2150 + %t10293 = load ptr, ptr %t10280 + %t10294 = getelementptr inbounds ptr, ptr %t10293, i32 %t10281 + store ptr @.str7572, ptr %t10294 + %t10295 = add i32 %t10281, 1 + store i32 %t10295, ptr %t10278 + br label %ifend2137 +ifend2137: + %t10296 = load ptr, ptr %t1 + %t10297 = call i32 @fn_str_eq(ptr %t10296, ptr @.str7573) + %t10298 = icmp ne i32 %t10297, 0 + br i1 %t10298, label %then2148, label %ifend2150 then2148: - store ptr @.str7250, ptr %t330 - %t10375 = load ptr, ptr %t337 - %t10376 = getelementptr inbounds %LSlice, ptr %t10375, i32 0, i32 1 - %t10377 = getelementptr inbounds %LSlice, ptr %t10375, i32 0, i32 2 - %t10378 = getelementptr inbounds %LSlice, ptr %t10375, i32 0, i32 0 - %t10379 = load i32, ptr %t10376 - %t10380 = load i32, ptr %t10377 - %t10381 = icmp sge i32 %t10379, %t10380 - br i1 %t10381, label %grow2151, label %put2152 + store ptr @.str7574, ptr %t380 + %t10299 = load ptr, ptr %t387 + %t10300 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 1 + %t10301 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 2 + %t10302 = getelementptr inbounds %LSlice, ptr %t10299, i32 0, i32 0 + %t10303 = load i32, ptr %t10300 + %t10304 = load i32, ptr %t10301 + %t10305 = icmp sge i32 %t10303, %t10304 + br i1 %t10305, label %grow2151, label %put2152 grow2151: - %t10382 = mul i32 %t10380, 2 - %t10383 = icmp eq i32 %t10380, 0 - %t10384 = select i1 %t10383, i32 8, i32 %t10382 - %t10385 = getelementptr ptr, ptr null, i32 1 - %t10386 = ptrtoint ptr %t10385 to i64 - %t10387 = zext i32 %t10384 to i64 - %t10388 = mul i64 %t10387, %t10386 - %t10389 = load ptr, ptr %t10378 - %t10390 = call ptr @realloc(ptr %t10389, i64 %t10388) - store ptr %t10390, ptr %t10378 - store i32 %t10384, ptr %t10377 + %t10306 = mul i32 %t10304, 2 + %t10307 = icmp eq i32 %t10304, 0 + %t10308 = select i1 %t10307, i32 8, i32 %t10306 + %t10309 = getelementptr ptr, ptr null, i32 1 + %t10310 = ptrtoint ptr %t10309 to i64 + %t10311 = zext i32 %t10308 to i64 + %t10312 = mul i64 %t10311, %t10310 + %t10313 = load ptr, ptr %t10302 + %t10314 = call ptr @realloc(ptr %t10313, i64 %t10312) + store ptr %t10314, ptr %t10302 + store i32 %t10308, ptr %t10301 br label %put2152 put2152: - %t10391 = load ptr, ptr %t10378 - %t10392 = getelementptr inbounds ptr, ptr %t10391, i32 %t10379 - store ptr @.str7251, ptr %t10392 - %t10393 = add i32 %t10379, 1 - store i32 %t10393, ptr %t10376 + %t10315 = load ptr, ptr %t10302 + %t10316 = getelementptr inbounds ptr, ptr %t10315, i32 %t10303 + store ptr @.str7575, ptr %t10316 + %t10317 = add i32 %t10303, 1 + store i32 %t10317, ptr %t10300 + %t10318 = load ptr, ptr %t387 + %t10319 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 1 + %t10320 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 2 + %t10321 = getelementptr inbounds %LSlice, ptr %t10318, i32 0, i32 0 + %t10322 = load i32, ptr %t10319 + %t10323 = load i32, ptr %t10320 + %t10324 = icmp sge i32 %t10322, %t10323 + br i1 %t10324, label %grow2153, label %put2154 +grow2153: + %t10325 = mul i32 %t10323, 2 + %t10326 = icmp eq i32 %t10323, 0 + %t10327 = select i1 %t10326, i32 8, i32 %t10325 + %t10328 = getelementptr ptr, ptr null, i32 1 + %t10329 = ptrtoint ptr %t10328 to i64 + %t10330 = zext i32 %t10327 to i64 + %t10331 = mul i64 %t10330, %t10329 + %t10332 = load ptr, ptr %t10321 + %t10333 = call ptr @realloc(ptr %t10332, i64 %t10331) + store ptr %t10333, ptr %t10321 + store i32 %t10327, ptr %t10320 + br label %put2154 +put2154: + %t10334 = load ptr, ptr %t10321 + %t10335 = getelementptr inbounds ptr, ptr %t10334, i32 %t10322 + store ptr @.str7576, ptr %t10335 + %t10336 = add i32 %t10322, 1 + store i32 %t10336, ptr %t10319 + %t10337 = load ptr, ptr %t387 + %t10338 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 1 + %t10339 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 2 + %t10340 = getelementptr inbounds %LSlice, ptr %t10337, i32 0, i32 0 + %t10341 = load i32, ptr %t10338 + %t10342 = load i32, ptr %t10339 + %t10343 = icmp sge i32 %t10341, %t10342 + br i1 %t10343, label %grow2155, label %put2156 +grow2155: + %t10344 = mul i32 %t10342, 2 + %t10345 = icmp eq i32 %t10342, 0 + %t10346 = select i1 %t10345, i32 8, i32 %t10344 + %t10347 = getelementptr ptr, ptr null, i32 1 + %t10348 = ptrtoint ptr %t10347 to i64 + %t10349 = zext i32 %t10346 to i64 + %t10350 = mul i64 %t10349, %t10348 + %t10351 = load ptr, ptr %t10340 + %t10352 = call ptr @realloc(ptr %t10351, i64 %t10350) + store ptr %t10352, ptr %t10340 + store i32 %t10346, ptr %t10339 + br label %put2156 +put2156: + %t10353 = load ptr, ptr %t10340 + %t10354 = getelementptr inbounds ptr, ptr %t10353, i32 %t10341 + store ptr @.str7577, ptr %t10354 + %t10355 = add i32 %t10341, 1 + store i32 %t10355, ptr %t10338 br label %ifend2150 ifend2150: - %t10394 = load ptr, ptr %t1 - %t10395 = call i32 @fn_str_eq(ptr %t10394, ptr @.str7252) - %t10396 = icmp ne i32 %t10395, 0 - br i1 %t10396, label %then2153, label %ifend2155 -then2153: - store ptr @.str7253, ptr %t330 - %t10397 = load ptr, ptr %t337 + %t10356 = load ptr, ptr %t1 + %t10357 = call i32 @fn_str_eq(ptr %t10356, ptr @.str7578) + %t10358 = icmp ne i32 %t10357, 0 + br i1 %t10358, label %then2157, label %ifend2159 +then2157: + store ptr @.str7579, ptr %t380 + %t10359 = load ptr, ptr %t387 + %t10360 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 1 + %t10361 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 2 + %t10362 = getelementptr inbounds %LSlice, ptr %t10359, i32 0, i32 0 + %t10363 = load i32, ptr %t10360 + %t10364 = load i32, ptr %t10361 + %t10365 = icmp sge i32 %t10363, %t10364 + br i1 %t10365, label %grow2160, label %put2161 +grow2160: + %t10366 = mul i32 %t10364, 2 + %t10367 = icmp eq i32 %t10364, 0 + %t10368 = select i1 %t10367, i32 8, i32 %t10366 + %t10369 = getelementptr ptr, ptr null, i32 1 + %t10370 = ptrtoint ptr %t10369 to i64 + %t10371 = zext i32 %t10368 to i64 + %t10372 = mul i64 %t10371, %t10370 + %t10373 = load ptr, ptr %t10362 + %t10374 = call ptr @realloc(ptr %t10373, i64 %t10372) + store ptr %t10374, ptr %t10362 + store i32 %t10368, ptr %t10361 + br label %put2161 +put2161: + %t10375 = load ptr, ptr %t10362 + %t10376 = getelementptr inbounds ptr, ptr %t10375, i32 %t10363 + store ptr @.str7580, ptr %t10376 + %t10377 = add i32 %t10363, 1 + store i32 %t10377, ptr %t10360 + %t10378 = load ptr, ptr %t387 + %t10379 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 1 + %t10380 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 2 + %t10381 = getelementptr inbounds %LSlice, ptr %t10378, i32 0, i32 0 + %t10382 = load i32, ptr %t10379 + %t10383 = load i32, ptr %t10380 + %t10384 = icmp sge i32 %t10382, %t10383 + br i1 %t10384, label %grow2162, label %put2163 +grow2162: + %t10385 = mul i32 %t10383, 2 + %t10386 = icmp eq i32 %t10383, 0 + %t10387 = select i1 %t10386, i32 8, i32 %t10385 + %t10388 = getelementptr ptr, ptr null, i32 1 + %t10389 = ptrtoint ptr %t10388 to i64 + %t10390 = zext i32 %t10387 to i64 + %t10391 = mul i64 %t10390, %t10389 + %t10392 = load ptr, ptr %t10381 + %t10393 = call ptr @realloc(ptr %t10392, i64 %t10391) + store ptr %t10393, ptr %t10381 + store i32 %t10387, ptr %t10380 + br label %put2163 +put2163: + %t10394 = load ptr, ptr %t10381 + %t10395 = getelementptr inbounds ptr, ptr %t10394, i32 %t10382 + store ptr @.str7581, ptr %t10395 + %t10396 = add i32 %t10382, 1 + store i32 %t10396, ptr %t10379 + %t10397 = load ptr, ptr %t387 %t10398 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 1 %t10399 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 2 %t10400 = getelementptr inbounds %LSlice, ptr %t10397, i32 0, i32 0 %t10401 = load i32, ptr %t10398 %t10402 = load i32, ptr %t10399 %t10403 = icmp sge i32 %t10401, %t10402 - br i1 %t10403, label %grow2156, label %put2157 -grow2156: + br i1 %t10403, label %grow2164, label %put2165 +grow2164: %t10404 = mul i32 %t10402, 2 %t10405 = icmp eq i32 %t10402, 0 %t10406 = select i1 %t10405, i32 8, i32 %t10404 @@ -72525,22 +79014,22 @@ grow2156: %t10412 = call ptr @realloc(ptr %t10411, i64 %t10410) store ptr %t10412, ptr %t10400 store i32 %t10406, ptr %t10399 - br label %put2157 -put2157: + br label %put2165 +put2165: %t10413 = load ptr, ptr %t10400 %t10414 = getelementptr inbounds ptr, ptr %t10413, i32 %t10401 - store ptr @.str7254, ptr %t10414 + store ptr @.str7582, ptr %t10414 %t10415 = add i32 %t10401, 1 store i32 %t10415, ptr %t10398 - %t10416 = load ptr, ptr %t337 + %t10416 = load ptr, ptr %t387 %t10417 = getelementptr inbounds %LSlice, ptr %t10416, i32 0, i32 1 %t10418 = getelementptr inbounds %LSlice, ptr %t10416, i32 0, i32 2 %t10419 = getelementptr inbounds %LSlice, ptr %t10416, i32 0, i32 0 %t10420 = load i32, ptr %t10417 %t10421 = load i32, ptr %t10418 %t10422 = icmp sge i32 %t10420, %t10421 - br i1 %t10422, label %grow2158, label %put2159 -grow2158: + br i1 %t10422, label %grow2166, label %put2167 +grow2166: %t10423 = mul i32 %t10421, 2 %t10424 = icmp eq i32 %t10421, 0 %t10425 = select i1 %t10424, i32 8, i32 %t10423 @@ -72552,3733 +79041,3701 @@ grow2158: %t10431 = call ptr @realloc(ptr %t10430, i64 %t10429) store ptr %t10431, ptr %t10419 store i32 %t10425, ptr %t10418 - br label %put2159 -put2159: + br label %put2167 +put2167: %t10432 = load ptr, ptr %t10419 %t10433 = getelementptr inbounds ptr, ptr %t10432, i32 %t10420 - store ptr @.str7255, ptr %t10433 + store ptr @.str7583, ptr %t10433 %t10434 = add i32 %t10420, 1 store i32 %t10434, ptr %t10417 - br label %ifend2155 -ifend2155: - br label %ifend2071 -ifend2071: - %t10435 = load ptr, ptr %t0 - %t10436 = call i32 @fn_str_eq(ptr %t10435, ptr @.str7256) - %t10437 = icmp ne i32 %t10436, 0 - br i1 %t10437, label %then2160, label %ifend2162 -then2160: - %t10438 = load ptr, ptr %t1 - %t10439 = call i32 @fn_str_eq(ptr %t10438, ptr @.str7257) - %t10440 = icmp ne i32 %t10439, 0 - br i1 %t10440, label %then2163, label %ifend2165 -then2163: - store ptr @.str7258, ptr %t330 - br label %ifend2165 -ifend2165: - %t10441 = load ptr, ptr %t1 - %t10442 = call i32 @fn_str_eq(ptr %t10441, ptr @.str7259) - %t10443 = icmp ne i32 %t10442, 0 - br i1 %t10443, label %then2166, label %ifend2168 -then2166: - store ptr @.str7260, ptr %t330 - %t10444 = load ptr, ptr %t337 - %t10445 = getelementptr inbounds %LSlice, ptr %t10444, i32 0, i32 1 - %t10446 = getelementptr inbounds %LSlice, ptr %t10444, i32 0, i32 2 - %t10447 = getelementptr inbounds %LSlice, ptr %t10444, i32 0, i32 0 - %t10448 = load i32, ptr %t10445 - %t10449 = load i32, ptr %t10446 - %t10450 = icmp sge i32 %t10448, %t10449 - br i1 %t10450, label %grow2169, label %put2170 -grow2169: - %t10451 = mul i32 %t10449, 2 - %t10452 = icmp eq i32 %t10449, 0 - %t10453 = select i1 %t10452, i32 8, i32 %t10451 - %t10454 = getelementptr ptr, ptr null, i32 1 - %t10455 = ptrtoint ptr %t10454 to i64 - %t10456 = zext i32 %t10453 to i64 - %t10457 = mul i64 %t10456, %t10455 - %t10458 = load ptr, ptr %t10447 - %t10459 = call ptr @realloc(ptr %t10458, i64 %t10457) - store ptr %t10459, ptr %t10447 - store i32 %t10453, ptr %t10446 - br label %put2170 -put2170: - %t10460 = load ptr, ptr %t10447 - %t10461 = getelementptr inbounds ptr, ptr %t10460, i32 %t10448 - store ptr @.str7261, ptr %t10461 - %t10462 = add i32 %t10448, 1 - store i32 %t10462, ptr %t10445 - br label %ifend2168 -ifend2168: - %t10463 = load ptr, ptr %t1 - %t10464 = call i32 @fn_str_eq(ptr %t10463, ptr @.str7262) - %t10465 = icmp ne i32 %t10464, 0 - br i1 %t10465, label %then2171, label %ifend2173 -then2171: - store ptr @.str7263, ptr %t330 - %t10466 = load ptr, ptr %t337 - %t10467 = getelementptr inbounds %LSlice, ptr %t10466, i32 0, i32 1 - %t10468 = getelementptr inbounds %LSlice, ptr %t10466, i32 0, i32 2 - %t10469 = getelementptr inbounds %LSlice, ptr %t10466, i32 0, i32 0 - %t10470 = load i32, ptr %t10467 - %t10471 = load i32, ptr %t10468 - %t10472 = icmp sge i32 %t10470, %t10471 - br i1 %t10472, label %grow2174, label %put2175 -grow2174: - %t10473 = mul i32 %t10471, 2 - %t10474 = icmp eq i32 %t10471, 0 - %t10475 = select i1 %t10474, i32 8, i32 %t10473 - %t10476 = getelementptr ptr, ptr null, i32 1 - %t10477 = ptrtoint ptr %t10476 to i64 - %t10478 = zext i32 %t10475 to i64 - %t10479 = mul i64 %t10478, %t10477 - %t10480 = load ptr, ptr %t10469 - %t10481 = call ptr @realloc(ptr %t10480, i64 %t10479) - store ptr %t10481, ptr %t10469 - store i32 %t10475, ptr %t10468 - br label %put2175 -put2175: - %t10482 = load ptr, ptr %t10469 - %t10483 = getelementptr inbounds ptr, ptr %t10482, i32 %t10470 - store ptr @.str7264, ptr %t10483 - %t10484 = add i32 %t10470, 1 - store i32 %t10484, ptr %t10467 - br label %ifend2173 -ifend2173: - %t10485 = load ptr, ptr %t1 - %t10486 = call i32 @fn_str_eq(ptr %t10485, ptr @.str7265) - %t10487 = icmp ne i32 %t10486, 0 - br i1 %t10487, label %then2176, label %ifend2178 -then2176: - store ptr @.str7266, ptr %t330 - %t10488 = load ptr, ptr %t337 - %t10489 = getelementptr inbounds %LSlice, ptr %t10488, i32 0, i32 1 - %t10490 = getelementptr inbounds %LSlice, ptr %t10488, i32 0, i32 2 - %t10491 = getelementptr inbounds %LSlice, ptr %t10488, i32 0, i32 0 - %t10492 = load i32, ptr %t10489 - %t10493 = load i32, ptr %t10490 - %t10494 = icmp sge i32 %t10492, %t10493 - br i1 %t10494, label %grow2179, label %put2180 -grow2179: - %t10495 = mul i32 %t10493, 2 - %t10496 = icmp eq i32 %t10493, 0 - %t10497 = select i1 %t10496, i32 8, i32 %t10495 - %t10498 = getelementptr ptr, ptr null, i32 1 - %t10499 = ptrtoint ptr %t10498 to i64 - %t10500 = zext i32 %t10497 to i64 - %t10501 = mul i64 %t10500, %t10499 - %t10502 = load ptr, ptr %t10491 - %t10503 = call ptr @realloc(ptr %t10502, i64 %t10501) - store ptr %t10503, ptr %t10491 - store i32 %t10497, ptr %t10490 - br label %put2180 -put2180: - %t10504 = load ptr, ptr %t10491 - %t10505 = getelementptr inbounds ptr, ptr %t10504, i32 %t10492 - store ptr @.str7267, ptr %t10505 - %t10506 = add i32 %t10492, 1 - store i32 %t10506, ptr %t10489 - br label %ifend2178 -ifend2178: - %t10507 = load ptr, ptr %t1 - %t10508 = call i32 @fn_str_eq(ptr %t10507, ptr @.str7268) - %t10509 = icmp ne i32 %t10508, 0 - br i1 %t10509, label %then2181, label %ifend2183 -then2181: - store ptr @.str7269, ptr %t330 - %t10510 = load ptr, ptr %t337 - %t10511 = getelementptr inbounds %LSlice, ptr %t10510, i32 0, i32 1 - %t10512 = getelementptr inbounds %LSlice, ptr %t10510, i32 0, i32 2 - %t10513 = getelementptr inbounds %LSlice, ptr %t10510, i32 0, i32 0 - %t10514 = load i32, ptr %t10511 - %t10515 = load i32, ptr %t10512 - %t10516 = icmp sge i32 %t10514, %t10515 - br i1 %t10516, label %grow2184, label %put2185 -grow2184: - %t10517 = mul i32 %t10515, 2 - %t10518 = icmp eq i32 %t10515, 0 - %t10519 = select i1 %t10518, i32 8, i32 %t10517 - %t10520 = getelementptr ptr, ptr null, i32 1 - %t10521 = ptrtoint ptr %t10520 to i64 - %t10522 = zext i32 %t10519 to i64 - %t10523 = mul i64 %t10522, %t10521 - %t10524 = load ptr, ptr %t10513 - %t10525 = call ptr @realloc(ptr %t10524, i64 %t10523) - store ptr %t10525, ptr %t10513 - store i32 %t10519, ptr %t10512 - br label %put2185 -put2185: - %t10526 = load ptr, ptr %t10513 - %t10527 = getelementptr inbounds ptr, ptr %t10526, i32 %t10514 - store ptr @.str7270, ptr %t10527 - %t10528 = add i32 %t10514, 1 - store i32 %t10528, ptr %t10511 - br label %ifend2183 -ifend2183: - %t10529 = load ptr, ptr %t1 - %t10530 = call i32 @fn_str_eq(ptr %t10529, ptr @.str7271) - %t10531 = icmp ne i32 %t10530, 0 - br i1 %t10531, label %then2186, label %ifend2188 -then2186: - store ptr @.str7272, ptr %t330 - br label %ifend2188 -ifend2188: - %t10532 = load ptr, ptr %t1 - %t10533 = call i32 @fn_str_eq(ptr %t10532, ptr @.str7273) - %t10534 = icmp ne i32 %t10533, 0 - br i1 %t10534, label %then2189, label %ifend2191 -then2189: - store ptr @.str7274, ptr %t330 - br label %ifend2191 -ifend2191: - %t10535 = load ptr, ptr %t1 - %t10536 = call i32 @fn_str_eq(ptr %t10535, ptr @.str7275) - %t10537 = icmp ne i32 %t10536, 0 - br i1 %t10537, label %then2192, label %ifend2194 -then2192: - store ptr @.str7276, ptr %t330 - %t10538 = load ptr, ptr %t337 - %t10539 = getelementptr inbounds %LSlice, ptr %t10538, i32 0, i32 1 - %t10540 = getelementptr inbounds %LSlice, ptr %t10538, i32 0, i32 2 - %t10541 = getelementptr inbounds %LSlice, ptr %t10538, i32 0, i32 0 - %t10542 = load i32, ptr %t10539 + %t10435 = load ptr, ptr %t387 + %t10436 = getelementptr inbounds %LSlice, ptr %t10435, i32 0, i32 1 + %t10437 = getelementptr inbounds %LSlice, ptr %t10435, i32 0, i32 2 + %t10438 = getelementptr inbounds %LSlice, ptr %t10435, i32 0, i32 0 + %t10439 = load i32, ptr %t10436 + %t10440 = load i32, ptr %t10437 + %t10441 = icmp sge i32 %t10439, %t10440 + br i1 %t10441, label %grow2168, label %put2169 +grow2168: + %t10442 = mul i32 %t10440, 2 + %t10443 = icmp eq i32 %t10440, 0 + %t10444 = select i1 %t10443, i32 8, i32 %t10442 + %t10445 = getelementptr ptr, ptr null, i32 1 + %t10446 = ptrtoint ptr %t10445 to i64 + %t10447 = zext i32 %t10444 to i64 + %t10448 = mul i64 %t10447, %t10446 + %t10449 = load ptr, ptr %t10438 + %t10450 = call ptr @realloc(ptr %t10449, i64 %t10448) + store ptr %t10450, ptr %t10438 + store i32 %t10444, ptr %t10437 + br label %put2169 +put2169: + %t10451 = load ptr, ptr %t10438 + %t10452 = getelementptr inbounds ptr, ptr %t10451, i32 %t10439 + store ptr @.str7584, ptr %t10452 + %t10453 = add i32 %t10439, 1 + store i32 %t10453, ptr %t10436 + br label %ifend2159 +ifend2159: + br label %ifend2114 +ifend2114: + %t10454 = load ptr, ptr %t0 + %t10455 = call i32 @fn_str_eq(ptr %t10454, ptr @.str7585) + %t10456 = icmp ne i32 %t10455, 0 + br i1 %t10456, label %then2170, label %ifend2172 +then2170: + %t10457 = load ptr, ptr %t1 + %t10458 = call i32 @fn_str_eq(ptr %t10457, ptr @.str7586) + %t10459 = icmp ne i32 %t10458, 0 + br i1 %t10459, label %then2173, label %ifend2175 +then2173: + store ptr @.str7587, ptr %t380 + %t10460 = load ptr, ptr %t387 + %t10461 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 1 + %t10462 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 2 + %t10463 = getelementptr inbounds %LSlice, ptr %t10460, i32 0, i32 0 + %t10464 = load i32, ptr %t10461 + %t10465 = load i32, ptr %t10462 + %t10466 = icmp sge i32 %t10464, %t10465 + br i1 %t10466, label %grow2176, label %put2177 +grow2176: + %t10467 = mul i32 %t10465, 2 + %t10468 = icmp eq i32 %t10465, 0 + %t10469 = select i1 %t10468, i32 8, i32 %t10467 + %t10470 = getelementptr ptr, ptr null, i32 1 + %t10471 = ptrtoint ptr %t10470 to i64 + %t10472 = zext i32 %t10469 to i64 + %t10473 = mul i64 %t10472, %t10471 + %t10474 = load ptr, ptr %t10463 + %t10475 = call ptr @realloc(ptr %t10474, i64 %t10473) + store ptr %t10475, ptr %t10463 + store i32 %t10469, ptr %t10462 + br label %put2177 +put2177: + %t10476 = load ptr, ptr %t10463 + %t10477 = getelementptr inbounds ptr, ptr %t10476, i32 %t10464 + store ptr @.str7588, ptr %t10477 + %t10478 = add i32 %t10464, 1 + store i32 %t10478, ptr %t10461 + br label %ifend2175 +ifend2175: + %t10479 = load ptr, ptr %t1 + %t10480 = call i32 @fn_str_eq(ptr %t10479, ptr @.str7589) + %t10481 = icmp ne i32 %t10480, 0 + br i1 %t10481, label %then2178, label %ifend2180 +then2178: + store ptr @.str7590, ptr %t380 + %t10482 = load ptr, ptr %t387 + %t10483 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 1 + %t10484 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 2 + %t10485 = getelementptr inbounds %LSlice, ptr %t10482, i32 0, i32 0 + %t10486 = load i32, ptr %t10483 + %t10487 = load i32, ptr %t10484 + %t10488 = icmp sge i32 %t10486, %t10487 + br i1 %t10488, label %grow2181, label %put2182 +grow2181: + %t10489 = mul i32 %t10487, 2 + %t10490 = icmp eq i32 %t10487, 0 + %t10491 = select i1 %t10490, i32 8, i32 %t10489 + %t10492 = getelementptr ptr, ptr null, i32 1 + %t10493 = ptrtoint ptr %t10492 to i64 + %t10494 = zext i32 %t10491 to i64 + %t10495 = mul i64 %t10494, %t10493 + %t10496 = load ptr, ptr %t10485 + %t10497 = call ptr @realloc(ptr %t10496, i64 %t10495) + store ptr %t10497, ptr %t10485 + store i32 %t10491, ptr %t10484 + br label %put2182 +put2182: + %t10498 = load ptr, ptr %t10485 + %t10499 = getelementptr inbounds ptr, ptr %t10498, i32 %t10486 + store ptr @.str7591, ptr %t10499 + %t10500 = add i32 %t10486, 1 + store i32 %t10500, ptr %t10483 + %t10501 = load ptr, ptr %t387 + %t10502 = getelementptr inbounds %LSlice, ptr %t10501, i32 0, i32 1 + %t10503 = getelementptr inbounds %LSlice, ptr %t10501, i32 0, i32 2 + %t10504 = getelementptr inbounds %LSlice, ptr %t10501, i32 0, i32 0 + %t10505 = load i32, ptr %t10502 + %t10506 = load i32, ptr %t10503 + %t10507 = icmp sge i32 %t10505, %t10506 + br i1 %t10507, label %grow2183, label %put2184 +grow2183: + %t10508 = mul i32 %t10506, 2 + %t10509 = icmp eq i32 %t10506, 0 + %t10510 = select i1 %t10509, i32 8, i32 %t10508 + %t10511 = getelementptr ptr, ptr null, i32 1 + %t10512 = ptrtoint ptr %t10511 to i64 + %t10513 = zext i32 %t10510 to i64 + %t10514 = mul i64 %t10513, %t10512 + %t10515 = load ptr, ptr %t10504 + %t10516 = call ptr @realloc(ptr %t10515, i64 %t10514) + store ptr %t10516, ptr %t10504 + store i32 %t10510, ptr %t10503 + br label %put2184 +put2184: + %t10517 = load ptr, ptr %t10504 + %t10518 = getelementptr inbounds ptr, ptr %t10517, i32 %t10505 + store ptr @.str7592, ptr %t10518 + %t10519 = add i32 %t10505, 1 + store i32 %t10519, ptr %t10502 + %t10520 = load ptr, ptr %t387 + %t10521 = getelementptr inbounds %LSlice, ptr %t10520, i32 0, i32 1 + %t10522 = getelementptr inbounds %LSlice, ptr %t10520, i32 0, i32 2 + %t10523 = getelementptr inbounds %LSlice, ptr %t10520, i32 0, i32 0 + %t10524 = load i32, ptr %t10521 + %t10525 = load i32, ptr %t10522 + %t10526 = icmp sge i32 %t10524, %t10525 + br i1 %t10526, label %grow2185, label %put2186 +grow2185: + %t10527 = mul i32 %t10525, 2 + %t10528 = icmp eq i32 %t10525, 0 + %t10529 = select i1 %t10528, i32 8, i32 %t10527 + %t10530 = getelementptr ptr, ptr null, i32 1 + %t10531 = ptrtoint ptr %t10530 to i64 + %t10532 = zext i32 %t10529 to i64 + %t10533 = mul i64 %t10532, %t10531 + %t10534 = load ptr, ptr %t10523 + %t10535 = call ptr @realloc(ptr %t10534, i64 %t10533) + store ptr %t10535, ptr %t10523 + store i32 %t10529, ptr %t10522 + br label %put2186 +put2186: + %t10536 = load ptr, ptr %t10523 + %t10537 = getelementptr inbounds ptr, ptr %t10536, i32 %t10524 + store ptr @.str7593, ptr %t10537 + %t10538 = add i32 %t10524, 1 + store i32 %t10538, ptr %t10521 + %t10539 = load ptr, ptr %t387 + %t10540 = getelementptr inbounds %LSlice, ptr %t10539, i32 0, i32 1 + %t10541 = getelementptr inbounds %LSlice, ptr %t10539, i32 0, i32 2 + %t10542 = getelementptr inbounds %LSlice, ptr %t10539, i32 0, i32 0 %t10543 = load i32, ptr %t10540 - %t10544 = icmp sge i32 %t10542, %t10543 - br i1 %t10544, label %grow2195, label %put2196 -grow2195: - %t10545 = mul i32 %t10543, 2 - %t10546 = icmp eq i32 %t10543, 0 - %t10547 = select i1 %t10546, i32 8, i32 %t10545 - %t10548 = getelementptr ptr, ptr null, i32 1 - %t10549 = ptrtoint ptr %t10548 to i64 - %t10550 = zext i32 %t10547 to i64 - %t10551 = mul i64 %t10550, %t10549 - %t10552 = load ptr, ptr %t10541 - %t10553 = call ptr @realloc(ptr %t10552, i64 %t10551) - store ptr %t10553, ptr %t10541 - store i32 %t10547, ptr %t10540 - br label %put2196 -put2196: - %t10554 = load ptr, ptr %t10541 - %t10555 = getelementptr inbounds ptr, ptr %t10554, i32 %t10542 - store ptr @.str7277, ptr %t10555 - %t10556 = add i32 %t10542, 1 - store i32 %t10556, ptr %t10539 - %t10557 = load ptr, ptr %t337 - %t10558 = getelementptr inbounds %LSlice, ptr %t10557, i32 0, i32 1 - %t10559 = getelementptr inbounds %LSlice, ptr %t10557, i32 0, i32 2 - %t10560 = getelementptr inbounds %LSlice, ptr %t10557, i32 0, i32 0 - %t10561 = load i32, ptr %t10558 + %t10544 = load i32, ptr %t10541 + %t10545 = icmp sge i32 %t10543, %t10544 + br i1 %t10545, label %grow2187, label %put2188 +grow2187: + %t10546 = mul i32 %t10544, 2 + %t10547 = icmp eq i32 %t10544, 0 + %t10548 = select i1 %t10547, i32 8, i32 %t10546 + %t10549 = getelementptr ptr, ptr null, i32 1 + %t10550 = ptrtoint ptr %t10549 to i64 + %t10551 = zext i32 %t10548 to i64 + %t10552 = mul i64 %t10551, %t10550 + %t10553 = load ptr, ptr %t10542 + %t10554 = call ptr @realloc(ptr %t10553, i64 %t10552) + store ptr %t10554, ptr %t10542 + store i32 %t10548, ptr %t10541 + br label %put2188 +put2188: + %t10555 = load ptr, ptr %t10542 + %t10556 = getelementptr inbounds ptr, ptr %t10555, i32 %t10543 + store ptr @.str7594, ptr %t10556 + %t10557 = add i32 %t10543, 1 + store i32 %t10557, ptr %t10540 + %t10558 = load ptr, ptr %t387 + %t10559 = getelementptr inbounds %LSlice, ptr %t10558, i32 0, i32 1 + %t10560 = getelementptr inbounds %LSlice, ptr %t10558, i32 0, i32 2 + %t10561 = getelementptr inbounds %LSlice, ptr %t10558, i32 0, i32 0 %t10562 = load i32, ptr %t10559 - %t10563 = icmp sge i32 %t10561, %t10562 - br i1 %t10563, label %grow2197, label %put2198 -grow2197: - %t10564 = mul i32 %t10562, 2 - %t10565 = icmp eq i32 %t10562, 0 - %t10566 = select i1 %t10565, i32 8, i32 %t10564 - %t10567 = getelementptr ptr, ptr null, i32 1 - %t10568 = ptrtoint ptr %t10567 to i64 - %t10569 = zext i32 %t10566 to i64 - %t10570 = mul i64 %t10569, %t10568 - %t10571 = load ptr, ptr %t10560 - %t10572 = call ptr @realloc(ptr %t10571, i64 %t10570) - store ptr %t10572, ptr %t10560 - store i32 %t10566, ptr %t10559 - br label %put2198 -put2198: - %t10573 = load ptr, ptr %t10560 - %t10574 = getelementptr inbounds ptr, ptr %t10573, i32 %t10561 - store ptr @.str7278, ptr %t10574 - %t10575 = add i32 %t10561, 1 - store i32 %t10575, ptr %t10558 - br label %ifend2194 -ifend2194: - %t10576 = load ptr, ptr %t1 - %t10577 = call i32 @fn_str_eq(ptr %t10576, ptr @.str7279) - %t10578 = icmp ne i32 %t10577, 0 - br i1 %t10578, label %then2199, label %ifend2201 -then2199: - store ptr @.str7280, ptr %t330 - %t10579 = load ptr, ptr %t337 - %t10580 = getelementptr inbounds %LSlice, ptr %t10579, i32 0, i32 1 - %t10581 = getelementptr inbounds %LSlice, ptr %t10579, i32 0, i32 2 - %t10582 = getelementptr inbounds %LSlice, ptr %t10579, i32 0, i32 0 - %t10583 = load i32, ptr %t10580 + %t10563 = load i32, ptr %t10560 + %t10564 = icmp sge i32 %t10562, %t10563 + br i1 %t10564, label %grow2189, label %put2190 +grow2189: + %t10565 = mul i32 %t10563, 2 + %t10566 = icmp eq i32 %t10563, 0 + %t10567 = select i1 %t10566, i32 8, i32 %t10565 + %t10568 = getelementptr ptr, ptr null, i32 1 + %t10569 = ptrtoint ptr %t10568 to i64 + %t10570 = zext i32 %t10567 to i64 + %t10571 = mul i64 %t10570, %t10569 + %t10572 = load ptr, ptr %t10561 + %t10573 = call ptr @realloc(ptr %t10572, i64 %t10571) + store ptr %t10573, ptr %t10561 + store i32 %t10567, ptr %t10560 + br label %put2190 +put2190: + %t10574 = load ptr, ptr %t10561 + %t10575 = getelementptr inbounds ptr, ptr %t10574, i32 %t10562 + store ptr @.str7595, ptr %t10575 + %t10576 = add i32 %t10562, 1 + store i32 %t10576, ptr %t10559 + br label %ifend2180 +ifend2180: + %t10577 = load ptr, ptr %t1 + %t10578 = call i32 @fn_str_eq(ptr %t10577, ptr @.str7596) + %t10579 = icmp ne i32 %t10578, 0 + br i1 %t10579, label %then2191, label %ifend2193 +then2191: + store ptr @.str7597, ptr %t380 + %t10580 = load ptr, ptr %t387 + %t10581 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 1 + %t10582 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 2 + %t10583 = getelementptr inbounds %LSlice, ptr %t10580, i32 0, i32 0 %t10584 = load i32, ptr %t10581 - %t10585 = icmp sge i32 %t10583, %t10584 - br i1 %t10585, label %grow2202, label %put2203 + %t10585 = load i32, ptr %t10582 + %t10586 = icmp sge i32 %t10584, %t10585 + br i1 %t10586, label %grow2194, label %put2195 +grow2194: + %t10587 = mul i32 %t10585, 2 + %t10588 = icmp eq i32 %t10585, 0 + %t10589 = select i1 %t10588, i32 8, i32 %t10587 + %t10590 = getelementptr ptr, ptr null, i32 1 + %t10591 = ptrtoint ptr %t10590 to i64 + %t10592 = zext i32 %t10589 to i64 + %t10593 = mul i64 %t10592, %t10591 + %t10594 = load ptr, ptr %t10583 + %t10595 = call ptr @realloc(ptr %t10594, i64 %t10593) + store ptr %t10595, ptr %t10583 + store i32 %t10589, ptr %t10582 + br label %put2195 +put2195: + %t10596 = load ptr, ptr %t10583 + %t10597 = getelementptr inbounds ptr, ptr %t10596, i32 %t10584 + store ptr @.str7598, ptr %t10597 + %t10598 = add i32 %t10584, 1 + store i32 %t10598, ptr %t10581 + %t10599 = load ptr, ptr %t387 + %t10600 = getelementptr inbounds %LSlice, ptr %t10599, i32 0, i32 1 + %t10601 = getelementptr inbounds %LSlice, ptr %t10599, i32 0, i32 2 + %t10602 = getelementptr inbounds %LSlice, ptr %t10599, i32 0, i32 0 + %t10603 = load i32, ptr %t10600 + %t10604 = load i32, ptr %t10601 + %t10605 = icmp sge i32 %t10603, %t10604 + br i1 %t10605, label %grow2196, label %put2197 +grow2196: + %t10606 = mul i32 %t10604, 2 + %t10607 = icmp eq i32 %t10604, 0 + %t10608 = select i1 %t10607, i32 8, i32 %t10606 + %t10609 = getelementptr ptr, ptr null, i32 1 + %t10610 = ptrtoint ptr %t10609 to i64 + %t10611 = zext i32 %t10608 to i64 + %t10612 = mul i64 %t10611, %t10610 + %t10613 = load ptr, ptr %t10602 + %t10614 = call ptr @realloc(ptr %t10613, i64 %t10612) + store ptr %t10614, ptr %t10602 + store i32 %t10608, ptr %t10601 + br label %put2197 +put2197: + %t10615 = load ptr, ptr %t10602 + %t10616 = getelementptr inbounds ptr, ptr %t10615, i32 %t10603 + store ptr @.str7599, ptr %t10616 + %t10617 = add i32 %t10603, 1 + store i32 %t10617, ptr %t10600 + %t10618 = load ptr, ptr %t387 + %t10619 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 1 + %t10620 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 2 + %t10621 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 0 + %t10622 = load i32, ptr %t10619 + %t10623 = load i32, ptr %t10620 + %t10624 = icmp sge i32 %t10622, %t10623 + br i1 %t10624, label %grow2198, label %put2199 +grow2198: + %t10625 = mul i32 %t10623, 2 + %t10626 = icmp eq i32 %t10623, 0 + %t10627 = select i1 %t10626, i32 8, i32 %t10625 + %t10628 = getelementptr ptr, ptr null, i32 1 + %t10629 = ptrtoint ptr %t10628 to i64 + %t10630 = zext i32 %t10627 to i64 + %t10631 = mul i64 %t10630, %t10629 + %t10632 = load ptr, ptr %t10621 + %t10633 = call ptr @realloc(ptr %t10632, i64 %t10631) + store ptr %t10633, ptr %t10621 + store i32 %t10627, ptr %t10620 + br label %put2199 +put2199: + %t10634 = load ptr, ptr %t10621 + %t10635 = getelementptr inbounds ptr, ptr %t10634, i32 %t10622 + store ptr @.str7600, ptr %t10635 + %t10636 = add i32 %t10622, 1 + store i32 %t10636, ptr %t10619 + %t10637 = load ptr, ptr %t387 + %t10638 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 1 + %t10639 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 2 + %t10640 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 0 + %t10641 = load i32, ptr %t10638 + %t10642 = load i32, ptr %t10639 + %t10643 = icmp sge i32 %t10641, %t10642 + br i1 %t10643, label %grow2200, label %put2201 +grow2200: + %t10644 = mul i32 %t10642, 2 + %t10645 = icmp eq i32 %t10642, 0 + %t10646 = select i1 %t10645, i32 8, i32 %t10644 + %t10647 = getelementptr ptr, ptr null, i32 1 + %t10648 = ptrtoint ptr %t10647 to i64 + %t10649 = zext i32 %t10646 to i64 + %t10650 = mul i64 %t10649, %t10648 + %t10651 = load ptr, ptr %t10640 + %t10652 = call ptr @realloc(ptr %t10651, i64 %t10650) + store ptr %t10652, ptr %t10640 + store i32 %t10646, ptr %t10639 + br label %put2201 +put2201: + %t10653 = load ptr, ptr %t10640 + %t10654 = getelementptr inbounds ptr, ptr %t10653, i32 %t10641 + store ptr @.str7601, ptr %t10654 + %t10655 = add i32 %t10641, 1 + store i32 %t10655, ptr %t10638 + %t10656 = load ptr, ptr %t387 + %t10657 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 1 + %t10658 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 2 + %t10659 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 0 + %t10660 = load i32, ptr %t10657 + %t10661 = load i32, ptr %t10658 + %t10662 = icmp sge i32 %t10660, %t10661 + br i1 %t10662, label %grow2202, label %put2203 grow2202: - %t10586 = mul i32 %t10584, 2 - %t10587 = icmp eq i32 %t10584, 0 - %t10588 = select i1 %t10587, i32 8, i32 %t10586 - %t10589 = getelementptr ptr, ptr null, i32 1 - %t10590 = ptrtoint ptr %t10589 to i64 - %t10591 = zext i32 %t10588 to i64 - %t10592 = mul i64 %t10591, %t10590 - %t10593 = load ptr, ptr %t10582 - %t10594 = call ptr @realloc(ptr %t10593, i64 %t10592) - store ptr %t10594, ptr %t10582 - store i32 %t10588, ptr %t10581 + %t10663 = mul i32 %t10661, 2 + %t10664 = icmp eq i32 %t10661, 0 + %t10665 = select i1 %t10664, i32 8, i32 %t10663 + %t10666 = getelementptr ptr, ptr null, i32 1 + %t10667 = ptrtoint ptr %t10666 to i64 + %t10668 = zext i32 %t10665 to i64 + %t10669 = mul i64 %t10668, %t10667 + %t10670 = load ptr, ptr %t10659 + %t10671 = call ptr @realloc(ptr %t10670, i64 %t10669) + store ptr %t10671, ptr %t10659 + store i32 %t10665, ptr %t10658 br label %put2203 put2203: - %t10595 = load ptr, ptr %t10582 - %t10596 = getelementptr inbounds ptr, ptr %t10595, i32 %t10583 - store ptr @.str7281, ptr %t10596 - %t10597 = add i32 %t10583, 1 - store i32 %t10597, ptr %t10580 - %t10598 = load ptr, ptr %t337 - %t10599 = getelementptr inbounds %LSlice, ptr %t10598, i32 0, i32 1 - %t10600 = getelementptr inbounds %LSlice, ptr %t10598, i32 0, i32 2 - %t10601 = getelementptr inbounds %LSlice, ptr %t10598, i32 0, i32 0 - %t10602 = load i32, ptr %t10599 - %t10603 = load i32, ptr %t10600 - %t10604 = icmp sge i32 %t10602, %t10603 - br i1 %t10604, label %grow2204, label %put2205 + %t10672 = load ptr, ptr %t10659 + %t10673 = getelementptr inbounds ptr, ptr %t10672, i32 %t10660 + store ptr @.str7602, ptr %t10673 + %t10674 = add i32 %t10660, 1 + store i32 %t10674, ptr %t10657 + %t10675 = load ptr, ptr %t387 + %t10676 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 1 + %t10677 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 2 + %t10678 = getelementptr inbounds %LSlice, ptr %t10675, i32 0, i32 0 + %t10679 = load i32, ptr %t10676 + %t10680 = load i32, ptr %t10677 + %t10681 = icmp sge i32 %t10679, %t10680 + br i1 %t10681, label %grow2204, label %put2205 grow2204: - %t10605 = mul i32 %t10603, 2 - %t10606 = icmp eq i32 %t10603, 0 - %t10607 = select i1 %t10606, i32 8, i32 %t10605 - %t10608 = getelementptr ptr, ptr null, i32 1 - %t10609 = ptrtoint ptr %t10608 to i64 - %t10610 = zext i32 %t10607 to i64 - %t10611 = mul i64 %t10610, %t10609 - %t10612 = load ptr, ptr %t10601 - %t10613 = call ptr @realloc(ptr %t10612, i64 %t10611) - store ptr %t10613, ptr %t10601 - store i32 %t10607, ptr %t10600 + %t10682 = mul i32 %t10680, 2 + %t10683 = icmp eq i32 %t10680, 0 + %t10684 = select i1 %t10683, i32 8, i32 %t10682 + %t10685 = getelementptr ptr, ptr null, i32 1 + %t10686 = ptrtoint ptr %t10685 to i64 + %t10687 = zext i32 %t10684 to i64 + %t10688 = mul i64 %t10687, %t10686 + %t10689 = load ptr, ptr %t10678 + %t10690 = call ptr @realloc(ptr %t10689, i64 %t10688) + store ptr %t10690, ptr %t10678 + store i32 %t10684, ptr %t10677 br label %put2205 put2205: - %t10614 = load ptr, ptr %t10601 - %t10615 = getelementptr inbounds ptr, ptr %t10614, i32 %t10602 - store ptr @.str7282, ptr %t10615 - %t10616 = add i32 %t10602, 1 - store i32 %t10616, ptr %t10599 - %t10617 = load ptr, ptr %t337 - %t10618 = getelementptr inbounds %LSlice, ptr %t10617, i32 0, i32 1 - %t10619 = getelementptr inbounds %LSlice, ptr %t10617, i32 0, i32 2 - %t10620 = getelementptr inbounds %LSlice, ptr %t10617, i32 0, i32 0 - %t10621 = load i32, ptr %t10618 - %t10622 = load i32, ptr %t10619 - %t10623 = icmp sge i32 %t10621, %t10622 - br i1 %t10623, label %grow2206, label %put2207 + %t10691 = load ptr, ptr %t10678 + %t10692 = getelementptr inbounds ptr, ptr %t10691, i32 %t10679 + store ptr @.str7603, ptr %t10692 + %t10693 = add i32 %t10679, 1 + store i32 %t10693, ptr %t10676 + %t10694 = load ptr, ptr %t387 + %t10695 = getelementptr inbounds %LSlice, ptr %t10694, i32 0, i32 1 + %t10696 = getelementptr inbounds %LSlice, ptr %t10694, i32 0, i32 2 + %t10697 = getelementptr inbounds %LSlice, ptr %t10694, i32 0, i32 0 + %t10698 = load i32, ptr %t10695 + %t10699 = load i32, ptr %t10696 + %t10700 = icmp sge i32 %t10698, %t10699 + br i1 %t10700, label %grow2206, label %put2207 grow2206: - %t10624 = mul i32 %t10622, 2 - %t10625 = icmp eq i32 %t10622, 0 - %t10626 = select i1 %t10625, i32 8, i32 %t10624 - %t10627 = getelementptr ptr, ptr null, i32 1 - %t10628 = ptrtoint ptr %t10627 to i64 - %t10629 = zext i32 %t10626 to i64 - %t10630 = mul i64 %t10629, %t10628 - %t10631 = load ptr, ptr %t10620 - %t10632 = call ptr @realloc(ptr %t10631, i64 %t10630) - store ptr %t10632, ptr %t10620 - store i32 %t10626, ptr %t10619 + %t10701 = mul i32 %t10699, 2 + %t10702 = icmp eq i32 %t10699, 0 + %t10703 = select i1 %t10702, i32 8, i32 %t10701 + %t10704 = getelementptr ptr, ptr null, i32 1 + %t10705 = ptrtoint ptr %t10704 to i64 + %t10706 = zext i32 %t10703 to i64 + %t10707 = mul i64 %t10706, %t10705 + %t10708 = load ptr, ptr %t10697 + %t10709 = call ptr @realloc(ptr %t10708, i64 %t10707) + store ptr %t10709, ptr %t10697 + store i32 %t10703, ptr %t10696 br label %put2207 put2207: - %t10633 = load ptr, ptr %t10620 - %t10634 = getelementptr inbounds ptr, ptr %t10633, i32 %t10621 - store ptr @.str7283, ptr %t10634 - %t10635 = add i32 %t10621, 1 - store i32 %t10635, ptr %t10618 - br label %ifend2201 -ifend2201: - %t10636 = load ptr, ptr %t1 - %t10637 = call i32 @fn_str_eq(ptr %t10636, ptr @.str7284) - %t10638 = icmp ne i32 %t10637, 0 - br i1 %t10638, label %then2208, label %ifend2210 + %t10710 = load ptr, ptr %t10697 + %t10711 = getelementptr inbounds ptr, ptr %t10710, i32 %t10698 + store ptr @.str7604, ptr %t10711 + %t10712 = add i32 %t10698, 1 + store i32 %t10712, ptr %t10695 + br label %ifend2193 +ifend2193: + %t10713 = load ptr, ptr %t1 + %t10714 = call i32 @fn_str_eq(ptr %t10713, ptr @.str7605) + %t10715 = icmp ne i32 %t10714, 0 + br i1 %t10715, label %then2208, label %ifend2210 then2208: - store ptr @.str7285, ptr %t330 - %t10639 = load ptr, ptr %t337 - %t10640 = getelementptr inbounds %LSlice, ptr %t10639, i32 0, i32 1 - %t10641 = getelementptr inbounds %LSlice, ptr %t10639, i32 0, i32 2 - %t10642 = getelementptr inbounds %LSlice, ptr %t10639, i32 0, i32 0 - %t10643 = load i32, ptr %t10640 - %t10644 = load i32, ptr %t10641 - %t10645 = icmp sge i32 %t10643, %t10644 - br i1 %t10645, label %grow2211, label %put2212 + store ptr @.str7606, ptr %t380 + %t10716 = load ptr, ptr %t387 + %t10717 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 1 + %t10718 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 2 + %t10719 = getelementptr inbounds %LSlice, ptr %t10716, i32 0, i32 0 + %t10720 = load i32, ptr %t10717 + %t10721 = load i32, ptr %t10718 + %t10722 = icmp sge i32 %t10720, %t10721 + br i1 %t10722, label %grow2211, label %put2212 grow2211: - %t10646 = mul i32 %t10644, 2 - %t10647 = icmp eq i32 %t10644, 0 - %t10648 = select i1 %t10647, i32 8, i32 %t10646 - %t10649 = getelementptr ptr, ptr null, i32 1 - %t10650 = ptrtoint ptr %t10649 to i64 - %t10651 = zext i32 %t10648 to i64 - %t10652 = mul i64 %t10651, %t10650 - %t10653 = load ptr, ptr %t10642 - %t10654 = call ptr @realloc(ptr %t10653, i64 %t10652) - store ptr %t10654, ptr %t10642 - store i32 %t10648, ptr %t10641 + %t10723 = mul i32 %t10721, 2 + %t10724 = icmp eq i32 %t10721, 0 + %t10725 = select i1 %t10724, i32 8, i32 %t10723 + %t10726 = getelementptr ptr, ptr null, i32 1 + %t10727 = ptrtoint ptr %t10726 to i64 + %t10728 = zext i32 %t10725 to i64 + %t10729 = mul i64 %t10728, %t10727 + %t10730 = load ptr, ptr %t10719 + %t10731 = call ptr @realloc(ptr %t10730, i64 %t10729) + store ptr %t10731, ptr %t10719 + store i32 %t10725, ptr %t10718 br label %put2212 put2212: - %t10655 = load ptr, ptr %t10642 - %t10656 = getelementptr inbounds ptr, ptr %t10655, i32 %t10643 - store ptr @.str7286, ptr %t10656 - %t10657 = add i32 %t10643, 1 - store i32 %t10657, ptr %t10640 - %t10658 = load ptr, ptr %t337 - %t10659 = getelementptr inbounds %LSlice, ptr %t10658, i32 0, i32 1 - %t10660 = getelementptr inbounds %LSlice, ptr %t10658, i32 0, i32 2 - %t10661 = getelementptr inbounds %LSlice, ptr %t10658, i32 0, i32 0 - %t10662 = load i32, ptr %t10659 - %t10663 = load i32, ptr %t10660 - %t10664 = icmp sge i32 %t10662, %t10663 - br i1 %t10664, label %grow2213, label %put2214 + %t10732 = load ptr, ptr %t10719 + %t10733 = getelementptr inbounds ptr, ptr %t10732, i32 %t10720 + store ptr @.str7607, ptr %t10733 + %t10734 = add i32 %t10720, 1 + store i32 %t10734, ptr %t10717 + %t10735 = load ptr, ptr %t387 + %t10736 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 1 + %t10737 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 2 + %t10738 = getelementptr inbounds %LSlice, ptr %t10735, i32 0, i32 0 + %t10739 = load i32, ptr %t10736 + %t10740 = load i32, ptr %t10737 + %t10741 = icmp sge i32 %t10739, %t10740 + br i1 %t10741, label %grow2213, label %put2214 grow2213: - %t10665 = mul i32 %t10663, 2 - %t10666 = icmp eq i32 %t10663, 0 - %t10667 = select i1 %t10666, i32 8, i32 %t10665 - %t10668 = getelementptr ptr, ptr null, i32 1 - %t10669 = ptrtoint ptr %t10668 to i64 - %t10670 = zext i32 %t10667 to i64 - %t10671 = mul i64 %t10670, %t10669 - %t10672 = load ptr, ptr %t10661 - %t10673 = call ptr @realloc(ptr %t10672, i64 %t10671) - store ptr %t10673, ptr %t10661 - store i32 %t10667, ptr %t10660 + %t10742 = mul i32 %t10740, 2 + %t10743 = icmp eq i32 %t10740, 0 + %t10744 = select i1 %t10743, i32 8, i32 %t10742 + %t10745 = getelementptr ptr, ptr null, i32 1 + %t10746 = ptrtoint ptr %t10745 to i64 + %t10747 = zext i32 %t10744 to i64 + %t10748 = mul i64 %t10747, %t10746 + %t10749 = load ptr, ptr %t10738 + %t10750 = call ptr @realloc(ptr %t10749, i64 %t10748) + store ptr %t10750, ptr %t10738 + store i32 %t10744, ptr %t10737 br label %put2214 put2214: - %t10674 = load ptr, ptr %t10661 - %t10675 = getelementptr inbounds ptr, ptr %t10674, i32 %t10662 - store ptr @.str7287, ptr %t10675 - %t10676 = add i32 %t10662, 1 - store i32 %t10676, ptr %t10659 + %t10751 = load ptr, ptr %t10738 + %t10752 = getelementptr inbounds ptr, ptr %t10751, i32 %t10739 + store ptr @.str7608, ptr %t10752 + %t10753 = add i32 %t10739, 1 + store i32 %t10753, ptr %t10736 + %t10754 = load ptr, ptr %t387 + %t10755 = getelementptr inbounds %LSlice, ptr %t10754, i32 0, i32 1 + %t10756 = getelementptr inbounds %LSlice, ptr %t10754, i32 0, i32 2 + %t10757 = getelementptr inbounds %LSlice, ptr %t10754, i32 0, i32 0 + %t10758 = load i32, ptr %t10755 + %t10759 = load i32, ptr %t10756 + %t10760 = icmp sge i32 %t10758, %t10759 + br i1 %t10760, label %grow2215, label %put2216 +grow2215: + %t10761 = mul i32 %t10759, 2 + %t10762 = icmp eq i32 %t10759, 0 + %t10763 = select i1 %t10762, i32 8, i32 %t10761 + %t10764 = getelementptr ptr, ptr null, i32 1 + %t10765 = ptrtoint ptr %t10764 to i64 + %t10766 = zext i32 %t10763 to i64 + %t10767 = mul i64 %t10766, %t10765 + %t10768 = load ptr, ptr %t10757 + %t10769 = call ptr @realloc(ptr %t10768, i64 %t10767) + store ptr %t10769, ptr %t10757 + store i32 %t10763, ptr %t10756 + br label %put2216 +put2216: + %t10770 = load ptr, ptr %t10757 + %t10771 = getelementptr inbounds ptr, ptr %t10770, i32 %t10758 + store ptr @.str7609, ptr %t10771 + %t10772 = add i32 %t10758, 1 + store i32 %t10772, ptr %t10755 + %t10773 = load ptr, ptr %t387 + %t10774 = getelementptr inbounds %LSlice, ptr %t10773, i32 0, i32 1 + %t10775 = getelementptr inbounds %LSlice, ptr %t10773, i32 0, i32 2 + %t10776 = getelementptr inbounds %LSlice, ptr %t10773, i32 0, i32 0 + %t10777 = load i32, ptr %t10774 + %t10778 = load i32, ptr %t10775 + %t10779 = icmp sge i32 %t10777, %t10778 + br i1 %t10779, label %grow2217, label %put2218 +grow2217: + %t10780 = mul i32 %t10778, 2 + %t10781 = icmp eq i32 %t10778, 0 + %t10782 = select i1 %t10781, i32 8, i32 %t10780 + %t10783 = getelementptr ptr, ptr null, i32 1 + %t10784 = ptrtoint ptr %t10783 to i64 + %t10785 = zext i32 %t10782 to i64 + %t10786 = mul i64 %t10785, %t10784 + %t10787 = load ptr, ptr %t10776 + %t10788 = call ptr @realloc(ptr %t10787, i64 %t10786) + store ptr %t10788, ptr %t10776 + store i32 %t10782, ptr %t10775 + br label %put2218 +put2218: + %t10789 = load ptr, ptr %t10776 + %t10790 = getelementptr inbounds ptr, ptr %t10789, i32 %t10777 + store ptr @.str7610, ptr %t10790 + %t10791 = add i32 %t10777, 1 + store i32 %t10791, ptr %t10774 br label %ifend2210 ifend2210: - %t10677 = load ptr, ptr %t1 - %t10678 = call i32 @fn_str_eq(ptr %t10677, ptr @.str7288) - %t10679 = icmp ne i32 %t10678, 0 - br i1 %t10679, label %then2215, label %ifend2217 -then2215: - store ptr @.str7289, ptr %t330 - %t10680 = load ptr, ptr %t337 - %t10681 = getelementptr inbounds %LSlice, ptr %t10680, i32 0, i32 1 - %t10682 = getelementptr inbounds %LSlice, ptr %t10680, i32 0, i32 2 - %t10683 = getelementptr inbounds %LSlice, ptr %t10680, i32 0, i32 0 - %t10684 = load i32, ptr %t10681 - %t10685 = load i32, ptr %t10682 - %t10686 = icmp sge i32 %t10684, %t10685 - br i1 %t10686, label %grow2218, label %put2219 -grow2218: - %t10687 = mul i32 %t10685, 2 - %t10688 = icmp eq i32 %t10685, 0 - %t10689 = select i1 %t10688, i32 8, i32 %t10687 - %t10690 = getelementptr ptr, ptr null, i32 1 - %t10691 = ptrtoint ptr %t10690 to i64 - %t10692 = zext i32 %t10689 to i64 - %t10693 = mul i64 %t10692, %t10691 - %t10694 = load ptr, ptr %t10683 - %t10695 = call ptr @realloc(ptr %t10694, i64 %t10693) - store ptr %t10695, ptr %t10683 - store i32 %t10689, ptr %t10682 - br label %put2219 -put2219: - %t10696 = load ptr, ptr %t10683 - %t10697 = getelementptr inbounds ptr, ptr %t10696, i32 %t10684 - store ptr @.str7290, ptr %t10697 - %t10698 = add i32 %t10684, 1 - store i32 %t10698, ptr %t10681 - %t10699 = load ptr, ptr %t337 - %t10700 = getelementptr inbounds %LSlice, ptr %t10699, i32 0, i32 1 - %t10701 = getelementptr inbounds %LSlice, ptr %t10699, i32 0, i32 2 - %t10702 = getelementptr inbounds %LSlice, ptr %t10699, i32 0, i32 0 - %t10703 = load i32, ptr %t10700 - %t10704 = load i32, ptr %t10701 - %t10705 = icmp sge i32 %t10703, %t10704 - br i1 %t10705, label %grow2220, label %put2221 -grow2220: - %t10706 = mul i32 %t10704, 2 - %t10707 = icmp eq i32 %t10704, 0 - %t10708 = select i1 %t10707, i32 8, i32 %t10706 - %t10709 = getelementptr ptr, ptr null, i32 1 - %t10710 = ptrtoint ptr %t10709 to i64 - %t10711 = zext i32 %t10708 to i64 - %t10712 = mul i64 %t10711, %t10710 - %t10713 = load ptr, ptr %t10702 - %t10714 = call ptr @realloc(ptr %t10713, i64 %t10712) - store ptr %t10714, ptr %t10702 - store i32 %t10708, ptr %t10701 - br label %put2221 -put2221: - %t10715 = load ptr, ptr %t10702 - %t10716 = getelementptr inbounds ptr, ptr %t10715, i32 %t10703 - store ptr @.str7291, ptr %t10716 - %t10717 = add i32 %t10703, 1 - store i32 %t10717, ptr %t10700 - br label %ifend2217 -ifend2217: - %t10718 = load ptr, ptr %t1 - %t10719 = call i32 @fn_str_eq(ptr %t10718, ptr @.str7292) - %t10720 = icmp ne i32 %t10719, 0 - br i1 %t10720, label %then2222, label %ifend2224 + %t10792 = load ptr, ptr %t1 + %t10793 = call i32 @fn_str_eq(ptr %t10792, ptr @.str7611) + %t10794 = icmp ne i32 %t10793, 0 + br i1 %t10794, label %then2219, label %ifend2221 +then2219: + store ptr @.str7612, ptr %t380 + br label %ifend2221 +ifend2221: + %t10795 = load ptr, ptr %t1 + %t10796 = call i32 @fn_str_eq(ptr %t10795, ptr @.str7613) + %t10797 = icmp ne i32 %t10796, 0 + br i1 %t10797, label %then2222, label %ifend2224 then2222: - store ptr @.str7293, ptr %t330 - %t10721 = load ptr, ptr %t337 - %t10722 = getelementptr inbounds %LSlice, ptr %t10721, i32 0, i32 1 - %t10723 = getelementptr inbounds %LSlice, ptr %t10721, i32 0, i32 2 - %t10724 = getelementptr inbounds %LSlice, ptr %t10721, i32 0, i32 0 - %t10725 = load i32, ptr %t10722 - %t10726 = load i32, ptr %t10723 - %t10727 = icmp sge i32 %t10725, %t10726 - br i1 %t10727, label %grow2225, label %put2226 + store ptr @.str7614, ptr %t380 + %t10798 = load ptr, ptr %t387 + %t10799 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 1 + %t10800 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 2 + %t10801 = getelementptr inbounds %LSlice, ptr %t10798, i32 0, i32 0 + %t10802 = load i32, ptr %t10799 + %t10803 = load i32, ptr %t10800 + %t10804 = icmp sge i32 %t10802, %t10803 + br i1 %t10804, label %grow2225, label %put2226 grow2225: - %t10728 = mul i32 %t10726, 2 - %t10729 = icmp eq i32 %t10726, 0 - %t10730 = select i1 %t10729, i32 8, i32 %t10728 - %t10731 = getelementptr ptr, ptr null, i32 1 - %t10732 = ptrtoint ptr %t10731 to i64 - %t10733 = zext i32 %t10730 to i64 - %t10734 = mul i64 %t10733, %t10732 - %t10735 = load ptr, ptr %t10724 - %t10736 = call ptr @realloc(ptr %t10735, i64 %t10734) - store ptr %t10736, ptr %t10724 - store i32 %t10730, ptr %t10723 + %t10805 = mul i32 %t10803, 2 + %t10806 = icmp eq i32 %t10803, 0 + %t10807 = select i1 %t10806, i32 8, i32 %t10805 + %t10808 = getelementptr ptr, ptr null, i32 1 + %t10809 = ptrtoint ptr %t10808 to i64 + %t10810 = zext i32 %t10807 to i64 + %t10811 = mul i64 %t10810, %t10809 + %t10812 = load ptr, ptr %t10801 + %t10813 = call ptr @realloc(ptr %t10812, i64 %t10811) + store ptr %t10813, ptr %t10801 + store i32 %t10807, ptr %t10800 br label %put2226 put2226: - %t10737 = load ptr, ptr %t10724 - %t10738 = getelementptr inbounds ptr, ptr %t10737, i32 %t10725 - store ptr @.str7294, ptr %t10738 - %t10739 = add i32 %t10725, 1 - store i32 %t10739, ptr %t10722 - %t10740 = load ptr, ptr %t337 - %t10741 = getelementptr inbounds %LSlice, ptr %t10740, i32 0, i32 1 - %t10742 = getelementptr inbounds %LSlice, ptr %t10740, i32 0, i32 2 - %t10743 = getelementptr inbounds %LSlice, ptr %t10740, i32 0, i32 0 - %t10744 = load i32, ptr %t10741 - %t10745 = load i32, ptr %t10742 - %t10746 = icmp sge i32 %t10744, %t10745 - br i1 %t10746, label %grow2227, label %put2228 -grow2227: - %t10747 = mul i32 %t10745, 2 - %t10748 = icmp eq i32 %t10745, 0 - %t10749 = select i1 %t10748, i32 8, i32 %t10747 - %t10750 = getelementptr ptr, ptr null, i32 1 - %t10751 = ptrtoint ptr %t10750 to i64 - %t10752 = zext i32 %t10749 to i64 - %t10753 = mul i64 %t10752, %t10751 - %t10754 = load ptr, ptr %t10743 - %t10755 = call ptr @realloc(ptr %t10754, i64 %t10753) - store ptr %t10755, ptr %t10743 - store i32 %t10749, ptr %t10742 - br label %put2228 -put2228: - %t10756 = load ptr, ptr %t10743 - %t10757 = getelementptr inbounds ptr, ptr %t10756, i32 %t10744 - store ptr @.str7295, ptr %t10757 - %t10758 = add i32 %t10744, 1 - store i32 %t10758, ptr %t10741 + %t10814 = load ptr, ptr %t10801 + %t10815 = getelementptr inbounds ptr, ptr %t10814, i32 %t10802 + store ptr @.str7615, ptr %t10815 + %t10816 = add i32 %t10802, 1 + store i32 %t10816, ptr %t10799 br label %ifend2224 ifend2224: - %t10759 = load ptr, ptr %t1 - %t10760 = call i32 @fn_str_eq(ptr %t10759, ptr @.str7296) - %t10761 = icmp ne i32 %t10760, 0 - br i1 %t10761, label %then2229, label %ifend2231 -then2229: - store ptr @.str7297, ptr %t330 - %t10762 = load ptr, ptr %t337 - %t10763 = getelementptr inbounds %LSlice, ptr %t10762, i32 0, i32 1 - %t10764 = getelementptr inbounds %LSlice, ptr %t10762, i32 0, i32 2 - %t10765 = getelementptr inbounds %LSlice, ptr %t10762, i32 0, i32 0 - %t10766 = load i32, ptr %t10763 - %t10767 = load i32, ptr %t10764 - %t10768 = icmp sge i32 %t10766, %t10767 - br i1 %t10768, label %grow2232, label %put2233 -grow2232: - %t10769 = mul i32 %t10767, 2 - %t10770 = icmp eq i32 %t10767, 0 - %t10771 = select i1 %t10770, i32 8, i32 %t10769 - %t10772 = getelementptr ptr, ptr null, i32 1 - %t10773 = ptrtoint ptr %t10772 to i64 - %t10774 = zext i32 %t10771 to i64 - %t10775 = mul i64 %t10774, %t10773 - %t10776 = load ptr, ptr %t10765 - %t10777 = call ptr @realloc(ptr %t10776, i64 %t10775) - store ptr %t10777, ptr %t10765 - store i32 %t10771, ptr %t10764 - br label %put2233 -put2233: - %t10778 = load ptr, ptr %t10765 - %t10779 = getelementptr inbounds ptr, ptr %t10778, i32 %t10766 - store ptr @.str7298, ptr %t10779 - %t10780 = add i32 %t10766, 1 - store i32 %t10780, ptr %t10763 - %t10781 = load ptr, ptr %t337 - %t10782 = getelementptr inbounds %LSlice, ptr %t10781, i32 0, i32 1 - %t10783 = getelementptr inbounds %LSlice, ptr %t10781, i32 0, i32 2 - %t10784 = getelementptr inbounds %LSlice, ptr %t10781, i32 0, i32 0 - %t10785 = load i32, ptr %t10782 - %t10786 = load i32, ptr %t10783 - %t10787 = icmp sge i32 %t10785, %t10786 - br i1 %t10787, label %grow2234, label %put2235 -grow2234: - %t10788 = mul i32 %t10786, 2 - %t10789 = icmp eq i32 %t10786, 0 - %t10790 = select i1 %t10789, i32 8, i32 %t10788 - %t10791 = getelementptr ptr, ptr null, i32 1 - %t10792 = ptrtoint ptr %t10791 to i64 - %t10793 = zext i32 %t10790 to i64 - %t10794 = mul i64 %t10793, %t10792 - %t10795 = load ptr, ptr %t10784 - %t10796 = call ptr @realloc(ptr %t10795, i64 %t10794) - store ptr %t10796, ptr %t10784 - store i32 %t10790, ptr %t10783 - br label %put2235 -put2235: - %t10797 = load ptr, ptr %t10784 - %t10798 = getelementptr inbounds ptr, ptr %t10797, i32 %t10785 - store ptr @.str7299, ptr %t10798 - %t10799 = add i32 %t10785, 1 - store i32 %t10799, ptr %t10782 - br label %ifend2231 -ifend2231: - %t10800 = load ptr, ptr %t1 - %t10801 = call i32 @fn_str_eq(ptr %t10800, ptr @.str7300) - %t10802 = icmp ne i32 %t10801, 0 - br i1 %t10802, label %then2236, label %ifend2238 -then2236: - store ptr @.str7301, ptr %t330 - %t10803 = load ptr, ptr %t337 - %t10804 = getelementptr inbounds %LSlice, ptr %t10803, i32 0, i32 1 - %t10805 = getelementptr inbounds %LSlice, ptr %t10803, i32 0, i32 2 - %t10806 = getelementptr inbounds %LSlice, ptr %t10803, i32 0, i32 0 - %t10807 = load i32, ptr %t10804 - %t10808 = load i32, ptr %t10805 - %t10809 = icmp sge i32 %t10807, %t10808 - br i1 %t10809, label %grow2239, label %put2240 -grow2239: - %t10810 = mul i32 %t10808, 2 - %t10811 = icmp eq i32 %t10808, 0 - %t10812 = select i1 %t10811, i32 8, i32 %t10810 - %t10813 = getelementptr ptr, ptr null, i32 1 - %t10814 = ptrtoint ptr %t10813 to i64 - %t10815 = zext i32 %t10812 to i64 - %t10816 = mul i64 %t10815, %t10814 - %t10817 = load ptr, ptr %t10806 - %t10818 = call ptr @realloc(ptr %t10817, i64 %t10816) - store ptr %t10818, ptr %t10806 - store i32 %t10812, ptr %t10805 - br label %put2240 -put2240: - %t10819 = load ptr, ptr %t10806 - %t10820 = getelementptr inbounds ptr, ptr %t10819, i32 %t10807 - store ptr @.str7302, ptr %t10820 - %t10821 = add i32 %t10807, 1 - store i32 %t10821, ptr %t10804 - br label %ifend2238 -ifend2238: - %t10822 = load ptr, ptr %t1 - %t10823 = call i32 @fn_str_eq(ptr %t10822, ptr @.str7303) - %t10824 = icmp ne i32 %t10823, 0 - br i1 %t10824, label %then2241, label %ifend2243 -then2241: - store ptr @.str7304, ptr %t330 - %t10825 = load ptr, ptr %t337 - %t10826 = getelementptr inbounds %LSlice, ptr %t10825, i32 0, i32 1 - %t10827 = getelementptr inbounds %LSlice, ptr %t10825, i32 0, i32 2 - %t10828 = getelementptr inbounds %LSlice, ptr %t10825, i32 0, i32 0 - %t10829 = load i32, ptr %t10826 - %t10830 = load i32, ptr %t10827 - %t10831 = icmp sge i32 %t10829, %t10830 - br i1 %t10831, label %grow2244, label %put2245 -grow2244: - %t10832 = mul i32 %t10830, 2 - %t10833 = icmp eq i32 %t10830, 0 - %t10834 = select i1 %t10833, i32 8, i32 %t10832 - %t10835 = getelementptr ptr, ptr null, i32 1 - %t10836 = ptrtoint ptr %t10835 to i64 - %t10837 = zext i32 %t10834 to i64 - %t10838 = mul i64 %t10837, %t10836 - %t10839 = load ptr, ptr %t10828 - %t10840 = call ptr @realloc(ptr %t10839, i64 %t10838) - store ptr %t10840, ptr %t10828 - store i32 %t10834, ptr %t10827 - br label %put2245 -put2245: - %t10841 = load ptr, ptr %t10828 - %t10842 = getelementptr inbounds ptr, ptr %t10841, i32 %t10829 - store ptr @.str7305, ptr %t10842 - %t10843 = add i32 %t10829, 1 - store i32 %t10843, ptr %t10826 - br label %ifend2243 -ifend2243: - %t10844 = load ptr, ptr %t1 - %t10845 = call i32 @fn_str_eq(ptr %t10844, ptr @.str7306) - %t10846 = icmp ne i32 %t10845, 0 - br i1 %t10846, label %then2246, label %ifend2248 -then2246: - store ptr @.str7307, ptr %t330 - %t10847 = load ptr, ptr %t337 - %t10848 = getelementptr inbounds %LSlice, ptr %t10847, i32 0, i32 1 - %t10849 = getelementptr inbounds %LSlice, ptr %t10847, i32 0, i32 2 - %t10850 = getelementptr inbounds %LSlice, ptr %t10847, i32 0, i32 0 - %t10851 = load i32, ptr %t10848 - %t10852 = load i32, ptr %t10849 - %t10853 = icmp sge i32 %t10851, %t10852 - br i1 %t10853, label %grow2249, label %put2250 -grow2249: - %t10854 = mul i32 %t10852, 2 - %t10855 = icmp eq i32 %t10852, 0 - %t10856 = select i1 %t10855, i32 8, i32 %t10854 - %t10857 = getelementptr ptr, ptr null, i32 1 - %t10858 = ptrtoint ptr %t10857 to i64 - %t10859 = zext i32 %t10856 to i64 - %t10860 = mul i64 %t10859, %t10858 - %t10861 = load ptr, ptr %t10850 - %t10862 = call ptr @realloc(ptr %t10861, i64 %t10860) - store ptr %t10862, ptr %t10850 - store i32 %t10856, ptr %t10849 - br label %put2250 -put2250: - %t10863 = load ptr, ptr %t10850 - %t10864 = getelementptr inbounds ptr, ptr %t10863, i32 %t10851 - store ptr @.str7308, ptr %t10864 - %t10865 = add i32 %t10851, 1 - store i32 %t10865, ptr %t10848 - br label %ifend2248 -ifend2248: - %t10866 = load ptr, ptr %t1 - %t10867 = call i32 @fn_str_eq(ptr %t10866, ptr @.str7309) - %t10868 = icmp ne i32 %t10867, 0 - br i1 %t10868, label %then2251, label %ifend2253 -then2251: - store ptr @.str7310, ptr %t330 - %t10869 = load ptr, ptr %t337 - %t10870 = getelementptr inbounds %LSlice, ptr %t10869, i32 0, i32 1 - %t10871 = getelementptr inbounds %LSlice, ptr %t10869, i32 0, i32 2 - %t10872 = getelementptr inbounds %LSlice, ptr %t10869, i32 0, i32 0 - %t10873 = load i32, ptr %t10870 - %t10874 = load i32, ptr %t10871 - %t10875 = icmp sge i32 %t10873, %t10874 - br i1 %t10875, label %grow2254, label %put2255 + %t10817 = load ptr, ptr %t1 + %t10818 = call i32 @fn_str_eq(ptr %t10817, ptr @.str7616) + %t10819 = icmp ne i32 %t10818, 0 + br i1 %t10819, label %then2227, label %ifend2229 +then2227: + store ptr @.str7617, ptr %t380 + %t10820 = load ptr, ptr %t387 + %t10821 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 1 + %t10822 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 2 + %t10823 = getelementptr inbounds %LSlice, ptr %t10820, i32 0, i32 0 + %t10824 = load i32, ptr %t10821 + %t10825 = load i32, ptr %t10822 + %t10826 = icmp sge i32 %t10824, %t10825 + br i1 %t10826, label %grow2230, label %put2231 +grow2230: + %t10827 = mul i32 %t10825, 2 + %t10828 = icmp eq i32 %t10825, 0 + %t10829 = select i1 %t10828, i32 8, i32 %t10827 + %t10830 = getelementptr ptr, ptr null, i32 1 + %t10831 = ptrtoint ptr %t10830 to i64 + %t10832 = zext i32 %t10829 to i64 + %t10833 = mul i64 %t10832, %t10831 + %t10834 = load ptr, ptr %t10823 + %t10835 = call ptr @realloc(ptr %t10834, i64 %t10833) + store ptr %t10835, ptr %t10823 + store i32 %t10829, ptr %t10822 + br label %put2231 +put2231: + %t10836 = load ptr, ptr %t10823 + %t10837 = getelementptr inbounds ptr, ptr %t10836, i32 %t10824 + store ptr @.str7618, ptr %t10837 + %t10838 = add i32 %t10824, 1 + store i32 %t10838, ptr %t10821 + br label %ifend2229 +ifend2229: + %t10839 = load ptr, ptr %t1 + %t10840 = call i32 @fn_str_eq(ptr %t10839, ptr @.str7619) + %t10841 = icmp ne i32 %t10840, 0 + br i1 %t10841, label %then2232, label %ifend2234 +then2232: + store ptr @.str7620, ptr %t380 + %t10842 = load ptr, ptr %t387 + %t10843 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 1 + %t10844 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 2 + %t10845 = getelementptr inbounds %LSlice, ptr %t10842, i32 0, i32 0 + %t10846 = load i32, ptr %t10843 + %t10847 = load i32, ptr %t10844 + %t10848 = icmp sge i32 %t10846, %t10847 + br i1 %t10848, label %grow2235, label %put2236 +grow2235: + %t10849 = mul i32 %t10847, 2 + %t10850 = icmp eq i32 %t10847, 0 + %t10851 = select i1 %t10850, i32 8, i32 %t10849 + %t10852 = getelementptr ptr, ptr null, i32 1 + %t10853 = ptrtoint ptr %t10852 to i64 + %t10854 = zext i32 %t10851 to i64 + %t10855 = mul i64 %t10854, %t10853 + %t10856 = load ptr, ptr %t10845 + %t10857 = call ptr @realloc(ptr %t10856, i64 %t10855) + store ptr %t10857, ptr %t10845 + store i32 %t10851, ptr %t10844 + br label %put2236 +put2236: + %t10858 = load ptr, ptr %t10845 + %t10859 = getelementptr inbounds ptr, ptr %t10858, i32 %t10846 + store ptr @.str7621, ptr %t10859 + %t10860 = add i32 %t10846, 1 + store i32 %t10860, ptr %t10843 + br label %ifend2234 +ifend2234: + %t10861 = load ptr, ptr %t1 + %t10862 = call i32 @fn_str_eq(ptr %t10861, ptr @.str7622) + %t10863 = icmp ne i32 %t10862, 0 + br i1 %t10863, label %then2237, label %ifend2239 +then2237: + store ptr @.str7623, ptr %t380 + br label %ifend2239 +ifend2239: + %t10864 = load ptr, ptr %t1 + %t10865 = call i32 @fn_str_eq(ptr %t10864, ptr @.str7624) + %t10866 = icmp ne i32 %t10865, 0 + br i1 %t10866, label %then2240, label %ifend2242 +then2240: + store ptr @.str7625, ptr %t380 + %t10867 = load ptr, ptr %t387 + %t10868 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 1 + %t10869 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 2 + %t10870 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 0 + %t10871 = load i32, ptr %t10868 + %t10872 = load i32, ptr %t10869 + %t10873 = icmp sge i32 %t10871, %t10872 + br i1 %t10873, label %grow2243, label %put2244 +grow2243: + %t10874 = mul i32 %t10872, 2 + %t10875 = icmp eq i32 %t10872, 0 + %t10876 = select i1 %t10875, i32 8, i32 %t10874 + %t10877 = getelementptr ptr, ptr null, i32 1 + %t10878 = ptrtoint ptr %t10877 to i64 + %t10879 = zext i32 %t10876 to i64 + %t10880 = mul i64 %t10879, %t10878 + %t10881 = load ptr, ptr %t10870 + %t10882 = call ptr @realloc(ptr %t10881, i64 %t10880) + store ptr %t10882, ptr %t10870 + store i32 %t10876, ptr %t10869 + br label %put2244 +put2244: + %t10883 = load ptr, ptr %t10870 + %t10884 = getelementptr inbounds ptr, ptr %t10883, i32 %t10871 + store ptr @.str7626, ptr %t10884 + %t10885 = add i32 %t10871, 1 + store i32 %t10885, ptr %t10868 + br label %ifend2242 +ifend2242: + %t10886 = load ptr, ptr %t1 + %t10887 = call i32 @fn_str_eq(ptr %t10886, ptr @.str7627) + %t10888 = icmp ne i32 %t10887, 0 + br i1 %t10888, label %then2245, label %ifend2247 +then2245: + store ptr @.str7628, ptr %t380 + %t10889 = load ptr, ptr %t387 + %t10890 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 1 + %t10891 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 2 + %t10892 = getelementptr inbounds %LSlice, ptr %t10889, i32 0, i32 0 + %t10893 = load i32, ptr %t10890 + %t10894 = load i32, ptr %t10891 + %t10895 = icmp sge i32 %t10893, %t10894 + br i1 %t10895, label %grow2248, label %put2249 +grow2248: + %t10896 = mul i32 %t10894, 2 + %t10897 = icmp eq i32 %t10894, 0 + %t10898 = select i1 %t10897, i32 8, i32 %t10896 + %t10899 = getelementptr ptr, ptr null, i32 1 + %t10900 = ptrtoint ptr %t10899 to i64 + %t10901 = zext i32 %t10898 to i64 + %t10902 = mul i64 %t10901, %t10900 + %t10903 = load ptr, ptr %t10892 + %t10904 = call ptr @realloc(ptr %t10903, i64 %t10902) + store ptr %t10904, ptr %t10892 + store i32 %t10898, ptr %t10891 + br label %put2249 +put2249: + %t10905 = load ptr, ptr %t10892 + %t10906 = getelementptr inbounds ptr, ptr %t10905, i32 %t10893 + store ptr @.str7629, ptr %t10906 + %t10907 = add i32 %t10893, 1 + store i32 %t10907, ptr %t10890 + %t10908 = load ptr, ptr %t387 + %t10909 = getelementptr inbounds %LSlice, ptr %t10908, i32 0, i32 1 + %t10910 = getelementptr inbounds %LSlice, ptr %t10908, i32 0, i32 2 + %t10911 = getelementptr inbounds %LSlice, ptr %t10908, i32 0, i32 0 + %t10912 = load i32, ptr %t10909 + %t10913 = load i32, ptr %t10910 + %t10914 = icmp sge i32 %t10912, %t10913 + br i1 %t10914, label %grow2250, label %put2251 +grow2250: + %t10915 = mul i32 %t10913, 2 + %t10916 = icmp eq i32 %t10913, 0 + %t10917 = select i1 %t10916, i32 8, i32 %t10915 + %t10918 = getelementptr ptr, ptr null, i32 1 + %t10919 = ptrtoint ptr %t10918 to i64 + %t10920 = zext i32 %t10917 to i64 + %t10921 = mul i64 %t10920, %t10919 + %t10922 = load ptr, ptr %t10911 + %t10923 = call ptr @realloc(ptr %t10922, i64 %t10921) + store ptr %t10923, ptr %t10911 + store i32 %t10917, ptr %t10910 + br label %put2251 +put2251: + %t10924 = load ptr, ptr %t10911 + %t10925 = getelementptr inbounds ptr, ptr %t10924, i32 %t10912 + store ptr @.str7630, ptr %t10925 + %t10926 = add i32 %t10912, 1 + store i32 %t10926, ptr %t10909 + %t10927 = load ptr, ptr %t387 + %t10928 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 1 + %t10929 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 2 + %t10930 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 0 + %t10931 = load i32, ptr %t10928 + %t10932 = load i32, ptr %t10929 + %t10933 = icmp sge i32 %t10931, %t10932 + br i1 %t10933, label %grow2252, label %put2253 +grow2252: + %t10934 = mul i32 %t10932, 2 + %t10935 = icmp eq i32 %t10932, 0 + %t10936 = select i1 %t10935, i32 8, i32 %t10934 + %t10937 = getelementptr ptr, ptr null, i32 1 + %t10938 = ptrtoint ptr %t10937 to i64 + %t10939 = zext i32 %t10936 to i64 + %t10940 = mul i64 %t10939, %t10938 + %t10941 = load ptr, ptr %t10930 + %t10942 = call ptr @realloc(ptr %t10941, i64 %t10940) + store ptr %t10942, ptr %t10930 + store i32 %t10936, ptr %t10929 + br label %put2253 +put2253: + %t10943 = load ptr, ptr %t10930 + %t10944 = getelementptr inbounds ptr, ptr %t10943, i32 %t10931 + store ptr @.str7631, ptr %t10944 + %t10945 = add i32 %t10931, 1 + store i32 %t10945, ptr %t10928 + %t10946 = load ptr, ptr %t387 + %t10947 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 1 + %t10948 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 2 + %t10949 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 0 + %t10950 = load i32, ptr %t10947 + %t10951 = load i32, ptr %t10948 + %t10952 = icmp sge i32 %t10950, %t10951 + br i1 %t10952, label %grow2254, label %put2255 grow2254: - %t10876 = mul i32 %t10874, 2 - %t10877 = icmp eq i32 %t10874, 0 - %t10878 = select i1 %t10877, i32 8, i32 %t10876 - %t10879 = getelementptr ptr, ptr null, i32 1 - %t10880 = ptrtoint ptr %t10879 to i64 - %t10881 = zext i32 %t10878 to i64 - %t10882 = mul i64 %t10881, %t10880 - %t10883 = load ptr, ptr %t10872 - %t10884 = call ptr @realloc(ptr %t10883, i64 %t10882) - store ptr %t10884, ptr %t10872 - store i32 %t10878, ptr %t10871 + %t10953 = mul i32 %t10951, 2 + %t10954 = icmp eq i32 %t10951, 0 + %t10955 = select i1 %t10954, i32 8, i32 %t10953 + %t10956 = getelementptr ptr, ptr null, i32 1 + %t10957 = ptrtoint ptr %t10956 to i64 + %t10958 = zext i32 %t10955 to i64 + %t10959 = mul i64 %t10958, %t10957 + %t10960 = load ptr, ptr %t10949 + %t10961 = call ptr @realloc(ptr %t10960, i64 %t10959) + store ptr %t10961, ptr %t10949 + store i32 %t10955, ptr %t10948 br label %put2255 put2255: - %t10885 = load ptr, ptr %t10872 - %t10886 = getelementptr inbounds ptr, ptr %t10885, i32 %t10873 - store ptr @.str7311, ptr %t10886 - %t10887 = add i32 %t10873, 1 - store i32 %t10887, ptr %t10870 - br label %ifend2253 -ifend2253: - br label %ifend2162 -ifend2162: - %t10888 = load ptr, ptr %t0 - %t10889 = call i32 @fn_str_eq(ptr %t10888, ptr @.str7312) - %t10890 = icmp ne i32 %t10889, 0 - br i1 %t10890, label %then2256, label %ifend2258 -then2256: - %t10891 = load ptr, ptr %t1 - %t10892 = call i32 @fn_str_eq(ptr %t10891, ptr @.str7313) - %t10893 = icmp ne i32 %t10892, 0 - br i1 %t10893, label %then2259, label %ifend2261 -then2259: - store ptr @.str7314, ptr %t330 - %t10894 = load ptr, ptr %t337 - %t10895 = getelementptr inbounds %LSlice, ptr %t10894, i32 0, i32 1 - %t10896 = getelementptr inbounds %LSlice, ptr %t10894, i32 0, i32 2 - %t10897 = getelementptr inbounds %LSlice, ptr %t10894, i32 0, i32 0 - %t10898 = load i32, ptr %t10895 - %t10899 = load i32, ptr %t10896 - %t10900 = icmp sge i32 %t10898, %t10899 - br i1 %t10900, label %grow2262, label %put2263 -grow2262: - %t10901 = mul i32 %t10899, 2 - %t10902 = icmp eq i32 %t10899, 0 - %t10903 = select i1 %t10902, i32 8, i32 %t10901 - %t10904 = getelementptr ptr, ptr null, i32 1 - %t10905 = ptrtoint ptr %t10904 to i64 - %t10906 = zext i32 %t10903 to i64 - %t10907 = mul i64 %t10906, %t10905 - %t10908 = load ptr, ptr %t10897 - %t10909 = call ptr @realloc(ptr %t10908, i64 %t10907) - store ptr %t10909, ptr %t10897 - store i32 %t10903, ptr %t10896 - br label %put2263 -put2263: - %t10910 = load ptr, ptr %t10897 - %t10911 = getelementptr inbounds ptr, ptr %t10910, i32 %t10898 - store ptr @.str7315, ptr %t10911 - %t10912 = add i32 %t10898, 1 - store i32 %t10912, ptr %t10895 - br label %ifend2261 -ifend2261: - %t10913 = load ptr, ptr %t1 - %t10914 = call i32 @fn_str_eq(ptr %t10913, ptr @.str7316) - %t10915 = icmp ne i32 %t10914, 0 - br i1 %t10915, label %then2264, label %ifend2266 -then2264: - store ptr @.str7317, ptr %t330 - %t10916 = load ptr, ptr %t337 - %t10917 = getelementptr inbounds %LSlice, ptr %t10916, i32 0, i32 1 - %t10918 = getelementptr inbounds %LSlice, ptr %t10916, i32 0, i32 2 - %t10919 = getelementptr inbounds %LSlice, ptr %t10916, i32 0, i32 0 - %t10920 = load i32, ptr %t10917 - %t10921 = load i32, ptr %t10918 - %t10922 = icmp sge i32 %t10920, %t10921 - br i1 %t10922, label %grow2267, label %put2268 -grow2267: - %t10923 = mul i32 %t10921, 2 - %t10924 = icmp eq i32 %t10921, 0 - %t10925 = select i1 %t10924, i32 8, i32 %t10923 - %t10926 = getelementptr ptr, ptr null, i32 1 - %t10927 = ptrtoint ptr %t10926 to i64 - %t10928 = zext i32 %t10925 to i64 - %t10929 = mul i64 %t10928, %t10927 - %t10930 = load ptr, ptr %t10919 - %t10931 = call ptr @realloc(ptr %t10930, i64 %t10929) - store ptr %t10931, ptr %t10919 - store i32 %t10925, ptr %t10918 - br label %put2268 -put2268: - %t10932 = load ptr, ptr %t10919 - %t10933 = getelementptr inbounds ptr, ptr %t10932, i32 %t10920 - store ptr @.str7318, ptr %t10933 - %t10934 = add i32 %t10920, 1 - store i32 %t10934, ptr %t10917 - br label %ifend2266 -ifend2266: - br label %ifend2258 -ifend2258: - %t10935 = load ptr, ptr %t0 - %t10936 = call i32 @fn_str_eq(ptr %t10935, ptr @.str7319) - %t10937 = icmp ne i32 %t10936, 0 - br i1 %t10937, label %then2269, label %ifend2271 -then2269: - %t10938 = load ptr, ptr %t1 - %t10939 = call i32 @fn_str_eq(ptr %t10938, ptr @.str7320) - %t10940 = icmp ne i32 %t10939, 0 - br i1 %t10940, label %then2272, label %ifend2274 -then2272: - store ptr @.str7321, ptr %t330 - %t10941 = load ptr, ptr %t337 - %t10942 = getelementptr inbounds %LSlice, ptr %t10941, i32 0, i32 1 - %t10943 = getelementptr inbounds %LSlice, ptr %t10941, i32 0, i32 2 - %t10944 = getelementptr inbounds %LSlice, ptr %t10941, i32 0, i32 0 - %t10945 = load i32, ptr %t10942 - %t10946 = load i32, ptr %t10943 - %t10947 = icmp sge i32 %t10945, %t10946 - br i1 %t10947, label %grow2275, label %put2276 -grow2275: - %t10948 = mul i32 %t10946, 2 - %t10949 = icmp eq i32 %t10946, 0 - %t10950 = select i1 %t10949, i32 8, i32 %t10948 - %t10951 = getelementptr ptr, ptr null, i32 1 - %t10952 = ptrtoint ptr %t10951 to i64 - %t10953 = zext i32 %t10950 to i64 - %t10954 = mul i64 %t10953, %t10952 - %t10955 = load ptr, ptr %t10944 - %t10956 = call ptr @realloc(ptr %t10955, i64 %t10954) - store ptr %t10956, ptr %t10944 - store i32 %t10950, ptr %t10943 - br label %put2276 -put2276: - %t10957 = load ptr, ptr %t10944 - %t10958 = getelementptr inbounds ptr, ptr %t10957, i32 %t10945 - store ptr @.str7322, ptr %t10958 - %t10959 = add i32 %t10945, 1 - store i32 %t10959, ptr %t10942 - br label %ifend2274 -ifend2274: - %t10960 = load ptr, ptr %t1 - %t10961 = call i32 @fn_str_eq(ptr %t10960, ptr @.str7323) - %t10962 = icmp ne i32 %t10961, 0 - br i1 %t10962, label %then2277, label %ifend2279 -then2277: - store ptr @.str7324, ptr %t330 - %t10963 = load ptr, ptr %t337 - %t10964 = getelementptr inbounds %LSlice, ptr %t10963, i32 0, i32 1 - %t10965 = getelementptr inbounds %LSlice, ptr %t10963, i32 0, i32 2 - %t10966 = getelementptr inbounds %LSlice, ptr %t10963, i32 0, i32 0 - %t10967 = load i32, ptr %t10964 - %t10968 = load i32, ptr %t10965 - %t10969 = icmp sge i32 %t10967, %t10968 - br i1 %t10969, label %grow2280, label %put2281 + %t10962 = load ptr, ptr %t10949 + %t10963 = getelementptr inbounds ptr, ptr %t10962, i32 %t10950 + store ptr @.str7632, ptr %t10963 + %t10964 = add i32 %t10950, 1 + store i32 %t10964, ptr %t10947 + %t10965 = load ptr, ptr %t387 + %t10966 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 1 + %t10967 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 2 + %t10968 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 0 + %t10969 = load i32, ptr %t10966 + %t10970 = load i32, ptr %t10967 + %t10971 = icmp sge i32 %t10969, %t10970 + br i1 %t10971, label %grow2256, label %put2257 +grow2256: + %t10972 = mul i32 %t10970, 2 + %t10973 = icmp eq i32 %t10970, 0 + %t10974 = select i1 %t10973, i32 8, i32 %t10972 + %t10975 = getelementptr ptr, ptr null, i32 1 + %t10976 = ptrtoint ptr %t10975 to i64 + %t10977 = zext i32 %t10974 to i64 + %t10978 = mul i64 %t10977, %t10976 + %t10979 = load ptr, ptr %t10968 + %t10980 = call ptr @realloc(ptr %t10979, i64 %t10978) + store ptr %t10980, ptr %t10968 + store i32 %t10974, ptr %t10967 + br label %put2257 +put2257: + %t10981 = load ptr, ptr %t10968 + %t10982 = getelementptr inbounds ptr, ptr %t10981, i32 %t10969 + store ptr @.str7633, ptr %t10982 + %t10983 = add i32 %t10969, 1 + store i32 %t10983, ptr %t10966 + %t10984 = load ptr, ptr %t387 + %t10985 = getelementptr inbounds %LSlice, ptr %t10984, i32 0, i32 1 + %t10986 = getelementptr inbounds %LSlice, ptr %t10984, i32 0, i32 2 + %t10987 = getelementptr inbounds %LSlice, ptr %t10984, i32 0, i32 0 + %t10988 = load i32, ptr %t10985 + %t10989 = load i32, ptr %t10986 + %t10990 = icmp sge i32 %t10988, %t10989 + br i1 %t10990, label %grow2258, label %put2259 +grow2258: + %t10991 = mul i32 %t10989, 2 + %t10992 = icmp eq i32 %t10989, 0 + %t10993 = select i1 %t10992, i32 8, i32 %t10991 + %t10994 = getelementptr ptr, ptr null, i32 1 + %t10995 = ptrtoint ptr %t10994 to i64 + %t10996 = zext i32 %t10993 to i64 + %t10997 = mul i64 %t10996, %t10995 + %t10998 = load ptr, ptr %t10987 + %t10999 = call ptr @realloc(ptr %t10998, i64 %t10997) + store ptr %t10999, ptr %t10987 + store i32 %t10993, ptr %t10986 + br label %put2259 +put2259: + %t11000 = load ptr, ptr %t10987 + %t11001 = getelementptr inbounds ptr, ptr %t11000, i32 %t10988 + store ptr @.str7634, ptr %t11001 + %t11002 = add i32 %t10988, 1 + store i32 %t11002, ptr %t10985 + br label %ifend2247 +ifend2247: + %t11003 = load ptr, ptr %t1 + %t11004 = call i32 @fn_str_eq(ptr %t11003, ptr @.str7635) + %t11005 = icmp ne i32 %t11004, 0 + br i1 %t11005, label %then2260, label %ifend2262 +then2260: + store ptr @.str7636, ptr %t380 + br label %ifend2262 +ifend2262: + %t11006 = load ptr, ptr %t1 + %t11007 = call i32 @fn_str_eq(ptr %t11006, ptr @.str7637) + %t11008 = icmp ne i32 %t11007, 0 + br i1 %t11008, label %then2263, label %ifend2265 +then2263: + store ptr @.str7638, ptr %t380 + %t11009 = load ptr, ptr %t387 + %t11010 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 1 + %t11011 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 2 + %t11012 = getelementptr inbounds %LSlice, ptr %t11009, i32 0, i32 0 + %t11013 = load i32, ptr %t11010 + %t11014 = load i32, ptr %t11011 + %t11015 = icmp sge i32 %t11013, %t11014 + br i1 %t11015, label %grow2266, label %put2267 +grow2266: + %t11016 = mul i32 %t11014, 2 + %t11017 = icmp eq i32 %t11014, 0 + %t11018 = select i1 %t11017, i32 8, i32 %t11016 + %t11019 = getelementptr ptr, ptr null, i32 1 + %t11020 = ptrtoint ptr %t11019 to i64 + %t11021 = zext i32 %t11018 to i64 + %t11022 = mul i64 %t11021, %t11020 + %t11023 = load ptr, ptr %t11012 + %t11024 = call ptr @realloc(ptr %t11023, i64 %t11022) + store ptr %t11024, ptr %t11012 + store i32 %t11018, ptr %t11011 + br label %put2267 +put2267: + %t11025 = load ptr, ptr %t11012 + %t11026 = getelementptr inbounds ptr, ptr %t11025, i32 %t11013 + store ptr @.str7639, ptr %t11026 + %t11027 = add i32 %t11013, 1 + store i32 %t11027, ptr %t11010 + br label %ifend2265 +ifend2265: + br label %ifend2172 +ifend2172: + %t11028 = load ptr, ptr %t0 + %t11029 = call i32 @fn_str_eq(ptr %t11028, ptr @.str7640) + %t11030 = icmp ne i32 %t11029, 0 + br i1 %t11030, label %then2268, label %ifend2270 +then2268: + %t11031 = load ptr, ptr %t1 + %t11032 = call i32 @fn_str_eq(ptr %t11031, ptr @.str7641) + %t11033 = icmp ne i32 %t11032, 0 + br i1 %t11033, label %then2271, label %ifend2273 +then2271: + store ptr @.str7642, ptr %t380 + %t11034 = load ptr, ptr %t387 + %t11035 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 1 + %t11036 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 2 + %t11037 = getelementptr inbounds %LSlice, ptr %t11034, i32 0, i32 0 + %t11038 = load i32, ptr %t11035 + %t11039 = load i32, ptr %t11036 + %t11040 = icmp sge i32 %t11038, %t11039 + br i1 %t11040, label %grow2274, label %put2275 +grow2274: + %t11041 = mul i32 %t11039, 2 + %t11042 = icmp eq i32 %t11039, 0 + %t11043 = select i1 %t11042, i32 8, i32 %t11041 + %t11044 = getelementptr ptr, ptr null, i32 1 + %t11045 = ptrtoint ptr %t11044 to i64 + %t11046 = zext i32 %t11043 to i64 + %t11047 = mul i64 %t11046, %t11045 + %t11048 = load ptr, ptr %t11037 + %t11049 = call ptr @realloc(ptr %t11048, i64 %t11047) + store ptr %t11049, ptr %t11037 + store i32 %t11043, ptr %t11036 + br label %put2275 +put2275: + %t11050 = load ptr, ptr %t11037 + %t11051 = getelementptr inbounds ptr, ptr %t11050, i32 %t11038 + store ptr @.str7643, ptr %t11051 + %t11052 = add i32 %t11038, 1 + store i32 %t11052, ptr %t11035 + %t11053 = load ptr, ptr %t387 + %t11054 = getelementptr inbounds %LSlice, ptr %t11053, i32 0, i32 1 + %t11055 = getelementptr inbounds %LSlice, ptr %t11053, i32 0, i32 2 + %t11056 = getelementptr inbounds %LSlice, ptr %t11053, i32 0, i32 0 + %t11057 = load i32, ptr %t11054 + %t11058 = load i32, ptr %t11055 + %t11059 = icmp sge i32 %t11057, %t11058 + br i1 %t11059, label %grow2276, label %put2277 +grow2276: + %t11060 = mul i32 %t11058, 2 + %t11061 = icmp eq i32 %t11058, 0 + %t11062 = select i1 %t11061, i32 8, i32 %t11060 + %t11063 = getelementptr ptr, ptr null, i32 1 + %t11064 = ptrtoint ptr %t11063 to i64 + %t11065 = zext i32 %t11062 to i64 + %t11066 = mul i64 %t11065, %t11064 + %t11067 = load ptr, ptr %t11056 + %t11068 = call ptr @realloc(ptr %t11067, i64 %t11066) + store ptr %t11068, ptr %t11056 + store i32 %t11062, ptr %t11055 + br label %put2277 +put2277: + %t11069 = load ptr, ptr %t11056 + %t11070 = getelementptr inbounds ptr, ptr %t11069, i32 %t11057 + store ptr @.str7644, ptr %t11070 + %t11071 = add i32 %t11057, 1 + store i32 %t11071, ptr %t11054 + %t11072 = load ptr, ptr %t387 + %t11073 = getelementptr inbounds %LSlice, ptr %t11072, i32 0, i32 1 + %t11074 = getelementptr inbounds %LSlice, ptr %t11072, i32 0, i32 2 + %t11075 = getelementptr inbounds %LSlice, ptr %t11072, i32 0, i32 0 + %t11076 = load i32, ptr %t11073 + %t11077 = load i32, ptr %t11074 + %t11078 = icmp sge i32 %t11076, %t11077 + br i1 %t11078, label %grow2278, label %put2279 +grow2278: + %t11079 = mul i32 %t11077, 2 + %t11080 = icmp eq i32 %t11077, 0 + %t11081 = select i1 %t11080, i32 8, i32 %t11079 + %t11082 = getelementptr ptr, ptr null, i32 1 + %t11083 = ptrtoint ptr %t11082 to i64 + %t11084 = zext i32 %t11081 to i64 + %t11085 = mul i64 %t11084, %t11083 + %t11086 = load ptr, ptr %t11075 + %t11087 = call ptr @realloc(ptr %t11086, i64 %t11085) + store ptr %t11087, ptr %t11075 + store i32 %t11081, ptr %t11074 + br label %put2279 +put2279: + %t11088 = load ptr, ptr %t11075 + %t11089 = getelementptr inbounds ptr, ptr %t11088, i32 %t11076 + store ptr @.str7645, ptr %t11089 + %t11090 = add i32 %t11076, 1 + store i32 %t11090, ptr %t11073 + %t11091 = load ptr, ptr %t387 + %t11092 = getelementptr inbounds %LSlice, ptr %t11091, i32 0, i32 1 + %t11093 = getelementptr inbounds %LSlice, ptr %t11091, i32 0, i32 2 + %t11094 = getelementptr inbounds %LSlice, ptr %t11091, i32 0, i32 0 + %t11095 = load i32, ptr %t11092 + %t11096 = load i32, ptr %t11093 + %t11097 = icmp sge i32 %t11095, %t11096 + br i1 %t11097, label %grow2280, label %put2281 grow2280: - %t10970 = mul i32 %t10968, 2 - %t10971 = icmp eq i32 %t10968, 0 - %t10972 = select i1 %t10971, i32 8, i32 %t10970 - %t10973 = getelementptr ptr, ptr null, i32 1 - %t10974 = ptrtoint ptr %t10973 to i64 - %t10975 = zext i32 %t10972 to i64 - %t10976 = mul i64 %t10975, %t10974 - %t10977 = load ptr, ptr %t10966 - %t10978 = call ptr @realloc(ptr %t10977, i64 %t10976) - store ptr %t10978, ptr %t10966 - store i32 %t10972, ptr %t10965 + %t11098 = mul i32 %t11096, 2 + %t11099 = icmp eq i32 %t11096, 0 + %t11100 = select i1 %t11099, i32 8, i32 %t11098 + %t11101 = getelementptr ptr, ptr null, i32 1 + %t11102 = ptrtoint ptr %t11101 to i64 + %t11103 = zext i32 %t11100 to i64 + %t11104 = mul i64 %t11103, %t11102 + %t11105 = load ptr, ptr %t11094 + %t11106 = call ptr @realloc(ptr %t11105, i64 %t11104) + store ptr %t11106, ptr %t11094 + store i32 %t11100, ptr %t11093 br label %put2281 put2281: - %t10979 = load ptr, ptr %t10966 - %t10980 = getelementptr inbounds ptr, ptr %t10979, i32 %t10967 - store ptr @.str7325, ptr %t10980 - %t10981 = add i32 %t10967, 1 - store i32 %t10981, ptr %t10964 - br label %ifend2279 -ifend2279: - %t10982 = load ptr, ptr %t1 - %t10983 = call i32 @fn_str_eq(ptr %t10982, ptr @.str7326) - %t10984 = icmp ne i32 %t10983, 0 - br i1 %t10984, label %then2282, label %ifend2284 + %t11107 = load ptr, ptr %t11094 + %t11108 = getelementptr inbounds ptr, ptr %t11107, i32 %t11095 + store ptr @.str7646, ptr %t11108 + %t11109 = add i32 %t11095, 1 + store i32 %t11109, ptr %t11092 + br label %ifend2273 +ifend2273: + %t11110 = load ptr, ptr %t1 + %t11111 = call i32 @fn_str_eq(ptr %t11110, ptr @.str7647) + %t11112 = icmp ne i32 %t11111, 0 + br i1 %t11112, label %then2282, label %ifend2284 then2282: - store ptr @.str7327, ptr %t330 - %t10985 = load ptr, ptr %t337 - %t10986 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 1 - %t10987 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 2 - %t10988 = getelementptr inbounds %LSlice, ptr %t10985, i32 0, i32 0 - %t10989 = load i32, ptr %t10986 - %t10990 = load i32, ptr %t10987 - %t10991 = icmp sge i32 %t10989, %t10990 - br i1 %t10991, label %grow2285, label %put2286 + store ptr @.str7648, ptr %t380 + %t11113 = load ptr, ptr %t387 + %t11114 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 1 + %t11115 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 2 + %t11116 = getelementptr inbounds %LSlice, ptr %t11113, i32 0, i32 0 + %t11117 = load i32, ptr %t11114 + %t11118 = load i32, ptr %t11115 + %t11119 = icmp sge i32 %t11117, %t11118 + br i1 %t11119, label %grow2285, label %put2286 grow2285: - %t10992 = mul i32 %t10990, 2 - %t10993 = icmp eq i32 %t10990, 0 - %t10994 = select i1 %t10993, i32 8, i32 %t10992 - %t10995 = getelementptr ptr, ptr null, i32 1 - %t10996 = ptrtoint ptr %t10995 to i64 - %t10997 = zext i32 %t10994 to i64 - %t10998 = mul i64 %t10997, %t10996 - %t10999 = load ptr, ptr %t10988 - %t11000 = call ptr @realloc(ptr %t10999, i64 %t10998) - store ptr %t11000, ptr %t10988 - store i32 %t10994, ptr %t10987 + %t11120 = mul i32 %t11118, 2 + %t11121 = icmp eq i32 %t11118, 0 + %t11122 = select i1 %t11121, i32 8, i32 %t11120 + %t11123 = getelementptr ptr, ptr null, i32 1 + %t11124 = ptrtoint ptr %t11123 to i64 + %t11125 = zext i32 %t11122 to i64 + %t11126 = mul i64 %t11125, %t11124 + %t11127 = load ptr, ptr %t11116 + %t11128 = call ptr @realloc(ptr %t11127, i64 %t11126) + store ptr %t11128, ptr %t11116 + store i32 %t11122, ptr %t11115 br label %put2286 put2286: - %t11001 = load ptr, ptr %t10988 - %t11002 = getelementptr inbounds ptr, ptr %t11001, i32 %t10989 - store ptr @.str7328, ptr %t11002 - %t11003 = add i32 %t10989, 1 - store i32 %t11003, ptr %t10986 + %t11129 = load ptr, ptr %t11116 + %t11130 = getelementptr inbounds ptr, ptr %t11129, i32 %t11117 + store ptr @.str7649, ptr %t11130 + %t11131 = add i32 %t11117, 1 + store i32 %t11131, ptr %t11114 + %t11132 = load ptr, ptr %t387 + %t11133 = getelementptr inbounds %LSlice, ptr %t11132, i32 0, i32 1 + %t11134 = getelementptr inbounds %LSlice, ptr %t11132, i32 0, i32 2 + %t11135 = getelementptr inbounds %LSlice, ptr %t11132, i32 0, i32 0 + %t11136 = load i32, ptr %t11133 + %t11137 = load i32, ptr %t11134 + %t11138 = icmp sge i32 %t11136, %t11137 + br i1 %t11138, label %grow2287, label %put2288 +grow2287: + %t11139 = mul i32 %t11137, 2 + %t11140 = icmp eq i32 %t11137, 0 + %t11141 = select i1 %t11140, i32 8, i32 %t11139 + %t11142 = getelementptr ptr, ptr null, i32 1 + %t11143 = ptrtoint ptr %t11142 to i64 + %t11144 = zext i32 %t11141 to i64 + %t11145 = mul i64 %t11144, %t11143 + %t11146 = load ptr, ptr %t11135 + %t11147 = call ptr @realloc(ptr %t11146, i64 %t11145) + store ptr %t11147, ptr %t11135 + store i32 %t11141, ptr %t11134 + br label %put2288 +put2288: + %t11148 = load ptr, ptr %t11135 + %t11149 = getelementptr inbounds ptr, ptr %t11148, i32 %t11136 + store ptr @.str7650, ptr %t11149 + %t11150 = add i32 %t11136, 1 + store i32 %t11150, ptr %t11133 br label %ifend2284 ifend2284: - %t11004 = load ptr, ptr %t1 - %t11005 = call i32 @fn_str_eq(ptr %t11004, ptr @.str7329) - %t11006 = icmp ne i32 %t11005, 0 - br i1 %t11006, label %then2287, label %ifend2289 -then2287: - store ptr @.str7330, ptr %t330 - %t11007 = load ptr, ptr %t337 - %t11008 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 1 - %t11009 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 2 - %t11010 = getelementptr inbounds %LSlice, ptr %t11007, i32 0, i32 0 - %t11011 = load i32, ptr %t11008 - %t11012 = load i32, ptr %t11009 - %t11013 = icmp sge i32 %t11011, %t11012 - br i1 %t11013, label %grow2290, label %put2291 -grow2290: - %t11014 = mul i32 %t11012, 2 - %t11015 = icmp eq i32 %t11012, 0 - %t11016 = select i1 %t11015, i32 8, i32 %t11014 - %t11017 = getelementptr ptr, ptr null, i32 1 - %t11018 = ptrtoint ptr %t11017 to i64 - %t11019 = zext i32 %t11016 to i64 - %t11020 = mul i64 %t11019, %t11018 - %t11021 = load ptr, ptr %t11010 - %t11022 = call ptr @realloc(ptr %t11021, i64 %t11020) - store ptr %t11022, ptr %t11010 - store i32 %t11016, ptr %t11009 - br label %put2291 -put2291: - %t11023 = load ptr, ptr %t11010 - %t11024 = getelementptr inbounds ptr, ptr %t11023, i32 %t11011 - store ptr @.str7331, ptr %t11024 - %t11025 = add i32 %t11011, 1 - store i32 %t11025, ptr %t11008 - %t11026 = load ptr, ptr %t337 - %t11027 = getelementptr inbounds %LSlice, ptr %t11026, i32 0, i32 1 - %t11028 = getelementptr inbounds %LSlice, ptr %t11026, i32 0, i32 2 - %t11029 = getelementptr inbounds %LSlice, ptr %t11026, i32 0, i32 0 - %t11030 = load i32, ptr %t11027 - %t11031 = load i32, ptr %t11028 - %t11032 = icmp sge i32 %t11030, %t11031 - br i1 %t11032, label %grow2292, label %put2293 + %t11151 = load ptr, ptr %t1 + %t11152 = call i32 @fn_str_eq(ptr %t11151, ptr @.str7651) + %t11153 = icmp ne i32 %t11152, 0 + br i1 %t11153, label %then2289, label %ifend2291 +then2289: + store ptr @.str7652, ptr %t380 + %t11154 = load ptr, ptr %t387 + %t11155 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 1 + %t11156 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 2 + %t11157 = getelementptr inbounds %LSlice, ptr %t11154, i32 0, i32 0 + %t11158 = load i32, ptr %t11155 + %t11159 = load i32, ptr %t11156 + %t11160 = icmp sge i32 %t11158, %t11159 + br i1 %t11160, label %grow2292, label %put2293 grow2292: - %t11033 = mul i32 %t11031, 2 - %t11034 = icmp eq i32 %t11031, 0 - %t11035 = select i1 %t11034, i32 8, i32 %t11033 - %t11036 = getelementptr ptr, ptr null, i32 1 - %t11037 = ptrtoint ptr %t11036 to i64 - %t11038 = zext i32 %t11035 to i64 - %t11039 = mul i64 %t11038, %t11037 - %t11040 = load ptr, ptr %t11029 - %t11041 = call ptr @realloc(ptr %t11040, i64 %t11039) - store ptr %t11041, ptr %t11029 - store i32 %t11035, ptr %t11028 + %t11161 = mul i32 %t11159, 2 + %t11162 = icmp eq i32 %t11159, 0 + %t11163 = select i1 %t11162, i32 8, i32 %t11161 + %t11164 = getelementptr ptr, ptr null, i32 1 + %t11165 = ptrtoint ptr %t11164 to i64 + %t11166 = zext i32 %t11163 to i64 + %t11167 = mul i64 %t11166, %t11165 + %t11168 = load ptr, ptr %t11157 + %t11169 = call ptr @realloc(ptr %t11168, i64 %t11167) + store ptr %t11169, ptr %t11157 + store i32 %t11163, ptr %t11156 br label %put2293 put2293: - %t11042 = load ptr, ptr %t11029 - %t11043 = getelementptr inbounds ptr, ptr %t11042, i32 %t11030 - store ptr @.str7332, ptr %t11043 - %t11044 = add i32 %t11030, 1 - store i32 %t11044, ptr %t11027 - br label %ifend2289 -ifend2289: - %t11045 = load ptr, ptr %t1 - %t11046 = call i32 @fn_str_eq(ptr %t11045, ptr @.str7333) - %t11047 = icmp ne i32 %t11046, 0 - br i1 %t11047, label %then2294, label %ifend2296 + %t11170 = load ptr, ptr %t11157 + %t11171 = getelementptr inbounds ptr, ptr %t11170, i32 %t11158 + store ptr @.str7653, ptr %t11171 + %t11172 = add i32 %t11158, 1 + store i32 %t11172, ptr %t11155 + br label %ifend2291 +ifend2291: + %t11173 = load ptr, ptr %t1 + %t11174 = call i32 @fn_str_eq(ptr %t11173, ptr @.str7654) + %t11175 = icmp ne i32 %t11174, 0 + br i1 %t11175, label %then2294, label %ifend2296 then2294: - store ptr @.str7334, ptr %t330 - %t11048 = load ptr, ptr %t337 - %t11049 = getelementptr inbounds %LSlice, ptr %t11048, i32 0, i32 1 - %t11050 = getelementptr inbounds %LSlice, ptr %t11048, i32 0, i32 2 - %t11051 = getelementptr inbounds %LSlice, ptr %t11048, i32 0, i32 0 - %t11052 = load i32, ptr %t11049 - %t11053 = load i32, ptr %t11050 - %t11054 = icmp sge i32 %t11052, %t11053 - br i1 %t11054, label %grow2297, label %put2298 -grow2297: - %t11055 = mul i32 %t11053, 2 - %t11056 = icmp eq i32 %t11053, 0 - %t11057 = select i1 %t11056, i32 8, i32 %t11055 - %t11058 = getelementptr ptr, ptr null, i32 1 - %t11059 = ptrtoint ptr %t11058 to i64 - %t11060 = zext i32 %t11057 to i64 - %t11061 = mul i64 %t11060, %t11059 - %t11062 = load ptr, ptr %t11051 - %t11063 = call ptr @realloc(ptr %t11062, i64 %t11061) - store ptr %t11063, ptr %t11051 - store i32 %t11057, ptr %t11050 - br label %put2298 -put2298: - %t11064 = load ptr, ptr %t11051 - %t11065 = getelementptr inbounds ptr, ptr %t11064, i32 %t11052 - store ptr @.str7335, ptr %t11065 - %t11066 = add i32 %t11052, 1 - store i32 %t11066, ptr %t11049 - %t11067 = load ptr, ptr %t337 - %t11068 = getelementptr inbounds %LSlice, ptr %t11067, i32 0, i32 1 - %t11069 = getelementptr inbounds %LSlice, ptr %t11067, i32 0, i32 2 - %t11070 = getelementptr inbounds %LSlice, ptr %t11067, i32 0, i32 0 - %t11071 = load i32, ptr %t11068 - %t11072 = load i32, ptr %t11069 - %t11073 = icmp sge i32 %t11071, %t11072 - br i1 %t11073, label %grow2299, label %put2300 -grow2299: - %t11074 = mul i32 %t11072, 2 - %t11075 = icmp eq i32 %t11072, 0 - %t11076 = select i1 %t11075, i32 8, i32 %t11074 - %t11077 = getelementptr ptr, ptr null, i32 1 - %t11078 = ptrtoint ptr %t11077 to i64 - %t11079 = zext i32 %t11076 to i64 - %t11080 = mul i64 %t11079, %t11078 - %t11081 = load ptr, ptr %t11070 - %t11082 = call ptr @realloc(ptr %t11081, i64 %t11080) - store ptr %t11082, ptr %t11070 - store i32 %t11076, ptr %t11069 - br label %put2300 -put2300: - %t11083 = load ptr, ptr %t11070 - %t11084 = getelementptr inbounds ptr, ptr %t11083, i32 %t11071 - store ptr @.str7336, ptr %t11084 - %t11085 = add i32 %t11071, 1 - store i32 %t11085, ptr %t11068 - %t11086 = load ptr, ptr %t337 - %t11087 = getelementptr inbounds %LSlice, ptr %t11086, i32 0, i32 1 - %t11088 = getelementptr inbounds %LSlice, ptr %t11086, i32 0, i32 2 - %t11089 = getelementptr inbounds %LSlice, ptr %t11086, i32 0, i32 0 - %t11090 = load i32, ptr %t11087 - %t11091 = load i32, ptr %t11088 - %t11092 = icmp sge i32 %t11090, %t11091 - br i1 %t11092, label %grow2301, label %put2302 -grow2301: - %t11093 = mul i32 %t11091, 2 - %t11094 = icmp eq i32 %t11091, 0 - %t11095 = select i1 %t11094, i32 8, i32 %t11093 - %t11096 = getelementptr ptr, ptr null, i32 1 - %t11097 = ptrtoint ptr %t11096 to i64 - %t11098 = zext i32 %t11095 to i64 - %t11099 = mul i64 %t11098, %t11097 - %t11100 = load ptr, ptr %t11089 - %t11101 = call ptr @realloc(ptr %t11100, i64 %t11099) - store ptr %t11101, ptr %t11089 - store i32 %t11095, ptr %t11088 - br label %put2302 -put2302: - %t11102 = load ptr, ptr %t11089 - %t11103 = getelementptr inbounds ptr, ptr %t11102, i32 %t11090 - store ptr @.str7337, ptr %t11103 - %t11104 = add i32 %t11090, 1 - store i32 %t11104, ptr %t11087 - br label %ifend2296 -ifend2296: - %t11105 = load ptr, ptr %t1 - %t11106 = call i32 @fn_str_eq(ptr %t11105, ptr @.str7338) - %t11107 = icmp ne i32 %t11106, 0 - br i1 %t11107, label %then2303, label %ifend2305 -then2303: - store ptr @.str7339, ptr %t330 - %t11108 = load ptr, ptr %t337 - %t11109 = getelementptr inbounds %LSlice, ptr %t11108, i32 0, i32 1 - %t11110 = getelementptr inbounds %LSlice, ptr %t11108, i32 0, i32 2 - %t11111 = getelementptr inbounds %LSlice, ptr %t11108, i32 0, i32 0 - %t11112 = load i32, ptr %t11109 - %t11113 = load i32, ptr %t11110 - %t11114 = icmp sge i32 %t11112, %t11113 - br i1 %t11114, label %grow2306, label %put2307 + %t11176 = load ptr, ptr %t2 + %t11177 = getelementptr inbounds %Cmp_Node, ptr %t11176, i32 0, i32 7 + %t11178 = load ptr, ptr %t11177 + %t11179 = getelementptr inbounds %LSlice, ptr %t11178, i32 0, i32 1 + %t11180 = load i32, ptr %t11179 + %t11181 = icmp eq i32 %t11180, 2 + %t11182 = zext i1 %t11181 to i32 + %t11183 = icmp ne i32 %t11182, 0 + br i1 %t11183, label %then2297, label %else2298 +then2297: + store ptr @.str7655, ptr %t380 + %t11184 = load ptr, ptr %t387 + %t11185 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 1 + %t11186 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 2 + %t11187 = getelementptr inbounds %LSlice, ptr %t11184, i32 0, i32 0 + %t11188 = load i32, ptr %t11185 + %t11189 = load i32, ptr %t11186 + %t11190 = icmp sge i32 %t11188, %t11189 + br i1 %t11190, label %grow2300, label %put2301 +grow2300: + %t11191 = mul i32 %t11189, 2 + %t11192 = icmp eq i32 %t11189, 0 + %t11193 = select i1 %t11192, i32 8, i32 %t11191 + %t11194 = getelementptr ptr, ptr null, i32 1 + %t11195 = ptrtoint ptr %t11194 to i64 + %t11196 = zext i32 %t11193 to i64 + %t11197 = mul i64 %t11196, %t11195 + %t11198 = load ptr, ptr %t11187 + %t11199 = call ptr @realloc(ptr %t11198, i64 %t11197) + store ptr %t11199, ptr %t11187 + store i32 %t11193, ptr %t11186 + br label %put2301 +put2301: + %t11200 = load ptr, ptr %t11187 + %t11201 = getelementptr inbounds ptr, ptr %t11200, i32 %t11188 + store ptr @.str7656, ptr %t11201 + %t11202 = add i32 %t11188, 1 + store i32 %t11202, ptr %t11185 + %t11203 = load ptr, ptr %t387 + %t11204 = getelementptr inbounds %LSlice, ptr %t11203, i32 0, i32 1 + %t11205 = getelementptr inbounds %LSlice, ptr %t11203, i32 0, i32 2 + %t11206 = getelementptr inbounds %LSlice, ptr %t11203, i32 0, i32 0 + %t11207 = load i32, ptr %t11204 + %t11208 = load i32, ptr %t11205 + %t11209 = icmp sge i32 %t11207, %t11208 + br i1 %t11209, label %grow2302, label %put2303 +grow2302: + %t11210 = mul i32 %t11208, 2 + %t11211 = icmp eq i32 %t11208, 0 + %t11212 = select i1 %t11211, i32 8, i32 %t11210 + %t11213 = getelementptr ptr, ptr null, i32 1 + %t11214 = ptrtoint ptr %t11213 to i64 + %t11215 = zext i32 %t11212 to i64 + %t11216 = mul i64 %t11215, %t11214 + %t11217 = load ptr, ptr %t11206 + %t11218 = call ptr @realloc(ptr %t11217, i64 %t11216) + store ptr %t11218, ptr %t11206 + store i32 %t11212, ptr %t11205 + br label %put2303 +put2303: + %t11219 = load ptr, ptr %t11206 + %t11220 = getelementptr inbounds ptr, ptr %t11219, i32 %t11207 + store ptr @.str7657, ptr %t11220 + %t11221 = add i32 %t11207, 1 + store i32 %t11221, ptr %t11204 + br label %ifend2299 +else2298: + store ptr @.str7658, ptr %t380 + %t11222 = load ptr, ptr %t387 + %t11223 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 1 + %t11224 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 2 + %t11225 = getelementptr inbounds %LSlice, ptr %t11222, i32 0, i32 0 + %t11226 = load i32, ptr %t11223 + %t11227 = load i32, ptr %t11224 + %t11228 = icmp sge i32 %t11226, %t11227 + br i1 %t11228, label %grow2304, label %put2305 +grow2304: + %t11229 = mul i32 %t11227, 2 + %t11230 = icmp eq i32 %t11227, 0 + %t11231 = select i1 %t11230, i32 8, i32 %t11229 + %t11232 = getelementptr ptr, ptr null, i32 1 + %t11233 = ptrtoint ptr %t11232 to i64 + %t11234 = zext i32 %t11231 to i64 + %t11235 = mul i64 %t11234, %t11233 + %t11236 = load ptr, ptr %t11225 + %t11237 = call ptr @realloc(ptr %t11236, i64 %t11235) + store ptr %t11237, ptr %t11225 + store i32 %t11231, ptr %t11224 + br label %put2305 +put2305: + %t11238 = load ptr, ptr %t11225 + %t11239 = getelementptr inbounds ptr, ptr %t11238, i32 %t11226 + store ptr @.str7659, ptr %t11239 + %t11240 = add i32 %t11226, 1 + store i32 %t11240, ptr %t11223 + %t11241 = load ptr, ptr %t387 + %t11242 = getelementptr inbounds %LSlice, ptr %t11241, i32 0, i32 1 + %t11243 = getelementptr inbounds %LSlice, ptr %t11241, i32 0, i32 2 + %t11244 = getelementptr inbounds %LSlice, ptr %t11241, i32 0, i32 0 + %t11245 = load i32, ptr %t11242 + %t11246 = load i32, ptr %t11243 + %t11247 = icmp sge i32 %t11245, %t11246 + br i1 %t11247, label %grow2306, label %put2307 grow2306: - %t11115 = mul i32 %t11113, 2 - %t11116 = icmp eq i32 %t11113, 0 - %t11117 = select i1 %t11116, i32 8, i32 %t11115 - %t11118 = getelementptr ptr, ptr null, i32 1 - %t11119 = ptrtoint ptr %t11118 to i64 - %t11120 = zext i32 %t11117 to i64 - %t11121 = mul i64 %t11120, %t11119 - %t11122 = load ptr, ptr %t11111 - %t11123 = call ptr @realloc(ptr %t11122, i64 %t11121) - store ptr %t11123, ptr %t11111 - store i32 %t11117, ptr %t11110 + %t11248 = mul i32 %t11246, 2 + %t11249 = icmp eq i32 %t11246, 0 + %t11250 = select i1 %t11249, i32 8, i32 %t11248 + %t11251 = getelementptr ptr, ptr null, i32 1 + %t11252 = ptrtoint ptr %t11251 to i64 + %t11253 = zext i32 %t11250 to i64 + %t11254 = mul i64 %t11253, %t11252 + %t11255 = load ptr, ptr %t11244 + %t11256 = call ptr @realloc(ptr %t11255, i64 %t11254) + store ptr %t11256, ptr %t11244 + store i32 %t11250, ptr %t11243 br label %put2307 put2307: - %t11124 = load ptr, ptr %t11111 - %t11125 = getelementptr inbounds ptr, ptr %t11124, i32 %t11112 - store ptr @.str7340, ptr %t11125 - %t11126 = add i32 %t11112, 1 - store i32 %t11126, ptr %t11109 - %t11127 = load ptr, ptr %t337 - %t11128 = getelementptr inbounds %LSlice, ptr %t11127, i32 0, i32 1 - %t11129 = getelementptr inbounds %LSlice, ptr %t11127, i32 0, i32 2 - %t11130 = getelementptr inbounds %LSlice, ptr %t11127, i32 0, i32 0 - %t11131 = load i32, ptr %t11128 - %t11132 = load i32, ptr %t11129 - %t11133 = icmp sge i32 %t11131, %t11132 - br i1 %t11133, label %grow2308, label %put2309 + %t11257 = load ptr, ptr %t11244 + %t11258 = getelementptr inbounds ptr, ptr %t11257, i32 %t11245 + store ptr @.str7660, ptr %t11258 + %t11259 = add i32 %t11245, 1 + store i32 %t11259, ptr %t11242 + %t11260 = load ptr, ptr %t387 + %t11261 = getelementptr inbounds %LSlice, ptr %t11260, i32 0, i32 1 + %t11262 = getelementptr inbounds %LSlice, ptr %t11260, i32 0, i32 2 + %t11263 = getelementptr inbounds %LSlice, ptr %t11260, i32 0, i32 0 + %t11264 = load i32, ptr %t11261 + %t11265 = load i32, ptr %t11262 + %t11266 = icmp sge i32 %t11264, %t11265 + br i1 %t11266, label %grow2308, label %put2309 grow2308: - %t11134 = mul i32 %t11132, 2 - %t11135 = icmp eq i32 %t11132, 0 - %t11136 = select i1 %t11135, i32 8, i32 %t11134 - %t11137 = getelementptr ptr, ptr null, i32 1 - %t11138 = ptrtoint ptr %t11137 to i64 - %t11139 = zext i32 %t11136 to i64 - %t11140 = mul i64 %t11139, %t11138 - %t11141 = load ptr, ptr %t11130 - %t11142 = call ptr @realloc(ptr %t11141, i64 %t11140) - store ptr %t11142, ptr %t11130 - store i32 %t11136, ptr %t11129 + %t11267 = mul i32 %t11265, 2 + %t11268 = icmp eq i32 %t11265, 0 + %t11269 = select i1 %t11268, i32 8, i32 %t11267 + %t11270 = getelementptr ptr, ptr null, i32 1 + %t11271 = ptrtoint ptr %t11270 to i64 + %t11272 = zext i32 %t11269 to i64 + %t11273 = mul i64 %t11272, %t11271 + %t11274 = load ptr, ptr %t11263 + %t11275 = call ptr @realloc(ptr %t11274, i64 %t11273) + store ptr %t11275, ptr %t11263 + store i32 %t11269, ptr %t11262 br label %put2309 put2309: - %t11143 = load ptr, ptr %t11130 - %t11144 = getelementptr inbounds ptr, ptr %t11143, i32 %t11131 - store ptr @.str7341, ptr %t11144 - %t11145 = add i32 %t11131, 1 - store i32 %t11145, ptr %t11128 - br label %ifend2305 -ifend2305: - %t11146 = load ptr, ptr %t1 - %t11147 = call i32 @fn_str_eq(ptr %t11146, ptr @.str7342) - %t11148 = icmp ne i32 %t11147, 0 - br i1 %t11148, label %then2310, label %ifend2312 -then2310: - store ptr @.str7343, ptr %t330 - %t11149 = load ptr, ptr %t337 - %t11150 = getelementptr inbounds %LSlice, ptr %t11149, i32 0, i32 1 - %t11151 = getelementptr inbounds %LSlice, ptr %t11149, i32 0, i32 2 - %t11152 = getelementptr inbounds %LSlice, ptr %t11149, i32 0, i32 0 - %t11153 = load i32, ptr %t11150 - %t11154 = load i32, ptr %t11151 - %t11155 = icmp sge i32 %t11153, %t11154 - br i1 %t11155, label %grow2313, label %put2314 -grow2313: - %t11156 = mul i32 %t11154, 2 - %t11157 = icmp eq i32 %t11154, 0 - %t11158 = select i1 %t11157, i32 8, i32 %t11156 - %t11159 = getelementptr ptr, ptr null, i32 1 - %t11160 = ptrtoint ptr %t11159 to i64 - %t11161 = zext i32 %t11158 to i64 - %t11162 = mul i64 %t11161, %t11160 - %t11163 = load ptr, ptr %t11152 - %t11164 = call ptr @realloc(ptr %t11163, i64 %t11162) - store ptr %t11164, ptr %t11152 - store i32 %t11158, ptr %t11151 - br label %put2314 -put2314: - %t11165 = load ptr, ptr %t11152 - %t11166 = getelementptr inbounds ptr, ptr %t11165, i32 %t11153 - store ptr @.str7344, ptr %t11166 - %t11167 = add i32 %t11153, 1 - store i32 %t11167, ptr %t11150 - br label %ifend2312 -ifend2312: - %t11168 = load ptr, ptr %t1 - %t11169 = call i32 @fn_str_eq(ptr %t11168, ptr @.str7345) - %t11170 = icmp ne i32 %t11169, 0 - br i1 %t11170, label %then2315, label %ifend2317 + %t11276 = load ptr, ptr %t11263 + %t11277 = getelementptr inbounds ptr, ptr %t11276, i32 %t11264 + store ptr @.str7661, ptr %t11277 + %t11278 = add i32 %t11264, 1 + store i32 %t11278, ptr %t11261 + %t11279 = load ptr, ptr %t387 + %t11280 = getelementptr inbounds %LSlice, ptr %t11279, i32 0, i32 1 + %t11281 = getelementptr inbounds %LSlice, ptr %t11279, i32 0, i32 2 + %t11282 = getelementptr inbounds %LSlice, ptr %t11279, i32 0, i32 0 + %t11283 = load i32, ptr %t11280 + %t11284 = load i32, ptr %t11281 + %t11285 = icmp sge i32 %t11283, %t11284 + br i1 %t11285, label %grow2310, label %put2311 +grow2310: + %t11286 = mul i32 %t11284, 2 + %t11287 = icmp eq i32 %t11284, 0 + %t11288 = select i1 %t11287, i32 8, i32 %t11286 + %t11289 = getelementptr ptr, ptr null, i32 1 + %t11290 = ptrtoint ptr %t11289 to i64 + %t11291 = zext i32 %t11288 to i64 + %t11292 = mul i64 %t11291, %t11290 + %t11293 = load ptr, ptr %t11282 + %t11294 = call ptr @realloc(ptr %t11293, i64 %t11292) + store ptr %t11294, ptr %t11282 + store i32 %t11288, ptr %t11281 + br label %put2311 +put2311: + %t11295 = load ptr, ptr %t11282 + %t11296 = getelementptr inbounds ptr, ptr %t11295, i32 %t11283 + store ptr @.str7662, ptr %t11296 + %t11297 = add i32 %t11283, 1 + store i32 %t11297, ptr %t11280 + br label %ifend2299 +ifend2299: + br label %ifend2296 +ifend2296: + br label %ifend2270 +ifend2270: + %t11298 = load ptr, ptr %t0 + %t11299 = call i32 @fn_str_eq(ptr %t11298, ptr @.str7663) + %t11300 = icmp ne i32 %t11299, 0 + br i1 %t11300, label %then2312, label %ifend2314 +then2312: + %t11301 = load ptr, ptr %t1 + %t11302 = call i32 @fn_str_eq(ptr %t11301, ptr @.str7664) + %t11303 = icmp ne i32 %t11302, 0 + br i1 %t11303, label %then2315, label %ifend2317 then2315: - store ptr @.str7346, ptr %t330 - %t11171 = load ptr, ptr %t337 - %t11172 = getelementptr inbounds %LSlice, ptr %t11171, i32 0, i32 1 - %t11173 = getelementptr inbounds %LSlice, ptr %t11171, i32 0, i32 2 - %t11174 = getelementptr inbounds %LSlice, ptr %t11171, i32 0, i32 0 - %t11175 = load i32, ptr %t11172 - %t11176 = load i32, ptr %t11173 - %t11177 = icmp sge i32 %t11175, %t11176 - br i1 %t11177, label %grow2318, label %put2319 + store ptr @.str7665, ptr %t380 + %t11304 = load ptr, ptr %t387 + %t11305 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 1 + %t11306 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 2 + %t11307 = getelementptr inbounds %LSlice, ptr %t11304, i32 0, i32 0 + %t11308 = load i32, ptr %t11305 + %t11309 = load i32, ptr %t11306 + %t11310 = icmp sge i32 %t11308, %t11309 + br i1 %t11310, label %grow2318, label %put2319 grow2318: - %t11178 = mul i32 %t11176, 2 - %t11179 = icmp eq i32 %t11176, 0 - %t11180 = select i1 %t11179, i32 8, i32 %t11178 - %t11181 = getelementptr ptr, ptr null, i32 1 - %t11182 = ptrtoint ptr %t11181 to i64 - %t11183 = zext i32 %t11180 to i64 - %t11184 = mul i64 %t11183, %t11182 - %t11185 = load ptr, ptr %t11174 - %t11186 = call ptr @realloc(ptr %t11185, i64 %t11184) - store ptr %t11186, ptr %t11174 - store i32 %t11180, ptr %t11173 + %t11311 = mul i32 %t11309, 2 + %t11312 = icmp eq i32 %t11309, 0 + %t11313 = select i1 %t11312, i32 8, i32 %t11311 + %t11314 = getelementptr ptr, ptr null, i32 1 + %t11315 = ptrtoint ptr %t11314 to i64 + %t11316 = zext i32 %t11313 to i64 + %t11317 = mul i64 %t11316, %t11315 + %t11318 = load ptr, ptr %t11307 + %t11319 = call ptr @realloc(ptr %t11318, i64 %t11317) + store ptr %t11319, ptr %t11307 + store i32 %t11313, ptr %t11306 br label %put2319 put2319: - %t11187 = load ptr, ptr %t11174 - %t11188 = getelementptr inbounds ptr, ptr %t11187, i32 %t11175 - store ptr @.str7347, ptr %t11188 - %t11189 = add i32 %t11175, 1 - store i32 %t11189, ptr %t11172 + %t11320 = load ptr, ptr %t11307 + %t11321 = getelementptr inbounds ptr, ptr %t11320, i32 %t11308 + store ptr @.str7666, ptr %t11321 + %t11322 = add i32 %t11308, 1 + store i32 %t11322, ptr %t11305 + %t11323 = load ptr, ptr %t387 + %t11324 = getelementptr inbounds %LSlice, ptr %t11323, i32 0, i32 1 + %t11325 = getelementptr inbounds %LSlice, ptr %t11323, i32 0, i32 2 + %t11326 = getelementptr inbounds %LSlice, ptr %t11323, i32 0, i32 0 + %t11327 = load i32, ptr %t11324 + %t11328 = load i32, ptr %t11325 + %t11329 = icmp sge i32 %t11327, %t11328 + br i1 %t11329, label %grow2320, label %put2321 +grow2320: + %t11330 = mul i32 %t11328, 2 + %t11331 = icmp eq i32 %t11328, 0 + %t11332 = select i1 %t11331, i32 8, i32 %t11330 + %t11333 = getelementptr ptr, ptr null, i32 1 + %t11334 = ptrtoint ptr %t11333 to i64 + %t11335 = zext i32 %t11332 to i64 + %t11336 = mul i64 %t11335, %t11334 + %t11337 = load ptr, ptr %t11326 + %t11338 = call ptr @realloc(ptr %t11337, i64 %t11336) + store ptr %t11338, ptr %t11326 + store i32 %t11332, ptr %t11325 + br label %put2321 +put2321: + %t11339 = load ptr, ptr %t11326 + %t11340 = getelementptr inbounds ptr, ptr %t11339, i32 %t11327 + store ptr @.str7667, ptr %t11340 + %t11341 = add i32 %t11327, 1 + store i32 %t11341, ptr %t11324 + %t11342 = load ptr, ptr %t387 + %t11343 = getelementptr inbounds %LSlice, ptr %t11342, i32 0, i32 1 + %t11344 = getelementptr inbounds %LSlice, ptr %t11342, i32 0, i32 2 + %t11345 = getelementptr inbounds %LSlice, ptr %t11342, i32 0, i32 0 + %t11346 = load i32, ptr %t11343 + %t11347 = load i32, ptr %t11344 + %t11348 = icmp sge i32 %t11346, %t11347 + br i1 %t11348, label %grow2322, label %put2323 +grow2322: + %t11349 = mul i32 %t11347, 2 + %t11350 = icmp eq i32 %t11347, 0 + %t11351 = select i1 %t11350, i32 8, i32 %t11349 + %t11352 = getelementptr ptr, ptr null, i32 1 + %t11353 = ptrtoint ptr %t11352 to i64 + %t11354 = zext i32 %t11351 to i64 + %t11355 = mul i64 %t11354, %t11353 + %t11356 = load ptr, ptr %t11345 + %t11357 = call ptr @realloc(ptr %t11356, i64 %t11355) + store ptr %t11357, ptr %t11345 + store i32 %t11351, ptr %t11344 + br label %put2323 +put2323: + %t11358 = load ptr, ptr %t11345 + %t11359 = getelementptr inbounds ptr, ptr %t11358, i32 %t11346 + store ptr @.str7668, ptr %t11359 + %t11360 = add i32 %t11346, 1 + store i32 %t11360, ptr %t11343 + %t11361 = load ptr, ptr %t387 + %t11362 = getelementptr inbounds %LSlice, ptr %t11361, i32 0, i32 1 + %t11363 = getelementptr inbounds %LSlice, ptr %t11361, i32 0, i32 2 + %t11364 = getelementptr inbounds %LSlice, ptr %t11361, i32 0, i32 0 + %t11365 = load i32, ptr %t11362 + %t11366 = load i32, ptr %t11363 + %t11367 = icmp sge i32 %t11365, %t11366 + br i1 %t11367, label %grow2324, label %put2325 +grow2324: + %t11368 = mul i32 %t11366, 2 + %t11369 = icmp eq i32 %t11366, 0 + %t11370 = select i1 %t11369, i32 8, i32 %t11368 + %t11371 = getelementptr ptr, ptr null, i32 1 + %t11372 = ptrtoint ptr %t11371 to i64 + %t11373 = zext i32 %t11370 to i64 + %t11374 = mul i64 %t11373, %t11372 + %t11375 = load ptr, ptr %t11364 + %t11376 = call ptr @realloc(ptr %t11375, i64 %t11374) + store ptr %t11376, ptr %t11364 + store i32 %t11370, ptr %t11363 + br label %put2325 +put2325: + %t11377 = load ptr, ptr %t11364 + %t11378 = getelementptr inbounds ptr, ptr %t11377, i32 %t11365 + store ptr @.str7669, ptr %t11378 + %t11379 = add i32 %t11365, 1 + store i32 %t11379, ptr %t11362 + %t11380 = load ptr, ptr %t387 + %t11381 = getelementptr inbounds %LSlice, ptr %t11380, i32 0, i32 1 + %t11382 = getelementptr inbounds %LSlice, ptr %t11380, i32 0, i32 2 + %t11383 = getelementptr inbounds %LSlice, ptr %t11380, i32 0, i32 0 + %t11384 = load i32, ptr %t11381 + %t11385 = load i32, ptr %t11382 + %t11386 = icmp sge i32 %t11384, %t11385 + br i1 %t11386, label %grow2326, label %put2327 +grow2326: + %t11387 = mul i32 %t11385, 2 + %t11388 = icmp eq i32 %t11385, 0 + %t11389 = select i1 %t11388, i32 8, i32 %t11387 + %t11390 = getelementptr ptr, ptr null, i32 1 + %t11391 = ptrtoint ptr %t11390 to i64 + %t11392 = zext i32 %t11389 to i64 + %t11393 = mul i64 %t11392, %t11391 + %t11394 = load ptr, ptr %t11383 + %t11395 = call ptr @realloc(ptr %t11394, i64 %t11393) + store ptr %t11395, ptr %t11383 + store i32 %t11389, ptr %t11382 + br label %put2327 +put2327: + %t11396 = load ptr, ptr %t11383 + %t11397 = getelementptr inbounds ptr, ptr %t11396, i32 %t11384 + store ptr @.str7670, ptr %t11397 + %t11398 = add i32 %t11384, 1 + store i32 %t11398, ptr %t11381 br label %ifend2317 ifend2317: - %t11190 = load ptr, ptr %t1 - %t11191 = call i32 @fn_str_eq(ptr %t11190, ptr @.str7348) - %t11192 = icmp ne i32 %t11191, 0 - br i1 %t11192, label %then2320, label %ifend2322 -then2320: - store ptr @.str7349, ptr %t330 - %t11193 = load ptr, ptr %t337 - %t11194 = getelementptr inbounds %LSlice, ptr %t11193, i32 0, i32 1 - %t11195 = getelementptr inbounds %LSlice, ptr %t11193, i32 0, i32 2 - %t11196 = getelementptr inbounds %LSlice, ptr %t11193, i32 0, i32 0 - %t11197 = load i32, ptr %t11194 - %t11198 = load i32, ptr %t11195 - %t11199 = icmp sge i32 %t11197, %t11198 - br i1 %t11199, label %grow2323, label %put2324 -grow2323: - %t11200 = mul i32 %t11198, 2 - %t11201 = icmp eq i32 %t11198, 0 - %t11202 = select i1 %t11201, i32 8, i32 %t11200 - %t11203 = getelementptr ptr, ptr null, i32 1 - %t11204 = ptrtoint ptr %t11203 to i64 - %t11205 = zext i32 %t11202 to i64 - %t11206 = mul i64 %t11205, %t11204 - %t11207 = load ptr, ptr %t11196 - %t11208 = call ptr @realloc(ptr %t11207, i64 %t11206) - store ptr %t11208, ptr %t11196 - store i32 %t11202, ptr %t11195 - br label %put2324 -put2324: - %t11209 = load ptr, ptr %t11196 - %t11210 = getelementptr inbounds ptr, ptr %t11209, i32 %t11197 - store ptr @.str7350, ptr %t11210 - %t11211 = add i32 %t11197, 1 - store i32 %t11211, ptr %t11194 - %t11212 = load ptr, ptr %t337 - %t11213 = getelementptr inbounds %LSlice, ptr %t11212, i32 0, i32 1 - %t11214 = getelementptr inbounds %LSlice, ptr %t11212, i32 0, i32 2 - %t11215 = getelementptr inbounds %LSlice, ptr %t11212, i32 0, i32 0 - %t11216 = load i32, ptr %t11213 - %t11217 = load i32, ptr %t11214 - %t11218 = icmp sge i32 %t11216, %t11217 - br i1 %t11218, label %grow2325, label %put2326 -grow2325: - %t11219 = mul i32 %t11217, 2 - %t11220 = icmp eq i32 %t11217, 0 - %t11221 = select i1 %t11220, i32 8, i32 %t11219 - %t11222 = getelementptr ptr, ptr null, i32 1 - %t11223 = ptrtoint ptr %t11222 to i64 - %t11224 = zext i32 %t11221 to i64 - %t11225 = mul i64 %t11224, %t11223 - %t11226 = load ptr, ptr %t11215 - %t11227 = call ptr @realloc(ptr %t11226, i64 %t11225) - store ptr %t11227, ptr %t11215 - store i32 %t11221, ptr %t11214 - br label %put2326 -put2326: - %t11228 = load ptr, ptr %t11215 - %t11229 = getelementptr inbounds ptr, ptr %t11228, i32 %t11216 - store ptr @.str7351, ptr %t11229 - %t11230 = add i32 %t11216, 1 - store i32 %t11230, ptr %t11213 - br label %ifend2322 -ifend2322: - %t11231 = load ptr, ptr %t1 - %t11232 = call i32 @fn_str_eq(ptr %t11231, ptr @.str7352) - %t11233 = icmp ne i32 %t11232, 0 - br i1 %t11233, label %then2327, label %ifend2329 -then2327: - store ptr @.str7353, ptr %t330 - %t11234 = load ptr, ptr %t337 - %t11235 = getelementptr inbounds %LSlice, ptr %t11234, i32 0, i32 1 - %t11236 = getelementptr inbounds %LSlice, ptr %t11234, i32 0, i32 2 - %t11237 = getelementptr inbounds %LSlice, ptr %t11234, i32 0, i32 0 - %t11238 = load i32, ptr %t11235 - %t11239 = load i32, ptr %t11236 - %t11240 = icmp sge i32 %t11238, %t11239 - br i1 %t11240, label %grow2330, label %put2331 -grow2330: - %t11241 = mul i32 %t11239, 2 - %t11242 = icmp eq i32 %t11239, 0 - %t11243 = select i1 %t11242, i32 8, i32 %t11241 - %t11244 = getelementptr ptr, ptr null, i32 1 - %t11245 = ptrtoint ptr %t11244 to i64 - %t11246 = zext i32 %t11243 to i64 - %t11247 = mul i64 %t11246, %t11245 - %t11248 = load ptr, ptr %t11237 - %t11249 = call ptr @realloc(ptr %t11248, i64 %t11247) - store ptr %t11249, ptr %t11237 - store i32 %t11243, ptr %t11236 - br label %put2331 -put2331: - %t11250 = load ptr, ptr %t11237 - %t11251 = getelementptr inbounds ptr, ptr %t11250, i32 %t11238 - store ptr @.str7354, ptr %t11251 - %t11252 = add i32 %t11238, 1 - store i32 %t11252, ptr %t11235 - %t11253 = load ptr, ptr %t337 - %t11254 = getelementptr inbounds %LSlice, ptr %t11253, i32 0, i32 1 - %t11255 = getelementptr inbounds %LSlice, ptr %t11253, i32 0, i32 2 - %t11256 = getelementptr inbounds %LSlice, ptr %t11253, i32 0, i32 0 - %t11257 = load i32, ptr %t11254 - %t11258 = load i32, ptr %t11255 - %t11259 = icmp sge i32 %t11257, %t11258 - br i1 %t11259, label %grow2332, label %put2333 -grow2332: - %t11260 = mul i32 %t11258, 2 - %t11261 = icmp eq i32 %t11258, 0 - %t11262 = select i1 %t11261, i32 8, i32 %t11260 - %t11263 = getelementptr ptr, ptr null, i32 1 - %t11264 = ptrtoint ptr %t11263 to i64 - %t11265 = zext i32 %t11262 to i64 - %t11266 = mul i64 %t11265, %t11264 - %t11267 = load ptr, ptr %t11256 - %t11268 = call ptr @realloc(ptr %t11267, i64 %t11266) - store ptr %t11268, ptr %t11256 - store i32 %t11262, ptr %t11255 - br label %put2333 -put2333: - %t11269 = load ptr, ptr %t11256 - %t11270 = getelementptr inbounds ptr, ptr %t11269, i32 %t11257 - store ptr @.str7355, ptr %t11270 - %t11271 = add i32 %t11257, 1 - store i32 %t11271, ptr %t11254 - br label %ifend2329 -ifend2329: - %t11272 = load ptr, ptr %t1 - %t11273 = call i32 @fn_str_eq(ptr %t11272, ptr @.str7356) - %t11274 = icmp ne i32 %t11273, 0 - br i1 %t11274, label %then2334, label %ifend2336 -then2334: - store ptr @.str7357, ptr %t330 - %t11275 = load ptr, ptr %t337 - %t11276 = getelementptr inbounds %LSlice, ptr %t11275, i32 0, i32 1 - %t11277 = getelementptr inbounds %LSlice, ptr %t11275, i32 0, i32 2 - %t11278 = getelementptr inbounds %LSlice, ptr %t11275, i32 0, i32 0 - %t11279 = load i32, ptr %t11276 - %t11280 = load i32, ptr %t11277 - %t11281 = icmp sge i32 %t11279, %t11280 - br i1 %t11281, label %grow2337, label %put2338 -grow2337: - %t11282 = mul i32 %t11280, 2 - %t11283 = icmp eq i32 %t11280, 0 - %t11284 = select i1 %t11283, i32 8, i32 %t11282 - %t11285 = getelementptr ptr, ptr null, i32 1 - %t11286 = ptrtoint ptr %t11285 to i64 - %t11287 = zext i32 %t11284 to i64 - %t11288 = mul i64 %t11287, %t11286 - %t11289 = load ptr, ptr %t11278 - %t11290 = call ptr @realloc(ptr %t11289, i64 %t11288) - store ptr %t11290, ptr %t11278 - store i32 %t11284, ptr %t11277 - br label %put2338 -put2338: - %t11291 = load ptr, ptr %t11278 - %t11292 = getelementptr inbounds ptr, ptr %t11291, i32 %t11279 - store ptr @.str7358, ptr %t11292 - %t11293 = add i32 %t11279, 1 - store i32 %t11293, ptr %t11276 - %t11294 = load ptr, ptr %t337 - %t11295 = getelementptr inbounds %LSlice, ptr %t11294, i32 0, i32 1 - %t11296 = getelementptr inbounds %LSlice, ptr %t11294, i32 0, i32 2 - %t11297 = getelementptr inbounds %LSlice, ptr %t11294, i32 0, i32 0 - %t11298 = load i32, ptr %t11295 - %t11299 = load i32, ptr %t11296 - %t11300 = icmp sge i32 %t11298, %t11299 - br i1 %t11300, label %grow2339, label %put2340 -grow2339: - %t11301 = mul i32 %t11299, 2 - %t11302 = icmp eq i32 %t11299, 0 - %t11303 = select i1 %t11302, i32 8, i32 %t11301 - %t11304 = getelementptr ptr, ptr null, i32 1 - %t11305 = ptrtoint ptr %t11304 to i64 - %t11306 = zext i32 %t11303 to i64 - %t11307 = mul i64 %t11306, %t11305 - %t11308 = load ptr, ptr %t11297 - %t11309 = call ptr @realloc(ptr %t11308, i64 %t11307) - store ptr %t11309, ptr %t11297 - store i32 %t11303, ptr %t11296 - br label %put2340 -put2340: - %t11310 = load ptr, ptr %t11297 - %t11311 = getelementptr inbounds ptr, ptr %t11310, i32 %t11298 - store ptr @.str7359, ptr %t11311 - %t11312 = add i32 %t11298, 1 - store i32 %t11312, ptr %t11295 - br label %ifend2336 -ifend2336: - br label %ifend2271 -ifend2271: - %t11313 = load ptr, ptr %t0 - %t11314 = call i32 @fn_str_eq(ptr %t11313, ptr @.str7360) - %t11315 = icmp ne i32 %t11314, 0 - br i1 %t11315, label %then2341, label %ifend2343 -then2341: - %t11316 = load ptr, ptr %t1 - %t11317 = call i32 @fn_str_eq(ptr %t11316, ptr @.str7361) - %t11318 = icmp ne i32 %t11317, 0 - br i1 %t11318, label %then2344, label %ifend2346 -then2344: - store ptr @.str7362, ptr %t330 - %t11319 = load ptr, ptr %t337 - %t11320 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 1 - %t11321 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 2 - %t11322 = getelementptr inbounds %LSlice, ptr %t11319, i32 0, i32 0 - %t11323 = load i32, ptr %t11320 - %t11324 = load i32, ptr %t11321 - %t11325 = icmp sge i32 %t11323, %t11324 - br i1 %t11325, label %grow2347, label %put2348 + br label %ifend2314 +ifend2314: + %t11399 = load ptr, ptr %t0 + %t11400 = call i32 @fn_str_eq(ptr %t11399, ptr @.str7671) + %t11401 = icmp ne i32 %t11400, 0 + br i1 %t11401, label %then2328, label %ifend2330 +then2328: + %t11402 = load ptr, ptr %t1 + %t11403 = call i32 @fn_str_eq(ptr %t11402, ptr @.str7672) + %t11404 = icmp ne i32 %t11403, 0 + br i1 %t11404, label %then2331, label %ifend2333 +then2331: + store ptr @.str7673, ptr %t380 + %t11405 = load ptr, ptr %t387 + %t11406 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 1 + %t11407 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 2 + %t11408 = getelementptr inbounds %LSlice, ptr %t11405, i32 0, i32 0 + %t11409 = load i32, ptr %t11406 + %t11410 = load i32, ptr %t11407 + %t11411 = icmp sge i32 %t11409, %t11410 + br i1 %t11411, label %grow2334, label %put2335 +grow2334: + %t11412 = mul i32 %t11410, 2 + %t11413 = icmp eq i32 %t11410, 0 + %t11414 = select i1 %t11413, i32 8, i32 %t11412 + %t11415 = getelementptr ptr, ptr null, i32 1 + %t11416 = ptrtoint ptr %t11415 to i64 + %t11417 = zext i32 %t11414 to i64 + %t11418 = mul i64 %t11417, %t11416 + %t11419 = load ptr, ptr %t11408 + %t11420 = call ptr @realloc(ptr %t11419, i64 %t11418) + store ptr %t11420, ptr %t11408 + store i32 %t11414, ptr %t11407 + br label %put2335 +put2335: + %t11421 = load ptr, ptr %t11408 + %t11422 = getelementptr inbounds ptr, ptr %t11421, i32 %t11409 + store ptr @.str7674, ptr %t11422 + %t11423 = add i32 %t11409, 1 + store i32 %t11423, ptr %t11406 + %t11424 = load ptr, ptr %t387 + %t11425 = getelementptr inbounds %LSlice, ptr %t11424, i32 0, i32 1 + %t11426 = getelementptr inbounds %LSlice, ptr %t11424, i32 0, i32 2 + %t11427 = getelementptr inbounds %LSlice, ptr %t11424, i32 0, i32 0 + %t11428 = load i32, ptr %t11425 + %t11429 = load i32, ptr %t11426 + %t11430 = icmp sge i32 %t11428, %t11429 + br i1 %t11430, label %grow2336, label %put2337 +grow2336: + %t11431 = mul i32 %t11429, 2 + %t11432 = icmp eq i32 %t11429, 0 + %t11433 = select i1 %t11432, i32 8, i32 %t11431 + %t11434 = getelementptr ptr, ptr null, i32 1 + %t11435 = ptrtoint ptr %t11434 to i64 + %t11436 = zext i32 %t11433 to i64 + %t11437 = mul i64 %t11436, %t11435 + %t11438 = load ptr, ptr %t11427 + %t11439 = call ptr @realloc(ptr %t11438, i64 %t11437) + store ptr %t11439, ptr %t11427 + store i32 %t11433, ptr %t11426 + br label %put2337 +put2337: + %t11440 = load ptr, ptr %t11427 + %t11441 = getelementptr inbounds ptr, ptr %t11440, i32 %t11428 + store ptr @.str7675, ptr %t11441 + %t11442 = add i32 %t11428, 1 + store i32 %t11442, ptr %t11425 + %t11443 = load ptr, ptr %t387 + %t11444 = getelementptr inbounds %LSlice, ptr %t11443, i32 0, i32 1 + %t11445 = getelementptr inbounds %LSlice, ptr %t11443, i32 0, i32 2 + %t11446 = getelementptr inbounds %LSlice, ptr %t11443, i32 0, i32 0 + %t11447 = load i32, ptr %t11444 + %t11448 = load i32, ptr %t11445 + %t11449 = icmp sge i32 %t11447, %t11448 + br i1 %t11449, label %grow2338, label %put2339 +grow2338: + %t11450 = mul i32 %t11448, 2 + %t11451 = icmp eq i32 %t11448, 0 + %t11452 = select i1 %t11451, i32 8, i32 %t11450 + %t11453 = getelementptr ptr, ptr null, i32 1 + %t11454 = ptrtoint ptr %t11453 to i64 + %t11455 = zext i32 %t11452 to i64 + %t11456 = mul i64 %t11455, %t11454 + %t11457 = load ptr, ptr %t11446 + %t11458 = call ptr @realloc(ptr %t11457, i64 %t11456) + store ptr %t11458, ptr %t11446 + store i32 %t11452, ptr %t11445 + br label %put2339 +put2339: + %t11459 = load ptr, ptr %t11446 + %t11460 = getelementptr inbounds ptr, ptr %t11459, i32 %t11447 + store ptr @.str7676, ptr %t11460 + %t11461 = add i32 %t11447, 1 + store i32 %t11461, ptr %t11444 + %t11462 = load ptr, ptr %t387 + %t11463 = getelementptr inbounds %LSlice, ptr %t11462, i32 0, i32 1 + %t11464 = getelementptr inbounds %LSlice, ptr %t11462, i32 0, i32 2 + %t11465 = getelementptr inbounds %LSlice, ptr %t11462, i32 0, i32 0 + %t11466 = load i32, ptr %t11463 + %t11467 = load i32, ptr %t11464 + %t11468 = icmp sge i32 %t11466, %t11467 + br i1 %t11468, label %grow2340, label %put2341 +grow2340: + %t11469 = mul i32 %t11467, 2 + %t11470 = icmp eq i32 %t11467, 0 + %t11471 = select i1 %t11470, i32 8, i32 %t11469 + %t11472 = getelementptr ptr, ptr null, i32 1 + %t11473 = ptrtoint ptr %t11472 to i64 + %t11474 = zext i32 %t11471 to i64 + %t11475 = mul i64 %t11474, %t11473 + %t11476 = load ptr, ptr %t11465 + %t11477 = call ptr @realloc(ptr %t11476, i64 %t11475) + store ptr %t11477, ptr %t11465 + store i32 %t11471, ptr %t11464 + br label %put2341 +put2341: + %t11478 = load ptr, ptr %t11465 + %t11479 = getelementptr inbounds ptr, ptr %t11478, i32 %t11466 + store ptr @.str7677, ptr %t11479 + %t11480 = add i32 %t11466, 1 + store i32 %t11480, ptr %t11463 + br label %ifend2333 +ifend2333: + %t11481 = load ptr, ptr %t1 + %t11482 = call i32 @fn_str_eq(ptr %t11481, ptr @.str7678) + %t11483 = icmp ne i32 %t11482, 0 + br i1 %t11483, label %then2342, label %ifend2344 +then2342: + store ptr @.str7679, ptr %t380 + %t11484 = load ptr, ptr %t387 + %t11485 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 1 + %t11486 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 2 + %t11487 = getelementptr inbounds %LSlice, ptr %t11484, i32 0, i32 0 + %t11488 = load i32, ptr %t11485 + %t11489 = load i32, ptr %t11486 + %t11490 = icmp sge i32 %t11488, %t11489 + br i1 %t11490, label %grow2345, label %put2346 +grow2345: + %t11491 = mul i32 %t11489, 2 + %t11492 = icmp eq i32 %t11489, 0 + %t11493 = select i1 %t11492, i32 8, i32 %t11491 + %t11494 = getelementptr ptr, ptr null, i32 1 + %t11495 = ptrtoint ptr %t11494 to i64 + %t11496 = zext i32 %t11493 to i64 + %t11497 = mul i64 %t11496, %t11495 + %t11498 = load ptr, ptr %t11487 + %t11499 = call ptr @realloc(ptr %t11498, i64 %t11497) + store ptr %t11499, ptr %t11487 + store i32 %t11493, ptr %t11486 + br label %put2346 +put2346: + %t11500 = load ptr, ptr %t11487 + %t11501 = getelementptr inbounds ptr, ptr %t11500, i32 %t11488 + store ptr @.str7680, ptr %t11501 + %t11502 = add i32 %t11488, 1 + store i32 %t11502, ptr %t11485 + %t11503 = load ptr, ptr %t387 + %t11504 = getelementptr inbounds %LSlice, ptr %t11503, i32 0, i32 1 + %t11505 = getelementptr inbounds %LSlice, ptr %t11503, i32 0, i32 2 + %t11506 = getelementptr inbounds %LSlice, ptr %t11503, i32 0, i32 0 + %t11507 = load i32, ptr %t11504 + %t11508 = load i32, ptr %t11505 + %t11509 = icmp sge i32 %t11507, %t11508 + br i1 %t11509, label %grow2347, label %put2348 grow2347: - %t11326 = mul i32 %t11324, 2 - %t11327 = icmp eq i32 %t11324, 0 - %t11328 = select i1 %t11327, i32 8, i32 %t11326 - %t11329 = getelementptr ptr, ptr null, i32 1 - %t11330 = ptrtoint ptr %t11329 to i64 - %t11331 = zext i32 %t11328 to i64 - %t11332 = mul i64 %t11331, %t11330 - %t11333 = load ptr, ptr %t11322 - %t11334 = call ptr @realloc(ptr %t11333, i64 %t11332) - store ptr %t11334, ptr %t11322 - store i32 %t11328, ptr %t11321 + %t11510 = mul i32 %t11508, 2 + %t11511 = icmp eq i32 %t11508, 0 + %t11512 = select i1 %t11511, i32 8, i32 %t11510 + %t11513 = getelementptr ptr, ptr null, i32 1 + %t11514 = ptrtoint ptr %t11513 to i64 + %t11515 = zext i32 %t11512 to i64 + %t11516 = mul i64 %t11515, %t11514 + %t11517 = load ptr, ptr %t11506 + %t11518 = call ptr @realloc(ptr %t11517, i64 %t11516) + store ptr %t11518, ptr %t11506 + store i32 %t11512, ptr %t11505 br label %put2348 put2348: - %t11335 = load ptr, ptr %t11322 - %t11336 = getelementptr inbounds ptr, ptr %t11335, i32 %t11323 - store ptr @.str7363, ptr %t11336 - %t11337 = add i32 %t11323, 1 - store i32 %t11337, ptr %t11320 - br label %ifend2346 -ifend2346: - %t11338 = load ptr, ptr %t1 - %t11339 = call i32 @fn_str_eq(ptr %t11338, ptr @.str7364) - %t11340 = icmp ne i32 %t11339, 0 - br i1 %t11340, label %then2349, label %ifend2351 -then2349: - store ptr @.str7365, ptr %t330 - %t11341 = load ptr, ptr %t337 - %t11342 = getelementptr inbounds %LSlice, ptr %t11341, i32 0, i32 1 - %t11343 = getelementptr inbounds %LSlice, ptr %t11341, i32 0, i32 2 - %t11344 = getelementptr inbounds %LSlice, ptr %t11341, i32 0, i32 0 - %t11345 = load i32, ptr %t11342 - %t11346 = load i32, ptr %t11343 - %t11347 = icmp sge i32 %t11345, %t11346 - br i1 %t11347, label %grow2352, label %put2353 -grow2352: - %t11348 = mul i32 %t11346, 2 - %t11349 = icmp eq i32 %t11346, 0 - %t11350 = select i1 %t11349, i32 8, i32 %t11348 - %t11351 = getelementptr ptr, ptr null, i32 1 - %t11352 = ptrtoint ptr %t11351 to i64 - %t11353 = zext i32 %t11350 to i64 - %t11354 = mul i64 %t11353, %t11352 - %t11355 = load ptr, ptr %t11344 - %t11356 = call ptr @realloc(ptr %t11355, i64 %t11354) - store ptr %t11356, ptr %t11344 - store i32 %t11350, ptr %t11343 - br label %put2353 -put2353: - %t11357 = load ptr, ptr %t11344 - %t11358 = getelementptr inbounds ptr, ptr %t11357, i32 %t11345 - store ptr @.str7366, ptr %t11358 - %t11359 = add i32 %t11345, 1 - store i32 %t11359, ptr %t11342 - br label %ifend2351 -ifend2351: - br label %ifend2343 -ifend2343: - %t11360 = load ptr, ptr %t0 - %t11361 = call i32 @fn_str_eq(ptr %t11360, ptr @.str7367) - %t11362 = icmp ne i32 %t11361, 0 - br i1 %t11362, label %then2354, label %ifend2356 -then2354: - %t11363 = load ptr, ptr %t1 - %t11364 = call i32 @fn_str_eq(ptr %t11363, ptr @.str7368) - %t11365 = icmp ne i32 %t11364, 0 - br i1 %t11365, label %then2357, label %ifend2359 -then2357: - store ptr @.str7369, ptr %t330 - %t11366 = load ptr, ptr %t337 - %t11367 = getelementptr inbounds %LSlice, ptr %t11366, i32 0, i32 1 - %t11368 = getelementptr inbounds %LSlice, ptr %t11366, i32 0, i32 2 - %t11369 = getelementptr inbounds %LSlice, ptr %t11366, i32 0, i32 0 - %t11370 = load i32, ptr %t11367 - %t11371 = load i32, ptr %t11368 - %t11372 = icmp sge i32 %t11370, %t11371 - br i1 %t11372, label %grow2360, label %put2361 -grow2360: - %t11373 = mul i32 %t11371, 2 - %t11374 = icmp eq i32 %t11371, 0 - %t11375 = select i1 %t11374, i32 8, i32 %t11373 - %t11376 = getelementptr ptr, ptr null, i32 1 - %t11377 = ptrtoint ptr %t11376 to i64 - %t11378 = zext i32 %t11375 to i64 - %t11379 = mul i64 %t11378, %t11377 - %t11380 = load ptr, ptr %t11369 - %t11381 = call ptr @realloc(ptr %t11380, i64 %t11379) - store ptr %t11381, ptr %t11369 - store i32 %t11375, ptr %t11368 - br label %put2361 -put2361: - %t11382 = load ptr, ptr %t11369 - %t11383 = getelementptr inbounds ptr, ptr %t11382, i32 %t11370 - store ptr @.str7370, ptr %t11383 - %t11384 = add i32 %t11370, 1 - store i32 %t11384, ptr %t11367 - br label %ifend2359 -ifend2359: - %t11385 = load ptr, ptr %t1 - %t11386 = call i32 @fn_str_eq(ptr %t11385, ptr @.str7371) - %t11387 = icmp ne i32 %t11386, 0 - br i1 %t11387, label %then2362, label %ifend2364 -then2362: - store ptr @.str7372, ptr %t330 - %t11388 = load ptr, ptr %t337 - %t11389 = getelementptr inbounds %LSlice, ptr %t11388, i32 0, i32 1 - %t11390 = getelementptr inbounds %LSlice, ptr %t11388, i32 0, i32 2 - %t11391 = getelementptr inbounds %LSlice, ptr %t11388, i32 0, i32 0 - %t11392 = load i32, ptr %t11389 - %t11393 = load i32, ptr %t11390 - %t11394 = icmp sge i32 %t11392, %t11393 - br i1 %t11394, label %grow2365, label %put2366 -grow2365: - %t11395 = mul i32 %t11393, 2 - %t11396 = icmp eq i32 %t11393, 0 - %t11397 = select i1 %t11396, i32 8, i32 %t11395 - %t11398 = getelementptr ptr, ptr null, i32 1 - %t11399 = ptrtoint ptr %t11398 to i64 - %t11400 = zext i32 %t11397 to i64 - %t11401 = mul i64 %t11400, %t11399 - %t11402 = load ptr, ptr %t11391 - %t11403 = call ptr @realloc(ptr %t11402, i64 %t11401) - store ptr %t11403, ptr %t11391 - store i32 %t11397, ptr %t11390 - br label %put2366 -put2366: - %t11404 = load ptr, ptr %t11391 - %t11405 = getelementptr inbounds ptr, ptr %t11404, i32 %t11392 - store ptr @.str7373, ptr %t11405 - %t11406 = add i32 %t11392, 1 - store i32 %t11406, ptr %t11389 - br label %ifend2364 -ifend2364: - %t11407 = load ptr, ptr %t1 - %t11408 = call i32 @fn_str_eq(ptr %t11407, ptr @.str7374) - %t11409 = icmp ne i32 %t11408, 0 - br i1 %t11409, label %then2367, label %ifend2369 -then2367: - store ptr @.str7375, ptr %t330 - %t11410 = load ptr, ptr %t337 - %t11411 = getelementptr inbounds %LSlice, ptr %t11410, i32 0, i32 1 - %t11412 = getelementptr inbounds %LSlice, ptr %t11410, i32 0, i32 2 - %t11413 = getelementptr inbounds %LSlice, ptr %t11410, i32 0, i32 0 - %t11414 = load i32, ptr %t11411 - %t11415 = load i32, ptr %t11412 - %t11416 = icmp sge i32 %t11414, %t11415 - br i1 %t11416, label %grow2370, label %put2371 -grow2370: - %t11417 = mul i32 %t11415, 2 - %t11418 = icmp eq i32 %t11415, 0 - %t11419 = select i1 %t11418, i32 8, i32 %t11417 - %t11420 = getelementptr ptr, ptr null, i32 1 - %t11421 = ptrtoint ptr %t11420 to i64 - %t11422 = zext i32 %t11419 to i64 - %t11423 = mul i64 %t11422, %t11421 - %t11424 = load ptr, ptr %t11413 - %t11425 = call ptr @realloc(ptr %t11424, i64 %t11423) - store ptr %t11425, ptr %t11413 - store i32 %t11419, ptr %t11412 - br label %put2371 -put2371: - %t11426 = load ptr, ptr %t11413 - %t11427 = getelementptr inbounds ptr, ptr %t11426, i32 %t11414 - store ptr @.str7376, ptr %t11427 - %t11428 = add i32 %t11414, 1 - store i32 %t11428, ptr %t11411 - br label %ifend2369 -ifend2369: - %t11429 = load ptr, ptr %t1 - %t11430 = call i32 @fn_str_eq(ptr %t11429, ptr @.str7377) - %t11431 = icmp ne i32 %t11430, 0 - br i1 %t11431, label %then2372, label %ifend2374 -then2372: - store ptr @.str7378, ptr %t330 - %t11432 = load ptr, ptr %t337 - %t11433 = getelementptr inbounds %LSlice, ptr %t11432, i32 0, i32 1 - %t11434 = getelementptr inbounds %LSlice, ptr %t11432, i32 0, i32 2 - %t11435 = getelementptr inbounds %LSlice, ptr %t11432, i32 0, i32 0 - %t11436 = load i32, ptr %t11433 - %t11437 = load i32, ptr %t11434 - %t11438 = icmp sge i32 %t11436, %t11437 - br i1 %t11438, label %grow2375, label %put2376 + %t11519 = load ptr, ptr %t11506 + %t11520 = getelementptr inbounds ptr, ptr %t11519, i32 %t11507 + store ptr @.str7681, ptr %t11520 + %t11521 = add i32 %t11507, 1 + store i32 %t11521, ptr %t11504 + %t11522 = load ptr, ptr %t387 + %t11523 = getelementptr inbounds %LSlice, ptr %t11522, i32 0, i32 1 + %t11524 = getelementptr inbounds %LSlice, ptr %t11522, i32 0, i32 2 + %t11525 = getelementptr inbounds %LSlice, ptr %t11522, i32 0, i32 0 + %t11526 = load i32, ptr %t11523 + %t11527 = load i32, ptr %t11524 + %t11528 = icmp sge i32 %t11526, %t11527 + br i1 %t11528, label %grow2349, label %put2350 +grow2349: + %t11529 = mul i32 %t11527, 2 + %t11530 = icmp eq i32 %t11527, 0 + %t11531 = select i1 %t11530, i32 8, i32 %t11529 + %t11532 = getelementptr ptr, ptr null, i32 1 + %t11533 = ptrtoint ptr %t11532 to i64 + %t11534 = zext i32 %t11531 to i64 + %t11535 = mul i64 %t11534, %t11533 + %t11536 = load ptr, ptr %t11525 + %t11537 = call ptr @realloc(ptr %t11536, i64 %t11535) + store ptr %t11537, ptr %t11525 + store i32 %t11531, ptr %t11524 + br label %put2350 +put2350: + %t11538 = load ptr, ptr %t11525 + %t11539 = getelementptr inbounds ptr, ptr %t11538, i32 %t11526 + store ptr @.str7682, ptr %t11539 + %t11540 = add i32 %t11526, 1 + store i32 %t11540, ptr %t11523 + %t11541 = load ptr, ptr %t387 + %t11542 = getelementptr inbounds %LSlice, ptr %t11541, i32 0, i32 1 + %t11543 = getelementptr inbounds %LSlice, ptr %t11541, i32 0, i32 2 + %t11544 = getelementptr inbounds %LSlice, ptr %t11541, i32 0, i32 0 + %t11545 = load i32, ptr %t11542 + %t11546 = load i32, ptr %t11543 + %t11547 = icmp sge i32 %t11545, %t11546 + br i1 %t11547, label %grow2351, label %put2352 +grow2351: + %t11548 = mul i32 %t11546, 2 + %t11549 = icmp eq i32 %t11546, 0 + %t11550 = select i1 %t11549, i32 8, i32 %t11548 + %t11551 = getelementptr ptr, ptr null, i32 1 + %t11552 = ptrtoint ptr %t11551 to i64 + %t11553 = zext i32 %t11550 to i64 + %t11554 = mul i64 %t11553, %t11552 + %t11555 = load ptr, ptr %t11544 + %t11556 = call ptr @realloc(ptr %t11555, i64 %t11554) + store ptr %t11556, ptr %t11544 + store i32 %t11550, ptr %t11543 + br label %put2352 +put2352: + %t11557 = load ptr, ptr %t11544 + %t11558 = getelementptr inbounds ptr, ptr %t11557, i32 %t11545 + store ptr @.str7683, ptr %t11558 + %t11559 = add i32 %t11545, 1 + store i32 %t11559, ptr %t11542 + br label %ifend2344 +ifend2344: + %t11560 = load ptr, ptr %t1 + %t11561 = call i32 @fn_str_eq(ptr %t11560, ptr @.str7684) + %t11562 = icmp ne i32 %t11561, 0 + br i1 %t11562, label %then2353, label %ifend2355 +then2353: + store ptr @.str7685, ptr %t380 + %t11563 = load ptr, ptr %t387 + %t11564 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 1 + %t11565 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 2 + %t11566 = getelementptr inbounds %LSlice, ptr %t11563, i32 0, i32 0 + %t11567 = load i32, ptr %t11564 + %t11568 = load i32, ptr %t11565 + %t11569 = icmp sge i32 %t11567, %t11568 + br i1 %t11569, label %grow2356, label %put2357 +grow2356: + %t11570 = mul i32 %t11568, 2 + %t11571 = icmp eq i32 %t11568, 0 + %t11572 = select i1 %t11571, i32 8, i32 %t11570 + %t11573 = getelementptr ptr, ptr null, i32 1 + %t11574 = ptrtoint ptr %t11573 to i64 + %t11575 = zext i32 %t11572 to i64 + %t11576 = mul i64 %t11575, %t11574 + %t11577 = load ptr, ptr %t11566 + %t11578 = call ptr @realloc(ptr %t11577, i64 %t11576) + store ptr %t11578, ptr %t11566 + store i32 %t11572, ptr %t11565 + br label %put2357 +put2357: + %t11579 = load ptr, ptr %t11566 + %t11580 = getelementptr inbounds ptr, ptr %t11579, i32 %t11567 + store ptr @.str7686, ptr %t11580 + %t11581 = add i32 %t11567, 1 + store i32 %t11581, ptr %t11564 + %t11582 = load ptr, ptr %t387 + %t11583 = getelementptr inbounds %LSlice, ptr %t11582, i32 0, i32 1 + %t11584 = getelementptr inbounds %LSlice, ptr %t11582, i32 0, i32 2 + %t11585 = getelementptr inbounds %LSlice, ptr %t11582, i32 0, i32 0 + %t11586 = load i32, ptr %t11583 + %t11587 = load i32, ptr %t11584 + %t11588 = icmp sge i32 %t11586, %t11587 + br i1 %t11588, label %grow2358, label %put2359 +grow2358: + %t11589 = mul i32 %t11587, 2 + %t11590 = icmp eq i32 %t11587, 0 + %t11591 = select i1 %t11590, i32 8, i32 %t11589 + %t11592 = getelementptr ptr, ptr null, i32 1 + %t11593 = ptrtoint ptr %t11592 to i64 + %t11594 = zext i32 %t11591 to i64 + %t11595 = mul i64 %t11594, %t11593 + %t11596 = load ptr, ptr %t11585 + %t11597 = call ptr @realloc(ptr %t11596, i64 %t11595) + store ptr %t11597, ptr %t11585 + store i32 %t11591, ptr %t11584 + br label %put2359 +put2359: + %t11598 = load ptr, ptr %t11585 + %t11599 = getelementptr inbounds ptr, ptr %t11598, i32 %t11586 + store ptr @.str7687, ptr %t11599 + %t11600 = add i32 %t11586, 1 + store i32 %t11600, ptr %t11583 + br label %ifend2355 +ifend2355: + %t11601 = load ptr, ptr %t1 + %t11602 = call i32 @fn_str_eq(ptr %t11601, ptr @.str7688) + %t11603 = icmp ne i32 %t11602, 0 + br i1 %t11603, label %then2360, label %ifend2362 +then2360: + store ptr @.str7689, ptr %t380 + %t11604 = load ptr, ptr %t387 + %t11605 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 1 + %t11606 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 2 + %t11607 = getelementptr inbounds %LSlice, ptr %t11604, i32 0, i32 0 + %t11608 = load i32, ptr %t11605 + %t11609 = load i32, ptr %t11606 + %t11610 = icmp sge i32 %t11608, %t11609 + br i1 %t11610, label %grow2363, label %put2364 +grow2363: + %t11611 = mul i32 %t11609, 2 + %t11612 = icmp eq i32 %t11609, 0 + %t11613 = select i1 %t11612, i32 8, i32 %t11611 + %t11614 = getelementptr ptr, ptr null, i32 1 + %t11615 = ptrtoint ptr %t11614 to i64 + %t11616 = zext i32 %t11613 to i64 + %t11617 = mul i64 %t11616, %t11615 + %t11618 = load ptr, ptr %t11607 + %t11619 = call ptr @realloc(ptr %t11618, i64 %t11617) + store ptr %t11619, ptr %t11607 + store i32 %t11613, ptr %t11606 + br label %put2364 +put2364: + %t11620 = load ptr, ptr %t11607 + %t11621 = getelementptr inbounds ptr, ptr %t11620, i32 %t11608 + store ptr @.str7690, ptr %t11621 + %t11622 = add i32 %t11608, 1 + store i32 %t11622, ptr %t11605 + br label %ifend2362 +ifend2362: + %t11623 = load ptr, ptr %t1 + %t11624 = call i32 @fn_str_eq(ptr %t11623, ptr @.str7691) + %t11625 = icmp ne i32 %t11624, 0 + br i1 %t11625, label %then2365, label %ifend2367 +then2365: + store ptr @.str7692, ptr %t380 + %t11626 = load ptr, ptr %t387 + %t11627 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 1 + %t11628 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 2 + %t11629 = getelementptr inbounds %LSlice, ptr %t11626, i32 0, i32 0 + %t11630 = load i32, ptr %t11627 + %t11631 = load i32, ptr %t11628 + %t11632 = icmp sge i32 %t11630, %t11631 + br i1 %t11632, label %grow2368, label %put2369 +grow2368: + %t11633 = mul i32 %t11631, 2 + %t11634 = icmp eq i32 %t11631, 0 + %t11635 = select i1 %t11634, i32 8, i32 %t11633 + %t11636 = getelementptr ptr, ptr null, i32 1 + %t11637 = ptrtoint ptr %t11636 to i64 + %t11638 = zext i32 %t11635 to i64 + %t11639 = mul i64 %t11638, %t11637 + %t11640 = load ptr, ptr %t11629 + %t11641 = call ptr @realloc(ptr %t11640, i64 %t11639) + store ptr %t11641, ptr %t11629 + store i32 %t11635, ptr %t11628 + br label %put2369 +put2369: + %t11642 = load ptr, ptr %t11629 + %t11643 = getelementptr inbounds ptr, ptr %t11642, i32 %t11630 + store ptr @.str7693, ptr %t11643 + %t11644 = add i32 %t11630, 1 + store i32 %t11644, ptr %t11627 + br label %ifend2367 +ifend2367: + %t11645 = load ptr, ptr %t1 + %t11646 = call i32 @fn_str_eq(ptr %t11645, ptr @.str7694) + %t11647 = icmp ne i32 %t11646, 0 + br i1 %t11647, label %then2370, label %ifend2372 +then2370: + store ptr @.str7695, ptr %t380 + %t11648 = load ptr, ptr %t387 + %t11649 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 1 + %t11650 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 2 + %t11651 = getelementptr inbounds %LSlice, ptr %t11648, i32 0, i32 0 + %t11652 = load i32, ptr %t11649 + %t11653 = load i32, ptr %t11650 + %t11654 = icmp sge i32 %t11652, %t11653 + br i1 %t11654, label %grow2373, label %put2374 +grow2373: + %t11655 = mul i32 %t11653, 2 + %t11656 = icmp eq i32 %t11653, 0 + %t11657 = select i1 %t11656, i32 8, i32 %t11655 + %t11658 = getelementptr ptr, ptr null, i32 1 + %t11659 = ptrtoint ptr %t11658 to i64 + %t11660 = zext i32 %t11657 to i64 + %t11661 = mul i64 %t11660, %t11659 + %t11662 = load ptr, ptr %t11651 + %t11663 = call ptr @realloc(ptr %t11662, i64 %t11661) + store ptr %t11663, ptr %t11651 + store i32 %t11657, ptr %t11650 + br label %put2374 +put2374: + %t11664 = load ptr, ptr %t11651 + %t11665 = getelementptr inbounds ptr, ptr %t11664, i32 %t11652 + store ptr @.str7696, ptr %t11665 + %t11666 = add i32 %t11652, 1 + store i32 %t11666, ptr %t11649 + %t11667 = load ptr, ptr %t387 + %t11668 = getelementptr inbounds %LSlice, ptr %t11667, i32 0, i32 1 + %t11669 = getelementptr inbounds %LSlice, ptr %t11667, i32 0, i32 2 + %t11670 = getelementptr inbounds %LSlice, ptr %t11667, i32 0, i32 0 + %t11671 = load i32, ptr %t11668 + %t11672 = load i32, ptr %t11669 + %t11673 = icmp sge i32 %t11671, %t11672 + br i1 %t11673, label %grow2375, label %put2376 grow2375: - %t11439 = mul i32 %t11437, 2 - %t11440 = icmp eq i32 %t11437, 0 - %t11441 = select i1 %t11440, i32 8, i32 %t11439 - %t11442 = getelementptr ptr, ptr null, i32 1 - %t11443 = ptrtoint ptr %t11442 to i64 - %t11444 = zext i32 %t11441 to i64 - %t11445 = mul i64 %t11444, %t11443 - %t11446 = load ptr, ptr %t11435 - %t11447 = call ptr @realloc(ptr %t11446, i64 %t11445) - store ptr %t11447, ptr %t11435 - store i32 %t11441, ptr %t11434 + %t11674 = mul i32 %t11672, 2 + %t11675 = icmp eq i32 %t11672, 0 + %t11676 = select i1 %t11675, i32 8, i32 %t11674 + %t11677 = getelementptr ptr, ptr null, i32 1 + %t11678 = ptrtoint ptr %t11677 to i64 + %t11679 = zext i32 %t11676 to i64 + %t11680 = mul i64 %t11679, %t11678 + %t11681 = load ptr, ptr %t11670 + %t11682 = call ptr @realloc(ptr %t11681, i64 %t11680) + store ptr %t11682, ptr %t11670 + store i32 %t11676, ptr %t11669 br label %put2376 put2376: - %t11448 = load ptr, ptr %t11435 - %t11449 = getelementptr inbounds ptr, ptr %t11448, i32 %t11436 - store ptr @.str7379, ptr %t11449 - %t11450 = add i32 %t11436, 1 - store i32 %t11450, ptr %t11433 - %t11451 = load ptr, ptr %t337 - %t11452 = getelementptr inbounds %LSlice, ptr %t11451, i32 0, i32 1 - %t11453 = getelementptr inbounds %LSlice, ptr %t11451, i32 0, i32 2 - %t11454 = getelementptr inbounds %LSlice, ptr %t11451, i32 0, i32 0 - %t11455 = load i32, ptr %t11452 - %t11456 = load i32, ptr %t11453 - %t11457 = icmp sge i32 %t11455, %t11456 - br i1 %t11457, label %grow2377, label %put2378 -grow2377: - %t11458 = mul i32 %t11456, 2 - %t11459 = icmp eq i32 %t11456, 0 - %t11460 = select i1 %t11459, i32 8, i32 %t11458 - %t11461 = getelementptr ptr, ptr null, i32 1 - %t11462 = ptrtoint ptr %t11461 to i64 - %t11463 = zext i32 %t11460 to i64 - %t11464 = mul i64 %t11463, %t11462 - %t11465 = load ptr, ptr %t11454 - %t11466 = call ptr @realloc(ptr %t11465, i64 %t11464) - store ptr %t11466, ptr %t11454 - store i32 %t11460, ptr %t11453 - br label %put2378 -put2378: - %t11467 = load ptr, ptr %t11454 - %t11468 = getelementptr inbounds ptr, ptr %t11467, i32 %t11455 - store ptr @.str7380, ptr %t11468 - %t11469 = add i32 %t11455, 1 - store i32 %t11469, ptr %t11452 - %t11470 = load ptr, ptr %t337 - %t11471 = getelementptr inbounds %LSlice, ptr %t11470, i32 0, i32 1 - %t11472 = getelementptr inbounds %LSlice, ptr %t11470, i32 0, i32 2 - %t11473 = getelementptr inbounds %LSlice, ptr %t11470, i32 0, i32 0 - %t11474 = load i32, ptr %t11471 - %t11475 = load i32, ptr %t11472 - %t11476 = icmp sge i32 %t11474, %t11475 - br i1 %t11476, label %grow2379, label %put2380 -grow2379: - %t11477 = mul i32 %t11475, 2 - %t11478 = icmp eq i32 %t11475, 0 - %t11479 = select i1 %t11478, i32 8, i32 %t11477 - %t11480 = getelementptr ptr, ptr null, i32 1 - %t11481 = ptrtoint ptr %t11480 to i64 - %t11482 = zext i32 %t11479 to i64 - %t11483 = mul i64 %t11482, %t11481 - %t11484 = load ptr, ptr %t11473 - %t11485 = call ptr @realloc(ptr %t11484, i64 %t11483) - store ptr %t11485, ptr %t11473 - store i32 %t11479, ptr %t11472 - br label %put2380 -put2380: - %t11486 = load ptr, ptr %t11473 - %t11487 = getelementptr inbounds ptr, ptr %t11486, i32 %t11474 - store ptr @.str7381, ptr %t11487 - %t11488 = add i32 %t11474, 1 - store i32 %t11488, ptr %t11471 - %t11489 = load ptr, ptr %t337 - %t11490 = getelementptr inbounds %LSlice, ptr %t11489, i32 0, i32 1 - %t11491 = getelementptr inbounds %LSlice, ptr %t11489, i32 0, i32 2 - %t11492 = getelementptr inbounds %LSlice, ptr %t11489, i32 0, i32 0 - %t11493 = load i32, ptr %t11490 - %t11494 = load i32, ptr %t11491 - %t11495 = icmp sge i32 %t11493, %t11494 - br i1 %t11495, label %grow2381, label %put2382 -grow2381: - %t11496 = mul i32 %t11494, 2 - %t11497 = icmp eq i32 %t11494, 0 - %t11498 = select i1 %t11497, i32 8, i32 %t11496 - %t11499 = getelementptr ptr, ptr null, i32 1 - %t11500 = ptrtoint ptr %t11499 to i64 - %t11501 = zext i32 %t11498 to i64 - %t11502 = mul i64 %t11501, %t11500 - %t11503 = load ptr, ptr %t11492 - %t11504 = call ptr @realloc(ptr %t11503, i64 %t11502) - store ptr %t11504, ptr %t11492 - store i32 %t11498, ptr %t11491 - br label %put2382 -put2382: - %t11505 = load ptr, ptr %t11492 - %t11506 = getelementptr inbounds ptr, ptr %t11505, i32 %t11493 - store ptr @.str7382, ptr %t11506 - %t11507 = add i32 %t11493, 1 - store i32 %t11507, ptr %t11490 - br label %ifend2374 -ifend2374: - %t11508 = load ptr, ptr %t1 - %t11509 = call i32 @fn_str_eq(ptr %t11508, ptr @.str7383) - %t11510 = icmp ne i32 %t11509, 0 - br i1 %t11510, label %then2383, label %ifend2385 -then2383: - store ptr @.str7384, ptr %t330 - %t11511 = load ptr, ptr %t337 - %t11512 = getelementptr inbounds %LSlice, ptr %t11511, i32 0, i32 1 - %t11513 = getelementptr inbounds %LSlice, ptr %t11511, i32 0, i32 2 - %t11514 = getelementptr inbounds %LSlice, ptr %t11511, i32 0, i32 0 - %t11515 = load i32, ptr %t11512 - %t11516 = load i32, ptr %t11513 - %t11517 = icmp sge i32 %t11515, %t11516 - br i1 %t11517, label %grow2386, label %put2387 -grow2386: - %t11518 = mul i32 %t11516, 2 - %t11519 = icmp eq i32 %t11516, 0 - %t11520 = select i1 %t11519, i32 8, i32 %t11518 - %t11521 = getelementptr ptr, ptr null, i32 1 - %t11522 = ptrtoint ptr %t11521 to i64 - %t11523 = zext i32 %t11520 to i64 - %t11524 = mul i64 %t11523, %t11522 - %t11525 = load ptr, ptr %t11514 - %t11526 = call ptr @realloc(ptr %t11525, i64 %t11524) - store ptr %t11526, ptr %t11514 - store i32 %t11520, ptr %t11513 - br label %put2387 -put2387: - %t11527 = load ptr, ptr %t11514 - %t11528 = getelementptr inbounds ptr, ptr %t11527, i32 %t11515 - store ptr @.str7385, ptr %t11528 - %t11529 = add i32 %t11515, 1 - store i32 %t11529, ptr %t11512 - %t11530 = load ptr, ptr %t337 - %t11531 = getelementptr inbounds %LSlice, ptr %t11530, i32 0, i32 1 - %t11532 = getelementptr inbounds %LSlice, ptr %t11530, i32 0, i32 2 - %t11533 = getelementptr inbounds %LSlice, ptr %t11530, i32 0, i32 0 - %t11534 = load i32, ptr %t11531 - %t11535 = load i32, ptr %t11532 - %t11536 = icmp sge i32 %t11534, %t11535 - br i1 %t11536, label %grow2388, label %put2389 + %t11683 = load ptr, ptr %t11670 + %t11684 = getelementptr inbounds ptr, ptr %t11683, i32 %t11671 + store ptr @.str7697, ptr %t11684 + %t11685 = add i32 %t11671, 1 + store i32 %t11685, ptr %t11668 + br label %ifend2372 +ifend2372: + br label %ifend2330 +ifend2330: + %t11686 = load ptr, ptr %t0 + %t11687 = call i32 @fn_str_eq(ptr %t11686, ptr @.str7698) + %t11688 = icmp ne i32 %t11687, 0 + br i1 %t11688, label %then2377, label %ifend2379 +then2377: + %t11689 = load ptr, ptr %t1 + %t11690 = call i32 @fn_str_eq(ptr %t11689, ptr @.str7699) + %t11691 = icmp ne i32 %t11690, 0 + br i1 %t11691, label %then2380, label %ifend2382 +then2380: + store ptr @.str7700, ptr %t380 + %t11692 = load ptr, ptr %t387 + %t11693 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 1 + %t11694 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 2 + %t11695 = getelementptr inbounds %LSlice, ptr %t11692, i32 0, i32 0 + %t11696 = load i32, ptr %t11693 + %t11697 = load i32, ptr %t11694 + %t11698 = icmp sge i32 %t11696, %t11697 + br i1 %t11698, label %grow2383, label %put2384 +grow2383: + %t11699 = mul i32 %t11697, 2 + %t11700 = icmp eq i32 %t11697, 0 + %t11701 = select i1 %t11700, i32 8, i32 %t11699 + %t11702 = getelementptr ptr, ptr null, i32 1 + %t11703 = ptrtoint ptr %t11702 to i64 + %t11704 = zext i32 %t11701 to i64 + %t11705 = mul i64 %t11704, %t11703 + %t11706 = load ptr, ptr %t11695 + %t11707 = call ptr @realloc(ptr %t11706, i64 %t11705) + store ptr %t11707, ptr %t11695 + store i32 %t11701, ptr %t11694 + br label %put2384 +put2384: + %t11708 = load ptr, ptr %t11695 + %t11709 = getelementptr inbounds ptr, ptr %t11708, i32 %t11696 + store ptr @.str7701, ptr %t11709 + %t11710 = add i32 %t11696, 1 + store i32 %t11710, ptr %t11693 + br label %ifend2382 +ifend2382: + %t11711 = load ptr, ptr %t1 + %t11712 = call i32 @fn_str_eq(ptr %t11711, ptr @.str7702) + %t11713 = icmp ne i32 %t11712, 0 + br i1 %t11713, label %then2385, label %ifend2387 +then2385: + store ptr @.str7703, ptr %t380 + %t11714 = load ptr, ptr %t387 + %t11715 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 1 + %t11716 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 2 + %t11717 = getelementptr inbounds %LSlice, ptr %t11714, i32 0, i32 0 + %t11718 = load i32, ptr %t11715 + %t11719 = load i32, ptr %t11716 + %t11720 = icmp sge i32 %t11718, %t11719 + br i1 %t11720, label %grow2388, label %put2389 grow2388: - %t11537 = mul i32 %t11535, 2 - %t11538 = icmp eq i32 %t11535, 0 - %t11539 = select i1 %t11538, i32 8, i32 %t11537 - %t11540 = getelementptr ptr, ptr null, i32 1 - %t11541 = ptrtoint ptr %t11540 to i64 - %t11542 = zext i32 %t11539 to i64 - %t11543 = mul i64 %t11542, %t11541 - %t11544 = load ptr, ptr %t11533 - %t11545 = call ptr @realloc(ptr %t11544, i64 %t11543) - store ptr %t11545, ptr %t11533 - store i32 %t11539, ptr %t11532 + %t11721 = mul i32 %t11719, 2 + %t11722 = icmp eq i32 %t11719, 0 + %t11723 = select i1 %t11722, i32 8, i32 %t11721 + %t11724 = getelementptr ptr, ptr null, i32 1 + %t11725 = ptrtoint ptr %t11724 to i64 + %t11726 = zext i32 %t11723 to i64 + %t11727 = mul i64 %t11726, %t11725 + %t11728 = load ptr, ptr %t11717 + %t11729 = call ptr @realloc(ptr %t11728, i64 %t11727) + store ptr %t11729, ptr %t11717 + store i32 %t11723, ptr %t11716 br label %put2389 put2389: - %t11546 = load ptr, ptr %t11533 - %t11547 = getelementptr inbounds ptr, ptr %t11546, i32 %t11534 - store ptr @.str7386, ptr %t11547 - %t11548 = add i32 %t11534, 1 - store i32 %t11548, ptr %t11531 - br label %ifend2385 -ifend2385: - %t11549 = load ptr, ptr %t1 - %t11550 = call i32 @fn_str_eq(ptr %t11549, ptr @.str7387) - %t11551 = icmp ne i32 %t11550, 0 - br i1 %t11551, label %then2390, label %ifend2392 + %t11730 = load ptr, ptr %t11717 + %t11731 = getelementptr inbounds ptr, ptr %t11730, i32 %t11718 + store ptr @.str7704, ptr %t11731 + %t11732 = add i32 %t11718, 1 + store i32 %t11732, ptr %t11715 + br label %ifend2387 +ifend2387: + %t11733 = load ptr, ptr %t1 + %t11734 = call i32 @fn_str_eq(ptr %t11733, ptr @.str7705) + %t11735 = icmp ne i32 %t11734, 0 + br i1 %t11735, label %then2390, label %ifend2392 then2390: - store ptr @.str7388, ptr %t330 - %t11552 = load ptr, ptr %t337 - %t11553 = getelementptr inbounds %LSlice, ptr %t11552, i32 0, i32 1 - %t11554 = getelementptr inbounds %LSlice, ptr %t11552, i32 0, i32 2 - %t11555 = getelementptr inbounds %LSlice, ptr %t11552, i32 0, i32 0 - %t11556 = load i32, ptr %t11553 - %t11557 = load i32, ptr %t11554 - %t11558 = icmp sge i32 %t11556, %t11557 - br i1 %t11558, label %grow2393, label %put2394 + store ptr @.str7706, ptr %t380 + %t11736 = load ptr, ptr %t387 + %t11737 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 1 + %t11738 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 2 + %t11739 = getelementptr inbounds %LSlice, ptr %t11736, i32 0, i32 0 + %t11740 = load i32, ptr %t11737 + %t11741 = load i32, ptr %t11738 + %t11742 = icmp sge i32 %t11740, %t11741 + br i1 %t11742, label %grow2393, label %put2394 grow2393: - %t11559 = mul i32 %t11557, 2 - %t11560 = icmp eq i32 %t11557, 0 - %t11561 = select i1 %t11560, i32 8, i32 %t11559 - %t11562 = getelementptr ptr, ptr null, i32 1 - %t11563 = ptrtoint ptr %t11562 to i64 - %t11564 = zext i32 %t11561 to i64 - %t11565 = mul i64 %t11564, %t11563 - %t11566 = load ptr, ptr %t11555 - %t11567 = call ptr @realloc(ptr %t11566, i64 %t11565) - store ptr %t11567, ptr %t11555 - store i32 %t11561, ptr %t11554 + %t11743 = mul i32 %t11741, 2 + %t11744 = icmp eq i32 %t11741, 0 + %t11745 = select i1 %t11744, i32 8, i32 %t11743 + %t11746 = getelementptr ptr, ptr null, i32 1 + %t11747 = ptrtoint ptr %t11746 to i64 + %t11748 = zext i32 %t11745 to i64 + %t11749 = mul i64 %t11748, %t11747 + %t11750 = load ptr, ptr %t11739 + %t11751 = call ptr @realloc(ptr %t11750, i64 %t11749) + store ptr %t11751, ptr %t11739 + store i32 %t11745, ptr %t11738 br label %put2394 put2394: - %t11568 = load ptr, ptr %t11555 - %t11569 = getelementptr inbounds ptr, ptr %t11568, i32 %t11556 - store ptr @.str7389, ptr %t11569 - %t11570 = add i32 %t11556, 1 - store i32 %t11570, ptr %t11553 - br label %ifend2392 -ifend2392: - %t11571 = load ptr, ptr %t1 - %t11572 = call i32 @fn_str_eq(ptr %t11571, ptr @.str7390) - %t11573 = icmp ne i32 %t11572, 0 - br i1 %t11573, label %then2395, label %ifend2397 -then2395: - store ptr @.str7391, ptr %t330 - %t11574 = load ptr, ptr %t337 - %t11575 = getelementptr inbounds %LSlice, ptr %t11574, i32 0, i32 1 - %t11576 = getelementptr inbounds %LSlice, ptr %t11574, i32 0, i32 2 - %t11577 = getelementptr inbounds %LSlice, ptr %t11574, i32 0, i32 0 - %t11578 = load i32, ptr %t11575 - %t11579 = load i32, ptr %t11576 - %t11580 = icmp sge i32 %t11578, %t11579 - br i1 %t11580, label %grow2398, label %put2399 -grow2398: - %t11581 = mul i32 %t11579, 2 - %t11582 = icmp eq i32 %t11579, 0 - %t11583 = select i1 %t11582, i32 8, i32 %t11581 - %t11584 = getelementptr ptr, ptr null, i32 1 - %t11585 = ptrtoint ptr %t11584 to i64 - %t11586 = zext i32 %t11583 to i64 - %t11587 = mul i64 %t11586, %t11585 - %t11588 = load ptr, ptr %t11577 - %t11589 = call ptr @realloc(ptr %t11588, i64 %t11587) - store ptr %t11589, ptr %t11577 - store i32 %t11583, ptr %t11576 - br label %put2399 -put2399: - %t11590 = load ptr, ptr %t11577 - %t11591 = getelementptr inbounds ptr, ptr %t11590, i32 %t11578 - store ptr @.str7392, ptr %t11591 - %t11592 = add i32 %t11578, 1 - store i32 %t11592, ptr %t11575 - br label %ifend2397 -ifend2397: - %t11593 = load ptr, ptr %t1 - %t11594 = call i32 @fn_str_eq(ptr %t11593, ptr @.str7393) - %t11595 = icmp ne i32 %t11594, 0 - br i1 %t11595, label %then2400, label %ifend2402 -then2400: - store ptr @.str7394, ptr %t330 - %t11596 = load ptr, ptr %t337 - %t11597 = getelementptr inbounds %LSlice, ptr %t11596, i32 0, i32 1 - %t11598 = getelementptr inbounds %LSlice, ptr %t11596, i32 0, i32 2 - %t11599 = getelementptr inbounds %LSlice, ptr %t11596, i32 0, i32 0 - %t11600 = load i32, ptr %t11597 - %t11601 = load i32, ptr %t11598 - %t11602 = icmp sge i32 %t11600, %t11601 - br i1 %t11602, label %grow2403, label %put2404 + %t11752 = load ptr, ptr %t11739 + %t11753 = getelementptr inbounds ptr, ptr %t11752, i32 %t11740 + store ptr @.str7707, ptr %t11753 + %t11754 = add i32 %t11740, 1 + store i32 %t11754, ptr %t11737 + %t11755 = load ptr, ptr %t387 + %t11756 = getelementptr inbounds %LSlice, ptr %t11755, i32 0, i32 1 + %t11757 = getelementptr inbounds %LSlice, ptr %t11755, i32 0, i32 2 + %t11758 = getelementptr inbounds %LSlice, ptr %t11755, i32 0, i32 0 + %t11759 = load i32, ptr %t11756 + %t11760 = load i32, ptr %t11757 + %t11761 = icmp sge i32 %t11759, %t11760 + br i1 %t11761, label %grow2395, label %put2396 +grow2395: + %t11762 = mul i32 %t11760, 2 + %t11763 = icmp eq i32 %t11760, 0 + %t11764 = select i1 %t11763, i32 8, i32 %t11762 + %t11765 = getelementptr ptr, ptr null, i32 1 + %t11766 = ptrtoint ptr %t11765 to i64 + %t11767 = zext i32 %t11764 to i64 + %t11768 = mul i64 %t11767, %t11766 + %t11769 = load ptr, ptr %t11758 + %t11770 = call ptr @realloc(ptr %t11769, i64 %t11768) + store ptr %t11770, ptr %t11758 + store i32 %t11764, ptr %t11757 + br label %put2396 +put2396: + %t11771 = load ptr, ptr %t11758 + %t11772 = getelementptr inbounds ptr, ptr %t11771, i32 %t11759 + store ptr @.str7708, ptr %t11772 + %t11773 = add i32 %t11759, 1 + store i32 %t11773, ptr %t11756 + %t11774 = load ptr, ptr %t387 + %t11775 = getelementptr inbounds %LSlice, ptr %t11774, i32 0, i32 1 + %t11776 = getelementptr inbounds %LSlice, ptr %t11774, i32 0, i32 2 + %t11777 = getelementptr inbounds %LSlice, ptr %t11774, i32 0, i32 0 + %t11778 = load i32, ptr %t11775 + %t11779 = load i32, ptr %t11776 + %t11780 = icmp sge i32 %t11778, %t11779 + br i1 %t11780, label %grow2397, label %put2398 +grow2397: + %t11781 = mul i32 %t11779, 2 + %t11782 = icmp eq i32 %t11779, 0 + %t11783 = select i1 %t11782, i32 8, i32 %t11781 + %t11784 = getelementptr ptr, ptr null, i32 1 + %t11785 = ptrtoint ptr %t11784 to i64 + %t11786 = zext i32 %t11783 to i64 + %t11787 = mul i64 %t11786, %t11785 + %t11788 = load ptr, ptr %t11777 + %t11789 = call ptr @realloc(ptr %t11788, i64 %t11787) + store ptr %t11789, ptr %t11777 + store i32 %t11783, ptr %t11776 + br label %put2398 +put2398: + %t11790 = load ptr, ptr %t11777 + %t11791 = getelementptr inbounds ptr, ptr %t11790, i32 %t11778 + store ptr @.str7709, ptr %t11791 + %t11792 = add i32 %t11778, 1 + store i32 %t11792, ptr %t11775 + %t11793 = load ptr, ptr %t387 + %t11794 = getelementptr inbounds %LSlice, ptr %t11793, i32 0, i32 1 + %t11795 = getelementptr inbounds %LSlice, ptr %t11793, i32 0, i32 2 + %t11796 = getelementptr inbounds %LSlice, ptr %t11793, i32 0, i32 0 + %t11797 = load i32, ptr %t11794 + %t11798 = load i32, ptr %t11795 + %t11799 = icmp sge i32 %t11797, %t11798 + br i1 %t11799, label %grow2399, label %put2400 +grow2399: + %t11800 = mul i32 %t11798, 2 + %t11801 = icmp eq i32 %t11798, 0 + %t11802 = select i1 %t11801, i32 8, i32 %t11800 + %t11803 = getelementptr ptr, ptr null, i32 1 + %t11804 = ptrtoint ptr %t11803 to i64 + %t11805 = zext i32 %t11802 to i64 + %t11806 = mul i64 %t11805, %t11804 + %t11807 = load ptr, ptr %t11796 + %t11808 = call ptr @realloc(ptr %t11807, i64 %t11806) + store ptr %t11808, ptr %t11796 + store i32 %t11802, ptr %t11795 + br label %put2400 +put2400: + %t11809 = load ptr, ptr %t11796 + %t11810 = getelementptr inbounds ptr, ptr %t11809, i32 %t11797 + store ptr @.str7710, ptr %t11810 + %t11811 = add i32 %t11797, 1 + store i32 %t11811, ptr %t11794 + %t11812 = load ptr, ptr %t387 + %t11813 = getelementptr inbounds %LSlice, ptr %t11812, i32 0, i32 1 + %t11814 = getelementptr inbounds %LSlice, ptr %t11812, i32 0, i32 2 + %t11815 = getelementptr inbounds %LSlice, ptr %t11812, i32 0, i32 0 + %t11816 = load i32, ptr %t11813 + %t11817 = load i32, ptr %t11814 + %t11818 = icmp sge i32 %t11816, %t11817 + br i1 %t11818, label %grow2401, label %put2402 +grow2401: + %t11819 = mul i32 %t11817, 2 + %t11820 = icmp eq i32 %t11817, 0 + %t11821 = select i1 %t11820, i32 8, i32 %t11819 + %t11822 = getelementptr ptr, ptr null, i32 1 + %t11823 = ptrtoint ptr %t11822 to i64 + %t11824 = zext i32 %t11821 to i64 + %t11825 = mul i64 %t11824, %t11823 + %t11826 = load ptr, ptr %t11815 + %t11827 = call ptr @realloc(ptr %t11826, i64 %t11825) + store ptr %t11827, ptr %t11815 + store i32 %t11821, ptr %t11814 + br label %put2402 +put2402: + %t11828 = load ptr, ptr %t11815 + %t11829 = getelementptr inbounds ptr, ptr %t11828, i32 %t11816 + store ptr @.str7711, ptr %t11829 + %t11830 = add i32 %t11816, 1 + store i32 %t11830, ptr %t11813 + %t11831 = load ptr, ptr %t387 + %t11832 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 1 + %t11833 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 2 + %t11834 = getelementptr inbounds %LSlice, ptr %t11831, i32 0, i32 0 + %t11835 = load i32, ptr %t11832 + %t11836 = load i32, ptr %t11833 + %t11837 = icmp sge i32 %t11835, %t11836 + br i1 %t11837, label %grow2403, label %put2404 grow2403: - %t11603 = mul i32 %t11601, 2 - %t11604 = icmp eq i32 %t11601, 0 - %t11605 = select i1 %t11604, i32 8, i32 %t11603 - %t11606 = getelementptr ptr, ptr null, i32 1 - %t11607 = ptrtoint ptr %t11606 to i64 - %t11608 = zext i32 %t11605 to i64 - %t11609 = mul i64 %t11608, %t11607 - %t11610 = load ptr, ptr %t11599 - %t11611 = call ptr @realloc(ptr %t11610, i64 %t11609) - store ptr %t11611, ptr %t11599 - store i32 %t11605, ptr %t11598 + %t11838 = mul i32 %t11836, 2 + %t11839 = icmp eq i32 %t11836, 0 + %t11840 = select i1 %t11839, i32 8, i32 %t11838 + %t11841 = getelementptr ptr, ptr null, i32 1 + %t11842 = ptrtoint ptr %t11841 to i64 + %t11843 = zext i32 %t11840 to i64 + %t11844 = mul i64 %t11843, %t11842 + %t11845 = load ptr, ptr %t11834 + %t11846 = call ptr @realloc(ptr %t11845, i64 %t11844) + store ptr %t11846, ptr %t11834 + store i32 %t11840, ptr %t11833 br label %put2404 put2404: - %t11612 = load ptr, ptr %t11599 - %t11613 = getelementptr inbounds ptr, ptr %t11612, i32 %t11600 - store ptr @.str7395, ptr %t11613 - %t11614 = add i32 %t11600, 1 - store i32 %t11614, ptr %t11597 - br label %ifend2402 -ifend2402: - %t11615 = load ptr, ptr %t1 - %t11616 = call i32 @fn_str_eq(ptr %t11615, ptr @.str7396) - %t11617 = icmp ne i32 %t11616, 0 - br i1 %t11617, label %then2405, label %ifend2407 + %t11847 = load ptr, ptr %t11834 + %t11848 = getelementptr inbounds ptr, ptr %t11847, i32 %t11835 + store ptr @.str7712, ptr %t11848 + %t11849 = add i32 %t11835, 1 + store i32 %t11849, ptr %t11832 + br label %ifend2392 +ifend2392: + %t11850 = load ptr, ptr %t1 + %t11851 = call i32 @fn_str_eq(ptr %t11850, ptr @.str7713) + %t11852 = icmp ne i32 %t11851, 0 + br i1 %t11852, label %then2405, label %ifend2407 then2405: - store ptr @.str7397, ptr %t330 - %t11618 = load ptr, ptr %t337 - %t11619 = getelementptr inbounds %LSlice, ptr %t11618, i32 0, i32 1 - %t11620 = getelementptr inbounds %LSlice, ptr %t11618, i32 0, i32 2 - %t11621 = getelementptr inbounds %LSlice, ptr %t11618, i32 0, i32 0 - %t11622 = load i32, ptr %t11619 - %t11623 = load i32, ptr %t11620 - %t11624 = icmp sge i32 %t11622, %t11623 - br i1 %t11624, label %grow2408, label %put2409 + store ptr @.str7714, ptr %t380 + %t11853 = load ptr, ptr %t387 + %t11854 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 1 + %t11855 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 2 + %t11856 = getelementptr inbounds %LSlice, ptr %t11853, i32 0, i32 0 + %t11857 = load i32, ptr %t11854 + %t11858 = load i32, ptr %t11855 + %t11859 = icmp sge i32 %t11857, %t11858 + br i1 %t11859, label %grow2408, label %put2409 grow2408: - %t11625 = mul i32 %t11623, 2 - %t11626 = icmp eq i32 %t11623, 0 - %t11627 = select i1 %t11626, i32 8, i32 %t11625 - %t11628 = getelementptr ptr, ptr null, i32 1 - %t11629 = ptrtoint ptr %t11628 to i64 - %t11630 = zext i32 %t11627 to i64 - %t11631 = mul i64 %t11630, %t11629 - %t11632 = load ptr, ptr %t11621 - %t11633 = call ptr @realloc(ptr %t11632, i64 %t11631) - store ptr %t11633, ptr %t11621 - store i32 %t11627, ptr %t11620 + %t11860 = mul i32 %t11858, 2 + %t11861 = icmp eq i32 %t11858, 0 + %t11862 = select i1 %t11861, i32 8, i32 %t11860 + %t11863 = getelementptr ptr, ptr null, i32 1 + %t11864 = ptrtoint ptr %t11863 to i64 + %t11865 = zext i32 %t11862 to i64 + %t11866 = mul i64 %t11865, %t11864 + %t11867 = load ptr, ptr %t11856 + %t11868 = call ptr @realloc(ptr %t11867, i64 %t11866) + store ptr %t11868, ptr %t11856 + store i32 %t11862, ptr %t11855 br label %put2409 put2409: - %t11634 = load ptr, ptr %t11621 - %t11635 = getelementptr inbounds ptr, ptr %t11634, i32 %t11622 - store ptr @.str7398, ptr %t11635 - %t11636 = add i32 %t11622, 1 - store i32 %t11636, ptr %t11619 - %t11637 = load ptr, ptr %t337 - %t11638 = getelementptr inbounds %LSlice, ptr %t11637, i32 0, i32 1 - %t11639 = getelementptr inbounds %LSlice, ptr %t11637, i32 0, i32 2 - %t11640 = getelementptr inbounds %LSlice, ptr %t11637, i32 0, i32 0 - %t11641 = load i32, ptr %t11638 - %t11642 = load i32, ptr %t11639 - %t11643 = icmp sge i32 %t11641, %t11642 - br i1 %t11643, label %grow2410, label %put2411 + %t11869 = load ptr, ptr %t11856 + %t11870 = getelementptr inbounds ptr, ptr %t11869, i32 %t11857 + store ptr @.str7715, ptr %t11870 + %t11871 = add i32 %t11857, 1 + store i32 %t11871, ptr %t11854 + %t11872 = load ptr, ptr %t387 + %t11873 = getelementptr inbounds %LSlice, ptr %t11872, i32 0, i32 1 + %t11874 = getelementptr inbounds %LSlice, ptr %t11872, i32 0, i32 2 + %t11875 = getelementptr inbounds %LSlice, ptr %t11872, i32 0, i32 0 + %t11876 = load i32, ptr %t11873 + %t11877 = load i32, ptr %t11874 + %t11878 = icmp sge i32 %t11876, %t11877 + br i1 %t11878, label %grow2410, label %put2411 grow2410: - %t11644 = mul i32 %t11642, 2 - %t11645 = icmp eq i32 %t11642, 0 - %t11646 = select i1 %t11645, i32 8, i32 %t11644 - %t11647 = getelementptr ptr, ptr null, i32 1 - %t11648 = ptrtoint ptr %t11647 to i64 - %t11649 = zext i32 %t11646 to i64 - %t11650 = mul i64 %t11649, %t11648 - %t11651 = load ptr, ptr %t11640 - %t11652 = call ptr @realloc(ptr %t11651, i64 %t11650) - store ptr %t11652, ptr %t11640 - store i32 %t11646, ptr %t11639 + %t11879 = mul i32 %t11877, 2 + %t11880 = icmp eq i32 %t11877, 0 + %t11881 = select i1 %t11880, i32 8, i32 %t11879 + %t11882 = getelementptr ptr, ptr null, i32 1 + %t11883 = ptrtoint ptr %t11882 to i64 + %t11884 = zext i32 %t11881 to i64 + %t11885 = mul i64 %t11884, %t11883 + %t11886 = load ptr, ptr %t11875 + %t11887 = call ptr @realloc(ptr %t11886, i64 %t11885) + store ptr %t11887, ptr %t11875 + store i32 %t11881, ptr %t11874 br label %put2411 put2411: - %t11653 = load ptr, ptr %t11640 - %t11654 = getelementptr inbounds ptr, ptr %t11653, i32 %t11641 - store ptr @.str7399, ptr %t11654 - %t11655 = add i32 %t11641, 1 - store i32 %t11655, ptr %t11638 + %t11888 = load ptr, ptr %t11875 + %t11889 = getelementptr inbounds ptr, ptr %t11888, i32 %t11876 + store ptr @.str7716, ptr %t11889 + %t11890 = add i32 %t11876, 1 + store i32 %t11890, ptr %t11873 + %t11891 = load ptr, ptr %t387 + %t11892 = getelementptr inbounds %LSlice, ptr %t11891, i32 0, i32 1 + %t11893 = getelementptr inbounds %LSlice, ptr %t11891, i32 0, i32 2 + %t11894 = getelementptr inbounds %LSlice, ptr %t11891, i32 0, i32 0 + %t11895 = load i32, ptr %t11892 + %t11896 = load i32, ptr %t11893 + %t11897 = icmp sge i32 %t11895, %t11896 + br i1 %t11897, label %grow2412, label %put2413 +grow2412: + %t11898 = mul i32 %t11896, 2 + %t11899 = icmp eq i32 %t11896, 0 + %t11900 = select i1 %t11899, i32 8, i32 %t11898 + %t11901 = getelementptr ptr, ptr null, i32 1 + %t11902 = ptrtoint ptr %t11901 to i64 + %t11903 = zext i32 %t11900 to i64 + %t11904 = mul i64 %t11903, %t11902 + %t11905 = load ptr, ptr %t11894 + %t11906 = call ptr @realloc(ptr %t11905, i64 %t11904) + store ptr %t11906, ptr %t11894 + store i32 %t11900, ptr %t11893 + br label %put2413 +put2413: + %t11907 = load ptr, ptr %t11894 + %t11908 = getelementptr inbounds ptr, ptr %t11907, i32 %t11895 + store ptr @.str7717, ptr %t11908 + %t11909 = add i32 %t11895, 1 + store i32 %t11909, ptr %t11892 + %t11910 = load ptr, ptr %t387 + %t11911 = getelementptr inbounds %LSlice, ptr %t11910, i32 0, i32 1 + %t11912 = getelementptr inbounds %LSlice, ptr %t11910, i32 0, i32 2 + %t11913 = getelementptr inbounds %LSlice, ptr %t11910, i32 0, i32 0 + %t11914 = load i32, ptr %t11911 + %t11915 = load i32, ptr %t11912 + %t11916 = icmp sge i32 %t11914, %t11915 + br i1 %t11916, label %grow2414, label %put2415 +grow2414: + %t11917 = mul i32 %t11915, 2 + %t11918 = icmp eq i32 %t11915, 0 + %t11919 = select i1 %t11918, i32 8, i32 %t11917 + %t11920 = getelementptr ptr, ptr null, i32 1 + %t11921 = ptrtoint ptr %t11920 to i64 + %t11922 = zext i32 %t11919 to i64 + %t11923 = mul i64 %t11922, %t11921 + %t11924 = load ptr, ptr %t11913 + %t11925 = call ptr @realloc(ptr %t11924, i64 %t11923) + store ptr %t11925, ptr %t11913 + store i32 %t11919, ptr %t11912 + br label %put2415 +put2415: + %t11926 = load ptr, ptr %t11913 + %t11927 = getelementptr inbounds ptr, ptr %t11926, i32 %t11914 + store ptr @.str7718, ptr %t11927 + %t11928 = add i32 %t11914, 1 + store i32 %t11928, ptr %t11911 + %t11929 = load ptr, ptr %t387 + %t11930 = getelementptr inbounds %LSlice, ptr %t11929, i32 0, i32 1 + %t11931 = getelementptr inbounds %LSlice, ptr %t11929, i32 0, i32 2 + %t11932 = getelementptr inbounds %LSlice, ptr %t11929, i32 0, i32 0 + %t11933 = load i32, ptr %t11930 + %t11934 = load i32, ptr %t11931 + %t11935 = icmp sge i32 %t11933, %t11934 + br i1 %t11935, label %grow2416, label %put2417 +grow2416: + %t11936 = mul i32 %t11934, 2 + %t11937 = icmp eq i32 %t11934, 0 + %t11938 = select i1 %t11937, i32 8, i32 %t11936 + %t11939 = getelementptr ptr, ptr null, i32 1 + %t11940 = ptrtoint ptr %t11939 to i64 + %t11941 = zext i32 %t11938 to i64 + %t11942 = mul i64 %t11941, %t11940 + %t11943 = load ptr, ptr %t11932 + %t11944 = call ptr @realloc(ptr %t11943, i64 %t11942) + store ptr %t11944, ptr %t11932 + store i32 %t11938, ptr %t11931 + br label %put2417 +put2417: + %t11945 = load ptr, ptr %t11932 + %t11946 = getelementptr inbounds ptr, ptr %t11945, i32 %t11933 + store ptr @.str7719, ptr %t11946 + %t11947 = add i32 %t11933, 1 + store i32 %t11947, ptr %t11930 + %t11948 = load ptr, ptr %t387 + %t11949 = getelementptr inbounds %LSlice, ptr %t11948, i32 0, i32 1 + %t11950 = getelementptr inbounds %LSlice, ptr %t11948, i32 0, i32 2 + %t11951 = getelementptr inbounds %LSlice, ptr %t11948, i32 0, i32 0 + %t11952 = load i32, ptr %t11949 + %t11953 = load i32, ptr %t11950 + %t11954 = icmp sge i32 %t11952, %t11953 + br i1 %t11954, label %grow2418, label %put2419 +grow2418: + %t11955 = mul i32 %t11953, 2 + %t11956 = icmp eq i32 %t11953, 0 + %t11957 = select i1 %t11956, i32 8, i32 %t11955 + %t11958 = getelementptr ptr, ptr null, i32 1 + %t11959 = ptrtoint ptr %t11958 to i64 + %t11960 = zext i32 %t11957 to i64 + %t11961 = mul i64 %t11960, %t11959 + %t11962 = load ptr, ptr %t11951 + %t11963 = call ptr @realloc(ptr %t11962, i64 %t11961) + store ptr %t11963, ptr %t11951 + store i32 %t11957, ptr %t11950 + br label %put2419 +put2419: + %t11964 = load ptr, ptr %t11951 + %t11965 = getelementptr inbounds ptr, ptr %t11964, i32 %t11952 + store ptr @.str7720, ptr %t11965 + %t11966 = add i32 %t11952, 1 + store i32 %t11966, ptr %t11949 + %t11967 = load ptr, ptr %t387 + %t11968 = getelementptr inbounds %LSlice, ptr %t11967, i32 0, i32 1 + %t11969 = getelementptr inbounds %LSlice, ptr %t11967, i32 0, i32 2 + %t11970 = getelementptr inbounds %LSlice, ptr %t11967, i32 0, i32 0 + %t11971 = load i32, ptr %t11968 + %t11972 = load i32, ptr %t11969 + %t11973 = icmp sge i32 %t11971, %t11972 + br i1 %t11973, label %grow2420, label %put2421 +grow2420: + %t11974 = mul i32 %t11972, 2 + %t11975 = icmp eq i32 %t11972, 0 + %t11976 = select i1 %t11975, i32 8, i32 %t11974 + %t11977 = getelementptr ptr, ptr null, i32 1 + %t11978 = ptrtoint ptr %t11977 to i64 + %t11979 = zext i32 %t11976 to i64 + %t11980 = mul i64 %t11979, %t11978 + %t11981 = load ptr, ptr %t11970 + %t11982 = call ptr @realloc(ptr %t11981, i64 %t11980) + store ptr %t11982, ptr %t11970 + store i32 %t11976, ptr %t11969 + br label %put2421 +put2421: + %t11983 = load ptr, ptr %t11970 + %t11984 = getelementptr inbounds ptr, ptr %t11983, i32 %t11971 + store ptr @.str7721, ptr %t11984 + %t11985 = add i32 %t11971, 1 + store i32 %t11985, ptr %t11968 br label %ifend2407 ifend2407: - %t11656 = load ptr, ptr %t1 - %t11657 = call i32 @fn_str_eq(ptr %t11656, ptr @.str7400) - %t11658 = icmp ne i32 %t11657, 0 - br i1 %t11658, label %then2412, label %ifend2414 -then2412: - store ptr @.str7401, ptr %t330 - %t11659 = load ptr, ptr %t337 - %t11660 = getelementptr inbounds %LSlice, ptr %t11659, i32 0, i32 1 - %t11661 = getelementptr inbounds %LSlice, ptr %t11659, i32 0, i32 2 - %t11662 = getelementptr inbounds %LSlice, ptr %t11659, i32 0, i32 0 - %t11663 = load i32, ptr %t11660 - %t11664 = load i32, ptr %t11661 - %t11665 = icmp sge i32 %t11663, %t11664 - br i1 %t11665, label %grow2415, label %put2416 -grow2415: - %t11666 = mul i32 %t11664, 2 - %t11667 = icmp eq i32 %t11664, 0 - %t11668 = select i1 %t11667, i32 8, i32 %t11666 - %t11669 = getelementptr ptr, ptr null, i32 1 - %t11670 = ptrtoint ptr %t11669 to i64 - %t11671 = zext i32 %t11668 to i64 - %t11672 = mul i64 %t11671, %t11670 - %t11673 = load ptr, ptr %t11662 - %t11674 = call ptr @realloc(ptr %t11673, i64 %t11672) - store ptr %t11674, ptr %t11662 - store i32 %t11668, ptr %t11661 - br label %put2416 -put2416: - %t11675 = load ptr, ptr %t11662 - %t11676 = getelementptr inbounds ptr, ptr %t11675, i32 %t11663 - store ptr @.str7402, ptr %t11676 - %t11677 = add i32 %t11663, 1 - store i32 %t11677, ptr %t11660 - %t11678 = load ptr, ptr %t337 - %t11679 = getelementptr inbounds %LSlice, ptr %t11678, i32 0, i32 1 - %t11680 = getelementptr inbounds %LSlice, ptr %t11678, i32 0, i32 2 - %t11681 = getelementptr inbounds %LSlice, ptr %t11678, i32 0, i32 0 - %t11682 = load i32, ptr %t11679 - %t11683 = load i32, ptr %t11680 - %t11684 = icmp sge i32 %t11682, %t11683 - br i1 %t11684, label %grow2417, label %put2418 -grow2417: - %t11685 = mul i32 %t11683, 2 - %t11686 = icmp eq i32 %t11683, 0 - %t11687 = select i1 %t11686, i32 8, i32 %t11685 - %t11688 = getelementptr ptr, ptr null, i32 1 - %t11689 = ptrtoint ptr %t11688 to i64 - %t11690 = zext i32 %t11687 to i64 - %t11691 = mul i64 %t11690, %t11689 - %t11692 = load ptr, ptr %t11681 - %t11693 = call ptr @realloc(ptr %t11692, i64 %t11691) - store ptr %t11693, ptr %t11681 - store i32 %t11687, ptr %t11680 - br label %put2418 -put2418: - %t11694 = load ptr, ptr %t11681 - %t11695 = getelementptr inbounds ptr, ptr %t11694, i32 %t11682 - store ptr @.str7403, ptr %t11695 - %t11696 = add i32 %t11682, 1 - store i32 %t11696, ptr %t11679 - %t11697 = load ptr, ptr %t337 - %t11698 = getelementptr inbounds %LSlice, ptr %t11697, i32 0, i32 1 - %t11699 = getelementptr inbounds %LSlice, ptr %t11697, i32 0, i32 2 - %t11700 = getelementptr inbounds %LSlice, ptr %t11697, i32 0, i32 0 - %t11701 = load i32, ptr %t11698 - %t11702 = load i32, ptr %t11699 - %t11703 = icmp sge i32 %t11701, %t11702 - br i1 %t11703, label %grow2419, label %put2420 -grow2419: - %t11704 = mul i32 %t11702, 2 - %t11705 = icmp eq i32 %t11702, 0 - %t11706 = select i1 %t11705, i32 8, i32 %t11704 - %t11707 = getelementptr ptr, ptr null, i32 1 - %t11708 = ptrtoint ptr %t11707 to i64 - %t11709 = zext i32 %t11706 to i64 - %t11710 = mul i64 %t11709, %t11708 - %t11711 = load ptr, ptr %t11700 - %t11712 = call ptr @realloc(ptr %t11711, i64 %t11710) - store ptr %t11712, ptr %t11700 - store i32 %t11706, ptr %t11699 - br label %put2420 -put2420: - %t11713 = load ptr, ptr %t11700 - %t11714 = getelementptr inbounds ptr, ptr %t11713, i32 %t11701 - store ptr @.str7404, ptr %t11714 - %t11715 = add i32 %t11701, 1 - store i32 %t11715, ptr %t11698 - br label %ifend2414 -ifend2414: - %t11716 = load ptr, ptr %t1 - %t11717 = call i32 @fn_str_eq(ptr %t11716, ptr @.str7405) - %t11718 = icmp ne i32 %t11717, 0 - br i1 %t11718, label %then2421, label %ifend2423 -then2421: - store ptr @.str7406, ptr %t330 - %t11719 = load ptr, ptr %t337 - %t11720 = getelementptr inbounds %LSlice, ptr %t11719, i32 0, i32 1 - %t11721 = getelementptr inbounds %LSlice, ptr %t11719, i32 0, i32 2 - %t11722 = getelementptr inbounds %LSlice, ptr %t11719, i32 0, i32 0 - %t11723 = load i32, ptr %t11720 - %t11724 = load i32, ptr %t11721 - %t11725 = icmp sge i32 %t11723, %t11724 - br i1 %t11725, label %grow2424, label %put2425 -grow2424: - %t11726 = mul i32 %t11724, 2 - %t11727 = icmp eq i32 %t11724, 0 - %t11728 = select i1 %t11727, i32 8, i32 %t11726 - %t11729 = getelementptr ptr, ptr null, i32 1 - %t11730 = ptrtoint ptr %t11729 to i64 - %t11731 = zext i32 %t11728 to i64 - %t11732 = mul i64 %t11731, %t11730 - %t11733 = load ptr, ptr %t11722 - %t11734 = call ptr @realloc(ptr %t11733, i64 %t11732) - store ptr %t11734, ptr %t11722 - store i32 %t11728, ptr %t11721 - br label %put2425 -put2425: - %t11735 = load ptr, ptr %t11722 - %t11736 = getelementptr inbounds ptr, ptr %t11735, i32 %t11723 - store ptr @.str7407, ptr %t11736 - %t11737 = add i32 %t11723, 1 - store i32 %t11737, ptr %t11720 - %t11738 = load ptr, ptr %t337 - %t11739 = getelementptr inbounds %LSlice, ptr %t11738, i32 0, i32 1 - %t11740 = getelementptr inbounds %LSlice, ptr %t11738, i32 0, i32 2 - %t11741 = getelementptr inbounds %LSlice, ptr %t11738, i32 0, i32 0 - %t11742 = load i32, ptr %t11739 - %t11743 = load i32, ptr %t11740 - %t11744 = icmp sge i32 %t11742, %t11743 - br i1 %t11744, label %grow2426, label %put2427 -grow2426: - %t11745 = mul i32 %t11743, 2 - %t11746 = icmp eq i32 %t11743, 0 - %t11747 = select i1 %t11746, i32 8, i32 %t11745 - %t11748 = getelementptr ptr, ptr null, i32 1 - %t11749 = ptrtoint ptr %t11748 to i64 - %t11750 = zext i32 %t11747 to i64 - %t11751 = mul i64 %t11750, %t11749 - %t11752 = load ptr, ptr %t11741 - %t11753 = call ptr @realloc(ptr %t11752, i64 %t11751) - store ptr %t11753, ptr %t11741 - store i32 %t11747, ptr %t11740 - br label %put2427 -put2427: - %t11754 = load ptr, ptr %t11741 - %t11755 = getelementptr inbounds ptr, ptr %t11754, i32 %t11742 - store ptr @.str7408, ptr %t11755 - %t11756 = add i32 %t11742, 1 - store i32 %t11756, ptr %t11739 - %t11757 = load ptr, ptr %t337 - %t11758 = getelementptr inbounds %LSlice, ptr %t11757, i32 0, i32 1 - %t11759 = getelementptr inbounds %LSlice, ptr %t11757, i32 0, i32 2 - %t11760 = getelementptr inbounds %LSlice, ptr %t11757, i32 0, i32 0 - %t11761 = load i32, ptr %t11758 - %t11762 = load i32, ptr %t11759 - %t11763 = icmp sge i32 %t11761, %t11762 - br i1 %t11763, label %grow2428, label %put2429 + br label %ifend2379 +ifend2379: + %t11986 = load ptr, ptr %t0 + %t11987 = call i32 @fn_str_eq(ptr %t11986, ptr @.str7722) + %t11988 = icmp ne i32 %t11987, 0 + br i1 %t11988, label %then2422, label %ifend2424 +then2422: + %t11989 = load ptr, ptr %t1 + %t11990 = call i32 @fn_str_eq(ptr %t11989, ptr @.str7723) + %t11991 = icmp ne i32 %t11990, 0 + br i1 %t11991, label %then2425, label %ifend2427 +then2425: + store ptr @.str7724, ptr %t380 + %t11992 = load ptr, ptr %t387 + %t11993 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 1 + %t11994 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 2 + %t11995 = getelementptr inbounds %LSlice, ptr %t11992, i32 0, i32 0 + %t11996 = load i32, ptr %t11993 + %t11997 = load i32, ptr %t11994 + %t11998 = icmp sge i32 %t11996, %t11997 + br i1 %t11998, label %grow2428, label %put2429 grow2428: - %t11764 = mul i32 %t11762, 2 - %t11765 = icmp eq i32 %t11762, 0 - %t11766 = select i1 %t11765, i32 8, i32 %t11764 - %t11767 = getelementptr ptr, ptr null, i32 1 - %t11768 = ptrtoint ptr %t11767 to i64 - %t11769 = zext i32 %t11766 to i64 - %t11770 = mul i64 %t11769, %t11768 - %t11771 = load ptr, ptr %t11760 - %t11772 = call ptr @realloc(ptr %t11771, i64 %t11770) - store ptr %t11772, ptr %t11760 - store i32 %t11766, ptr %t11759 + %t11999 = mul i32 %t11997, 2 + %t12000 = icmp eq i32 %t11997, 0 + %t12001 = select i1 %t12000, i32 8, i32 %t11999 + %t12002 = getelementptr ptr, ptr null, i32 1 + %t12003 = ptrtoint ptr %t12002 to i64 + %t12004 = zext i32 %t12001 to i64 + %t12005 = mul i64 %t12004, %t12003 + %t12006 = load ptr, ptr %t11995 + %t12007 = call ptr @realloc(ptr %t12006, i64 %t12005) + store ptr %t12007, ptr %t11995 + store i32 %t12001, ptr %t11994 br label %put2429 put2429: - %t11773 = load ptr, ptr %t11760 - %t11774 = getelementptr inbounds ptr, ptr %t11773, i32 %t11761 - store ptr @.str7409, ptr %t11774 - %t11775 = add i32 %t11761, 1 - store i32 %t11775, ptr %t11758 - %t11776 = load ptr, ptr %t337 - %t11777 = getelementptr inbounds %LSlice, ptr %t11776, i32 0, i32 1 - %t11778 = getelementptr inbounds %LSlice, ptr %t11776, i32 0, i32 2 - %t11779 = getelementptr inbounds %LSlice, ptr %t11776, i32 0, i32 0 - %t11780 = load i32, ptr %t11777 - %t11781 = load i32, ptr %t11778 - %t11782 = icmp sge i32 %t11780, %t11781 - br i1 %t11782, label %grow2430, label %put2431 -grow2430: - %t11783 = mul i32 %t11781, 2 - %t11784 = icmp eq i32 %t11781, 0 - %t11785 = select i1 %t11784, i32 8, i32 %t11783 - %t11786 = getelementptr ptr, ptr null, i32 1 - %t11787 = ptrtoint ptr %t11786 to i64 - %t11788 = zext i32 %t11785 to i64 - %t11789 = mul i64 %t11788, %t11787 - %t11790 = load ptr, ptr %t11779 - %t11791 = call ptr @realloc(ptr %t11790, i64 %t11789) - store ptr %t11791, ptr %t11779 - store i32 %t11785, ptr %t11778 - br label %put2431 -put2431: - %t11792 = load ptr, ptr %t11779 - %t11793 = getelementptr inbounds ptr, ptr %t11792, i32 %t11780 - store ptr @.str7410, ptr %t11793 - %t11794 = add i32 %t11780, 1 - store i32 %t11794, ptr %t11777 - br label %ifend2423 -ifend2423: - %t11795 = load ptr, ptr %t1 - %t11796 = call i32 @fn_str_eq(ptr %t11795, ptr @.str7411) - %t11797 = icmp ne i32 %t11796, 0 - br i1 %t11797, label %then2432, label %ifend2434 -then2432: - store ptr @.str7412, ptr %t330 - %t11798 = load ptr, ptr %t337 - %t11799 = getelementptr inbounds %LSlice, ptr %t11798, i32 0, i32 1 - %t11800 = getelementptr inbounds %LSlice, ptr %t11798, i32 0, i32 2 - %t11801 = getelementptr inbounds %LSlice, ptr %t11798, i32 0, i32 0 - %t11802 = load i32, ptr %t11799 - %t11803 = load i32, ptr %t11800 - %t11804 = icmp sge i32 %t11802, %t11803 - br i1 %t11804, label %grow2435, label %put2436 + %t12008 = load ptr, ptr %t11995 + %t12009 = getelementptr inbounds ptr, ptr %t12008, i32 %t11996 + store ptr @.str7725, ptr %t12009 + %t12010 = add i32 %t11996, 1 + store i32 %t12010, ptr %t11993 + br label %ifend2427 +ifend2427: + %t12011 = load ptr, ptr %t1 + %t12012 = call i32 @fn_str_eq(ptr %t12011, ptr @.str7726) + %t12013 = icmp ne i32 %t12012, 0 + br i1 %t12013, label %then2430, label %ifend2432 +then2430: + store ptr @.str7727, ptr %t380 + %t12014 = load ptr, ptr %t387 + %t12015 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 1 + %t12016 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 2 + %t12017 = getelementptr inbounds %LSlice, ptr %t12014, i32 0, i32 0 + %t12018 = load i32, ptr %t12015 + %t12019 = load i32, ptr %t12016 + %t12020 = icmp sge i32 %t12018, %t12019 + br i1 %t12020, label %grow2433, label %put2434 +grow2433: + %t12021 = mul i32 %t12019, 2 + %t12022 = icmp eq i32 %t12019, 0 + %t12023 = select i1 %t12022, i32 8, i32 %t12021 + %t12024 = getelementptr ptr, ptr null, i32 1 + %t12025 = ptrtoint ptr %t12024 to i64 + %t12026 = zext i32 %t12023 to i64 + %t12027 = mul i64 %t12026, %t12025 + %t12028 = load ptr, ptr %t12017 + %t12029 = call ptr @realloc(ptr %t12028, i64 %t12027) + store ptr %t12029, ptr %t12017 + store i32 %t12023, ptr %t12016 + br label %put2434 +put2434: + %t12030 = load ptr, ptr %t12017 + %t12031 = getelementptr inbounds ptr, ptr %t12030, i32 %t12018 + store ptr @.str7728, ptr %t12031 + %t12032 = add i32 %t12018, 1 + store i32 %t12032, ptr %t12015 + %t12033 = load ptr, ptr %t387 + %t12034 = getelementptr inbounds %LSlice, ptr %t12033, i32 0, i32 1 + %t12035 = getelementptr inbounds %LSlice, ptr %t12033, i32 0, i32 2 + %t12036 = getelementptr inbounds %LSlice, ptr %t12033, i32 0, i32 0 + %t12037 = load i32, ptr %t12034 + %t12038 = load i32, ptr %t12035 + %t12039 = icmp sge i32 %t12037, %t12038 + br i1 %t12039, label %grow2435, label %put2436 grow2435: - %t11805 = mul i32 %t11803, 2 - %t11806 = icmp eq i32 %t11803, 0 - %t11807 = select i1 %t11806, i32 8, i32 %t11805 - %t11808 = getelementptr ptr, ptr null, i32 1 - %t11809 = ptrtoint ptr %t11808 to i64 - %t11810 = zext i32 %t11807 to i64 - %t11811 = mul i64 %t11810, %t11809 - %t11812 = load ptr, ptr %t11801 - %t11813 = call ptr @realloc(ptr %t11812, i64 %t11811) - store ptr %t11813, ptr %t11801 - store i32 %t11807, ptr %t11800 + %t12040 = mul i32 %t12038, 2 + %t12041 = icmp eq i32 %t12038, 0 + %t12042 = select i1 %t12041, i32 8, i32 %t12040 + %t12043 = getelementptr ptr, ptr null, i32 1 + %t12044 = ptrtoint ptr %t12043 to i64 + %t12045 = zext i32 %t12042 to i64 + %t12046 = mul i64 %t12045, %t12044 + %t12047 = load ptr, ptr %t12036 + %t12048 = call ptr @realloc(ptr %t12047, i64 %t12046) + store ptr %t12048, ptr %t12036 + store i32 %t12042, ptr %t12035 br label %put2436 put2436: - %t11814 = load ptr, ptr %t11801 - %t11815 = getelementptr inbounds ptr, ptr %t11814, i32 %t11802 - store ptr @.str7413, ptr %t11815 - %t11816 = add i32 %t11802, 1 - store i32 %t11816, ptr %t11799 - %t11817 = load ptr, ptr %t337 - %t11818 = getelementptr inbounds %LSlice, ptr %t11817, i32 0, i32 1 - %t11819 = getelementptr inbounds %LSlice, ptr %t11817, i32 0, i32 2 - %t11820 = getelementptr inbounds %LSlice, ptr %t11817, i32 0, i32 0 - %t11821 = load i32, ptr %t11818 - %t11822 = load i32, ptr %t11819 - %t11823 = icmp sge i32 %t11821, %t11822 - br i1 %t11823, label %grow2437, label %put2438 -grow2437: - %t11824 = mul i32 %t11822, 2 - %t11825 = icmp eq i32 %t11822, 0 - %t11826 = select i1 %t11825, i32 8, i32 %t11824 - %t11827 = getelementptr ptr, ptr null, i32 1 - %t11828 = ptrtoint ptr %t11827 to i64 - %t11829 = zext i32 %t11826 to i64 - %t11830 = mul i64 %t11829, %t11828 - %t11831 = load ptr, ptr %t11820 - %t11832 = call ptr @realloc(ptr %t11831, i64 %t11830) - store ptr %t11832, ptr %t11820 - store i32 %t11826, ptr %t11819 - br label %put2438 -put2438: - %t11833 = load ptr, ptr %t11820 - %t11834 = getelementptr inbounds ptr, ptr %t11833, i32 %t11821 - store ptr @.str7414, ptr %t11834 - %t11835 = add i32 %t11821, 1 - store i32 %t11835, ptr %t11818 - %t11836 = load ptr, ptr %t337 - %t11837 = getelementptr inbounds %LSlice, ptr %t11836, i32 0, i32 1 - %t11838 = getelementptr inbounds %LSlice, ptr %t11836, i32 0, i32 2 - %t11839 = getelementptr inbounds %LSlice, ptr %t11836, i32 0, i32 0 - %t11840 = load i32, ptr %t11837 - %t11841 = load i32, ptr %t11838 - %t11842 = icmp sge i32 %t11840, %t11841 - br i1 %t11842, label %grow2439, label %put2440 -grow2439: - %t11843 = mul i32 %t11841, 2 - %t11844 = icmp eq i32 %t11841, 0 - %t11845 = select i1 %t11844, i32 8, i32 %t11843 - %t11846 = getelementptr ptr, ptr null, i32 1 - %t11847 = ptrtoint ptr %t11846 to i64 - %t11848 = zext i32 %t11845 to i64 - %t11849 = mul i64 %t11848, %t11847 - %t11850 = load ptr, ptr %t11839 - %t11851 = call ptr @realloc(ptr %t11850, i64 %t11849) - store ptr %t11851, ptr %t11839 - store i32 %t11845, ptr %t11838 - br label %put2440 -put2440: - %t11852 = load ptr, ptr %t11839 - %t11853 = getelementptr inbounds ptr, ptr %t11852, i32 %t11840 - store ptr @.str7415, ptr %t11853 - %t11854 = add i32 %t11840, 1 - store i32 %t11854, ptr %t11837 - br label %ifend2434 -ifend2434: - %t11855 = load ptr, ptr %t1 - %t11856 = call i32 @fn_str_eq(ptr %t11855, ptr @.str7416) - %t11857 = icmp ne i32 %t11856, 0 - br i1 %t11857, label %then2441, label %ifend2443 -then2441: - store ptr @.str7417, ptr %t330 - %t11858 = load ptr, ptr %t337 - %t11859 = getelementptr inbounds %LSlice, ptr %t11858, i32 0, i32 1 - %t11860 = getelementptr inbounds %LSlice, ptr %t11858, i32 0, i32 2 - %t11861 = getelementptr inbounds %LSlice, ptr %t11858, i32 0, i32 0 - %t11862 = load i32, ptr %t11859 - %t11863 = load i32, ptr %t11860 - %t11864 = icmp sge i32 %t11862, %t11863 - br i1 %t11864, label %grow2444, label %put2445 -grow2444: - %t11865 = mul i32 %t11863, 2 - %t11866 = icmp eq i32 %t11863, 0 - %t11867 = select i1 %t11866, i32 8, i32 %t11865 - %t11868 = getelementptr ptr, ptr null, i32 1 - %t11869 = ptrtoint ptr %t11868 to i64 - %t11870 = zext i32 %t11867 to i64 - %t11871 = mul i64 %t11870, %t11869 - %t11872 = load ptr, ptr %t11861 - %t11873 = call ptr @realloc(ptr %t11872, i64 %t11871) - store ptr %t11873, ptr %t11861 - store i32 %t11867, ptr %t11860 - br label %put2445 -put2445: - %t11874 = load ptr, ptr %t11861 - %t11875 = getelementptr inbounds ptr, ptr %t11874, i32 %t11862 - store ptr @.str7418, ptr %t11875 - %t11876 = add i32 %t11862, 1 - store i32 %t11876, ptr %t11859 - %t11877 = load ptr, ptr %t337 - %t11878 = getelementptr inbounds %LSlice, ptr %t11877, i32 0, i32 1 - %t11879 = getelementptr inbounds %LSlice, ptr %t11877, i32 0, i32 2 - %t11880 = getelementptr inbounds %LSlice, ptr %t11877, i32 0, i32 0 - %t11881 = load i32, ptr %t11878 - %t11882 = load i32, ptr %t11879 - %t11883 = icmp sge i32 %t11881, %t11882 - br i1 %t11883, label %grow2446, label %put2447 -grow2446: - %t11884 = mul i32 %t11882, 2 - %t11885 = icmp eq i32 %t11882, 0 - %t11886 = select i1 %t11885, i32 8, i32 %t11884 - %t11887 = getelementptr ptr, ptr null, i32 1 - %t11888 = ptrtoint ptr %t11887 to i64 - %t11889 = zext i32 %t11886 to i64 - %t11890 = mul i64 %t11889, %t11888 - %t11891 = load ptr, ptr %t11880 - %t11892 = call ptr @realloc(ptr %t11891, i64 %t11890) - store ptr %t11892, ptr %t11880 - store i32 %t11886, ptr %t11879 - br label %put2447 -put2447: - %t11893 = load ptr, ptr %t11880 - %t11894 = getelementptr inbounds ptr, ptr %t11893, i32 %t11881 - store ptr @.str7419, ptr %t11894 - %t11895 = add i32 %t11881, 1 - store i32 %t11895, ptr %t11878 - br label %ifend2443 -ifend2443: - %t11896 = load ptr, ptr %t1 - %t11897 = call i32 @fn_str_eq(ptr %t11896, ptr @.str7420) - %t11898 = icmp ne i32 %t11897, 0 - br i1 %t11898, label %then2448, label %ifend2450 -then2448: - store ptr @.str7421, ptr %t330 - %t11899 = load ptr, ptr %t337 - %t11900 = getelementptr inbounds %LSlice, ptr %t11899, i32 0, i32 1 - %t11901 = getelementptr inbounds %LSlice, ptr %t11899, i32 0, i32 2 - %t11902 = getelementptr inbounds %LSlice, ptr %t11899, i32 0, i32 0 - %t11903 = load i32, ptr %t11900 - %t11904 = load i32, ptr %t11901 - %t11905 = icmp sge i32 %t11903, %t11904 - br i1 %t11905, label %grow2451, label %put2452 -grow2451: - %t11906 = mul i32 %t11904, 2 - %t11907 = icmp eq i32 %t11904, 0 - %t11908 = select i1 %t11907, i32 8, i32 %t11906 - %t11909 = getelementptr ptr, ptr null, i32 1 - %t11910 = ptrtoint ptr %t11909 to i64 - %t11911 = zext i32 %t11908 to i64 - %t11912 = mul i64 %t11911, %t11910 - %t11913 = load ptr, ptr %t11902 - %t11914 = call ptr @realloc(ptr %t11913, i64 %t11912) - store ptr %t11914, ptr %t11902 - store i32 %t11908, ptr %t11901 - br label %put2452 -put2452: - %t11915 = load ptr, ptr %t11902 - %t11916 = getelementptr inbounds ptr, ptr %t11915, i32 %t11903 - store ptr @.str7422, ptr %t11916 - %t11917 = add i32 %t11903, 1 - store i32 %t11917, ptr %t11900 - %t11918 = load ptr, ptr %t337 - %t11919 = getelementptr inbounds %LSlice, ptr %t11918, i32 0, i32 1 - %t11920 = getelementptr inbounds %LSlice, ptr %t11918, i32 0, i32 2 - %t11921 = getelementptr inbounds %LSlice, ptr %t11918, i32 0, i32 0 - %t11922 = load i32, ptr %t11919 - %t11923 = load i32, ptr %t11920 - %t11924 = icmp sge i32 %t11922, %t11923 - br i1 %t11924, label %grow2453, label %put2454 + %t12049 = load ptr, ptr %t12036 + %t12050 = getelementptr inbounds ptr, ptr %t12049, i32 %t12037 + store ptr @.str7729, ptr %t12050 + %t12051 = add i32 %t12037, 1 + store i32 %t12051, ptr %t12034 + br label %ifend2432 +ifend2432: + %t12052 = load ptr, ptr %t1 + %t12053 = call i32 @fn_str_eq(ptr %t12052, ptr @.str7730) + %t12054 = icmp ne i32 %t12053, 0 + br i1 %t12054, label %then2437, label %ifend2439 +then2437: + store ptr @.str7731, ptr %t380 + br label %ifend2439 +ifend2439: + %t12055 = load ptr, ptr %t1 + %t12056 = call i32 @fn_str_eq(ptr %t12055, ptr @.str7732) + %t12057 = icmp ne i32 %t12056, 0 + br i1 %t12057, label %then2440, label %ifend2442 +then2440: + store ptr @.str7733, ptr %t380 + %t12058 = load ptr, ptr %t387 + %t12059 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 1 + %t12060 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 2 + %t12061 = getelementptr inbounds %LSlice, ptr %t12058, i32 0, i32 0 + %t12062 = load i32, ptr %t12059 + %t12063 = load i32, ptr %t12060 + %t12064 = icmp sge i32 %t12062, %t12063 + br i1 %t12064, label %grow2443, label %put2444 +grow2443: + %t12065 = mul i32 %t12063, 2 + %t12066 = icmp eq i32 %t12063, 0 + %t12067 = select i1 %t12066, i32 8, i32 %t12065 + %t12068 = getelementptr ptr, ptr null, i32 1 + %t12069 = ptrtoint ptr %t12068 to i64 + %t12070 = zext i32 %t12067 to i64 + %t12071 = mul i64 %t12070, %t12069 + %t12072 = load ptr, ptr %t12061 + %t12073 = call ptr @realloc(ptr %t12072, i64 %t12071) + store ptr %t12073, ptr %t12061 + store i32 %t12067, ptr %t12060 + br label %put2444 +put2444: + %t12074 = load ptr, ptr %t12061 + %t12075 = getelementptr inbounds ptr, ptr %t12074, i32 %t12062 + store ptr @.str7734, ptr %t12075 + %t12076 = add i32 %t12062, 1 + store i32 %t12076, ptr %t12059 + br label %ifend2442 +ifend2442: + %t12077 = load ptr, ptr %t1 + %t12078 = call i32 @fn_str_eq(ptr %t12077, ptr @.str7735) + %t12079 = icmp ne i32 %t12078, 0 + br i1 %t12079, label %then2445, label %ifend2447 +then2445: + store ptr @.str7736, ptr %t380 + %t12080 = load ptr, ptr %t387 + %t12081 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 1 + %t12082 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 2 + %t12083 = getelementptr inbounds %LSlice, ptr %t12080, i32 0, i32 0 + %t12084 = load i32, ptr %t12081 + %t12085 = load i32, ptr %t12082 + %t12086 = icmp sge i32 %t12084, %t12085 + br i1 %t12086, label %grow2448, label %put2449 +grow2448: + %t12087 = mul i32 %t12085, 2 + %t12088 = icmp eq i32 %t12085, 0 + %t12089 = select i1 %t12088, i32 8, i32 %t12087 + %t12090 = getelementptr ptr, ptr null, i32 1 + %t12091 = ptrtoint ptr %t12090 to i64 + %t12092 = zext i32 %t12089 to i64 + %t12093 = mul i64 %t12092, %t12091 + %t12094 = load ptr, ptr %t12083 + %t12095 = call ptr @realloc(ptr %t12094, i64 %t12093) + store ptr %t12095, ptr %t12083 + store i32 %t12089, ptr %t12082 + br label %put2449 +put2449: + %t12096 = load ptr, ptr %t12083 + %t12097 = getelementptr inbounds ptr, ptr %t12096, i32 %t12084 + store ptr @.str7737, ptr %t12097 + %t12098 = add i32 %t12084, 1 + store i32 %t12098, ptr %t12081 + br label %ifend2447 +ifend2447: + %t12099 = load ptr, ptr %t1 + %t12100 = call i32 @fn_str_eq(ptr %t12099, ptr @.str7738) + %t12101 = icmp ne i32 %t12100, 0 + br i1 %t12101, label %then2450, label %ifend2452 +then2450: + store ptr @.str7739, ptr %t380 + %t12102 = load ptr, ptr %t387 + %t12103 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 1 + %t12104 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 2 + %t12105 = getelementptr inbounds %LSlice, ptr %t12102, i32 0, i32 0 + %t12106 = load i32, ptr %t12103 + %t12107 = load i32, ptr %t12104 + %t12108 = icmp sge i32 %t12106, %t12107 + br i1 %t12108, label %grow2453, label %put2454 grow2453: - %t11925 = mul i32 %t11923, 2 - %t11926 = icmp eq i32 %t11923, 0 - %t11927 = select i1 %t11926, i32 8, i32 %t11925 - %t11928 = getelementptr ptr, ptr null, i32 1 - %t11929 = ptrtoint ptr %t11928 to i64 - %t11930 = zext i32 %t11927 to i64 - %t11931 = mul i64 %t11930, %t11929 - %t11932 = load ptr, ptr %t11921 - %t11933 = call ptr @realloc(ptr %t11932, i64 %t11931) - store ptr %t11933, ptr %t11921 - store i32 %t11927, ptr %t11920 + %t12109 = mul i32 %t12107, 2 + %t12110 = icmp eq i32 %t12107, 0 + %t12111 = select i1 %t12110, i32 8, i32 %t12109 + %t12112 = getelementptr ptr, ptr null, i32 1 + %t12113 = ptrtoint ptr %t12112 to i64 + %t12114 = zext i32 %t12111 to i64 + %t12115 = mul i64 %t12114, %t12113 + %t12116 = load ptr, ptr %t12105 + %t12117 = call ptr @realloc(ptr %t12116, i64 %t12115) + store ptr %t12117, ptr %t12105 + store i32 %t12111, ptr %t12104 br label %put2454 put2454: - %t11934 = load ptr, ptr %t11921 - %t11935 = getelementptr inbounds ptr, ptr %t11934, i32 %t11922 - store ptr @.str7423, ptr %t11935 - %t11936 = add i32 %t11922, 1 - store i32 %t11936, ptr %t11919 - br label %ifend2450 -ifend2450: - %t11937 = load ptr, ptr %t1 - %t11938 = call i32 @fn_str_eq(ptr %t11937, ptr @.str7424) - %t11939 = icmp ne i32 %t11938, 0 - br i1 %t11939, label %then2455, label %ifend2457 -then2455: - store ptr @.str7425, ptr %t330 - %t11940 = load ptr, ptr %t337 - %t11941 = getelementptr inbounds %LSlice, ptr %t11940, i32 0, i32 1 - %t11942 = getelementptr inbounds %LSlice, ptr %t11940, i32 0, i32 2 - %t11943 = getelementptr inbounds %LSlice, ptr %t11940, i32 0, i32 0 - %t11944 = load i32, ptr %t11941 - %t11945 = load i32, ptr %t11942 - %t11946 = icmp sge i32 %t11944, %t11945 - br i1 %t11946, label %grow2458, label %put2459 -grow2458: - %t11947 = mul i32 %t11945, 2 - %t11948 = icmp eq i32 %t11945, 0 - %t11949 = select i1 %t11948, i32 8, i32 %t11947 - %t11950 = getelementptr ptr, ptr null, i32 1 - %t11951 = ptrtoint ptr %t11950 to i64 - %t11952 = zext i32 %t11949 to i64 - %t11953 = mul i64 %t11952, %t11951 - %t11954 = load ptr, ptr %t11943 - %t11955 = call ptr @realloc(ptr %t11954, i64 %t11953) - store ptr %t11955, ptr %t11943 - store i32 %t11949, ptr %t11942 - br label %put2459 -put2459: - %t11956 = load ptr, ptr %t11943 - %t11957 = getelementptr inbounds ptr, ptr %t11956, i32 %t11944 - store ptr @.str7426, ptr %t11957 - %t11958 = add i32 %t11944, 1 - store i32 %t11958, ptr %t11941 - %t11959 = load ptr, ptr %t337 - %t11960 = getelementptr inbounds %LSlice, ptr %t11959, i32 0, i32 1 - %t11961 = getelementptr inbounds %LSlice, ptr %t11959, i32 0, i32 2 - %t11962 = getelementptr inbounds %LSlice, ptr %t11959, i32 0, i32 0 - %t11963 = load i32, ptr %t11960 - %t11964 = load i32, ptr %t11961 - %t11965 = icmp sge i32 %t11963, %t11964 - br i1 %t11965, label %grow2460, label %put2461 + %t12118 = load ptr, ptr %t12105 + %t12119 = getelementptr inbounds ptr, ptr %t12118, i32 %t12106 + store ptr @.str7740, ptr %t12119 + %t12120 = add i32 %t12106, 1 + store i32 %t12120, ptr %t12103 + %t12121 = load ptr, ptr %t387 + %t12122 = getelementptr inbounds %LSlice, ptr %t12121, i32 0, i32 1 + %t12123 = getelementptr inbounds %LSlice, ptr %t12121, i32 0, i32 2 + %t12124 = getelementptr inbounds %LSlice, ptr %t12121, i32 0, i32 0 + %t12125 = load i32, ptr %t12122 + %t12126 = load i32, ptr %t12123 + %t12127 = icmp sge i32 %t12125, %t12126 + br i1 %t12127, label %grow2455, label %put2456 +grow2455: + %t12128 = mul i32 %t12126, 2 + %t12129 = icmp eq i32 %t12126, 0 + %t12130 = select i1 %t12129, i32 8, i32 %t12128 + %t12131 = getelementptr ptr, ptr null, i32 1 + %t12132 = ptrtoint ptr %t12131 to i64 + %t12133 = zext i32 %t12130 to i64 + %t12134 = mul i64 %t12133, %t12132 + %t12135 = load ptr, ptr %t12124 + %t12136 = call ptr @realloc(ptr %t12135, i64 %t12134) + store ptr %t12136, ptr %t12124 + store i32 %t12130, ptr %t12123 + br label %put2456 +put2456: + %t12137 = load ptr, ptr %t12124 + %t12138 = getelementptr inbounds ptr, ptr %t12137, i32 %t12125 + store ptr @.str7741, ptr %t12138 + %t12139 = add i32 %t12125, 1 + store i32 %t12139, ptr %t12122 + br label %ifend2452 +ifend2452: + %t12140 = load ptr, ptr %t1 + %t12141 = call i32 @fn_str_eq(ptr %t12140, ptr @.str7742) + %t12142 = icmp ne i32 %t12141, 0 + br i1 %t12142, label %then2457, label %ifend2459 +then2457: + store ptr @.str7743, ptr %t380 + %t12143 = load ptr, ptr %t387 + %t12144 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 1 + %t12145 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 2 + %t12146 = getelementptr inbounds %LSlice, ptr %t12143, i32 0, i32 0 + %t12147 = load i32, ptr %t12144 + %t12148 = load i32, ptr %t12145 + %t12149 = icmp sge i32 %t12147, %t12148 + br i1 %t12149, label %grow2460, label %put2461 grow2460: - %t11966 = mul i32 %t11964, 2 - %t11967 = icmp eq i32 %t11964, 0 - %t11968 = select i1 %t11967, i32 8, i32 %t11966 - %t11969 = getelementptr ptr, ptr null, i32 1 - %t11970 = ptrtoint ptr %t11969 to i64 - %t11971 = zext i32 %t11968 to i64 - %t11972 = mul i64 %t11971, %t11970 - %t11973 = load ptr, ptr %t11962 - %t11974 = call ptr @realloc(ptr %t11973, i64 %t11972) - store ptr %t11974, ptr %t11962 - store i32 %t11968, ptr %t11961 + %t12150 = mul i32 %t12148, 2 + %t12151 = icmp eq i32 %t12148, 0 + %t12152 = select i1 %t12151, i32 8, i32 %t12150 + %t12153 = getelementptr ptr, ptr null, i32 1 + %t12154 = ptrtoint ptr %t12153 to i64 + %t12155 = zext i32 %t12152 to i64 + %t12156 = mul i64 %t12155, %t12154 + %t12157 = load ptr, ptr %t12146 + %t12158 = call ptr @realloc(ptr %t12157, i64 %t12156) + store ptr %t12158, ptr %t12146 + store i32 %t12152, ptr %t12145 br label %put2461 put2461: - %t11975 = load ptr, ptr %t11962 - %t11976 = getelementptr inbounds ptr, ptr %t11975, i32 %t11963 - store ptr @.str7427, ptr %t11976 - %t11977 = add i32 %t11963, 1 - store i32 %t11977, ptr %t11960 - br label %ifend2457 -ifend2457: - %t11978 = load ptr, ptr %t1 - %t11979 = call i32 @fn_str_eq(ptr %t11978, ptr @.str7428) - %t11980 = icmp ne i32 %t11979, 0 - br i1 %t11980, label %then2462, label %ifend2464 -then2462: - store ptr @.str7429, ptr %t330 - %t11981 = load ptr, ptr %t337 - %t11982 = getelementptr inbounds %LSlice, ptr %t11981, i32 0, i32 1 - %t11983 = getelementptr inbounds %LSlice, ptr %t11981, i32 0, i32 2 - %t11984 = getelementptr inbounds %LSlice, ptr %t11981, i32 0, i32 0 - %t11985 = load i32, ptr %t11982 - %t11986 = load i32, ptr %t11983 - %t11987 = icmp sge i32 %t11985, %t11986 - br i1 %t11987, label %grow2465, label %put2466 -grow2465: - %t11988 = mul i32 %t11986, 2 - %t11989 = icmp eq i32 %t11986, 0 - %t11990 = select i1 %t11989, i32 8, i32 %t11988 - %t11991 = getelementptr ptr, ptr null, i32 1 - %t11992 = ptrtoint ptr %t11991 to i64 - %t11993 = zext i32 %t11990 to i64 - %t11994 = mul i64 %t11993, %t11992 - %t11995 = load ptr, ptr %t11984 - %t11996 = call ptr @realloc(ptr %t11995, i64 %t11994) - store ptr %t11996, ptr %t11984 - store i32 %t11990, ptr %t11983 - br label %put2466 -put2466: - %t11997 = load ptr, ptr %t11984 - %t11998 = getelementptr inbounds ptr, ptr %t11997, i32 %t11985 - store ptr @.str7430, ptr %t11998 - %t11999 = add i32 %t11985, 1 - store i32 %t11999, ptr %t11982 - %t12000 = load ptr, ptr %t337 - %t12001 = getelementptr inbounds %LSlice, ptr %t12000, i32 0, i32 1 - %t12002 = getelementptr inbounds %LSlice, ptr %t12000, i32 0, i32 2 - %t12003 = getelementptr inbounds %LSlice, ptr %t12000, i32 0, i32 0 - %t12004 = load i32, ptr %t12001 - %t12005 = load i32, ptr %t12002 - %t12006 = icmp sge i32 %t12004, %t12005 - br i1 %t12006, label %grow2467, label %put2468 + %t12159 = load ptr, ptr %t12146 + %t12160 = getelementptr inbounds ptr, ptr %t12159, i32 %t12147 + store ptr @.str7744, ptr %t12160 + %t12161 = add i32 %t12147, 1 + store i32 %t12161, ptr %t12144 + %t12162 = load ptr, ptr %t387 + %t12163 = getelementptr inbounds %LSlice, ptr %t12162, i32 0, i32 1 + %t12164 = getelementptr inbounds %LSlice, ptr %t12162, i32 0, i32 2 + %t12165 = getelementptr inbounds %LSlice, ptr %t12162, i32 0, i32 0 + %t12166 = load i32, ptr %t12163 + %t12167 = load i32, ptr %t12164 + %t12168 = icmp sge i32 %t12166, %t12167 + br i1 %t12168, label %grow2462, label %put2463 +grow2462: + %t12169 = mul i32 %t12167, 2 + %t12170 = icmp eq i32 %t12167, 0 + %t12171 = select i1 %t12170, i32 8, i32 %t12169 + %t12172 = getelementptr ptr, ptr null, i32 1 + %t12173 = ptrtoint ptr %t12172 to i64 + %t12174 = zext i32 %t12171 to i64 + %t12175 = mul i64 %t12174, %t12173 + %t12176 = load ptr, ptr %t12165 + %t12177 = call ptr @realloc(ptr %t12176, i64 %t12175) + store ptr %t12177, ptr %t12165 + store i32 %t12171, ptr %t12164 + br label %put2463 +put2463: + %t12178 = load ptr, ptr %t12165 + %t12179 = getelementptr inbounds ptr, ptr %t12178, i32 %t12166 + store ptr @.str7745, ptr %t12179 + %t12180 = add i32 %t12166, 1 + store i32 %t12180, ptr %t12163 + br label %ifend2459 +ifend2459: + %t12181 = load ptr, ptr %t1 + %t12182 = call i32 @fn_str_eq(ptr %t12181, ptr @.str7746) + %t12183 = icmp ne i32 %t12182, 0 + br i1 %t12183, label %then2464, label %ifend2466 +then2464: + store ptr @.str7747, ptr %t380 + %t12184 = load ptr, ptr %t387 + %t12185 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 1 + %t12186 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 2 + %t12187 = getelementptr inbounds %LSlice, ptr %t12184, i32 0, i32 0 + %t12188 = load i32, ptr %t12185 + %t12189 = load i32, ptr %t12186 + %t12190 = icmp sge i32 %t12188, %t12189 + br i1 %t12190, label %grow2467, label %put2468 grow2467: - %t12007 = mul i32 %t12005, 2 - %t12008 = icmp eq i32 %t12005, 0 - %t12009 = select i1 %t12008, i32 8, i32 %t12007 - %t12010 = getelementptr ptr, ptr null, i32 1 - %t12011 = ptrtoint ptr %t12010 to i64 - %t12012 = zext i32 %t12009 to i64 - %t12013 = mul i64 %t12012, %t12011 - %t12014 = load ptr, ptr %t12003 - %t12015 = call ptr @realloc(ptr %t12014, i64 %t12013) - store ptr %t12015, ptr %t12003 - store i32 %t12009, ptr %t12002 + %t12191 = mul i32 %t12189, 2 + %t12192 = icmp eq i32 %t12189, 0 + %t12193 = select i1 %t12192, i32 8, i32 %t12191 + %t12194 = getelementptr ptr, ptr null, i32 1 + %t12195 = ptrtoint ptr %t12194 to i64 + %t12196 = zext i32 %t12193 to i64 + %t12197 = mul i64 %t12196, %t12195 + %t12198 = load ptr, ptr %t12187 + %t12199 = call ptr @realloc(ptr %t12198, i64 %t12197) + store ptr %t12199, ptr %t12187 + store i32 %t12193, ptr %t12186 br label %put2468 put2468: - %t12016 = load ptr, ptr %t12003 - %t12017 = getelementptr inbounds ptr, ptr %t12016, i32 %t12004 - store ptr @.str7431, ptr %t12017 - %t12018 = add i32 %t12004, 1 - store i32 %t12018, ptr %t12001 - br label %ifend2464 -ifend2464: - %t12019 = load ptr, ptr %t1 - %t12020 = call i32 @fn_str_eq(ptr %t12019, ptr @.str7432) - %t12021 = icmp ne i32 %t12020, 0 - br i1 %t12021, label %then2469, label %ifend2471 -then2469: - store ptr @.str7433, ptr %t330 - %t12022 = load ptr, ptr %t337 - %t12023 = getelementptr inbounds %LSlice, ptr %t12022, i32 0, i32 1 - %t12024 = getelementptr inbounds %LSlice, ptr %t12022, i32 0, i32 2 - %t12025 = getelementptr inbounds %LSlice, ptr %t12022, i32 0, i32 0 - %t12026 = load i32, ptr %t12023 - %t12027 = load i32, ptr %t12024 - %t12028 = icmp sge i32 %t12026, %t12027 - br i1 %t12028, label %grow2472, label %put2473 -grow2472: - %t12029 = mul i32 %t12027, 2 - %t12030 = icmp eq i32 %t12027, 0 - %t12031 = select i1 %t12030, i32 8, i32 %t12029 - %t12032 = getelementptr ptr, ptr null, i32 1 - %t12033 = ptrtoint ptr %t12032 to i64 - %t12034 = zext i32 %t12031 to i64 - %t12035 = mul i64 %t12034, %t12033 - %t12036 = load ptr, ptr %t12025 - %t12037 = call ptr @realloc(ptr %t12036, i64 %t12035) - store ptr %t12037, ptr %t12025 - store i32 %t12031, ptr %t12024 - br label %put2473 -put2473: - %t12038 = load ptr, ptr %t12025 - %t12039 = getelementptr inbounds ptr, ptr %t12038, i32 %t12026 - store ptr @.str7434, ptr %t12039 - %t12040 = add i32 %t12026, 1 - store i32 %t12040, ptr %t12023 - br label %ifend2471 -ifend2471: - %t12041 = load ptr, ptr %t1 - %t12042 = call i32 @fn_str_eq(ptr %t12041, ptr @.str7435) - %t12043 = icmp ne i32 %t12042, 0 - br i1 %t12043, label %then2474, label %ifend2476 -then2474: - store ptr @.str7436, ptr %t330 - %t12044 = load ptr, ptr %t337 - %t12045 = getelementptr inbounds %LSlice, ptr %t12044, i32 0, i32 1 - %t12046 = getelementptr inbounds %LSlice, ptr %t12044, i32 0, i32 2 - %t12047 = getelementptr inbounds %LSlice, ptr %t12044, i32 0, i32 0 - %t12048 = load i32, ptr %t12045 - %t12049 = load i32, ptr %t12046 - %t12050 = icmp sge i32 %t12048, %t12049 - br i1 %t12050, label %grow2477, label %put2478 -grow2477: - %t12051 = mul i32 %t12049, 2 - %t12052 = icmp eq i32 %t12049, 0 - %t12053 = select i1 %t12052, i32 8, i32 %t12051 - %t12054 = getelementptr ptr, ptr null, i32 1 - %t12055 = ptrtoint ptr %t12054 to i64 - %t12056 = zext i32 %t12053 to i64 - %t12057 = mul i64 %t12056, %t12055 - %t12058 = load ptr, ptr %t12047 - %t12059 = call ptr @realloc(ptr %t12058, i64 %t12057) - store ptr %t12059, ptr %t12047 - store i32 %t12053, ptr %t12046 - br label %put2478 -put2478: - %t12060 = load ptr, ptr %t12047 - %t12061 = getelementptr inbounds ptr, ptr %t12060, i32 %t12048 - store ptr @.str7437, ptr %t12061 - %t12062 = add i32 %t12048, 1 - store i32 %t12062, ptr %t12045 - %t12063 = load ptr, ptr %t337 - %t12064 = getelementptr inbounds %LSlice, ptr %t12063, i32 0, i32 1 - %t12065 = getelementptr inbounds %LSlice, ptr %t12063, i32 0, i32 2 - %t12066 = getelementptr inbounds %LSlice, ptr %t12063, i32 0, i32 0 - %t12067 = load i32, ptr %t12064 - %t12068 = load i32, ptr %t12065 - %t12069 = icmp sge i32 %t12067, %t12068 - br i1 %t12069, label %grow2479, label %put2480 -grow2479: - %t12070 = mul i32 %t12068, 2 - %t12071 = icmp eq i32 %t12068, 0 - %t12072 = select i1 %t12071, i32 8, i32 %t12070 - %t12073 = getelementptr ptr, ptr null, i32 1 - %t12074 = ptrtoint ptr %t12073 to i64 - %t12075 = zext i32 %t12072 to i64 - %t12076 = mul i64 %t12075, %t12074 - %t12077 = load ptr, ptr %t12066 - %t12078 = call ptr @realloc(ptr %t12077, i64 %t12076) - store ptr %t12078, ptr %t12066 - store i32 %t12072, ptr %t12065 - br label %put2480 -put2480: - %t12079 = load ptr, ptr %t12066 - %t12080 = getelementptr inbounds ptr, ptr %t12079, i32 %t12067 - store ptr @.str7438, ptr %t12080 - %t12081 = add i32 %t12067, 1 - store i32 %t12081, ptr %t12064 - %t12082 = load ptr, ptr %t337 - %t12083 = getelementptr inbounds %LSlice, ptr %t12082, i32 0, i32 1 - %t12084 = getelementptr inbounds %LSlice, ptr %t12082, i32 0, i32 2 - %t12085 = getelementptr inbounds %LSlice, ptr %t12082, i32 0, i32 0 - %t12086 = load i32, ptr %t12083 - %t12087 = load i32, ptr %t12084 - %t12088 = icmp sge i32 %t12086, %t12087 - br i1 %t12088, label %grow2481, label %put2482 -grow2481: - %t12089 = mul i32 %t12087, 2 - %t12090 = icmp eq i32 %t12087, 0 - %t12091 = select i1 %t12090, i32 8, i32 %t12089 - %t12092 = getelementptr ptr, ptr null, i32 1 - %t12093 = ptrtoint ptr %t12092 to i64 - %t12094 = zext i32 %t12091 to i64 - %t12095 = mul i64 %t12094, %t12093 - %t12096 = load ptr, ptr %t12085 - %t12097 = call ptr @realloc(ptr %t12096, i64 %t12095) - store ptr %t12097, ptr %t12085 - store i32 %t12091, ptr %t12084 - br label %put2482 -put2482: - %t12098 = load ptr, ptr %t12085 - %t12099 = getelementptr inbounds ptr, ptr %t12098, i32 %t12086 - store ptr @.str7439, ptr %t12099 - %t12100 = add i32 %t12086, 1 - store i32 %t12100, ptr %t12083 - br label %ifend2476 -ifend2476: - %t12101 = load ptr, ptr %t1 - %t12102 = call i32 @fn_str_eq(ptr %t12101, ptr @.str7440) - %t12103 = icmp ne i32 %t12102, 0 - br i1 %t12103, label %then2483, label %ifend2485 -then2483: - store ptr @.str7441, ptr %t330 - %t12104 = load ptr, ptr %t337 - %t12105 = getelementptr inbounds %LSlice, ptr %t12104, i32 0, i32 1 - %t12106 = getelementptr inbounds %LSlice, ptr %t12104, i32 0, i32 2 - %t12107 = getelementptr inbounds %LSlice, ptr %t12104, i32 0, i32 0 - %t12108 = load i32, ptr %t12105 - %t12109 = load i32, ptr %t12106 - %t12110 = icmp sge i32 %t12108, %t12109 - br i1 %t12110, label %grow2486, label %put2487 -grow2486: - %t12111 = mul i32 %t12109, 2 - %t12112 = icmp eq i32 %t12109, 0 - %t12113 = select i1 %t12112, i32 8, i32 %t12111 - %t12114 = getelementptr ptr, ptr null, i32 1 - %t12115 = ptrtoint ptr %t12114 to i64 - %t12116 = zext i32 %t12113 to i64 - %t12117 = mul i64 %t12116, %t12115 - %t12118 = load ptr, ptr %t12107 - %t12119 = call ptr @realloc(ptr %t12118, i64 %t12117) - store ptr %t12119, ptr %t12107 - store i32 %t12113, ptr %t12106 - br label %put2487 -put2487: - %t12120 = load ptr, ptr %t12107 - %t12121 = getelementptr inbounds ptr, ptr %t12120, i32 %t12108 - store ptr @.str7442, ptr %t12121 - %t12122 = add i32 %t12108, 1 - store i32 %t12122, ptr %t12105 - %t12123 = load ptr, ptr %t337 - %t12124 = getelementptr inbounds %LSlice, ptr %t12123, i32 0, i32 1 - %t12125 = getelementptr inbounds %LSlice, ptr %t12123, i32 0, i32 2 - %t12126 = getelementptr inbounds %LSlice, ptr %t12123, i32 0, i32 0 - %t12127 = load i32, ptr %t12124 - %t12128 = load i32, ptr %t12125 - %t12129 = icmp sge i32 %t12127, %t12128 - br i1 %t12129, label %grow2488, label %put2489 -grow2488: - %t12130 = mul i32 %t12128, 2 - %t12131 = icmp eq i32 %t12128, 0 - %t12132 = select i1 %t12131, i32 8, i32 %t12130 - %t12133 = getelementptr ptr, ptr null, i32 1 - %t12134 = ptrtoint ptr %t12133 to i64 - %t12135 = zext i32 %t12132 to i64 - %t12136 = mul i64 %t12135, %t12134 - %t12137 = load ptr, ptr %t12126 - %t12138 = call ptr @realloc(ptr %t12137, i64 %t12136) - store ptr %t12138, ptr %t12126 - store i32 %t12132, ptr %t12125 - br label %put2489 -put2489: - %t12139 = load ptr, ptr %t12126 - %t12140 = getelementptr inbounds ptr, ptr %t12139, i32 %t12127 - store ptr @.str7443, ptr %t12140 - %t12141 = add i32 %t12127, 1 - store i32 %t12141, ptr %t12124 - br label %ifend2485 -ifend2485: - %t12142 = load ptr, ptr %t1 - %t12143 = call i32 @fn_str_eq(ptr %t12142, ptr @.str7444) - %t12144 = icmp ne i32 %t12143, 0 - br i1 %t12144, label %then2490, label %ifend2492 -then2490: - store ptr @.str7445, ptr %t330 - %t12145 = load ptr, ptr %t337 - %t12146 = getelementptr inbounds %LSlice, ptr %t12145, i32 0, i32 1 - %t12147 = getelementptr inbounds %LSlice, ptr %t12145, i32 0, i32 2 - %t12148 = getelementptr inbounds %LSlice, ptr %t12145, i32 0, i32 0 - %t12149 = load i32, ptr %t12146 - %t12150 = load i32, ptr %t12147 - %t12151 = icmp sge i32 %t12149, %t12150 - br i1 %t12151, label %grow2493, label %put2494 -grow2493: - %t12152 = mul i32 %t12150, 2 - %t12153 = icmp eq i32 %t12150, 0 - %t12154 = select i1 %t12153, i32 8, i32 %t12152 - %t12155 = getelementptr ptr, ptr null, i32 1 - %t12156 = ptrtoint ptr %t12155 to i64 - %t12157 = zext i32 %t12154 to i64 - %t12158 = mul i64 %t12157, %t12156 - %t12159 = load ptr, ptr %t12148 - %t12160 = call ptr @realloc(ptr %t12159, i64 %t12158) - store ptr %t12160, ptr %t12148 - store i32 %t12154, ptr %t12147 - br label %put2494 -put2494: - %t12161 = load ptr, ptr %t12148 - %t12162 = getelementptr inbounds ptr, ptr %t12161, i32 %t12149 - store ptr @.str7446, ptr %t12162 - %t12163 = add i32 %t12149, 1 - store i32 %t12163, ptr %t12146 - %t12164 = load ptr, ptr %t337 - %t12165 = getelementptr inbounds %LSlice, ptr %t12164, i32 0, i32 1 - %t12166 = getelementptr inbounds %LSlice, ptr %t12164, i32 0, i32 2 - %t12167 = getelementptr inbounds %LSlice, ptr %t12164, i32 0, i32 0 - %t12168 = load i32, ptr %t12165 - %t12169 = load i32, ptr %t12166 - %t12170 = icmp sge i32 %t12168, %t12169 - br i1 %t12170, label %grow2495, label %put2496 -grow2495: - %t12171 = mul i32 %t12169, 2 - %t12172 = icmp eq i32 %t12169, 0 - %t12173 = select i1 %t12172, i32 8, i32 %t12171 - %t12174 = getelementptr ptr, ptr null, i32 1 - %t12175 = ptrtoint ptr %t12174 to i64 - %t12176 = zext i32 %t12173 to i64 - %t12177 = mul i64 %t12176, %t12175 - %t12178 = load ptr, ptr %t12167 - %t12179 = call ptr @realloc(ptr %t12178, i64 %t12177) - store ptr %t12179, ptr %t12167 - store i32 %t12173, ptr %t12166 - br label %put2496 -put2496: - %t12180 = load ptr, ptr %t12167 - %t12181 = getelementptr inbounds ptr, ptr %t12180, i32 %t12168 - store ptr @.str7447, ptr %t12181 - %t12182 = add i32 %t12168, 1 - store i32 %t12182, ptr %t12165 - br label %ifend2492 -ifend2492: - %t12183 = load ptr, ptr %t1 - %t12184 = call i32 @fn_str_eq(ptr %t12183, ptr @.str7448) - %t12185 = icmp ne i32 %t12184, 0 - br i1 %t12185, label %then2497, label %ifend2499 -then2497: - store ptr @.str7449, ptr %t330 - %t12186 = load ptr, ptr %t337 - %t12187 = getelementptr inbounds %LSlice, ptr %t12186, i32 0, i32 1 - %t12188 = getelementptr inbounds %LSlice, ptr %t12186, i32 0, i32 2 - %t12189 = getelementptr inbounds %LSlice, ptr %t12186, i32 0, i32 0 - %t12190 = load i32, ptr %t12187 - %t12191 = load i32, ptr %t12188 - %t12192 = icmp sge i32 %t12190, %t12191 - br i1 %t12192, label %grow2500, label %put2501 -grow2500: - %t12193 = mul i32 %t12191, 2 - %t12194 = icmp eq i32 %t12191, 0 - %t12195 = select i1 %t12194, i32 8, i32 %t12193 - %t12196 = getelementptr ptr, ptr null, i32 1 - %t12197 = ptrtoint ptr %t12196 to i64 - %t12198 = zext i32 %t12195 to i64 - %t12199 = mul i64 %t12198, %t12197 - %t12200 = load ptr, ptr %t12189 - %t12201 = call ptr @realloc(ptr %t12200, i64 %t12199) - store ptr %t12201, ptr %t12189 - store i32 %t12195, ptr %t12188 - br label %put2501 -put2501: - %t12202 = load ptr, ptr %t12189 - %t12203 = getelementptr inbounds ptr, ptr %t12202, i32 %t12190 - store ptr @.str7450, ptr %t12203 - %t12204 = add i32 %t12190, 1 - store i32 %t12204, ptr %t12187 - %t12205 = load ptr, ptr %t337 - %t12206 = getelementptr inbounds %LSlice, ptr %t12205, i32 0, i32 1 - %t12207 = getelementptr inbounds %LSlice, ptr %t12205, i32 0, i32 2 - %t12208 = getelementptr inbounds %LSlice, ptr %t12205, i32 0, i32 0 - %t12209 = load i32, ptr %t12206 - %t12210 = load i32, ptr %t12207 - %t12211 = icmp sge i32 %t12209, %t12210 - br i1 %t12211, label %grow2502, label %put2503 -grow2502: - %t12212 = mul i32 %t12210, 2 - %t12213 = icmp eq i32 %t12210, 0 - %t12214 = select i1 %t12213, i32 8, i32 %t12212 - %t12215 = getelementptr ptr, ptr null, i32 1 - %t12216 = ptrtoint ptr %t12215 to i64 - %t12217 = zext i32 %t12214 to i64 - %t12218 = mul i64 %t12217, %t12216 - %t12219 = load ptr, ptr %t12208 - %t12220 = call ptr @realloc(ptr %t12219, i64 %t12218) - store ptr %t12220, ptr %t12208 - store i32 %t12214, ptr %t12207 - br label %put2503 -put2503: - %t12221 = load ptr, ptr %t12208 - %t12222 = getelementptr inbounds ptr, ptr %t12221, i32 %t12209 - store ptr @.str7451, ptr %t12222 - %t12223 = add i32 %t12209, 1 - store i32 %t12223, ptr %t12206 - %t12224 = load ptr, ptr %t337 - %t12225 = getelementptr inbounds %LSlice, ptr %t12224, i32 0, i32 1 - %t12226 = getelementptr inbounds %LSlice, ptr %t12224, i32 0, i32 2 - %t12227 = getelementptr inbounds %LSlice, ptr %t12224, i32 0, i32 0 - %t12228 = load i32, ptr %t12225 - %t12229 = load i32, ptr %t12226 - %t12230 = icmp sge i32 %t12228, %t12229 - br i1 %t12230, label %grow2504, label %put2505 + %t12200 = load ptr, ptr %t12187 + %t12201 = getelementptr inbounds ptr, ptr %t12200, i32 %t12188 + store ptr @.str7748, ptr %t12201 + %t12202 = add i32 %t12188, 1 + store i32 %t12202, ptr %t12185 + %t12203 = load ptr, ptr %t387 + %t12204 = getelementptr inbounds %LSlice, ptr %t12203, i32 0, i32 1 + %t12205 = getelementptr inbounds %LSlice, ptr %t12203, i32 0, i32 2 + %t12206 = getelementptr inbounds %LSlice, ptr %t12203, i32 0, i32 0 + %t12207 = load i32, ptr %t12204 + %t12208 = load i32, ptr %t12205 + %t12209 = icmp sge i32 %t12207, %t12208 + br i1 %t12209, label %grow2469, label %put2470 +grow2469: + %t12210 = mul i32 %t12208, 2 + %t12211 = icmp eq i32 %t12208, 0 + %t12212 = select i1 %t12211, i32 8, i32 %t12210 + %t12213 = getelementptr ptr, ptr null, i32 1 + %t12214 = ptrtoint ptr %t12213 to i64 + %t12215 = zext i32 %t12212 to i64 + %t12216 = mul i64 %t12215, %t12214 + %t12217 = load ptr, ptr %t12206 + %t12218 = call ptr @realloc(ptr %t12217, i64 %t12216) + store ptr %t12218, ptr %t12206 + store i32 %t12212, ptr %t12205 + br label %put2470 +put2470: + %t12219 = load ptr, ptr %t12206 + %t12220 = getelementptr inbounds ptr, ptr %t12219, i32 %t12207 + store ptr @.str7749, ptr %t12220 + %t12221 = add i32 %t12207, 1 + store i32 %t12221, ptr %t12204 + %t12222 = load ptr, ptr %t387 + %t12223 = getelementptr inbounds %LSlice, ptr %t12222, i32 0, i32 1 + %t12224 = getelementptr inbounds %LSlice, ptr %t12222, i32 0, i32 2 + %t12225 = getelementptr inbounds %LSlice, ptr %t12222, i32 0, i32 0 + %t12226 = load i32, ptr %t12223 + %t12227 = load i32, ptr %t12224 + %t12228 = icmp sge i32 %t12226, %t12227 + br i1 %t12228, label %grow2471, label %put2472 +grow2471: + %t12229 = mul i32 %t12227, 2 + %t12230 = icmp eq i32 %t12227, 0 + %t12231 = select i1 %t12230, i32 8, i32 %t12229 + %t12232 = getelementptr ptr, ptr null, i32 1 + %t12233 = ptrtoint ptr %t12232 to i64 + %t12234 = zext i32 %t12231 to i64 + %t12235 = mul i64 %t12234, %t12233 + %t12236 = load ptr, ptr %t12225 + %t12237 = call ptr @realloc(ptr %t12236, i64 %t12235) + store ptr %t12237, ptr %t12225 + store i32 %t12231, ptr %t12224 + br label %put2472 +put2472: + %t12238 = load ptr, ptr %t12225 + %t12239 = getelementptr inbounds ptr, ptr %t12238, i32 %t12226 + store ptr @.str7750, ptr %t12239 + %t12240 = add i32 %t12226, 1 + store i32 %t12240, ptr %t12223 + br label %ifend2466 +ifend2466: + %t12241 = load ptr, ptr %t1 + %t12242 = call i32 @fn_str_eq(ptr %t12241, ptr @.str7751) + %t12243 = icmp ne i32 %t12242, 0 + br i1 %t12243, label %then2473, label %ifend2475 +then2473: + store ptr @.str7752, ptr %t380 + %t12244 = load ptr, ptr %t387 + %t12245 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 1 + %t12246 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 2 + %t12247 = getelementptr inbounds %LSlice, ptr %t12244, i32 0, i32 0 + %t12248 = load i32, ptr %t12245 + %t12249 = load i32, ptr %t12246 + %t12250 = icmp sge i32 %t12248, %t12249 + br i1 %t12250, label %grow2476, label %put2477 +grow2476: + %t12251 = mul i32 %t12249, 2 + %t12252 = icmp eq i32 %t12249, 0 + %t12253 = select i1 %t12252, i32 8, i32 %t12251 + %t12254 = getelementptr ptr, ptr null, i32 1 + %t12255 = ptrtoint ptr %t12254 to i64 + %t12256 = zext i32 %t12253 to i64 + %t12257 = mul i64 %t12256, %t12255 + %t12258 = load ptr, ptr %t12247 + %t12259 = call ptr @realloc(ptr %t12258, i64 %t12257) + store ptr %t12259, ptr %t12247 + store i32 %t12253, ptr %t12246 + br label %put2477 +put2477: + %t12260 = load ptr, ptr %t12247 + %t12261 = getelementptr inbounds ptr, ptr %t12260, i32 %t12248 + store ptr @.str7753, ptr %t12261 + %t12262 = add i32 %t12248, 1 + store i32 %t12262, ptr %t12245 + %t12263 = load ptr, ptr %t387 + %t12264 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 1 + %t12265 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 2 + %t12266 = getelementptr inbounds %LSlice, ptr %t12263, i32 0, i32 0 + %t12267 = load i32, ptr %t12264 + %t12268 = load i32, ptr %t12265 + %t12269 = icmp sge i32 %t12267, %t12268 + br i1 %t12269, label %grow2478, label %put2479 +grow2478: + %t12270 = mul i32 %t12268, 2 + %t12271 = icmp eq i32 %t12268, 0 + %t12272 = select i1 %t12271, i32 8, i32 %t12270 + %t12273 = getelementptr ptr, ptr null, i32 1 + %t12274 = ptrtoint ptr %t12273 to i64 + %t12275 = zext i32 %t12272 to i64 + %t12276 = mul i64 %t12275, %t12274 + %t12277 = load ptr, ptr %t12266 + %t12278 = call ptr @realloc(ptr %t12277, i64 %t12276) + store ptr %t12278, ptr %t12266 + store i32 %t12272, ptr %t12265 + br label %put2479 +put2479: + %t12279 = load ptr, ptr %t12266 + %t12280 = getelementptr inbounds ptr, ptr %t12279, i32 %t12267 + store ptr @.str7754, ptr %t12280 + %t12281 = add i32 %t12267, 1 + store i32 %t12281, ptr %t12264 + %t12282 = load ptr, ptr %t387 + %t12283 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 1 + %t12284 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 2 + %t12285 = getelementptr inbounds %LSlice, ptr %t12282, i32 0, i32 0 + %t12286 = load i32, ptr %t12283 + %t12287 = load i32, ptr %t12284 + %t12288 = icmp sge i32 %t12286, %t12287 + br i1 %t12288, label %grow2480, label %put2481 +grow2480: + %t12289 = mul i32 %t12287, 2 + %t12290 = icmp eq i32 %t12287, 0 + %t12291 = select i1 %t12290, i32 8, i32 %t12289 + %t12292 = getelementptr ptr, ptr null, i32 1 + %t12293 = ptrtoint ptr %t12292 to i64 + %t12294 = zext i32 %t12291 to i64 + %t12295 = mul i64 %t12294, %t12293 + %t12296 = load ptr, ptr %t12285 + %t12297 = call ptr @realloc(ptr %t12296, i64 %t12295) + store ptr %t12297, ptr %t12285 + store i32 %t12291, ptr %t12284 + br label %put2481 +put2481: + %t12298 = load ptr, ptr %t12285 + %t12299 = getelementptr inbounds ptr, ptr %t12298, i32 %t12286 + store ptr @.str7755, ptr %t12299 + %t12300 = add i32 %t12286, 1 + store i32 %t12300, ptr %t12283 + %t12301 = load ptr, ptr %t387 + %t12302 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 1 + %t12303 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 2 + %t12304 = getelementptr inbounds %LSlice, ptr %t12301, i32 0, i32 0 + %t12305 = load i32, ptr %t12302 + %t12306 = load i32, ptr %t12303 + %t12307 = icmp sge i32 %t12305, %t12306 + br i1 %t12307, label %grow2482, label %put2483 +grow2482: + %t12308 = mul i32 %t12306, 2 + %t12309 = icmp eq i32 %t12306, 0 + %t12310 = select i1 %t12309, i32 8, i32 %t12308 + %t12311 = getelementptr ptr, ptr null, i32 1 + %t12312 = ptrtoint ptr %t12311 to i64 + %t12313 = zext i32 %t12310 to i64 + %t12314 = mul i64 %t12313, %t12312 + %t12315 = load ptr, ptr %t12304 + %t12316 = call ptr @realloc(ptr %t12315, i64 %t12314) + store ptr %t12316, ptr %t12304 + store i32 %t12310, ptr %t12303 + br label %put2483 +put2483: + %t12317 = load ptr, ptr %t12304 + %t12318 = getelementptr inbounds ptr, ptr %t12317, i32 %t12305 + store ptr @.str7756, ptr %t12318 + %t12319 = add i32 %t12305, 1 + store i32 %t12319, ptr %t12302 + br label %ifend2475 +ifend2475: + %t12320 = load ptr, ptr %t1 + %t12321 = call i32 @fn_str_eq(ptr %t12320, ptr @.str7757) + %t12322 = icmp ne i32 %t12321, 0 + br i1 %t12322, label %then2484, label %ifend2486 +then2484: + store ptr @.str7758, ptr %t380 + %t12323 = load ptr, ptr %t387 + %t12324 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 1 + %t12325 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 2 + %t12326 = getelementptr inbounds %LSlice, ptr %t12323, i32 0, i32 0 + %t12327 = load i32, ptr %t12324 + %t12328 = load i32, ptr %t12325 + %t12329 = icmp sge i32 %t12327, %t12328 + br i1 %t12329, label %grow2487, label %put2488 +grow2487: + %t12330 = mul i32 %t12328, 2 + %t12331 = icmp eq i32 %t12328, 0 + %t12332 = select i1 %t12331, i32 8, i32 %t12330 + %t12333 = getelementptr ptr, ptr null, i32 1 + %t12334 = ptrtoint ptr %t12333 to i64 + %t12335 = zext i32 %t12332 to i64 + %t12336 = mul i64 %t12335, %t12334 + %t12337 = load ptr, ptr %t12326 + %t12338 = call ptr @realloc(ptr %t12337, i64 %t12336) + store ptr %t12338, ptr %t12326 + store i32 %t12332, ptr %t12325 + br label %put2488 +put2488: + %t12339 = load ptr, ptr %t12326 + %t12340 = getelementptr inbounds ptr, ptr %t12339, i32 %t12327 + store ptr @.str7759, ptr %t12340 + %t12341 = add i32 %t12327, 1 + store i32 %t12341, ptr %t12324 + %t12342 = load ptr, ptr %t387 + %t12343 = getelementptr inbounds %LSlice, ptr %t12342, i32 0, i32 1 + %t12344 = getelementptr inbounds %LSlice, ptr %t12342, i32 0, i32 2 + %t12345 = getelementptr inbounds %LSlice, ptr %t12342, i32 0, i32 0 + %t12346 = load i32, ptr %t12343 + %t12347 = load i32, ptr %t12344 + %t12348 = icmp sge i32 %t12346, %t12347 + br i1 %t12348, label %grow2489, label %put2490 +grow2489: + %t12349 = mul i32 %t12347, 2 + %t12350 = icmp eq i32 %t12347, 0 + %t12351 = select i1 %t12350, i32 8, i32 %t12349 + %t12352 = getelementptr ptr, ptr null, i32 1 + %t12353 = ptrtoint ptr %t12352 to i64 + %t12354 = zext i32 %t12351 to i64 + %t12355 = mul i64 %t12354, %t12353 + %t12356 = load ptr, ptr %t12345 + %t12357 = call ptr @realloc(ptr %t12356, i64 %t12355) + store ptr %t12357, ptr %t12345 + store i32 %t12351, ptr %t12344 + br label %put2490 +put2490: + %t12358 = load ptr, ptr %t12345 + %t12359 = getelementptr inbounds ptr, ptr %t12358, i32 %t12346 + store ptr @.str7760, ptr %t12359 + %t12360 = add i32 %t12346, 1 + store i32 %t12360, ptr %t12343 + br label %ifend2486 +ifend2486: + %t12361 = load ptr, ptr %t1 + %t12362 = call i32 @fn_str_eq(ptr %t12361, ptr @.str7761) + %t12363 = icmp ne i32 %t12362, 0 + br i1 %t12363, label %then2491, label %ifend2493 +then2491: + store ptr @.str7762, ptr %t380 + %t12364 = load ptr, ptr %t387 + %t12365 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 1 + %t12366 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 2 + %t12367 = getelementptr inbounds %LSlice, ptr %t12364, i32 0, i32 0 + %t12368 = load i32, ptr %t12365 + %t12369 = load i32, ptr %t12366 + %t12370 = icmp sge i32 %t12368, %t12369 + br i1 %t12370, label %grow2494, label %put2495 +grow2494: + %t12371 = mul i32 %t12369, 2 + %t12372 = icmp eq i32 %t12369, 0 + %t12373 = select i1 %t12372, i32 8, i32 %t12371 + %t12374 = getelementptr ptr, ptr null, i32 1 + %t12375 = ptrtoint ptr %t12374 to i64 + %t12376 = zext i32 %t12373 to i64 + %t12377 = mul i64 %t12376, %t12375 + %t12378 = load ptr, ptr %t12367 + %t12379 = call ptr @realloc(ptr %t12378, i64 %t12377) + store ptr %t12379, ptr %t12367 + store i32 %t12373, ptr %t12366 + br label %put2495 +put2495: + %t12380 = load ptr, ptr %t12367 + %t12381 = getelementptr inbounds ptr, ptr %t12380, i32 %t12368 + store ptr @.str7763, ptr %t12381 + %t12382 = add i32 %t12368, 1 + store i32 %t12382, ptr %t12365 + br label %ifend2493 +ifend2493: + %t12383 = load ptr, ptr %t1 + %t12384 = call i32 @fn_str_eq(ptr %t12383, ptr @.str7764) + %t12385 = icmp ne i32 %t12384, 0 + br i1 %t12385, label %then2496, label %ifend2498 +then2496: + store ptr @.str7765, ptr %t380 + %t12386 = load ptr, ptr %t387 + %t12387 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 1 + %t12388 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 2 + %t12389 = getelementptr inbounds %LSlice, ptr %t12386, i32 0, i32 0 + %t12390 = load i32, ptr %t12387 + %t12391 = load i32, ptr %t12388 + %t12392 = icmp sge i32 %t12390, %t12391 + br i1 %t12392, label %grow2499, label %put2500 +grow2499: + %t12393 = mul i32 %t12391, 2 + %t12394 = icmp eq i32 %t12391, 0 + %t12395 = select i1 %t12394, i32 8, i32 %t12393 + %t12396 = getelementptr ptr, ptr null, i32 1 + %t12397 = ptrtoint ptr %t12396 to i64 + %t12398 = zext i32 %t12395 to i64 + %t12399 = mul i64 %t12398, %t12397 + %t12400 = load ptr, ptr %t12389 + %t12401 = call ptr @realloc(ptr %t12400, i64 %t12399) + store ptr %t12401, ptr %t12389 + store i32 %t12395, ptr %t12388 + br label %put2500 +put2500: + %t12402 = load ptr, ptr %t12389 + %t12403 = getelementptr inbounds ptr, ptr %t12402, i32 %t12390 + store ptr @.str7766, ptr %t12403 + %t12404 = add i32 %t12390, 1 + store i32 %t12404, ptr %t12387 + br label %ifend2498 +ifend2498: + %t12405 = load ptr, ptr %t1 + %t12406 = call i32 @fn_str_eq(ptr %t12405, ptr @.str7767) + %t12407 = icmp ne i32 %t12406, 0 + br i1 %t12407, label %then2501, label %ifend2503 +then2501: + store ptr @.str7768, ptr %t380 + %t12408 = load ptr, ptr %t387 + %t12409 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 1 + %t12410 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 2 + %t12411 = getelementptr inbounds %LSlice, ptr %t12408, i32 0, i32 0 + %t12412 = load i32, ptr %t12409 + %t12413 = load i32, ptr %t12410 + %t12414 = icmp sge i32 %t12412, %t12413 + br i1 %t12414, label %grow2504, label %put2505 grow2504: - %t12231 = mul i32 %t12229, 2 - %t12232 = icmp eq i32 %t12229, 0 - %t12233 = select i1 %t12232, i32 8, i32 %t12231 - %t12234 = getelementptr ptr, ptr null, i32 1 - %t12235 = ptrtoint ptr %t12234 to i64 - %t12236 = zext i32 %t12233 to i64 - %t12237 = mul i64 %t12236, %t12235 - %t12238 = load ptr, ptr %t12227 - %t12239 = call ptr @realloc(ptr %t12238, i64 %t12237) - store ptr %t12239, ptr %t12227 - store i32 %t12233, ptr %t12226 + %t12415 = mul i32 %t12413, 2 + %t12416 = icmp eq i32 %t12413, 0 + %t12417 = select i1 %t12416, i32 8, i32 %t12415 + %t12418 = getelementptr ptr, ptr null, i32 1 + %t12419 = ptrtoint ptr %t12418 to i64 + %t12420 = zext i32 %t12417 to i64 + %t12421 = mul i64 %t12420, %t12419 + %t12422 = load ptr, ptr %t12411 + %t12423 = call ptr @realloc(ptr %t12422, i64 %t12421) + store ptr %t12423, ptr %t12411 + store i32 %t12417, ptr %t12410 br label %put2505 put2505: - %t12240 = load ptr, ptr %t12227 - %t12241 = getelementptr inbounds ptr, ptr %t12240, i32 %t12228 - store ptr @.str7452, ptr %t12241 - %t12242 = add i32 %t12228, 1 - store i32 %t12242, ptr %t12225 - br label %ifend2499 -ifend2499: - %t12243 = load ptr, ptr %t1 - %t12244 = call i32 @fn_str_eq(ptr %t12243, ptr @.str7453) - %t12245 = icmp ne i32 %t12244, 0 - br i1 %t12245, label %then2506, label %ifend2508 + %t12424 = load ptr, ptr %t12411 + %t12425 = getelementptr inbounds ptr, ptr %t12424, i32 %t12412 + store ptr @.str7769, ptr %t12425 + %t12426 = add i32 %t12412, 1 + store i32 %t12426, ptr %t12409 + br label %ifend2503 +ifend2503: + %t12427 = load ptr, ptr %t1 + %t12428 = call i32 @fn_str_eq(ptr %t12427, ptr @.str7770) + %t12429 = icmp ne i32 %t12428, 0 + br i1 %t12429, label %then2506, label %ifend2508 then2506: - store ptr @.str7454, ptr %t330 - %t12246 = load ptr, ptr %t337 - %t12247 = getelementptr inbounds %LSlice, ptr %t12246, i32 0, i32 1 - %t12248 = getelementptr inbounds %LSlice, ptr %t12246, i32 0, i32 2 - %t12249 = getelementptr inbounds %LSlice, ptr %t12246, i32 0, i32 0 - %t12250 = load i32, ptr %t12247 - %t12251 = load i32, ptr %t12248 - %t12252 = icmp sge i32 %t12250, %t12251 - br i1 %t12252, label %grow2509, label %put2510 + store ptr @.str7771, ptr %t380 + %t12430 = load ptr, ptr %t387 + %t12431 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 1 + %t12432 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 2 + %t12433 = getelementptr inbounds %LSlice, ptr %t12430, i32 0, i32 0 + %t12434 = load i32, ptr %t12431 + %t12435 = load i32, ptr %t12432 + %t12436 = icmp sge i32 %t12434, %t12435 + br i1 %t12436, label %grow2509, label %put2510 grow2509: - %t12253 = mul i32 %t12251, 2 - %t12254 = icmp eq i32 %t12251, 0 - %t12255 = select i1 %t12254, i32 8, i32 %t12253 - %t12256 = getelementptr ptr, ptr null, i32 1 - %t12257 = ptrtoint ptr %t12256 to i64 - %t12258 = zext i32 %t12255 to i64 - %t12259 = mul i64 %t12258, %t12257 - %t12260 = load ptr, ptr %t12249 - %t12261 = call ptr @realloc(ptr %t12260, i64 %t12259) - store ptr %t12261, ptr %t12249 - store i32 %t12255, ptr %t12248 + %t12437 = mul i32 %t12435, 2 + %t12438 = icmp eq i32 %t12435, 0 + %t12439 = select i1 %t12438, i32 8, i32 %t12437 + %t12440 = getelementptr ptr, ptr null, i32 1 + %t12441 = ptrtoint ptr %t12440 to i64 + %t12442 = zext i32 %t12439 to i64 + %t12443 = mul i64 %t12442, %t12441 + %t12444 = load ptr, ptr %t12433 + %t12445 = call ptr @realloc(ptr %t12444, i64 %t12443) + store ptr %t12445, ptr %t12433 + store i32 %t12439, ptr %t12432 br label %put2510 put2510: - %t12262 = load ptr, ptr %t12249 - %t12263 = getelementptr inbounds ptr, ptr %t12262, i32 %t12250 - store ptr @.str7455, ptr %t12263 - %t12264 = add i32 %t12250, 1 - store i32 %t12264, ptr %t12247 + %t12446 = load ptr, ptr %t12433 + %t12447 = getelementptr inbounds ptr, ptr %t12446, i32 %t12434 + store ptr @.str7772, ptr %t12447 + %t12448 = add i32 %t12434, 1 + store i32 %t12448, ptr %t12431 + %t12449 = load ptr, ptr %t387 + %t12450 = getelementptr inbounds %LSlice, ptr %t12449, i32 0, i32 1 + %t12451 = getelementptr inbounds %LSlice, ptr %t12449, i32 0, i32 2 + %t12452 = getelementptr inbounds %LSlice, ptr %t12449, i32 0, i32 0 + %t12453 = load i32, ptr %t12450 + %t12454 = load i32, ptr %t12451 + %t12455 = icmp sge i32 %t12453, %t12454 + br i1 %t12455, label %grow2511, label %put2512 +grow2511: + %t12456 = mul i32 %t12454, 2 + %t12457 = icmp eq i32 %t12454, 0 + %t12458 = select i1 %t12457, i32 8, i32 %t12456 + %t12459 = getelementptr ptr, ptr null, i32 1 + %t12460 = ptrtoint ptr %t12459 to i64 + %t12461 = zext i32 %t12458 to i64 + %t12462 = mul i64 %t12461, %t12460 + %t12463 = load ptr, ptr %t12452 + %t12464 = call ptr @realloc(ptr %t12463, i64 %t12462) + store ptr %t12464, ptr %t12452 + store i32 %t12458, ptr %t12451 + br label %put2512 +put2512: + %t12465 = load ptr, ptr %t12452 + %t12466 = getelementptr inbounds ptr, ptr %t12465, i32 %t12453 + store ptr @.str7773, ptr %t12466 + %t12467 = add i32 %t12453, 1 + store i32 %t12467, ptr %t12450 br label %ifend2508 ifend2508: - %t12265 = load ptr, ptr %t1 - %t12266 = call i32 @fn_str_eq(ptr %t12265, ptr @.str7456) - %t12267 = icmp ne i32 %t12266, 0 - br i1 %t12267, label %then2511, label %ifend2513 -then2511: - store ptr @.str7457, ptr %t330 - %t12268 = load ptr, ptr %t337 - %t12269 = getelementptr inbounds %LSlice, ptr %t12268, i32 0, i32 1 - %t12270 = getelementptr inbounds %LSlice, ptr %t12268, i32 0, i32 2 - %t12271 = getelementptr inbounds %LSlice, ptr %t12268, i32 0, i32 0 - %t12272 = load i32, ptr %t12269 - %t12273 = load i32, ptr %t12270 - %t12274 = icmp sge i32 %t12272, %t12273 - br i1 %t12274, label %grow2514, label %put2515 -grow2514: - %t12275 = mul i32 %t12273, 2 - %t12276 = icmp eq i32 %t12273, 0 - %t12277 = select i1 %t12276, i32 8, i32 %t12275 - %t12278 = getelementptr ptr, ptr null, i32 1 - %t12279 = ptrtoint ptr %t12278 to i64 - %t12280 = zext i32 %t12277 to i64 - %t12281 = mul i64 %t12280, %t12279 - %t12282 = load ptr, ptr %t12271 - %t12283 = call ptr @realloc(ptr %t12282, i64 %t12281) - store ptr %t12283, ptr %t12271 - store i32 %t12277, ptr %t12270 - br label %put2515 -put2515: - %t12284 = load ptr, ptr %t12271 - %t12285 = getelementptr inbounds ptr, ptr %t12284, i32 %t12272 - store ptr @.str7458, ptr %t12285 - %t12286 = add i32 %t12272, 1 - store i32 %t12286, ptr %t12269 - %t12287 = load ptr, ptr %t337 - %t12288 = getelementptr inbounds %LSlice, ptr %t12287, i32 0, i32 1 - %t12289 = getelementptr inbounds %LSlice, ptr %t12287, i32 0, i32 2 - %t12290 = getelementptr inbounds %LSlice, ptr %t12287, i32 0, i32 0 - %t12291 = load i32, ptr %t12288 - %t12292 = load i32, ptr %t12289 - %t12293 = icmp sge i32 %t12291, %t12292 - br i1 %t12293, label %grow2516, label %put2517 -grow2516: - %t12294 = mul i32 %t12292, 2 - %t12295 = icmp eq i32 %t12292, 0 - %t12296 = select i1 %t12295, i32 8, i32 %t12294 - %t12297 = getelementptr ptr, ptr null, i32 1 - %t12298 = ptrtoint ptr %t12297 to i64 - %t12299 = zext i32 %t12296 to i64 - %t12300 = mul i64 %t12299, %t12298 - %t12301 = load ptr, ptr %t12290 - %t12302 = call ptr @realloc(ptr %t12301, i64 %t12300) - store ptr %t12302, ptr %t12290 - store i32 %t12296, ptr %t12289 - br label %put2517 -put2517: - %t12303 = load ptr, ptr %t12290 - %t12304 = getelementptr inbounds ptr, ptr %t12303, i32 %t12291 - store ptr @.str7459, ptr %t12304 - %t12305 = add i32 %t12291, 1 - store i32 %t12305, ptr %t12288 - br label %ifend2513 -ifend2513: - %t12306 = load ptr, ptr %t1 - %t12307 = call i32 @fn_str_eq(ptr %t12306, ptr @.str7460) - %t12308 = icmp ne i32 %t12307, 0 - br i1 %t12308, label %then2518, label %ifend2520 -then2518: - store ptr @.str7461, ptr %t330 - %t12309 = load ptr, ptr %t337 - %t12310 = getelementptr inbounds %LSlice, ptr %t12309, i32 0, i32 1 - %t12311 = getelementptr inbounds %LSlice, ptr %t12309, i32 0, i32 2 - %t12312 = getelementptr inbounds %LSlice, ptr %t12309, i32 0, i32 0 - %t12313 = load i32, ptr %t12310 - %t12314 = load i32, ptr %t12311 - %t12315 = icmp sge i32 %t12313, %t12314 - br i1 %t12315, label %grow2521, label %put2522 -grow2521: - %t12316 = mul i32 %t12314, 2 - %t12317 = icmp eq i32 %t12314, 0 - %t12318 = select i1 %t12317, i32 8, i32 %t12316 - %t12319 = getelementptr ptr, ptr null, i32 1 - %t12320 = ptrtoint ptr %t12319 to i64 - %t12321 = zext i32 %t12318 to i64 - %t12322 = mul i64 %t12321, %t12320 - %t12323 = load ptr, ptr %t12312 - %t12324 = call ptr @realloc(ptr %t12323, i64 %t12322) - store ptr %t12324, ptr %t12312 - store i32 %t12318, ptr %t12311 - br label %put2522 -put2522: - %t12325 = load ptr, ptr %t12312 - %t12326 = getelementptr inbounds ptr, ptr %t12325, i32 %t12313 - store ptr @.str7462, ptr %t12326 - %t12327 = add i32 %t12313, 1 - store i32 %t12327, ptr %t12310 - %t12328 = load ptr, ptr %t337 - %t12329 = getelementptr inbounds %LSlice, ptr %t12328, i32 0, i32 1 - %t12330 = getelementptr inbounds %LSlice, ptr %t12328, i32 0, i32 2 - %t12331 = getelementptr inbounds %LSlice, ptr %t12328, i32 0, i32 0 - %t12332 = load i32, ptr %t12329 - %t12333 = load i32, ptr %t12330 - %t12334 = icmp sge i32 %t12332, %t12333 - br i1 %t12334, label %grow2523, label %put2524 -grow2523: - %t12335 = mul i32 %t12333, 2 - %t12336 = icmp eq i32 %t12333, 0 - %t12337 = select i1 %t12336, i32 8, i32 %t12335 - %t12338 = getelementptr ptr, ptr null, i32 1 - %t12339 = ptrtoint ptr %t12338 to i64 - %t12340 = zext i32 %t12337 to i64 - %t12341 = mul i64 %t12340, %t12339 - %t12342 = load ptr, ptr %t12331 - %t12343 = call ptr @realloc(ptr %t12342, i64 %t12341) - store ptr %t12343, ptr %t12331 - store i32 %t12337, ptr %t12330 - br label %put2524 -put2524: - %t12344 = load ptr, ptr %t12331 - %t12345 = getelementptr inbounds ptr, ptr %t12344, i32 %t12332 - store ptr @.str7463, ptr %t12345 - %t12346 = add i32 %t12332, 1 - store i32 %t12346, ptr %t12329 - br label %ifend2520 -ifend2520: - %t12347 = load ptr, ptr %t1 - %t12348 = call i32 @fn_str_eq(ptr %t12347, ptr @.str7464) - %t12349 = icmp ne i32 %t12348, 0 - br i1 %t12349, label %then2525, label %ifend2527 -then2525: - store ptr @.str7465, ptr %t330 - %t12350 = load ptr, ptr %t337 - %t12351 = getelementptr inbounds %LSlice, ptr %t12350, i32 0, i32 1 - %t12352 = getelementptr inbounds %LSlice, ptr %t12350, i32 0, i32 2 - %t12353 = getelementptr inbounds %LSlice, ptr %t12350, i32 0, i32 0 - %t12354 = load i32, ptr %t12351 - %t12355 = load i32, ptr %t12352 - %t12356 = icmp sge i32 %t12354, %t12355 - br i1 %t12356, label %grow2528, label %put2529 -grow2528: - %t12357 = mul i32 %t12355, 2 - %t12358 = icmp eq i32 %t12355, 0 - %t12359 = select i1 %t12358, i32 8, i32 %t12357 - %t12360 = getelementptr ptr, ptr null, i32 1 - %t12361 = ptrtoint ptr %t12360 to i64 - %t12362 = zext i32 %t12359 to i64 - %t12363 = mul i64 %t12362, %t12361 - %t12364 = load ptr, ptr %t12353 - %t12365 = call ptr @realloc(ptr %t12364, i64 %t12363) - store ptr %t12365, ptr %t12353 - store i32 %t12359, ptr %t12352 - br label %put2529 -put2529: - %t12366 = load ptr, ptr %t12353 - %t12367 = getelementptr inbounds ptr, ptr %t12366, i32 %t12354 - store ptr @.str7466, ptr %t12367 - %t12368 = add i32 %t12354, 1 - store i32 %t12368, ptr %t12351 - %t12369 = load ptr, ptr %t337 - %t12370 = getelementptr inbounds %LSlice, ptr %t12369, i32 0, i32 1 - %t12371 = getelementptr inbounds %LSlice, ptr %t12369, i32 0, i32 2 - %t12372 = getelementptr inbounds %LSlice, ptr %t12369, i32 0, i32 0 - %t12373 = load i32, ptr %t12370 - %t12374 = load i32, ptr %t12371 - %t12375 = icmp sge i32 %t12373, %t12374 - br i1 %t12375, label %grow2530, label %put2531 -grow2530: - %t12376 = mul i32 %t12374, 2 - %t12377 = icmp eq i32 %t12374, 0 - %t12378 = select i1 %t12377, i32 8, i32 %t12376 - %t12379 = getelementptr ptr, ptr null, i32 1 - %t12380 = ptrtoint ptr %t12379 to i64 - %t12381 = zext i32 %t12378 to i64 - %t12382 = mul i64 %t12381, %t12380 - %t12383 = load ptr, ptr %t12372 - %t12384 = call ptr @realloc(ptr %t12383, i64 %t12382) - store ptr %t12384, ptr %t12372 - store i32 %t12378, ptr %t12371 - br label %put2531 -put2531: - %t12385 = load ptr, ptr %t12372 - %t12386 = getelementptr inbounds ptr, ptr %t12385, i32 %t12373 - store ptr @.str7467, ptr %t12386 - %t12387 = add i32 %t12373, 1 - store i32 %t12387, ptr %t12370 - br label %ifend2527 -ifend2527: - %t12388 = load ptr, ptr %t1 - %t12389 = call i32 @fn_str_eq(ptr %t12388, ptr @.str7468) - %t12390 = icmp ne i32 %t12389, 0 - br i1 %t12390, label %then2532, label %ifend2534 -then2532: - store ptr @.str7469, ptr %t330 - %t12391 = load ptr, ptr %t337 - %t12392 = getelementptr inbounds %LSlice, ptr %t12391, i32 0, i32 1 - %t12393 = getelementptr inbounds %LSlice, ptr %t12391, i32 0, i32 2 - %t12394 = getelementptr inbounds %LSlice, ptr %t12391, i32 0, i32 0 - %t12395 = load i32, ptr %t12392 - %t12396 = load i32, ptr %t12393 - %t12397 = icmp sge i32 %t12395, %t12396 - br i1 %t12397, label %grow2535, label %put2536 -grow2535: - %t12398 = mul i32 %t12396, 2 - %t12399 = icmp eq i32 %t12396, 0 - %t12400 = select i1 %t12399, i32 8, i32 %t12398 - %t12401 = getelementptr ptr, ptr null, i32 1 - %t12402 = ptrtoint ptr %t12401 to i64 - %t12403 = zext i32 %t12400 to i64 - %t12404 = mul i64 %t12403, %t12402 - %t12405 = load ptr, ptr %t12394 - %t12406 = call ptr @realloc(ptr %t12405, i64 %t12404) - store ptr %t12406, ptr %t12394 - store i32 %t12400, ptr %t12393 - br label %put2536 -put2536: - %t12407 = load ptr, ptr %t12394 - %t12408 = getelementptr inbounds ptr, ptr %t12407, i32 %t12395 - store ptr @.str7470, ptr %t12408 - %t12409 = add i32 %t12395, 1 - store i32 %t12409, ptr %t12392 - br label %ifend2534 -ifend2534: - %t12410 = load ptr, ptr %t1 - %t12411 = call i32 @fn_str_eq(ptr %t12410, ptr @.str7471) - %t12412 = icmp ne i32 %t12411, 0 - br i1 %t12412, label %then2537, label %ifend2539 -then2537: - store ptr @.str7472, ptr %t330 - %t12413 = load ptr, ptr %t337 - %t12414 = getelementptr inbounds %LSlice, ptr %t12413, i32 0, i32 1 - %t12415 = getelementptr inbounds %LSlice, ptr %t12413, i32 0, i32 2 - %t12416 = getelementptr inbounds %LSlice, ptr %t12413, i32 0, i32 0 - %t12417 = load i32, ptr %t12414 - %t12418 = load i32, ptr %t12415 - %t12419 = icmp sge i32 %t12417, %t12418 - br i1 %t12419, label %grow2540, label %put2541 -grow2540: - %t12420 = mul i32 %t12418, 2 - %t12421 = icmp eq i32 %t12418, 0 - %t12422 = select i1 %t12421, i32 8, i32 %t12420 - %t12423 = getelementptr ptr, ptr null, i32 1 - %t12424 = ptrtoint ptr %t12423 to i64 - %t12425 = zext i32 %t12422 to i64 - %t12426 = mul i64 %t12425, %t12424 - %t12427 = load ptr, ptr %t12416 - %t12428 = call ptr @realloc(ptr %t12427, i64 %t12426) - store ptr %t12428, ptr %t12416 - store i32 %t12422, ptr %t12415 - br label %put2541 -put2541: - %t12429 = load ptr, ptr %t12416 - %t12430 = getelementptr inbounds ptr, ptr %t12429, i32 %t12417 - store ptr @.str7473, ptr %t12430 - %t12431 = add i32 %t12417, 1 - store i32 %t12431, ptr %t12414 - br label %ifend2539 -ifend2539: - %t12432 = load ptr, ptr %t1 - %t12433 = call i32 @fn_str_eq(ptr %t12432, ptr @.str7474) - %t12434 = icmp ne i32 %t12433, 0 - br i1 %t12434, label %then2542, label %ifend2544 + br label %ifend2424 +ifend2424: + %t12468 = load ptr, ptr %t0 + %t12469 = call i32 @fn_str_eq(ptr %t12468, ptr @.str7774) + %t12470 = icmp ne i32 %t12469, 0 + br i1 %t12470, label %then2513, label %ifend2515 +then2513: + %t12471 = load ptr, ptr %t1 + %t12472 = call i32 @fn_str_eq(ptr %t12471, ptr @.str7775) + %t12473 = icmp ne i32 %t12472, 0 + br i1 %t12473, label %then2516, label %ifend2518 +then2516: + store ptr @.str7776, ptr %t380 + br label %ifend2518 +ifend2518: + %t12474 = load ptr, ptr %t1 + %t12475 = call i32 @fn_str_eq(ptr %t12474, ptr @.str7777) + %t12476 = icmp ne i32 %t12475, 0 + br i1 %t12476, label %then2519, label %ifend2521 +then2519: + store ptr @.str7778, ptr %t380 + %t12477 = load ptr, ptr %t387 + %t12478 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 1 + %t12479 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 2 + %t12480 = getelementptr inbounds %LSlice, ptr %t12477, i32 0, i32 0 + %t12481 = load i32, ptr %t12478 + %t12482 = load i32, ptr %t12479 + %t12483 = icmp sge i32 %t12481, %t12482 + br i1 %t12483, label %grow2522, label %put2523 +grow2522: + %t12484 = mul i32 %t12482, 2 + %t12485 = icmp eq i32 %t12482, 0 + %t12486 = select i1 %t12485, i32 8, i32 %t12484 + %t12487 = getelementptr ptr, ptr null, i32 1 + %t12488 = ptrtoint ptr %t12487 to i64 + %t12489 = zext i32 %t12486 to i64 + %t12490 = mul i64 %t12489, %t12488 + %t12491 = load ptr, ptr %t12480 + %t12492 = call ptr @realloc(ptr %t12491, i64 %t12490) + store ptr %t12492, ptr %t12480 + store i32 %t12486, ptr %t12479 + br label %put2523 +put2523: + %t12493 = load ptr, ptr %t12480 + %t12494 = getelementptr inbounds ptr, ptr %t12493, i32 %t12481 + store ptr @.str7779, ptr %t12494 + %t12495 = add i32 %t12481, 1 + store i32 %t12495, ptr %t12478 + br label %ifend2521 +ifend2521: + %t12496 = load ptr, ptr %t1 + %t12497 = call i32 @fn_str_eq(ptr %t12496, ptr @.str7780) + %t12498 = icmp ne i32 %t12497, 0 + br i1 %t12498, label %then2524, label %ifend2526 +then2524: + store ptr @.str7781, ptr %t380 + %t12499 = load ptr, ptr %t387 + %t12500 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 1 + %t12501 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 2 + %t12502 = getelementptr inbounds %LSlice, ptr %t12499, i32 0, i32 0 + %t12503 = load i32, ptr %t12500 + %t12504 = load i32, ptr %t12501 + %t12505 = icmp sge i32 %t12503, %t12504 + br i1 %t12505, label %grow2527, label %put2528 +grow2527: + %t12506 = mul i32 %t12504, 2 + %t12507 = icmp eq i32 %t12504, 0 + %t12508 = select i1 %t12507, i32 8, i32 %t12506 + %t12509 = getelementptr ptr, ptr null, i32 1 + %t12510 = ptrtoint ptr %t12509 to i64 + %t12511 = zext i32 %t12508 to i64 + %t12512 = mul i64 %t12511, %t12510 + %t12513 = load ptr, ptr %t12502 + %t12514 = call ptr @realloc(ptr %t12513, i64 %t12512) + store ptr %t12514, ptr %t12502 + store i32 %t12508, ptr %t12501 + br label %put2528 +put2528: + %t12515 = load ptr, ptr %t12502 + %t12516 = getelementptr inbounds ptr, ptr %t12515, i32 %t12503 + store ptr @.str7782, ptr %t12516 + %t12517 = add i32 %t12503, 1 + store i32 %t12517, ptr %t12500 + br label %ifend2526 +ifend2526: + %t12518 = load ptr, ptr %t1 + %t12519 = call i32 @fn_str_eq(ptr %t12518, ptr @.str7783) + %t12520 = icmp ne i32 %t12519, 0 + br i1 %t12520, label %then2529, label %ifend2531 +then2529: + store ptr @.str7784, ptr %t380 + %t12521 = load ptr, ptr %t387 + %t12522 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 1 + %t12523 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 2 + %t12524 = getelementptr inbounds %LSlice, ptr %t12521, i32 0, i32 0 + %t12525 = load i32, ptr %t12522 + %t12526 = load i32, ptr %t12523 + %t12527 = icmp sge i32 %t12525, %t12526 + br i1 %t12527, label %grow2532, label %put2533 +grow2532: + %t12528 = mul i32 %t12526, 2 + %t12529 = icmp eq i32 %t12526, 0 + %t12530 = select i1 %t12529, i32 8, i32 %t12528 + %t12531 = getelementptr ptr, ptr null, i32 1 + %t12532 = ptrtoint ptr %t12531 to i64 + %t12533 = zext i32 %t12530 to i64 + %t12534 = mul i64 %t12533, %t12532 + %t12535 = load ptr, ptr %t12524 + %t12536 = call ptr @realloc(ptr %t12535, i64 %t12534) + store ptr %t12536, ptr %t12524 + store i32 %t12530, ptr %t12523 + br label %put2533 +put2533: + %t12537 = load ptr, ptr %t12524 + %t12538 = getelementptr inbounds ptr, ptr %t12537, i32 %t12525 + store ptr @.str7785, ptr %t12538 + %t12539 = add i32 %t12525, 1 + store i32 %t12539, ptr %t12522 + br label %ifend2531 +ifend2531: + %t12540 = load ptr, ptr %t1 + %t12541 = call i32 @fn_str_eq(ptr %t12540, ptr @.str7786) + %t12542 = icmp ne i32 %t12541, 0 + br i1 %t12542, label %then2534, label %ifend2536 +then2534: + store ptr @.str7787, ptr %t380 + %t12543 = load ptr, ptr %t387 + %t12544 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 1 + %t12545 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 2 + %t12546 = getelementptr inbounds %LSlice, ptr %t12543, i32 0, i32 0 + %t12547 = load i32, ptr %t12544 + %t12548 = load i32, ptr %t12545 + %t12549 = icmp sge i32 %t12547, %t12548 + br i1 %t12549, label %grow2537, label %put2538 +grow2537: + %t12550 = mul i32 %t12548, 2 + %t12551 = icmp eq i32 %t12548, 0 + %t12552 = select i1 %t12551, i32 8, i32 %t12550 + %t12553 = getelementptr ptr, ptr null, i32 1 + %t12554 = ptrtoint ptr %t12553 to i64 + %t12555 = zext i32 %t12552 to i64 + %t12556 = mul i64 %t12555, %t12554 + %t12557 = load ptr, ptr %t12546 + %t12558 = call ptr @realloc(ptr %t12557, i64 %t12556) + store ptr %t12558, ptr %t12546 + store i32 %t12552, ptr %t12545 + br label %put2538 +put2538: + %t12559 = load ptr, ptr %t12546 + %t12560 = getelementptr inbounds ptr, ptr %t12559, i32 %t12547 + store ptr @.str7788, ptr %t12560 + %t12561 = add i32 %t12547, 1 + store i32 %t12561, ptr %t12544 + br label %ifend2536 +ifend2536: + %t12562 = load ptr, ptr %t1 + %t12563 = call i32 @fn_str_eq(ptr %t12562, ptr @.str7789) + %t12564 = icmp ne i32 %t12563, 0 + br i1 %t12564, label %then2539, label %ifend2541 +then2539: + store ptr @.str7790, ptr %t380 + br label %ifend2541 +ifend2541: + %t12565 = load ptr, ptr %t1 + %t12566 = call i32 @fn_str_eq(ptr %t12565, ptr @.str7791) + %t12567 = icmp ne i32 %t12566, 0 + br i1 %t12567, label %then2542, label %ifend2544 then2542: - store ptr @.str7475, ptr %t330 - %t12435 = load ptr, ptr %t337 - %t12436 = getelementptr inbounds %LSlice, ptr %t12435, i32 0, i32 1 - %t12437 = getelementptr inbounds %LSlice, ptr %t12435, i32 0, i32 2 - %t12438 = getelementptr inbounds %LSlice, ptr %t12435, i32 0, i32 0 - %t12439 = load i32, ptr %t12436 - %t12440 = load i32, ptr %t12437 - %t12441 = icmp sge i32 %t12439, %t12440 - br i1 %t12441, label %grow2545, label %put2546 -grow2545: - %t12442 = mul i32 %t12440, 2 - %t12443 = icmp eq i32 %t12440, 0 - %t12444 = select i1 %t12443, i32 8, i32 %t12442 - %t12445 = getelementptr ptr, ptr null, i32 1 - %t12446 = ptrtoint ptr %t12445 to i64 - %t12447 = zext i32 %t12444 to i64 - %t12448 = mul i64 %t12447, %t12446 - %t12449 = load ptr, ptr %t12438 - %t12450 = call ptr @realloc(ptr %t12449, i64 %t12448) - store ptr %t12450, ptr %t12438 - store i32 %t12444, ptr %t12437 - br label %put2546 -put2546: - %t12451 = load ptr, ptr %t12438 - %t12452 = getelementptr inbounds ptr, ptr %t12451, i32 %t12439 - store ptr @.str7476, ptr %t12452 - %t12453 = add i32 %t12439, 1 - store i32 %t12453, ptr %t12436 - %t12454 = load ptr, ptr %t337 - %t12455 = getelementptr inbounds %LSlice, ptr %t12454, i32 0, i32 1 - %t12456 = getelementptr inbounds %LSlice, ptr %t12454, i32 0, i32 2 - %t12457 = getelementptr inbounds %LSlice, ptr %t12454, i32 0, i32 0 - %t12458 = load i32, ptr %t12455 - %t12459 = load i32, ptr %t12456 - %t12460 = icmp sge i32 %t12458, %t12459 - br i1 %t12460, label %grow2547, label %put2548 -grow2547: - %t12461 = mul i32 %t12459, 2 - %t12462 = icmp eq i32 %t12459, 0 - %t12463 = select i1 %t12462, i32 8, i32 %t12461 - %t12464 = getelementptr ptr, ptr null, i32 1 - %t12465 = ptrtoint ptr %t12464 to i64 - %t12466 = zext i32 %t12463 to i64 - %t12467 = mul i64 %t12466, %t12465 - %t12468 = load ptr, ptr %t12457 - %t12469 = call ptr @realloc(ptr %t12468, i64 %t12467) - store ptr %t12469, ptr %t12457 - store i32 %t12463, ptr %t12456 - br label %put2548 -put2548: - %t12470 = load ptr, ptr %t12457 - %t12471 = getelementptr inbounds ptr, ptr %t12470, i32 %t12458 - store ptr @.str7477, ptr %t12471 - %t12472 = add i32 %t12458, 1 - store i32 %t12472, ptr %t12455 - %t12473 = load ptr, ptr %t337 - %t12474 = getelementptr inbounds %LSlice, ptr %t12473, i32 0, i32 1 - %t12475 = getelementptr inbounds %LSlice, ptr %t12473, i32 0, i32 2 - %t12476 = getelementptr inbounds %LSlice, ptr %t12473, i32 0, i32 0 - %t12477 = load i32, ptr %t12474 - %t12478 = load i32, ptr %t12475 - %t12479 = icmp sge i32 %t12477, %t12478 - br i1 %t12479, label %grow2549, label %put2550 -grow2549: - %t12480 = mul i32 %t12478, 2 - %t12481 = icmp eq i32 %t12478, 0 - %t12482 = select i1 %t12481, i32 8, i32 %t12480 - %t12483 = getelementptr ptr, ptr null, i32 1 - %t12484 = ptrtoint ptr %t12483 to i64 - %t12485 = zext i32 %t12482 to i64 - %t12486 = mul i64 %t12485, %t12484 - %t12487 = load ptr, ptr %t12476 - %t12488 = call ptr @realloc(ptr %t12487, i64 %t12486) - store ptr %t12488, ptr %t12476 - store i32 %t12482, ptr %t12475 - br label %put2550 -put2550: - %t12489 = load ptr, ptr %t12476 - %t12490 = getelementptr inbounds ptr, ptr %t12489, i32 %t12477 - store ptr @.str7478, ptr %t12490 - %t12491 = add i32 %t12477, 1 - store i32 %t12491, ptr %t12474 + store ptr @.str7792, ptr %t380 br label %ifend2544 ifend2544: - %t12492 = load ptr, ptr %t1 - %t12493 = call i32 @fn_str_eq(ptr %t12492, ptr @.str7479) - %t12494 = icmp ne i32 %t12493, 0 - br i1 %t12494, label %then2551, label %ifend2553 -then2551: - store ptr @.str7480, ptr %t330 - %t12495 = load ptr, ptr %t337 - %t12496 = getelementptr inbounds %LSlice, ptr %t12495, i32 0, i32 1 - %t12497 = getelementptr inbounds %LSlice, ptr %t12495, i32 0, i32 2 - %t12498 = getelementptr inbounds %LSlice, ptr %t12495, i32 0, i32 0 - %t12499 = load i32, ptr %t12496 - %t12500 = load i32, ptr %t12497 - %t12501 = icmp sge i32 %t12499, %t12500 - br i1 %t12501, label %grow2554, label %put2555 -grow2554: - %t12502 = mul i32 %t12500, 2 - %t12503 = icmp eq i32 %t12500, 0 - %t12504 = select i1 %t12503, i32 8, i32 %t12502 - %t12505 = getelementptr ptr, ptr null, i32 1 - %t12506 = ptrtoint ptr %t12505 to i64 - %t12507 = zext i32 %t12504 to i64 - %t12508 = mul i64 %t12507, %t12506 - %t12509 = load ptr, ptr %t12498 - %t12510 = call ptr @realloc(ptr %t12509, i64 %t12508) - store ptr %t12510, ptr %t12498 - store i32 %t12504, ptr %t12497 - br label %put2555 -put2555: - %t12511 = load ptr, ptr %t12498 - %t12512 = getelementptr inbounds ptr, ptr %t12511, i32 %t12499 - store ptr @.str7481, ptr %t12512 - %t12513 = add i32 %t12499, 1 - store i32 %t12513, ptr %t12496 - %t12514 = load ptr, ptr %t337 - %t12515 = getelementptr inbounds %LSlice, ptr %t12514, i32 0, i32 1 - %t12516 = getelementptr inbounds %LSlice, ptr %t12514, i32 0, i32 2 - %t12517 = getelementptr inbounds %LSlice, ptr %t12514, i32 0, i32 0 - %t12518 = load i32, ptr %t12515 - %t12519 = load i32, ptr %t12516 - %t12520 = icmp sge i32 %t12518, %t12519 - br i1 %t12520, label %grow2556, label %put2557 -grow2556: - %t12521 = mul i32 %t12519, 2 - %t12522 = icmp eq i32 %t12519, 0 - %t12523 = select i1 %t12522, i32 8, i32 %t12521 - %t12524 = getelementptr ptr, ptr null, i32 1 - %t12525 = ptrtoint ptr %t12524 to i64 - %t12526 = zext i32 %t12523 to i64 - %t12527 = mul i64 %t12526, %t12525 - %t12528 = load ptr, ptr %t12517 - %t12529 = call ptr @realloc(ptr %t12528, i64 %t12527) - store ptr %t12529, ptr %t12517 - store i32 %t12523, ptr %t12516 - br label %put2557 -put2557: - %t12530 = load ptr, ptr %t12517 - %t12531 = getelementptr inbounds ptr, ptr %t12530, i32 %t12518 - store ptr @.str7482, ptr %t12531 - %t12532 = add i32 %t12518, 1 - store i32 %t12532, ptr %t12515 - %t12533 = load ptr, ptr %t337 - %t12534 = getelementptr inbounds %LSlice, ptr %t12533, i32 0, i32 1 - %t12535 = getelementptr inbounds %LSlice, ptr %t12533, i32 0, i32 2 - %t12536 = getelementptr inbounds %LSlice, ptr %t12533, i32 0, i32 0 - %t12537 = load i32, ptr %t12534 - %t12538 = load i32, ptr %t12535 - %t12539 = icmp sge i32 %t12537, %t12538 - br i1 %t12539, label %grow2558, label %put2559 -grow2558: - %t12540 = mul i32 %t12538, 2 - %t12541 = icmp eq i32 %t12538, 0 - %t12542 = select i1 %t12541, i32 8, i32 %t12540 - %t12543 = getelementptr ptr, ptr null, i32 1 - %t12544 = ptrtoint ptr %t12543 to i64 - %t12545 = zext i32 %t12542 to i64 - %t12546 = mul i64 %t12545, %t12544 - %t12547 = load ptr, ptr %t12536 - %t12548 = call ptr @realloc(ptr %t12547, i64 %t12546) - store ptr %t12548, ptr %t12536 - store i32 %t12542, ptr %t12535 - br label %put2559 -put2559: - %t12549 = load ptr, ptr %t12536 - %t12550 = getelementptr inbounds ptr, ptr %t12549, i32 %t12537 - store ptr @.str7483, ptr %t12550 - %t12551 = add i32 %t12537, 1 - store i32 %t12551, ptr %t12534 - br label %ifend2553 -ifend2553: - %t12552 = load ptr, ptr %t1 - %t12553 = call i32 @fn_str_eq(ptr %t12552, ptr @.str7484) - %t12554 = icmp ne i32 %t12553, 0 - br i1 %t12554, label %then2560, label %ifend2562 -then2560: - store ptr @.str7485, ptr %t330 - %t12555 = load ptr, ptr %t337 - %t12556 = getelementptr inbounds %LSlice, ptr %t12555, i32 0, i32 1 - %t12557 = getelementptr inbounds %LSlice, ptr %t12555, i32 0, i32 2 - %t12558 = getelementptr inbounds %LSlice, ptr %t12555, i32 0, i32 0 - %t12559 = load i32, ptr %t12556 - %t12560 = load i32, ptr %t12557 - %t12561 = icmp sge i32 %t12559, %t12560 - br i1 %t12561, label %grow2563, label %put2564 -grow2563: - %t12562 = mul i32 %t12560, 2 - %t12563 = icmp eq i32 %t12560, 0 - %t12564 = select i1 %t12563, i32 8, i32 %t12562 - %t12565 = getelementptr ptr, ptr null, i32 1 - %t12566 = ptrtoint ptr %t12565 to i64 - %t12567 = zext i32 %t12564 to i64 - %t12568 = mul i64 %t12567, %t12566 - %t12569 = load ptr, ptr %t12558 - %t12570 = call ptr @realloc(ptr %t12569, i64 %t12568) - store ptr %t12570, ptr %t12558 - store i32 %t12564, ptr %t12557 - br label %put2564 -put2564: - %t12571 = load ptr, ptr %t12558 - %t12572 = getelementptr inbounds ptr, ptr %t12571, i32 %t12559 - store ptr @.str7486, ptr %t12572 - %t12573 = add i32 %t12559, 1 - store i32 %t12573, ptr %t12556 - %t12574 = load ptr, ptr %t337 - %t12575 = getelementptr inbounds %LSlice, ptr %t12574, i32 0, i32 1 - %t12576 = getelementptr inbounds %LSlice, ptr %t12574, i32 0, i32 2 - %t12577 = getelementptr inbounds %LSlice, ptr %t12574, i32 0, i32 0 - %t12578 = load i32, ptr %t12575 - %t12579 = load i32, ptr %t12576 - %t12580 = icmp sge i32 %t12578, %t12579 - br i1 %t12580, label %grow2565, label %put2566 -grow2565: - %t12581 = mul i32 %t12579, 2 - %t12582 = icmp eq i32 %t12579, 0 - %t12583 = select i1 %t12582, i32 8, i32 %t12581 - %t12584 = getelementptr ptr, ptr null, i32 1 - %t12585 = ptrtoint ptr %t12584 to i64 - %t12586 = zext i32 %t12583 to i64 - %t12587 = mul i64 %t12586, %t12585 - %t12588 = load ptr, ptr %t12577 - %t12589 = call ptr @realloc(ptr %t12588, i64 %t12587) - store ptr %t12589, ptr %t12577 - store i32 %t12583, ptr %t12576 - br label %put2566 -put2566: - %t12590 = load ptr, ptr %t12577 - %t12591 = getelementptr inbounds ptr, ptr %t12590, i32 %t12578 - store ptr @.str7487, ptr %t12591 - %t12592 = add i32 %t12578, 1 - store i32 %t12592, ptr %t12575 - %t12593 = load ptr, ptr %t337 - %t12594 = getelementptr inbounds %LSlice, ptr %t12593, i32 0, i32 1 - %t12595 = getelementptr inbounds %LSlice, ptr %t12593, i32 0, i32 2 - %t12596 = getelementptr inbounds %LSlice, ptr %t12593, i32 0, i32 0 - %t12597 = load i32, ptr %t12594 - %t12598 = load i32, ptr %t12595 - %t12599 = icmp sge i32 %t12597, %t12598 - br i1 %t12599, label %grow2567, label %put2568 -grow2567: - %t12600 = mul i32 %t12598, 2 - %t12601 = icmp eq i32 %t12598, 0 - %t12602 = select i1 %t12601, i32 8, i32 %t12600 - %t12603 = getelementptr ptr, ptr null, i32 1 - %t12604 = ptrtoint ptr %t12603 to i64 - %t12605 = zext i32 %t12602 to i64 - %t12606 = mul i64 %t12605, %t12604 - %t12607 = load ptr, ptr %t12596 - %t12608 = call ptr @realloc(ptr %t12607, i64 %t12606) - store ptr %t12608, ptr %t12596 - store i32 %t12602, ptr %t12595 - br label %put2568 -put2568: - %t12609 = load ptr, ptr %t12596 - %t12610 = getelementptr inbounds ptr, ptr %t12609, i32 %t12597 - store ptr @.str7488, ptr %t12610 - %t12611 = add i32 %t12597, 1 - store i32 %t12611, ptr %t12594 - br label %ifend2562 -ifend2562: - %t12612 = load ptr, ptr %t1 - %t12613 = call i32 @fn_str_eq(ptr %t12612, ptr @.str7489) - %t12614 = icmp ne i32 %t12613, 0 - br i1 %t12614, label %then2569, label %ifend2571 -then2569: - store ptr @.str7490, ptr %t330 - %t12615 = load ptr, ptr %t337 - %t12616 = getelementptr inbounds %LSlice, ptr %t12615, i32 0, i32 1 - %t12617 = getelementptr inbounds %LSlice, ptr %t12615, i32 0, i32 2 - %t12618 = getelementptr inbounds %LSlice, ptr %t12615, i32 0, i32 0 - %t12619 = load i32, ptr %t12616 - %t12620 = load i32, ptr %t12617 - %t12621 = icmp sge i32 %t12619, %t12620 - br i1 %t12621, label %grow2572, label %put2573 -grow2572: - %t12622 = mul i32 %t12620, 2 - %t12623 = icmp eq i32 %t12620, 0 - %t12624 = select i1 %t12623, i32 8, i32 %t12622 - %t12625 = getelementptr ptr, ptr null, i32 1 - %t12626 = ptrtoint ptr %t12625 to i64 - %t12627 = zext i32 %t12624 to i64 - %t12628 = mul i64 %t12627, %t12626 - %t12629 = load ptr, ptr %t12618 - %t12630 = call ptr @realloc(ptr %t12629, i64 %t12628) - store ptr %t12630, ptr %t12618 - store i32 %t12624, ptr %t12617 - br label %put2573 -put2573: - %t12631 = load ptr, ptr %t12618 - %t12632 = getelementptr inbounds ptr, ptr %t12631, i32 %t12619 - store ptr @.str7491, ptr %t12632 - %t12633 = add i32 %t12619, 1 - store i32 %t12633, ptr %t12616 - %t12634 = load ptr, ptr %t337 - %t12635 = getelementptr inbounds %LSlice, ptr %t12634, i32 0, i32 1 - %t12636 = getelementptr inbounds %LSlice, ptr %t12634, i32 0, i32 2 - %t12637 = getelementptr inbounds %LSlice, ptr %t12634, i32 0, i32 0 - %t12638 = load i32, ptr %t12635 - %t12639 = load i32, ptr %t12636 - %t12640 = icmp sge i32 %t12638, %t12639 - br i1 %t12640, label %grow2574, label %put2575 -grow2574: - %t12641 = mul i32 %t12639, 2 - %t12642 = icmp eq i32 %t12639, 0 - %t12643 = select i1 %t12642, i32 8, i32 %t12641 - %t12644 = getelementptr ptr, ptr null, i32 1 - %t12645 = ptrtoint ptr %t12644 to i64 - %t12646 = zext i32 %t12643 to i64 - %t12647 = mul i64 %t12646, %t12645 - %t12648 = load ptr, ptr %t12637 - %t12649 = call ptr @realloc(ptr %t12648, i64 %t12647) - store ptr %t12649, ptr %t12637 - store i32 %t12643, ptr %t12636 - br label %put2575 -put2575: - %t12650 = load ptr, ptr %t12637 - %t12651 = getelementptr inbounds ptr, ptr %t12650, i32 %t12638 - store ptr @.str7492, ptr %t12651 - %t12652 = add i32 %t12638, 1 - store i32 %t12652, ptr %t12635 - %t12653 = load ptr, ptr %t337 - %t12654 = getelementptr inbounds %LSlice, ptr %t12653, i32 0, i32 1 - %t12655 = getelementptr inbounds %LSlice, ptr %t12653, i32 0, i32 2 - %t12656 = getelementptr inbounds %LSlice, ptr %t12653, i32 0, i32 0 - %t12657 = load i32, ptr %t12654 - %t12658 = load i32, ptr %t12655 - %t12659 = icmp sge i32 %t12657, %t12658 - br i1 %t12659, label %grow2576, label %put2577 -grow2576: - %t12660 = mul i32 %t12658, 2 - %t12661 = icmp eq i32 %t12658, 0 - %t12662 = select i1 %t12661, i32 8, i32 %t12660 - %t12663 = getelementptr ptr, ptr null, i32 1 - %t12664 = ptrtoint ptr %t12663 to i64 - %t12665 = zext i32 %t12662 to i64 - %t12666 = mul i64 %t12665, %t12664 - %t12667 = load ptr, ptr %t12656 - %t12668 = call ptr @realloc(ptr %t12667, i64 %t12666) - store ptr %t12668, ptr %t12656 - store i32 %t12662, ptr %t12655 - br label %put2577 -put2577: - %t12669 = load ptr, ptr %t12656 - %t12670 = getelementptr inbounds ptr, ptr %t12669, i32 %t12657 - store ptr @.str7493, ptr %t12670 - %t12671 = add i32 %t12657, 1 - store i32 %t12671, ptr %t12654 - br label %ifend2571 -ifend2571: - %t12672 = load ptr, ptr %t1 - %t12673 = call i32 @fn_str_eq(ptr %t12672, ptr @.str7494) - %t12674 = icmp ne i32 %t12673, 0 - br i1 %t12674, label %then2578, label %ifend2580 -then2578: - store ptr @.str7495, ptr %t330 - %t12675 = load ptr, ptr %t337 - %t12676 = getelementptr inbounds %LSlice, ptr %t12675, i32 0, i32 1 - %t12677 = getelementptr inbounds %LSlice, ptr %t12675, i32 0, i32 2 - %t12678 = getelementptr inbounds %LSlice, ptr %t12675, i32 0, i32 0 - %t12679 = load i32, ptr %t12676 - %t12680 = load i32, ptr %t12677 - %t12681 = icmp sge i32 %t12679, %t12680 - br i1 %t12681, label %grow2581, label %put2582 -grow2581: - %t12682 = mul i32 %t12680, 2 - %t12683 = icmp eq i32 %t12680, 0 - %t12684 = select i1 %t12683, i32 8, i32 %t12682 - %t12685 = getelementptr ptr, ptr null, i32 1 - %t12686 = ptrtoint ptr %t12685 to i64 - %t12687 = zext i32 %t12684 to i64 - %t12688 = mul i64 %t12687, %t12686 - %t12689 = load ptr, ptr %t12678 - %t12690 = call ptr @realloc(ptr %t12689, i64 %t12688) - store ptr %t12690, ptr %t12678 - store i32 %t12684, ptr %t12677 - br label %put2582 -put2582: - %t12691 = load ptr, ptr %t12678 - %t12692 = getelementptr inbounds ptr, ptr %t12691, i32 %t12679 - store ptr @.str7496, ptr %t12692 - %t12693 = add i32 %t12679, 1 - store i32 %t12693, ptr %t12676 - %t12694 = load ptr, ptr %t337 - %t12695 = getelementptr inbounds %LSlice, ptr %t12694, i32 0, i32 1 - %t12696 = getelementptr inbounds %LSlice, ptr %t12694, i32 0, i32 2 - %t12697 = getelementptr inbounds %LSlice, ptr %t12694, i32 0, i32 0 - %t12698 = load i32, ptr %t12695 - %t12699 = load i32, ptr %t12696 - %t12700 = icmp sge i32 %t12698, %t12699 - br i1 %t12700, label %grow2583, label %put2584 -grow2583: - %t12701 = mul i32 %t12699, 2 - %t12702 = icmp eq i32 %t12699, 0 - %t12703 = select i1 %t12702, i32 8, i32 %t12701 - %t12704 = getelementptr ptr, ptr null, i32 1 - %t12705 = ptrtoint ptr %t12704 to i64 - %t12706 = zext i32 %t12703 to i64 - %t12707 = mul i64 %t12706, %t12705 - %t12708 = load ptr, ptr %t12697 - %t12709 = call ptr @realloc(ptr %t12708, i64 %t12707) - store ptr %t12709, ptr %t12697 - store i32 %t12703, ptr %t12696 - br label %put2584 -put2584: - %t12710 = load ptr, ptr %t12697 - %t12711 = getelementptr inbounds ptr, ptr %t12710, i32 %t12698 - store ptr @.str7497, ptr %t12711 - %t12712 = add i32 %t12698, 1 - store i32 %t12712, ptr %t12695 - br label %ifend2580 -ifend2580: - %t12713 = load ptr, ptr %t1 - %t12714 = call i32 @fn_str_eq(ptr %t12713, ptr @.str7498) - %t12715 = icmp ne i32 %t12714, 0 - br i1 %t12715, label %then2585, label %ifend2587 -then2585: - store ptr @.str7499, ptr %t330 - %t12716 = load ptr, ptr %t337 - %t12717 = getelementptr inbounds %LSlice, ptr %t12716, i32 0, i32 1 - %t12718 = getelementptr inbounds %LSlice, ptr %t12716, i32 0, i32 2 - %t12719 = getelementptr inbounds %LSlice, ptr %t12716, i32 0, i32 0 - %t12720 = load i32, ptr %t12717 - %t12721 = load i32, ptr %t12718 - %t12722 = icmp sge i32 %t12720, %t12721 - br i1 %t12722, label %grow2588, label %put2589 -grow2588: - %t12723 = mul i32 %t12721, 2 - %t12724 = icmp eq i32 %t12721, 0 - %t12725 = select i1 %t12724, i32 8, i32 %t12723 - %t12726 = getelementptr ptr, ptr null, i32 1 - %t12727 = ptrtoint ptr %t12726 to i64 - %t12728 = zext i32 %t12725 to i64 - %t12729 = mul i64 %t12728, %t12727 - %t12730 = load ptr, ptr %t12719 - %t12731 = call ptr @realloc(ptr %t12730, i64 %t12729) - store ptr %t12731, ptr %t12719 - store i32 %t12725, ptr %t12718 - br label %put2589 -put2589: - %t12732 = load ptr, ptr %t12719 - %t12733 = getelementptr inbounds ptr, ptr %t12732, i32 %t12720 - store ptr @.str7500, ptr %t12733 - %t12734 = add i32 %t12720, 1 - store i32 %t12734, ptr %t12717 - %t12735 = load ptr, ptr %t337 - %t12736 = getelementptr inbounds %LSlice, ptr %t12735, i32 0, i32 1 - %t12737 = getelementptr inbounds %LSlice, ptr %t12735, i32 0, i32 2 - %t12738 = getelementptr inbounds %LSlice, ptr %t12735, i32 0, i32 0 - %t12739 = load i32, ptr %t12736 - %t12740 = load i32, ptr %t12737 - %t12741 = icmp sge i32 %t12739, %t12740 - br i1 %t12741, label %grow2590, label %put2591 -grow2590: - %t12742 = mul i32 %t12740, 2 - %t12743 = icmp eq i32 %t12740, 0 - %t12744 = select i1 %t12743, i32 8, i32 %t12742 - %t12745 = getelementptr ptr, ptr null, i32 1 - %t12746 = ptrtoint ptr %t12745 to i64 - %t12747 = zext i32 %t12744 to i64 - %t12748 = mul i64 %t12747, %t12746 - %t12749 = load ptr, ptr %t12738 - %t12750 = call ptr @realloc(ptr %t12749, i64 %t12748) - store ptr %t12750, ptr %t12738 - store i32 %t12744, ptr %t12737 - br label %put2591 -put2591: - %t12751 = load ptr, ptr %t12738 - %t12752 = getelementptr inbounds ptr, ptr %t12751, i32 %t12739 - store ptr @.str7501, ptr %t12752 - %t12753 = add i32 %t12739, 1 - store i32 %t12753, ptr %t12736 - br label %ifend2587 -ifend2587: - %t12754 = load ptr, ptr %t1 - %t12755 = call i32 @fn_str_eq(ptr %t12754, ptr @.str7502) - %t12756 = icmp ne i32 %t12755, 0 - br i1 %t12756, label %then2592, label %ifend2594 -then2592: - store ptr @.str7503, ptr %t330 - %t12757 = load ptr, ptr %t337 - %t12758 = getelementptr inbounds %LSlice, ptr %t12757, i32 0, i32 1 - %t12759 = getelementptr inbounds %LSlice, ptr %t12757, i32 0, i32 2 - %t12760 = getelementptr inbounds %LSlice, ptr %t12757, i32 0, i32 0 - %t12761 = load i32, ptr %t12758 - %t12762 = load i32, ptr %t12759 - %t12763 = icmp sge i32 %t12761, %t12762 - br i1 %t12763, label %grow2595, label %put2596 -grow2595: - %t12764 = mul i32 %t12762, 2 - %t12765 = icmp eq i32 %t12762, 0 - %t12766 = select i1 %t12765, i32 8, i32 %t12764 - %t12767 = getelementptr ptr, ptr null, i32 1 - %t12768 = ptrtoint ptr %t12767 to i64 - %t12769 = zext i32 %t12766 to i64 - %t12770 = mul i64 %t12769, %t12768 - %t12771 = load ptr, ptr %t12760 - %t12772 = call ptr @realloc(ptr %t12771, i64 %t12770) - store ptr %t12772, ptr %t12760 - store i32 %t12766, ptr %t12759 - br label %put2596 -put2596: - %t12773 = load ptr, ptr %t12760 - %t12774 = getelementptr inbounds ptr, ptr %t12773, i32 %t12761 - store ptr @.str7504, ptr %t12774 - %t12775 = add i32 %t12761, 1 - store i32 %t12775, ptr %t12758 - %t12776 = load ptr, ptr %t337 - %t12777 = getelementptr inbounds %LSlice, ptr %t12776, i32 0, i32 1 - %t12778 = getelementptr inbounds %LSlice, ptr %t12776, i32 0, i32 2 - %t12779 = getelementptr inbounds %LSlice, ptr %t12776, i32 0, i32 0 - %t12780 = load i32, ptr %t12777 - %t12781 = load i32, ptr %t12778 - %t12782 = icmp sge i32 %t12780, %t12781 - br i1 %t12782, label %grow2597, label %put2598 -grow2597: - %t12783 = mul i32 %t12781, 2 - %t12784 = icmp eq i32 %t12781, 0 - %t12785 = select i1 %t12784, i32 8, i32 %t12783 - %t12786 = getelementptr ptr, ptr null, i32 1 - %t12787 = ptrtoint ptr %t12786 to i64 - %t12788 = zext i32 %t12785 to i64 - %t12789 = mul i64 %t12788, %t12787 - %t12790 = load ptr, ptr %t12779 - %t12791 = call ptr @realloc(ptr %t12790, i64 %t12789) - store ptr %t12791, ptr %t12779 - store i32 %t12785, ptr %t12778 - br label %put2598 -put2598: - %t12792 = load ptr, ptr %t12779 - %t12793 = getelementptr inbounds ptr, ptr %t12792, i32 %t12780 - store ptr @.str7505, ptr %t12793 - %t12794 = add i32 %t12780, 1 - store i32 %t12794, ptr %t12777 - br label %ifend2594 -ifend2594: - %t12795 = load ptr, ptr %t1 - %t12796 = call i32 @fn_str_eq(ptr %t12795, ptr @.str7506) - %t12797 = icmp ne i32 %t12796, 0 - br i1 %t12797, label %then2599, label %ifend2601 -then2599: - store ptr @.str7507, ptr %t330 - %t12798 = load ptr, ptr %t337 - %t12799 = getelementptr inbounds %LSlice, ptr %t12798, i32 0, i32 1 - %t12800 = getelementptr inbounds %LSlice, ptr %t12798, i32 0, i32 2 - %t12801 = getelementptr inbounds %LSlice, ptr %t12798, i32 0, i32 0 - %t12802 = load i32, ptr %t12799 - %t12803 = load i32, ptr %t12800 - %t12804 = icmp sge i32 %t12802, %t12803 - br i1 %t12804, label %grow2602, label %put2603 -grow2602: - %t12805 = mul i32 %t12803, 2 - %t12806 = icmp eq i32 %t12803, 0 - %t12807 = select i1 %t12806, i32 8, i32 %t12805 - %t12808 = getelementptr ptr, ptr null, i32 1 - %t12809 = ptrtoint ptr %t12808 to i64 - %t12810 = zext i32 %t12807 to i64 - %t12811 = mul i64 %t12810, %t12809 - %t12812 = load ptr, ptr %t12801 - %t12813 = call ptr @realloc(ptr %t12812, i64 %t12811) - store ptr %t12813, ptr %t12801 - store i32 %t12807, ptr %t12800 - br label %put2603 -put2603: - %t12814 = load ptr, ptr %t12801 - %t12815 = getelementptr inbounds ptr, ptr %t12814, i32 %t12802 - store ptr @.str7508, ptr %t12815 - %t12816 = add i32 %t12802, 1 - store i32 %t12816, ptr %t12799 - %t12817 = load ptr, ptr %t337 - %t12818 = getelementptr inbounds %LSlice, ptr %t12817, i32 0, i32 1 - %t12819 = getelementptr inbounds %LSlice, ptr %t12817, i32 0, i32 2 - %t12820 = getelementptr inbounds %LSlice, ptr %t12817, i32 0, i32 0 - %t12821 = load i32, ptr %t12818 - %t12822 = load i32, ptr %t12819 - %t12823 = icmp sge i32 %t12821, %t12822 - br i1 %t12823, label %grow2604, label %put2605 -grow2604: - %t12824 = mul i32 %t12822, 2 - %t12825 = icmp eq i32 %t12822, 0 - %t12826 = select i1 %t12825, i32 8, i32 %t12824 - %t12827 = getelementptr ptr, ptr null, i32 1 - %t12828 = ptrtoint ptr %t12827 to i64 - %t12829 = zext i32 %t12826 to i64 - %t12830 = mul i64 %t12829, %t12828 - %t12831 = load ptr, ptr %t12820 - %t12832 = call ptr @realloc(ptr %t12831, i64 %t12830) - store ptr %t12832, ptr %t12820 - store i32 %t12826, ptr %t12819 - br label %put2605 -put2605: - %t12833 = load ptr, ptr %t12820 - %t12834 = getelementptr inbounds ptr, ptr %t12833, i32 %t12821 - store ptr @.str7509, ptr %t12834 - %t12835 = add i32 %t12821, 1 - store i32 %t12835, ptr %t12818 - br label %ifend2601 -ifend2601: - %t12836 = load ptr, ptr %t1 - %t12837 = call i32 @fn_str_eq(ptr %t12836, ptr @.str7510) - %t12838 = icmp ne i32 %t12837, 0 - br i1 %t12838, label %then2606, label %ifend2608 -then2606: - store ptr @.str7511, ptr %t330 - %t12839 = load ptr, ptr %t337 - %t12840 = getelementptr inbounds %LSlice, ptr %t12839, i32 0, i32 1 - %t12841 = getelementptr inbounds %LSlice, ptr %t12839, i32 0, i32 2 - %t12842 = getelementptr inbounds %LSlice, ptr %t12839, i32 0, i32 0 - %t12843 = load i32, ptr %t12840 - %t12844 = load i32, ptr %t12841 - %t12845 = icmp sge i32 %t12843, %t12844 - br i1 %t12845, label %grow2609, label %put2610 -grow2609: - %t12846 = mul i32 %t12844, 2 - %t12847 = icmp eq i32 %t12844, 0 - %t12848 = select i1 %t12847, i32 8, i32 %t12846 - %t12849 = getelementptr ptr, ptr null, i32 1 - %t12850 = ptrtoint ptr %t12849 to i64 - %t12851 = zext i32 %t12848 to i64 - %t12852 = mul i64 %t12851, %t12850 - %t12853 = load ptr, ptr %t12842 - %t12854 = call ptr @realloc(ptr %t12853, i64 %t12852) - store ptr %t12854, ptr %t12842 - store i32 %t12848, ptr %t12841 - br label %put2610 -put2610: - %t12855 = load ptr, ptr %t12842 - %t12856 = getelementptr inbounds ptr, ptr %t12855, i32 %t12843 - store ptr @.str7512, ptr %t12856 - %t12857 = add i32 %t12843, 1 - store i32 %t12857, ptr %t12840 - %t12858 = load ptr, ptr %t337 + %t12568 = load ptr, ptr %t1 + %t12569 = call i32 @fn_str_eq(ptr %t12568, ptr @.str7793) + %t12570 = icmp ne i32 %t12569, 0 + br i1 %t12570, label %then2545, label %ifend2547 +then2545: + store ptr @.str7794, ptr %t380 + %t12571 = load ptr, ptr %t387 + %t12572 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 1 + %t12573 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 2 + %t12574 = getelementptr inbounds %LSlice, ptr %t12571, i32 0, i32 0 + %t12575 = load i32, ptr %t12572 + %t12576 = load i32, ptr %t12573 + %t12577 = icmp sge i32 %t12575, %t12576 + br i1 %t12577, label %grow2548, label %put2549 +grow2548: + %t12578 = mul i32 %t12576, 2 + %t12579 = icmp eq i32 %t12576, 0 + %t12580 = select i1 %t12579, i32 8, i32 %t12578 + %t12581 = getelementptr ptr, ptr null, i32 1 + %t12582 = ptrtoint ptr %t12581 to i64 + %t12583 = zext i32 %t12580 to i64 + %t12584 = mul i64 %t12583, %t12582 + %t12585 = load ptr, ptr %t12574 + %t12586 = call ptr @realloc(ptr %t12585, i64 %t12584) + store ptr %t12586, ptr %t12574 + store i32 %t12580, ptr %t12573 + br label %put2549 +put2549: + %t12587 = load ptr, ptr %t12574 + %t12588 = getelementptr inbounds ptr, ptr %t12587, i32 %t12575 + store ptr @.str7795, ptr %t12588 + %t12589 = add i32 %t12575, 1 + store i32 %t12589, ptr %t12572 + %t12590 = load ptr, ptr %t387 + %t12591 = getelementptr inbounds %LSlice, ptr %t12590, i32 0, i32 1 + %t12592 = getelementptr inbounds %LSlice, ptr %t12590, i32 0, i32 2 + %t12593 = getelementptr inbounds %LSlice, ptr %t12590, i32 0, i32 0 + %t12594 = load i32, ptr %t12591 + %t12595 = load i32, ptr %t12592 + %t12596 = icmp sge i32 %t12594, %t12595 + br i1 %t12596, label %grow2550, label %put2551 +grow2550: + %t12597 = mul i32 %t12595, 2 + %t12598 = icmp eq i32 %t12595, 0 + %t12599 = select i1 %t12598, i32 8, i32 %t12597 + %t12600 = getelementptr ptr, ptr null, i32 1 + %t12601 = ptrtoint ptr %t12600 to i64 + %t12602 = zext i32 %t12599 to i64 + %t12603 = mul i64 %t12602, %t12601 + %t12604 = load ptr, ptr %t12593 + %t12605 = call ptr @realloc(ptr %t12604, i64 %t12603) + store ptr %t12605, ptr %t12593 + store i32 %t12599, ptr %t12592 + br label %put2551 +put2551: + %t12606 = load ptr, ptr %t12593 + %t12607 = getelementptr inbounds ptr, ptr %t12606, i32 %t12594 + store ptr @.str7796, ptr %t12607 + %t12608 = add i32 %t12594, 1 + store i32 %t12608, ptr %t12591 + br label %ifend2547 +ifend2547: + %t12609 = load ptr, ptr %t1 + %t12610 = call i32 @fn_str_eq(ptr %t12609, ptr @.str7797) + %t12611 = icmp ne i32 %t12610, 0 + br i1 %t12611, label %then2552, label %ifend2554 +then2552: + store ptr @.str7798, ptr %t380 + %t12612 = load ptr, ptr %t387 + %t12613 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 1 + %t12614 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 2 + %t12615 = getelementptr inbounds %LSlice, ptr %t12612, i32 0, i32 0 + %t12616 = load i32, ptr %t12613 + %t12617 = load i32, ptr %t12614 + %t12618 = icmp sge i32 %t12616, %t12617 + br i1 %t12618, label %grow2555, label %put2556 +grow2555: + %t12619 = mul i32 %t12617, 2 + %t12620 = icmp eq i32 %t12617, 0 + %t12621 = select i1 %t12620, i32 8, i32 %t12619 + %t12622 = getelementptr ptr, ptr null, i32 1 + %t12623 = ptrtoint ptr %t12622 to i64 + %t12624 = zext i32 %t12621 to i64 + %t12625 = mul i64 %t12624, %t12623 + %t12626 = load ptr, ptr %t12615 + %t12627 = call ptr @realloc(ptr %t12626, i64 %t12625) + store ptr %t12627, ptr %t12615 + store i32 %t12621, ptr %t12614 + br label %put2556 +put2556: + %t12628 = load ptr, ptr %t12615 + %t12629 = getelementptr inbounds ptr, ptr %t12628, i32 %t12616 + store ptr @.str7799, ptr %t12629 + %t12630 = add i32 %t12616, 1 + store i32 %t12630, ptr %t12613 + %t12631 = load ptr, ptr %t387 + %t12632 = getelementptr inbounds %LSlice, ptr %t12631, i32 0, i32 1 + %t12633 = getelementptr inbounds %LSlice, ptr %t12631, i32 0, i32 2 + %t12634 = getelementptr inbounds %LSlice, ptr %t12631, i32 0, i32 0 + %t12635 = load i32, ptr %t12632 + %t12636 = load i32, ptr %t12633 + %t12637 = icmp sge i32 %t12635, %t12636 + br i1 %t12637, label %grow2557, label %put2558 +grow2557: + %t12638 = mul i32 %t12636, 2 + %t12639 = icmp eq i32 %t12636, 0 + %t12640 = select i1 %t12639, i32 8, i32 %t12638 + %t12641 = getelementptr ptr, ptr null, i32 1 + %t12642 = ptrtoint ptr %t12641 to i64 + %t12643 = zext i32 %t12640 to i64 + %t12644 = mul i64 %t12643, %t12642 + %t12645 = load ptr, ptr %t12634 + %t12646 = call ptr @realloc(ptr %t12645, i64 %t12644) + store ptr %t12646, ptr %t12634 + store i32 %t12640, ptr %t12633 + br label %put2558 +put2558: + %t12647 = load ptr, ptr %t12634 + %t12648 = getelementptr inbounds ptr, ptr %t12647, i32 %t12635 + store ptr @.str7800, ptr %t12648 + %t12649 = add i32 %t12635, 1 + store i32 %t12649, ptr %t12632 + %t12650 = load ptr, ptr %t387 + %t12651 = getelementptr inbounds %LSlice, ptr %t12650, i32 0, i32 1 + %t12652 = getelementptr inbounds %LSlice, ptr %t12650, i32 0, i32 2 + %t12653 = getelementptr inbounds %LSlice, ptr %t12650, i32 0, i32 0 + %t12654 = load i32, ptr %t12651 + %t12655 = load i32, ptr %t12652 + %t12656 = icmp sge i32 %t12654, %t12655 + br i1 %t12656, label %grow2559, label %put2560 +grow2559: + %t12657 = mul i32 %t12655, 2 + %t12658 = icmp eq i32 %t12655, 0 + %t12659 = select i1 %t12658, i32 8, i32 %t12657 + %t12660 = getelementptr ptr, ptr null, i32 1 + %t12661 = ptrtoint ptr %t12660 to i64 + %t12662 = zext i32 %t12659 to i64 + %t12663 = mul i64 %t12662, %t12661 + %t12664 = load ptr, ptr %t12653 + %t12665 = call ptr @realloc(ptr %t12664, i64 %t12663) + store ptr %t12665, ptr %t12653 + store i32 %t12659, ptr %t12652 + br label %put2560 +put2560: + %t12666 = load ptr, ptr %t12653 + %t12667 = getelementptr inbounds ptr, ptr %t12666, i32 %t12654 + store ptr @.str7801, ptr %t12667 + %t12668 = add i32 %t12654, 1 + store i32 %t12668, ptr %t12651 + br label %ifend2554 +ifend2554: + %t12669 = load ptr, ptr %t1 + %t12670 = call i32 @fn_str_eq(ptr %t12669, ptr @.str7802) + %t12671 = icmp ne i32 %t12670, 0 + br i1 %t12671, label %then2561, label %ifend2563 +then2561: + store ptr @.str7803, ptr %t380 + %t12672 = load ptr, ptr %t387 + %t12673 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 1 + %t12674 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 2 + %t12675 = getelementptr inbounds %LSlice, ptr %t12672, i32 0, i32 0 + %t12676 = load i32, ptr %t12673 + %t12677 = load i32, ptr %t12674 + %t12678 = icmp sge i32 %t12676, %t12677 + br i1 %t12678, label %grow2564, label %put2565 +grow2564: + %t12679 = mul i32 %t12677, 2 + %t12680 = icmp eq i32 %t12677, 0 + %t12681 = select i1 %t12680, i32 8, i32 %t12679 + %t12682 = getelementptr ptr, ptr null, i32 1 + %t12683 = ptrtoint ptr %t12682 to i64 + %t12684 = zext i32 %t12681 to i64 + %t12685 = mul i64 %t12684, %t12683 + %t12686 = load ptr, ptr %t12675 + %t12687 = call ptr @realloc(ptr %t12686, i64 %t12685) + store ptr %t12687, ptr %t12675 + store i32 %t12681, ptr %t12674 + br label %put2565 +put2565: + %t12688 = load ptr, ptr %t12675 + %t12689 = getelementptr inbounds ptr, ptr %t12688, i32 %t12676 + store ptr @.str7804, ptr %t12689 + %t12690 = add i32 %t12676, 1 + store i32 %t12690, ptr %t12673 + %t12691 = load ptr, ptr %t387 + %t12692 = getelementptr inbounds %LSlice, ptr %t12691, i32 0, i32 1 + %t12693 = getelementptr inbounds %LSlice, ptr %t12691, i32 0, i32 2 + %t12694 = getelementptr inbounds %LSlice, ptr %t12691, i32 0, i32 0 + %t12695 = load i32, ptr %t12692 + %t12696 = load i32, ptr %t12693 + %t12697 = icmp sge i32 %t12695, %t12696 + br i1 %t12697, label %grow2566, label %put2567 +grow2566: + %t12698 = mul i32 %t12696, 2 + %t12699 = icmp eq i32 %t12696, 0 + %t12700 = select i1 %t12699, i32 8, i32 %t12698 + %t12701 = getelementptr ptr, ptr null, i32 1 + %t12702 = ptrtoint ptr %t12701 to i64 + %t12703 = zext i32 %t12700 to i64 + %t12704 = mul i64 %t12703, %t12702 + %t12705 = load ptr, ptr %t12694 + %t12706 = call ptr @realloc(ptr %t12705, i64 %t12704) + store ptr %t12706, ptr %t12694 + store i32 %t12700, ptr %t12693 + br label %put2567 +put2567: + %t12707 = load ptr, ptr %t12694 + %t12708 = getelementptr inbounds ptr, ptr %t12707, i32 %t12695 + store ptr @.str7805, ptr %t12708 + %t12709 = add i32 %t12695, 1 + store i32 %t12709, ptr %t12692 + br label %ifend2563 +ifend2563: + %t12710 = load ptr, ptr %t1 + %t12711 = call i32 @fn_str_eq(ptr %t12710, ptr @.str7806) + %t12712 = icmp ne i32 %t12711, 0 + br i1 %t12712, label %then2568, label %ifend2570 +then2568: + store ptr @.str7807, ptr %t380 + %t12713 = load ptr, ptr %t387 + %t12714 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 1 + %t12715 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 2 + %t12716 = getelementptr inbounds %LSlice, ptr %t12713, i32 0, i32 0 + %t12717 = load i32, ptr %t12714 + %t12718 = load i32, ptr %t12715 + %t12719 = icmp sge i32 %t12717, %t12718 + br i1 %t12719, label %grow2571, label %put2572 +grow2571: + %t12720 = mul i32 %t12718, 2 + %t12721 = icmp eq i32 %t12718, 0 + %t12722 = select i1 %t12721, i32 8, i32 %t12720 + %t12723 = getelementptr ptr, ptr null, i32 1 + %t12724 = ptrtoint ptr %t12723 to i64 + %t12725 = zext i32 %t12722 to i64 + %t12726 = mul i64 %t12725, %t12724 + %t12727 = load ptr, ptr %t12716 + %t12728 = call ptr @realloc(ptr %t12727, i64 %t12726) + store ptr %t12728, ptr %t12716 + store i32 %t12722, ptr %t12715 + br label %put2572 +put2572: + %t12729 = load ptr, ptr %t12716 + %t12730 = getelementptr inbounds ptr, ptr %t12729, i32 %t12717 + store ptr @.str7808, ptr %t12730 + %t12731 = add i32 %t12717, 1 + store i32 %t12731, ptr %t12714 + %t12732 = load ptr, ptr %t387 + %t12733 = getelementptr inbounds %LSlice, ptr %t12732, i32 0, i32 1 + %t12734 = getelementptr inbounds %LSlice, ptr %t12732, i32 0, i32 2 + %t12735 = getelementptr inbounds %LSlice, ptr %t12732, i32 0, i32 0 + %t12736 = load i32, ptr %t12733 + %t12737 = load i32, ptr %t12734 + %t12738 = icmp sge i32 %t12736, %t12737 + br i1 %t12738, label %grow2573, label %put2574 +grow2573: + %t12739 = mul i32 %t12737, 2 + %t12740 = icmp eq i32 %t12737, 0 + %t12741 = select i1 %t12740, i32 8, i32 %t12739 + %t12742 = getelementptr ptr, ptr null, i32 1 + %t12743 = ptrtoint ptr %t12742 to i64 + %t12744 = zext i32 %t12741 to i64 + %t12745 = mul i64 %t12744, %t12743 + %t12746 = load ptr, ptr %t12735 + %t12747 = call ptr @realloc(ptr %t12746, i64 %t12745) + store ptr %t12747, ptr %t12735 + store i32 %t12741, ptr %t12734 + br label %put2574 +put2574: + %t12748 = load ptr, ptr %t12735 + %t12749 = getelementptr inbounds ptr, ptr %t12748, i32 %t12736 + store ptr @.str7809, ptr %t12749 + %t12750 = add i32 %t12736, 1 + store i32 %t12750, ptr %t12733 + br label %ifend2570 +ifend2570: + %t12751 = load ptr, ptr %t1 + %t12752 = call i32 @fn_str_eq(ptr %t12751, ptr @.str7810) + %t12753 = icmp ne i32 %t12752, 0 + br i1 %t12753, label %then2575, label %ifend2577 +then2575: + store ptr @.str7811, ptr %t380 + %t12754 = load ptr, ptr %t387 + %t12755 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 1 + %t12756 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 2 + %t12757 = getelementptr inbounds %LSlice, ptr %t12754, i32 0, i32 0 + %t12758 = load i32, ptr %t12755 + %t12759 = load i32, ptr %t12756 + %t12760 = icmp sge i32 %t12758, %t12759 + br i1 %t12760, label %grow2578, label %put2579 +grow2578: + %t12761 = mul i32 %t12759, 2 + %t12762 = icmp eq i32 %t12759, 0 + %t12763 = select i1 %t12762, i32 8, i32 %t12761 + %t12764 = getelementptr ptr, ptr null, i32 1 + %t12765 = ptrtoint ptr %t12764 to i64 + %t12766 = zext i32 %t12763 to i64 + %t12767 = mul i64 %t12766, %t12765 + %t12768 = load ptr, ptr %t12757 + %t12769 = call ptr @realloc(ptr %t12768, i64 %t12767) + store ptr %t12769, ptr %t12757 + store i32 %t12763, ptr %t12756 + br label %put2579 +put2579: + %t12770 = load ptr, ptr %t12757 + %t12771 = getelementptr inbounds ptr, ptr %t12770, i32 %t12758 + store ptr @.str7812, ptr %t12771 + %t12772 = add i32 %t12758, 1 + store i32 %t12772, ptr %t12755 + %t12773 = load ptr, ptr %t387 + %t12774 = getelementptr inbounds %LSlice, ptr %t12773, i32 0, i32 1 + %t12775 = getelementptr inbounds %LSlice, ptr %t12773, i32 0, i32 2 + %t12776 = getelementptr inbounds %LSlice, ptr %t12773, i32 0, i32 0 + %t12777 = load i32, ptr %t12774 + %t12778 = load i32, ptr %t12775 + %t12779 = icmp sge i32 %t12777, %t12778 + br i1 %t12779, label %grow2580, label %put2581 +grow2580: + %t12780 = mul i32 %t12778, 2 + %t12781 = icmp eq i32 %t12778, 0 + %t12782 = select i1 %t12781, i32 8, i32 %t12780 + %t12783 = getelementptr ptr, ptr null, i32 1 + %t12784 = ptrtoint ptr %t12783 to i64 + %t12785 = zext i32 %t12782 to i64 + %t12786 = mul i64 %t12785, %t12784 + %t12787 = load ptr, ptr %t12776 + %t12788 = call ptr @realloc(ptr %t12787, i64 %t12786) + store ptr %t12788, ptr %t12776 + store i32 %t12782, ptr %t12775 + br label %put2581 +put2581: + %t12789 = load ptr, ptr %t12776 + %t12790 = getelementptr inbounds ptr, ptr %t12789, i32 %t12777 + store ptr @.str7813, ptr %t12790 + %t12791 = add i32 %t12777, 1 + store i32 %t12791, ptr %t12774 + br label %ifend2577 +ifend2577: + %t12792 = load ptr, ptr %t1 + %t12793 = call i32 @fn_str_eq(ptr %t12792, ptr @.str7814) + %t12794 = icmp ne i32 %t12793, 0 + br i1 %t12794, label %then2582, label %ifend2584 +then2582: + store ptr @.str7815, ptr %t380 + %t12795 = load ptr, ptr %t387 + %t12796 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 1 + %t12797 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 2 + %t12798 = getelementptr inbounds %LSlice, ptr %t12795, i32 0, i32 0 + %t12799 = load i32, ptr %t12796 + %t12800 = load i32, ptr %t12797 + %t12801 = icmp sge i32 %t12799, %t12800 + br i1 %t12801, label %grow2585, label %put2586 +grow2585: + %t12802 = mul i32 %t12800, 2 + %t12803 = icmp eq i32 %t12800, 0 + %t12804 = select i1 %t12803, i32 8, i32 %t12802 + %t12805 = getelementptr ptr, ptr null, i32 1 + %t12806 = ptrtoint ptr %t12805 to i64 + %t12807 = zext i32 %t12804 to i64 + %t12808 = mul i64 %t12807, %t12806 + %t12809 = load ptr, ptr %t12798 + %t12810 = call ptr @realloc(ptr %t12809, i64 %t12808) + store ptr %t12810, ptr %t12798 + store i32 %t12804, ptr %t12797 + br label %put2586 +put2586: + %t12811 = load ptr, ptr %t12798 + %t12812 = getelementptr inbounds ptr, ptr %t12811, i32 %t12799 + store ptr @.str7816, ptr %t12812 + %t12813 = add i32 %t12799, 1 + store i32 %t12813, ptr %t12796 + %t12814 = load ptr, ptr %t387 + %t12815 = getelementptr inbounds %LSlice, ptr %t12814, i32 0, i32 1 + %t12816 = getelementptr inbounds %LSlice, ptr %t12814, i32 0, i32 2 + %t12817 = getelementptr inbounds %LSlice, ptr %t12814, i32 0, i32 0 + %t12818 = load i32, ptr %t12815 + %t12819 = load i32, ptr %t12816 + %t12820 = icmp sge i32 %t12818, %t12819 + br i1 %t12820, label %grow2587, label %put2588 +grow2587: + %t12821 = mul i32 %t12819, 2 + %t12822 = icmp eq i32 %t12819, 0 + %t12823 = select i1 %t12822, i32 8, i32 %t12821 + %t12824 = getelementptr ptr, ptr null, i32 1 + %t12825 = ptrtoint ptr %t12824 to i64 + %t12826 = zext i32 %t12823 to i64 + %t12827 = mul i64 %t12826, %t12825 + %t12828 = load ptr, ptr %t12817 + %t12829 = call ptr @realloc(ptr %t12828, i64 %t12827) + store ptr %t12829, ptr %t12817 + store i32 %t12823, ptr %t12816 + br label %put2588 +put2588: + %t12830 = load ptr, ptr %t12817 + %t12831 = getelementptr inbounds ptr, ptr %t12830, i32 %t12818 + store ptr @.str7817, ptr %t12831 + %t12832 = add i32 %t12818, 1 + store i32 %t12832, ptr %t12815 + br label %ifend2584 +ifend2584: + %t12833 = load ptr, ptr %t1 + %t12834 = call i32 @fn_str_eq(ptr %t12833, ptr @.str7818) + %t12835 = icmp ne i32 %t12834, 0 + br i1 %t12835, label %then2589, label %ifend2591 +then2589: + store ptr @.str7819, ptr %t380 + %t12836 = load ptr, ptr %t387 + %t12837 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 1 + %t12838 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 2 + %t12839 = getelementptr inbounds %LSlice, ptr %t12836, i32 0, i32 0 + %t12840 = load i32, ptr %t12837 + %t12841 = load i32, ptr %t12838 + %t12842 = icmp sge i32 %t12840, %t12841 + br i1 %t12842, label %grow2592, label %put2593 +grow2592: + %t12843 = mul i32 %t12841, 2 + %t12844 = icmp eq i32 %t12841, 0 + %t12845 = select i1 %t12844, i32 8, i32 %t12843 + %t12846 = getelementptr ptr, ptr null, i32 1 + %t12847 = ptrtoint ptr %t12846 to i64 + %t12848 = zext i32 %t12845 to i64 + %t12849 = mul i64 %t12848, %t12847 + %t12850 = load ptr, ptr %t12839 + %t12851 = call ptr @realloc(ptr %t12850, i64 %t12849) + store ptr %t12851, ptr %t12839 + store i32 %t12845, ptr %t12838 + br label %put2593 +put2593: + %t12852 = load ptr, ptr %t12839 + %t12853 = getelementptr inbounds ptr, ptr %t12852, i32 %t12840 + store ptr @.str7820, ptr %t12853 + %t12854 = add i32 %t12840, 1 + store i32 %t12854, ptr %t12837 + br label %ifend2591 +ifend2591: + %t12855 = load ptr, ptr %t1 + %t12856 = call i32 @fn_str_eq(ptr %t12855, ptr @.str7821) + %t12857 = icmp ne i32 %t12856, 0 + br i1 %t12857, label %then2594, label %ifend2596 +then2594: + store ptr @.str7822, ptr %t380 + %t12858 = load ptr, ptr %t387 %t12859 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 1 %t12860 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 2 %t12861 = getelementptr inbounds %LSlice, ptr %t12858, i32 0, i32 0 %t12862 = load i32, ptr %t12859 %t12863 = load i32, ptr %t12860 %t12864 = icmp sge i32 %t12862, %t12863 - br i1 %t12864, label %grow2611, label %put2612 -grow2611: + br i1 %t12864, label %grow2597, label %put2598 +grow2597: %t12865 = mul i32 %t12863, 2 %t12866 = icmp eq i32 %t12863, 0 %t12867 = select i1 %t12866, i32 8, i32 %t12865 @@ -76290,30 +82747,30 @@ grow2611: %t12873 = call ptr @realloc(ptr %t12872, i64 %t12871) store ptr %t12873, ptr %t12861 store i32 %t12867, ptr %t12860 - br label %put2612 -put2612: + br label %put2598 +put2598: %t12874 = load ptr, ptr %t12861 %t12875 = getelementptr inbounds ptr, ptr %t12874, i32 %t12862 - store ptr @.str7513, ptr %t12875 + store ptr @.str7823, ptr %t12875 %t12876 = add i32 %t12862, 1 store i32 %t12876, ptr %t12859 - br label %ifend2608 -ifend2608: + br label %ifend2596 +ifend2596: %t12877 = load ptr, ptr %t1 - %t12878 = call i32 @fn_str_eq(ptr %t12877, ptr @.str7514) + %t12878 = call i32 @fn_str_eq(ptr %t12877, ptr @.str7824) %t12879 = icmp ne i32 %t12878, 0 - br i1 %t12879, label %then2613, label %ifend2615 -then2613: - store ptr @.str7515, ptr %t330 - %t12880 = load ptr, ptr %t337 + br i1 %t12879, label %then2599, label %ifend2601 +then2599: + store ptr @.str7825, ptr %t380 + %t12880 = load ptr, ptr %t387 %t12881 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 1 %t12882 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 2 %t12883 = getelementptr inbounds %LSlice, ptr %t12880, i32 0, i32 0 %t12884 = load i32, ptr %t12881 %t12885 = load i32, ptr %t12882 %t12886 = icmp sge i32 %t12884, %t12885 - br i1 %t12886, label %grow2616, label %put2617 -grow2616: + br i1 %t12886, label %grow2602, label %put2603 +grow2602: %t12887 = mul i32 %t12885, 2 %t12888 = icmp eq i32 %t12885, 0 %t12889 = select i1 %t12888, i32 8, i32 %t12887 @@ -76325,30 +82782,30 @@ grow2616: %t12895 = call ptr @realloc(ptr %t12894, i64 %t12893) store ptr %t12895, ptr %t12883 store i32 %t12889, ptr %t12882 - br label %put2617 -put2617: + br label %put2603 +put2603: %t12896 = load ptr, ptr %t12883 %t12897 = getelementptr inbounds ptr, ptr %t12896, i32 %t12884 - store ptr @.str7516, ptr %t12897 + store ptr @.str7826, ptr %t12897 %t12898 = add i32 %t12884, 1 store i32 %t12898, ptr %t12881 - br label %ifend2615 -ifend2615: + br label %ifend2601 +ifend2601: %t12899 = load ptr, ptr %t1 - %t12900 = call i32 @fn_str_eq(ptr %t12899, ptr @.str7517) + %t12900 = call i32 @fn_str_eq(ptr %t12899, ptr @.str7827) %t12901 = icmp ne i32 %t12900, 0 - br i1 %t12901, label %then2618, label %ifend2620 -then2618: - store ptr @.str7518, ptr %t330 - %t12902 = load ptr, ptr %t337 + br i1 %t12901, label %then2604, label %ifend2606 +then2604: + store ptr @.str7828, ptr %t380 + %t12902 = load ptr, ptr %t387 %t12903 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 1 %t12904 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 2 %t12905 = getelementptr inbounds %LSlice, ptr %t12902, i32 0, i32 0 %t12906 = load i32, ptr %t12903 %t12907 = load i32, ptr %t12904 %t12908 = icmp sge i32 %t12906, %t12907 - br i1 %t12908, label %grow2621, label %put2622 -grow2621: + br i1 %t12908, label %grow2607, label %put2608 +grow2607: %t12909 = mul i32 %t12907, 2 %t12910 = icmp eq i32 %t12907, 0 %t12911 = select i1 %t12910, i32 8, i32 %t12909 @@ -76360,170 +82817,3332 @@ grow2621: %t12917 = call ptr @realloc(ptr %t12916, i64 %t12915) store ptr %t12917, ptr %t12905 store i32 %t12911, ptr %t12904 - br label %put2622 -put2622: + br label %put2608 +put2608: %t12918 = load ptr, ptr %t12905 %t12919 = getelementptr inbounds ptr, ptr %t12918, i32 %t12906 - store ptr @.str7519, ptr %t12919 + store ptr @.str7829, ptr %t12919 %t12920 = add i32 %t12906, 1 store i32 %t12920, ptr %t12903 - br label %ifend2620 -ifend2620: - %t12921 = load ptr, ptr %t1 - %t12922 = call i32 @fn_str_eq(ptr %t12921, ptr @.str7520) + br label %ifend2606 +ifend2606: + br label %ifend2515 +ifend2515: + %t12921 = load ptr, ptr %t0 + %t12922 = call i32 @fn_str_eq(ptr %t12921, ptr @.str7830) %t12923 = icmp ne i32 %t12922, 0 - br i1 %t12923, label %then2623, label %ifend2625 -then2623: - store ptr @.str7521, ptr %t330 - %t12924 = load ptr, ptr %t337 - %t12925 = getelementptr inbounds %LSlice, ptr %t12924, i32 0, i32 1 - %t12926 = getelementptr inbounds %LSlice, ptr %t12924, i32 0, i32 2 - %t12927 = getelementptr inbounds %LSlice, ptr %t12924, i32 0, i32 0 - %t12928 = load i32, ptr %t12925 - %t12929 = load i32, ptr %t12926 - %t12930 = icmp sge i32 %t12928, %t12929 - br i1 %t12930, label %grow2626, label %put2627 -grow2626: - %t12931 = mul i32 %t12929, 2 - %t12932 = icmp eq i32 %t12929, 0 - %t12933 = select i1 %t12932, i32 8, i32 %t12931 - %t12934 = getelementptr ptr, ptr null, i32 1 - %t12935 = ptrtoint ptr %t12934 to i64 - %t12936 = zext i32 %t12933 to i64 - %t12937 = mul i64 %t12936, %t12935 - %t12938 = load ptr, ptr %t12927 - %t12939 = call ptr @realloc(ptr %t12938, i64 %t12937) - store ptr %t12939, ptr %t12927 - store i32 %t12933, ptr %t12926 - br label %put2627 -put2627: - %t12940 = load ptr, ptr %t12927 - %t12941 = getelementptr inbounds ptr, ptr %t12940, i32 %t12928 - store ptr @.str7522, ptr %t12941 - %t12942 = add i32 %t12928, 1 - store i32 %t12942, ptr %t12925 - %t12943 = load ptr, ptr %t337 - %t12944 = getelementptr inbounds %LSlice, ptr %t12943, i32 0, i32 1 - %t12945 = getelementptr inbounds %LSlice, ptr %t12943, i32 0, i32 2 - %t12946 = getelementptr inbounds %LSlice, ptr %t12943, i32 0, i32 0 - %t12947 = load i32, ptr %t12944 - %t12948 = load i32, ptr %t12945 - %t12949 = icmp sge i32 %t12947, %t12948 - br i1 %t12949, label %grow2628, label %put2629 + br i1 %t12923, label %then2609, label %ifend2611 +then2609: + %t12924 = load ptr, ptr %t1 + %t12925 = call i32 @fn_str_eq(ptr %t12924, ptr @.str7831) + %t12926 = icmp ne i32 %t12925, 0 + br i1 %t12926, label %then2612, label %ifend2614 +then2612: + store ptr @.str7832, ptr %t380 + %t12927 = load ptr, ptr %t387 + %t12928 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 1 + %t12929 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 2 + %t12930 = getelementptr inbounds %LSlice, ptr %t12927, i32 0, i32 0 + %t12931 = load i32, ptr %t12928 + %t12932 = load i32, ptr %t12929 + %t12933 = icmp sge i32 %t12931, %t12932 + br i1 %t12933, label %grow2615, label %put2616 +grow2615: + %t12934 = mul i32 %t12932, 2 + %t12935 = icmp eq i32 %t12932, 0 + %t12936 = select i1 %t12935, i32 8, i32 %t12934 + %t12937 = getelementptr ptr, ptr null, i32 1 + %t12938 = ptrtoint ptr %t12937 to i64 + %t12939 = zext i32 %t12936 to i64 + %t12940 = mul i64 %t12939, %t12938 + %t12941 = load ptr, ptr %t12930 + %t12942 = call ptr @realloc(ptr %t12941, i64 %t12940) + store ptr %t12942, ptr %t12930 + store i32 %t12936, ptr %t12929 + br label %put2616 +put2616: + %t12943 = load ptr, ptr %t12930 + %t12944 = getelementptr inbounds ptr, ptr %t12943, i32 %t12931 + store ptr @.str7833, ptr %t12944 + %t12945 = add i32 %t12931, 1 + store i32 %t12945, ptr %t12928 + br label %ifend2614 +ifend2614: + %t12946 = load ptr, ptr %t1 + %t12947 = call i32 @fn_str_eq(ptr %t12946, ptr @.str7834) + %t12948 = icmp ne i32 %t12947, 0 + br i1 %t12948, label %then2617, label %ifend2619 +then2617: + store ptr @.str7835, ptr %t380 + %t12949 = load ptr, ptr %t387 + %t12950 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 1 + %t12951 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 2 + %t12952 = getelementptr inbounds %LSlice, ptr %t12949, i32 0, i32 0 + %t12953 = load i32, ptr %t12950 + %t12954 = load i32, ptr %t12951 + %t12955 = icmp sge i32 %t12953, %t12954 + br i1 %t12955, label %grow2620, label %put2621 +grow2620: + %t12956 = mul i32 %t12954, 2 + %t12957 = icmp eq i32 %t12954, 0 + %t12958 = select i1 %t12957, i32 8, i32 %t12956 + %t12959 = getelementptr ptr, ptr null, i32 1 + %t12960 = ptrtoint ptr %t12959 to i64 + %t12961 = zext i32 %t12958 to i64 + %t12962 = mul i64 %t12961, %t12960 + %t12963 = load ptr, ptr %t12952 + %t12964 = call ptr @realloc(ptr %t12963, i64 %t12962) + store ptr %t12964, ptr %t12952 + store i32 %t12958, ptr %t12951 + br label %put2621 +put2621: + %t12965 = load ptr, ptr %t12952 + %t12966 = getelementptr inbounds ptr, ptr %t12965, i32 %t12953 + store ptr @.str7836, ptr %t12966 + %t12967 = add i32 %t12953, 1 + store i32 %t12967, ptr %t12950 + br label %ifend2619 +ifend2619: + br label %ifend2611 +ifend2611: + %t12968 = load ptr, ptr %t0 + %t12969 = call i32 @fn_str_eq(ptr %t12968, ptr @.str7837) + %t12970 = icmp ne i32 %t12969, 0 + br i1 %t12970, label %then2622, label %ifend2624 +then2622: + %t12971 = load ptr, ptr %t1 + %t12972 = call i32 @fn_str_eq(ptr %t12971, ptr @.str7838) + %t12973 = icmp ne i32 %t12972, 0 + br i1 %t12973, label %then2625, label %ifend2627 +then2625: + store ptr @.str7839, ptr %t380 + %t12974 = load ptr, ptr %t387 + %t12975 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 1 + %t12976 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 2 + %t12977 = getelementptr inbounds %LSlice, ptr %t12974, i32 0, i32 0 + %t12978 = load i32, ptr %t12975 + %t12979 = load i32, ptr %t12976 + %t12980 = icmp sge i32 %t12978, %t12979 + br i1 %t12980, label %grow2628, label %put2629 grow2628: - %t12950 = mul i32 %t12948, 2 - %t12951 = icmp eq i32 %t12948, 0 - %t12952 = select i1 %t12951, i32 8, i32 %t12950 - %t12953 = getelementptr ptr, ptr null, i32 1 - %t12954 = ptrtoint ptr %t12953 to i64 - %t12955 = zext i32 %t12952 to i64 - %t12956 = mul i64 %t12955, %t12954 - %t12957 = load ptr, ptr %t12946 - %t12958 = call ptr @realloc(ptr %t12957, i64 %t12956) - store ptr %t12958, ptr %t12946 - store i32 %t12952, ptr %t12945 + %t12981 = mul i32 %t12979, 2 + %t12982 = icmp eq i32 %t12979, 0 + %t12983 = select i1 %t12982, i32 8, i32 %t12981 + %t12984 = getelementptr ptr, ptr null, i32 1 + %t12985 = ptrtoint ptr %t12984 to i64 + %t12986 = zext i32 %t12983 to i64 + %t12987 = mul i64 %t12986, %t12985 + %t12988 = load ptr, ptr %t12977 + %t12989 = call ptr @realloc(ptr %t12988, i64 %t12987) + store ptr %t12989, ptr %t12977 + store i32 %t12983, ptr %t12976 br label %put2629 put2629: - %t12959 = load ptr, ptr %t12946 - %t12960 = getelementptr inbounds ptr, ptr %t12959, i32 %t12947 - store ptr @.str7523, ptr %t12960 - %t12961 = add i32 %t12947, 1 - store i32 %t12961, ptr %t12944 - br label %ifend2625 -ifend2625: - br label %ifend2356 -ifend2356: - %t12963 = load ptr, ptr %t330 - %t12964 = icmp eq ptr %t12963, null - %t12965 = zext i1 %t12964 to i32 - %t12966 = icmp ne i32 %t12965, 0 - %t12967 = zext i1 %t12966 to i32 - store i32 %t12967, ptr %t12962 - br i1 %t12966, label %sc2630, label %scend2631 -sc2630: - %t12968 = load ptr, ptr %t0 - %t12969 = call i32 @fn_is_registered_namespace(ptr %t12968) - %t12970 = icmp ne i32 %t12969, 0 - %t12971 = zext i1 %t12970 to i32 - store i32 %t12971, ptr %t12962 - br label %scend2631 -scend2631: - %t12972 = load i32, ptr %t12962 - %t12973 = icmp ne i32 %t12972, 0 - br i1 %t12973, label %then2632, label %ifend2634 -then2632: - %t12974 = load ptr, ptr %t0 - %t12975 = call ptr @fn_ns_lower(ptr %t12974) - %t12976 = call ptr @fn_str_concat(ptr %t12975, ptr @.str7524) - %t12977 = load ptr, ptr %t1 - %t12978 = call ptr @fn_str_concat(ptr %t12976, ptr %t12977) - store ptr %t12978, ptr %t330 - %t12980 = load ptr, ptr %t0 - %t12981 = call i32 @fn_is_ns_block(ptr %t12980) - %t12982 = icmp ne i32 %t12981, 0 - %t12983 = zext i1 %t12982 to i32 - store i32 %t12983, ptr %t12979 - br i1 %t12982, label %sc2635, label %scend2636 -sc2635: - %t12984 = load ptr, ptr %t330 - %t12985 = call i32 @fn_ns_export_has(ptr %t12984) - %t12986 = icmp eq i32 %t12985, 0 - %t12987 = zext i1 %t12986 to i32 - %t12988 = icmp ne i32 %t12987, 0 - %t12989 = zext i1 %t12988 to i32 - store i32 %t12989, ptr %t12979 - br label %scend2636 -scend2636: - %t12990 = load i32, ptr %t12979 - %t12991 = icmp ne i32 %t12990, 0 - br i1 %t12991, label %then2637, label %ifend2639 -then2637: - %t12992 = load ptr, ptr %t0 - %t12993 = call ptr @fn_str_concat(ptr %t12992, ptr @.str7525) - %t12994 = load ptr, ptr %t1 - %t12995 = call ptr @fn_str_concat(ptr %t12993, ptr %t12994) - %t12996 = call ptr @fn_str_concat(ptr %t12995, ptr @.str7526) - %t12997 = load ptr, ptr %t0 - %t12998 = call ptr @fn_str_concat(ptr %t12996, ptr %t12997) - call void @fn_perr(ptr %t12998) - br label %ifend2639 -ifend2639: - br label %ifend2634 -ifend2634: - %t12999 = load ptr, ptr %t330 - %t13000 = icmp eq ptr %t12999, null - %t13001 = zext i1 %t13000 to i32 - %t13002 = icmp ne i32 %t13001, 0 - br i1 %t13002, label %then2640, label %ifend2642 + %t12990 = load ptr, ptr %t12977 + %t12991 = getelementptr inbounds ptr, ptr %t12990, i32 %t12978 + store ptr @.str7840, ptr %t12991 + %t12992 = add i32 %t12978, 1 + store i32 %t12992, ptr %t12975 + br label %ifend2627 +ifend2627: + %t12993 = load ptr, ptr %t1 + %t12994 = call i32 @fn_str_eq(ptr %t12993, ptr @.str7841) + %t12995 = icmp ne i32 %t12994, 0 + br i1 %t12995, label %then2630, label %ifend2632 +then2630: + store ptr @.str7842, ptr %t380 + %t12996 = load ptr, ptr %t387 + %t12997 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 1 + %t12998 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 2 + %t12999 = getelementptr inbounds %LSlice, ptr %t12996, i32 0, i32 0 + %t13000 = load i32, ptr %t12997 + %t13001 = load i32, ptr %t12998 + %t13002 = icmp sge i32 %t13000, %t13001 + br i1 %t13002, label %grow2633, label %put2634 +grow2633: + %t13003 = mul i32 %t13001, 2 + %t13004 = icmp eq i32 %t13001, 0 + %t13005 = select i1 %t13004, i32 8, i32 %t13003 + %t13006 = getelementptr ptr, ptr null, i32 1 + %t13007 = ptrtoint ptr %t13006 to i64 + %t13008 = zext i32 %t13005 to i64 + %t13009 = mul i64 %t13008, %t13007 + %t13010 = load ptr, ptr %t12999 + %t13011 = call ptr @realloc(ptr %t13010, i64 %t13009) + store ptr %t13011, ptr %t12999 + store i32 %t13005, ptr %t12998 + br label %put2634 +put2634: + %t13012 = load ptr, ptr %t12999 + %t13013 = getelementptr inbounds ptr, ptr %t13012, i32 %t13000 + store ptr @.str7843, ptr %t13013 + %t13014 = add i32 %t13000, 1 + store i32 %t13014, ptr %t12997 + br label %ifend2632 +ifend2632: + %t13015 = load ptr, ptr %t1 + %t13016 = call i32 @fn_str_eq(ptr %t13015, ptr @.str7844) + %t13017 = icmp ne i32 %t13016, 0 + br i1 %t13017, label %then2635, label %ifend2637 +then2635: + store ptr @.str7845, ptr %t380 + %t13018 = load ptr, ptr %t387 + %t13019 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 1 + %t13020 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 2 + %t13021 = getelementptr inbounds %LSlice, ptr %t13018, i32 0, i32 0 + %t13022 = load i32, ptr %t13019 + %t13023 = load i32, ptr %t13020 + %t13024 = icmp sge i32 %t13022, %t13023 + br i1 %t13024, label %grow2638, label %put2639 +grow2638: + %t13025 = mul i32 %t13023, 2 + %t13026 = icmp eq i32 %t13023, 0 + %t13027 = select i1 %t13026, i32 8, i32 %t13025 + %t13028 = getelementptr ptr, ptr null, i32 1 + %t13029 = ptrtoint ptr %t13028 to i64 + %t13030 = zext i32 %t13027 to i64 + %t13031 = mul i64 %t13030, %t13029 + %t13032 = load ptr, ptr %t13021 + %t13033 = call ptr @realloc(ptr %t13032, i64 %t13031) + store ptr %t13033, ptr %t13021 + store i32 %t13027, ptr %t13020 + br label %put2639 +put2639: + %t13034 = load ptr, ptr %t13021 + %t13035 = getelementptr inbounds ptr, ptr %t13034, i32 %t13022 + store ptr @.str7846, ptr %t13035 + %t13036 = add i32 %t13022, 1 + store i32 %t13036, ptr %t13019 + br label %ifend2637 +ifend2637: + %t13037 = load ptr, ptr %t1 + %t13038 = call i32 @fn_str_eq(ptr %t13037, ptr @.str7847) + %t13039 = icmp ne i32 %t13038, 0 + br i1 %t13039, label %then2640, label %ifend2642 then2640: - %t13003 = load ptr, ptr %t0 - %t13004 = call ptr @fn_str_concat(ptr @.str7527, ptr %t13003) - %t13005 = call ptr @fn_str_concat(ptr %t13004, ptr @.str7528) - %t13006 = load ptr, ptr %t1 - %t13007 = call ptr @fn_str_concat(ptr %t13005, ptr %t13006) - call void @fn_perr(ptr %t13007) + store ptr @.str7848, ptr %t380 + %t13040 = load ptr, ptr %t387 + %t13041 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 1 + %t13042 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 2 + %t13043 = getelementptr inbounds %LSlice, ptr %t13040, i32 0, i32 0 + %t13044 = load i32, ptr %t13041 + %t13045 = load i32, ptr %t13042 + %t13046 = icmp sge i32 %t13044, %t13045 + br i1 %t13046, label %grow2643, label %put2644 +grow2643: + %t13047 = mul i32 %t13045, 2 + %t13048 = icmp eq i32 %t13045, 0 + %t13049 = select i1 %t13048, i32 8, i32 %t13047 + %t13050 = getelementptr ptr, ptr null, i32 1 + %t13051 = ptrtoint ptr %t13050 to i64 + %t13052 = zext i32 %t13049 to i64 + %t13053 = mul i64 %t13052, %t13051 + %t13054 = load ptr, ptr %t13043 + %t13055 = call ptr @realloc(ptr %t13054, i64 %t13053) + store ptr %t13055, ptr %t13043 + store i32 %t13049, ptr %t13042 + br label %put2644 +put2644: + %t13056 = load ptr, ptr %t13043 + %t13057 = getelementptr inbounds ptr, ptr %t13056, i32 %t13044 + store ptr @.str7849, ptr %t13057 + %t13058 = add i32 %t13044, 1 + store i32 %t13058, ptr %t13041 + %t13059 = load ptr, ptr %t387 + %t13060 = getelementptr inbounds %LSlice, ptr %t13059, i32 0, i32 1 + %t13061 = getelementptr inbounds %LSlice, ptr %t13059, i32 0, i32 2 + %t13062 = getelementptr inbounds %LSlice, ptr %t13059, i32 0, i32 0 + %t13063 = load i32, ptr %t13060 + %t13064 = load i32, ptr %t13061 + %t13065 = icmp sge i32 %t13063, %t13064 + br i1 %t13065, label %grow2645, label %put2646 +grow2645: + %t13066 = mul i32 %t13064, 2 + %t13067 = icmp eq i32 %t13064, 0 + %t13068 = select i1 %t13067, i32 8, i32 %t13066 + %t13069 = getelementptr ptr, ptr null, i32 1 + %t13070 = ptrtoint ptr %t13069 to i64 + %t13071 = zext i32 %t13068 to i64 + %t13072 = mul i64 %t13071, %t13070 + %t13073 = load ptr, ptr %t13062 + %t13074 = call ptr @realloc(ptr %t13073, i64 %t13072) + store ptr %t13074, ptr %t13062 + store i32 %t13068, ptr %t13061 + br label %put2646 +put2646: + %t13075 = load ptr, ptr %t13062 + %t13076 = getelementptr inbounds ptr, ptr %t13075, i32 %t13063 + store ptr @.str7850, ptr %t13076 + %t13077 = add i32 %t13063, 1 + store i32 %t13077, ptr %t13060 br label %ifend2642 ifend2642: - %t13008 = load ptr, ptr %t2 - %t13009 = load ptr, ptr %t337 - call void @fn_reorder_named(ptr %t13008, ptr %t13009) - %t13010 = call ptr @fn_node(i32 33) - store ptr %t13010, ptr %t13011 - %t13012 = load ptr, ptr %t13011 - %t13013 = getelementptr inbounds %Cmp_Node, ptr %t13012, i32 0, i32 1 - %t13014 = load ptr, ptr %t330 - store ptr %t13014, ptr %t13013 - %t13015 = load ptr, ptr %t2 - %t13016 = getelementptr inbounds %Cmp_Node, ptr %t13015, i32 0, i32 4 - %t13017 = load ptr, ptr %t13011 - store ptr %t13017, ptr %t13016 - %t13018 = load ptr, ptr %t2 - %t13019 = call ptr @fn_emit_call(ptr %t13018) - store ptr %t13019, ptr %retval + %t13078 = load ptr, ptr %t1 + %t13079 = call i32 @fn_str_eq(ptr %t13078, ptr @.str7851) + %t13080 = icmp ne i32 %t13079, 0 + br i1 %t13080, label %then2647, label %ifend2649 +then2647: + store ptr @.str7852, ptr %t380 + %t13081 = load ptr, ptr %t387 + %t13082 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 1 + %t13083 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 2 + %t13084 = getelementptr inbounds %LSlice, ptr %t13081, i32 0, i32 0 + %t13085 = load i32, ptr %t13082 + %t13086 = load i32, ptr %t13083 + %t13087 = icmp sge i32 %t13085, %t13086 + br i1 %t13087, label %grow2650, label %put2651 +grow2650: + %t13088 = mul i32 %t13086, 2 + %t13089 = icmp eq i32 %t13086, 0 + %t13090 = select i1 %t13089, i32 8, i32 %t13088 + %t13091 = getelementptr ptr, ptr null, i32 1 + %t13092 = ptrtoint ptr %t13091 to i64 + %t13093 = zext i32 %t13090 to i64 + %t13094 = mul i64 %t13093, %t13092 + %t13095 = load ptr, ptr %t13084 + %t13096 = call ptr @realloc(ptr %t13095, i64 %t13094) + store ptr %t13096, ptr %t13084 + store i32 %t13090, ptr %t13083 + br label %put2651 +put2651: + %t13097 = load ptr, ptr %t13084 + %t13098 = getelementptr inbounds ptr, ptr %t13097, i32 %t13085 + store ptr @.str7853, ptr %t13098 + %t13099 = add i32 %t13085, 1 + store i32 %t13099, ptr %t13082 + %t13100 = load ptr, ptr %t387 + %t13101 = getelementptr inbounds %LSlice, ptr %t13100, i32 0, i32 1 + %t13102 = getelementptr inbounds %LSlice, ptr %t13100, i32 0, i32 2 + %t13103 = getelementptr inbounds %LSlice, ptr %t13100, i32 0, i32 0 + %t13104 = load i32, ptr %t13101 + %t13105 = load i32, ptr %t13102 + %t13106 = icmp sge i32 %t13104, %t13105 + br i1 %t13106, label %grow2652, label %put2653 +grow2652: + %t13107 = mul i32 %t13105, 2 + %t13108 = icmp eq i32 %t13105, 0 + %t13109 = select i1 %t13108, i32 8, i32 %t13107 + %t13110 = getelementptr ptr, ptr null, i32 1 + %t13111 = ptrtoint ptr %t13110 to i64 + %t13112 = zext i32 %t13109 to i64 + %t13113 = mul i64 %t13112, %t13111 + %t13114 = load ptr, ptr %t13103 + %t13115 = call ptr @realloc(ptr %t13114, i64 %t13113) + store ptr %t13115, ptr %t13103 + store i32 %t13109, ptr %t13102 + br label %put2653 +put2653: + %t13116 = load ptr, ptr %t13103 + %t13117 = getelementptr inbounds ptr, ptr %t13116, i32 %t13104 + store ptr @.str7854, ptr %t13117 + %t13118 = add i32 %t13104, 1 + store i32 %t13118, ptr %t13101 + %t13119 = load ptr, ptr %t387 + %t13120 = getelementptr inbounds %LSlice, ptr %t13119, i32 0, i32 1 + %t13121 = getelementptr inbounds %LSlice, ptr %t13119, i32 0, i32 2 + %t13122 = getelementptr inbounds %LSlice, ptr %t13119, i32 0, i32 0 + %t13123 = load i32, ptr %t13120 + %t13124 = load i32, ptr %t13121 + %t13125 = icmp sge i32 %t13123, %t13124 + br i1 %t13125, label %grow2654, label %put2655 +grow2654: + %t13126 = mul i32 %t13124, 2 + %t13127 = icmp eq i32 %t13124, 0 + %t13128 = select i1 %t13127, i32 8, i32 %t13126 + %t13129 = getelementptr ptr, ptr null, i32 1 + %t13130 = ptrtoint ptr %t13129 to i64 + %t13131 = zext i32 %t13128 to i64 + %t13132 = mul i64 %t13131, %t13130 + %t13133 = load ptr, ptr %t13122 + %t13134 = call ptr @realloc(ptr %t13133, i64 %t13132) + store ptr %t13134, ptr %t13122 + store i32 %t13128, ptr %t13121 + br label %put2655 +put2655: + %t13135 = load ptr, ptr %t13122 + %t13136 = getelementptr inbounds ptr, ptr %t13135, i32 %t13123 + store ptr @.str7855, ptr %t13136 + %t13137 = add i32 %t13123, 1 + store i32 %t13137, ptr %t13120 + br label %ifend2649 +ifend2649: + %t13138 = load ptr, ptr %t1 + %t13139 = call i32 @fn_str_eq(ptr %t13138, ptr @.str7856) + %t13140 = icmp ne i32 %t13139, 0 + br i1 %t13140, label %then2656, label %ifend2658 +then2656: + store ptr @.str7857, ptr %t380 + %t13141 = load ptr, ptr %t387 + %t13142 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 1 + %t13143 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 2 + %t13144 = getelementptr inbounds %LSlice, ptr %t13141, i32 0, i32 0 + %t13145 = load i32, ptr %t13142 + %t13146 = load i32, ptr %t13143 + %t13147 = icmp sge i32 %t13145, %t13146 + br i1 %t13147, label %grow2659, label %put2660 +grow2659: + %t13148 = mul i32 %t13146, 2 + %t13149 = icmp eq i32 %t13146, 0 + %t13150 = select i1 %t13149, i32 8, i32 %t13148 + %t13151 = getelementptr ptr, ptr null, i32 1 + %t13152 = ptrtoint ptr %t13151 to i64 + %t13153 = zext i32 %t13150 to i64 + %t13154 = mul i64 %t13153, %t13152 + %t13155 = load ptr, ptr %t13144 + %t13156 = call ptr @realloc(ptr %t13155, i64 %t13154) + store ptr %t13156, ptr %t13144 + store i32 %t13150, ptr %t13143 + br label %put2660 +put2660: + %t13157 = load ptr, ptr %t13144 + %t13158 = getelementptr inbounds ptr, ptr %t13157, i32 %t13145 + store ptr @.str7858, ptr %t13158 + %t13159 = add i32 %t13145, 1 + store i32 %t13159, ptr %t13142 + %t13160 = load ptr, ptr %t387 + %t13161 = getelementptr inbounds %LSlice, ptr %t13160, i32 0, i32 1 + %t13162 = getelementptr inbounds %LSlice, ptr %t13160, i32 0, i32 2 + %t13163 = getelementptr inbounds %LSlice, ptr %t13160, i32 0, i32 0 + %t13164 = load i32, ptr %t13161 + %t13165 = load i32, ptr %t13162 + %t13166 = icmp sge i32 %t13164, %t13165 + br i1 %t13166, label %grow2661, label %put2662 +grow2661: + %t13167 = mul i32 %t13165, 2 + %t13168 = icmp eq i32 %t13165, 0 + %t13169 = select i1 %t13168, i32 8, i32 %t13167 + %t13170 = getelementptr ptr, ptr null, i32 1 + %t13171 = ptrtoint ptr %t13170 to i64 + %t13172 = zext i32 %t13169 to i64 + %t13173 = mul i64 %t13172, %t13171 + %t13174 = load ptr, ptr %t13163 + %t13175 = call ptr @realloc(ptr %t13174, i64 %t13173) + store ptr %t13175, ptr %t13163 + store i32 %t13169, ptr %t13162 + br label %put2662 +put2662: + %t13176 = load ptr, ptr %t13163 + %t13177 = getelementptr inbounds ptr, ptr %t13176, i32 %t13164 + store ptr @.str7859, ptr %t13177 + %t13178 = add i32 %t13164, 1 + store i32 %t13178, ptr %t13161 + br label %ifend2658 +ifend2658: + %t13179 = load ptr, ptr %t1 + %t13180 = call i32 @fn_str_eq(ptr %t13179, ptr @.str7860) + %t13181 = icmp ne i32 %t13180, 0 + br i1 %t13181, label %then2663, label %ifend2665 +then2663: + store ptr @.str7861, ptr %t380 + %t13182 = load ptr, ptr %t387 + %t13183 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 1 + %t13184 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 2 + %t13185 = getelementptr inbounds %LSlice, ptr %t13182, i32 0, i32 0 + %t13186 = load i32, ptr %t13183 + %t13187 = load i32, ptr %t13184 + %t13188 = icmp sge i32 %t13186, %t13187 + br i1 %t13188, label %grow2666, label %put2667 +grow2666: + %t13189 = mul i32 %t13187, 2 + %t13190 = icmp eq i32 %t13187, 0 + %t13191 = select i1 %t13190, i32 8, i32 %t13189 + %t13192 = getelementptr ptr, ptr null, i32 1 + %t13193 = ptrtoint ptr %t13192 to i64 + %t13194 = zext i32 %t13191 to i64 + %t13195 = mul i64 %t13194, %t13193 + %t13196 = load ptr, ptr %t13185 + %t13197 = call ptr @realloc(ptr %t13196, i64 %t13195) + store ptr %t13197, ptr %t13185 + store i32 %t13191, ptr %t13184 + br label %put2667 +put2667: + %t13198 = load ptr, ptr %t13185 + %t13199 = getelementptr inbounds ptr, ptr %t13198, i32 %t13186 + store ptr @.str7862, ptr %t13199 + %t13200 = add i32 %t13186, 1 + store i32 %t13200, ptr %t13183 + br label %ifend2665 +ifend2665: + %t13201 = load ptr, ptr %t1 + %t13202 = call i32 @fn_str_eq(ptr %t13201, ptr @.str7863) + %t13203 = icmp ne i32 %t13202, 0 + br i1 %t13203, label %then2668, label %ifend2670 +then2668: + store ptr @.str7864, ptr %t380 + %t13204 = load ptr, ptr %t387 + %t13205 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 1 + %t13206 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 2 + %t13207 = getelementptr inbounds %LSlice, ptr %t13204, i32 0, i32 0 + %t13208 = load i32, ptr %t13205 + %t13209 = load i32, ptr %t13206 + %t13210 = icmp sge i32 %t13208, %t13209 + br i1 %t13210, label %grow2671, label %put2672 +grow2671: + %t13211 = mul i32 %t13209, 2 + %t13212 = icmp eq i32 %t13209, 0 + %t13213 = select i1 %t13212, i32 8, i32 %t13211 + %t13214 = getelementptr ptr, ptr null, i32 1 + %t13215 = ptrtoint ptr %t13214 to i64 + %t13216 = zext i32 %t13213 to i64 + %t13217 = mul i64 %t13216, %t13215 + %t13218 = load ptr, ptr %t13207 + %t13219 = call ptr @realloc(ptr %t13218, i64 %t13217) + store ptr %t13219, ptr %t13207 + store i32 %t13213, ptr %t13206 + br label %put2672 +put2672: + %t13220 = load ptr, ptr %t13207 + %t13221 = getelementptr inbounds ptr, ptr %t13220, i32 %t13208 + store ptr @.str7865, ptr %t13221 + %t13222 = add i32 %t13208, 1 + store i32 %t13222, ptr %t13205 + br label %ifend2670 +ifend2670: + %t13223 = load ptr, ptr %t1 + %t13224 = call i32 @fn_str_eq(ptr %t13223, ptr @.str7866) + %t13225 = icmp ne i32 %t13224, 0 + br i1 %t13225, label %then2673, label %ifend2675 +then2673: + store ptr @.str7867, ptr %t380 + %t13226 = load ptr, ptr %t387 + %t13227 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 1 + %t13228 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 2 + %t13229 = getelementptr inbounds %LSlice, ptr %t13226, i32 0, i32 0 + %t13230 = load i32, ptr %t13227 + %t13231 = load i32, ptr %t13228 + %t13232 = icmp sge i32 %t13230, %t13231 + br i1 %t13232, label %grow2676, label %put2677 +grow2676: + %t13233 = mul i32 %t13231, 2 + %t13234 = icmp eq i32 %t13231, 0 + %t13235 = select i1 %t13234, i32 8, i32 %t13233 + %t13236 = getelementptr ptr, ptr null, i32 1 + %t13237 = ptrtoint ptr %t13236 to i64 + %t13238 = zext i32 %t13235 to i64 + %t13239 = mul i64 %t13238, %t13237 + %t13240 = load ptr, ptr %t13229 + %t13241 = call ptr @realloc(ptr %t13240, i64 %t13239) + store ptr %t13241, ptr %t13229 + store i32 %t13235, ptr %t13228 + br label %put2677 +put2677: + %t13242 = load ptr, ptr %t13229 + %t13243 = getelementptr inbounds ptr, ptr %t13242, i32 %t13230 + store ptr @.str7868, ptr %t13243 + %t13244 = add i32 %t13230, 1 + store i32 %t13244, ptr %t13227 + %t13245 = load ptr, ptr %t387 + %t13246 = getelementptr inbounds %LSlice, ptr %t13245, i32 0, i32 1 + %t13247 = getelementptr inbounds %LSlice, ptr %t13245, i32 0, i32 2 + %t13248 = getelementptr inbounds %LSlice, ptr %t13245, i32 0, i32 0 + %t13249 = load i32, ptr %t13246 + %t13250 = load i32, ptr %t13247 + %t13251 = icmp sge i32 %t13249, %t13250 + br i1 %t13251, label %grow2678, label %put2679 +grow2678: + %t13252 = mul i32 %t13250, 2 + %t13253 = icmp eq i32 %t13250, 0 + %t13254 = select i1 %t13253, i32 8, i32 %t13252 + %t13255 = getelementptr ptr, ptr null, i32 1 + %t13256 = ptrtoint ptr %t13255 to i64 + %t13257 = zext i32 %t13254 to i64 + %t13258 = mul i64 %t13257, %t13256 + %t13259 = load ptr, ptr %t13248 + %t13260 = call ptr @realloc(ptr %t13259, i64 %t13258) + store ptr %t13260, ptr %t13248 + store i32 %t13254, ptr %t13247 + br label %put2679 +put2679: + %t13261 = load ptr, ptr %t13248 + %t13262 = getelementptr inbounds ptr, ptr %t13261, i32 %t13249 + store ptr @.str7869, ptr %t13262 + %t13263 = add i32 %t13249, 1 + store i32 %t13263, ptr %t13246 + br label %ifend2675 +ifend2675: + %t13264 = load ptr, ptr %t1 + %t13265 = call i32 @fn_str_eq(ptr %t13264, ptr @.str7870) + %t13266 = icmp ne i32 %t13265, 0 + br i1 %t13266, label %then2680, label %ifend2682 +then2680: + store ptr @.str7871, ptr %t380 + %t13267 = load ptr, ptr %t387 + %t13268 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 1 + %t13269 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 2 + %t13270 = getelementptr inbounds %LSlice, ptr %t13267, i32 0, i32 0 + %t13271 = load i32, ptr %t13268 + %t13272 = load i32, ptr %t13269 + %t13273 = icmp sge i32 %t13271, %t13272 + br i1 %t13273, label %grow2683, label %put2684 +grow2683: + %t13274 = mul i32 %t13272, 2 + %t13275 = icmp eq i32 %t13272, 0 + %t13276 = select i1 %t13275, i32 8, i32 %t13274 + %t13277 = getelementptr ptr, ptr null, i32 1 + %t13278 = ptrtoint ptr %t13277 to i64 + %t13279 = zext i32 %t13276 to i64 + %t13280 = mul i64 %t13279, %t13278 + %t13281 = load ptr, ptr %t13270 + %t13282 = call ptr @realloc(ptr %t13281, i64 %t13280) + store ptr %t13282, ptr %t13270 + store i32 %t13276, ptr %t13269 + br label %put2684 +put2684: + %t13283 = load ptr, ptr %t13270 + %t13284 = getelementptr inbounds ptr, ptr %t13283, i32 %t13271 + store ptr @.str7872, ptr %t13284 + %t13285 = add i32 %t13271, 1 + store i32 %t13285, ptr %t13268 + %t13286 = load ptr, ptr %t387 + %t13287 = getelementptr inbounds %LSlice, ptr %t13286, i32 0, i32 1 + %t13288 = getelementptr inbounds %LSlice, ptr %t13286, i32 0, i32 2 + %t13289 = getelementptr inbounds %LSlice, ptr %t13286, i32 0, i32 0 + %t13290 = load i32, ptr %t13287 + %t13291 = load i32, ptr %t13288 + %t13292 = icmp sge i32 %t13290, %t13291 + br i1 %t13292, label %grow2685, label %put2686 +grow2685: + %t13293 = mul i32 %t13291, 2 + %t13294 = icmp eq i32 %t13291, 0 + %t13295 = select i1 %t13294, i32 8, i32 %t13293 + %t13296 = getelementptr ptr, ptr null, i32 1 + %t13297 = ptrtoint ptr %t13296 to i64 + %t13298 = zext i32 %t13295 to i64 + %t13299 = mul i64 %t13298, %t13297 + %t13300 = load ptr, ptr %t13289 + %t13301 = call ptr @realloc(ptr %t13300, i64 %t13299) + store ptr %t13301, ptr %t13289 + store i32 %t13295, ptr %t13288 + br label %put2686 +put2686: + %t13302 = load ptr, ptr %t13289 + %t13303 = getelementptr inbounds ptr, ptr %t13302, i32 %t13290 + store ptr @.str7873, ptr %t13303 + %t13304 = add i32 %t13290, 1 + store i32 %t13304, ptr %t13287 + br label %ifend2682 +ifend2682: + %t13305 = load ptr, ptr %t1 + %t13306 = call i32 @fn_str_eq(ptr %t13305, ptr @.str7874) + %t13307 = icmp ne i32 %t13306, 0 + br i1 %t13307, label %then2687, label %ifend2689 +then2687: + store ptr @.str7875, ptr %t380 + %t13308 = load ptr, ptr %t387 + %t13309 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 1 + %t13310 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 2 + %t13311 = getelementptr inbounds %LSlice, ptr %t13308, i32 0, i32 0 + %t13312 = load i32, ptr %t13309 + %t13313 = load i32, ptr %t13310 + %t13314 = icmp sge i32 %t13312, %t13313 + br i1 %t13314, label %grow2690, label %put2691 +grow2690: + %t13315 = mul i32 %t13313, 2 + %t13316 = icmp eq i32 %t13313, 0 + %t13317 = select i1 %t13316, i32 8, i32 %t13315 + %t13318 = getelementptr ptr, ptr null, i32 1 + %t13319 = ptrtoint ptr %t13318 to i64 + %t13320 = zext i32 %t13317 to i64 + %t13321 = mul i64 %t13320, %t13319 + %t13322 = load ptr, ptr %t13311 + %t13323 = call ptr @realloc(ptr %t13322, i64 %t13321) + store ptr %t13323, ptr %t13311 + store i32 %t13317, ptr %t13310 + br label %put2691 +put2691: + %t13324 = load ptr, ptr %t13311 + %t13325 = getelementptr inbounds ptr, ptr %t13324, i32 %t13312 + store ptr @.str7876, ptr %t13325 + %t13326 = add i32 %t13312, 1 + store i32 %t13326, ptr %t13309 + %t13327 = load ptr, ptr %t387 + %t13328 = getelementptr inbounds %LSlice, ptr %t13327, i32 0, i32 1 + %t13329 = getelementptr inbounds %LSlice, ptr %t13327, i32 0, i32 2 + %t13330 = getelementptr inbounds %LSlice, ptr %t13327, i32 0, i32 0 + %t13331 = load i32, ptr %t13328 + %t13332 = load i32, ptr %t13329 + %t13333 = icmp sge i32 %t13331, %t13332 + br i1 %t13333, label %grow2692, label %put2693 +grow2692: + %t13334 = mul i32 %t13332, 2 + %t13335 = icmp eq i32 %t13332, 0 + %t13336 = select i1 %t13335, i32 8, i32 %t13334 + %t13337 = getelementptr ptr, ptr null, i32 1 + %t13338 = ptrtoint ptr %t13337 to i64 + %t13339 = zext i32 %t13336 to i64 + %t13340 = mul i64 %t13339, %t13338 + %t13341 = load ptr, ptr %t13330 + %t13342 = call ptr @realloc(ptr %t13341, i64 %t13340) + store ptr %t13342, ptr %t13330 + store i32 %t13336, ptr %t13329 + br label %put2693 +put2693: + %t13343 = load ptr, ptr %t13330 + %t13344 = getelementptr inbounds ptr, ptr %t13343, i32 %t13331 + store ptr @.str7877, ptr %t13344 + %t13345 = add i32 %t13331, 1 + store i32 %t13345, ptr %t13328 + br label %ifend2689 +ifend2689: + br label %ifend2624 +ifend2624: + %t13346 = load ptr, ptr %t0 + %t13347 = call i32 @fn_str_eq(ptr %t13346, ptr @.str7878) + %t13348 = icmp ne i32 %t13347, 0 + br i1 %t13348, label %then2694, label %ifend2696 +then2694: + %t13349 = load ptr, ptr %t1 + %t13350 = call i32 @fn_str_eq(ptr %t13349, ptr @.str7879) + %t13351 = icmp ne i32 %t13350, 0 + br i1 %t13351, label %then2697, label %ifend2699 +then2697: + store ptr @.str7880, ptr %t380 + %t13352 = load ptr, ptr %t387 + %t13353 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 1 + %t13354 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 2 + %t13355 = getelementptr inbounds %LSlice, ptr %t13352, i32 0, i32 0 + %t13356 = load i32, ptr %t13353 + %t13357 = load i32, ptr %t13354 + %t13358 = icmp sge i32 %t13356, %t13357 + br i1 %t13358, label %grow2700, label %put2701 +grow2700: + %t13359 = mul i32 %t13357, 2 + %t13360 = icmp eq i32 %t13357, 0 + %t13361 = select i1 %t13360, i32 8, i32 %t13359 + %t13362 = getelementptr ptr, ptr null, i32 1 + %t13363 = ptrtoint ptr %t13362 to i64 + %t13364 = zext i32 %t13361 to i64 + %t13365 = mul i64 %t13364, %t13363 + %t13366 = load ptr, ptr %t13355 + %t13367 = call ptr @realloc(ptr %t13366, i64 %t13365) + store ptr %t13367, ptr %t13355 + store i32 %t13361, ptr %t13354 + br label %put2701 +put2701: + %t13368 = load ptr, ptr %t13355 + %t13369 = getelementptr inbounds ptr, ptr %t13368, i32 %t13356 + store ptr @.str7881, ptr %t13369 + %t13370 = add i32 %t13356, 1 + store i32 %t13370, ptr %t13353 + br label %ifend2699 +ifend2699: + %t13371 = load ptr, ptr %t1 + %t13372 = call i32 @fn_str_eq(ptr %t13371, ptr @.str7882) + %t13373 = icmp ne i32 %t13372, 0 + br i1 %t13373, label %then2702, label %ifend2704 +then2702: + store ptr @.str7883, ptr %t380 + %t13374 = load ptr, ptr %t387 + %t13375 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 1 + %t13376 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 2 + %t13377 = getelementptr inbounds %LSlice, ptr %t13374, i32 0, i32 0 + %t13378 = load i32, ptr %t13375 + %t13379 = load i32, ptr %t13376 + %t13380 = icmp sge i32 %t13378, %t13379 + br i1 %t13380, label %grow2705, label %put2706 +grow2705: + %t13381 = mul i32 %t13379, 2 + %t13382 = icmp eq i32 %t13379, 0 + %t13383 = select i1 %t13382, i32 8, i32 %t13381 + %t13384 = getelementptr ptr, ptr null, i32 1 + %t13385 = ptrtoint ptr %t13384 to i64 + %t13386 = zext i32 %t13383 to i64 + %t13387 = mul i64 %t13386, %t13385 + %t13388 = load ptr, ptr %t13377 + %t13389 = call ptr @realloc(ptr %t13388, i64 %t13387) + store ptr %t13389, ptr %t13377 + store i32 %t13383, ptr %t13376 + br label %put2706 +put2706: + %t13390 = load ptr, ptr %t13377 + %t13391 = getelementptr inbounds ptr, ptr %t13390, i32 %t13378 + store ptr @.str7884, ptr %t13391 + %t13392 = add i32 %t13378, 1 + store i32 %t13392, ptr %t13375 + br label %ifend2704 +ifend2704: + br label %ifend2696 +ifend2696: + %t13393 = load ptr, ptr %t0 + %t13394 = call i32 @fn_str_eq(ptr %t13393, ptr @.str7885) + %t13395 = icmp ne i32 %t13394, 0 + br i1 %t13395, label %then2707, label %ifend2709 +then2707: + %t13396 = load ptr, ptr %t1 + %t13397 = call i32 @fn_str_eq(ptr %t13396, ptr @.str7886) + %t13398 = icmp ne i32 %t13397, 0 + br i1 %t13398, label %then2710, label %ifend2712 +then2710: + store ptr @.str7887, ptr %t380 + %t13399 = load ptr, ptr %t387 + %t13400 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 1 + %t13401 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 2 + %t13402 = getelementptr inbounds %LSlice, ptr %t13399, i32 0, i32 0 + %t13403 = load i32, ptr %t13400 + %t13404 = load i32, ptr %t13401 + %t13405 = icmp sge i32 %t13403, %t13404 + br i1 %t13405, label %grow2713, label %put2714 +grow2713: + %t13406 = mul i32 %t13404, 2 + %t13407 = icmp eq i32 %t13404, 0 + %t13408 = select i1 %t13407, i32 8, i32 %t13406 + %t13409 = getelementptr ptr, ptr null, i32 1 + %t13410 = ptrtoint ptr %t13409 to i64 + %t13411 = zext i32 %t13408 to i64 + %t13412 = mul i64 %t13411, %t13410 + %t13413 = load ptr, ptr %t13402 + %t13414 = call ptr @realloc(ptr %t13413, i64 %t13412) + store ptr %t13414, ptr %t13402 + store i32 %t13408, ptr %t13401 + br label %put2714 +put2714: + %t13415 = load ptr, ptr %t13402 + %t13416 = getelementptr inbounds ptr, ptr %t13415, i32 %t13403 + store ptr @.str7888, ptr %t13416 + %t13417 = add i32 %t13403, 1 + store i32 %t13417, ptr %t13400 + br label %ifend2712 +ifend2712: + %t13418 = load ptr, ptr %t1 + %t13419 = call i32 @fn_str_eq(ptr %t13418, ptr @.str7889) + %t13420 = icmp ne i32 %t13419, 0 + br i1 %t13420, label %then2715, label %ifend2717 +then2715: + store ptr @.str7890, ptr %t380 + %t13421 = load ptr, ptr %t387 + %t13422 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 1 + %t13423 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 2 + %t13424 = getelementptr inbounds %LSlice, ptr %t13421, i32 0, i32 0 + %t13425 = load i32, ptr %t13422 + %t13426 = load i32, ptr %t13423 + %t13427 = icmp sge i32 %t13425, %t13426 + br i1 %t13427, label %grow2718, label %put2719 +grow2718: + %t13428 = mul i32 %t13426, 2 + %t13429 = icmp eq i32 %t13426, 0 + %t13430 = select i1 %t13429, i32 8, i32 %t13428 + %t13431 = getelementptr ptr, ptr null, i32 1 + %t13432 = ptrtoint ptr %t13431 to i64 + %t13433 = zext i32 %t13430 to i64 + %t13434 = mul i64 %t13433, %t13432 + %t13435 = load ptr, ptr %t13424 + %t13436 = call ptr @realloc(ptr %t13435, i64 %t13434) + store ptr %t13436, ptr %t13424 + store i32 %t13430, ptr %t13423 + br label %put2719 +put2719: + %t13437 = load ptr, ptr %t13424 + %t13438 = getelementptr inbounds ptr, ptr %t13437, i32 %t13425 + store ptr @.str7891, ptr %t13438 + %t13439 = add i32 %t13425, 1 + store i32 %t13439, ptr %t13422 + br label %ifend2717 +ifend2717: + %t13440 = load ptr, ptr %t1 + %t13441 = call i32 @fn_str_eq(ptr %t13440, ptr @.str7892) + %t13442 = icmp ne i32 %t13441, 0 + br i1 %t13442, label %then2720, label %ifend2722 +then2720: + store ptr @.str7893, ptr %t380 + %t13443 = load ptr, ptr %t387 + %t13444 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 1 + %t13445 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 2 + %t13446 = getelementptr inbounds %LSlice, ptr %t13443, i32 0, i32 0 + %t13447 = load i32, ptr %t13444 + %t13448 = load i32, ptr %t13445 + %t13449 = icmp sge i32 %t13447, %t13448 + br i1 %t13449, label %grow2723, label %put2724 +grow2723: + %t13450 = mul i32 %t13448, 2 + %t13451 = icmp eq i32 %t13448, 0 + %t13452 = select i1 %t13451, i32 8, i32 %t13450 + %t13453 = getelementptr ptr, ptr null, i32 1 + %t13454 = ptrtoint ptr %t13453 to i64 + %t13455 = zext i32 %t13452 to i64 + %t13456 = mul i64 %t13455, %t13454 + %t13457 = load ptr, ptr %t13446 + %t13458 = call ptr @realloc(ptr %t13457, i64 %t13456) + store ptr %t13458, ptr %t13446 + store i32 %t13452, ptr %t13445 + br label %put2724 +put2724: + %t13459 = load ptr, ptr %t13446 + %t13460 = getelementptr inbounds ptr, ptr %t13459, i32 %t13447 + store ptr @.str7894, ptr %t13460 + %t13461 = add i32 %t13447, 1 + store i32 %t13461, ptr %t13444 + br label %ifend2722 +ifend2722: + %t13462 = load ptr, ptr %t1 + %t13463 = call i32 @fn_str_eq(ptr %t13462, ptr @.str7895) + %t13464 = icmp ne i32 %t13463, 0 + br i1 %t13464, label %then2725, label %ifend2727 +then2725: + store ptr @.str7896, ptr %t380 + %t13465 = load ptr, ptr %t387 + %t13466 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 1 + %t13467 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 2 + %t13468 = getelementptr inbounds %LSlice, ptr %t13465, i32 0, i32 0 + %t13469 = load i32, ptr %t13466 + %t13470 = load i32, ptr %t13467 + %t13471 = icmp sge i32 %t13469, %t13470 + br i1 %t13471, label %grow2728, label %put2729 +grow2728: + %t13472 = mul i32 %t13470, 2 + %t13473 = icmp eq i32 %t13470, 0 + %t13474 = select i1 %t13473, i32 8, i32 %t13472 + %t13475 = getelementptr ptr, ptr null, i32 1 + %t13476 = ptrtoint ptr %t13475 to i64 + %t13477 = zext i32 %t13474 to i64 + %t13478 = mul i64 %t13477, %t13476 + %t13479 = load ptr, ptr %t13468 + %t13480 = call ptr @realloc(ptr %t13479, i64 %t13478) + store ptr %t13480, ptr %t13468 + store i32 %t13474, ptr %t13467 + br label %put2729 +put2729: + %t13481 = load ptr, ptr %t13468 + %t13482 = getelementptr inbounds ptr, ptr %t13481, i32 %t13469 + store ptr @.str7897, ptr %t13482 + %t13483 = add i32 %t13469, 1 + store i32 %t13483, ptr %t13466 + %t13484 = load ptr, ptr %t387 + %t13485 = getelementptr inbounds %LSlice, ptr %t13484, i32 0, i32 1 + %t13486 = getelementptr inbounds %LSlice, ptr %t13484, i32 0, i32 2 + %t13487 = getelementptr inbounds %LSlice, ptr %t13484, i32 0, i32 0 + %t13488 = load i32, ptr %t13485 + %t13489 = load i32, ptr %t13486 + %t13490 = icmp sge i32 %t13488, %t13489 + br i1 %t13490, label %grow2730, label %put2731 +grow2730: + %t13491 = mul i32 %t13489, 2 + %t13492 = icmp eq i32 %t13489, 0 + %t13493 = select i1 %t13492, i32 8, i32 %t13491 + %t13494 = getelementptr ptr, ptr null, i32 1 + %t13495 = ptrtoint ptr %t13494 to i64 + %t13496 = zext i32 %t13493 to i64 + %t13497 = mul i64 %t13496, %t13495 + %t13498 = load ptr, ptr %t13487 + %t13499 = call ptr @realloc(ptr %t13498, i64 %t13497) + store ptr %t13499, ptr %t13487 + store i32 %t13493, ptr %t13486 + br label %put2731 +put2731: + %t13500 = load ptr, ptr %t13487 + %t13501 = getelementptr inbounds ptr, ptr %t13500, i32 %t13488 + store ptr @.str7898, ptr %t13501 + %t13502 = add i32 %t13488, 1 + store i32 %t13502, ptr %t13485 + %t13503 = load ptr, ptr %t387 + %t13504 = getelementptr inbounds %LSlice, ptr %t13503, i32 0, i32 1 + %t13505 = getelementptr inbounds %LSlice, ptr %t13503, i32 0, i32 2 + %t13506 = getelementptr inbounds %LSlice, ptr %t13503, i32 0, i32 0 + %t13507 = load i32, ptr %t13504 + %t13508 = load i32, ptr %t13505 + %t13509 = icmp sge i32 %t13507, %t13508 + br i1 %t13509, label %grow2732, label %put2733 +grow2732: + %t13510 = mul i32 %t13508, 2 + %t13511 = icmp eq i32 %t13508, 0 + %t13512 = select i1 %t13511, i32 8, i32 %t13510 + %t13513 = getelementptr ptr, ptr null, i32 1 + %t13514 = ptrtoint ptr %t13513 to i64 + %t13515 = zext i32 %t13512 to i64 + %t13516 = mul i64 %t13515, %t13514 + %t13517 = load ptr, ptr %t13506 + %t13518 = call ptr @realloc(ptr %t13517, i64 %t13516) + store ptr %t13518, ptr %t13506 + store i32 %t13512, ptr %t13505 + br label %put2733 +put2733: + %t13519 = load ptr, ptr %t13506 + %t13520 = getelementptr inbounds ptr, ptr %t13519, i32 %t13507 + store ptr @.str7899, ptr %t13520 + %t13521 = add i32 %t13507, 1 + store i32 %t13521, ptr %t13504 + %t13522 = load ptr, ptr %t387 + %t13523 = getelementptr inbounds %LSlice, ptr %t13522, i32 0, i32 1 + %t13524 = getelementptr inbounds %LSlice, ptr %t13522, i32 0, i32 2 + %t13525 = getelementptr inbounds %LSlice, ptr %t13522, i32 0, i32 0 + %t13526 = load i32, ptr %t13523 + %t13527 = load i32, ptr %t13524 + %t13528 = icmp sge i32 %t13526, %t13527 + br i1 %t13528, label %grow2734, label %put2735 +grow2734: + %t13529 = mul i32 %t13527, 2 + %t13530 = icmp eq i32 %t13527, 0 + %t13531 = select i1 %t13530, i32 8, i32 %t13529 + %t13532 = getelementptr ptr, ptr null, i32 1 + %t13533 = ptrtoint ptr %t13532 to i64 + %t13534 = zext i32 %t13531 to i64 + %t13535 = mul i64 %t13534, %t13533 + %t13536 = load ptr, ptr %t13525 + %t13537 = call ptr @realloc(ptr %t13536, i64 %t13535) + store ptr %t13537, ptr %t13525 + store i32 %t13531, ptr %t13524 + br label %put2735 +put2735: + %t13538 = load ptr, ptr %t13525 + %t13539 = getelementptr inbounds ptr, ptr %t13538, i32 %t13526 + store ptr @.str7900, ptr %t13539 + %t13540 = add i32 %t13526, 1 + store i32 %t13540, ptr %t13523 + br label %ifend2727 +ifend2727: + %t13541 = load ptr, ptr %t1 + %t13542 = call i32 @fn_str_eq(ptr %t13541, ptr @.str7901) + %t13543 = icmp ne i32 %t13542, 0 + br i1 %t13543, label %then2736, label %ifend2738 +then2736: + store ptr @.str7902, ptr %t380 + %t13544 = load ptr, ptr %t387 + %t13545 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 1 + %t13546 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 2 + %t13547 = getelementptr inbounds %LSlice, ptr %t13544, i32 0, i32 0 + %t13548 = load i32, ptr %t13545 + %t13549 = load i32, ptr %t13546 + %t13550 = icmp sge i32 %t13548, %t13549 + br i1 %t13550, label %grow2739, label %put2740 +grow2739: + %t13551 = mul i32 %t13549, 2 + %t13552 = icmp eq i32 %t13549, 0 + %t13553 = select i1 %t13552, i32 8, i32 %t13551 + %t13554 = getelementptr ptr, ptr null, i32 1 + %t13555 = ptrtoint ptr %t13554 to i64 + %t13556 = zext i32 %t13553 to i64 + %t13557 = mul i64 %t13556, %t13555 + %t13558 = load ptr, ptr %t13547 + %t13559 = call ptr @realloc(ptr %t13558, i64 %t13557) + store ptr %t13559, ptr %t13547 + store i32 %t13553, ptr %t13546 + br label %put2740 +put2740: + %t13560 = load ptr, ptr %t13547 + %t13561 = getelementptr inbounds ptr, ptr %t13560, i32 %t13548 + store ptr @.str7903, ptr %t13561 + %t13562 = add i32 %t13548, 1 + store i32 %t13562, ptr %t13545 + %t13563 = load ptr, ptr %t387 + %t13564 = getelementptr inbounds %LSlice, ptr %t13563, i32 0, i32 1 + %t13565 = getelementptr inbounds %LSlice, ptr %t13563, i32 0, i32 2 + %t13566 = getelementptr inbounds %LSlice, ptr %t13563, i32 0, i32 0 + %t13567 = load i32, ptr %t13564 + %t13568 = load i32, ptr %t13565 + %t13569 = icmp sge i32 %t13567, %t13568 + br i1 %t13569, label %grow2741, label %put2742 +grow2741: + %t13570 = mul i32 %t13568, 2 + %t13571 = icmp eq i32 %t13568, 0 + %t13572 = select i1 %t13571, i32 8, i32 %t13570 + %t13573 = getelementptr ptr, ptr null, i32 1 + %t13574 = ptrtoint ptr %t13573 to i64 + %t13575 = zext i32 %t13572 to i64 + %t13576 = mul i64 %t13575, %t13574 + %t13577 = load ptr, ptr %t13566 + %t13578 = call ptr @realloc(ptr %t13577, i64 %t13576) + store ptr %t13578, ptr %t13566 + store i32 %t13572, ptr %t13565 + br label %put2742 +put2742: + %t13579 = load ptr, ptr %t13566 + %t13580 = getelementptr inbounds ptr, ptr %t13579, i32 %t13567 + store ptr @.str7904, ptr %t13580 + %t13581 = add i32 %t13567, 1 + store i32 %t13581, ptr %t13564 + br label %ifend2738 +ifend2738: + %t13582 = load ptr, ptr %t1 + %t13583 = call i32 @fn_str_eq(ptr %t13582, ptr @.str7905) + %t13584 = icmp ne i32 %t13583, 0 + br i1 %t13584, label %then2743, label %ifend2745 +then2743: + store ptr @.str7906, ptr %t380 + %t13585 = load ptr, ptr %t387 + %t13586 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 1 + %t13587 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 2 + %t13588 = getelementptr inbounds %LSlice, ptr %t13585, i32 0, i32 0 + %t13589 = load i32, ptr %t13586 + %t13590 = load i32, ptr %t13587 + %t13591 = icmp sge i32 %t13589, %t13590 + br i1 %t13591, label %grow2746, label %put2747 +grow2746: + %t13592 = mul i32 %t13590, 2 + %t13593 = icmp eq i32 %t13590, 0 + %t13594 = select i1 %t13593, i32 8, i32 %t13592 + %t13595 = getelementptr ptr, ptr null, i32 1 + %t13596 = ptrtoint ptr %t13595 to i64 + %t13597 = zext i32 %t13594 to i64 + %t13598 = mul i64 %t13597, %t13596 + %t13599 = load ptr, ptr %t13588 + %t13600 = call ptr @realloc(ptr %t13599, i64 %t13598) + store ptr %t13600, ptr %t13588 + store i32 %t13594, ptr %t13587 + br label %put2747 +put2747: + %t13601 = load ptr, ptr %t13588 + %t13602 = getelementptr inbounds ptr, ptr %t13601, i32 %t13589 + store ptr @.str7907, ptr %t13602 + %t13603 = add i32 %t13589, 1 + store i32 %t13603, ptr %t13586 + br label %ifend2745 +ifend2745: + %t13604 = load ptr, ptr %t1 + %t13605 = call i32 @fn_str_eq(ptr %t13604, ptr @.str7908) + %t13606 = icmp ne i32 %t13605, 0 + br i1 %t13606, label %then2748, label %ifend2750 +then2748: + store ptr @.str7909, ptr %t380 + %t13607 = load ptr, ptr %t387 + %t13608 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 1 + %t13609 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 2 + %t13610 = getelementptr inbounds %LSlice, ptr %t13607, i32 0, i32 0 + %t13611 = load i32, ptr %t13608 + %t13612 = load i32, ptr %t13609 + %t13613 = icmp sge i32 %t13611, %t13612 + br i1 %t13613, label %grow2751, label %put2752 +grow2751: + %t13614 = mul i32 %t13612, 2 + %t13615 = icmp eq i32 %t13612, 0 + %t13616 = select i1 %t13615, i32 8, i32 %t13614 + %t13617 = getelementptr ptr, ptr null, i32 1 + %t13618 = ptrtoint ptr %t13617 to i64 + %t13619 = zext i32 %t13616 to i64 + %t13620 = mul i64 %t13619, %t13618 + %t13621 = load ptr, ptr %t13610 + %t13622 = call ptr @realloc(ptr %t13621, i64 %t13620) + store ptr %t13622, ptr %t13610 + store i32 %t13616, ptr %t13609 + br label %put2752 +put2752: + %t13623 = load ptr, ptr %t13610 + %t13624 = getelementptr inbounds ptr, ptr %t13623, i32 %t13611 + store ptr @.str7910, ptr %t13624 + %t13625 = add i32 %t13611, 1 + store i32 %t13625, ptr %t13608 + br label %ifend2750 +ifend2750: + %t13626 = load ptr, ptr %t1 + %t13627 = call i32 @fn_str_eq(ptr %t13626, ptr @.str7911) + %t13628 = icmp ne i32 %t13627, 0 + br i1 %t13628, label %then2753, label %ifend2755 +then2753: + store ptr @.str7912, ptr %t380 + %t13629 = load ptr, ptr %t387 + %t13630 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 1 + %t13631 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 2 + %t13632 = getelementptr inbounds %LSlice, ptr %t13629, i32 0, i32 0 + %t13633 = load i32, ptr %t13630 + %t13634 = load i32, ptr %t13631 + %t13635 = icmp sge i32 %t13633, %t13634 + br i1 %t13635, label %grow2756, label %put2757 +grow2756: + %t13636 = mul i32 %t13634, 2 + %t13637 = icmp eq i32 %t13634, 0 + %t13638 = select i1 %t13637, i32 8, i32 %t13636 + %t13639 = getelementptr ptr, ptr null, i32 1 + %t13640 = ptrtoint ptr %t13639 to i64 + %t13641 = zext i32 %t13638 to i64 + %t13642 = mul i64 %t13641, %t13640 + %t13643 = load ptr, ptr %t13632 + %t13644 = call ptr @realloc(ptr %t13643, i64 %t13642) + store ptr %t13644, ptr %t13632 + store i32 %t13638, ptr %t13631 + br label %put2757 +put2757: + %t13645 = load ptr, ptr %t13632 + %t13646 = getelementptr inbounds ptr, ptr %t13645, i32 %t13633 + store ptr @.str7913, ptr %t13646 + %t13647 = add i32 %t13633, 1 + store i32 %t13647, ptr %t13630 + br label %ifend2755 +ifend2755: + %t13648 = load ptr, ptr %t1 + %t13649 = call i32 @fn_str_eq(ptr %t13648, ptr @.str7914) + %t13650 = icmp ne i32 %t13649, 0 + br i1 %t13650, label %then2758, label %ifend2760 +then2758: + store ptr @.str7915, ptr %t380 + %t13651 = load ptr, ptr %t387 + %t13652 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 1 + %t13653 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 2 + %t13654 = getelementptr inbounds %LSlice, ptr %t13651, i32 0, i32 0 + %t13655 = load i32, ptr %t13652 + %t13656 = load i32, ptr %t13653 + %t13657 = icmp sge i32 %t13655, %t13656 + br i1 %t13657, label %grow2761, label %put2762 +grow2761: + %t13658 = mul i32 %t13656, 2 + %t13659 = icmp eq i32 %t13656, 0 + %t13660 = select i1 %t13659, i32 8, i32 %t13658 + %t13661 = getelementptr ptr, ptr null, i32 1 + %t13662 = ptrtoint ptr %t13661 to i64 + %t13663 = zext i32 %t13660 to i64 + %t13664 = mul i64 %t13663, %t13662 + %t13665 = load ptr, ptr %t13654 + %t13666 = call ptr @realloc(ptr %t13665, i64 %t13664) + store ptr %t13666, ptr %t13654 + store i32 %t13660, ptr %t13653 + br label %put2762 +put2762: + %t13667 = load ptr, ptr %t13654 + %t13668 = getelementptr inbounds ptr, ptr %t13667, i32 %t13655 + store ptr @.str7916, ptr %t13668 + %t13669 = add i32 %t13655, 1 + store i32 %t13669, ptr %t13652 + %t13670 = load ptr, ptr %t387 + %t13671 = getelementptr inbounds %LSlice, ptr %t13670, i32 0, i32 1 + %t13672 = getelementptr inbounds %LSlice, ptr %t13670, i32 0, i32 2 + %t13673 = getelementptr inbounds %LSlice, ptr %t13670, i32 0, i32 0 + %t13674 = load i32, ptr %t13671 + %t13675 = load i32, ptr %t13672 + %t13676 = icmp sge i32 %t13674, %t13675 + br i1 %t13676, label %grow2763, label %put2764 +grow2763: + %t13677 = mul i32 %t13675, 2 + %t13678 = icmp eq i32 %t13675, 0 + %t13679 = select i1 %t13678, i32 8, i32 %t13677 + %t13680 = getelementptr ptr, ptr null, i32 1 + %t13681 = ptrtoint ptr %t13680 to i64 + %t13682 = zext i32 %t13679 to i64 + %t13683 = mul i64 %t13682, %t13681 + %t13684 = load ptr, ptr %t13673 + %t13685 = call ptr @realloc(ptr %t13684, i64 %t13683) + store ptr %t13685, ptr %t13673 + store i32 %t13679, ptr %t13672 + br label %put2764 +put2764: + %t13686 = load ptr, ptr %t13673 + %t13687 = getelementptr inbounds ptr, ptr %t13686, i32 %t13674 + store ptr @.str7917, ptr %t13687 + %t13688 = add i32 %t13674, 1 + store i32 %t13688, ptr %t13671 + br label %ifend2760 +ifend2760: + %t13689 = load ptr, ptr %t1 + %t13690 = call i32 @fn_str_eq(ptr %t13689, ptr @.str7918) + %t13691 = icmp ne i32 %t13690, 0 + br i1 %t13691, label %then2765, label %ifend2767 +then2765: + store ptr @.str7919, ptr %t380 + %t13692 = load ptr, ptr %t387 + %t13693 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 1 + %t13694 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 2 + %t13695 = getelementptr inbounds %LSlice, ptr %t13692, i32 0, i32 0 + %t13696 = load i32, ptr %t13693 + %t13697 = load i32, ptr %t13694 + %t13698 = icmp sge i32 %t13696, %t13697 + br i1 %t13698, label %grow2768, label %put2769 +grow2768: + %t13699 = mul i32 %t13697, 2 + %t13700 = icmp eq i32 %t13697, 0 + %t13701 = select i1 %t13700, i32 8, i32 %t13699 + %t13702 = getelementptr ptr, ptr null, i32 1 + %t13703 = ptrtoint ptr %t13702 to i64 + %t13704 = zext i32 %t13701 to i64 + %t13705 = mul i64 %t13704, %t13703 + %t13706 = load ptr, ptr %t13695 + %t13707 = call ptr @realloc(ptr %t13706, i64 %t13705) + store ptr %t13707, ptr %t13695 + store i32 %t13701, ptr %t13694 + br label %put2769 +put2769: + %t13708 = load ptr, ptr %t13695 + %t13709 = getelementptr inbounds ptr, ptr %t13708, i32 %t13696 + store ptr @.str7920, ptr %t13709 + %t13710 = add i32 %t13696, 1 + store i32 %t13710, ptr %t13693 + %t13711 = load ptr, ptr %t387 + %t13712 = getelementptr inbounds %LSlice, ptr %t13711, i32 0, i32 1 + %t13713 = getelementptr inbounds %LSlice, ptr %t13711, i32 0, i32 2 + %t13714 = getelementptr inbounds %LSlice, ptr %t13711, i32 0, i32 0 + %t13715 = load i32, ptr %t13712 + %t13716 = load i32, ptr %t13713 + %t13717 = icmp sge i32 %t13715, %t13716 + br i1 %t13717, label %grow2770, label %put2771 +grow2770: + %t13718 = mul i32 %t13716, 2 + %t13719 = icmp eq i32 %t13716, 0 + %t13720 = select i1 %t13719, i32 8, i32 %t13718 + %t13721 = getelementptr ptr, ptr null, i32 1 + %t13722 = ptrtoint ptr %t13721 to i64 + %t13723 = zext i32 %t13720 to i64 + %t13724 = mul i64 %t13723, %t13722 + %t13725 = load ptr, ptr %t13714 + %t13726 = call ptr @realloc(ptr %t13725, i64 %t13724) + store ptr %t13726, ptr %t13714 + store i32 %t13720, ptr %t13713 + br label %put2771 +put2771: + %t13727 = load ptr, ptr %t13714 + %t13728 = getelementptr inbounds ptr, ptr %t13727, i32 %t13715 + store ptr @.str7921, ptr %t13728 + %t13729 = add i32 %t13715, 1 + store i32 %t13729, ptr %t13712 + %t13730 = load ptr, ptr %t387 + %t13731 = getelementptr inbounds %LSlice, ptr %t13730, i32 0, i32 1 + %t13732 = getelementptr inbounds %LSlice, ptr %t13730, i32 0, i32 2 + %t13733 = getelementptr inbounds %LSlice, ptr %t13730, i32 0, i32 0 + %t13734 = load i32, ptr %t13731 + %t13735 = load i32, ptr %t13732 + %t13736 = icmp sge i32 %t13734, %t13735 + br i1 %t13736, label %grow2772, label %put2773 +grow2772: + %t13737 = mul i32 %t13735, 2 + %t13738 = icmp eq i32 %t13735, 0 + %t13739 = select i1 %t13738, i32 8, i32 %t13737 + %t13740 = getelementptr ptr, ptr null, i32 1 + %t13741 = ptrtoint ptr %t13740 to i64 + %t13742 = zext i32 %t13739 to i64 + %t13743 = mul i64 %t13742, %t13741 + %t13744 = load ptr, ptr %t13733 + %t13745 = call ptr @realloc(ptr %t13744, i64 %t13743) + store ptr %t13745, ptr %t13733 + store i32 %t13739, ptr %t13732 + br label %put2773 +put2773: + %t13746 = load ptr, ptr %t13733 + %t13747 = getelementptr inbounds ptr, ptr %t13746, i32 %t13734 + store ptr @.str7922, ptr %t13747 + %t13748 = add i32 %t13734, 1 + store i32 %t13748, ptr %t13731 + br label %ifend2767 +ifend2767: + %t13749 = load ptr, ptr %t1 + %t13750 = call i32 @fn_str_eq(ptr %t13749, ptr @.str7923) + %t13751 = icmp ne i32 %t13750, 0 + br i1 %t13751, label %then2774, label %ifend2776 +then2774: + store ptr @.str7924, ptr %t380 + %t13752 = load ptr, ptr %t387 + %t13753 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 1 + %t13754 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 2 + %t13755 = getelementptr inbounds %LSlice, ptr %t13752, i32 0, i32 0 + %t13756 = load i32, ptr %t13753 + %t13757 = load i32, ptr %t13754 + %t13758 = icmp sge i32 %t13756, %t13757 + br i1 %t13758, label %grow2777, label %put2778 +grow2777: + %t13759 = mul i32 %t13757, 2 + %t13760 = icmp eq i32 %t13757, 0 + %t13761 = select i1 %t13760, i32 8, i32 %t13759 + %t13762 = getelementptr ptr, ptr null, i32 1 + %t13763 = ptrtoint ptr %t13762 to i64 + %t13764 = zext i32 %t13761 to i64 + %t13765 = mul i64 %t13764, %t13763 + %t13766 = load ptr, ptr %t13755 + %t13767 = call ptr @realloc(ptr %t13766, i64 %t13765) + store ptr %t13767, ptr %t13755 + store i32 %t13761, ptr %t13754 + br label %put2778 +put2778: + %t13768 = load ptr, ptr %t13755 + %t13769 = getelementptr inbounds ptr, ptr %t13768, i32 %t13756 + store ptr @.str7925, ptr %t13769 + %t13770 = add i32 %t13756, 1 + store i32 %t13770, ptr %t13753 + %t13771 = load ptr, ptr %t387 + %t13772 = getelementptr inbounds %LSlice, ptr %t13771, i32 0, i32 1 + %t13773 = getelementptr inbounds %LSlice, ptr %t13771, i32 0, i32 2 + %t13774 = getelementptr inbounds %LSlice, ptr %t13771, i32 0, i32 0 + %t13775 = load i32, ptr %t13772 + %t13776 = load i32, ptr %t13773 + %t13777 = icmp sge i32 %t13775, %t13776 + br i1 %t13777, label %grow2779, label %put2780 +grow2779: + %t13778 = mul i32 %t13776, 2 + %t13779 = icmp eq i32 %t13776, 0 + %t13780 = select i1 %t13779, i32 8, i32 %t13778 + %t13781 = getelementptr ptr, ptr null, i32 1 + %t13782 = ptrtoint ptr %t13781 to i64 + %t13783 = zext i32 %t13780 to i64 + %t13784 = mul i64 %t13783, %t13782 + %t13785 = load ptr, ptr %t13774 + %t13786 = call ptr @realloc(ptr %t13785, i64 %t13784) + store ptr %t13786, ptr %t13774 + store i32 %t13780, ptr %t13773 + br label %put2780 +put2780: + %t13787 = load ptr, ptr %t13774 + %t13788 = getelementptr inbounds ptr, ptr %t13787, i32 %t13775 + store ptr @.str7926, ptr %t13788 + %t13789 = add i32 %t13775, 1 + store i32 %t13789, ptr %t13772 + %t13790 = load ptr, ptr %t387 + %t13791 = getelementptr inbounds %LSlice, ptr %t13790, i32 0, i32 1 + %t13792 = getelementptr inbounds %LSlice, ptr %t13790, i32 0, i32 2 + %t13793 = getelementptr inbounds %LSlice, ptr %t13790, i32 0, i32 0 + %t13794 = load i32, ptr %t13791 + %t13795 = load i32, ptr %t13792 + %t13796 = icmp sge i32 %t13794, %t13795 + br i1 %t13796, label %grow2781, label %put2782 +grow2781: + %t13797 = mul i32 %t13795, 2 + %t13798 = icmp eq i32 %t13795, 0 + %t13799 = select i1 %t13798, i32 8, i32 %t13797 + %t13800 = getelementptr ptr, ptr null, i32 1 + %t13801 = ptrtoint ptr %t13800 to i64 + %t13802 = zext i32 %t13799 to i64 + %t13803 = mul i64 %t13802, %t13801 + %t13804 = load ptr, ptr %t13793 + %t13805 = call ptr @realloc(ptr %t13804, i64 %t13803) + store ptr %t13805, ptr %t13793 + store i32 %t13799, ptr %t13792 + br label %put2782 +put2782: + %t13806 = load ptr, ptr %t13793 + %t13807 = getelementptr inbounds ptr, ptr %t13806, i32 %t13794 + store ptr @.str7927, ptr %t13807 + %t13808 = add i32 %t13794, 1 + store i32 %t13808, ptr %t13791 + %t13809 = load ptr, ptr %t387 + %t13810 = getelementptr inbounds %LSlice, ptr %t13809, i32 0, i32 1 + %t13811 = getelementptr inbounds %LSlice, ptr %t13809, i32 0, i32 2 + %t13812 = getelementptr inbounds %LSlice, ptr %t13809, i32 0, i32 0 + %t13813 = load i32, ptr %t13810 + %t13814 = load i32, ptr %t13811 + %t13815 = icmp sge i32 %t13813, %t13814 + br i1 %t13815, label %grow2783, label %put2784 +grow2783: + %t13816 = mul i32 %t13814, 2 + %t13817 = icmp eq i32 %t13814, 0 + %t13818 = select i1 %t13817, i32 8, i32 %t13816 + %t13819 = getelementptr ptr, ptr null, i32 1 + %t13820 = ptrtoint ptr %t13819 to i64 + %t13821 = zext i32 %t13818 to i64 + %t13822 = mul i64 %t13821, %t13820 + %t13823 = load ptr, ptr %t13812 + %t13824 = call ptr @realloc(ptr %t13823, i64 %t13822) + store ptr %t13824, ptr %t13812 + store i32 %t13818, ptr %t13811 + br label %put2784 +put2784: + %t13825 = load ptr, ptr %t13812 + %t13826 = getelementptr inbounds ptr, ptr %t13825, i32 %t13813 + store ptr @.str7928, ptr %t13826 + %t13827 = add i32 %t13813, 1 + store i32 %t13827, ptr %t13810 + br label %ifend2776 +ifend2776: + %t13828 = load ptr, ptr %t1 + %t13829 = call i32 @fn_str_eq(ptr %t13828, ptr @.str7929) + %t13830 = icmp ne i32 %t13829, 0 + br i1 %t13830, label %then2785, label %ifend2787 +then2785: + store ptr @.str7930, ptr %t380 + %t13831 = load ptr, ptr %t387 + %t13832 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 1 + %t13833 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 2 + %t13834 = getelementptr inbounds %LSlice, ptr %t13831, i32 0, i32 0 + %t13835 = load i32, ptr %t13832 + %t13836 = load i32, ptr %t13833 + %t13837 = icmp sge i32 %t13835, %t13836 + br i1 %t13837, label %grow2788, label %put2789 +grow2788: + %t13838 = mul i32 %t13836, 2 + %t13839 = icmp eq i32 %t13836, 0 + %t13840 = select i1 %t13839, i32 8, i32 %t13838 + %t13841 = getelementptr ptr, ptr null, i32 1 + %t13842 = ptrtoint ptr %t13841 to i64 + %t13843 = zext i32 %t13840 to i64 + %t13844 = mul i64 %t13843, %t13842 + %t13845 = load ptr, ptr %t13834 + %t13846 = call ptr @realloc(ptr %t13845, i64 %t13844) + store ptr %t13846, ptr %t13834 + store i32 %t13840, ptr %t13833 + br label %put2789 +put2789: + %t13847 = load ptr, ptr %t13834 + %t13848 = getelementptr inbounds ptr, ptr %t13847, i32 %t13835 + store ptr @.str7931, ptr %t13848 + %t13849 = add i32 %t13835, 1 + store i32 %t13849, ptr %t13832 + %t13850 = load ptr, ptr %t387 + %t13851 = getelementptr inbounds %LSlice, ptr %t13850, i32 0, i32 1 + %t13852 = getelementptr inbounds %LSlice, ptr %t13850, i32 0, i32 2 + %t13853 = getelementptr inbounds %LSlice, ptr %t13850, i32 0, i32 0 + %t13854 = load i32, ptr %t13851 + %t13855 = load i32, ptr %t13852 + %t13856 = icmp sge i32 %t13854, %t13855 + br i1 %t13856, label %grow2790, label %put2791 +grow2790: + %t13857 = mul i32 %t13855, 2 + %t13858 = icmp eq i32 %t13855, 0 + %t13859 = select i1 %t13858, i32 8, i32 %t13857 + %t13860 = getelementptr ptr, ptr null, i32 1 + %t13861 = ptrtoint ptr %t13860 to i64 + %t13862 = zext i32 %t13859 to i64 + %t13863 = mul i64 %t13862, %t13861 + %t13864 = load ptr, ptr %t13853 + %t13865 = call ptr @realloc(ptr %t13864, i64 %t13863) + store ptr %t13865, ptr %t13853 + store i32 %t13859, ptr %t13852 + br label %put2791 +put2791: + %t13866 = load ptr, ptr %t13853 + %t13867 = getelementptr inbounds ptr, ptr %t13866, i32 %t13854 + store ptr @.str7932, ptr %t13867 + %t13868 = add i32 %t13854, 1 + store i32 %t13868, ptr %t13851 + %t13869 = load ptr, ptr %t387 + %t13870 = getelementptr inbounds %LSlice, ptr %t13869, i32 0, i32 1 + %t13871 = getelementptr inbounds %LSlice, ptr %t13869, i32 0, i32 2 + %t13872 = getelementptr inbounds %LSlice, ptr %t13869, i32 0, i32 0 + %t13873 = load i32, ptr %t13870 + %t13874 = load i32, ptr %t13871 + %t13875 = icmp sge i32 %t13873, %t13874 + br i1 %t13875, label %grow2792, label %put2793 +grow2792: + %t13876 = mul i32 %t13874, 2 + %t13877 = icmp eq i32 %t13874, 0 + %t13878 = select i1 %t13877, i32 8, i32 %t13876 + %t13879 = getelementptr ptr, ptr null, i32 1 + %t13880 = ptrtoint ptr %t13879 to i64 + %t13881 = zext i32 %t13878 to i64 + %t13882 = mul i64 %t13881, %t13880 + %t13883 = load ptr, ptr %t13872 + %t13884 = call ptr @realloc(ptr %t13883, i64 %t13882) + store ptr %t13884, ptr %t13872 + store i32 %t13878, ptr %t13871 + br label %put2793 +put2793: + %t13885 = load ptr, ptr %t13872 + %t13886 = getelementptr inbounds ptr, ptr %t13885, i32 %t13873 + store ptr @.str7933, ptr %t13886 + %t13887 = add i32 %t13873, 1 + store i32 %t13887, ptr %t13870 + br label %ifend2787 +ifend2787: + %t13888 = load ptr, ptr %t1 + %t13889 = call i32 @fn_str_eq(ptr %t13888, ptr @.str7934) + %t13890 = icmp ne i32 %t13889, 0 + br i1 %t13890, label %then2794, label %ifend2796 +then2794: + store ptr @.str7935, ptr %t380 + %t13891 = load ptr, ptr %t387 + %t13892 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 1 + %t13893 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 2 + %t13894 = getelementptr inbounds %LSlice, ptr %t13891, i32 0, i32 0 + %t13895 = load i32, ptr %t13892 + %t13896 = load i32, ptr %t13893 + %t13897 = icmp sge i32 %t13895, %t13896 + br i1 %t13897, label %grow2797, label %put2798 +grow2797: + %t13898 = mul i32 %t13896, 2 + %t13899 = icmp eq i32 %t13896, 0 + %t13900 = select i1 %t13899, i32 8, i32 %t13898 + %t13901 = getelementptr ptr, ptr null, i32 1 + %t13902 = ptrtoint ptr %t13901 to i64 + %t13903 = zext i32 %t13900 to i64 + %t13904 = mul i64 %t13903, %t13902 + %t13905 = load ptr, ptr %t13894 + %t13906 = call ptr @realloc(ptr %t13905, i64 %t13904) + store ptr %t13906, ptr %t13894 + store i32 %t13900, ptr %t13893 + br label %put2798 +put2798: + %t13907 = load ptr, ptr %t13894 + %t13908 = getelementptr inbounds ptr, ptr %t13907, i32 %t13895 + store ptr @.str7936, ptr %t13908 + %t13909 = add i32 %t13895, 1 + store i32 %t13909, ptr %t13892 + %t13910 = load ptr, ptr %t387 + %t13911 = getelementptr inbounds %LSlice, ptr %t13910, i32 0, i32 1 + %t13912 = getelementptr inbounds %LSlice, ptr %t13910, i32 0, i32 2 + %t13913 = getelementptr inbounds %LSlice, ptr %t13910, i32 0, i32 0 + %t13914 = load i32, ptr %t13911 + %t13915 = load i32, ptr %t13912 + %t13916 = icmp sge i32 %t13914, %t13915 + br i1 %t13916, label %grow2799, label %put2800 +grow2799: + %t13917 = mul i32 %t13915, 2 + %t13918 = icmp eq i32 %t13915, 0 + %t13919 = select i1 %t13918, i32 8, i32 %t13917 + %t13920 = getelementptr ptr, ptr null, i32 1 + %t13921 = ptrtoint ptr %t13920 to i64 + %t13922 = zext i32 %t13919 to i64 + %t13923 = mul i64 %t13922, %t13921 + %t13924 = load ptr, ptr %t13913 + %t13925 = call ptr @realloc(ptr %t13924, i64 %t13923) + store ptr %t13925, ptr %t13913 + store i32 %t13919, ptr %t13912 + br label %put2800 +put2800: + %t13926 = load ptr, ptr %t13913 + %t13927 = getelementptr inbounds ptr, ptr %t13926, i32 %t13914 + store ptr @.str7937, ptr %t13927 + %t13928 = add i32 %t13914, 1 + store i32 %t13928, ptr %t13911 + br label %ifend2796 +ifend2796: + %t13929 = load ptr, ptr %t1 + %t13930 = call i32 @fn_str_eq(ptr %t13929, ptr @.str7938) + %t13931 = icmp ne i32 %t13930, 0 + br i1 %t13931, label %then2801, label %ifend2803 +then2801: + store ptr @.str7939, ptr %t380 + %t13932 = load ptr, ptr %t387 + %t13933 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 1 + %t13934 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 2 + %t13935 = getelementptr inbounds %LSlice, ptr %t13932, i32 0, i32 0 + %t13936 = load i32, ptr %t13933 + %t13937 = load i32, ptr %t13934 + %t13938 = icmp sge i32 %t13936, %t13937 + br i1 %t13938, label %grow2804, label %put2805 +grow2804: + %t13939 = mul i32 %t13937, 2 + %t13940 = icmp eq i32 %t13937, 0 + %t13941 = select i1 %t13940, i32 8, i32 %t13939 + %t13942 = getelementptr ptr, ptr null, i32 1 + %t13943 = ptrtoint ptr %t13942 to i64 + %t13944 = zext i32 %t13941 to i64 + %t13945 = mul i64 %t13944, %t13943 + %t13946 = load ptr, ptr %t13935 + %t13947 = call ptr @realloc(ptr %t13946, i64 %t13945) + store ptr %t13947, ptr %t13935 + store i32 %t13941, ptr %t13934 + br label %put2805 +put2805: + %t13948 = load ptr, ptr %t13935 + %t13949 = getelementptr inbounds ptr, ptr %t13948, i32 %t13936 + store ptr @.str7940, ptr %t13949 + %t13950 = add i32 %t13936, 1 + store i32 %t13950, ptr %t13933 + %t13951 = load ptr, ptr %t387 + %t13952 = getelementptr inbounds %LSlice, ptr %t13951, i32 0, i32 1 + %t13953 = getelementptr inbounds %LSlice, ptr %t13951, i32 0, i32 2 + %t13954 = getelementptr inbounds %LSlice, ptr %t13951, i32 0, i32 0 + %t13955 = load i32, ptr %t13952 + %t13956 = load i32, ptr %t13953 + %t13957 = icmp sge i32 %t13955, %t13956 + br i1 %t13957, label %grow2806, label %put2807 +grow2806: + %t13958 = mul i32 %t13956, 2 + %t13959 = icmp eq i32 %t13956, 0 + %t13960 = select i1 %t13959, i32 8, i32 %t13958 + %t13961 = getelementptr ptr, ptr null, i32 1 + %t13962 = ptrtoint ptr %t13961 to i64 + %t13963 = zext i32 %t13960 to i64 + %t13964 = mul i64 %t13963, %t13962 + %t13965 = load ptr, ptr %t13954 + %t13966 = call ptr @realloc(ptr %t13965, i64 %t13964) + store ptr %t13966, ptr %t13954 + store i32 %t13960, ptr %t13953 + br label %put2807 +put2807: + %t13967 = load ptr, ptr %t13954 + %t13968 = getelementptr inbounds ptr, ptr %t13967, i32 %t13955 + store ptr @.str7941, ptr %t13968 + %t13969 = add i32 %t13955, 1 + store i32 %t13969, ptr %t13952 + br label %ifend2803 +ifend2803: + %t13970 = load ptr, ptr %t1 + %t13971 = call i32 @fn_str_eq(ptr %t13970, ptr @.str7942) + %t13972 = icmp ne i32 %t13971, 0 + br i1 %t13972, label %then2808, label %ifend2810 +then2808: + store ptr @.str7943, ptr %t380 + %t13973 = load ptr, ptr %t387 + %t13974 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 1 + %t13975 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 2 + %t13976 = getelementptr inbounds %LSlice, ptr %t13973, i32 0, i32 0 + %t13977 = load i32, ptr %t13974 + %t13978 = load i32, ptr %t13975 + %t13979 = icmp sge i32 %t13977, %t13978 + br i1 %t13979, label %grow2811, label %put2812 +grow2811: + %t13980 = mul i32 %t13978, 2 + %t13981 = icmp eq i32 %t13978, 0 + %t13982 = select i1 %t13981, i32 8, i32 %t13980 + %t13983 = getelementptr ptr, ptr null, i32 1 + %t13984 = ptrtoint ptr %t13983 to i64 + %t13985 = zext i32 %t13982 to i64 + %t13986 = mul i64 %t13985, %t13984 + %t13987 = load ptr, ptr %t13976 + %t13988 = call ptr @realloc(ptr %t13987, i64 %t13986) + store ptr %t13988, ptr %t13976 + store i32 %t13982, ptr %t13975 + br label %put2812 +put2812: + %t13989 = load ptr, ptr %t13976 + %t13990 = getelementptr inbounds ptr, ptr %t13989, i32 %t13977 + store ptr @.str7944, ptr %t13990 + %t13991 = add i32 %t13977, 1 + store i32 %t13991, ptr %t13974 + %t13992 = load ptr, ptr %t387 + %t13993 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 1 + %t13994 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 2 + %t13995 = getelementptr inbounds %LSlice, ptr %t13992, i32 0, i32 0 + %t13996 = load i32, ptr %t13993 + %t13997 = load i32, ptr %t13994 + %t13998 = icmp sge i32 %t13996, %t13997 + br i1 %t13998, label %grow2813, label %put2814 +grow2813: + %t13999 = mul i32 %t13997, 2 + %t14000 = icmp eq i32 %t13997, 0 + %t14001 = select i1 %t14000, i32 8, i32 %t13999 + %t14002 = getelementptr ptr, ptr null, i32 1 + %t14003 = ptrtoint ptr %t14002 to i64 + %t14004 = zext i32 %t14001 to i64 + %t14005 = mul i64 %t14004, %t14003 + %t14006 = load ptr, ptr %t13995 + %t14007 = call ptr @realloc(ptr %t14006, i64 %t14005) + store ptr %t14007, ptr %t13995 + store i32 %t14001, ptr %t13994 + br label %put2814 +put2814: + %t14008 = load ptr, ptr %t13995 + %t14009 = getelementptr inbounds ptr, ptr %t14008, i32 %t13996 + store ptr @.str7945, ptr %t14009 + %t14010 = add i32 %t13996, 1 + store i32 %t14010, ptr %t13993 + br label %ifend2810 +ifend2810: + %t14011 = load ptr, ptr %t1 + %t14012 = call i32 @fn_str_eq(ptr %t14011, ptr @.str7946) + %t14013 = icmp ne i32 %t14012, 0 + br i1 %t14013, label %then2815, label %ifend2817 +then2815: + store ptr @.str7947, ptr %t380 + %t14014 = load ptr, ptr %t387 + %t14015 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 1 + %t14016 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 2 + %t14017 = getelementptr inbounds %LSlice, ptr %t14014, i32 0, i32 0 + %t14018 = load i32, ptr %t14015 + %t14019 = load i32, ptr %t14016 + %t14020 = icmp sge i32 %t14018, %t14019 + br i1 %t14020, label %grow2818, label %put2819 +grow2818: + %t14021 = mul i32 %t14019, 2 + %t14022 = icmp eq i32 %t14019, 0 + %t14023 = select i1 %t14022, i32 8, i32 %t14021 + %t14024 = getelementptr ptr, ptr null, i32 1 + %t14025 = ptrtoint ptr %t14024 to i64 + %t14026 = zext i32 %t14023 to i64 + %t14027 = mul i64 %t14026, %t14025 + %t14028 = load ptr, ptr %t14017 + %t14029 = call ptr @realloc(ptr %t14028, i64 %t14027) + store ptr %t14029, ptr %t14017 + store i32 %t14023, ptr %t14016 + br label %put2819 +put2819: + %t14030 = load ptr, ptr %t14017 + %t14031 = getelementptr inbounds ptr, ptr %t14030, i32 %t14018 + store ptr @.str7948, ptr %t14031 + %t14032 = add i32 %t14018, 1 + store i32 %t14032, ptr %t14015 + %t14033 = load ptr, ptr %t387 + %t14034 = getelementptr inbounds %LSlice, ptr %t14033, i32 0, i32 1 + %t14035 = getelementptr inbounds %LSlice, ptr %t14033, i32 0, i32 2 + %t14036 = getelementptr inbounds %LSlice, ptr %t14033, i32 0, i32 0 + %t14037 = load i32, ptr %t14034 + %t14038 = load i32, ptr %t14035 + %t14039 = icmp sge i32 %t14037, %t14038 + br i1 %t14039, label %grow2820, label %put2821 +grow2820: + %t14040 = mul i32 %t14038, 2 + %t14041 = icmp eq i32 %t14038, 0 + %t14042 = select i1 %t14041, i32 8, i32 %t14040 + %t14043 = getelementptr ptr, ptr null, i32 1 + %t14044 = ptrtoint ptr %t14043 to i64 + %t14045 = zext i32 %t14042 to i64 + %t14046 = mul i64 %t14045, %t14044 + %t14047 = load ptr, ptr %t14036 + %t14048 = call ptr @realloc(ptr %t14047, i64 %t14046) + store ptr %t14048, ptr %t14036 + store i32 %t14042, ptr %t14035 + br label %put2821 +put2821: + %t14049 = load ptr, ptr %t14036 + %t14050 = getelementptr inbounds ptr, ptr %t14049, i32 %t14037 + store ptr @.str7949, ptr %t14050 + %t14051 = add i32 %t14037, 1 + store i32 %t14051, ptr %t14034 + br label %ifend2817 +ifend2817: + %t14052 = load ptr, ptr %t1 + %t14053 = call i32 @fn_str_eq(ptr %t14052, ptr @.str7950) + %t14054 = icmp ne i32 %t14053, 0 + br i1 %t14054, label %then2822, label %ifend2824 +then2822: + store ptr @.str7951, ptr %t380 + %t14055 = load ptr, ptr %t387 + %t14056 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 1 + %t14057 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 2 + %t14058 = getelementptr inbounds %LSlice, ptr %t14055, i32 0, i32 0 + %t14059 = load i32, ptr %t14056 + %t14060 = load i32, ptr %t14057 + %t14061 = icmp sge i32 %t14059, %t14060 + br i1 %t14061, label %grow2825, label %put2826 +grow2825: + %t14062 = mul i32 %t14060, 2 + %t14063 = icmp eq i32 %t14060, 0 + %t14064 = select i1 %t14063, i32 8, i32 %t14062 + %t14065 = getelementptr ptr, ptr null, i32 1 + %t14066 = ptrtoint ptr %t14065 to i64 + %t14067 = zext i32 %t14064 to i64 + %t14068 = mul i64 %t14067, %t14066 + %t14069 = load ptr, ptr %t14058 + %t14070 = call ptr @realloc(ptr %t14069, i64 %t14068) + store ptr %t14070, ptr %t14058 + store i32 %t14064, ptr %t14057 + br label %put2826 +put2826: + %t14071 = load ptr, ptr %t14058 + %t14072 = getelementptr inbounds ptr, ptr %t14071, i32 %t14059 + store ptr @.str7952, ptr %t14072 + %t14073 = add i32 %t14059, 1 + store i32 %t14073, ptr %t14056 + br label %ifend2824 +ifend2824: + %t14074 = load ptr, ptr %t1 + %t14075 = call i32 @fn_str_eq(ptr %t14074, ptr @.str7953) + %t14076 = icmp ne i32 %t14075, 0 + br i1 %t14076, label %then2827, label %ifend2829 +then2827: + store ptr @.str7954, ptr %t380 + %t14077 = load ptr, ptr %t387 + %t14078 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 1 + %t14079 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 2 + %t14080 = getelementptr inbounds %LSlice, ptr %t14077, i32 0, i32 0 + %t14081 = load i32, ptr %t14078 + %t14082 = load i32, ptr %t14079 + %t14083 = icmp sge i32 %t14081, %t14082 + br i1 %t14083, label %grow2830, label %put2831 +grow2830: + %t14084 = mul i32 %t14082, 2 + %t14085 = icmp eq i32 %t14082, 0 + %t14086 = select i1 %t14085, i32 8, i32 %t14084 + %t14087 = getelementptr ptr, ptr null, i32 1 + %t14088 = ptrtoint ptr %t14087 to i64 + %t14089 = zext i32 %t14086 to i64 + %t14090 = mul i64 %t14089, %t14088 + %t14091 = load ptr, ptr %t14080 + %t14092 = call ptr @realloc(ptr %t14091, i64 %t14090) + store ptr %t14092, ptr %t14080 + store i32 %t14086, ptr %t14079 + br label %put2831 +put2831: + %t14093 = load ptr, ptr %t14080 + %t14094 = getelementptr inbounds ptr, ptr %t14093, i32 %t14081 + store ptr @.str7955, ptr %t14094 + %t14095 = add i32 %t14081, 1 + store i32 %t14095, ptr %t14078 + %t14096 = load ptr, ptr %t387 + %t14097 = getelementptr inbounds %LSlice, ptr %t14096, i32 0, i32 1 + %t14098 = getelementptr inbounds %LSlice, ptr %t14096, i32 0, i32 2 + %t14099 = getelementptr inbounds %LSlice, ptr %t14096, i32 0, i32 0 + %t14100 = load i32, ptr %t14097 + %t14101 = load i32, ptr %t14098 + %t14102 = icmp sge i32 %t14100, %t14101 + br i1 %t14102, label %grow2832, label %put2833 +grow2832: + %t14103 = mul i32 %t14101, 2 + %t14104 = icmp eq i32 %t14101, 0 + %t14105 = select i1 %t14104, i32 8, i32 %t14103 + %t14106 = getelementptr ptr, ptr null, i32 1 + %t14107 = ptrtoint ptr %t14106 to i64 + %t14108 = zext i32 %t14105 to i64 + %t14109 = mul i64 %t14108, %t14107 + %t14110 = load ptr, ptr %t14099 + %t14111 = call ptr @realloc(ptr %t14110, i64 %t14109) + store ptr %t14111, ptr %t14099 + store i32 %t14105, ptr %t14098 + br label %put2833 +put2833: + %t14112 = load ptr, ptr %t14099 + %t14113 = getelementptr inbounds ptr, ptr %t14112, i32 %t14100 + store ptr @.str7956, ptr %t14113 + %t14114 = add i32 %t14100, 1 + store i32 %t14114, ptr %t14097 + %t14115 = load ptr, ptr %t387 + %t14116 = getelementptr inbounds %LSlice, ptr %t14115, i32 0, i32 1 + %t14117 = getelementptr inbounds %LSlice, ptr %t14115, i32 0, i32 2 + %t14118 = getelementptr inbounds %LSlice, ptr %t14115, i32 0, i32 0 + %t14119 = load i32, ptr %t14116 + %t14120 = load i32, ptr %t14117 + %t14121 = icmp sge i32 %t14119, %t14120 + br i1 %t14121, label %grow2834, label %put2835 +grow2834: + %t14122 = mul i32 %t14120, 2 + %t14123 = icmp eq i32 %t14120, 0 + %t14124 = select i1 %t14123, i32 8, i32 %t14122 + %t14125 = getelementptr ptr, ptr null, i32 1 + %t14126 = ptrtoint ptr %t14125 to i64 + %t14127 = zext i32 %t14124 to i64 + %t14128 = mul i64 %t14127, %t14126 + %t14129 = load ptr, ptr %t14118 + %t14130 = call ptr @realloc(ptr %t14129, i64 %t14128) + store ptr %t14130, ptr %t14118 + store i32 %t14124, ptr %t14117 + br label %put2835 +put2835: + %t14131 = load ptr, ptr %t14118 + %t14132 = getelementptr inbounds ptr, ptr %t14131, i32 %t14119 + store ptr @.str7957, ptr %t14132 + %t14133 = add i32 %t14119, 1 + store i32 %t14133, ptr %t14116 + br label %ifend2829 +ifend2829: + %t14134 = load ptr, ptr %t1 + %t14135 = call i32 @fn_str_eq(ptr %t14134, ptr @.str7958) + %t14136 = icmp ne i32 %t14135, 0 + br i1 %t14136, label %then2836, label %ifend2838 +then2836: + store ptr @.str7959, ptr %t380 + %t14137 = load ptr, ptr %t387 + %t14138 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 1 + %t14139 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 2 + %t14140 = getelementptr inbounds %LSlice, ptr %t14137, i32 0, i32 0 + %t14141 = load i32, ptr %t14138 + %t14142 = load i32, ptr %t14139 + %t14143 = icmp sge i32 %t14141, %t14142 + br i1 %t14143, label %grow2839, label %put2840 +grow2839: + %t14144 = mul i32 %t14142, 2 + %t14145 = icmp eq i32 %t14142, 0 + %t14146 = select i1 %t14145, i32 8, i32 %t14144 + %t14147 = getelementptr ptr, ptr null, i32 1 + %t14148 = ptrtoint ptr %t14147 to i64 + %t14149 = zext i32 %t14146 to i64 + %t14150 = mul i64 %t14149, %t14148 + %t14151 = load ptr, ptr %t14140 + %t14152 = call ptr @realloc(ptr %t14151, i64 %t14150) + store ptr %t14152, ptr %t14140 + store i32 %t14146, ptr %t14139 + br label %put2840 +put2840: + %t14153 = load ptr, ptr %t14140 + %t14154 = getelementptr inbounds ptr, ptr %t14153, i32 %t14141 + store ptr @.str7960, ptr %t14154 + %t14155 = add i32 %t14141, 1 + store i32 %t14155, ptr %t14138 + %t14156 = load ptr, ptr %t387 + %t14157 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 1 + %t14158 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 2 + %t14159 = getelementptr inbounds %LSlice, ptr %t14156, i32 0, i32 0 + %t14160 = load i32, ptr %t14157 + %t14161 = load i32, ptr %t14158 + %t14162 = icmp sge i32 %t14160, %t14161 + br i1 %t14162, label %grow2841, label %put2842 +grow2841: + %t14163 = mul i32 %t14161, 2 + %t14164 = icmp eq i32 %t14161, 0 + %t14165 = select i1 %t14164, i32 8, i32 %t14163 + %t14166 = getelementptr ptr, ptr null, i32 1 + %t14167 = ptrtoint ptr %t14166 to i64 + %t14168 = zext i32 %t14165 to i64 + %t14169 = mul i64 %t14168, %t14167 + %t14170 = load ptr, ptr %t14159 + %t14171 = call ptr @realloc(ptr %t14170, i64 %t14169) + store ptr %t14171, ptr %t14159 + store i32 %t14165, ptr %t14158 + br label %put2842 +put2842: + %t14172 = load ptr, ptr %t14159 + %t14173 = getelementptr inbounds ptr, ptr %t14172, i32 %t14160 + store ptr @.str7961, ptr %t14173 + %t14174 = add i32 %t14160, 1 + store i32 %t14174, ptr %t14157 + br label %ifend2838 +ifend2838: + %t14175 = load ptr, ptr %t1 + %t14176 = call i32 @fn_str_eq(ptr %t14175, ptr @.str7962) + %t14177 = icmp ne i32 %t14176, 0 + br i1 %t14177, label %then2843, label %ifend2845 +then2843: + store ptr @.str7963, ptr %t380 + %t14178 = load ptr, ptr %t387 + %t14179 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 1 + %t14180 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 2 + %t14181 = getelementptr inbounds %LSlice, ptr %t14178, i32 0, i32 0 + %t14182 = load i32, ptr %t14179 + %t14183 = load i32, ptr %t14180 + %t14184 = icmp sge i32 %t14182, %t14183 + br i1 %t14184, label %grow2846, label %put2847 +grow2846: + %t14185 = mul i32 %t14183, 2 + %t14186 = icmp eq i32 %t14183, 0 + %t14187 = select i1 %t14186, i32 8, i32 %t14185 + %t14188 = getelementptr ptr, ptr null, i32 1 + %t14189 = ptrtoint ptr %t14188 to i64 + %t14190 = zext i32 %t14187 to i64 + %t14191 = mul i64 %t14190, %t14189 + %t14192 = load ptr, ptr %t14181 + %t14193 = call ptr @realloc(ptr %t14192, i64 %t14191) + store ptr %t14193, ptr %t14181 + store i32 %t14187, ptr %t14180 + br label %put2847 +put2847: + %t14194 = load ptr, ptr %t14181 + %t14195 = getelementptr inbounds ptr, ptr %t14194, i32 %t14182 + store ptr @.str7964, ptr %t14195 + %t14196 = add i32 %t14182, 1 + store i32 %t14196, ptr %t14179 + %t14197 = load ptr, ptr %t387 + %t14198 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 1 + %t14199 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 2 + %t14200 = getelementptr inbounds %LSlice, ptr %t14197, i32 0, i32 0 + %t14201 = load i32, ptr %t14198 + %t14202 = load i32, ptr %t14199 + %t14203 = icmp sge i32 %t14201, %t14202 + br i1 %t14203, label %grow2848, label %put2849 +grow2848: + %t14204 = mul i32 %t14202, 2 + %t14205 = icmp eq i32 %t14202, 0 + %t14206 = select i1 %t14205, i32 8, i32 %t14204 + %t14207 = getelementptr ptr, ptr null, i32 1 + %t14208 = ptrtoint ptr %t14207 to i64 + %t14209 = zext i32 %t14206 to i64 + %t14210 = mul i64 %t14209, %t14208 + %t14211 = load ptr, ptr %t14200 + %t14212 = call ptr @realloc(ptr %t14211, i64 %t14210) + store ptr %t14212, ptr %t14200 + store i32 %t14206, ptr %t14199 + br label %put2849 +put2849: + %t14213 = load ptr, ptr %t14200 + %t14214 = getelementptr inbounds ptr, ptr %t14213, i32 %t14201 + store ptr @.str7965, ptr %t14214 + %t14215 = add i32 %t14201, 1 + store i32 %t14215, ptr %t14198 + br label %ifend2845 +ifend2845: + %t14216 = load ptr, ptr %t1 + %t14217 = call i32 @fn_str_eq(ptr %t14216, ptr @.str7966) + %t14218 = icmp ne i32 %t14217, 0 + br i1 %t14218, label %then2850, label %ifend2852 +then2850: + store ptr @.str7967, ptr %t380 + %t14219 = load ptr, ptr %t387 + %t14220 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 1 + %t14221 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 2 + %t14222 = getelementptr inbounds %LSlice, ptr %t14219, i32 0, i32 0 + %t14223 = load i32, ptr %t14220 + %t14224 = load i32, ptr %t14221 + %t14225 = icmp sge i32 %t14223, %t14224 + br i1 %t14225, label %grow2853, label %put2854 +grow2853: + %t14226 = mul i32 %t14224, 2 + %t14227 = icmp eq i32 %t14224, 0 + %t14228 = select i1 %t14227, i32 8, i32 %t14226 + %t14229 = getelementptr ptr, ptr null, i32 1 + %t14230 = ptrtoint ptr %t14229 to i64 + %t14231 = zext i32 %t14228 to i64 + %t14232 = mul i64 %t14231, %t14230 + %t14233 = load ptr, ptr %t14222 + %t14234 = call ptr @realloc(ptr %t14233, i64 %t14232) + store ptr %t14234, ptr %t14222 + store i32 %t14228, ptr %t14221 + br label %put2854 +put2854: + %t14235 = load ptr, ptr %t14222 + %t14236 = getelementptr inbounds ptr, ptr %t14235, i32 %t14223 + store ptr @.str7968, ptr %t14236 + %t14237 = add i32 %t14223, 1 + store i32 %t14237, ptr %t14220 + %t14238 = load ptr, ptr %t387 + %t14239 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 1 + %t14240 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 2 + %t14241 = getelementptr inbounds %LSlice, ptr %t14238, i32 0, i32 0 + %t14242 = load i32, ptr %t14239 + %t14243 = load i32, ptr %t14240 + %t14244 = icmp sge i32 %t14242, %t14243 + br i1 %t14244, label %grow2855, label %put2856 +grow2855: + %t14245 = mul i32 %t14243, 2 + %t14246 = icmp eq i32 %t14243, 0 + %t14247 = select i1 %t14246, i32 8, i32 %t14245 + %t14248 = getelementptr ptr, ptr null, i32 1 + %t14249 = ptrtoint ptr %t14248 to i64 + %t14250 = zext i32 %t14247 to i64 + %t14251 = mul i64 %t14250, %t14249 + %t14252 = load ptr, ptr %t14241 + %t14253 = call ptr @realloc(ptr %t14252, i64 %t14251) + store ptr %t14253, ptr %t14241 + store i32 %t14247, ptr %t14240 + br label %put2856 +put2856: + %t14254 = load ptr, ptr %t14241 + %t14255 = getelementptr inbounds ptr, ptr %t14254, i32 %t14242 + store ptr @.str7969, ptr %t14255 + %t14256 = add i32 %t14242, 1 + store i32 %t14256, ptr %t14239 + %t14257 = load ptr, ptr %t387 + %t14258 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 1 + %t14259 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 2 + %t14260 = getelementptr inbounds %LSlice, ptr %t14257, i32 0, i32 0 + %t14261 = load i32, ptr %t14258 + %t14262 = load i32, ptr %t14259 + %t14263 = icmp sge i32 %t14261, %t14262 + br i1 %t14263, label %grow2857, label %put2858 +grow2857: + %t14264 = mul i32 %t14262, 2 + %t14265 = icmp eq i32 %t14262, 0 + %t14266 = select i1 %t14265, i32 8, i32 %t14264 + %t14267 = getelementptr ptr, ptr null, i32 1 + %t14268 = ptrtoint ptr %t14267 to i64 + %t14269 = zext i32 %t14266 to i64 + %t14270 = mul i64 %t14269, %t14268 + %t14271 = load ptr, ptr %t14260 + %t14272 = call ptr @realloc(ptr %t14271, i64 %t14270) + store ptr %t14272, ptr %t14260 + store i32 %t14266, ptr %t14259 + br label %put2858 +put2858: + %t14273 = load ptr, ptr %t14260 + %t14274 = getelementptr inbounds ptr, ptr %t14273, i32 %t14261 + store ptr @.str7970, ptr %t14274 + %t14275 = add i32 %t14261, 1 + store i32 %t14275, ptr %t14258 + br label %ifend2852 +ifend2852: + %t14276 = load ptr, ptr %t1 + %t14277 = call i32 @fn_str_eq(ptr %t14276, ptr @.str7971) + %t14278 = icmp ne i32 %t14277, 0 + br i1 %t14278, label %then2859, label %ifend2861 +then2859: + store ptr @.str7972, ptr %t380 + %t14279 = load ptr, ptr %t387 + %t14280 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 1 + %t14281 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 2 + %t14282 = getelementptr inbounds %LSlice, ptr %t14279, i32 0, i32 0 + %t14283 = load i32, ptr %t14280 + %t14284 = load i32, ptr %t14281 + %t14285 = icmp sge i32 %t14283, %t14284 + br i1 %t14285, label %grow2862, label %put2863 +grow2862: + %t14286 = mul i32 %t14284, 2 + %t14287 = icmp eq i32 %t14284, 0 + %t14288 = select i1 %t14287, i32 8, i32 %t14286 + %t14289 = getelementptr ptr, ptr null, i32 1 + %t14290 = ptrtoint ptr %t14289 to i64 + %t14291 = zext i32 %t14288 to i64 + %t14292 = mul i64 %t14291, %t14290 + %t14293 = load ptr, ptr %t14282 + %t14294 = call ptr @realloc(ptr %t14293, i64 %t14292) + store ptr %t14294, ptr %t14282 + store i32 %t14288, ptr %t14281 + br label %put2863 +put2863: + %t14295 = load ptr, ptr %t14282 + %t14296 = getelementptr inbounds ptr, ptr %t14295, i32 %t14283 + store ptr @.str7973, ptr %t14296 + %t14297 = add i32 %t14283, 1 + store i32 %t14297, ptr %t14280 + br label %ifend2861 +ifend2861: + %t14298 = load ptr, ptr %t1 + %t14299 = call i32 @fn_str_eq(ptr %t14298, ptr @.str7974) + %t14300 = icmp ne i32 %t14299, 0 + br i1 %t14300, label %then2864, label %ifend2866 +then2864: + store ptr @.str7975, ptr %t380 + %t14301 = load ptr, ptr %t387 + %t14302 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 1 + %t14303 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 2 + %t14304 = getelementptr inbounds %LSlice, ptr %t14301, i32 0, i32 0 + %t14305 = load i32, ptr %t14302 + %t14306 = load i32, ptr %t14303 + %t14307 = icmp sge i32 %t14305, %t14306 + br i1 %t14307, label %grow2867, label %put2868 +grow2867: + %t14308 = mul i32 %t14306, 2 + %t14309 = icmp eq i32 %t14306, 0 + %t14310 = select i1 %t14309, i32 8, i32 %t14308 + %t14311 = getelementptr ptr, ptr null, i32 1 + %t14312 = ptrtoint ptr %t14311 to i64 + %t14313 = zext i32 %t14310 to i64 + %t14314 = mul i64 %t14313, %t14312 + %t14315 = load ptr, ptr %t14304 + %t14316 = call ptr @realloc(ptr %t14315, i64 %t14314) + store ptr %t14316, ptr %t14304 + store i32 %t14310, ptr %t14303 + br label %put2868 +put2868: + %t14317 = load ptr, ptr %t14304 + %t14318 = getelementptr inbounds ptr, ptr %t14317, i32 %t14305 + store ptr @.str7976, ptr %t14318 + %t14319 = add i32 %t14305, 1 + store i32 %t14319, ptr %t14302 + %t14320 = load ptr, ptr %t387 + %t14321 = getelementptr inbounds %LSlice, ptr %t14320, i32 0, i32 1 + %t14322 = getelementptr inbounds %LSlice, ptr %t14320, i32 0, i32 2 + %t14323 = getelementptr inbounds %LSlice, ptr %t14320, i32 0, i32 0 + %t14324 = load i32, ptr %t14321 + %t14325 = load i32, ptr %t14322 + %t14326 = icmp sge i32 %t14324, %t14325 + br i1 %t14326, label %grow2869, label %put2870 +grow2869: + %t14327 = mul i32 %t14325, 2 + %t14328 = icmp eq i32 %t14325, 0 + %t14329 = select i1 %t14328, i32 8, i32 %t14327 + %t14330 = getelementptr ptr, ptr null, i32 1 + %t14331 = ptrtoint ptr %t14330 to i64 + %t14332 = zext i32 %t14329 to i64 + %t14333 = mul i64 %t14332, %t14331 + %t14334 = load ptr, ptr %t14323 + %t14335 = call ptr @realloc(ptr %t14334, i64 %t14333) + store ptr %t14335, ptr %t14323 + store i32 %t14329, ptr %t14322 + br label %put2870 +put2870: + %t14336 = load ptr, ptr %t14323 + %t14337 = getelementptr inbounds ptr, ptr %t14336, i32 %t14324 + store ptr @.str7977, ptr %t14337 + %t14338 = add i32 %t14324, 1 + store i32 %t14338, ptr %t14321 + br label %ifend2866 +ifend2866: + %t14339 = load ptr, ptr %t1 + %t14340 = call i32 @fn_str_eq(ptr %t14339, ptr @.str7978) + %t14341 = icmp ne i32 %t14340, 0 + br i1 %t14341, label %then2871, label %ifend2873 +then2871: + store ptr @.str7979, ptr %t380 + %t14342 = load ptr, ptr %t387 + %t14343 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 1 + %t14344 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 2 + %t14345 = getelementptr inbounds %LSlice, ptr %t14342, i32 0, i32 0 + %t14346 = load i32, ptr %t14343 + %t14347 = load i32, ptr %t14344 + %t14348 = icmp sge i32 %t14346, %t14347 + br i1 %t14348, label %grow2874, label %put2875 +grow2874: + %t14349 = mul i32 %t14347, 2 + %t14350 = icmp eq i32 %t14347, 0 + %t14351 = select i1 %t14350, i32 8, i32 %t14349 + %t14352 = getelementptr ptr, ptr null, i32 1 + %t14353 = ptrtoint ptr %t14352 to i64 + %t14354 = zext i32 %t14351 to i64 + %t14355 = mul i64 %t14354, %t14353 + %t14356 = load ptr, ptr %t14345 + %t14357 = call ptr @realloc(ptr %t14356, i64 %t14355) + store ptr %t14357, ptr %t14345 + store i32 %t14351, ptr %t14344 + br label %put2875 +put2875: + %t14358 = load ptr, ptr %t14345 + %t14359 = getelementptr inbounds ptr, ptr %t14358, i32 %t14346 + store ptr @.str7980, ptr %t14359 + %t14360 = add i32 %t14346, 1 + store i32 %t14360, ptr %t14343 + %t14361 = load ptr, ptr %t387 + %t14362 = getelementptr inbounds %LSlice, ptr %t14361, i32 0, i32 1 + %t14363 = getelementptr inbounds %LSlice, ptr %t14361, i32 0, i32 2 + %t14364 = getelementptr inbounds %LSlice, ptr %t14361, i32 0, i32 0 + %t14365 = load i32, ptr %t14362 + %t14366 = load i32, ptr %t14363 + %t14367 = icmp sge i32 %t14365, %t14366 + br i1 %t14367, label %grow2876, label %put2877 +grow2876: + %t14368 = mul i32 %t14366, 2 + %t14369 = icmp eq i32 %t14366, 0 + %t14370 = select i1 %t14369, i32 8, i32 %t14368 + %t14371 = getelementptr ptr, ptr null, i32 1 + %t14372 = ptrtoint ptr %t14371 to i64 + %t14373 = zext i32 %t14370 to i64 + %t14374 = mul i64 %t14373, %t14372 + %t14375 = load ptr, ptr %t14364 + %t14376 = call ptr @realloc(ptr %t14375, i64 %t14374) + store ptr %t14376, ptr %t14364 + store i32 %t14370, ptr %t14363 + br label %put2877 +put2877: + %t14377 = load ptr, ptr %t14364 + %t14378 = getelementptr inbounds ptr, ptr %t14377, i32 %t14365 + store ptr @.str7981, ptr %t14378 + %t14379 = add i32 %t14365, 1 + store i32 %t14379, ptr %t14362 + br label %ifend2873 +ifend2873: + %t14380 = load ptr, ptr %t1 + %t14381 = call i32 @fn_str_eq(ptr %t14380, ptr @.str7982) + %t14382 = icmp ne i32 %t14381, 0 + br i1 %t14382, label %then2878, label %ifend2880 +then2878: + store ptr @.str7983, ptr %t380 + %t14383 = load ptr, ptr %t387 + %t14384 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 1 + %t14385 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 2 + %t14386 = getelementptr inbounds %LSlice, ptr %t14383, i32 0, i32 0 + %t14387 = load i32, ptr %t14384 + %t14388 = load i32, ptr %t14385 + %t14389 = icmp sge i32 %t14387, %t14388 + br i1 %t14389, label %grow2881, label %put2882 +grow2881: + %t14390 = mul i32 %t14388, 2 + %t14391 = icmp eq i32 %t14388, 0 + %t14392 = select i1 %t14391, i32 8, i32 %t14390 + %t14393 = getelementptr ptr, ptr null, i32 1 + %t14394 = ptrtoint ptr %t14393 to i64 + %t14395 = zext i32 %t14392 to i64 + %t14396 = mul i64 %t14395, %t14394 + %t14397 = load ptr, ptr %t14386 + %t14398 = call ptr @realloc(ptr %t14397, i64 %t14396) + store ptr %t14398, ptr %t14386 + store i32 %t14392, ptr %t14385 + br label %put2882 +put2882: + %t14399 = load ptr, ptr %t14386 + %t14400 = getelementptr inbounds ptr, ptr %t14399, i32 %t14387 + store ptr @.str7984, ptr %t14400 + %t14401 = add i32 %t14387, 1 + store i32 %t14401, ptr %t14384 + %t14402 = load ptr, ptr %t387 + %t14403 = getelementptr inbounds %LSlice, ptr %t14402, i32 0, i32 1 + %t14404 = getelementptr inbounds %LSlice, ptr %t14402, i32 0, i32 2 + %t14405 = getelementptr inbounds %LSlice, ptr %t14402, i32 0, i32 0 + %t14406 = load i32, ptr %t14403 + %t14407 = load i32, ptr %t14404 + %t14408 = icmp sge i32 %t14406, %t14407 + br i1 %t14408, label %grow2883, label %put2884 +grow2883: + %t14409 = mul i32 %t14407, 2 + %t14410 = icmp eq i32 %t14407, 0 + %t14411 = select i1 %t14410, i32 8, i32 %t14409 + %t14412 = getelementptr ptr, ptr null, i32 1 + %t14413 = ptrtoint ptr %t14412 to i64 + %t14414 = zext i32 %t14411 to i64 + %t14415 = mul i64 %t14414, %t14413 + %t14416 = load ptr, ptr %t14405 + %t14417 = call ptr @realloc(ptr %t14416, i64 %t14415) + store ptr %t14417, ptr %t14405 + store i32 %t14411, ptr %t14404 + br label %put2884 +put2884: + %t14418 = load ptr, ptr %t14405 + %t14419 = getelementptr inbounds ptr, ptr %t14418, i32 %t14406 + store ptr @.str7985, ptr %t14419 + %t14420 = add i32 %t14406, 1 + store i32 %t14420, ptr %t14403 + br label %ifend2880 +ifend2880: + %t14421 = load ptr, ptr %t1 + %t14422 = call i32 @fn_str_eq(ptr %t14421, ptr @.str7986) + %t14423 = icmp ne i32 %t14422, 0 + br i1 %t14423, label %then2885, label %ifend2887 +then2885: + store ptr @.str7987, ptr %t380 + %t14424 = load ptr, ptr %t387 + %t14425 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 1 + %t14426 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 2 + %t14427 = getelementptr inbounds %LSlice, ptr %t14424, i32 0, i32 0 + %t14428 = load i32, ptr %t14425 + %t14429 = load i32, ptr %t14426 + %t14430 = icmp sge i32 %t14428, %t14429 + br i1 %t14430, label %grow2888, label %put2889 +grow2888: + %t14431 = mul i32 %t14429, 2 + %t14432 = icmp eq i32 %t14429, 0 + %t14433 = select i1 %t14432, i32 8, i32 %t14431 + %t14434 = getelementptr ptr, ptr null, i32 1 + %t14435 = ptrtoint ptr %t14434 to i64 + %t14436 = zext i32 %t14433 to i64 + %t14437 = mul i64 %t14436, %t14435 + %t14438 = load ptr, ptr %t14427 + %t14439 = call ptr @realloc(ptr %t14438, i64 %t14437) + store ptr %t14439, ptr %t14427 + store i32 %t14433, ptr %t14426 + br label %put2889 +put2889: + %t14440 = load ptr, ptr %t14427 + %t14441 = getelementptr inbounds ptr, ptr %t14440, i32 %t14428 + store ptr @.str7988, ptr %t14441 + %t14442 = add i32 %t14428, 1 + store i32 %t14442, ptr %t14425 + br label %ifend2887 +ifend2887: + %t14443 = load ptr, ptr %t1 + %t14444 = call i32 @fn_str_eq(ptr %t14443, ptr @.str7989) + %t14445 = icmp ne i32 %t14444, 0 + br i1 %t14445, label %then2890, label %ifend2892 +then2890: + store ptr @.str7990, ptr %t380 + %t14446 = load ptr, ptr %t387 + %t14447 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 1 + %t14448 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 2 + %t14449 = getelementptr inbounds %LSlice, ptr %t14446, i32 0, i32 0 + %t14450 = load i32, ptr %t14447 + %t14451 = load i32, ptr %t14448 + %t14452 = icmp sge i32 %t14450, %t14451 + br i1 %t14452, label %grow2893, label %put2894 +grow2893: + %t14453 = mul i32 %t14451, 2 + %t14454 = icmp eq i32 %t14451, 0 + %t14455 = select i1 %t14454, i32 8, i32 %t14453 + %t14456 = getelementptr ptr, ptr null, i32 1 + %t14457 = ptrtoint ptr %t14456 to i64 + %t14458 = zext i32 %t14455 to i64 + %t14459 = mul i64 %t14458, %t14457 + %t14460 = load ptr, ptr %t14449 + %t14461 = call ptr @realloc(ptr %t14460, i64 %t14459) + store ptr %t14461, ptr %t14449 + store i32 %t14455, ptr %t14448 + br label %put2894 +put2894: + %t14462 = load ptr, ptr %t14449 + %t14463 = getelementptr inbounds ptr, ptr %t14462, i32 %t14450 + store ptr @.str7991, ptr %t14463 + %t14464 = add i32 %t14450, 1 + store i32 %t14464, ptr %t14447 + br label %ifend2892 +ifend2892: + %t14465 = load ptr, ptr %t1 + %t14466 = call i32 @fn_str_eq(ptr %t14465, ptr @.str7992) + %t14467 = icmp ne i32 %t14466, 0 + br i1 %t14467, label %then2895, label %ifend2897 +then2895: + store ptr @.str7993, ptr %t380 + %t14468 = load ptr, ptr %t387 + %t14469 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 1 + %t14470 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 2 + %t14471 = getelementptr inbounds %LSlice, ptr %t14468, i32 0, i32 0 + %t14472 = load i32, ptr %t14469 + %t14473 = load i32, ptr %t14470 + %t14474 = icmp sge i32 %t14472, %t14473 + br i1 %t14474, label %grow2898, label %put2899 +grow2898: + %t14475 = mul i32 %t14473, 2 + %t14476 = icmp eq i32 %t14473, 0 + %t14477 = select i1 %t14476, i32 8, i32 %t14475 + %t14478 = getelementptr ptr, ptr null, i32 1 + %t14479 = ptrtoint ptr %t14478 to i64 + %t14480 = zext i32 %t14477 to i64 + %t14481 = mul i64 %t14480, %t14479 + %t14482 = load ptr, ptr %t14471 + %t14483 = call ptr @realloc(ptr %t14482, i64 %t14481) + store ptr %t14483, ptr %t14471 + store i32 %t14477, ptr %t14470 + br label %put2899 +put2899: + %t14484 = load ptr, ptr %t14471 + %t14485 = getelementptr inbounds ptr, ptr %t14484, i32 %t14472 + store ptr @.str7994, ptr %t14485 + %t14486 = add i32 %t14472, 1 + store i32 %t14486, ptr %t14469 + %t14487 = load ptr, ptr %t387 + %t14488 = getelementptr inbounds %LSlice, ptr %t14487, i32 0, i32 1 + %t14489 = getelementptr inbounds %LSlice, ptr %t14487, i32 0, i32 2 + %t14490 = getelementptr inbounds %LSlice, ptr %t14487, i32 0, i32 0 + %t14491 = load i32, ptr %t14488 + %t14492 = load i32, ptr %t14489 + %t14493 = icmp sge i32 %t14491, %t14492 + br i1 %t14493, label %grow2900, label %put2901 +grow2900: + %t14494 = mul i32 %t14492, 2 + %t14495 = icmp eq i32 %t14492, 0 + %t14496 = select i1 %t14495, i32 8, i32 %t14494 + %t14497 = getelementptr ptr, ptr null, i32 1 + %t14498 = ptrtoint ptr %t14497 to i64 + %t14499 = zext i32 %t14496 to i64 + %t14500 = mul i64 %t14499, %t14498 + %t14501 = load ptr, ptr %t14490 + %t14502 = call ptr @realloc(ptr %t14501, i64 %t14500) + store ptr %t14502, ptr %t14490 + store i32 %t14496, ptr %t14489 + br label %put2901 +put2901: + %t14503 = load ptr, ptr %t14490 + %t14504 = getelementptr inbounds ptr, ptr %t14503, i32 %t14491 + store ptr @.str7995, ptr %t14504 + %t14505 = add i32 %t14491, 1 + store i32 %t14505, ptr %t14488 + %t14506 = load ptr, ptr %t387 + %t14507 = getelementptr inbounds %LSlice, ptr %t14506, i32 0, i32 1 + %t14508 = getelementptr inbounds %LSlice, ptr %t14506, i32 0, i32 2 + %t14509 = getelementptr inbounds %LSlice, ptr %t14506, i32 0, i32 0 + %t14510 = load i32, ptr %t14507 + %t14511 = load i32, ptr %t14508 + %t14512 = icmp sge i32 %t14510, %t14511 + br i1 %t14512, label %grow2902, label %put2903 +grow2902: + %t14513 = mul i32 %t14511, 2 + %t14514 = icmp eq i32 %t14511, 0 + %t14515 = select i1 %t14514, i32 8, i32 %t14513 + %t14516 = getelementptr ptr, ptr null, i32 1 + %t14517 = ptrtoint ptr %t14516 to i64 + %t14518 = zext i32 %t14515 to i64 + %t14519 = mul i64 %t14518, %t14517 + %t14520 = load ptr, ptr %t14509 + %t14521 = call ptr @realloc(ptr %t14520, i64 %t14519) + store ptr %t14521, ptr %t14509 + store i32 %t14515, ptr %t14508 + br label %put2903 +put2903: + %t14522 = load ptr, ptr %t14509 + %t14523 = getelementptr inbounds ptr, ptr %t14522, i32 %t14510 + store ptr @.str7996, ptr %t14523 + %t14524 = add i32 %t14510, 1 + store i32 %t14524, ptr %t14507 + br label %ifend2897 +ifend2897: + %t14525 = load ptr, ptr %t1 + %t14526 = call i32 @fn_str_eq(ptr %t14525, ptr @.str7997) + %t14527 = icmp ne i32 %t14526, 0 + br i1 %t14527, label %then2904, label %ifend2906 +then2904: + store ptr @.str7998, ptr %t380 + %t14528 = load ptr, ptr %t387 + %t14529 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 1 + %t14530 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 2 + %t14531 = getelementptr inbounds %LSlice, ptr %t14528, i32 0, i32 0 + %t14532 = load i32, ptr %t14529 + %t14533 = load i32, ptr %t14530 + %t14534 = icmp sge i32 %t14532, %t14533 + br i1 %t14534, label %grow2907, label %put2908 +grow2907: + %t14535 = mul i32 %t14533, 2 + %t14536 = icmp eq i32 %t14533, 0 + %t14537 = select i1 %t14536, i32 8, i32 %t14535 + %t14538 = getelementptr ptr, ptr null, i32 1 + %t14539 = ptrtoint ptr %t14538 to i64 + %t14540 = zext i32 %t14537 to i64 + %t14541 = mul i64 %t14540, %t14539 + %t14542 = load ptr, ptr %t14531 + %t14543 = call ptr @realloc(ptr %t14542, i64 %t14541) + store ptr %t14543, ptr %t14531 + store i32 %t14537, ptr %t14530 + br label %put2908 +put2908: + %t14544 = load ptr, ptr %t14531 + %t14545 = getelementptr inbounds ptr, ptr %t14544, i32 %t14532 + store ptr @.str7999, ptr %t14545 + %t14546 = add i32 %t14532, 1 + store i32 %t14546, ptr %t14529 + %t14547 = load ptr, ptr %t387 + %t14548 = getelementptr inbounds %LSlice, ptr %t14547, i32 0, i32 1 + %t14549 = getelementptr inbounds %LSlice, ptr %t14547, i32 0, i32 2 + %t14550 = getelementptr inbounds %LSlice, ptr %t14547, i32 0, i32 0 + %t14551 = load i32, ptr %t14548 + %t14552 = load i32, ptr %t14549 + %t14553 = icmp sge i32 %t14551, %t14552 + br i1 %t14553, label %grow2909, label %put2910 +grow2909: + %t14554 = mul i32 %t14552, 2 + %t14555 = icmp eq i32 %t14552, 0 + %t14556 = select i1 %t14555, i32 8, i32 %t14554 + %t14557 = getelementptr ptr, ptr null, i32 1 + %t14558 = ptrtoint ptr %t14557 to i64 + %t14559 = zext i32 %t14556 to i64 + %t14560 = mul i64 %t14559, %t14558 + %t14561 = load ptr, ptr %t14550 + %t14562 = call ptr @realloc(ptr %t14561, i64 %t14560) + store ptr %t14562, ptr %t14550 + store i32 %t14556, ptr %t14549 + br label %put2910 +put2910: + %t14563 = load ptr, ptr %t14550 + %t14564 = getelementptr inbounds ptr, ptr %t14563, i32 %t14551 + store ptr @.str8000, ptr %t14564 + %t14565 = add i32 %t14551, 1 + store i32 %t14565, ptr %t14548 + %t14566 = load ptr, ptr %t387 + %t14567 = getelementptr inbounds %LSlice, ptr %t14566, i32 0, i32 1 + %t14568 = getelementptr inbounds %LSlice, ptr %t14566, i32 0, i32 2 + %t14569 = getelementptr inbounds %LSlice, ptr %t14566, i32 0, i32 0 + %t14570 = load i32, ptr %t14567 + %t14571 = load i32, ptr %t14568 + %t14572 = icmp sge i32 %t14570, %t14571 + br i1 %t14572, label %grow2911, label %put2912 +grow2911: + %t14573 = mul i32 %t14571, 2 + %t14574 = icmp eq i32 %t14571, 0 + %t14575 = select i1 %t14574, i32 8, i32 %t14573 + %t14576 = getelementptr ptr, ptr null, i32 1 + %t14577 = ptrtoint ptr %t14576 to i64 + %t14578 = zext i32 %t14575 to i64 + %t14579 = mul i64 %t14578, %t14577 + %t14580 = load ptr, ptr %t14569 + %t14581 = call ptr @realloc(ptr %t14580, i64 %t14579) + store ptr %t14581, ptr %t14569 + store i32 %t14575, ptr %t14568 + br label %put2912 +put2912: + %t14582 = load ptr, ptr %t14569 + %t14583 = getelementptr inbounds ptr, ptr %t14582, i32 %t14570 + store ptr @.str8001, ptr %t14583 + %t14584 = add i32 %t14570, 1 + store i32 %t14584, ptr %t14567 + br label %ifend2906 +ifend2906: + %t14585 = load ptr, ptr %t1 + %t14586 = call i32 @fn_str_eq(ptr %t14585, ptr @.str8002) + %t14587 = icmp ne i32 %t14586, 0 + br i1 %t14587, label %then2913, label %ifend2915 +then2913: + store ptr @.str8003, ptr %t380 + %t14588 = load ptr, ptr %t387 + %t14589 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 1 + %t14590 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 2 + %t14591 = getelementptr inbounds %LSlice, ptr %t14588, i32 0, i32 0 + %t14592 = load i32, ptr %t14589 + %t14593 = load i32, ptr %t14590 + %t14594 = icmp sge i32 %t14592, %t14593 + br i1 %t14594, label %grow2916, label %put2917 +grow2916: + %t14595 = mul i32 %t14593, 2 + %t14596 = icmp eq i32 %t14593, 0 + %t14597 = select i1 %t14596, i32 8, i32 %t14595 + %t14598 = getelementptr ptr, ptr null, i32 1 + %t14599 = ptrtoint ptr %t14598 to i64 + %t14600 = zext i32 %t14597 to i64 + %t14601 = mul i64 %t14600, %t14599 + %t14602 = load ptr, ptr %t14591 + %t14603 = call ptr @realloc(ptr %t14602, i64 %t14601) + store ptr %t14603, ptr %t14591 + store i32 %t14597, ptr %t14590 + br label %put2917 +put2917: + %t14604 = load ptr, ptr %t14591 + %t14605 = getelementptr inbounds ptr, ptr %t14604, i32 %t14592 + store ptr @.str8004, ptr %t14605 + %t14606 = add i32 %t14592, 1 + store i32 %t14606, ptr %t14589 + %t14607 = load ptr, ptr %t387 + %t14608 = getelementptr inbounds %LSlice, ptr %t14607, i32 0, i32 1 + %t14609 = getelementptr inbounds %LSlice, ptr %t14607, i32 0, i32 2 + %t14610 = getelementptr inbounds %LSlice, ptr %t14607, i32 0, i32 0 + %t14611 = load i32, ptr %t14608 + %t14612 = load i32, ptr %t14609 + %t14613 = icmp sge i32 %t14611, %t14612 + br i1 %t14613, label %grow2918, label %put2919 +grow2918: + %t14614 = mul i32 %t14612, 2 + %t14615 = icmp eq i32 %t14612, 0 + %t14616 = select i1 %t14615, i32 8, i32 %t14614 + %t14617 = getelementptr ptr, ptr null, i32 1 + %t14618 = ptrtoint ptr %t14617 to i64 + %t14619 = zext i32 %t14616 to i64 + %t14620 = mul i64 %t14619, %t14618 + %t14621 = load ptr, ptr %t14610 + %t14622 = call ptr @realloc(ptr %t14621, i64 %t14620) + store ptr %t14622, ptr %t14610 + store i32 %t14616, ptr %t14609 + br label %put2919 +put2919: + %t14623 = load ptr, ptr %t14610 + %t14624 = getelementptr inbounds ptr, ptr %t14623, i32 %t14611 + store ptr @.str8005, ptr %t14624 + %t14625 = add i32 %t14611, 1 + store i32 %t14625, ptr %t14608 + %t14626 = load ptr, ptr %t387 + %t14627 = getelementptr inbounds %LSlice, ptr %t14626, i32 0, i32 1 + %t14628 = getelementptr inbounds %LSlice, ptr %t14626, i32 0, i32 2 + %t14629 = getelementptr inbounds %LSlice, ptr %t14626, i32 0, i32 0 + %t14630 = load i32, ptr %t14627 + %t14631 = load i32, ptr %t14628 + %t14632 = icmp sge i32 %t14630, %t14631 + br i1 %t14632, label %grow2920, label %put2921 +grow2920: + %t14633 = mul i32 %t14631, 2 + %t14634 = icmp eq i32 %t14631, 0 + %t14635 = select i1 %t14634, i32 8, i32 %t14633 + %t14636 = getelementptr ptr, ptr null, i32 1 + %t14637 = ptrtoint ptr %t14636 to i64 + %t14638 = zext i32 %t14635 to i64 + %t14639 = mul i64 %t14638, %t14637 + %t14640 = load ptr, ptr %t14629 + %t14641 = call ptr @realloc(ptr %t14640, i64 %t14639) + store ptr %t14641, ptr %t14629 + store i32 %t14635, ptr %t14628 + br label %put2921 +put2921: + %t14642 = load ptr, ptr %t14629 + %t14643 = getelementptr inbounds ptr, ptr %t14642, i32 %t14630 + store ptr @.str8006, ptr %t14643 + %t14644 = add i32 %t14630, 1 + store i32 %t14644, ptr %t14627 + br label %ifend2915 +ifend2915: + %t14645 = load ptr, ptr %t1 + %t14646 = call i32 @fn_str_eq(ptr %t14645, ptr @.str8007) + %t14647 = icmp ne i32 %t14646, 0 + br i1 %t14647, label %then2922, label %ifend2924 +then2922: + store ptr @.str8008, ptr %t380 + %t14648 = load ptr, ptr %t387 + %t14649 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 1 + %t14650 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 2 + %t14651 = getelementptr inbounds %LSlice, ptr %t14648, i32 0, i32 0 + %t14652 = load i32, ptr %t14649 + %t14653 = load i32, ptr %t14650 + %t14654 = icmp sge i32 %t14652, %t14653 + br i1 %t14654, label %grow2925, label %put2926 +grow2925: + %t14655 = mul i32 %t14653, 2 + %t14656 = icmp eq i32 %t14653, 0 + %t14657 = select i1 %t14656, i32 8, i32 %t14655 + %t14658 = getelementptr ptr, ptr null, i32 1 + %t14659 = ptrtoint ptr %t14658 to i64 + %t14660 = zext i32 %t14657 to i64 + %t14661 = mul i64 %t14660, %t14659 + %t14662 = load ptr, ptr %t14651 + %t14663 = call ptr @realloc(ptr %t14662, i64 %t14661) + store ptr %t14663, ptr %t14651 + store i32 %t14657, ptr %t14650 + br label %put2926 +put2926: + %t14664 = load ptr, ptr %t14651 + %t14665 = getelementptr inbounds ptr, ptr %t14664, i32 %t14652 + store ptr @.str8009, ptr %t14665 + %t14666 = add i32 %t14652, 1 + store i32 %t14666, ptr %t14649 + %t14667 = load ptr, ptr %t387 + %t14668 = getelementptr inbounds %LSlice, ptr %t14667, i32 0, i32 1 + %t14669 = getelementptr inbounds %LSlice, ptr %t14667, i32 0, i32 2 + %t14670 = getelementptr inbounds %LSlice, ptr %t14667, i32 0, i32 0 + %t14671 = load i32, ptr %t14668 + %t14672 = load i32, ptr %t14669 + %t14673 = icmp sge i32 %t14671, %t14672 + br i1 %t14673, label %grow2927, label %put2928 +grow2927: + %t14674 = mul i32 %t14672, 2 + %t14675 = icmp eq i32 %t14672, 0 + %t14676 = select i1 %t14675, i32 8, i32 %t14674 + %t14677 = getelementptr ptr, ptr null, i32 1 + %t14678 = ptrtoint ptr %t14677 to i64 + %t14679 = zext i32 %t14676 to i64 + %t14680 = mul i64 %t14679, %t14678 + %t14681 = load ptr, ptr %t14670 + %t14682 = call ptr @realloc(ptr %t14681, i64 %t14680) + store ptr %t14682, ptr %t14670 + store i32 %t14676, ptr %t14669 + br label %put2928 +put2928: + %t14683 = load ptr, ptr %t14670 + %t14684 = getelementptr inbounds ptr, ptr %t14683, i32 %t14671 + store ptr @.str8010, ptr %t14684 + %t14685 = add i32 %t14671, 1 + store i32 %t14685, ptr %t14668 + %t14686 = load ptr, ptr %t387 + %t14687 = getelementptr inbounds %LSlice, ptr %t14686, i32 0, i32 1 + %t14688 = getelementptr inbounds %LSlice, ptr %t14686, i32 0, i32 2 + %t14689 = getelementptr inbounds %LSlice, ptr %t14686, i32 0, i32 0 + %t14690 = load i32, ptr %t14687 + %t14691 = load i32, ptr %t14688 + %t14692 = icmp sge i32 %t14690, %t14691 + br i1 %t14692, label %grow2929, label %put2930 +grow2929: + %t14693 = mul i32 %t14691, 2 + %t14694 = icmp eq i32 %t14691, 0 + %t14695 = select i1 %t14694, i32 8, i32 %t14693 + %t14696 = getelementptr ptr, ptr null, i32 1 + %t14697 = ptrtoint ptr %t14696 to i64 + %t14698 = zext i32 %t14695 to i64 + %t14699 = mul i64 %t14698, %t14697 + %t14700 = load ptr, ptr %t14689 + %t14701 = call ptr @realloc(ptr %t14700, i64 %t14699) + store ptr %t14701, ptr %t14689 + store i32 %t14695, ptr %t14688 + br label %put2930 +put2930: + %t14702 = load ptr, ptr %t14689 + %t14703 = getelementptr inbounds ptr, ptr %t14702, i32 %t14690 + store ptr @.str8011, ptr %t14703 + %t14704 = add i32 %t14690, 1 + store i32 %t14704, ptr %t14687 + br label %ifend2924 +ifend2924: + %t14705 = load ptr, ptr %t1 + %t14706 = call i32 @fn_str_eq(ptr %t14705, ptr @.str8012) + %t14707 = icmp ne i32 %t14706, 0 + br i1 %t14707, label %then2931, label %ifend2933 +then2931: + store ptr @.str8013, ptr %t380 + %t14708 = load ptr, ptr %t387 + %t14709 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 1 + %t14710 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 2 + %t14711 = getelementptr inbounds %LSlice, ptr %t14708, i32 0, i32 0 + %t14712 = load i32, ptr %t14709 + %t14713 = load i32, ptr %t14710 + %t14714 = icmp sge i32 %t14712, %t14713 + br i1 %t14714, label %grow2934, label %put2935 +grow2934: + %t14715 = mul i32 %t14713, 2 + %t14716 = icmp eq i32 %t14713, 0 + %t14717 = select i1 %t14716, i32 8, i32 %t14715 + %t14718 = getelementptr ptr, ptr null, i32 1 + %t14719 = ptrtoint ptr %t14718 to i64 + %t14720 = zext i32 %t14717 to i64 + %t14721 = mul i64 %t14720, %t14719 + %t14722 = load ptr, ptr %t14711 + %t14723 = call ptr @realloc(ptr %t14722, i64 %t14721) + store ptr %t14723, ptr %t14711 + store i32 %t14717, ptr %t14710 + br label %put2935 +put2935: + %t14724 = load ptr, ptr %t14711 + %t14725 = getelementptr inbounds ptr, ptr %t14724, i32 %t14712 + store ptr @.str8014, ptr %t14725 + %t14726 = add i32 %t14712, 1 + store i32 %t14726, ptr %t14709 + %t14727 = load ptr, ptr %t387 + %t14728 = getelementptr inbounds %LSlice, ptr %t14727, i32 0, i32 1 + %t14729 = getelementptr inbounds %LSlice, ptr %t14727, i32 0, i32 2 + %t14730 = getelementptr inbounds %LSlice, ptr %t14727, i32 0, i32 0 + %t14731 = load i32, ptr %t14728 + %t14732 = load i32, ptr %t14729 + %t14733 = icmp sge i32 %t14731, %t14732 + br i1 %t14733, label %grow2936, label %put2937 +grow2936: + %t14734 = mul i32 %t14732, 2 + %t14735 = icmp eq i32 %t14732, 0 + %t14736 = select i1 %t14735, i32 8, i32 %t14734 + %t14737 = getelementptr ptr, ptr null, i32 1 + %t14738 = ptrtoint ptr %t14737 to i64 + %t14739 = zext i32 %t14736 to i64 + %t14740 = mul i64 %t14739, %t14738 + %t14741 = load ptr, ptr %t14730 + %t14742 = call ptr @realloc(ptr %t14741, i64 %t14740) + store ptr %t14742, ptr %t14730 + store i32 %t14736, ptr %t14729 + br label %put2937 +put2937: + %t14743 = load ptr, ptr %t14730 + %t14744 = getelementptr inbounds ptr, ptr %t14743, i32 %t14731 + store ptr @.str8015, ptr %t14744 + %t14745 = add i32 %t14731, 1 + store i32 %t14745, ptr %t14728 + br label %ifend2933 +ifend2933: + %t14746 = load ptr, ptr %t1 + %t14747 = call i32 @fn_str_eq(ptr %t14746, ptr @.str8016) + %t14748 = icmp ne i32 %t14747, 0 + br i1 %t14748, label %then2938, label %ifend2940 +then2938: + store ptr @.str8017, ptr %t380 + %t14749 = load ptr, ptr %t387 + %t14750 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 1 + %t14751 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 2 + %t14752 = getelementptr inbounds %LSlice, ptr %t14749, i32 0, i32 0 + %t14753 = load i32, ptr %t14750 + %t14754 = load i32, ptr %t14751 + %t14755 = icmp sge i32 %t14753, %t14754 + br i1 %t14755, label %grow2941, label %put2942 +grow2941: + %t14756 = mul i32 %t14754, 2 + %t14757 = icmp eq i32 %t14754, 0 + %t14758 = select i1 %t14757, i32 8, i32 %t14756 + %t14759 = getelementptr ptr, ptr null, i32 1 + %t14760 = ptrtoint ptr %t14759 to i64 + %t14761 = zext i32 %t14758 to i64 + %t14762 = mul i64 %t14761, %t14760 + %t14763 = load ptr, ptr %t14752 + %t14764 = call ptr @realloc(ptr %t14763, i64 %t14762) + store ptr %t14764, ptr %t14752 + store i32 %t14758, ptr %t14751 + br label %put2942 +put2942: + %t14765 = load ptr, ptr %t14752 + %t14766 = getelementptr inbounds ptr, ptr %t14765, i32 %t14753 + store ptr @.str8018, ptr %t14766 + %t14767 = add i32 %t14753, 1 + store i32 %t14767, ptr %t14750 + %t14768 = load ptr, ptr %t387 + %t14769 = getelementptr inbounds %LSlice, ptr %t14768, i32 0, i32 1 + %t14770 = getelementptr inbounds %LSlice, ptr %t14768, i32 0, i32 2 + %t14771 = getelementptr inbounds %LSlice, ptr %t14768, i32 0, i32 0 + %t14772 = load i32, ptr %t14769 + %t14773 = load i32, ptr %t14770 + %t14774 = icmp sge i32 %t14772, %t14773 + br i1 %t14774, label %grow2943, label %put2944 +grow2943: + %t14775 = mul i32 %t14773, 2 + %t14776 = icmp eq i32 %t14773, 0 + %t14777 = select i1 %t14776, i32 8, i32 %t14775 + %t14778 = getelementptr ptr, ptr null, i32 1 + %t14779 = ptrtoint ptr %t14778 to i64 + %t14780 = zext i32 %t14777 to i64 + %t14781 = mul i64 %t14780, %t14779 + %t14782 = load ptr, ptr %t14771 + %t14783 = call ptr @realloc(ptr %t14782, i64 %t14781) + store ptr %t14783, ptr %t14771 + store i32 %t14777, ptr %t14770 + br label %put2944 +put2944: + %t14784 = load ptr, ptr %t14771 + %t14785 = getelementptr inbounds ptr, ptr %t14784, i32 %t14772 + store ptr @.str8019, ptr %t14785 + %t14786 = add i32 %t14772, 1 + store i32 %t14786, ptr %t14769 + br label %ifend2940 +ifend2940: + %t14787 = load ptr, ptr %t1 + %t14788 = call i32 @fn_str_eq(ptr %t14787, ptr @.str8020) + %t14789 = icmp ne i32 %t14788, 0 + br i1 %t14789, label %then2945, label %ifend2947 +then2945: + store ptr @.str8021, ptr %t380 + %t14790 = load ptr, ptr %t387 + %t14791 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 1 + %t14792 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 2 + %t14793 = getelementptr inbounds %LSlice, ptr %t14790, i32 0, i32 0 + %t14794 = load i32, ptr %t14791 + %t14795 = load i32, ptr %t14792 + %t14796 = icmp sge i32 %t14794, %t14795 + br i1 %t14796, label %grow2948, label %put2949 +grow2948: + %t14797 = mul i32 %t14795, 2 + %t14798 = icmp eq i32 %t14795, 0 + %t14799 = select i1 %t14798, i32 8, i32 %t14797 + %t14800 = getelementptr ptr, ptr null, i32 1 + %t14801 = ptrtoint ptr %t14800 to i64 + %t14802 = zext i32 %t14799 to i64 + %t14803 = mul i64 %t14802, %t14801 + %t14804 = load ptr, ptr %t14793 + %t14805 = call ptr @realloc(ptr %t14804, i64 %t14803) + store ptr %t14805, ptr %t14793 + store i32 %t14799, ptr %t14792 + br label %put2949 +put2949: + %t14806 = load ptr, ptr %t14793 + %t14807 = getelementptr inbounds ptr, ptr %t14806, i32 %t14794 + store ptr @.str8022, ptr %t14807 + %t14808 = add i32 %t14794, 1 + store i32 %t14808, ptr %t14791 + %t14809 = load ptr, ptr %t387 + %t14810 = getelementptr inbounds %LSlice, ptr %t14809, i32 0, i32 1 + %t14811 = getelementptr inbounds %LSlice, ptr %t14809, i32 0, i32 2 + %t14812 = getelementptr inbounds %LSlice, ptr %t14809, i32 0, i32 0 + %t14813 = load i32, ptr %t14810 + %t14814 = load i32, ptr %t14811 + %t14815 = icmp sge i32 %t14813, %t14814 + br i1 %t14815, label %grow2950, label %put2951 +grow2950: + %t14816 = mul i32 %t14814, 2 + %t14817 = icmp eq i32 %t14814, 0 + %t14818 = select i1 %t14817, i32 8, i32 %t14816 + %t14819 = getelementptr ptr, ptr null, i32 1 + %t14820 = ptrtoint ptr %t14819 to i64 + %t14821 = zext i32 %t14818 to i64 + %t14822 = mul i64 %t14821, %t14820 + %t14823 = load ptr, ptr %t14812 + %t14824 = call ptr @realloc(ptr %t14823, i64 %t14822) + store ptr %t14824, ptr %t14812 + store i32 %t14818, ptr %t14811 + br label %put2951 +put2951: + %t14825 = load ptr, ptr %t14812 + %t14826 = getelementptr inbounds ptr, ptr %t14825, i32 %t14813 + store ptr @.str8023, ptr %t14826 + %t14827 = add i32 %t14813, 1 + store i32 %t14827, ptr %t14810 + br label %ifend2947 +ifend2947: + %t14828 = load ptr, ptr %t1 + %t14829 = call i32 @fn_str_eq(ptr %t14828, ptr @.str8024) + %t14830 = icmp ne i32 %t14829, 0 + br i1 %t14830, label %then2952, label %ifend2954 +then2952: + store ptr @.str8025, ptr %t380 + %t14831 = load ptr, ptr %t387 + %t14832 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 1 + %t14833 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 2 + %t14834 = getelementptr inbounds %LSlice, ptr %t14831, i32 0, i32 0 + %t14835 = load i32, ptr %t14832 + %t14836 = load i32, ptr %t14833 + %t14837 = icmp sge i32 %t14835, %t14836 + br i1 %t14837, label %grow2955, label %put2956 +grow2955: + %t14838 = mul i32 %t14836, 2 + %t14839 = icmp eq i32 %t14836, 0 + %t14840 = select i1 %t14839, i32 8, i32 %t14838 + %t14841 = getelementptr ptr, ptr null, i32 1 + %t14842 = ptrtoint ptr %t14841 to i64 + %t14843 = zext i32 %t14840 to i64 + %t14844 = mul i64 %t14843, %t14842 + %t14845 = load ptr, ptr %t14834 + %t14846 = call ptr @realloc(ptr %t14845, i64 %t14844) + store ptr %t14846, ptr %t14834 + store i32 %t14840, ptr %t14833 + br label %put2956 +put2956: + %t14847 = load ptr, ptr %t14834 + %t14848 = getelementptr inbounds ptr, ptr %t14847, i32 %t14835 + store ptr @.str8026, ptr %t14848 + %t14849 = add i32 %t14835, 1 + store i32 %t14849, ptr %t14832 + %t14850 = load ptr, ptr %t387 + %t14851 = getelementptr inbounds %LSlice, ptr %t14850, i32 0, i32 1 + %t14852 = getelementptr inbounds %LSlice, ptr %t14850, i32 0, i32 2 + %t14853 = getelementptr inbounds %LSlice, ptr %t14850, i32 0, i32 0 + %t14854 = load i32, ptr %t14851 + %t14855 = load i32, ptr %t14852 + %t14856 = icmp sge i32 %t14854, %t14855 + br i1 %t14856, label %grow2957, label %put2958 +grow2957: + %t14857 = mul i32 %t14855, 2 + %t14858 = icmp eq i32 %t14855, 0 + %t14859 = select i1 %t14858, i32 8, i32 %t14857 + %t14860 = getelementptr ptr, ptr null, i32 1 + %t14861 = ptrtoint ptr %t14860 to i64 + %t14862 = zext i32 %t14859 to i64 + %t14863 = mul i64 %t14862, %t14861 + %t14864 = load ptr, ptr %t14853 + %t14865 = call ptr @realloc(ptr %t14864, i64 %t14863) + store ptr %t14865, ptr %t14853 + store i32 %t14859, ptr %t14852 + br label %put2958 +put2958: + %t14866 = load ptr, ptr %t14853 + %t14867 = getelementptr inbounds ptr, ptr %t14866, i32 %t14854 + store ptr @.str8027, ptr %t14867 + %t14868 = add i32 %t14854, 1 + store i32 %t14868, ptr %t14851 + br label %ifend2954 +ifend2954: + %t14869 = load ptr, ptr %t1 + %t14870 = call i32 @fn_str_eq(ptr %t14869, ptr @.str8028) + %t14871 = icmp ne i32 %t14870, 0 + br i1 %t14871, label %then2959, label %ifend2961 +then2959: + store ptr @.str8029, ptr %t380 + %t14872 = load ptr, ptr %t387 + %t14873 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 1 + %t14874 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 2 + %t14875 = getelementptr inbounds %LSlice, ptr %t14872, i32 0, i32 0 + %t14876 = load i32, ptr %t14873 + %t14877 = load i32, ptr %t14874 + %t14878 = icmp sge i32 %t14876, %t14877 + br i1 %t14878, label %grow2962, label %put2963 +grow2962: + %t14879 = mul i32 %t14877, 2 + %t14880 = icmp eq i32 %t14877, 0 + %t14881 = select i1 %t14880, i32 8, i32 %t14879 + %t14882 = getelementptr ptr, ptr null, i32 1 + %t14883 = ptrtoint ptr %t14882 to i64 + %t14884 = zext i32 %t14881 to i64 + %t14885 = mul i64 %t14884, %t14883 + %t14886 = load ptr, ptr %t14875 + %t14887 = call ptr @realloc(ptr %t14886, i64 %t14885) + store ptr %t14887, ptr %t14875 + store i32 %t14881, ptr %t14874 + br label %put2963 +put2963: + %t14888 = load ptr, ptr %t14875 + %t14889 = getelementptr inbounds ptr, ptr %t14888, i32 %t14876 + store ptr @.str8030, ptr %t14889 + %t14890 = add i32 %t14876, 1 + store i32 %t14890, ptr %t14873 + %t14891 = load ptr, ptr %t387 + %t14892 = getelementptr inbounds %LSlice, ptr %t14891, i32 0, i32 1 + %t14893 = getelementptr inbounds %LSlice, ptr %t14891, i32 0, i32 2 + %t14894 = getelementptr inbounds %LSlice, ptr %t14891, i32 0, i32 0 + %t14895 = load i32, ptr %t14892 + %t14896 = load i32, ptr %t14893 + %t14897 = icmp sge i32 %t14895, %t14896 + br i1 %t14897, label %grow2964, label %put2965 +grow2964: + %t14898 = mul i32 %t14896, 2 + %t14899 = icmp eq i32 %t14896, 0 + %t14900 = select i1 %t14899, i32 8, i32 %t14898 + %t14901 = getelementptr ptr, ptr null, i32 1 + %t14902 = ptrtoint ptr %t14901 to i64 + %t14903 = zext i32 %t14900 to i64 + %t14904 = mul i64 %t14903, %t14902 + %t14905 = load ptr, ptr %t14894 + %t14906 = call ptr @realloc(ptr %t14905, i64 %t14904) + store ptr %t14906, ptr %t14894 + store i32 %t14900, ptr %t14893 + br label %put2965 +put2965: + %t14907 = load ptr, ptr %t14894 + %t14908 = getelementptr inbounds ptr, ptr %t14907, i32 %t14895 + store ptr @.str8031, ptr %t14908 + %t14909 = add i32 %t14895, 1 + store i32 %t14909, ptr %t14892 + br label %ifend2961 +ifend2961: + %t14910 = load ptr, ptr %t1 + %t14911 = call i32 @fn_str_eq(ptr %t14910, ptr @.str8032) + %t14912 = icmp ne i32 %t14911, 0 + br i1 %t14912, label %then2966, label %ifend2968 +then2966: + store ptr @.str8033, ptr %t380 + %t14913 = load ptr, ptr %t387 + %t14914 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 1 + %t14915 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 2 + %t14916 = getelementptr inbounds %LSlice, ptr %t14913, i32 0, i32 0 + %t14917 = load i32, ptr %t14914 + %t14918 = load i32, ptr %t14915 + %t14919 = icmp sge i32 %t14917, %t14918 + br i1 %t14919, label %grow2969, label %put2970 +grow2969: + %t14920 = mul i32 %t14918, 2 + %t14921 = icmp eq i32 %t14918, 0 + %t14922 = select i1 %t14921, i32 8, i32 %t14920 + %t14923 = getelementptr ptr, ptr null, i32 1 + %t14924 = ptrtoint ptr %t14923 to i64 + %t14925 = zext i32 %t14922 to i64 + %t14926 = mul i64 %t14925, %t14924 + %t14927 = load ptr, ptr %t14916 + %t14928 = call ptr @realloc(ptr %t14927, i64 %t14926) + store ptr %t14928, ptr %t14916 + store i32 %t14922, ptr %t14915 + br label %put2970 +put2970: + %t14929 = load ptr, ptr %t14916 + %t14930 = getelementptr inbounds ptr, ptr %t14929, i32 %t14917 + store ptr @.str8034, ptr %t14930 + %t14931 = add i32 %t14917, 1 + store i32 %t14931, ptr %t14914 + br label %ifend2968 +ifend2968: + %t14932 = load ptr, ptr %t1 + %t14933 = call i32 @fn_str_eq(ptr %t14932, ptr @.str8035) + %t14934 = icmp ne i32 %t14933, 0 + br i1 %t14934, label %then2971, label %ifend2973 +then2971: + store ptr @.str8036, ptr %t380 + %t14935 = load ptr, ptr %t387 + %t14936 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 1 + %t14937 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 2 + %t14938 = getelementptr inbounds %LSlice, ptr %t14935, i32 0, i32 0 + %t14939 = load i32, ptr %t14936 + %t14940 = load i32, ptr %t14937 + %t14941 = icmp sge i32 %t14939, %t14940 + br i1 %t14941, label %grow2974, label %put2975 +grow2974: + %t14942 = mul i32 %t14940, 2 + %t14943 = icmp eq i32 %t14940, 0 + %t14944 = select i1 %t14943, i32 8, i32 %t14942 + %t14945 = getelementptr ptr, ptr null, i32 1 + %t14946 = ptrtoint ptr %t14945 to i64 + %t14947 = zext i32 %t14944 to i64 + %t14948 = mul i64 %t14947, %t14946 + %t14949 = load ptr, ptr %t14938 + %t14950 = call ptr @realloc(ptr %t14949, i64 %t14948) + store ptr %t14950, ptr %t14938 + store i32 %t14944, ptr %t14937 + br label %put2975 +put2975: + %t14951 = load ptr, ptr %t14938 + %t14952 = getelementptr inbounds ptr, ptr %t14951, i32 %t14939 + store ptr @.str8037, ptr %t14952 + %t14953 = add i32 %t14939, 1 + store i32 %t14953, ptr %t14936 + br label %ifend2973 +ifend2973: + %t14954 = load ptr, ptr %t1 + %t14955 = call i32 @fn_str_eq(ptr %t14954, ptr @.str8038) + %t14956 = icmp ne i32 %t14955, 0 + br i1 %t14956, label %then2976, label %ifend2978 +then2976: + store ptr @.str8039, ptr %t380 + %t14957 = load ptr, ptr %t387 + %t14958 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 1 + %t14959 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 2 + %t14960 = getelementptr inbounds %LSlice, ptr %t14957, i32 0, i32 0 + %t14961 = load i32, ptr %t14958 + %t14962 = load i32, ptr %t14959 + %t14963 = icmp sge i32 %t14961, %t14962 + br i1 %t14963, label %grow2979, label %put2980 +grow2979: + %t14964 = mul i32 %t14962, 2 + %t14965 = icmp eq i32 %t14962, 0 + %t14966 = select i1 %t14965, i32 8, i32 %t14964 + %t14967 = getelementptr ptr, ptr null, i32 1 + %t14968 = ptrtoint ptr %t14967 to i64 + %t14969 = zext i32 %t14966 to i64 + %t14970 = mul i64 %t14969, %t14968 + %t14971 = load ptr, ptr %t14960 + %t14972 = call ptr @realloc(ptr %t14971, i64 %t14970) + store ptr %t14972, ptr %t14960 + store i32 %t14966, ptr %t14959 + br label %put2980 +put2980: + %t14973 = load ptr, ptr %t14960 + %t14974 = getelementptr inbounds ptr, ptr %t14973, i32 %t14961 + store ptr @.str8040, ptr %t14974 + %t14975 = add i32 %t14961, 1 + store i32 %t14975, ptr %t14958 + %t14976 = load ptr, ptr %t387 + %t14977 = getelementptr inbounds %LSlice, ptr %t14976, i32 0, i32 1 + %t14978 = getelementptr inbounds %LSlice, ptr %t14976, i32 0, i32 2 + %t14979 = getelementptr inbounds %LSlice, ptr %t14976, i32 0, i32 0 + %t14980 = load i32, ptr %t14977 + %t14981 = load i32, ptr %t14978 + %t14982 = icmp sge i32 %t14980, %t14981 + br i1 %t14982, label %grow2981, label %put2982 +grow2981: + %t14983 = mul i32 %t14981, 2 + %t14984 = icmp eq i32 %t14981, 0 + %t14985 = select i1 %t14984, i32 8, i32 %t14983 + %t14986 = getelementptr ptr, ptr null, i32 1 + %t14987 = ptrtoint ptr %t14986 to i64 + %t14988 = zext i32 %t14985 to i64 + %t14989 = mul i64 %t14988, %t14987 + %t14990 = load ptr, ptr %t14979 + %t14991 = call ptr @realloc(ptr %t14990, i64 %t14989) + store ptr %t14991, ptr %t14979 + store i32 %t14985, ptr %t14978 + br label %put2982 +put2982: + %t14992 = load ptr, ptr %t14979 + %t14993 = getelementptr inbounds ptr, ptr %t14992, i32 %t14980 + store ptr @.str8041, ptr %t14993 + %t14994 = add i32 %t14980, 1 + store i32 %t14994, ptr %t14977 + br label %ifend2978 +ifend2978: + br label %ifend2709 +ifend2709: + %t14996 = load ptr, ptr %t380 + %t14997 = icmp eq ptr %t14996, null + %t14998 = zext i1 %t14997 to i32 + %t14999 = icmp ne i32 %t14998, 0 + %t15000 = zext i1 %t14999 to i32 + store i32 %t15000, ptr %t14995 + br i1 %t14999, label %sc2983, label %scend2984 +sc2983: + %t15001 = load ptr, ptr %t0 + %t15002 = call i32 @fn_is_registered_namespace(ptr %t15001) + %t15003 = icmp ne i32 %t15002, 0 + %t15004 = zext i1 %t15003 to i32 + store i32 %t15004, ptr %t14995 + br label %scend2984 +scend2984: + %t15005 = load i32, ptr %t14995 + %t15006 = icmp ne i32 %t15005, 0 + br i1 %t15006, label %then2985, label %ifend2987 +then2985: + %t15007 = load ptr, ptr %t0 + %t15008 = call ptr @fn_ns_lower(ptr %t15007) + %t15009 = call ptr @fn_str_concat(ptr %t15008, ptr @.str8042) + %t15010 = load ptr, ptr %t1 + %t15011 = call ptr @fn_str_concat(ptr %t15009, ptr %t15010) + store ptr %t15011, ptr %t380 + %t15013 = load ptr, ptr %t0 + %t15014 = call i32 @fn_is_ns_block(ptr %t15013) + %t15015 = icmp ne i32 %t15014, 0 + %t15016 = zext i1 %t15015 to i32 + store i32 %t15016, ptr %t15012 + br i1 %t15015, label %sc2988, label %scend2989 +sc2988: + %t15017 = load ptr, ptr %t380 + %t15018 = call i32 @fn_ns_export_has(ptr %t15017) + %t15019 = icmp eq i32 %t15018, 0 + %t15020 = zext i1 %t15019 to i32 + %t15021 = icmp ne i32 %t15020, 0 + %t15022 = zext i1 %t15021 to i32 + store i32 %t15022, ptr %t15012 + br label %scend2989 +scend2989: + %t15023 = load i32, ptr %t15012 + %t15024 = icmp ne i32 %t15023, 0 + br i1 %t15024, label %then2990, label %ifend2992 +then2990: + %t15025 = load ptr, ptr %t0 + %t15026 = call ptr @fn_str_concat(ptr %t15025, ptr @.str8043) + %t15027 = load ptr, ptr %t1 + %t15028 = call ptr @fn_str_concat(ptr %t15026, ptr %t15027) + %t15029 = call ptr @fn_str_concat(ptr %t15028, ptr @.str8044) + %t15030 = load ptr, ptr %t0 + %t15031 = call ptr @fn_str_concat(ptr %t15029, ptr %t15030) + call void @fn_perr(ptr %t15031) + br label %ifend2992 +ifend2992: + %t15032 = load ptr, ptr %t380 + %t15033 = call ptr @fn_find_fn(ptr %t15032) + store ptr %t15033, ptr %t15034 + %t15035 = load ptr, ptr %t15034 + %t15036 = icmp ne ptr %t15035, null + %t15037 = zext i1 %t15036 to i32 + %t15038 = icmp ne i32 %t15037, 0 + br i1 %t15038, label %then2993, label %ifend2995 +then2993: + %t15039 = load ptr, ptr %t15034 + %t15040 = call ptr @fn_param_labels(ptr %t15039) + store ptr %t15040, ptr %t15041 + store i32 0, ptr %t15042 + br label %wcond2996 +wcond2996: + %t15043 = load i32, ptr %t15042 + %t15044 = load ptr, ptr %t15041 + %t15045 = getelementptr inbounds %LSlice, ptr %t15044, i32 0, i32 1 + %t15046 = load i32, ptr %t15045 + %t15047 = icmp slt i32 %t15043, %t15046 + %t15048 = zext i1 %t15047 to i32 + %t15049 = icmp ne i32 %t15048, 0 + br i1 %t15049, label %wbody2997, label %wend2998 +wbody2997: + %t15050 = load ptr, ptr %t387 + %t15051 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 1 + %t15052 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 2 + %t15053 = getelementptr inbounds %LSlice, ptr %t15050, i32 0, i32 0 + %t15054 = load i32, ptr %t15051 + %t15055 = load i32, ptr %t15052 + %t15056 = icmp sge i32 %t15054, %t15055 + br i1 %t15056, label %grow2999, label %put3000 +grow2999: + %t15057 = mul i32 %t15055, 2 + %t15058 = icmp eq i32 %t15055, 0 + %t15059 = select i1 %t15058, i32 8, i32 %t15057 + %t15060 = getelementptr ptr, ptr null, i32 1 + %t15061 = ptrtoint ptr %t15060 to i64 + %t15062 = zext i32 %t15059 to i64 + %t15063 = mul i64 %t15062, %t15061 + %t15064 = load ptr, ptr %t15053 + %t15065 = call ptr @realloc(ptr %t15064, i64 %t15063) + store ptr %t15065, ptr %t15053 + store i32 %t15059, ptr %t15052 + br label %put3000 +put3000: + %t15066 = load ptr, ptr %t15041 + %t15067 = getelementptr inbounds %LSlice, ptr %t15066, i32 0, i32 0 + %t15068 = load ptr, ptr %t15067 + %t15069 = load i32, ptr %t15042 + %t15070 = getelementptr inbounds ptr, ptr %t15068, i32 %t15069 + %t15071 = load ptr, ptr %t15070 + %t15072 = load ptr, ptr %t15053 + %t15073 = getelementptr inbounds ptr, ptr %t15072, i32 %t15054 + store ptr %t15071, ptr %t15073 + %t15074 = add i32 %t15054, 1 + store i32 %t15074, ptr %t15051 + %t15075 = load i32, ptr %t15042 + %t15076 = add i32 %t15075, 1 + store i32 %t15076, ptr %t15042 + br label %wcond2996 +wend2998: + br label %ifend2995 +ifend2995: + br label %ifend2987 +ifend2987: + %t15077 = load ptr, ptr %t380 + %t15078 = icmp eq ptr %t15077, null + %t15079 = zext i1 %t15078 to i32 + %t15080 = icmp ne i32 %t15079, 0 + br i1 %t15080, label %then3001, label %ifend3003 +then3001: + %t15081 = load ptr, ptr %t0 + %t15082 = call ptr @fn_str_concat(ptr @.str8045, ptr %t15081) + %t15083 = call ptr @fn_str_concat(ptr %t15082, ptr @.str8046) + %t15084 = load ptr, ptr %t1 + %t15085 = call ptr @fn_str_concat(ptr %t15083, ptr %t15084) + call void @fn_perr(ptr %t15085) + br label %ifend3003 +ifend3003: + %t15086 = load ptr, ptr %t2 + %t15087 = load ptr, ptr %t387 + call void @fn_reorder_named(ptr %t15086, ptr %t15087) + %t15088 = call ptr @fn_node(i32 33) + store ptr %t15088, ptr %t15089 + %t15090 = load ptr, ptr %t15089 + %t15091 = getelementptr inbounds %Cmp_Node, ptr %t15090, i32 0, i32 1 + %t15092 = load ptr, ptr %t380 + store ptr %t15092, ptr %t15091 + %t15093 = load ptr, ptr %t2 + %t15094 = getelementptr inbounds %Cmp_Node, ptr %t15093, i32 0, i32 4 + %t15095 = load ptr, ptr %t15089 + store ptr %t15095, ptr %t15094 + %t15096 = load ptr, ptr %t2 + %t15097 = call ptr @fn_emit_call(ptr %t15096) + store ptr %t15097, ptr %retval br label %ret ret: - %t13020 = load ptr, ptr %retval - ret ptr %t13020 + %t15098 = load ptr, ptr %retval + ret ptr %t15098 } define ptr @fn_emit_variant_new(ptr %arg_en, i32 %arg_ord, ptr %arg_args) { @@ -76570,12 +86189,12 @@ then0: %t25 = load ptr, ptr %t11 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 - %t28 = call ptr @fn_str_concat(ptr @.str7529, ptr %t27) - %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str7530) + %t28 = call ptr @fn_str_concat(ptr @.str8047, ptr %t27) + %t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str8048) %t30 = load i32, ptr %t17 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @fn_str_concat(ptr %t29, ptr %t31) - %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str7531) + %t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str8049) %t34 = load ptr, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t36 = load i32, ptr %t35 @@ -76587,18 +86206,18 @@ ifend2: %t39 = load ptr, ptr %t0 %t40 = call i32 @fn_enum_box_size(ptr %t39) %t41 = call ptr @fn_itoa(i32 %t40) - %t42 = call ptr @fn_str_concat(ptr @.str7532, ptr %t41) - %t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str7533) + %t42 = call ptr @fn_str_concat(ptr @.str8050, ptr %t41) + %t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str8051) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 - call void @fn_emit(ptr @.str7534) + call void @fn_emit(ptr @.str8052) %t46 = load i32, ptr %t1 %t47 = call ptr @fn_itoa(i32 %t46) call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str7535) + call void @fn_emit(ptr @.str8053) %t48 = load ptr, ptr %t45 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str7536) + call void @fn_emit(ptr @.str8054) store i32 0, ptr %t49 br label %wcond3 wcond3: @@ -76634,30 +86253,30 @@ wbody4: store ptr %t76, ptr %t77 %t78 = call ptr @fn_nreg() store ptr %t78, ptr %t79 - call void @fn_emit(ptr @.str7537) + call void @fn_emit(ptr @.str8055) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str7538) + call void @fn_emit(ptr @.str8056) %t81 = load ptr, ptr %t45 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str7539) + call void @fn_emit(ptr @.str8057) %t82 = load i32, ptr %t49 %t83 = add i32 %t82, 1 %t84 = mul i32 8, %t83 %t85 = call ptr @fn_itoa(i32 %t84) call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str7540) - call void @fn_emit(ptr @.str7541) + call void @fn_emit(ptr @.str8058) + call void @fn_emit(ptr @.str8059) %t86 = load ptr, ptr %t65 %t87 = call ptr @fn_llty(ptr %t86) call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str7542) + call void @fn_emit(ptr @.str8060) %t88 = load ptr, ptr %t77 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str7543) + call void @fn_emit(ptr @.str8061) %t89 = load ptr, ptr %t79 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str7544) + call void @fn_emit(ptr @.str8062) %t90 = load i32, ptr %t49 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t49 @@ -76878,7 +86497,7 @@ then3: store ptr %t32, ptr %retval br label %ret ifend5: - call void @fn_perr(ptr @.str7545) + call void @fn_perr(ptr @.str8063) br label %ifend2 ifend2: %t33 = load ptr, ptr %t0 @@ -76888,7 +86507,7 @@ ifend2: %t37 = load ptr, ptr %t36 store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 - %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str7546) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str8064) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then6, label %ifend8 then6: @@ -76898,7 +86517,7 @@ then6: %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: - %t46 = call ptr @fn_val(ptr @.str7547, ptr @.str7548) + %t46 = call ptr @fn_val(ptr @.str8065, ptr @.str8066) store ptr %t46, ptr %retval br label %ret ifend11: @@ -76909,64 +86528,64 @@ ifend11: %t51 = sub i32 %t50, 1 %t52 = getelementptr inbounds ptr, ptr %t49, i32 %t51 %t53 = load ptr, ptr %t52 - %t54 = call ptr @fn_str_concat(ptr @.str7549, ptr %t53) + %t54 = call ptr @fn_str_concat(ptr @.str8067, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) - %t56 = call ptr @fn_val(ptr %t55, ptr @.str7550) + %t56 = call ptr @fn_val(ptr %t55, ptr @.str8068) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t38 - %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str7551) + %t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str8069) %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then12, label %ifend14 then12: - %t60 = call ptr @fn_emit_bind(ptr @.str7552) - %t61 = call ptr @fn_val(ptr %t60, ptr @.str7553) + %t60 = call ptr @fn_emit_bind(ptr @.str8070) + %t61 = call ptr @fn_val(ptr %t60, ptr @.str8071) store ptr %t61, ptr %retval br label %ret ifend14: %t62 = load ptr, ptr %t38 - %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str7554) + %t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str8072) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: - call void @fn_emit(ptr @.str7555) - %t65 = call ptr @fn_val(ptr @.str7556, ptr @.str7557) + call void @fn_emit(ptr @.str8073) + %t65 = call ptr @fn_val(ptr @.str8074, ptr @.str8075) store ptr %t65, ptr %retval br label %ret ifend17: %t66 = load ptr, ptr %t38 - %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str7558) + %t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str8076) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str7559) - %t69 = call ptr @fn_val(ptr @.str7560, ptr @.str7561) + call void @fn_emit(ptr @.str8077) + %t69 = call ptr @fn_val(ptr @.str8078, ptr @.str8079) store ptr %t69, ptr %retval br label %ret ifend20: %t70 = load ptr, ptr %t38 - %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str7562) + %t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str8080) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then21, label %ifend23 then21: - %t73 = call ptr @fn_emit_bind(ptr @.str7563) - %t74 = call ptr @fn_val(ptr %t73, ptr @.str7564) + %t73 = call ptr @fn_emit_bind(ptr @.str8081) + %t74 = call ptr @fn_val(ptr %t73, ptr @.str8082) store ptr %t74, ptr %retval br label %ret ifend23: %t75 = load ptr, ptr %t38 - %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str7565) + %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str8083) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then24, label %ifend26 then24: - %t78 = call ptr @fn_emit_bind(ptr @.str7566) - %t79 = call ptr @fn_val(ptr %t78, ptr @.str7567) + %t78 = call ptr @fn_emit_bind(ptr @.str8084) + %t79 = call ptr @fn_val(ptr %t78, ptr @.str8085) store ptr %t79, ptr %retval br label %ret ifend26: %t80 = load ptr, ptr %t38 - %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str7568) + %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str8086) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then27, label %ifend29 then27: @@ -76982,15 +86601,15 @@ then27: %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 - %t95 = call ptr @fn_str_concat(ptr @.str7569, ptr %t94) - %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str7570) + %t95 = call ptr @fn_str_concat(ptr @.str8087, ptr %t94) + %t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str8088) %t97 = call ptr @fn_emit_bind(ptr %t96) - %t98 = call ptr @fn_val(ptr %t97, ptr @.str7571) + %t98 = call ptr @fn_val(ptr %t97, ptr @.str8089) store ptr %t98, ptr %retval br label %ret ifend29: %t99 = load ptr, ptr %t38 - %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str7572) + %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str8090) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then30, label %ifend32 then30: @@ -77012,33 +86631,33 @@ then30: %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 - call void @fn_emit(ptr @.str7573) + call void @fn_emit(ptr @.str8091) %t120 = load ptr, ptr %t110 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str7574) + call void @fn_emit(ptr @.str8092) %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 @.str7575) - %t126 = call ptr @fn_val(ptr @.str7576, ptr @.str7577) + call void @fn_emit(ptr @.str8093) + %t126 = call ptr @fn_val(ptr @.str8094, ptr @.str8095) store ptr %t126, ptr %retval br label %ret ifend32: %t127 = load ptr, ptr %t38 - %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str7578) + %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str8096) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then33, label %ifend35 then33: - call void @fn_emit(ptr @.str7579) - %t130 = call ptr @fn_val(ptr @.str7580, ptr @.str7581) + call void @fn_emit(ptr @.str8097) + %t130 = call ptr @fn_val(ptr @.str8098, ptr @.str8099) store ptr %t130, ptr %retval br label %ret ifend35: %t131 = load ptr, ptr %t38 - %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str7582) + %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str8100) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then36, label %ifend38 then36: @@ -77063,20 +86682,20 @@ then36: %t152 = load ptr, ptr %t142 %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 - %t155 = call ptr @fn_str_concat(ptr @.str7583, ptr %t154) - %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str7584) + %t155 = call ptr @fn_str_concat(ptr @.str8101, ptr %t154) + %t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str8102) %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 @.str7585) + %t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str8103) %t162 = call ptr @fn_emit_bind(ptr %t161) - %t163 = call ptr @fn_val(ptr %t162, ptr @.str7586) + %t163 = call ptr @fn_val(ptr %t162, ptr @.str8104) store ptr %t163, ptr %retval br label %ret ifend38: %t164 = load ptr, ptr %t38 - %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str7587) + %t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str8105) %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then39, label %ifend41 then39: @@ -77107,28 +86726,28 @@ then39: %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_emit_expr(ptr %t191) store ptr %t192, ptr %t193 - call void @fn_emit(ptr @.str7588) + call void @fn_emit(ptr @.str8106) %t194 = load ptr, ptr %t175 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str7589) + call void @fn_emit(ptr @.str8107) %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 @.str7590) + call void @fn_emit(ptr @.str8108) %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 @.str7591) - %t203 = call ptr @fn_val(ptr @.str7592, ptr @.str7593) + call void @fn_emit(ptr @.str8109) + %t203 = call ptr @fn_val(ptr @.str8110, ptr @.str8111) store ptr %t203, ptr %retval br label %ret ifend41: %t204 = load ptr, ptr %t38 - %t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str7594) + %t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str8112) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then42, label %ifend44 then42: @@ -77144,15 +86763,15 @@ then42: %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 - %t219 = call ptr @fn_str_concat(ptr @.str7595, ptr %t218) - %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str7596) + %t219 = call ptr @fn_str_concat(ptr @.str8113, ptr %t218) + %t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str8114) %t221 = call ptr @fn_emit_bind(ptr %t220) - %t222 = call ptr @fn_val(ptr %t221, ptr @.str7597) + %t222 = call ptr @fn_val(ptr %t221, ptr @.str8115) store ptr %t222, ptr %retval br label %ret ifend44: %t223 = load ptr, ptr %t38 - %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str7598) + %t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str8116) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then45, label %ifend47 then45: @@ -77168,15 +86787,15 @@ then45: %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0 %t237 = load ptr, ptr %t236 - %t238 = call ptr @fn_str_concat(ptr @.str7599, ptr %t237) - %t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str7600) + %t238 = call ptr @fn_str_concat(ptr @.str8117, ptr %t237) + %t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str8118) %t240 = call ptr @fn_emit_bind(ptr %t239) - %t241 = call ptr @fn_val(ptr %t240, ptr @.str7601) + %t241 = call ptr @fn_val(ptr %t240, ptr @.str8119) store ptr %t241, ptr %retval br label %ret ifend47: %t242 = load ptr, ptr %t38 - %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str7602) + %t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str8120) %t244 = icmp ne i32 %t243, 0 br i1 %t244, label %then48, label %ifend50 then48: @@ -77198,23 +86817,23 @@ then48: %t260 = load ptr, ptr %t259 %t261 = call ptr @fn_emit_expr(ptr %t260) store ptr %t261, ptr %t262 - call void @fn_emit(ptr @.str7603) + call void @fn_emit(ptr @.str8121) %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 @.str7604) + call void @fn_emit(ptr @.str8122) %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 @.str7605) - %t269 = call ptr @fn_val(ptr @.str7606, ptr @.str7607) + call void @fn_emit(ptr @.str8123) + %t269 = call ptr @fn_val(ptr @.str8124, ptr @.str8125) store ptr %t269, ptr %retval br label %ret ifend50: %t270 = load ptr, ptr %t38 - %t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str7608) + %t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str8126) %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then51, label %ifend53 then51: @@ -77230,75 +86849,75 @@ then51: %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 %t284 = load ptr, ptr %t283 - %t285 = call ptr @fn_str_concat(ptr @.str7609, ptr %t284) - %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str7610) + %t285 = call ptr @fn_str_concat(ptr @.str8127, ptr %t284) + %t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str8128) %t287 = call ptr @fn_emit_bind(ptr %t286) - %t288 = call ptr @fn_val(ptr %t287, ptr @.str7611) + %t288 = call ptr @fn_val(ptr %t287, ptr @.str8129) store ptr %t288, ptr %retval br label %ret ifend53: %t289 = load ptr, ptr %t38 - %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str7612) + %t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str8130) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then54, label %ifend56 then54: - %t292 = call ptr @fn_emit_bind(ptr @.str7613) + %t292 = call ptr @fn_emit_bind(ptr @.str8131) store ptr %t292, ptr %t293 %t294 = load ptr, ptr %t293 - %t295 = call ptr @fn_str_concat(ptr @.str7614, ptr %t294) - %t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str7615) + %t295 = call ptr @fn_str_concat(ptr @.str8132, ptr %t294) + %t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str8133) %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 @.str7616, ptr %t299) - %t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str7617) + %t300 = call ptr @fn_str_concat(ptr @.str8134, ptr %t299) + %t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str8135) %t302 = call ptr @fn_emit_bind(ptr %t301) - %t303 = call ptr @fn_val(ptr %t302, ptr @.str7618) + %t303 = call ptr @fn_val(ptr %t302, ptr @.str8136) store ptr %t303, ptr %retval br label %ret ifend56: %t304 = load ptr, ptr %t38 - %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str7619) + %t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str8137) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then57, label %ifend59 then57: - %t307 = call ptr @fn_emit_bind(ptr @.str7620) - %t308 = call ptr @fn_val(ptr %t307, ptr @.str7621) + %t307 = call ptr @fn_emit_bind(ptr @.str8138) + %t308 = call ptr @fn_val(ptr %t307, ptr @.str8139) store ptr %t308, ptr %retval br label %ret ifend59: %t309 = load ptr, ptr %t38 - %t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str7622) + %t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str8140) %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then60, label %ifend62 then60: - call void @fn_emit(ptr @.str7623) - %t312 = call ptr @fn_val(ptr @.str7624, ptr @.str7625) + call void @fn_emit(ptr @.str8141) + %t312 = call ptr @fn_val(ptr @.str8142, ptr @.str8143) store ptr %t312, ptr %retval br label %ret ifend62: %t313 = load ptr, ptr %t38 - %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str7626) + %t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str8144) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then63, label %ifend65 then63: - call void @fn_emit(ptr @.str7627) - %t316 = call ptr @fn_val(ptr @.str7628, ptr @.str7629) + call void @fn_emit(ptr @.str8145) + %t316 = call ptr @fn_val(ptr @.str8146, ptr @.str8147) store ptr %t316, ptr %retval br label %ret ifend65: %t317 = load ptr, ptr %t38 - %t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str7630) + %t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str8148) %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: - call void @fn_emit(ptr @.str7631) - %t320 = call ptr @fn_val(ptr @.str7632, ptr @.str7633) + call void @fn_emit(ptr @.str8149) + %t320 = call ptr @fn_val(ptr @.str8150, ptr @.str8151) store ptr %t320, ptr %retval br label %ret ifend68: %t321 = load ptr, ptr %t38 - %t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str7634) + %t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str8152) %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then69, label %ifend71 then69: @@ -77311,18 +86930,18 @@ then69: %t330 = load ptr, ptr %t329 %t331 = call ptr @fn_emit_expr(ptr %t330) store ptr %t331, ptr %t332 - call void @fn_emit(ptr @.str7635) + call void @fn_emit(ptr @.str8153) %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 %t335 = load ptr, ptr %t334 call void @fn_emit(ptr %t335) - call void @fn_emit(ptr @.str7636) - %t336 = call ptr @fn_val(ptr @.str7637, ptr @.str7638) + call void @fn_emit(ptr @.str8154) + %t336 = call ptr @fn_val(ptr @.str8155, ptr @.str8156) store ptr %t336, ptr %retval br label %ret ifend71: %t337 = load ptr, ptr %t38 - %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str7639) + %t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str8157) %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then72, label %ifend74 then72: @@ -77335,24 +86954,24 @@ then72: %t346 = load ptr, ptr %t345 %t347 = call ptr @fn_emit_expr(ptr %t346) store ptr %t347, ptr %t348 - call void @fn_emit(ptr @.str7640) + call void @fn_emit(ptr @.str8158) %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 @.str7641) - %t352 = call ptr @fn_val(ptr @.str7642, ptr @.str7643) + call void @fn_emit(ptr @.str8159) + %t352 = call ptr @fn_val(ptr @.str8160, ptr @.str8161) store ptr %t352, ptr %retval br label %ret ifend74: %t354 = load ptr, ptr %t38 - %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str7644) + %t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str8162) %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 @.str7645) + %t358 = call ptr @fn_find_extern(ptr @.str8163) %t359 = icmp eq ptr %t358, null %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 @@ -77392,34 +87011,34 @@ then77: %t389 = load ptr, ptr %t388 %t390 = call ptr @fn_emit_expr(ptr %t389) store ptr %t390, ptr %t391 - call void @fn_emit(ptr @.str7646) + call void @fn_emit(ptr @.str8164) %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 @.str7647) + call void @fn_emit(ptr @.str8165) %t395 = load ptr, ptr %t382 %t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0 %t397 = load ptr, ptr %t396 call void @fn_emit(ptr %t397) - call void @fn_emit(ptr @.str7648) + call void @fn_emit(ptr @.str8166) %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 @.str7649) - %t401 = call ptr @fn_val(ptr @.str7650, ptr @.str7651) + call void @fn_emit(ptr @.str8167) + %t401 = call ptr @fn_val(ptr @.str8168, ptr @.str8169) store ptr %t401, ptr %retval br label %ret ifend79: %t403 = load ptr, ptr %t38 - %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str7652) + %t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str8170) %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 @.str7653) + %t407 = call ptr @fn_find_extern(ptr @.str8171) %t408 = icmp eq ptr %t407, null %t409 = zext i1 %t408 to i32 %t410 = icmp ne i32 %t409, 0 @@ -77453,20 +87072,20 @@ then82: %t432 = load ptr, ptr %t422 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 - %t435 = call ptr @fn_str_concat(ptr @.str7654, ptr %t434) - %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str7655) + %t435 = call ptr @fn_str_concat(ptr @.str8172, ptr %t434) + %t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str8173) %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 @.str7656) + %t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str8174) %t442 = call ptr @fn_emit_bind(ptr %t441) - %t443 = call ptr @fn_val(ptr %t442, ptr @.str7657) + %t443 = call ptr @fn_val(ptr %t442, ptr @.str8175) store ptr %t443, ptr %retval br label %ret ifend84: %t444 = load ptr, ptr %t38 - %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str7658) + %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str8176) %t446 = icmp ne i32 %t445, 0 br i1 %t446, label %then85, label %ifend87 then85: @@ -77476,7 +87095,7 @@ then85: br label %ret ifend87: %t449 = load ptr, ptr %t38 - %t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str7659) + %t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str8177) %t451 = icmp ne i32 %t450, 0 br i1 %t451, label %then88, label %ifend90 then88: @@ -77486,7 +87105,7 @@ then88: br label %ret ifend90: %t454 = load ptr, ptr %t38 - %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str7660) + %t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str8178) %t456 = icmp ne i32 %t455, 0 br i1 %t456, label %then91, label %ifend93 then91: @@ -77503,7 +87122,7 @@ then91: %t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1 %t468 = load ptr, ptr %t467 %t469 = call ptr @fn_llty(ptr %t468) - %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str7661) + %t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str8179) %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then94, label %ifend96 then94: @@ -77515,7 +87134,7 @@ ifend96: %t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 1 %t475 = load ptr, ptr %t474 %t476 = call ptr @fn_llty(ptr %t475) - %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str7662) + %t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str8180) %t478 = icmp ne i32 %t477, 0 br i1 %t478, label %then97, label %ifend99 then97: @@ -77523,10 +87142,10 @@ then97: %t479 = load ptr, ptr %t465 %t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0 %t481 = load ptr, ptr %t480 - %t482 = call ptr @fn_str_concat(ptr @.str7663, ptr %t481) - %t483 = call ptr @fn_str_concat(ptr %t482, ptr @.str7664) + %t482 = call ptr @fn_str_concat(ptr @.str8181, ptr %t481) + %t483 = call ptr @fn_str_concat(ptr %t482, ptr @.str8182) %t484 = call ptr @fn_emit_bind(ptr %t483) - %t485 = call ptr @fn_val(ptr %t484, ptr @.str7665) + %t485 = call ptr @fn_val(ptr %t484, ptr @.str8183) store ptr %t485, ptr %retval br label %ret ifend99: @@ -77534,15 +87153,15 @@ ifend99: %t486 = load ptr, ptr %t465 %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0 %t488 = load ptr, ptr %t487 - %t489 = call ptr @fn_str_concat(ptr @.str7666, ptr %t488) - %t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str7667) + %t489 = call ptr @fn_str_concat(ptr @.str8184, ptr %t488) + %t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str8185) %t491 = call ptr @fn_emit_bind(ptr %t490) - %t492 = call ptr @fn_val(ptr %t491, ptr @.str7668) + %t492 = call ptr @fn_val(ptr %t491, ptr @.str8186) store ptr %t492, ptr %retval br label %ret ifend93: %t493 = load ptr, ptr %t38 - %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str7669) + %t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str8187) %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then100, label %ifend102 then100: @@ -77559,15 +87178,15 @@ then100: %t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 1 %t507 = load ptr, ptr %t506 %t508 = call ptr @fn_llty(ptr %t507) - %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str7670) + %t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str8188) %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then103, label %else104 then103: %t511 = load ptr, ptr %t504 %t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0 %t513 = load ptr, ptr %t512 - %t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str7672) - %t515 = call ptr @fn_str_concat(ptr @.str7671, ptr %t514) + %t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str8190) + %t515 = call ptr @fn_str_concat(ptr @.str8189, ptr %t514) call void @fn_emit(ptr %t515) br label %ifend105 else104: @@ -77575,34 +87194,34 @@ else104: %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 1 %t518 = load ptr, ptr %t517 %t519 = call ptr @fn_llty(ptr %t518) - %t520 = call i32 @fn_str_eq(ptr %t519, ptr @.str7673) + %t520 = call i32 @fn_str_eq(ptr %t519, ptr @.str8191) %t521 = icmp ne i32 %t520, 0 br i1 %t521, label %then106, label %else107 then106: %t522 = load ptr, ptr %t504 %t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0 %t524 = load ptr, ptr %t523 - %t525 = call ptr @fn_str_concat(ptr %t524, ptr @.str7675) - %t526 = call ptr @fn_str_concat(ptr @.str7674, ptr %t525) + %t525 = call ptr @fn_str_concat(ptr %t524, ptr @.str8193) + %t526 = call ptr @fn_str_concat(ptr @.str8192, ptr %t525) call void @fn_emit(ptr %t526) br label %ifend108 else107: %t527 = load ptr, ptr %t504 %t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0 %t529 = load ptr, ptr %t528 - %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str7677) - %t531 = call ptr @fn_str_concat(ptr @.str7676, ptr %t530) + %t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str8195) + %t531 = call ptr @fn_str_concat(ptr @.str8194, ptr %t530) call void @fn_emit(ptr %t531) br label %ifend108 ifend108: br label %ifend105 ifend105: - %t532 = call ptr @fn_val(ptr @.str7678, ptr @.str7679) + %t532 = call ptr @fn_val(ptr @.str8196, ptr @.str8197) store ptr %t532, ptr %retval br label %ret ifend102: %t533 = load ptr, ptr %t38 - %t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str7680) + %t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str8198) %t535 = icmp ne i32 %t534, 0 br i1 %t535, label %then109, label %ifend111 then109: @@ -77618,20 +87237,20 @@ then109: %t545 = load ptr, ptr %t544 %t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0 %t547 = load ptr, ptr %t546 - %t548 = call ptr @fn_str_concat(ptr @.str7681, ptr %t547) - %t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str7682) + %t548 = call ptr @fn_str_concat(ptr @.str8199, ptr %t547) + %t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str8200) %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 @.str7683, ptr %t552) - %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str7684) + %t553 = call ptr @fn_str_concat(ptr @.str8201, ptr %t552) + %t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str8202) %t555 = call ptr @fn_emit_bind(ptr %t554) - %t556 = call ptr @fn_val(ptr %t555, ptr @.str7685) + %t556 = call ptr @fn_val(ptr %t555, ptr @.str8203) store ptr %t556, ptr %retval br label %ret ifend111: %t557 = load ptr, ptr %t38 - %t558 = call i32 @fn_str_eq(ptr %t557, ptr @.str7686) + %t558 = call i32 @fn_str_eq(ptr %t557, ptr @.str8204) %t559 = icmp ne i32 %t558, 0 br i1 %t559, label %then112, label %ifend114 then112: @@ -77647,25 +87266,25 @@ then112: %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0 %t571 = load ptr, ptr %t570 - %t572 = call ptr @fn_str_concat(ptr @.str7687, ptr %t571) - %t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str7688) + %t572 = call ptr @fn_str_concat(ptr @.str8205, ptr %t571) + %t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str8206) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t575 - %t577 = call ptr @fn_str_concat(ptr @.str7689, ptr %t576) - %t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str7690) + %t577 = call ptr @fn_str_concat(ptr @.str8207, ptr %t576) + %t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str8208) %t579 = call ptr @fn_emit_bind(ptr %t578) store ptr %t579, ptr %t580 %t581 = load ptr, ptr %t580 - %t582 = call ptr @fn_str_concat(ptr @.str7691, ptr %t581) - %t583 = call ptr @fn_str_concat(ptr %t582, ptr @.str7692) + %t582 = call ptr @fn_str_concat(ptr @.str8209, ptr %t581) + %t583 = call ptr @fn_str_concat(ptr %t582, ptr @.str8210) %t584 = call ptr @fn_emit_bind(ptr %t583) - %t585 = call ptr @fn_val(ptr %t584, ptr @.str7693) + %t585 = call ptr @fn_val(ptr %t584, ptr @.str8211) store ptr %t585, ptr %retval br label %ret ifend114: %t586 = load ptr, ptr %t38 - %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str7694) + %t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str8212) %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then115, label %ifend117 then115: @@ -77681,15 +87300,15 @@ then115: %t598 = load ptr, ptr %t597 %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0 %t600 = load ptr, ptr %t599 - %t601 = call ptr @fn_str_concat(ptr @.str7695, ptr %t600) - %t602 = call ptr @fn_str_concat(ptr %t601, ptr @.str7696) + %t601 = call ptr @fn_str_concat(ptr @.str8213, ptr %t600) + %t602 = call ptr @fn_str_concat(ptr %t601, ptr @.str8214) %t603 = call ptr @fn_emit_bind(ptr %t602) - %t604 = call ptr @fn_val(ptr %t603, ptr @.str7697) + %t604 = call ptr @fn_val(ptr %t603, ptr @.str8215) store ptr %t604, ptr %retval br label %ret ifend117: %t605 = load ptr, ptr %t38 - %t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str7698) + %t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str8216) %t607 = icmp ne i32 %t606, 0 br i1 %t607, label %then118, label %ifend120 then118: @@ -77705,15 +87324,15 @@ then118: %t617 = load ptr, ptr %t616 %t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0 %t619 = load ptr, ptr %t618 - %t620 = call ptr @fn_str_concat(ptr @.str7699, ptr %t619) - %t621 = call ptr @fn_str_concat(ptr %t620, ptr @.str7700) + %t620 = call ptr @fn_str_concat(ptr @.str8217, ptr %t619) + %t621 = call ptr @fn_str_concat(ptr %t620, ptr @.str8218) %t622 = call ptr @fn_emit_bind(ptr %t621) - %t623 = call ptr @fn_val(ptr %t622, ptr @.str7701) + %t623 = call ptr @fn_val(ptr %t622, ptr @.str8219) store ptr %t623, ptr %retval br label %ret ifend120: %t624 = load ptr, ptr %t38 - %t625 = call i32 @fn_str_eq(ptr %t624, ptr @.str7702) + %t625 = call i32 @fn_str_eq(ptr %t624, ptr @.str8220) %t626 = icmp ne i32 %t625, 0 br i1 %t626, label %then121, label %ifend123 then121: @@ -77730,29 +87349,29 @@ then121: %t636 = load ptr, ptr %t635 %t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0 %t638 = load ptr, ptr %t637 - %t639 = call ptr @fn_str_concat(ptr @.str7703, ptr %t638) - %t640 = call ptr @fn_str_concat(ptr %t639, ptr @.str7704) + %t639 = call ptr @fn_str_concat(ptr @.str8221, ptr %t638) + %t640 = call ptr @fn_str_concat(ptr %t639, ptr @.str8222) %t641 = call ptr @fn_emit_bind(ptr %t640) store ptr %t641, ptr %t642 %t643 = load ptr, ptr @g_g_src_name - %t644 = call ptr @fn_str_concat(ptr %t643, ptr @.str7705) + %t644 = call ptr @fn_str_concat(ptr %t643, ptr @.str8223) %t645 = load ptr, ptr %t0 %t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 8 %t647 = load i32, ptr %t646 %t648 = call ptr @fn_itoa(i32 %t647) %t649 = call ptr @fn_str_concat(ptr %t644, ptr %t648) - %t650 = call ptr @fn_str_concat(ptr %t649, ptr @.str7706) + %t650 = call ptr @fn_str_concat(ptr %t649, ptr @.str8224) %t651 = call ptr @fn_emit_str_const(ptr %t650) store ptr %t651, ptr %t652 %t653 = load ptr, ptr %t642 %t654 = load ptr, ptr %t652 - call void @fn_emit_expect_fail(ptr %t653, ptr %t654, ptr @.str7707, ptr @.str7708) - %t655 = call ptr @fn_val(ptr @.str7709, ptr @.str7710) + call void @fn_emit_expect_fail(ptr %t653, ptr %t654, ptr @.str8225, ptr @.str8226) + %t655 = call ptr @fn_val(ptr @.str8227, ptr @.str8228) store ptr %t655, ptr %retval br label %ret ifend123: %t656 = load ptr, ptr %t38 - %t657 = call i32 @fn_str_eq(ptr %t656, ptr @.str7711) + %t657 = call i32 @fn_str_eq(ptr %t656, ptr @.str8229) %t658 = icmp ne i32 %t657, 0 br i1 %t658, label %then124, label %ifend126 then124: @@ -77778,8 +87397,8 @@ then124: %t677 = load ptr, ptr %t667 %t678 = getelementptr inbounds %Cmp_Val, ptr %t677, i32 0, i32 0 %t679 = load ptr, ptr %t678 - %t680 = call ptr @fn_str_concat(ptr @.str7712, ptr %t679) - %t681 = call ptr @fn_str_concat(ptr %t680, ptr @.str7713) + %t680 = call ptr @fn_str_concat(ptr @.str8230, ptr %t679) + %t681 = call ptr @fn_str_concat(ptr %t680, ptr @.str8231) %t682 = load ptr, ptr %t676 %t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0 %t684 = load ptr, ptr %t683 @@ -77787,13 +87406,13 @@ then124: %t686 = call ptr @fn_emit_bind(ptr %t685) store ptr %t686, ptr %t687 %t688 = load ptr, ptr @g_g_src_name - %t689 = call ptr @fn_str_concat(ptr %t688, ptr @.str7714) + %t689 = call ptr @fn_str_concat(ptr %t688, ptr @.str8232) %t690 = load ptr, ptr %t0 %t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 8 %t692 = load i32, ptr %t691 %t693 = call ptr @fn_itoa(i32 %t692) %t694 = call ptr @fn_str_concat(ptr %t689, ptr %t693) - %t695 = call ptr @fn_str_concat(ptr %t694, ptr @.str7715) + %t695 = call ptr @fn_str_concat(ptr %t694, ptr @.str8233) %t696 = call ptr @fn_emit_str_const(ptr %t695) store ptr %t696, ptr %t697 %t698 = load ptr, ptr %t687 @@ -77805,12 +87424,12 @@ then124: %t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0 %t705 = load ptr, ptr %t704 call void @fn_emit_expect_fail(ptr %t698, ptr %t699, ptr %t702, ptr %t705) - %t706 = call ptr @fn_val(ptr @.str7716, ptr @.str7717) + %t706 = call ptr @fn_val(ptr @.str8234, ptr @.str8235) store ptr %t706, ptr %retval br label %ret ifend126: %t707 = load ptr, ptr %t38 - %t708 = call i32 @fn_str_eq(ptr %t707, ptr @.str7718) + %t708 = call i32 @fn_str_eq(ptr %t707, ptr @.str8236) %t709 = icmp ne i32 %t708, 0 br i1 %t709, label %then127, label %ifend129 then127: @@ -77845,8 +87464,8 @@ then127: %t737 = load ptr, ptr %t718 %t738 = getelementptr inbounds %Cmp_Val, ptr %t737, i32 0, i32 0 %t739 = load ptr, ptr %t738 - %t740 = call ptr @fn_str_concat(ptr @.str7719, ptr %t739) - %t741 = call ptr @fn_str_concat(ptr %t740, ptr @.str7720) + %t740 = call ptr @fn_str_concat(ptr @.str8237, ptr %t739) + %t741 = call ptr @fn_str_concat(ptr %t740, ptr @.str8238) %t742 = load ptr, ptr %t727 %t743 = getelementptr inbounds %Cmp_Val, ptr %t742, i32 0, i32 0 %t744 = load ptr, ptr %t743 @@ -77854,27 +87473,27 @@ then127: %t746 = call ptr @fn_emit_bind(ptr %t745) store ptr %t746, ptr %t747 %t748 = load ptr, ptr %t747 - %t749 = call ptr @fn_str_concat(ptr @.str7721, ptr %t748) + %t749 = call ptr @fn_str_concat(ptr @.str8239, ptr %t748) %t750 = call ptr @fn_emit_bind(ptr %t749) store ptr %t750, ptr %t751 %t752 = load ptr, ptr %t747 - %t753 = call ptr @fn_str_concat(ptr @.str7722, ptr %t752) - %t754 = call ptr @fn_str_concat(ptr %t753, ptr @.str7723) + %t753 = call ptr @fn_str_concat(ptr @.str8240, ptr %t752) + %t754 = call ptr @fn_str_concat(ptr %t753, ptr @.str8241) %t755 = call ptr @fn_emit_bind(ptr %t754) store ptr %t755, ptr %t756 %t757 = load ptr, ptr %t756 - %t758 = call ptr @fn_str_concat(ptr @.str7724, ptr %t757) - %t759 = call ptr @fn_str_concat(ptr %t758, ptr @.str7725) + %t758 = call ptr @fn_str_concat(ptr @.str8242, ptr %t757) + %t759 = call ptr @fn_str_concat(ptr %t758, ptr @.str8243) %t760 = load ptr, ptr %t751 %t761 = call ptr @fn_str_concat(ptr %t759, ptr %t760) - %t762 = call ptr @fn_str_concat(ptr %t761, ptr @.str7726) + %t762 = call ptr @fn_str_concat(ptr %t761, ptr @.str8244) %t763 = load ptr, ptr %t747 %t764 = call ptr @fn_str_concat(ptr %t762, ptr %t763) %t765 = call ptr @fn_emit_bind(ptr %t764) store ptr %t765, ptr %t766 %t767 = load ptr, ptr %t766 - %t768 = call ptr @fn_str_concat(ptr @.str7727, ptr %t767) - %t769 = call ptr @fn_str_concat(ptr %t768, ptr @.str7728) + %t768 = call ptr @fn_str_concat(ptr @.str8245, ptr %t767) + %t769 = call ptr @fn_str_concat(ptr %t768, ptr @.str8246) %t770 = load ptr, ptr %t736 %t771 = getelementptr inbounds %Cmp_Val, ptr %t770, i32 0, i32 0 %t772 = load ptr, ptr %t771 @@ -77882,13 +87501,13 @@ then127: %t774 = call ptr @fn_emit_bind(ptr %t773) store ptr %t774, ptr %t775 %t776 = load ptr, ptr @g_g_src_name - %t777 = call ptr @fn_str_concat(ptr %t776, ptr @.str7729) + %t777 = call ptr @fn_str_concat(ptr %t776, ptr @.str8247) %t778 = load ptr, ptr %t0 %t779 = getelementptr inbounds %Cmp_Node, ptr %t778, i32 0, i32 8 %t780 = load i32, ptr %t779 %t781 = call ptr @fn_itoa(i32 %t780) %t782 = call ptr @fn_str_concat(ptr %t777, ptr %t781) - %t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str7730) + %t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str8248) %t784 = call ptr @fn_emit_str_const(ptr %t783) store ptr %t784, ptr %t785 %t786 = load ptr, ptr %t775 @@ -77900,12 +87519,12 @@ then127: %t792 = getelementptr inbounds %Cmp_Val, ptr %t791, i32 0, i32 0 %t793 = load ptr, ptr %t792 call void @fn_emit_expect_fail(ptr %t786, ptr %t787, ptr %t790, ptr %t793) - %t794 = call ptr @fn_val(ptr @.str7731, ptr @.str7732) + %t794 = call ptr @fn_val(ptr @.str8249, ptr @.str8250) store ptr %t794, ptr %retval br label %ret ifend129: %t795 = load ptr, ptr %t38 - %t796 = call i32 @fn_str_eq(ptr %t795, ptr @.str7733) + %t796 = call i32 @fn_str_eq(ptr %t795, ptr @.str8251) %t797 = icmp ne i32 %t796, 0 br i1 %t797, label %then130, label %ifend132 then130: @@ -77920,37 +87539,37 @@ then130: %t805 = call ptr @fn_emit_expr(ptr %t804) store ptr %t805, ptr %t806 %t807 = load ptr, ptr @g_g_src_name - %t808 = call ptr @fn_str_concat(ptr %t807, ptr @.str7734) + %t808 = call ptr @fn_str_concat(ptr %t807, ptr @.str8252) %t809 = load ptr, ptr %t0 %t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 8 %t811 = load i32, ptr %t810 %t812 = call ptr @fn_itoa(i32 %t811) %t813 = call ptr @fn_str_concat(ptr %t808, ptr %t812) - %t814 = call ptr @fn_str_concat(ptr %t813, ptr @.str7735) + %t814 = call ptr @fn_str_concat(ptr %t813, ptr @.str8253) %t815 = call ptr @fn_emit_str_const(ptr %t814) store ptr %t815, ptr %t816 - %t817 = call ptr @fn_emit_bind(ptr @.str7736) + %t817 = call ptr @fn_emit_bind(ptr @.str8254) store ptr %t817, ptr %t818 %t819 = load ptr, ptr %t818 - %t820 = call ptr @fn_str_concat(ptr @.str7737, ptr %t819) - %t821 = call ptr @fn_str_concat(ptr %t820, ptr @.str7738) + %t820 = call ptr @fn_str_concat(ptr @.str8255, ptr %t819) + %t821 = call ptr @fn_str_concat(ptr %t820, ptr @.str8256) %t822 = load ptr, ptr %t816 %t823 = call ptr @fn_str_concat(ptr %t821, ptr %t822) - %t824 = call ptr @fn_str_concat(ptr %t823, ptr @.str7739) + %t824 = call ptr @fn_str_concat(ptr %t823, ptr @.str8257) %t825 = load ptr, ptr %t806 %t826 = getelementptr inbounds %Cmp_Val, ptr %t825, i32 0, i32 0 %t827 = load ptr, ptr %t826 %t828 = call ptr @fn_str_concat(ptr %t824, ptr %t827) - %t829 = call ptr @fn_str_concat(ptr %t828, ptr @.str7740) + %t829 = call ptr @fn_str_concat(ptr %t828, ptr @.str8258) call void @fn_emit(ptr %t829) - call void @fn_emit(ptr @.str7741) + call void @fn_emit(ptr @.str8259) store i32 1, ptr @g_g_term - %t830 = call ptr @fn_val(ptr @.str7742, ptr @.str7743) + %t830 = call ptr @fn_val(ptr @.str8260, ptr @.str8261) store ptr %t830, ptr %retval br label %ret ifend132: %t831 = load ptr, ptr %t38 - %t832 = call i32 @fn_str_eq(ptr %t831, ptr @.str7744) + %t832 = call i32 @fn_str_eq(ptr %t831, ptr @.str8262) %t833 = icmp ne i32 %t832, 0 br i1 %t833, label %then133, label %ifend135 then133: @@ -77967,26 +87586,26 @@ then133: %t843 = load ptr, ptr %t842 %t844 = getelementptr inbounds %Cmp_Val, ptr %t843, i32 0, i32 0 %t845 = load ptr, ptr %t844 - %t846 = call ptr @fn_str_concat(ptr @.str7745, ptr %t845) - %t847 = call ptr @fn_str_concat(ptr %t846, ptr @.str7746) + %t846 = call ptr @fn_str_concat(ptr @.str8263, ptr %t845) + %t847 = call ptr @fn_str_concat(ptr %t846, ptr @.str8264) %t848 = call ptr @fn_emit_bind(ptr %t847) store ptr %t848, ptr %t849 - %t850 = call ptr @fn_lbl(ptr @.str7747) + %t850 = call ptr @fn_lbl(ptr @.str8265) store ptr %t850, ptr %t851 - %t852 = call ptr @fn_lbl(ptr @.str7748) + %t852 = call ptr @fn_lbl(ptr @.str8266) store ptr %t852, ptr %t853 %t854 = load ptr, ptr %t849 - %t855 = call ptr @fn_str_concat(ptr @.str7749, ptr %t854) - %t856 = call ptr @fn_str_concat(ptr %t855, ptr @.str7750) + %t855 = call ptr @fn_str_concat(ptr @.str8267, ptr %t854) + %t856 = call ptr @fn_str_concat(ptr %t855, ptr @.str8268) %t857 = load ptr, ptr %t851 %t858 = call ptr @fn_str_concat(ptr %t856, ptr %t857) - %t859 = call ptr @fn_str_concat(ptr %t858, ptr @.str7751) + %t859 = call ptr @fn_str_concat(ptr %t858, ptr @.str8269) %t860 = load ptr, ptr %t853 %t861 = call ptr @fn_str_concat(ptr %t859, ptr %t860) - %t862 = call ptr @fn_str_concat(ptr %t861, ptr @.str7752) + %t862 = call ptr @fn_str_concat(ptr %t861, ptr @.str8270) call void @fn_emit(ptr %t862) %t863 = load ptr, ptr %t853 - %t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str7753) + %t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str8271) call void @fn_emit(ptr %t864) %t865 = load ptr, ptr %t0 %t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 7 @@ -77998,45 +87617,45 @@ then133: %t872 = call ptr @fn_emit_expr(ptr %t871) store ptr %t872, ptr %t873 %t874 = load ptr, ptr @g_g_src_name - %t875 = call ptr @fn_str_concat(ptr %t874, ptr @.str7754) + %t875 = call ptr @fn_str_concat(ptr %t874, ptr @.str8272) %t876 = load ptr, ptr %t0 %t877 = getelementptr inbounds %Cmp_Node, ptr %t876, i32 0, i32 8 %t878 = load i32, ptr %t877 %t879 = call ptr @fn_itoa(i32 %t878) %t880 = call ptr @fn_str_concat(ptr %t875, ptr %t879) - %t881 = call ptr @fn_str_concat(ptr %t880, ptr @.str7755) + %t881 = call ptr @fn_str_concat(ptr %t880, ptr @.str8273) %t882 = call ptr @fn_emit_str_const(ptr %t881) store ptr %t882, ptr %t883 - %t884 = call ptr @fn_emit_bind(ptr @.str7756) + %t884 = call ptr @fn_emit_bind(ptr @.str8274) store ptr %t884, ptr %t885 %t886 = load ptr, ptr %t885 - %t887 = call ptr @fn_str_concat(ptr @.str7757, ptr %t886) - %t888 = call ptr @fn_str_concat(ptr %t887, ptr @.str7758) + %t887 = call ptr @fn_str_concat(ptr @.str8275, ptr %t886) + %t888 = call ptr @fn_str_concat(ptr %t887, ptr @.str8276) %t889 = load ptr, ptr %t883 %t890 = call ptr @fn_str_concat(ptr %t888, ptr %t889) - %t891 = call ptr @fn_str_concat(ptr %t890, ptr @.str7759) + %t891 = call ptr @fn_str_concat(ptr %t890, ptr @.str8277) %t892 = load ptr, ptr %t873 %t893 = getelementptr inbounds %Cmp_Val, ptr %t892, i32 0, i32 0 %t894 = load ptr, ptr %t893 %t895 = call ptr @fn_str_concat(ptr %t891, ptr %t894) - %t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str7760) + %t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str8278) call void @fn_emit(ptr %t896) - call void @fn_emit(ptr @.str7761) + call void @fn_emit(ptr @.str8279) %t897 = load ptr, ptr %t851 - %t898 = call ptr @fn_str_concat(ptr %t897, ptr @.str7762) + %t898 = call ptr @fn_str_concat(ptr %t897, ptr @.str8280) call void @fn_emit(ptr %t898) - %t899 = call ptr @fn_val(ptr @.str7763, ptr @.str7764) + %t899 = call ptr @fn_val(ptr @.str8281, ptr @.str8282) store ptr %t899, ptr %retval br label %ret ifend135: %t901 = load ptr, ptr %t38 - %t902 = call i32 @fn_str_eq(ptr %t901, ptr @.str7765) + %t902 = call i32 @fn_str_eq(ptr %t901, ptr @.str8283) %t903 = icmp ne i32 %t902, 0 %t904 = zext i1 %t903 to i32 store i32 %t904, ptr %t900 br i1 %t903, label %sc136, label %scend137 sc136: - %t905 = call ptr @fn_find_fn(ptr @.str7766) + %t905 = call ptr @fn_find_fn(ptr @.str8284) %t906 = icmp eq ptr %t905, null %t907 = zext i1 %t906 to i32 %t908 = icmp ne i32 %t907, 0 @@ -78058,52 +87677,52 @@ then138: %t918 = load ptr, ptr %t917 %t919 = call ptr @fn_emit_expr(ptr %t918) store ptr %t919, ptr %t920 - %t921 = call ptr @fn_emit_bind(ptr @.str7767) + %t921 = call ptr @fn_emit_bind(ptr @.str8285) store ptr %t921, ptr %t922 %t923 = load ptr, ptr %t922 - %t924 = call ptr @fn_str_concat(ptr @.str7768, ptr %t923) - %t925 = call ptr @fn_str_concat(ptr %t924, ptr @.str7769) + %t924 = call ptr @fn_str_concat(ptr @.str8286, ptr %t923) + %t925 = call ptr @fn_str_concat(ptr %t924, ptr @.str8287) %t926 = call ptr @fn_emit_bind(ptr %t925) store ptr %t926, ptr %t927 %t928 = load ptr, ptr %t927 - %t929 = call ptr @fn_str_concat(ptr @.str7770, ptr %t928) - %t930 = call ptr @fn_str_concat(ptr %t929, ptr @.str7771) + %t929 = call ptr @fn_str_concat(ptr @.str8288, ptr %t928) + %t930 = call ptr @fn_str_concat(ptr %t929, ptr @.str8289) call void @fn_emit(ptr %t930) %t931 = load ptr, ptr %t922 - %t932 = call ptr @fn_str_concat(ptr @.str7772, ptr %t931) - %t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str7773) + %t932 = call ptr @fn_str_concat(ptr @.str8290, ptr %t931) + %t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str8291) %t934 = call ptr @fn_emit_bind(ptr %t933) store ptr %t934, ptr %t935 %t936 = load ptr, ptr %t920 - %t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str7775) - %t938 = call ptr @fn_str_concat(ptr @.str7774, ptr %t937) - %t939 = call ptr @fn_str_concat(ptr %t938, ptr @.str7776) + %t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str8293) + %t938 = call ptr @fn_str_concat(ptr @.str8292, ptr %t937) + %t939 = call ptr @fn_str_concat(ptr %t938, ptr @.str8294) %t940 = load ptr, ptr %t935 %t941 = call ptr @fn_str_concat(ptr %t939, ptr %t940) - %t942 = call ptr @fn_str_concat(ptr %t941, ptr @.str7777) + %t942 = call ptr @fn_str_concat(ptr %t941, ptr @.str8295) call void @fn_emit(ptr %t942) %t943 = load ptr, ptr %t922 - %t944 = call ptr @fn_str_concat(ptr @.str7778, ptr %t943) - %t945 = call ptr @fn_str_concat(ptr %t944, ptr @.str7779) + %t944 = call ptr @fn_str_concat(ptr @.str8296, ptr %t943) + %t945 = call ptr @fn_str_concat(ptr %t944, ptr @.str8297) %t946 = call ptr @fn_emit_bind(ptr %t945) store ptr %t946, ptr %t947 %t948 = load ptr, ptr %t947 - %t949 = call ptr @fn_str_concat(ptr @.str7780, ptr %t948) - %t950 = call ptr @fn_str_concat(ptr %t949, ptr @.str7781) + %t949 = call ptr @fn_str_concat(ptr @.str8298, ptr %t948) + %t950 = call ptr @fn_str_concat(ptr %t949, ptr @.str8299) call void @fn_emit(ptr %t950) %t951 = load ptr, ptr %t922 - %t952 = call ptr @fn_val(ptr %t951, ptr @.str7782) + %t952 = call ptr @fn_val(ptr %t951, ptr @.str8300) store ptr %t952, ptr %retval br label %ret ifend140: %t954 = load ptr, ptr %t38 - %t955 = call i32 @fn_str_eq(ptr %t954, ptr @.str7783) + %t955 = call i32 @fn_str_eq(ptr %t954, ptr @.str8301) %t956 = icmp ne i32 %t955, 0 %t957 = zext i1 %t956 to i32 store i32 %t957, ptr %t953 br i1 %t956, label %sc141, label %scend142 sc141: - %t958 = call ptr @fn_find_fn(ptr @.str7784) + %t958 = call ptr @fn_find_fn(ptr @.str8302) %t959 = icmp eq ptr %t958, null %t960 = zext i1 %t959 to i32 %t961 = icmp ne i32 %t960, 0 @@ -78125,53 +87744,53 @@ then143: %t971 = load ptr, ptr %t970 %t972 = call ptr @fn_emit_expr(ptr %t971) store ptr %t972, ptr %t973 - %t974 = call ptr @fn_emit_bind(ptr @.str7785) + %t974 = call ptr @fn_emit_bind(ptr @.str8303) store ptr %t974, ptr %t975 %t976 = load ptr, ptr %t975 - %t977 = call ptr @fn_str_concat(ptr @.str7786, ptr %t976) - %t978 = call ptr @fn_str_concat(ptr %t977, ptr @.str7787) + %t977 = call ptr @fn_str_concat(ptr @.str8304, ptr %t976) + %t978 = call ptr @fn_str_concat(ptr %t977, ptr @.str8305) %t979 = call ptr @fn_emit_bind(ptr %t978) store ptr %t979, ptr %t980 %t981 = load ptr, ptr %t980 - %t982 = call ptr @fn_str_concat(ptr @.str7788, ptr %t981) - %t983 = call ptr @fn_str_concat(ptr %t982, ptr @.str7789) + %t982 = call ptr @fn_str_concat(ptr @.str8306, ptr %t981) + %t983 = call ptr @fn_str_concat(ptr %t982, ptr @.str8307) call void @fn_emit(ptr %t983) %t984 = load ptr, ptr %t975 - %t985 = call ptr @fn_str_concat(ptr @.str7790, ptr %t984) - %t986 = call ptr @fn_str_concat(ptr %t985, ptr @.str7791) + %t985 = call ptr @fn_str_concat(ptr @.str8308, ptr %t984) + %t986 = call ptr @fn_str_concat(ptr %t985, ptr @.str8309) %t987 = call ptr @fn_emit_bind(ptr %t986) store ptr %t987, ptr %t988 %t989 = load ptr, ptr %t988 - %t990 = call ptr @fn_str_concat(ptr @.str7792, ptr %t989) - %t991 = call ptr @fn_str_concat(ptr %t990, ptr @.str7793) + %t990 = call ptr @fn_str_concat(ptr @.str8310, ptr %t989) + %t991 = call ptr @fn_str_concat(ptr %t990, ptr @.str8311) call void @fn_emit(ptr %t991) %t992 = load ptr, ptr %t975 - %t993 = call ptr @fn_str_concat(ptr @.str7794, ptr %t992) - %t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str7795) + %t993 = call ptr @fn_str_concat(ptr @.str8312, ptr %t992) + %t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str8313) %t995 = call ptr @fn_emit_bind(ptr %t994) store ptr %t995, ptr %t996 %t997 = load ptr, ptr %t973 %t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0 %t999 = load ptr, ptr %t998 - %t1000 = call ptr @fn_str_concat(ptr @.str7796, ptr %t999) - %t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str7797) + %t1000 = call ptr @fn_str_concat(ptr @.str8314, ptr %t999) + %t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str8315) %t1002 = load ptr, ptr %t996 %t1003 = call ptr @fn_str_concat(ptr %t1001, ptr %t1002) - %t1004 = call ptr @fn_str_concat(ptr %t1003, ptr @.str7798) + %t1004 = call ptr @fn_str_concat(ptr %t1003, ptr @.str8316) call void @fn_emit(ptr %t1004) %t1005 = load ptr, ptr %t975 - %t1006 = call ptr @fn_val(ptr %t1005, ptr @.str7799) + %t1006 = call ptr @fn_val(ptr %t1005, ptr @.str8317) store ptr %t1006, ptr %retval br label %ret ifend145: %t1008 = load ptr, ptr %t38 - %t1009 = call i32 @fn_str_eq(ptr %t1008, ptr @.str7800) + %t1009 = call i32 @fn_str_eq(ptr %t1008, ptr @.str8318) %t1010 = icmp ne i32 %t1009, 0 %t1011 = zext i1 %t1010 to i32 store i32 %t1011, ptr %t1007 br i1 %t1010, label %sc146, label %scend147 sc146: - %t1012 = call ptr @fn_find_fn(ptr @.str7801) + %t1012 = call ptr @fn_find_fn(ptr @.str8319) %t1013 = icmp eq ptr %t1012, null %t1014 = zext i1 %t1013 to i32 %t1015 = icmp ne i32 %t1014, 0 @@ -78195,35 +87814,35 @@ then148: %t1028 = load ptr, ptr %t1027 %t1029 = getelementptr inbounds %Cmp_Val, ptr %t1028, i32 0, i32 0 %t1030 = load ptr, ptr %t1029 - %t1031 = call ptr @fn_str_concat(ptr @.str7802, ptr %t1030) - %t1032 = call ptr @fn_str_concat(ptr %t1031, ptr @.str7803) + %t1031 = call ptr @fn_str_concat(ptr @.str8320, ptr %t1030) + %t1032 = call ptr @fn_str_concat(ptr %t1031, ptr @.str8321) %t1033 = call ptr @fn_emit_bind(ptr %t1032) store ptr %t1033, ptr %t1034 %t1035 = load ptr, ptr %t1034 - %t1036 = call ptr @fn_str_concat(ptr @.str7804, ptr %t1035) + %t1036 = call ptr @fn_str_concat(ptr @.str8322, ptr %t1035) %t1037 = call ptr @fn_emit_bind(ptr %t1036) store ptr %t1037, ptr %t1038 %t1039 = load ptr, ptr %t1038 - %t1040 = call ptr @fn_str_concat(ptr @.str7805, ptr %t1039) - %t1041 = call ptr @fn_str_concat(ptr %t1040, ptr @.str7806) + %t1040 = call ptr @fn_str_concat(ptr @.str8323, ptr %t1039) + %t1041 = call ptr @fn_str_concat(ptr %t1040, ptr @.str8324) %t1042 = call ptr @fn_emit_bind(ptr %t1041) store ptr %t1042, ptr %t1043 %t1044 = load ptr, ptr %t1043 - %t1045 = call ptr @fn_str_concat(ptr @.str7807, ptr %t1044) - %t1046 = call ptr @fn_str_concat(ptr %t1045, ptr @.str7808) + %t1045 = call ptr @fn_str_concat(ptr @.str8325, ptr %t1044) + %t1046 = call ptr @fn_str_concat(ptr %t1045, ptr @.str8326) %t1047 = call ptr @fn_emit_bind(ptr %t1046) - %t1048 = call ptr @fn_val(ptr %t1047, ptr @.str7809) + %t1048 = call ptr @fn_val(ptr %t1047, ptr @.str8327) store ptr %t1048, ptr %retval br label %ret ifend150: %t1050 = load ptr, ptr %t38 - %t1051 = call i32 @fn_str_eq(ptr %t1050, ptr @.str7810) + %t1051 = call i32 @fn_str_eq(ptr %t1050, ptr @.str8328) %t1052 = icmp ne i32 %t1051, 0 %t1053 = zext i1 %t1052 to i32 store i32 %t1053, ptr %t1049 br i1 %t1052, label %sc151, label %scend152 sc151: - %t1054 = call ptr @fn_find_fn(ptr @.str7811) + %t1054 = call ptr @fn_find_fn(ptr @.str8329) %t1055 = icmp eq ptr %t1054, null %t1056 = zext i1 %t1055 to i32 %t1057 = icmp ne i32 %t1056, 0 @@ -78247,35 +87866,35 @@ then153: %t1070 = load ptr, ptr %t1069 %t1071 = getelementptr inbounds %Cmp_Val, ptr %t1070, i32 0, i32 0 %t1072 = load ptr, ptr %t1071 - %t1073 = call ptr @fn_str_concat(ptr @.str7812, ptr %t1072) - %t1074 = call ptr @fn_str_concat(ptr %t1073, ptr @.str7813) + %t1073 = call ptr @fn_str_concat(ptr @.str8330, ptr %t1072) + %t1074 = call ptr @fn_str_concat(ptr %t1073, ptr @.str8331) %t1075 = call ptr @fn_emit_bind(ptr %t1074) store ptr %t1075, ptr %t1076 %t1077 = load ptr, ptr %t1076 - %t1078 = call ptr @fn_str_concat(ptr @.str7814, ptr %t1077) + %t1078 = call ptr @fn_str_concat(ptr @.str8332, ptr %t1077) %t1079 = call ptr @fn_emit_bind(ptr %t1078) store ptr %t1079, ptr %t1080 %t1081 = load ptr, ptr %t1080 - %t1082 = call ptr @fn_str_concat(ptr @.str7815, ptr %t1081) - %t1083 = call ptr @fn_str_concat(ptr %t1082, ptr @.str7816) + %t1082 = call ptr @fn_str_concat(ptr @.str8333, ptr %t1081) + %t1083 = call ptr @fn_str_concat(ptr %t1082, ptr @.str8334) %t1084 = call ptr @fn_emit_bind(ptr %t1083) store ptr %t1084, ptr %t1085 %t1086 = load ptr, ptr %t1085 - %t1087 = call ptr @fn_str_concat(ptr @.str7817, ptr %t1086) - %t1088 = call ptr @fn_str_concat(ptr %t1087, ptr @.str7818) + %t1087 = call ptr @fn_str_concat(ptr @.str8335, ptr %t1086) + %t1088 = call ptr @fn_str_concat(ptr %t1087, ptr @.str8336) %t1089 = call ptr @fn_emit_bind(ptr %t1088) - %t1090 = call ptr @fn_val(ptr %t1089, ptr @.str7819) + %t1090 = call ptr @fn_val(ptr %t1089, ptr @.str8337) store ptr %t1090, ptr %retval br label %ret ifend155: %t1092 = load ptr, ptr %t38 - %t1093 = call i32 @fn_str_eq(ptr %t1092, ptr @.str7820) + %t1093 = call i32 @fn_str_eq(ptr %t1092, ptr @.str8338) %t1094 = icmp ne i32 %t1093, 0 %t1095 = zext i1 %t1094 to i32 store i32 %t1095, ptr %t1091 br i1 %t1094, label %sc156, label %scend157 sc156: - %t1096 = call ptr @fn_find_fn(ptr @.str7821) + %t1096 = call ptr @fn_find_fn(ptr @.str8339) %t1097 = icmp eq ptr %t1096, null %t1098 = zext i1 %t1097 to i32 %t1099 = icmp ne i32 %t1098, 0 @@ -78297,43 +87916,43 @@ then158: %t1109 = load ptr, ptr %t1108 %t1110 = call ptr @fn_emit_expr(ptr %t1109) store ptr %t1110, ptr %t1111 - %t1112 = call ptr @fn_emit_bind(ptr @.str7822) + %t1112 = call ptr @fn_emit_bind(ptr @.str8340) store ptr %t1112, ptr %t1113 %t1114 = load ptr, ptr %t1113 - %t1115 = call ptr @fn_str_concat(ptr @.str7823, ptr %t1114) - %t1116 = call ptr @fn_str_concat(ptr %t1115, ptr @.str7824) + %t1115 = call ptr @fn_str_concat(ptr @.str8341, ptr %t1114) + %t1116 = call ptr @fn_str_concat(ptr %t1115, ptr @.str8342) %t1117 = call ptr @fn_emit_bind(ptr %t1116) store ptr %t1117, ptr %t1118 %t1119 = load ptr, ptr %t1118 - %t1120 = call ptr @fn_str_concat(ptr @.str7825, ptr %t1119) - %t1121 = call ptr @fn_str_concat(ptr %t1120, ptr @.str7826) + %t1120 = call ptr @fn_str_concat(ptr @.str8343, ptr %t1119) + %t1121 = call ptr @fn_str_concat(ptr %t1120, ptr @.str8344) call void @fn_emit(ptr %t1121) %t1122 = load ptr, ptr %t1113 - %t1123 = call ptr @fn_str_concat(ptr @.str7827, ptr %t1122) - %t1124 = call ptr @fn_str_concat(ptr %t1123, ptr @.str7828) + %t1123 = call ptr @fn_str_concat(ptr @.str8345, ptr %t1122) + %t1124 = call ptr @fn_str_concat(ptr %t1123, ptr @.str8346) %t1125 = call ptr @fn_emit_bind(ptr %t1124) store ptr %t1125, ptr %t1126 %t1127 = load ptr, ptr %t1111 - %t1128 = call ptr @fn_coerce_code(ptr %t1127, ptr @.str7830) - %t1129 = call ptr @fn_str_concat(ptr @.str7829, ptr %t1128) - %t1130 = call ptr @fn_str_concat(ptr %t1129, ptr @.str7831) + %t1128 = call ptr @fn_coerce_code(ptr %t1127, ptr @.str8348) + %t1129 = call ptr @fn_str_concat(ptr @.str8347, ptr %t1128) + %t1130 = call ptr @fn_str_concat(ptr %t1129, ptr @.str8349) %t1131 = load ptr, ptr %t1126 %t1132 = call ptr @fn_str_concat(ptr %t1130, ptr %t1131) - %t1133 = call ptr @fn_str_concat(ptr %t1132, ptr @.str7832) + %t1133 = call ptr @fn_str_concat(ptr %t1132, ptr @.str8350) call void @fn_emit(ptr %t1133) %t1134 = load ptr, ptr %t1113 - %t1135 = call ptr @fn_val(ptr %t1134, ptr @.str7833) + %t1135 = call ptr @fn_val(ptr %t1134, ptr @.str8351) store ptr %t1135, ptr %retval br label %ret ifend160: %t1137 = load ptr, ptr %t38 - %t1138 = call i32 @fn_str_eq(ptr %t1137, ptr @.str7834) + %t1138 = call i32 @fn_str_eq(ptr %t1137, ptr @.str8352) %t1139 = icmp ne i32 %t1138, 0 %t1140 = zext i1 %t1139 to i32 store i32 %t1140, ptr %t1136 br i1 %t1139, label %sc161, label %scend162 sc161: - %t1141 = call ptr @fn_find_fn(ptr @.str7835) + %t1141 = call ptr @fn_find_fn(ptr @.str8353) %t1142 = icmp eq ptr %t1141, null %t1143 = zext i1 %t1142 to i32 %t1144 = icmp ne i32 %t1143, 0 @@ -78346,39 +87965,39 @@ scend162: br i1 %t1147, label %then163, label %ifend165 then163: store i32 1, ptr @g_g_uses_option - %t1148 = call ptr @fn_emit_bind(ptr @.str7836) + %t1148 = call ptr @fn_emit_bind(ptr @.str8354) store ptr %t1148, ptr %t1149 %t1150 = load ptr, ptr %t1149 - %t1151 = call ptr @fn_str_concat(ptr @.str7837, ptr %t1150) - %t1152 = call ptr @fn_str_concat(ptr %t1151, ptr @.str7838) + %t1151 = call ptr @fn_str_concat(ptr @.str8355, ptr %t1150) + %t1152 = call ptr @fn_str_concat(ptr %t1151, ptr @.str8356) %t1153 = call ptr @fn_emit_bind(ptr %t1152) store ptr %t1153, ptr %t1154 %t1155 = load ptr, ptr %t1154 - %t1156 = call ptr @fn_str_concat(ptr @.str7839, ptr %t1155) - %t1157 = call ptr @fn_str_concat(ptr %t1156, ptr @.str7840) + %t1156 = call ptr @fn_str_concat(ptr @.str8357, ptr %t1155) + %t1157 = call ptr @fn_str_concat(ptr %t1156, ptr @.str8358) call void @fn_emit(ptr %t1157) %t1158 = load ptr, ptr %t1149 - %t1159 = call ptr @fn_str_concat(ptr @.str7841, ptr %t1158) - %t1160 = call ptr @fn_str_concat(ptr %t1159, ptr @.str7842) + %t1159 = call ptr @fn_str_concat(ptr @.str8359, ptr %t1158) + %t1160 = call ptr @fn_str_concat(ptr %t1159, ptr @.str8360) %t1161 = call ptr @fn_emit_bind(ptr %t1160) store ptr %t1161, ptr %t1162 %t1163 = load ptr, ptr %t1162 - %t1164 = call ptr @fn_str_concat(ptr @.str7843, ptr %t1163) - %t1165 = call ptr @fn_str_concat(ptr %t1164, ptr @.str7844) + %t1164 = call ptr @fn_str_concat(ptr @.str8361, ptr %t1163) + %t1165 = call ptr @fn_str_concat(ptr %t1164, ptr @.str8362) call void @fn_emit(ptr %t1165) %t1166 = load ptr, ptr %t1149 - %t1167 = call ptr @fn_val(ptr %t1166, ptr @.str7845) + %t1167 = call ptr @fn_val(ptr %t1166, ptr @.str8363) store ptr %t1167, ptr %retval br label %ret ifend165: %t1169 = load ptr, ptr %t38 - %t1170 = call i32 @fn_str_eq(ptr %t1169, ptr @.str7846) + %t1170 = call i32 @fn_str_eq(ptr %t1169, ptr @.str8364) %t1171 = icmp ne i32 %t1170, 0 %t1172 = zext i1 %t1171 to i32 store i32 %t1172, ptr %t1168 br i1 %t1171, label %sc166, label %scend167 sc166: - %t1173 = call ptr @fn_find_fn(ptr @.str7847) + %t1173 = call ptr @fn_find_fn(ptr @.str8365) %t1174 = icmp eq ptr %t1173, null %t1175 = zext i1 %t1174 to i32 %t1176 = icmp ne i32 %t1175, 0 @@ -78402,35 +88021,35 @@ then168: %t1189 = load ptr, ptr %t1188 %t1190 = getelementptr inbounds %Cmp_Val, ptr %t1189, i32 0, i32 0 %t1191 = load ptr, ptr %t1190 - %t1192 = call ptr @fn_str_concat(ptr @.str7848, ptr %t1191) - %t1193 = call ptr @fn_str_concat(ptr %t1192, ptr @.str7849) + %t1192 = call ptr @fn_str_concat(ptr @.str8366, ptr %t1191) + %t1193 = call ptr @fn_str_concat(ptr %t1192, ptr @.str8367) %t1194 = call ptr @fn_emit_bind(ptr %t1193) store ptr %t1194, ptr %t1195 %t1196 = load ptr, ptr %t1195 - %t1197 = call ptr @fn_str_concat(ptr @.str7850, ptr %t1196) + %t1197 = call ptr @fn_str_concat(ptr @.str8368, ptr %t1196) %t1198 = call ptr @fn_emit_bind(ptr %t1197) store ptr %t1198, ptr %t1199 %t1200 = load ptr, ptr %t1199 - %t1201 = call ptr @fn_str_concat(ptr @.str7851, ptr %t1200) - %t1202 = call ptr @fn_str_concat(ptr %t1201, ptr @.str7852) + %t1201 = call ptr @fn_str_concat(ptr @.str8369, ptr %t1200) + %t1202 = call ptr @fn_str_concat(ptr %t1201, ptr @.str8370) %t1203 = call ptr @fn_emit_bind(ptr %t1202) store ptr %t1203, ptr %t1204 %t1205 = load ptr, ptr %t1204 - %t1206 = call ptr @fn_str_concat(ptr @.str7853, ptr %t1205) - %t1207 = call ptr @fn_str_concat(ptr %t1206, ptr @.str7854) + %t1206 = call ptr @fn_str_concat(ptr @.str8371, ptr %t1205) + %t1207 = call ptr @fn_str_concat(ptr %t1206, ptr @.str8372) %t1208 = call ptr @fn_emit_bind(ptr %t1207) - %t1209 = call ptr @fn_val(ptr %t1208, ptr @.str7855) + %t1209 = call ptr @fn_val(ptr %t1208, ptr @.str8373) store ptr %t1209, ptr %retval br label %ret ifend170: %t1211 = load ptr, ptr %t38 - %t1212 = call i32 @fn_str_eq(ptr %t1211, ptr @.str7856) + %t1212 = call i32 @fn_str_eq(ptr %t1211, ptr @.str8374) %t1213 = icmp ne i32 %t1212, 0 %t1214 = zext i1 %t1213 to i32 store i32 %t1214, ptr %t1210 br i1 %t1213, label %sc171, label %scend172 sc171: - %t1215 = call ptr @fn_find_fn(ptr @.str7857) + %t1215 = call ptr @fn_find_fn(ptr @.str8375) %t1216 = icmp eq ptr %t1215, null %t1217 = zext i1 %t1216 to i32 %t1218 = icmp ne i32 %t1217, 0 @@ -78454,35 +88073,35 @@ then173: %t1231 = load ptr, ptr %t1230 %t1232 = getelementptr inbounds %Cmp_Val, ptr %t1231, i32 0, i32 0 %t1233 = load ptr, ptr %t1232 - %t1234 = call ptr @fn_str_concat(ptr @.str7858, ptr %t1233) - %t1235 = call ptr @fn_str_concat(ptr %t1234, ptr @.str7859) + %t1234 = call ptr @fn_str_concat(ptr @.str8376, ptr %t1233) + %t1235 = call ptr @fn_str_concat(ptr %t1234, ptr @.str8377) %t1236 = call ptr @fn_emit_bind(ptr %t1235) store ptr %t1236, ptr %t1237 %t1238 = load ptr, ptr %t1237 - %t1239 = call ptr @fn_str_concat(ptr @.str7860, ptr %t1238) + %t1239 = call ptr @fn_str_concat(ptr @.str8378, ptr %t1238) %t1240 = call ptr @fn_emit_bind(ptr %t1239) store ptr %t1240, ptr %t1241 %t1242 = load ptr, ptr %t1241 - %t1243 = call ptr @fn_str_concat(ptr @.str7861, ptr %t1242) - %t1244 = call ptr @fn_str_concat(ptr %t1243, ptr @.str7862) + %t1243 = call ptr @fn_str_concat(ptr @.str8379, ptr %t1242) + %t1244 = call ptr @fn_str_concat(ptr %t1243, ptr @.str8380) %t1245 = call ptr @fn_emit_bind(ptr %t1244) store ptr %t1245, ptr %t1246 %t1247 = load ptr, ptr %t1246 - %t1248 = call ptr @fn_str_concat(ptr @.str7863, ptr %t1247) - %t1249 = call ptr @fn_str_concat(ptr %t1248, ptr @.str7864) + %t1248 = call ptr @fn_str_concat(ptr @.str8381, ptr %t1247) + %t1249 = call ptr @fn_str_concat(ptr %t1248, ptr @.str8382) %t1250 = call ptr @fn_emit_bind(ptr %t1249) - %t1251 = call ptr @fn_val(ptr %t1250, ptr @.str7865) + %t1251 = call ptr @fn_val(ptr %t1250, ptr @.str8383) store ptr %t1251, ptr %retval br label %ret ifend175: %t1253 = load ptr, ptr %t38 - %t1254 = call i32 @fn_str_eq(ptr %t1253, ptr @.str7866) + %t1254 = call i32 @fn_str_eq(ptr %t1253, ptr @.str8384) %t1255 = icmp ne i32 %t1254, 0 %t1256 = zext i1 %t1255 to i32 store i32 %t1256, ptr %t1252 br i1 %t1255, label %sc176, label %scend177 sc176: - %t1257 = call ptr @fn_find_fn(ptr @.str7867) + %t1257 = call ptr @fn_find_fn(ptr @.str8385) %t1258 = icmp eq ptr %t1257, null %t1259 = zext i1 %t1258 to i32 %t1260 = icmp ne i32 %t1259, 0 @@ -78515,46 +88134,46 @@ then178: %t1282 = load ptr, ptr %t1272 %t1283 = getelementptr inbounds %Cmp_Val, ptr %t1282, i32 0, i32 0 %t1284 = load ptr, ptr %t1283 - %t1285 = call ptr @fn_str_concat(ptr @.str7868, ptr %t1284) - %t1286 = call ptr @fn_str_concat(ptr %t1285, ptr @.str7869) + %t1285 = call ptr @fn_str_concat(ptr @.str8386, ptr %t1284) + %t1286 = call ptr @fn_str_concat(ptr %t1285, ptr @.str8387) %t1287 = call ptr @fn_emit_bind(ptr %t1286) store ptr %t1287, ptr %t1288 %t1289 = load ptr, ptr %t1288 - %t1290 = call ptr @fn_str_concat(ptr @.str7870, ptr %t1289) + %t1290 = call ptr @fn_str_concat(ptr @.str8388, ptr %t1289) %t1291 = call ptr @fn_emit_bind(ptr %t1290) store ptr %t1291, ptr %t1292 %t1293 = load ptr, ptr %t1272 %t1294 = getelementptr inbounds %Cmp_Val, ptr %t1293, i32 0, i32 0 %t1295 = load ptr, ptr %t1294 - %t1296 = call ptr @fn_str_concat(ptr @.str7871, ptr %t1295) - %t1297 = call ptr @fn_str_concat(ptr %t1296, ptr @.str7872) + %t1296 = call ptr @fn_str_concat(ptr @.str8389, ptr %t1295) + %t1297 = call ptr @fn_str_concat(ptr %t1296, ptr @.str8390) %t1298 = call ptr @fn_emit_bind(ptr %t1297) store ptr %t1298, ptr %t1299 %t1300 = load ptr, ptr %t1299 - %t1301 = call ptr @fn_str_concat(ptr @.str7873, ptr %t1300) + %t1301 = call ptr @fn_str_concat(ptr @.str8391, ptr %t1300) %t1302 = call ptr @fn_emit_bind(ptr %t1301) store ptr %t1302, ptr %t1303 %t1304 = load ptr, ptr %t1292 - %t1305 = call ptr @fn_str_concat(ptr @.str7874, ptr %t1304) - %t1306 = call ptr @fn_str_concat(ptr %t1305, ptr @.str7875) + %t1305 = call ptr @fn_str_concat(ptr @.str8392, ptr %t1304) + %t1306 = call ptr @fn_str_concat(ptr %t1305, ptr @.str8393) %t1307 = call ptr @fn_emit_bind(ptr %t1306) store ptr %t1307, ptr %t1308 %t1309 = load ptr, ptr %t1308 - %t1310 = call ptr @fn_str_concat(ptr @.str7876, ptr %t1309) - %t1311 = call ptr @fn_str_concat(ptr %t1310, ptr @.str7877) + %t1310 = call ptr @fn_str_concat(ptr @.str8394, ptr %t1309) + %t1311 = call ptr @fn_str_concat(ptr %t1310, ptr @.str8395) %t1312 = load ptr, ptr %t1303 %t1313 = call ptr @fn_str_concat(ptr %t1311, ptr %t1312) - %t1314 = call ptr @fn_str_concat(ptr %t1313, ptr @.str7878) + %t1314 = call ptr @fn_str_concat(ptr %t1313, ptr @.str8396) %t1315 = load ptr, ptr %t1281 - %t1316 = call ptr @fn_coerce_code(ptr %t1315, ptr @.str7879) + %t1316 = call ptr @fn_coerce_code(ptr %t1315, ptr @.str8397) %t1317 = call ptr @fn_str_concat(ptr %t1314, ptr %t1316) %t1318 = call ptr @fn_emit_bind(ptr %t1317) - %t1319 = call ptr @fn_val(ptr %t1318, ptr @.str7880) + %t1319 = call ptr @fn_val(ptr %t1318, ptr @.str8398) store ptr %t1319, ptr %retval br label %ret ifend180: %t1320 = load ptr, ptr %t38 - %t1321 = call i32 @fn_str_eq(ptr %t1320, ptr @.str7881) + %t1321 = call i32 @fn_str_eq(ptr %t1320, ptr @.str8399) %t1322 = icmp ne i32 %t1321, 0 br i1 %t1322, label %then181, label %ifend183 then181: @@ -78570,15 +88189,15 @@ then181: %t1332 = load ptr, ptr %t1331 %t1333 = getelementptr inbounds %Cmp_Val, ptr %t1332, i32 0, i32 0 %t1334 = load ptr, ptr %t1333 - %t1335 = call ptr @fn_str_concat(ptr @.str7882, ptr %t1334) - %t1336 = call ptr @fn_str_concat(ptr %t1335, ptr @.str7883) + %t1335 = call ptr @fn_str_concat(ptr @.str8400, ptr %t1334) + %t1336 = call ptr @fn_str_concat(ptr %t1335, ptr @.str8401) %t1337 = call ptr @fn_emit_bind(ptr %t1336) - %t1338 = call ptr @fn_val(ptr %t1337, ptr @.str7884) + %t1338 = call ptr @fn_val(ptr %t1337, ptr @.str8402) store ptr %t1338, ptr %retval br label %ret ifend183: %t1339 = load ptr, ptr %t38 - %t1340 = call i32 @fn_str_eq(ptr %t1339, ptr @.str7885) + %t1340 = call i32 @fn_str_eq(ptr %t1339, ptr @.str8403) %t1341 = icmp ne i32 %t1340, 0 br i1 %t1341, label %then184, label %ifend186 then184: @@ -78603,20 +88222,20 @@ then184: %t1360 = load ptr, ptr %t1350 %t1361 = getelementptr inbounds %Cmp_Val, ptr %t1360, i32 0, i32 0 %t1362 = load ptr, ptr %t1361 - %t1363 = call ptr @fn_str_concat(ptr @.str7886, ptr %t1362) - %t1364 = call ptr @fn_str_concat(ptr %t1363, ptr @.str7887) + %t1363 = call ptr @fn_str_concat(ptr @.str8404, ptr %t1362) + %t1364 = call ptr @fn_str_concat(ptr %t1363, ptr @.str8405) %t1365 = load ptr, ptr %t1359 %t1366 = getelementptr inbounds %Cmp_Val, ptr %t1365, i32 0, i32 0 %t1367 = load ptr, ptr %t1366 %t1368 = call ptr @fn_str_concat(ptr %t1364, ptr %t1367) - %t1369 = call ptr @fn_str_concat(ptr %t1368, ptr @.str7888) + %t1369 = call ptr @fn_str_concat(ptr %t1368, ptr @.str8406) %t1370 = call ptr @fn_emit_bind(ptr %t1369) - %t1371 = call ptr @fn_val(ptr %t1370, ptr @.str7889) + %t1371 = call ptr @fn_val(ptr %t1370, ptr @.str8407) store ptr %t1371, ptr %retval br label %ret ifend186: %t1372 = load ptr, ptr %t38 - %t1373 = call i32 @fn_str_eq(ptr %t1372, ptr @.str7890) + %t1373 = call i32 @fn_str_eq(ptr %t1372, ptr @.str8408) %t1374 = icmp ne i32 %t1373, 0 br i1 %t1374, label %then187, label %ifend189 then187: @@ -78650,30 +88269,30 @@ then187: %t1402 = load ptr, ptr %t1383 %t1403 = getelementptr inbounds %Cmp_Val, ptr %t1402, i32 0, i32 0 %t1404 = load ptr, ptr %t1403 - %t1405 = call ptr @fn_str_concat(ptr @.str7891, ptr %t1404) - %t1406 = call ptr @fn_str_concat(ptr %t1405, ptr @.str7892) + %t1405 = call ptr @fn_str_concat(ptr @.str8409, ptr %t1404) + %t1406 = call ptr @fn_str_concat(ptr %t1405, ptr @.str8410) %t1407 = load ptr, ptr %t1392 %t1408 = getelementptr inbounds %Cmp_Val, ptr %t1407, i32 0, i32 0 %t1409 = load ptr, ptr %t1408 %t1410 = call ptr @fn_str_concat(ptr %t1406, ptr %t1409) - %t1411 = call ptr @fn_str_concat(ptr %t1410, ptr @.str7893) + %t1411 = call ptr @fn_str_concat(ptr %t1410, ptr @.str8411) %t1412 = load ptr, ptr %t1401 %t1413 = getelementptr inbounds %Cmp_Val, ptr %t1412, i32 0, i32 0 %t1414 = load ptr, ptr %t1413 %t1415 = call ptr @fn_str_concat(ptr %t1411, ptr %t1414) - %t1416 = call ptr @fn_str_concat(ptr %t1415, ptr @.str7894) + %t1416 = call ptr @fn_str_concat(ptr %t1415, ptr @.str8412) %t1417 = call ptr @fn_emit_bind(ptr %t1416) store ptr %t1417, ptr %t1418 %t1419 = load ptr, ptr %t1418 - %t1420 = call ptr @fn_str_concat(ptr @.str7895, ptr %t1419) - %t1421 = call ptr @fn_str_concat(ptr %t1420, ptr @.str7896) + %t1420 = call ptr @fn_str_concat(ptr @.str8413, ptr %t1419) + %t1421 = call ptr @fn_str_concat(ptr %t1420, ptr @.str8414) %t1422 = call ptr @fn_emit_bind(ptr %t1421) - %t1423 = call ptr @fn_val(ptr %t1422, ptr @.str7897) + %t1423 = call ptr @fn_val(ptr %t1422, ptr @.str8415) store ptr %t1423, ptr %retval br label %ret ifend189: %t1424 = load ptr, ptr %t38 - %t1425 = call i32 @fn_str_eq(ptr %t1424, ptr @.str7898) + %t1425 = call i32 @fn_str_eq(ptr %t1424, ptr @.str8416) %t1426 = icmp ne i32 %t1425, 0 br i1 %t1426, label %then190, label %ifend192 then190: @@ -78716,35 +88335,35 @@ then190: %t1463 = load ptr, ptr %t1462 %t1464 = getelementptr inbounds %Cmp_Val, ptr %t1463, i32 0, i32 0 %t1465 = load ptr, ptr %t1464 - %t1466 = call ptr @fn_str_concat(ptr @.str7899, ptr %t1465) - %t1467 = call ptr @fn_str_concat(ptr %t1466, ptr @.str7900) + %t1466 = call ptr @fn_str_concat(ptr @.str8417, ptr %t1465) + %t1467 = call ptr @fn_str_concat(ptr %t1466, ptr @.str8418) %t1468 = call ptr @fn_emit_bind(ptr %t1467) store ptr %t1468, ptr %t1469 - call void @fn_emit(ptr @.str7901) + call void @fn_emit(ptr @.str8419) %t1470 = load ptr, ptr %t1435 %t1471 = getelementptr inbounds %Cmp_Val, ptr %t1470, i32 0, i32 0 %t1472 = load ptr, ptr %t1471 call void @fn_emit(ptr %t1472) - call void @fn_emit(ptr @.str7902) + call void @fn_emit(ptr @.str8420) %t1473 = load ptr, ptr %t1444 %t1474 = getelementptr inbounds %Cmp_Val, ptr %t1473, i32 0, i32 0 %t1475 = load ptr, ptr %t1474 call void @fn_emit(ptr %t1475) - call void @fn_emit(ptr @.str7903) + call void @fn_emit(ptr @.str8421) %t1476 = load ptr, ptr %t1453 %t1477 = getelementptr inbounds %Cmp_Val, ptr %t1476, i32 0, i32 0 %t1478 = load ptr, ptr %t1477 call void @fn_emit(ptr %t1478) - call void @fn_emit(ptr @.str7904) + call void @fn_emit(ptr @.str8422) %t1479 = load ptr, ptr %t1469 call void @fn_emit(ptr %t1479) - call void @fn_emit(ptr @.str7905) - %t1480 = call ptr @fn_val(ptr @.str7906, ptr @.str7907) + call void @fn_emit(ptr @.str8423) + %t1480 = call ptr @fn_val(ptr @.str8424, ptr @.str8425) store ptr %t1480, ptr %retval br label %ret ifend192: %t1481 = load ptr, ptr %t38 - %t1482 = call i32 @fn_str_eq(ptr %t1481, ptr @.str7908) + %t1482 = call i32 @fn_str_eq(ptr %t1481, ptr @.str8426) %t1483 = icmp ne i32 %t1482, 0 br i1 %t1483, label %then193, label %ifend195 then193: @@ -78769,30 +88388,30 @@ then193: %t1502 = load ptr, ptr %t1492 %t1503 = getelementptr inbounds %Cmp_Val, ptr %t1502, i32 0, i32 0 %t1504 = load ptr, ptr %t1503 - %t1505 = call ptr @fn_str_concat(ptr @.str7909, ptr %t1504) - %t1506 = call ptr @fn_str_concat(ptr %t1505, ptr @.str7910) + %t1505 = call ptr @fn_str_concat(ptr @.str8427, ptr %t1504) + %t1506 = call ptr @fn_str_concat(ptr %t1505, ptr @.str8428) %t1507 = load ptr, ptr %t1501 %t1508 = getelementptr inbounds %Cmp_Val, ptr %t1507, i32 0, i32 0 %t1509 = load ptr, ptr %t1508 %t1510 = call ptr @fn_str_concat(ptr %t1506, ptr %t1509) - %t1511 = call ptr @fn_str_concat(ptr %t1510, ptr @.str7911) + %t1511 = call ptr @fn_str_concat(ptr %t1510, ptr @.str8429) %t1512 = call ptr @fn_emit_bind(ptr %t1511) - %t1513 = call ptr @fn_val(ptr %t1512, ptr @.str7912) + %t1513 = call ptr @fn_val(ptr %t1512, ptr @.str8430) store ptr %t1513, ptr %retval br label %ret ifend195: %t1514 = load ptr, ptr %t38 - %t1515 = call i32 @fn_str_eq(ptr %t1514, ptr @.str7913) + %t1515 = call i32 @fn_str_eq(ptr %t1514, ptr @.str8431) %t1516 = icmp ne i32 %t1515, 0 br i1 %t1516, label %then196, label %ifend198 then196: - %t1517 = call ptr @fn_emit_bind(ptr @.str7914) - %t1518 = call ptr @fn_val(ptr %t1517, ptr @.str7915) + %t1517 = call ptr @fn_emit_bind(ptr @.str8432) + %t1518 = call ptr @fn_val(ptr %t1517, ptr @.str8433) store ptr %t1518, ptr %retval br label %ret ifend198: %t1519 = load ptr, ptr %t38 - %t1520 = call i32 @fn_str_eq(ptr %t1519, ptr @.str7916) + %t1520 = call i32 @fn_str_eq(ptr %t1519, ptr @.str8434) %t1521 = icmp ne i32 %t1520, 0 br i1 %t1521, label %then199, label %ifend201 then199: @@ -78808,15 +88427,15 @@ then199: %t1531 = load ptr, ptr %t1530 %t1532 = getelementptr inbounds %Cmp_Val, ptr %t1531, i32 0, i32 0 %t1533 = load ptr, ptr %t1532 - %t1534 = call ptr @fn_str_concat(ptr @.str7917, ptr %t1533) - %t1535 = call ptr @fn_str_concat(ptr %t1534, ptr @.str7918) + %t1534 = call ptr @fn_str_concat(ptr @.str8435, ptr %t1533) + %t1535 = call ptr @fn_str_concat(ptr %t1534, ptr @.str8436) %t1536 = call ptr @fn_emit_bind(ptr %t1535) - %t1537 = call ptr @fn_val(ptr %t1536, ptr @.str7919) + %t1537 = call ptr @fn_val(ptr %t1536, ptr @.str8437) store ptr %t1537, ptr %retval br label %ret ifend201: %t1538 = load ptr, ptr %t38 - %t1539 = call i32 @fn_str_eq(ptr %t1538, ptr @.str7920) + %t1539 = call i32 @fn_str_eq(ptr %t1538, ptr @.str8438) %t1540 = icmp ne i32 %t1539, 0 br i1 %t1540, label %then202, label %ifend204 then202: @@ -78832,15 +88451,15 @@ then202: %t1550 = load ptr, ptr %t1549 %t1551 = getelementptr inbounds %Cmp_Val, ptr %t1550, i32 0, i32 0 %t1552 = load ptr, ptr %t1551 - %t1553 = call ptr @fn_str_concat(ptr @.str7921, ptr %t1552) - %t1554 = call ptr @fn_str_concat(ptr %t1553, ptr @.str7922) + %t1553 = call ptr @fn_str_concat(ptr @.str8439, ptr %t1552) + %t1554 = call ptr @fn_str_concat(ptr %t1553, ptr @.str8440) %t1555 = call ptr @fn_emit_bind(ptr %t1554) - %t1556 = call ptr @fn_val(ptr %t1555, ptr @.str7923) + %t1556 = call ptr @fn_val(ptr %t1555, ptr @.str8441) store ptr %t1556, ptr %retval br label %ret ifend204: %t1557 = load ptr, ptr %t38 - %t1558 = call i32 @fn_str_eq(ptr %t1557, ptr @.str7924) + %t1558 = call i32 @fn_str_eq(ptr %t1557, ptr @.str8442) %t1559 = icmp ne i32 %t1558, 0 br i1 %t1559, label %then205, label %ifend207 then205: @@ -78865,20 +88484,20 @@ then205: %t1578 = load ptr, ptr %t1568 %t1579 = getelementptr inbounds %Cmp_Val, ptr %t1578, i32 0, i32 0 %t1580 = load ptr, ptr %t1579 - %t1581 = call ptr @fn_str_concat(ptr @.str7925, ptr %t1580) - %t1582 = call ptr @fn_str_concat(ptr %t1581, ptr @.str7926) + %t1581 = call ptr @fn_str_concat(ptr @.str8443, ptr %t1580) + %t1582 = call ptr @fn_str_concat(ptr %t1581, ptr @.str8444) %t1583 = load ptr, ptr %t1577 %t1584 = getelementptr inbounds %Cmp_Val, ptr %t1583, i32 0, i32 0 %t1585 = load ptr, ptr %t1584 %t1586 = call ptr @fn_str_concat(ptr %t1582, ptr %t1585) - %t1587 = call ptr @fn_str_concat(ptr %t1586, ptr @.str7927) + %t1587 = call ptr @fn_str_concat(ptr %t1586, ptr @.str8445) %t1588 = call ptr @fn_emit_bind(ptr %t1587) - %t1589 = call ptr @fn_val(ptr %t1588, ptr @.str7928) + %t1589 = call ptr @fn_val(ptr %t1588, ptr @.str8446) store ptr %t1589, ptr %retval br label %ret ifend207: %t1590 = load ptr, ptr %t38 - %t1591 = call i32 @fn_str_eq(ptr %t1590, ptr @.str7929) + %t1591 = call i32 @fn_str_eq(ptr %t1590, ptr @.str8447) %t1592 = icmp ne i32 %t1591, 0 br i1 %t1592, label %then208, label %ifend210 then208: @@ -78903,20 +88522,20 @@ then208: %t1611 = load ptr, ptr %t1601 %t1612 = getelementptr inbounds %Cmp_Val, ptr %t1611, i32 0, i32 0 %t1613 = load ptr, ptr %t1612 - %t1614 = call ptr @fn_str_concat(ptr @.str7930, ptr %t1613) - %t1615 = call ptr @fn_str_concat(ptr %t1614, ptr @.str7931) + %t1614 = call ptr @fn_str_concat(ptr @.str8448, ptr %t1613) + %t1615 = call ptr @fn_str_concat(ptr %t1614, ptr @.str8449) %t1616 = load ptr, ptr %t1610 %t1617 = getelementptr inbounds %Cmp_Val, ptr %t1616, i32 0, i32 0 %t1618 = load ptr, ptr %t1617 %t1619 = call ptr @fn_str_concat(ptr %t1615, ptr %t1618) - %t1620 = call ptr @fn_str_concat(ptr %t1619, ptr @.str7932) + %t1620 = call ptr @fn_str_concat(ptr %t1619, ptr @.str8450) %t1621 = call ptr @fn_emit_bind(ptr %t1620) - %t1622 = call ptr @fn_val(ptr %t1621, ptr @.str7933) + %t1622 = call ptr @fn_val(ptr %t1621, ptr @.str8451) store ptr %t1622, ptr %retval br label %ret ifend210: %t1623 = load ptr, ptr %t38 - %t1624 = call i32 @fn_str_eq(ptr %t1623, ptr @.str7934) + %t1624 = call i32 @fn_str_eq(ptr %t1623, ptr @.str8452) %t1625 = icmp ne i32 %t1624, 0 br i1 %t1625, label %then211, label %ifend213 then211: @@ -78938,23 +88557,23 @@ then211: %t1641 = load ptr, ptr %t1640 %t1642 = call ptr @fn_emit_expr(ptr %t1641) store ptr %t1642, ptr %t1643 - call void @fn_emit(ptr @.str7935) + call void @fn_emit(ptr @.str8453) %t1644 = load ptr, ptr %t1634 %t1645 = getelementptr inbounds %Cmp_Val, ptr %t1644, i32 0, i32 0 %t1646 = load ptr, ptr %t1645 call void @fn_emit(ptr %t1646) - call void @fn_emit(ptr @.str7936) + call void @fn_emit(ptr @.str8454) %t1647 = load ptr, ptr %t1643 %t1648 = getelementptr inbounds %Cmp_Val, ptr %t1647, i32 0, i32 0 %t1649 = load ptr, ptr %t1648 call void @fn_emit(ptr %t1649) - call void @fn_emit(ptr @.str7937) - %t1650 = call ptr @fn_val(ptr @.str7938, ptr @.str7939) + call void @fn_emit(ptr @.str8455) + %t1650 = call ptr @fn_val(ptr @.str8456, ptr @.str8457) store ptr %t1650, ptr %retval br label %ret ifend213: %t1651 = load ptr, ptr %t38 - %t1652 = call i32 @fn_str_eq(ptr %t1651, ptr @.str7940) + %t1652 = call i32 @fn_str_eq(ptr %t1651, ptr @.str8458) %t1653 = icmp ne i32 %t1652, 0 br i1 %t1653, label %then214, label %ifend216 then214: @@ -78976,23 +88595,23 @@ then214: %t1669 = load ptr, ptr %t1668 %t1670 = call ptr @fn_emit_expr(ptr %t1669) store ptr %t1670, ptr %t1671 - call void @fn_emit(ptr @.str7941) + call void @fn_emit(ptr @.str8459) %t1672 = load ptr, ptr %t1662 %t1673 = getelementptr inbounds %Cmp_Val, ptr %t1672, i32 0, i32 0 %t1674 = load ptr, ptr %t1673 call void @fn_emit(ptr %t1674) - call void @fn_emit(ptr @.str7942) + call void @fn_emit(ptr @.str8460) %t1675 = load ptr, ptr %t1671 %t1676 = getelementptr inbounds %Cmp_Val, ptr %t1675, i32 0, i32 0 %t1677 = load ptr, ptr %t1676 call void @fn_emit(ptr %t1677) - call void @fn_emit(ptr @.str7943) - %t1678 = call ptr @fn_val(ptr @.str7944, ptr @.str7945) + call void @fn_emit(ptr @.str8461) + %t1678 = call ptr @fn_val(ptr @.str8462, ptr @.str8463) store ptr %t1678, ptr %retval br label %ret ifend216: %t1679 = load ptr, ptr %t38 - %t1680 = call i32 @fn_str_eq(ptr %t1679, ptr @.str7946) + %t1680 = call i32 @fn_str_eq(ptr %t1679, ptr @.str8464) %t1681 = icmp ne i32 %t1680, 0 br i1 %t1681, label %then217, label %ifend219 then217: @@ -79008,25 +88627,25 @@ then217: %t1691 = load ptr, ptr %t1690 %t1692 = getelementptr inbounds %Cmp_Val, ptr %t1691, i32 0, i32 0 %t1693 = load ptr, ptr %t1692 - %t1694 = call ptr @fn_str_concat(ptr @.str7947, ptr %t1693) - %t1695 = call ptr @fn_str_concat(ptr %t1694, ptr @.str7948) + %t1694 = call ptr @fn_str_concat(ptr @.str8465, ptr %t1693) + %t1695 = call ptr @fn_str_concat(ptr %t1694, ptr @.str8466) %t1696 = call ptr @fn_emit_bind(ptr %t1695) - %t1697 = call ptr @fn_val(ptr %t1696, ptr @.str7949) + %t1697 = call ptr @fn_val(ptr %t1696, ptr @.str8467) store ptr %t1697, ptr %retval br label %ret ifend219: %t1698 = load ptr, ptr %t38 - %t1699 = call i32 @fn_str_eq(ptr %t1698, ptr @.str7950) + %t1699 = call i32 @fn_str_eq(ptr %t1698, ptr @.str8468) %t1700 = icmp ne i32 %t1699, 0 br i1 %t1700, label %then220, label %ifend222 then220: - %t1701 = call ptr @fn_emit_bind(ptr @.str7951) - %t1702 = call ptr @fn_val(ptr %t1701, ptr @.str7952) + %t1701 = call ptr @fn_emit_bind(ptr @.str8469) + %t1702 = call ptr @fn_val(ptr %t1701, ptr @.str8470) store ptr %t1702, ptr %retval br label %ret ifend222: %t1703 = load ptr, ptr %t38 - %t1704 = call i32 @fn_str_eq(ptr %t1703, ptr @.str7953) + %t1704 = call i32 @fn_str_eq(ptr %t1703, ptr @.str8471) %t1705 = icmp ne i32 %t1704, 0 br i1 %t1705, label %then223, label %ifend225 then223: @@ -79042,15 +88661,15 @@ then223: %t1715 = load ptr, ptr %t1714 %t1716 = getelementptr inbounds %Cmp_Val, ptr %t1715, i32 0, i32 0 %t1717 = load ptr, ptr %t1716 - %t1718 = call ptr @fn_str_concat(ptr @.str7954, ptr %t1717) - %t1719 = call ptr @fn_str_concat(ptr %t1718, ptr @.str7955) + %t1718 = call ptr @fn_str_concat(ptr @.str8472, ptr %t1717) + %t1719 = call ptr @fn_str_concat(ptr %t1718, ptr @.str8473) %t1720 = call ptr @fn_emit_bind(ptr %t1719) - %t1721 = call ptr @fn_val(ptr %t1720, ptr @.str7956) + %t1721 = call ptr @fn_val(ptr %t1720, ptr @.str8474) store ptr %t1721, ptr %retval br label %ret ifend225: %t1722 = load ptr, ptr %t38 - %t1723 = call i32 @fn_str_eq(ptr %t1722, ptr @.str7957) + %t1723 = call i32 @fn_str_eq(ptr %t1722, ptr @.str8475) %t1724 = icmp ne i32 %t1723, 0 br i1 %t1724, label %then226, label %ifend228 then226: @@ -79066,15 +88685,15 @@ then226: %t1734 = load ptr, ptr %t1733 %t1735 = getelementptr inbounds %Cmp_Val, ptr %t1734, i32 0, i32 0 %t1736 = load ptr, ptr %t1735 - %t1737 = call ptr @fn_str_concat(ptr @.str7958, ptr %t1736) - %t1738 = call ptr @fn_str_concat(ptr %t1737, ptr @.str7959) + %t1737 = call ptr @fn_str_concat(ptr @.str8476, ptr %t1736) + %t1738 = call ptr @fn_str_concat(ptr %t1737, ptr @.str8477) %t1739 = call ptr @fn_emit_bind(ptr %t1738) - %t1740 = call ptr @fn_val(ptr %t1739, ptr @.str7960) + %t1740 = call ptr @fn_val(ptr %t1739, ptr @.str8478) store ptr %t1740, ptr %retval br label %ret ifend228: %t1741 = load ptr, ptr %t38 - %t1742 = call i32 @fn_str_eq(ptr %t1741, ptr @.str7961) + %t1742 = call i32 @fn_str_eq(ptr %t1741, ptr @.str8479) %t1743 = icmp ne i32 %t1742, 0 br i1 %t1743, label %then229, label %ifend231 then229: @@ -79099,20 +88718,20 @@ then229: %t1762 = load ptr, ptr %t1752 %t1763 = getelementptr inbounds %Cmp_Val, ptr %t1762, i32 0, i32 0 %t1764 = load ptr, ptr %t1763 - %t1765 = call ptr @fn_str_concat(ptr @.str7962, ptr %t1764) - %t1766 = call ptr @fn_str_concat(ptr %t1765, ptr @.str7963) + %t1765 = call ptr @fn_str_concat(ptr @.str8480, ptr %t1764) + %t1766 = call ptr @fn_str_concat(ptr %t1765, ptr @.str8481) %t1767 = load ptr, ptr %t1761 %t1768 = getelementptr inbounds %Cmp_Val, ptr %t1767, i32 0, i32 0 %t1769 = load ptr, ptr %t1768 %t1770 = call ptr @fn_str_concat(ptr %t1766, ptr %t1769) - %t1771 = call ptr @fn_str_concat(ptr %t1770, ptr @.str7964) + %t1771 = call ptr @fn_str_concat(ptr %t1770, ptr @.str8482) %t1772 = call ptr @fn_emit_bind(ptr %t1771) - %t1773 = call ptr @fn_val(ptr %t1772, ptr @.str7965) + %t1773 = call ptr @fn_val(ptr %t1772, ptr @.str8483) store ptr %t1773, ptr %retval br label %ret ifend231: %t1774 = load ptr, ptr %t38 - %t1775 = call i32 @fn_str_eq(ptr %t1774, ptr @.str7966) + %t1775 = call i32 @fn_str_eq(ptr %t1774, ptr @.str8484) %t1776 = icmp ne i32 %t1775, 0 br i1 %t1776, label %then232, label %ifend234 then232: @@ -79137,15 +88756,15 @@ then232: %t1795 = load ptr, ptr %t1785 %t1796 = getelementptr inbounds %Cmp_Val, ptr %t1795, i32 0, i32 0 %t1797 = load ptr, ptr %t1796 - %t1798 = call ptr @fn_str_concat(ptr @.str7967, ptr %t1797) - %t1799 = call ptr @fn_str_concat(ptr %t1798, ptr @.str7968) + %t1798 = call ptr @fn_str_concat(ptr @.str8485, ptr %t1797) + %t1799 = call ptr @fn_str_concat(ptr %t1798, ptr @.str8486) %t1800 = load ptr, ptr %t1794 %t1801 = getelementptr inbounds %Cmp_Val, ptr %t1800, i32 0, i32 0 %t1802 = load ptr, ptr %t1801 %t1803 = call ptr @fn_str_concat(ptr %t1799, ptr %t1802) - %t1804 = call ptr @fn_str_concat(ptr %t1803, ptr @.str7969) + %t1804 = call ptr @fn_str_concat(ptr %t1803, ptr @.str8487) %t1805 = call ptr @fn_emit_bind(ptr %t1804) - %t1806 = call ptr @fn_val(ptr %t1805, ptr @.str7970) + %t1806 = call ptr @fn_val(ptr %t1805, ptr @.str8488) store ptr %t1806, ptr %retval br label %ret ifend234: @@ -79309,10 +88928,10 @@ wend249: %t1917 = load ptr, ptr %t1916 %t1918 = call ptr @fn_llty(ptr %t1917) store ptr %t1918, ptr %t1919 - call void @fn_emit(ptr @.str7971) - store ptr @.str7972, ptr %t1920 + call void @fn_emit(ptr @.str8489) + store ptr @.str8490, ptr %t1920 %t1921 = load ptr, ptr %t1919 - %t1922 = call i32 @fn_str_eq(ptr %t1921, ptr @.str7973) + %t1922 = call i32 @fn_str_eq(ptr %t1921, ptr @.str8491) %t1923 = icmp eq i32 %t1922, 0 %t1924 = zext i1 %t1923 to i32 %t1925 = icmp ne i32 %t1924, 0 @@ -79322,20 +88941,20 @@ then254: store ptr %t1926, ptr %t1920 %t1927 = load ptr, ptr %t1920 call void @fn_emit(ptr %t1927) - call void @fn_emit(ptr @.str7974) + call void @fn_emit(ptr @.str8492) br label %ifend256 ifend256: - call void @fn_emit(ptr @.str7975) + call void @fn_emit(ptr @.str8493) %t1928 = load ptr, ptr %t1919 call void @fn_emit(ptr %t1928) - call void @fn_emit(ptr @.str7976) + call void @fn_emit(ptr @.str8494) %t1929 = load ptr, ptr %t1827 %t1930 = getelementptr inbounds %Cmp_Node, ptr %t1929, i32 0, i32 4 %t1931 = load ptr, ptr %t1930 %t1932 = getelementptr inbounds %Cmp_Node, ptr %t1931, i32 0, i32 1 %t1933 = load ptr, ptr %t1932 call void @fn_emit(ptr %t1933) - call void @fn_emit(ptr @.str7977) + call void @fn_emit(ptr @.str8495) store i32 0, ptr %t1849 br label %wcond257 wcond257: @@ -79354,7 +88973,7 @@ wbody258: %t1944 = icmp ne i32 %t1943, 0 br i1 %t1944, label %then260, label %ifend262 then260: - call void @fn_emit(ptr @.str7978) + call void @fn_emit(ptr @.str8496) br label %ifend262 ifend262: %t1945 = load ptr, ptr %t1848 @@ -79365,7 +88984,7 @@ ifend262: %t1950 = load ptr, ptr %t1949 %t1951 = call ptr @fn_llty(ptr %t1950) call void @fn_emit(ptr %t1951) - call void @fn_emit(ptr @.str7979) + call void @fn_emit(ptr @.str8497) %t1952 = load ptr, ptr %t1841 %t1953 = getelementptr inbounds %LSlice, ptr %t1952, i32 0, i32 0 %t1954 = load ptr, ptr %t1953 @@ -79378,7 +88997,7 @@ ifend262: store i32 %t1959, ptr %t1849 br label %wcond257 wend259: - call void @fn_emit(ptr @.str7980) + call void @fn_emit(ptr @.str8498) %t1960 = load ptr, ptr %t1920 %t1961 = load ptr, ptr %t1827 %t1962 = getelementptr inbounds %Cmp_Node, ptr %t1961, i32 0, i32 3 @@ -79417,7 +89036,7 @@ ifend265: br i1 %t1986, label %then266, label %ifend268 then266: %t1987 = load ptr, ptr %t38 - %t1988 = call ptr @fn_str_concat(ptr @.str7981, ptr %t1987) + %t1988 = call ptr @fn_str_concat(ptr @.str8499, ptr %t1987) store ptr %t1988, ptr %t1989 %t1990 = load ptr, ptr %t1989 %t1991 = call ptr @fn_find_fn(ptr %t1990) @@ -79429,7 +89048,7 @@ then266: br i1 %t1995, label %then269, label %ifend271 then269: %t1996 = load ptr, ptr %t38 - %t1997 = call ptr @fn_str_concat(ptr @.str7982, ptr %t1996) + %t1997 = call ptr @fn_str_concat(ptr @.str8500, ptr %t1996) call void @fn_perr(ptr %t1997) br label %ifend271 ifend271: @@ -79578,10 +89197,10 @@ wend274: %t2102 = load ptr, ptr %t2101 %t2103 = call ptr @fn_llty(ptr %t2102) store ptr %t2103, ptr %t2104 - call void @fn_emit(ptr @.str7983) - store ptr @.str7984, ptr %t2105 + call void @fn_emit(ptr @.str8501) + store ptr @.str8502, ptr %t2105 %t2106 = load ptr, ptr %t2104 - %t2107 = call i32 @fn_str_eq(ptr %t2106, ptr @.str7985) + %t2107 = call i32 @fn_str_eq(ptr %t2106, ptr @.str8503) %t2108 = icmp eq i32 %t2107, 0 %t2109 = zext i1 %t2108 to i32 %t2110 = icmp ne i32 %t2109, 0 @@ -79591,16 +89210,16 @@ then282: store ptr %t2111, ptr %t2105 %t2112 = load ptr, ptr %t2105 call void @fn_emit(ptr %t2112) - call void @fn_emit(ptr @.str7986) + call void @fn_emit(ptr @.str8504) br label %ifend284 ifend284: - call void @fn_emit(ptr @.str7987) + call void @fn_emit(ptr @.str8505) %t2113 = load ptr, ptr %t2104 call void @fn_emit(ptr %t2113) - call void @fn_emit(ptr @.str7988) + call void @fn_emit(ptr @.str8506) %t2114 = load ptr, ptr %t1982 call void @fn_emit(ptr %t2114) - call void @fn_emit(ptr @.str7989) + call void @fn_emit(ptr @.str8507) store i32 0, ptr %t2019 br label %wcond285 wcond285: @@ -79619,7 +89238,7 @@ wbody286: %t2125 = icmp ne i32 %t2124, 0 br i1 %t2125, label %then288, label %ifend290 then288: - call void @fn_emit(ptr @.str7990) + call void @fn_emit(ptr @.str8508) br label %ifend290 ifend290: %t2126 = load ptr, ptr %t2018 @@ -79630,7 +89249,7 @@ ifend290: %t2131 = load ptr, ptr %t2130 %t2132 = call ptr @fn_llty(ptr %t2131) call void @fn_emit(ptr %t2132) - call void @fn_emit(ptr @.str7991) + call void @fn_emit(ptr @.str8509) %t2133 = load ptr, ptr %t2011 %t2134 = getelementptr inbounds %LSlice, ptr %t2133, i32 0, i32 0 %t2135 = load ptr, ptr %t2134 @@ -79643,7 +89262,7 @@ ifend290: store i32 %t2140, ptr %t2019 br label %wcond285 wend287: - call void @fn_emit(ptr @.str7992) + call void @fn_emit(ptr @.str8510) %t2141 = load ptr, ptr %t2105 %t2142 = load ptr, ptr %t1980 %t2143 = getelementptr inbounds %Cmp_Node, ptr %t2142, i32 0, i32 3 @@ -79660,22 +89279,26 @@ define ptr @fn_emit_expr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr - %t56 = alloca ptr - %t61 = alloca ptr - %t66 = alloca ptr - %t127 = alloca i32 - %t149 = alloca ptr - %t175 = alloca ptr - %t196 = alloca ptr - %t239 = alloca i32 - %t260 = alloca i32 - %t272 = alloca ptr - %t282 = alloca ptr - %t295 = alloca ptr - %t307 = alloca ptr - %t314 = alloca ptr - %t365 = alloca ptr - %t424 = alloca ptr + %t65 = alloca ptr + %t70 = alloca ptr + %t75 = alloca ptr + %t136 = alloca i32 + %t158 = alloca ptr + %t184 = alloca ptr + %t205 = alloca ptr + %t248 = alloca i32 + %t271 = alloca i32 + %t292 = alloca i32 + %t304 = alloca ptr + %t309 = alloca i32 + %t314 = alloca i32 + %t336 = alloca ptr + %t357 = alloca ptr + %t370 = alloca ptr + %t382 = alloca ptr + %t389 = alloca ptr + %t440 = alloca ptr + %t499 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = icmp eq ptr %t1, null @@ -79683,7 +89306,7 @@ entry: %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_val(ptr @.str7993, ptr @.str7994) + %t5 = call ptr @fn_val(ptr @.str8511, ptr @.str8512) store ptr %t5, ptr %retval br label %ret ifend2: @@ -79699,7 +89322,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 @.str7995) + %t16 = call ptr @fn_val(ptr %t15, ptr @.str8513) store ptr %t16, ptr %retval br label %ret ifend5: @@ -79715,7 +89338,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 @.str7996) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str8514) store ptr %t27, ptr %retval br label %ret ifend8: @@ -79731,7 +89354,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 @.str7997) + %t38 = call ptr @fn_val(ptr %t37, ptr @.str8515) store ptr %t38, ptr %retval br label %ret ifend11: @@ -79743,547 +89366,657 @@ ifend11: %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: - %t45 = call ptr @fn_val(ptr @.str7998, ptr @.str7999) + %t45 = call ptr @fn_val(ptr @.str8516, ptr @.str8517) store ptr %t45, ptr %retval br label %ret ifend14: %t46 = load ptr, ptr %t0 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 %t48 = load i32, ptr %t47 - %t49 = icmp eq i32 %t48, 44 + %t49 = icmp eq i32 %t48, 22 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then15, label %ifend17 then15: %t52 = load ptr, ptr %t0 - %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 - %t54 = load ptr, ptr %t53 - %t55 = call ptr @fn_emit_expr(ptr %t54) - store ptr %t55, ptr %t56 - %t57 = load ptr, ptr %t0 - %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 5 - %t59 = load ptr, ptr %t58 - %t60 = call ptr @fn_emit_expr(ptr %t59) - store ptr %t60, ptr %t61 - %t62 = load ptr, ptr %t0 - %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 6 - %t64 = load ptr, ptr %t63 - %t65 = call ptr @fn_emit_expr(ptr %t64) - store ptr %t65, ptr %t66 - store i32 1, ptr @g_g_uses_strslice - %t67 = load ptr, ptr %t56 - %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 - %t69 = load ptr, ptr %t68 - %t70 = call ptr @fn_str_concat(ptr @.str8000, ptr %t69) - %t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str8001) - %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 @.str8002) - %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 @.str8003) - %t82 = call ptr @fn_emit_bind(ptr %t81) - %t83 = call ptr @fn_val(ptr %t82, ptr @.str8004) - store ptr %t83, ptr %retval + %t53 = call ptr @fn_emit_spawn(ptr %t52) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str8518) + store ptr %t54, ptr %retval br label %ret ifend17: - %t84 = load ptr, ptr %t0 - %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 0 - %t86 = load i32, ptr %t85 - %t87 = icmp eq i32 %t86, 31 - %t88 = zext i1 %t87 to i32 - %t89 = icmp ne i32 %t88, 0 - br i1 %t89, label %then18, label %ifend20 + %t55 = load ptr, ptr %t0 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 0 + %t57 = load i32, ptr %t56 + %t58 = icmp eq i32 %t57, 44 + %t59 = zext i1 %t58 to i32 + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then18, label %ifend20 then18: - %t90 = load ptr, ptr %t0 - %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 - %t92 = load ptr, ptr %t91 - %t93 = call ptr @fn_emit_str_const(ptr %t92) - %t94 = call ptr @fn_val(ptr %t93, ptr @.str8005) - store ptr %t94, ptr %retval + %t61 = load ptr, ptr %t0 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @fn_emit_expr(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t0 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 5 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @fn_emit_expr(ptr %t68) + store ptr %t69, ptr %t70 + %t71 = load ptr, ptr %t0 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 6 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_emit_expr(ptr %t73) + store ptr %t74, ptr %t75 + store i32 1, ptr @g_g_uses_strslice + %t76 = load ptr, ptr %t65 + %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 + %t78 = load ptr, ptr %t77 + %t79 = call ptr @fn_str_concat(ptr @.str8519, ptr %t78) + %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str8520) + %t81 = load ptr, ptr %t70 + %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0 + %t83 = load ptr, ptr %t82 + %t84 = call ptr @fn_str_concat(ptr %t80, ptr %t83) + %t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str8521) + %t86 = load ptr, ptr %t75 + %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0 + %t88 = load ptr, ptr %t87 + %t89 = call ptr @fn_str_concat(ptr %t85, ptr %t88) + %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8522) + %t91 = call ptr @fn_emit_bind(ptr %t90) + %t92 = call ptr @fn_val(ptr %t91, ptr @.str8523) + store ptr %t92, ptr %retval br label %ret ifend20: - %t95 = load ptr, ptr %t0 - %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 - %t97 = load i32, ptr %t96 - %t98 = icmp eq i32 %t97, 39 - %t99 = zext i1 %t98 to i32 - %t100 = icmp ne i32 %t99, 0 - br i1 %t100, label %then21, label %ifend23 + %t93 = load ptr, ptr %t0 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 0 + %t95 = load i32, ptr %t94 + %t96 = icmp eq i32 %t95, 31 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then21, label %ifend23 then21: - %t101 = load ptr, ptr %t0 - %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1 - %t103 = load ptr, ptr %t102 - %t104 = call i32 @fn_is_slice_ty(ptr %t103) - %t105 = icmp ne i32 %t104, 0 - br i1 %t105, label %then24, label %ifend26 -then24: - %t106 = load ptr, ptr %t0 - %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 - %t108 = load ptr, ptr %t107 - %t109 = call ptr @fn_emit_new_slice(ptr %t108) - store ptr %t109, ptr %retval + %t99 = load ptr, ptr %t0 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @fn_emit_str_const(ptr %t101) + %t103 = call ptr @fn_val(ptr %t102, ptr @.str8524) + store ptr %t103, ptr %retval br label %ret -ifend26: +ifend23: + %t104 = load ptr, ptr %t0 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 0 + %t106 = load i32, ptr %t105 + %t107 = icmp eq i32 %t106, 39 + %t108 = zext i1 %t107 to i32 + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then24, label %ifend26 +then24: %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 - %t113 = load ptr, ptr %t0 - %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 4 - %t115 = load ptr, ptr %t114 - %t116 = call ptr @fn_emit_new_struct(ptr %t112, ptr %t115) - store ptr %t116, ptr %retval - br label %ret -ifend23: - %t117 = load ptr, ptr %t0 - %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0 - %t119 = load i32, ptr %t118 - %t120 = icmp eq i32 %t119, 33 - %t121 = zext i1 %t120 to i32 - %t122 = icmp ne i32 %t121, 0 - br i1 %t122, label %then27, label %ifend29 + %t113 = call i32 @fn_is_slice_ty(ptr %t112) + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then27, label %ifend29 then27: - %t123 = load ptr, ptr %t0 - %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 - %t125 = load ptr, ptr %t124 - %t126 = call i32 @fn_loc_find(ptr %t125) - store i32 %t126, ptr %t127 + %t115 = load ptr, ptr %t0 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 + %t117 = load ptr, ptr %t116 + %t118 = call ptr @fn_emit_new_slice(ptr %t117) + store ptr %t118, ptr %retval + br label %ret +ifend29: + %t119 = load ptr, ptr %t0 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 + %t121 = load ptr, ptr %t120 + %t122 = load ptr, ptr %t0 + %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @fn_emit_new_struct(ptr %t121, ptr %t124) + store ptr %t125, ptr %retval + br label %ret +ifend26: + %t126 = load ptr, ptr %t0 + %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 0 %t128 = load i32, ptr %t127 - %t129 = icmp sge i32 %t128, 0 + %t129 = icmp eq i32 %t128, 33 %t130 = zext i1 %t129 to i32 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then30, label %ifend32 then30: - %t132 = load ptr, ptr @g_loc_reg - %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0 + %t132 = load ptr, ptr %t0 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 %t134 = load ptr, ptr %t133 - %t135 = load i32, ptr %t127 - %t136 = getelementptr inbounds ptr, ptr %t134, i32 %t135 - %t137 = load ptr, ptr %t136 - %t138 = load ptr, ptr @g_loc_ty - %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 - %t140 = load ptr, ptr %t139 - %t141 = load i32, ptr %t127 - %t142 = getelementptr inbounds ptr, ptr %t140, i32 %t141 - %t143 = load ptr, ptr %t142 - %t144 = call ptr @fn_emit_load_at(ptr %t137, ptr %t143) - store ptr %t144, ptr %retval - br label %ret -ifend32: - %t145 = load ptr, ptr %t0 - %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1 - %t147 = load ptr, ptr %t146 - %t148 = call ptr @fn_find_global(ptr %t147) - store ptr %t148, ptr %t149 - %t150 = load ptr, ptr %t149 - %t151 = icmp ne ptr %t150, null - %t152 = zext i1 %t151 to i32 - %t153 = icmp ne i32 %t152, 0 - br i1 %t153, label %then33, label %ifend35 + %t135 = call i32 @fn_loc_find(ptr %t134) + store i32 %t135, ptr %t136 + %t137 = load i32, ptr %t136 + %t138 = icmp sge i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + %t140 = icmp ne i32 %t139, 0 + br i1 %t140, label %then33, label %ifend35 then33: - %t154 = load ptr, ptr %t149 - %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 0 - %t156 = load i32, ptr %t155 - %t157 = icmp eq i32 %t156, 3 - %t158 = zext i1 %t157 to i32 - %t159 = icmp ne i32 %t158, 0 - br i1 %t159, label %then36, label %ifend38 -then36: - %t160 = load ptr, ptr %t149 - %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 4 - %t162 = load ptr, ptr %t161 - %t163 = call ptr @fn_emit_expr(ptr %t162) - store ptr %t163, ptr %retval - br label %ret -ifend38: - %t164 = load ptr, ptr %t149 - %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 @.str8006, ptr %t167) - %t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str8007) - %t170 = load ptr, ptr %t0 - %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1 - %t172 = load ptr, ptr %t171 - %t173 = call ptr @fn_str_concat(ptr %t169, ptr %t172) - %t174 = call ptr @fn_emit_bind(ptr %t173) - store ptr %t174, ptr %t175 - %t176 = load ptr, ptr %t175 - %t177 = load ptr, ptr %t149 - %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 3 - %t179 = load ptr, ptr %t178 - %t180 = call ptr @fn_val(ptr %t176, ptr %t179) - store ptr %t180, ptr %retval + %t141 = load ptr, ptr @g_loc_reg + %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 + %t143 = load ptr, ptr %t142 + %t144 = load i32, ptr %t136 + %t145 = getelementptr inbounds ptr, ptr %t143, i32 %t144 + %t146 = load ptr, ptr %t145 + %t147 = load ptr, ptr @g_loc_ty + %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 + %t149 = load ptr, ptr %t148 + %t150 = load i32, ptr %t136 + %t151 = getelementptr inbounds ptr, ptr %t149, i32 %t150 + %t152 = load ptr, ptr %t151 + %t153 = call ptr @fn_emit_load_at(ptr %t146, ptr %t152) + store ptr %t153, ptr %retval br label %ret ifend35: - %t181 = load ptr, ptr %t0 - %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 1 - %t183 = load ptr, ptr %t182 - %t184 = call i32 @fn_is_ui_ident(ptr %t183) - %t185 = icmp ne i32 %t184, 0 - br i1 %t185, label %then39, label %ifend41 + %t154 = load ptr, ptr %t0 + %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1 + %t156 = load ptr, ptr %t155 + %t157 = call ptr @fn_find_global(ptr %t156) + store ptr %t157, ptr %t158 + %t159 = load ptr, ptr %t158 + %t160 = icmp ne ptr %t159, null + %t161 = zext i1 %t160 to i32 + %t162 = icmp ne i32 %t161, 0 + br i1 %t162, label %then36, label %ifend38 +then36: + %t163 = load ptr, ptr %t158 + %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 0 + %t165 = load i32, ptr %t164 + %t166 = icmp eq i32 %t165, 3 + %t167 = zext i1 %t166 to i32 + %t168 = icmp ne i32 %t167, 0 + br i1 %t168, label %then39, label %ifend41 then39: - %t186 = load ptr, ptr %t0 - %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 - %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 @.str8008) - store ptr %t191, ptr %retval + %t169 = load ptr, ptr %t158 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 4 + %t171 = load ptr, ptr %t170 + %t172 = call ptr @fn_emit_expr(ptr %t171) + store ptr %t172, ptr %retval br label %ret ifend41: - %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_variant_enum(ptr %t194) - store ptr %t195, ptr %t196 - %t197 = load ptr, ptr %t196 - %t198 = icmp ne ptr %t197, null - %t199 = zext i1 %t198 to i32 - %t200 = icmp ne i32 %t199, 0 - br i1 %t200, label %then42, label %ifend44 + %t173 = load ptr, ptr %t158 + %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 3 + %t175 = load ptr, ptr %t174 + %t176 = call ptr @fn_llty(ptr %t175) + %t177 = call ptr @fn_str_concat(ptr @.str8525, ptr %t176) + %t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str8526) + %t179 = load ptr, ptr %t0 + %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 1 + %t181 = load ptr, ptr %t180 + %t182 = call ptr @fn_str_concat(ptr %t178, ptr %t181) + %t183 = call ptr @fn_emit_bind(ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t184 + %t186 = load ptr, ptr %t158 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 3 + %t188 = load ptr, ptr %t187 + %t189 = call ptr @fn_val(ptr %t185, ptr %t188) + store ptr %t189, ptr %retval + br label %ret +ifend38: + %t190 = load ptr, ptr %t0 + %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 + %t192 = load ptr, ptr %t191 + %t193 = call i32 @fn_is_ui_ident(ptr %t192) + %t194 = icmp ne i32 %t193, 0 + br i1 %t194, label %then42, label %ifend44 then42: - %t201 = load ptr, ptr %t196 - %t202 = load i32, ptr @g_g_var_ord - %t203 = getelementptr %LSlice, ptr null, i32 1 - %t204 = ptrtoint ptr %t203 to i64 - %t205 = call ptr @malloc(i64 %t204) - %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 - store ptr null, ptr %t206 - %t207 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 - store i32 0, ptr %t207 - %t208 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 2 - store i32 0, ptr %t208 - %t209 = call ptr @fn_emit_variant_new(ptr %t201, i32 %t202, ptr %t205) - store ptr %t209, ptr %retval + %t195 = load ptr, ptr %t0 + %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 1 + %t197 = load ptr, ptr %t196 + %t198 = call i32 @fn_ui_index_of(ptr %t197) + %t199 = call ptr @fn_itoa(i32 %t198) + %t200 = call ptr @fn_val(ptr %t199, ptr @.str8527) + store ptr %t200, ptr %retval br label %ret ifend44: - %t210 = load ptr, ptr %t0 - %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 1 - %t212 = load ptr, ptr %t211 - %t213 = call ptr @fn_str_concat(ptr @.str8009, ptr %t212) - call void @fn_perr(ptr %t213) - br label %ifend29 -ifend29: - %t214 = load ptr, ptr %t0 - %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 0 - %t216 = load i32, ptr %t215 - %t217 = icmp eq i32 %t216, 35 - %t218 = zext i1 %t217 to i32 - %t219 = icmp ne i32 %t218, 0 - br i1 %t219, label %then45, label %ifend47 + %t201 = load ptr, ptr %t0 + %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1 + %t203 = load ptr, ptr %t202 + %t204 = call ptr @fn_variant_enum(ptr %t203) + store ptr %t204, ptr %t205 + %t206 = load ptr, ptr %t205 + %t207 = icmp ne ptr %t206, null + %t208 = zext i1 %t207 to i32 + %t209 = icmp ne i32 %t208, 0 + br i1 %t209, label %then45, label %ifend47 then45: - %t220 = load ptr, ptr %t0 - %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 4 - %t222 = load ptr, ptr %t221 - %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 0 - %t224 = load i32, ptr %t223 - %t225 = icmp eq i32 %t224, 33 - %t226 = zext i1 %t225 to i32 - %t227 = icmp ne i32 %t226, 0 - br i1 %t227, label %then48, label %ifend50 + %t210 = load ptr, ptr %t205 + %t211 = load i32, ptr @g_g_var_ord + %t212 = getelementptr %LSlice, ptr null, i32 1 + %t213 = ptrtoint ptr %t212 to i64 + %t214 = call ptr @malloc(i64 %t213) + %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 + store ptr null, ptr %t215 + %t216 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 1 + store i32 0, ptr %t216 + %t217 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 2 + store i32 0, ptr %t217 + %t218 = call ptr @fn_emit_variant_new(ptr %t210, i32 %t211, ptr %t214) + store ptr %t218, ptr %retval + br label %ret +ifend47: + %t219 = load ptr, ptr %t0 + %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 1 + %t221 = load ptr, ptr %t220 + %t222 = call ptr @fn_str_concat(ptr @.str8528, ptr %t221) + call void @fn_perr(ptr %t222) + br label %ifend32 +ifend32: + %t223 = load ptr, ptr %t0 + %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 0 + %t225 = load i32, ptr %t224 + %t226 = icmp eq i32 %t225, 35 + %t227 = zext i1 %t226 to i32 + %t228 = icmp ne i32 %t227, 0 + br i1 %t228, label %then48, label %ifend50 then48: - %t228 = load ptr, ptr %t0 - %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 4 - %t230 = load ptr, ptr %t229 - %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 1 - %t232 = load ptr, ptr %t231 - %t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str8010) - %t234 = icmp ne i32 %t233, 0 - br i1 %t234, label %then51, label %ifend53 + %t229 = load ptr, ptr %t0 + %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 4 + %t231 = load ptr, ptr %t230 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 0 + %t233 = load i32, ptr %t232 + %t234 = icmp eq i32 %t233, 33 + %t235 = zext i1 %t234 to i32 + %t236 = icmp ne i32 %t235, 0 + br i1 %t236, label %then51, label %ifend53 then51: - %t235 = load ptr, ptr %t0 - %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1 - %t237 = load ptr, ptr %t236 - %t238 = call i32 @fn_color_lookup(ptr %t237) - store i32 %t238, ptr %t239 - %t240 = load i32, ptr %t239 - %t241 = icmp slt i32 %t240, 0 - %t242 = zext i1 %t241 to i32 + %t237 = load ptr, ptr %t0 + %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 4 + %t239 = load ptr, ptr %t238 + %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 1 + %t241 = load ptr, ptr %t240 + %t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str8529) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then54, label %ifend56 then54: %t244 = load ptr, ptr %t0 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 1 %t246 = load ptr, ptr %t245 - %t247 = call ptr @fn_str_concat(ptr @.str8011, ptr %t246) - call void @fn_perr(ptr %t247) - br label %ifend56 -ifend56: - %t248 = load i32, ptr %t239 - %t249 = call ptr @fn_itoa(i32 %t248) - %t250 = call ptr @fn_val(ptr %t249, ptr @.str8012) - store ptr %t250, ptr %retval - br label %ret -ifend53: - %t251 = load ptr, ptr %t0 - %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 4 - %t253 = load ptr, ptr %t252 + %t247 = call i32 @fn_color_lookup(ptr %t246) + store i32 %t247, ptr %t248 + %t249 = load i32, ptr %t248 + %t250 = icmp slt i32 %t249, 0 + %t251 = zext i1 %t250 to i32 + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then57, label %ifend59 +then57: + %t253 = load ptr, ptr %t0 %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 1 %t255 = load ptr, ptr %t254 - %t256 = load ptr, ptr %t0 - %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 1 - %t258 = load ptr, ptr %t257 - %t259 = call i32 @fn_enum_ordinal(ptr %t255, ptr %t258) - store i32 %t259, ptr %t260 - %t261 = load i32, ptr %t260 - %t262 = icmp sge i32 %t261, 0 - %t263 = zext i1 %t262 to i32 - %t264 = icmp ne i32 %t263, 0 - br i1 %t264, label %then57, label %ifend59 -then57: - %t265 = load i32, ptr %t260 - %t266 = call ptr @fn_itoa(i32 %t265) - %t267 = call ptr @fn_val(ptr %t266, ptr @.str8013) - store ptr %t267, ptr %retval - br label %ret + %t256 = call ptr @fn_str_concat(ptr @.str8530, ptr %t255) + call void @fn_perr(ptr %t256) + br label %ifend59 ifend59: - br label %ifend50 -ifend50: - %t268 = load ptr, ptr %t0 - %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 4 - %t270 = load ptr, ptr %t269 - %t271 = call ptr @fn_static_type(ptr %t270) - store ptr %t271, ptr %t272 - %t273 = load ptr, ptr %t272 - %t274 = icmp ne ptr %t273, null - %t275 = zext i1 %t274 to i32 - %t276 = icmp ne i32 %t275, 0 - br i1 %t276, label %then60, label %ifend62 + %t257 = load i32, ptr %t248 + %t258 = call ptr @fn_itoa(i32 %t257) + %t259 = call ptr @fn_val(ptr %t258, ptr @.str8531) + store ptr %t259, ptr %retval + br label %ret +ifend56: + %t260 = load ptr, ptr %t0 + %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 4 + %t262 = load ptr, ptr %t261 + %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 1 + %t264 = load ptr, ptr %t263 + %t265 = call i32 @fn_str_eq(ptr %t264, ptr @.str8532) + %t266 = icmp ne i32 %t265, 0 + br i1 %t266, label %then60, label %ifend62 then60: - %t277 = load ptr, ptr %t272 - %t278 = load ptr, ptr %t0 - %t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 1 - %t280 = load ptr, ptr %t279 - %t281 = call ptr @fn_computed_expr(ptr %t277, ptr %t280) - store ptr %t281, ptr %t282 - %t283 = load ptr, ptr %t282 - %t284 = icmp ne ptr %t283, null - %t285 = zext i1 %t284 to i32 - %t286 = icmp ne i32 %t285, 0 - br i1 %t286, label %then63, label %ifend65 + %t267 = load ptr, ptr %t0 + %t268 = getelementptr inbounds %Cmp_Node, ptr %t267, i32 0, i32 1 + %t269 = load ptr, ptr %t268 + %t270 = call i32 @fn_key_lookup(ptr %t269) + store i32 %t270, ptr %t271 + %t272 = load i32, ptr %t271 + %t273 = icmp slt i32 %t272, 0 + %t274 = zext i1 %t273 to i32 + %t275 = icmp ne i32 %t274, 0 + br i1 %t275, label %then63, label %ifend65 then63: - %t287 = load ptr, ptr %t282 - %t288 = load ptr, ptr %t0 - %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 4 - %t290 = load ptr, ptr %t289 - %t291 = call ptr @fn_qualify_fields(ptr %t287, ptr %t290) - %t292 = call ptr @fn_emit_expr(ptr %t291) - store ptr %t292, ptr %retval - br label %ret + %t276 = load ptr, ptr %t0 + %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 1 + %t278 = load ptr, ptr %t277 + %t279 = call ptr @fn_str_concat(ptr @.str8533, ptr %t278) + call void @fn_perr(ptr %t279) + br label %ifend65 ifend65: - br label %ifend62 + %t280 = load i32, ptr %t271 + %t281 = call ptr @fn_itoa(i32 %t280) + %t282 = call ptr @fn_val(ptr %t281, ptr @.str8534) + store ptr %t282, ptr %retval + br label %ret ifend62: - %t293 = load ptr, ptr %t0 - %t294 = call ptr @fn_emit_member_addr(ptr %t293) - store ptr %t294, ptr %t295 - %t296 = load ptr, ptr %t295 - %t297 = load ptr, ptr @g_g_addr_ty - %t298 = call ptr @fn_emit_load_at(ptr %t296, ptr %t297) - store ptr %t298, ptr %retval - br label %ret -ifend47: - %t299 = load ptr, ptr %t0 - %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 0 - %t301 = load i32, ptr %t300 - %t302 = icmp eq i32 %t301, 36 - %t303 = zext i1 %t302 to i32 - %t304 = icmp ne i32 %t303, 0 - br i1 %t304, label %then66, label %ifend68 + %t283 = load ptr, ptr %t0 + %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 4 + %t285 = load ptr, ptr %t284 + %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 1 + %t287 = load ptr, ptr %t286 + %t288 = load ptr, ptr %t0 + %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1 + %t290 = load ptr, ptr %t289 + %t291 = call i32 @fn_enum_ordinal(ptr %t287, ptr %t290) + store i32 %t291, ptr %t292 + %t293 = load i32, ptr %t292 + %t294 = icmp sge i32 %t293, 0 + %t295 = zext i1 %t294 to i32 + %t296 = icmp ne i32 %t295, 0 + br i1 %t296, label %then66, label %ifend68 then66: - %t305 = load ptr, ptr %t0 - %t306 = call ptr @fn_emit_index_addr(ptr %t305) - store ptr %t306, ptr %t307 - %t308 = load ptr, ptr @g_g_addr_ty - %t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str8014) - %t310 = icmp ne i32 %t309, 0 - br i1 %t310, label %then69, label %ifend71 -then69: - %t311 = load ptr, ptr %t307 - %t312 = call ptr @fn_str_concat(ptr @.str8015, ptr %t311) - %t313 = call ptr @fn_emit_bind(ptr %t312) - store ptr %t313, ptr %t314 - %t315 = load ptr, ptr %t314 - %t316 = call ptr @fn_str_concat(ptr @.str8016, ptr %t315) - %t317 = call ptr @fn_str_concat(ptr %t316, ptr @.str8017) - %t318 = call ptr @fn_emit_bind(ptr %t317) - %t319 = call ptr @fn_val(ptr %t318, ptr @.str8018) - store ptr %t319, ptr %retval - br label %ret -ifend71: - %t320 = load ptr, ptr %t307 - %t321 = load ptr, ptr @g_g_addr_ty - %t322 = call ptr @fn_emit_load_at(ptr %t320, ptr %t321) - store ptr %t322, ptr %retval + %t297 = load i32, ptr %t292 + %t298 = call ptr @fn_itoa(i32 %t297) + %t299 = call ptr @fn_val(ptr %t298, ptr @.str8535) + store ptr %t299, ptr %retval br label %ret ifend68: - %t323 = load ptr, ptr %t0 - %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 0 - %t325 = load i32, ptr %t324 - %t326 = icmp eq i32 %t325, 49 - %t327 = zext i1 %t326 to i32 + br label %ifend53 +ifend53: + %t300 = load ptr, ptr %t0 + %t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 4 + %t302 = load ptr, ptr %t301 + %t303 = call ptr @fn_static_type(ptr %t302) + store ptr %t303, ptr %t304 + %t305 = load ptr, ptr %t304 + %t306 = icmp ne ptr %t305, null + %t307 = zext i1 %t306 to i32 + %t308 = icmp ne i32 %t307, 0 + br i1 %t308, label %then69, label %ifend71 +then69: + %t310 = load ptr, ptr %t304 + %t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str8536) + %t312 = icmp ne i32 %t311, 0 + %t313 = zext i1 %t312 to i32 + store i32 %t313, ptr %t309 + br i1 %t312, label %sc72, label %scend73 +sc72: + %t315 = load ptr, ptr %t0 + %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 1 + %t317 = load ptr, ptr %t316 + %t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str8537) + %t319 = icmp ne i32 %t318, 0 + %t320 = zext i1 %t319 to i32 + store i32 %t320, ptr %t314 + br i1 %t319, label %scend75, label %sc74 +sc74: + %t321 = load ptr, ptr %t0 + %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 1 + %t323 = load ptr, ptr %t322 + %t324 = call i32 @fn_str_eq(ptr %t323, ptr @.str8538) + %t325 = icmp ne i32 %t324, 0 + %t326 = zext i1 %t325 to i32 + store i32 %t326, ptr %t314 + br label %scend75 +scend75: + %t327 = load i32, ptr %t314 %t328 = icmp ne i32 %t327, 0 - br i1 %t328, label %then72, label %ifend74 -then72: - %t329 = load ptr, ptr %t0 - %t330 = call ptr @fn_emit_emit(ptr %t329) - store ptr %t330, ptr %retval - br label %ret -ifend74: - %t331 = load ptr, ptr %t0 - %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 0 - %t333 = load i32, ptr %t332 - %t334 = icmp eq i32 %t333, 52 - %t335 = zext i1 %t334 to i32 - %t336 = icmp ne i32 %t335, 0 - br i1 %t336, label %then75, label %ifend77 -then75: + %t329 = zext i1 %t328 to i32 + store i32 %t329, ptr %t309 + br label %scend73 +scend73: + %t330 = load i32, ptr %t309 + %t331 = icmp ne i32 %t330, 0 + br i1 %t331, label %then76, label %ifend78 +then76: + %t332 = load ptr, ptr %t0 + %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 4 + %t334 = load ptr, ptr %t333 + %t335 = call ptr @fn_emit_expr(ptr %t334) + store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t0 - %t338 = call ptr @fn_emit_try(ptr %t337) - store ptr %t338, ptr %retval - br label %ret -ifend77: - %t339 = load ptr, ptr %t0 - %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 0 - %t341 = load i32, ptr %t340 - %t342 = icmp eq i32 %t341, 34 - %t343 = zext i1 %t342 to i32 - %t344 = icmp ne i32 %t343, 0 - br i1 %t344, label %then78, label %ifend80 -then78: - %t345 = load ptr, ptr %t0 - %t346 = call ptr @fn_emit_call(ptr %t345) + %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 1 + %t339 = load ptr, ptr %t338 + %t340 = call i32 @fn_str_eq(ptr %t339, ptr @.str8539) + %t341 = icmp ne i32 %t340, 0 + br i1 %t341, label %then79, label %ifend81 +then79: + %t342 = load ptr, ptr %t336 + %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @fn_vec_x(ptr %t344) + %t346 = call ptr @fn_val(ptr %t345, ptr @.str8540) store ptr %t346, ptr %retval br label %ret -ifend80: - %t347 = load ptr, ptr %t0 - %t348 = getelementptr inbounds %Cmp_Node, ptr %t347, i32 0, i32 0 - %t349 = load i32, ptr %t348 - %t350 = icmp eq i32 %t349, 37 - %t351 = zext i1 %t350 to i32 - %t352 = icmp ne i32 %t351, 0 - br i1 %t352, label %then81, label %ifend83 -then81: +ifend81: + %t347 = load ptr, ptr %t336 + %t348 = getelementptr inbounds %Cmp_Val, ptr %t347, i32 0, i32 0 + %t349 = load ptr, ptr %t348 + %t350 = call ptr @fn_vec_y(ptr %t349) + %t351 = call ptr @fn_val(ptr %t350, ptr @.str8541) + store ptr %t351, ptr %retval + br label %ret +ifend78: + %t352 = load ptr, ptr %t304 %t353 = load ptr, ptr %t0 - %t354 = call ptr @fn_emit_bin(ptr %t353) - store ptr %t354, ptr %retval + %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1 + %t355 = load ptr, ptr %t354 + %t356 = call ptr @fn_computed_expr(ptr %t352, ptr %t355) + store ptr %t356, ptr %t357 + %t358 = load ptr, ptr %t357 + %t359 = icmp ne ptr %t358, null + %t360 = zext i1 %t359 to i32 + %t361 = icmp ne i32 %t360, 0 + br i1 %t361, label %then82, label %ifend84 +then82: + %t362 = load ptr, ptr %t357 + %t363 = load ptr, ptr %t0 + %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 4 + %t365 = load ptr, ptr %t364 + %t366 = call ptr @fn_qualify_fields(ptr %t362, ptr %t365) + %t367 = call ptr @fn_emit_expr(ptr %t366) + store ptr %t367, ptr %retval br label %ret -ifend83: - %t355 = load ptr, ptr %t0 - %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 0 - %t357 = load i32, ptr %t356 - %t358 = icmp eq i32 %t357, 38 - %t359 = zext i1 %t358 to i32 - %t360 = icmp ne i32 %t359, 0 - br i1 %t360, label %then84, label %ifend86 -then84: - %t361 = load ptr, ptr %t0 - %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 4 - %t363 = load ptr, ptr %t362 - %t364 = call ptr @fn_emit_expr(ptr %t363) - store ptr %t364, ptr %t365 - %t366 = load ptr, ptr %t365 - %t367 = getelementptr inbounds %Cmp_Val, ptr %t366, i32 0, i32 1 - %t368 = load ptr, ptr %t367 - %t369 = call ptr @fn_llty(ptr %t368) - %t370 = call i32 @fn_str_eq(ptr %t369, ptr @.str8019) - %t371 = icmp ne i32 %t370, 0 - br i1 %t371, label %then87, label %ifend89 -then87: - %t372 = load ptr, ptr %t0 - %t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 1 - %t374 = load ptr, ptr %t373 - %t375 = call i32 @fn_str_eq(ptr %t374, ptr @.str8020) - %t376 = icmp ne i32 %t375, 0 - br i1 %t376, label %then90, label %ifend92 -then90: - %t377 = load ptr, ptr %t365 - %t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0 - %t379 = load ptr, ptr %t378 - %t380 = call ptr @fn_str_concat(ptr @.str8021, ptr %t379) - %t381 = call ptr @fn_emit_bind(ptr %t380) - %t382 = call ptr @fn_val(ptr %t381, ptr @.str8022) - store ptr %t382, ptr %retval +ifend84: + br label %ifend71 +ifend71: + %t368 = load ptr, ptr %t0 + %t369 = call ptr @fn_emit_member_addr(ptr %t368) + store ptr %t369, ptr %t370 + %t371 = load ptr, ptr %t370 + %t372 = load ptr, ptr @g_g_addr_ty + %t373 = call ptr @fn_emit_load_at(ptr %t371, ptr %t372) + store ptr %t373, ptr %retval br label %ret -ifend92: - %t383 = load ptr, ptr %t0 - %t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 1 - %t385 = load ptr, ptr %t384 - %t386 = call i32 @fn_str_eq(ptr %t385, ptr @.str8023) - %t387 = icmp ne i32 %t386, 0 - br i1 %t387, label %then93, label %ifend95 -then93: - %t388 = load ptr, ptr %t365 - %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 +ifend50: + %t374 = load ptr, ptr %t0 + %t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 0 + %t376 = load i32, ptr %t375 + %t377 = icmp eq i32 %t376, 36 + %t378 = zext i1 %t377 to i32 + %t379 = icmp ne i32 %t378, 0 + br i1 %t379, label %then85, label %ifend87 +then85: + %t380 = load ptr, ptr %t0 + %t381 = call ptr @fn_emit_index_addr(ptr %t380) + store ptr %t381, ptr %t382 + %t383 = load ptr, ptr @g_g_addr_ty + %t384 = call i32 @fn_str_eq(ptr %t383, ptr @.str8542) + %t385 = icmp ne i32 %t384, 0 + br i1 %t385, label %then88, label %ifend90 +then88: + %t386 = load ptr, ptr %t382 + %t387 = call ptr @fn_str_concat(ptr @.str8543, ptr %t386) + %t388 = call ptr @fn_emit_bind(ptr %t387) + store ptr %t388, ptr %t389 %t390 = load ptr, ptr %t389 - %t391 = call ptr @fn_str_concat(ptr @.str8024, ptr %t390) - %t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str8025) + %t391 = call ptr @fn_str_concat(ptr @.str8544, ptr %t390) + %t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str8545) %t393 = call ptr @fn_emit_bind(ptr %t392) - %t394 = call ptr @fn_val(ptr %t393, ptr @.str8026) + %t394 = call ptr @fn_val(ptr %t393, ptr @.str8546) store ptr %t394, ptr %retval br label %ret -ifend95: - br label %ifend89 -ifend89: - %t395 = load ptr, ptr %t0 - %t396 = getelementptr inbounds %Cmp_Node, ptr %t395, i32 0, i32 1 - %t397 = load ptr, ptr %t396 - %t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str8027) - %t399 = icmp ne i32 %t398, 0 - br i1 %t399, label %then96, label %ifend98 -then96: - %t400 = load ptr, ptr %t365 - %t401 = getelementptr inbounds %Cmp_Val, ptr %t400, i32 0, i32 0 - %t402 = load ptr, ptr %t401 - %t403 = call ptr @fn_str_concat(ptr @.str8028, ptr %t402) - %t404 = call ptr @fn_emit_bind(ptr %t403) - %t405 = call ptr @fn_val(ptr %t404, ptr @.str8029) +ifend90: + %t395 = load ptr, ptr %t382 + %t396 = load ptr, ptr @g_g_addr_ty + %t397 = call ptr @fn_emit_load_at(ptr %t395, ptr %t396) + store ptr %t397, ptr %retval + br label %ret +ifend87: + %t398 = load ptr, ptr %t0 + %t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 0 + %t400 = load i32, ptr %t399 + %t401 = icmp eq i32 %t400, 49 + %t402 = zext i1 %t401 to i32 + %t403 = icmp ne i32 %t402, 0 + br i1 %t403, label %then91, label %ifend93 +then91: + %t404 = load ptr, ptr %t0 + %t405 = call ptr @fn_emit_emit(ptr %t404) store ptr %t405, ptr %retval br label %ret -ifend98: +ifend93: %t406 = load ptr, ptr %t0 - %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 1 - %t408 = load ptr, ptr %t407 - %t409 = call i32 @fn_str_eq(ptr %t408, ptr @.str8030) - %t410 = icmp ne i32 %t409, 0 - br i1 %t410, label %then99, label %ifend101 -then99: - %t411 = load ptr, ptr %t365 - %t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0 - %t413 = load ptr, ptr %t412 - %t414 = call ptr @fn_str_concat(ptr @.str8031, ptr %t413) - %t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str8032) - %t416 = call ptr @fn_emit_bind(ptr %t415) - %t417 = call ptr @fn_val(ptr %t416, ptr @.str8033) - store ptr %t417, ptr %retval + %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 0 + %t408 = load i32, ptr %t407 + %t409 = icmp eq i32 %t408, 52 + %t410 = zext i1 %t409 to i32 + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then94, label %ifend96 +then94: + %t412 = load ptr, ptr %t0 + %t413 = call ptr @fn_emit_try(ptr %t412) + store ptr %t413, ptr %retval br label %ret -ifend101: - %t418 = load ptr, ptr %t365 - %t419 = getelementptr inbounds %Cmp_Val, ptr %t418, i32 0, i32 0 - %t420 = load ptr, ptr %t419 - %t421 = call ptr @fn_str_concat(ptr @.str8034, ptr %t420) - %t422 = call ptr @fn_str_concat(ptr %t421, ptr @.str8035) - %t423 = call ptr @fn_emit_bind(ptr %t422) - store ptr %t423, ptr %t424 - %t425 = load ptr, ptr %t424 - %t426 = call ptr @fn_str_concat(ptr @.str8036, ptr %t425) - %t427 = call ptr @fn_str_concat(ptr %t426, ptr @.str8037) - %t428 = call ptr @fn_emit_bind(ptr %t427) - %t429 = call ptr @fn_val(ptr %t428, ptr @.str8038) +ifend96: + %t414 = load ptr, ptr %t0 + %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 0 + %t416 = load i32, ptr %t415 + %t417 = icmp eq i32 %t416, 34 + %t418 = zext i1 %t417 to i32 + %t419 = icmp ne i32 %t418, 0 + br i1 %t419, label %then97, label %ifend99 +then97: + %t420 = load ptr, ptr %t0 + %t421 = call ptr @fn_emit_call(ptr %t420) + store ptr %t421, ptr %retval + br label %ret +ifend99: + %t422 = load ptr, ptr %t0 + %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 0 + %t424 = load i32, ptr %t423 + %t425 = icmp eq i32 %t424, 37 + %t426 = zext i1 %t425 to i32 + %t427 = icmp ne i32 %t426, 0 + br i1 %t427, label %then100, label %ifend102 +then100: + %t428 = load ptr, ptr %t0 + %t429 = call ptr @fn_emit_bin(ptr %t428) store ptr %t429, ptr %retval br label %ret -ifend86: - call void @fn_perr(ptr @.str8039) - %t430 = call ptr @fn_val(ptr @.str8040, ptr @.str8041) - store ptr %t430, ptr %retval +ifend102: + %t430 = load ptr, ptr %t0 + %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 0 + %t432 = load i32, ptr %t431 + %t433 = icmp eq i32 %t432, 38 + %t434 = zext i1 %t433 to i32 + %t435 = icmp ne i32 %t434, 0 + br i1 %t435, label %then103, label %ifend105 +then103: + %t436 = load ptr, ptr %t0 + %t437 = getelementptr inbounds %Cmp_Node, ptr %t436, i32 0, i32 4 + %t438 = load ptr, ptr %t437 + %t439 = call ptr @fn_emit_expr(ptr %t438) + store ptr %t439, ptr %t440 + %t441 = load ptr, ptr %t440 + %t442 = getelementptr inbounds %Cmp_Val, ptr %t441, i32 0, i32 1 + %t443 = load ptr, ptr %t442 + %t444 = call ptr @fn_llty(ptr %t443) + %t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str8547) + %t446 = icmp ne i32 %t445, 0 + br i1 %t446, label %then106, label %ifend108 +then106: + %t447 = load ptr, ptr %t0 + %t448 = getelementptr inbounds %Cmp_Node, ptr %t447, i32 0, i32 1 + %t449 = load ptr, ptr %t448 + %t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str8548) + %t451 = icmp ne i32 %t450, 0 + br i1 %t451, label %then109, label %ifend111 +then109: + %t452 = load ptr, ptr %t440 + %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0 + %t454 = load ptr, ptr %t453 + %t455 = call ptr @fn_str_concat(ptr @.str8549, ptr %t454) + %t456 = call ptr @fn_emit_bind(ptr %t455) + %t457 = call ptr @fn_val(ptr %t456, ptr @.str8550) + store ptr %t457, ptr %retval + br label %ret +ifend111: + %t458 = load ptr, ptr %t0 + %t459 = getelementptr inbounds %Cmp_Node, ptr %t458, i32 0, i32 1 + %t460 = load ptr, ptr %t459 + %t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str8551) + %t462 = icmp ne i32 %t461, 0 + br i1 %t462, label %then112, label %ifend114 +then112: + %t463 = load ptr, ptr %t440 + %t464 = getelementptr inbounds %Cmp_Val, ptr %t463, i32 0, i32 0 + %t465 = load ptr, ptr %t464 + %t466 = call ptr @fn_str_concat(ptr @.str8552, ptr %t465) + %t467 = call ptr @fn_str_concat(ptr %t466, ptr @.str8553) + %t468 = call ptr @fn_emit_bind(ptr %t467) + %t469 = call ptr @fn_val(ptr %t468, ptr @.str8554) + store ptr %t469, ptr %retval + br label %ret +ifend114: + br label %ifend108 +ifend108: + %t470 = load ptr, ptr %t0 + %t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 1 + %t472 = load ptr, ptr %t471 + %t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str8555) + %t474 = icmp ne i32 %t473, 0 + br i1 %t474, label %then115, label %ifend117 +then115: + %t475 = load ptr, ptr %t440 + %t476 = getelementptr inbounds %Cmp_Val, ptr %t475, i32 0, i32 0 + %t477 = load ptr, ptr %t476 + %t478 = call ptr @fn_str_concat(ptr @.str8556, ptr %t477) + %t479 = call ptr @fn_emit_bind(ptr %t478) + %t480 = call ptr @fn_val(ptr %t479, ptr @.str8557) + store ptr %t480, ptr %retval + br label %ret +ifend117: + %t481 = load ptr, ptr %t0 + %t482 = getelementptr inbounds %Cmp_Node, ptr %t481, i32 0, i32 1 + %t483 = load ptr, ptr %t482 + %t484 = call i32 @fn_str_eq(ptr %t483, ptr @.str8558) + %t485 = icmp ne i32 %t484, 0 + br i1 %t485, label %then118, label %ifend120 +then118: + %t486 = load ptr, ptr %t440 + %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0 + %t488 = load ptr, ptr %t487 + %t489 = call ptr @fn_str_concat(ptr @.str8559, ptr %t488) + %t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str8560) + %t491 = call ptr @fn_emit_bind(ptr %t490) + %t492 = call ptr @fn_val(ptr %t491, ptr @.str8561) + store ptr %t492, ptr %retval + br label %ret +ifend120: + %t493 = load ptr, ptr %t440 + %t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0 + %t495 = load ptr, ptr %t494 + %t496 = call ptr @fn_str_concat(ptr @.str8562, ptr %t495) + %t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str8563) + %t498 = call ptr @fn_emit_bind(ptr %t497) + store ptr %t498, ptr %t499 + %t500 = load ptr, ptr %t499 + %t501 = call ptr @fn_str_concat(ptr @.str8564, ptr %t500) + %t502 = call ptr @fn_str_concat(ptr %t501, ptr @.str8565) + %t503 = call ptr @fn_emit_bind(ptr %t502) + %t504 = call ptr @fn_val(ptr %t503, ptr @.str8566) + store ptr %t504, ptr %retval + br label %ret +ifend105: + call void @fn_perr(ptr @.str8567) + %t505 = call ptr @fn_val(ptr @.str8568, ptr @.str8569) + store ptr %t505, ptr %retval br label %ret ret: - %t431 = load ptr, ptr %retval - ret ptr %t431 + %t506 = load ptr, ptr %retval + ret ptr %t506 } define void @fn_emit_block(ptr %arg_b) { @@ -80338,16 +90071,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 @.str8042) + call void @fn_emit(ptr @.str8570) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str8043) + call void @fn_emit(ptr @.str8571) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str8044) + call void @fn_emit(ptr @.str8572) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str8045) + call void @fn_emit(ptr @.str8573) br label %ret ret: ret void @@ -80371,8 +90104,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 @.str8046, ptr %t5 - store ptr @.str8047, ptr %t6 + store ptr @.str8574, ptr %t5 + store ptr @.str8575, ptr %t6 %t7 = load ptr, ptr %t4 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 @@ -80406,8 +90139,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 @.str8048, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str8049) + %t34 = call ptr @fn_str_concat(ptr @.str8576, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str8577) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8 %t38 = load i32, ptr %t37 @@ -80446,14 +90179,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 @.str8050, ptr %t64) + %t65 = call ptr @fn_str_concat(ptr @.str8578, 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 @.str8051, ptr %t68) + %t69 = call ptr @fn_str_concat(ptr @.str8579, ptr %t68) store ptr %t69, ptr %t5 %t70 = load ptr, ptr %t57 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 @@ -80493,7 +90226,7 @@ then15: store ptr %t90, ptr %t6 br label %ifend17 else16: - call void @fn_perr(ptr @.str8052) + call void @fn_perr(ptr @.str8580) br label %ifend17 ifend17: br label %ifend14 @@ -80513,13 +90246,13 @@ ifend2: %t101 = call ptr @fn_coerce_code(ptr %t99, ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t93 - %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str8053) + %t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str8581) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then18, label %ifend20 then18: %t106 = load ptr, ptr %t102 - %t107 = call ptr @fn_str_concat(ptr @.str8054, ptr %t106) - %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str8055) + %t107 = call ptr @fn_str_concat(ptr @.str8582, ptr %t106) + %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str8583) %t109 = call ptr @fn_emit_bind(ptr %t108) store ptr %t109, ptr %t102 br label %ifend20 @@ -80527,58 +90260,58 @@ ifend20: %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 - %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str8056) + %t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str8584) %t114 = icmp eq i32 %t113, 0 %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then21, label %ifend23 then21: %t117 = load ptr, ptr %t93 - %t118 = call ptr @fn_str_concat(ptr @.str8057, ptr %t117) - %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str8058) + %t118 = call ptr @fn_str_concat(ptr @.str8585, ptr %t117) + %t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str8586) %t120 = load ptr, ptr %t5 %t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120) %t122 = call ptr @fn_emit_bind(ptr %t121) store ptr %t122, ptr %t123 - store ptr @.str8059, ptr %t124 + store ptr @.str8587, ptr %t124 %t125 = load ptr, ptr %t0 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 - %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str8060) + %t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str8588) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then24, label %ifend26 then24: - store ptr @.str8061, ptr %t124 + store ptr @.str8589, ptr %t124 br label %ifend26 ifend26: %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 - %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str8062) + %t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str8590) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: - store ptr @.str8063, ptr %t124 + store ptr @.str8591, ptr %t124 br label %ifend29 ifend29: %t135 = load ptr, ptr %t0 %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 %t137 = load ptr, ptr %t136 - %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str8064) + %t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str8592) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then30, label %ifend32 then30: - store ptr @.str8065, ptr %t124 + store ptr @.str8593, ptr %t124 br label %ifend32 ifend32: %t140 = load ptr, ptr %t124 - %t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str8066) + %t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str8594) %t142 = load ptr, ptr %t93 %t143 = call ptr @fn_str_concat(ptr %t141, ptr %t142) - %t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str8067) + %t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str8595) %t145 = load ptr, ptr %t123 %t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145) - %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str8068) + %t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str8596) %t148 = load ptr, ptr %t102 %t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) @@ -80612,8 +90345,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 @.str8069, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str8070) + %t9 = call ptr @fn_str_concat(ptr @.str8597, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str8598) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 @@ -80622,43 +90355,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 @.str8071) + %t19 = call ptr @fn_lbl(ptr @.str8599) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str8072) + %t21 = call ptr @fn_lbl(ptr @.str8600) store ptr %t21, ptr %t22 - %t23 = call ptr @fn_lbl(ptr @.str8073) + %t23 = call ptr @fn_lbl(ptr @.str8601) 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 @.str8074) + call void @fn_emit(ptr @.str8602) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str8075) + call void @fn_emit(ptr @.str8603) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str8076) + call void @fn_emit(ptr @.str8604) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str8077) + call void @fn_emit(ptr @.str8605) br label %ifend2 else1: - call void @fn_emit(ptr @.str8078) + call void @fn_emit(ptr @.str8606) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str8079) + call void @fn_emit(ptr @.str8607) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str8080) + call void @fn_emit(ptr @.str8608) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str8081) + call void @fn_emit(ptr @.str8609) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str8082) + call void @fn_emit(ptr @.str8610) store i32 0, ptr @g_g_term %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5 @@ -80670,10 +90403,10 @@ ifend2: %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str8083) + call void @fn_emit(ptr @.str8611) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str8084) + call void @fn_emit(ptr @.str8612) br label %ifend5 ifend5: %t42 = load i32, ptr %t18 @@ -80682,7 +90415,7 @@ ifend5: then6: %t44 = load ptr, ptr %t22 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str8085) + call void @fn_emit(ptr @.str8613) store i32 0, ptr @g_g_term %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6 @@ -80712,17 +90445,17 @@ ifend11: %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: - call void @fn_emit(ptr @.str8086) + call void @fn_emit(ptr @.str8614) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str8087) + call void @fn_emit(ptr @.str8615) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str8088) + call void @fn_emit(ptr @.str8616) store i32 0, ptr @g_g_term br label %ret ret: @@ -80738,19 +90471,19 @@ entry: %t13 = alloca ptr %t20 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_lbl(ptr @.str8089) + %t1 = call ptr @fn_lbl(ptr @.str8617) store ptr %t1, ptr %t2 - %t3 = call ptr @fn_lbl(ptr @.str8090) + %t3 = call ptr @fn_lbl(ptr @.str8618) store ptr %t3, ptr %t4 - %t5 = call ptr @fn_lbl(ptr @.str8091) + %t5 = call ptr @fn_lbl(ptr @.str8619) store ptr %t5, ptr %t6 - call void @fn_emit(ptr @.str8092) + call void @fn_emit(ptr @.str8620) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str8093) + call void @fn_emit(ptr @.str8621) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str8094) + call void @fn_emit(ptr @.str8622) %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 @@ -80759,23 +90492,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 @.str8095, ptr %t16) - %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str8096) + %t17 = call ptr @fn_str_concat(ptr @.str8623, ptr %t16) + %t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str8624) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str8097) + call void @fn_emit(ptr @.str8625) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str8098) + call void @fn_emit(ptr @.str8626) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str8099) + call void @fn_emit(ptr @.str8627) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str8100) + call void @fn_emit(ptr @.str8628) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str8101) + call void @fn_emit(ptr @.str8629) store i32 0, ptr @g_g_term %t25 = load ptr, ptr %t2 %t26 = load ptr, ptr %t6 @@ -80791,15 +90524,15 @@ entry: %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str8102) + call void @fn_emit(ptr @.str8630) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8103) + call void @fn_emit(ptr @.str8631) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str8104) + call void @fn_emit(ptr @.str8632) store i32 0, ptr @g_g_term br label %ret ret: @@ -80821,7 +90554,7 @@ entry: %t62 = alloca ptr %t67 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_emit_alloca(ptr @.str8105) + %t1 = call ptr @fn_emit_alloca(ptr @.str8633) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 @@ -80832,29 +90565,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 @.str8106, ptr %t10, ptr %t11) + call void @fn_store_at(ptr @.str8634, 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 @.str8107) - %t16 = call ptr @fn_lbl(ptr @.str8108) + call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str8635) + %t16 = call ptr @fn_lbl(ptr @.str8636) store ptr %t16, ptr %t17 - %t18 = call ptr @fn_lbl(ptr @.str8109) + %t18 = call ptr @fn_lbl(ptr @.str8637) store ptr %t18, ptr %t19 - %t20 = call ptr @fn_lbl(ptr @.str8110) + %t20 = call ptr @fn_lbl(ptr @.str8638) store ptr %t20, ptr %t21 - %t22 = call ptr @fn_lbl(ptr @.str8111) + %t22 = call ptr @fn_lbl(ptr @.str8639) store ptr %t22, ptr %t23 - call void @fn_emit(ptr @.str8112) + call void @fn_emit(ptr @.str8640) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str8113) + call void @fn_emit(ptr @.str8641) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str8114) + call void @fn_emit(ptr @.str8642) %t26 = load ptr, ptr %t2 - %t27 = call ptr @fn_str_concat(ptr @.str8115, ptr %t26) + %t27 = call ptr @fn_str_concat(ptr @.str8643, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 @@ -80863,27 +90596,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 @.str8116, ptr %t35) - %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str8117) + %t36 = call ptr @fn_str_concat(ptr @.str8644, ptr %t35) + %t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str8645) %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 @.str8118) + call void @fn_emit(ptr @.str8646) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str8119) + call void @fn_emit(ptr @.str8647) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str8120) + call void @fn_emit(ptr @.str8648) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str8121) + call void @fn_emit(ptr @.str8649) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str8122) + call void @fn_emit(ptr @.str8650) store i32 0, ptr @g_g_term %t48 = load ptr, ptr %t21 %t49 = load ptr, ptr %t23 @@ -80899,34 +90632,34 @@ entry: %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str8123) + call void @fn_emit(ptr @.str8651) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str8124) + call void @fn_emit(ptr @.str8652) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str8125) + call void @fn_emit(ptr @.str8653) %t59 = load ptr, ptr %t2 - %t60 = call ptr @fn_str_concat(ptr @.str8126, ptr %t59) + %t60 = call ptr @fn_str_concat(ptr @.str8654, 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 @.str8127, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8128) + %t64 = call ptr @fn_str_concat(ptr @.str8655, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8656) %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 @.str8129, ptr %t68, ptr %t69) - call void @fn_emit(ptr @.str8130) + call void @fn_store_at(ptr @.str8657, ptr %t68, ptr %t69) + call void @fn_emit(ptr @.str8658) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str8131) + call void @fn_emit(ptr @.str8659) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str8132) + call void @fn_emit(ptr @.str8660) store i32 0, ptr @g_g_term br label %ret ret: @@ -80956,10 +90689,10 @@ then0: %t14 = load ptr, ptr %t11 %t15 = load ptr, ptr @g_ret_ty %t16 = call ptr @fn_coerce_code(ptr %t14, ptr %t15) - call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str8133) + call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str8661) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str8134) + call void @fn_emit(ptr @.str8662) store i32 1, ptr @g_g_term br label %ret ret: @@ -81014,7 +90747,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 @.str8135) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str8663) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t11 @@ -81092,8 +90825,8 @@ then0: %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 - %t38 = call ptr @fn_str_concat(ptr @.str8136, ptr %t37) - %t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str8137) + %t38 = call ptr @fn_str_concat(ptr @.str8664, ptr %t37) + %t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str8665) %t40 = load ptr, ptr %t1 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 @@ -81101,7 +90834,7 @@ then0: %t44 = load i32, ptr %t43 %t45 = call ptr @fn_itoa(i32 %t44) %t46 = call ptr @fn_str_concat(ptr %t39, ptr %t45) - %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str8138) + %t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str8666) %t48 = load ptr, ptr %t19 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 @@ -81148,12 +90881,12 @@ then6: %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 - %t85 = call ptr @fn_str_concat(ptr @.str8139, ptr %t84) - %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str8140) + %t85 = call ptr @fn_str_concat(ptr @.str8667, ptr %t84) + %t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str8668) %t87 = load i32, ptr %t55 %t88 = call ptr @fn_itoa(i32 %t87) %t89 = call ptr @fn_str_concat(ptr %t86, ptr %t88) - %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8141) + %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8669) call void @fn_perr(ptr %t90) br label %ifend8 ifend8: @@ -81173,24 +90906,24 @@ ifend8: store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 - call void @fn_emit(ptr @.str8142) + call void @fn_emit(ptr @.str8670) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str8143) + call void @fn_emit(ptr @.str8671) %t108 = load ptr, ptr %t2 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str8144) + call void @fn_emit(ptr @.str8672) %t111 = load i32, ptr %t55 %t112 = add i32 %t111, 1 %t113 = mul i32 8, %t112 %t114 = call ptr @fn_itoa(i32 %t113) call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str8145) + call void @fn_emit(ptr @.str8673) %t115 = load ptr, ptr %t104 - %t116 = call ptr @fn_str_concat(ptr @.str8146, ptr %t115) - %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str8147) + %t116 = call ptr @fn_str_concat(ptr @.str8674, ptr %t115) + %t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str8675) %t118 = load ptr, ptr %t106 %t119 = call ptr @fn_str_concat(ptr %t117, ptr %t118) %t120 = call ptr @fn_emit_bind(ptr %t119) @@ -81255,10 +90988,10 @@ entry: %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 - %t6 = call ptr @fn_str_concat(ptr @.str8148, ptr %t5) + %t6 = call ptr @fn_str_concat(ptr @.str8676, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 - %t9 = call ptr @fn_lbl(ptr @.str8149) + %t9 = call ptr @fn_lbl(ptr @.str8677) store ptr %t9, ptr %t10 store ptr null, ptr %t11 store i32 0, ptr %t12 @@ -81294,7 +91027,7 @@ then3: store ptr %t35, ptr %t11 br label %ifend5 else4: - store ptr @.str8150, ptr %t36 + store ptr @.str8678, ptr %t36 store i32 1, ptr %t37 store ptr null, ptr %t38 store i32 0, ptr %t39 @@ -81353,8 +91086,8 @@ ifend11: br i1 %t81, label %then12, label %ifend14 then12: %t82 = load ptr, ptr %t61 - %t83 = call ptr @fn_str_concat(ptr @.str8151, ptr %t82) - %t84 = call ptr @fn_str_concat(ptr %t83, ptr @.str8152) + %t83 = call ptr @fn_str_concat(ptr @.str8679, ptr %t82) + %t84 = call ptr @fn_str_concat(ptr %t83, ptr @.str8680) %t85 = load ptr, ptr %t2 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 @@ -81368,8 +91101,8 @@ ifend14: %t92 = or i32 %t89, %t91 store i32 %t92, ptr %t12 %t93 = load ptr, ptr %t8 - %t94 = call ptr @fn_str_concat(ptr @.str8153, ptr %t93) - %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str8154) + %t94 = call ptr @fn_str_concat(ptr @.str8681, ptr %t93) + %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str8682) %t96 = load i32, ptr %t77 %t97 = call ptr @fn_itoa(i32 %t96) %t98 = call ptr @fn_str_concat(ptr %t95, ptr %t97) @@ -81385,8 +91118,8 @@ then15: br label %ifend17 else16: %t104 = load ptr, ptr %t36 - %t105 = call ptr @fn_str_concat(ptr @.str8155, ptr %t104) - %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str8156) + %t105 = call ptr @fn_str_concat(ptr @.str8683, ptr %t104) + %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str8684) %t107 = load ptr, ptr %t100 %t108 = call ptr @fn_str_concat(ptr %t106, ptr %t107) %t109 = call ptr @fn_emit_bind(ptr %t108) @@ -81398,23 +91131,23 @@ ifend17: store i32 %t111, ptr %t39 br label %wcond6 wend8: - %t112 = call ptr @fn_lbl(ptr @.str8157) + %t112 = call ptr @fn_lbl(ptr @.str8685) store ptr %t112, ptr %t113 - %t114 = call ptr @fn_lbl(ptr @.str8158) + %t114 = call ptr @fn_lbl(ptr @.str8686) store ptr %t114, ptr %t115 - call void @fn_emit(ptr @.str8159) + call void @fn_emit(ptr @.str8687) %t116 = load ptr, ptr %t36 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str8160) + call void @fn_emit(ptr @.str8688) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str8161) + call void @fn_emit(ptr @.str8689) %t118 = load ptr, ptr %t115 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str8162) + call void @fn_emit(ptr @.str8690) %t119 = load ptr, ptr %t113 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str8163) + call void @fn_emit(ptr @.str8691) store i32 0, ptr @g_g_term %t120 = load i32, ptr @g_nloc store i32 %t120, ptr %t121 @@ -81442,15 +91175,15 @@ ifend20: %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then21, label %ifend23 then21: - call void @fn_emit(ptr @.str8164) + call void @fn_emit(ptr @.str8692) %t137 = load ptr, ptr %t10 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str8165) + call void @fn_emit(ptr @.str8693) br label %ifend23 ifend23: %t138 = load ptr, ptr %t115 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str8166) + call void @fn_emit(ptr @.str8694) store i32 0, ptr @g_g_term br label %ifend5 ifend5: @@ -81514,8 +91247,8 @@ then33: %t180 = load ptr, ptr %t2 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 %t182 = load ptr, ptr %t181 - %t183 = call ptr @fn_str_concat(ptr @.str8167, ptr %t182) - %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str8168) + %t183 = call ptr @fn_str_concat(ptr @.str8695, ptr %t182) + %t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str8696) %t185 = load ptr, ptr %t2 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7 %t187 = load ptr, ptr %t186 @@ -81527,7 +91260,7 @@ then33: %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 %t194 = load ptr, ptr %t193 %t195 = call ptr @fn_str_concat(ptr %t184, ptr %t194) - %t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str8169) + %t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str8697) call void @fn_perr(ptr %t196) br label %ifend35 ifend35: @@ -81546,15 +91279,15 @@ ifend26: %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then36, label %ifend38 then36: - call void @fn_emit(ptr @.str8170) + call void @fn_emit(ptr @.str8698) %t203 = load ptr, ptr %t10 call void @fn_emit(ptr %t203) - call void @fn_emit(ptr @.str8171) + call void @fn_emit(ptr @.str8699) br label %ifend38 ifend38: %t204 = load ptr, ptr %t10 call void @fn_emit(ptr %t204) - call void @fn_emit(ptr @.str8172) + call void @fn_emit(ptr @.str8700) store i32 0, ptr @g_g_term br label %ret ret: @@ -81600,7 +91333,7 @@ then0: call void @fn_emit_match_tagged(ptr %t15, ptr %t16, ptr %t17) br label %ret ifend2: - %t18 = call ptr @fn_lbl(ptr @.str8173) + %t18 = call ptr @fn_lbl(ptr @.str8701) store ptr %t18, ptr %t19 store ptr null, ptr %t20 store i32 0, ptr %t21 @@ -81635,7 +91368,7 @@ then6: store ptr %t43, ptr %t20 br label %ifend8 else7: - store ptr @.str8174, ptr %t44 + store ptr @.str8702, ptr %t44 store i32 1, ptr %t45 store i32 0, ptr %t46 br label %wcond9 @@ -81664,8 +91397,8 @@ wbody10: %t66 = load ptr, ptr %t5 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 - %t69 = call ptr @fn_str_concat(ptr @.str8175, ptr %t68) - %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str8176) + %t69 = call ptr @fn_str_concat(ptr @.str8703, ptr %t68) + %t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str8704) %t71 = load ptr, ptr %t65 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 @@ -81682,8 +91415,8 @@ then12: br label %ifend14 else13: %t80 = load ptr, ptr %t44 - %t81 = call ptr @fn_str_concat(ptr @.str8177, ptr %t80) - %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str8178) + %t81 = call ptr @fn_str_concat(ptr @.str8705, ptr %t80) + %t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str8706) %t83 = load ptr, ptr %t76 %t84 = call ptr @fn_str_concat(ptr %t82, ptr %t83) %t85 = call ptr @fn_emit_bind(ptr %t84) @@ -81695,23 +91428,23 @@ ifend14: store i32 %t87, ptr %t46 br label %wcond9 wend11: - %t88 = call ptr @fn_lbl(ptr @.str8179) + %t88 = call ptr @fn_lbl(ptr @.str8707) store ptr %t88, ptr %t89 - %t90 = call ptr @fn_lbl(ptr @.str8180) + %t90 = call ptr @fn_lbl(ptr @.str8708) store ptr %t90, ptr %t91 - call void @fn_emit(ptr @.str8181) + call void @fn_emit(ptr @.str8709) %t92 = load ptr, ptr %t44 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str8182) + call void @fn_emit(ptr @.str8710) %t93 = load ptr, ptr %t89 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str8183) + call void @fn_emit(ptr @.str8711) %t94 = load ptr, ptr %t91 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str8184) + call void @fn_emit(ptr @.str8712) %t95 = load ptr, ptr %t89 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str8185) + call void @fn_emit(ptr @.str8713) store i32 0, ptr @g_g_term %t96 = load ptr, ptr %t39 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 @@ -81723,15 +91456,15 @@ wend11: %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then15, label %ifend17 then15: - call void @fn_emit(ptr @.str8186) + call void @fn_emit(ptr @.str8714) %t103 = load ptr, ptr %t19 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str8187) + call void @fn_emit(ptr @.str8715) br label %ifend17 ifend17: %t104 = load ptr, ptr %t91 call void @fn_emit(ptr %t104) - call void @fn_emit(ptr @.str8188) + call void @fn_emit(ptr @.str8716) store i32 0, ptr @g_g_term br label %ifend8 ifend8: @@ -81758,15 +91491,15 @@ ifend20: %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then21, label %ifend23 then21: - call void @fn_emit(ptr @.str8189) + call void @fn_emit(ptr @.str8717) %t118 = load ptr, ptr %t19 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str8190) + call void @fn_emit(ptr @.str8718) br label %ifend23 ifend23: %t119 = load ptr, ptr %t19 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str8191) + call void @fn_emit(ptr @.str8719) store i32 0, ptr @g_g_term br label %ret ret: @@ -81811,7 +91544,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 @.str8192, ptr %t12) + %t13 = call ptr @fn_str_concat(ptr @.str8720, ptr %t12) call void @fn_perr(ptr %t13) br label %ifend2 ifend2: @@ -81919,13 +91652,13 @@ wend8: %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_llty(ptr %t93) store ptr %t94, ptr %t95 - store ptr @.str8193, ptr %t96 + store ptr @.str8721, ptr %t96 %t97 = load ptr, ptr %t95 - %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str8194) + %t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str8722) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then12, label %ifend14 then12: - store ptr @.str8195, ptr %t96 + store ptr @.str8723, ptr %t96 br label %ifend14 ifend14: %t100 = load ptr, ptr %t47 @@ -82035,21 +91768,21 @@ wend5: then25: %t172 = call ptr @fn_nreg() store ptr %t172, ptr %t173 - call void @fn_emit(ptr @.str8196) + call void @fn_emit(ptr @.str8724) %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) - call void @fn_emit(ptr @.str8197) - call void @fn_emit(ptr @.str8198) + call void @fn_emit(ptr @.str8725) + call void @fn_emit(ptr @.str8726) %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 @.str8199) + call void @fn_emit(ptr @.str8727) %t180 = load ptr, ptr %t173 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str8200) + call void @fn_emit(ptr @.str8728) store i32 4, ptr %t181 store i32 0, ptr %t182 br label %wcond28 @@ -82067,15 +91800,15 @@ wcond28: wbody29: %t192 = call ptr @fn_nreg() store ptr %t192, ptr %t193 - call void @fn_emit(ptr @.str8201) + call void @fn_emit(ptr @.str8729) %t194 = load ptr, ptr %t193 call void @fn_emit(ptr %t194) - call void @fn_emit(ptr @.str8202) + call void @fn_emit(ptr @.str8730) %t195 = load i32, ptr %t181 %t196 = call ptr @fn_itoa(i32 %t195) call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str8203) - call void @fn_emit(ptr @.str8204) + call void @fn_emit(ptr @.str8731) + call void @fn_emit(ptr @.str8732) %t197 = load ptr, ptr %t27 %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 @@ -82083,7 +91816,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 @.str8205) + call void @fn_emit(ptr @.str8733) %t203 = load ptr, ptr %t20 %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 @@ -82091,10 +91824,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 @.str8206) + call void @fn_emit(ptr @.str8734) %t209 = load ptr, ptr %t193 call void @fn_emit(ptr %t209) - call void @fn_emit(ptr @.str8207) + call void @fn_emit(ptr @.str8735) %t210 = load i32, ptr %t181 %t211 = load ptr, ptr %t5 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7 @@ -82114,18 +91847,18 @@ wbody29: store i32 %t224, ptr %t182 br label %wcond28 wend30: - store ptr @.str8208, ptr %t225 + store ptr @.str8736, 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 @.str8209) + %t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str8737) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then31, label %ifend33 then31: - store ptr @.str8210, ptr %t225 + store ptr @.str8738, ptr %t225 br label %ifend33 ifend33: - %t231 = call ptr @fn_find_extern(ptr @.str8211) + %t231 = call ptr @fn_find_extern(ptr @.str8739) %t232 = icmp eq ptr %t231, null %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 @@ -82134,18 +91867,18 @@ then34: store i32 1, ptr @g_g_uses_loopback br label %ifend36 ifend36: - call void @fn_emit(ptr @.str8212) + call void @fn_emit(ptr @.str8740) %t235 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str8213) + call void @fn_emit(ptr @.str8741) %t236 = load ptr, ptr %t225 call void @fn_emit(ptr %t236) - call void @fn_emit(ptr @.str8214) + call void @fn_emit(ptr @.str8742) %t237 = load i32, ptr %t181 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) - call void @fn_emit(ptr @.str8215) - %t239 = call ptr @fn_val(ptr @.str8216, ptr @.str8217) + call void @fn_emit(ptr @.str8743) + %t239 = call ptr @fn_val(ptr @.str8744, ptr @.str8745) store ptr %t239, ptr %retval br label %ret ifend27: @@ -82170,7 +91903,7 @@ wbody38: br i1 %t253, label %then40, label %ifend42 then40: %t254 = load ptr, ptr %t241 - call void @fn_buf_puts(ptr %t254, ptr @.str8218) + call void @fn_buf_puts(ptr %t254, ptr @.str8746) br label %ifend42 ifend42: %t255 = load ptr, ptr %t241 @@ -82182,7 +91915,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 @.str8219) + call void @fn_buf_puts(ptr %t262, ptr @.str8747) %t263 = load ptr, ptr %t241 %t264 = load ptr, ptr %t20 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 @@ -82206,35 +91939,35 @@ wend39: then43: %t278 = call ptr @fn_nreg() store ptr %t278, ptr %t279 - call void @fn_emit(ptr @.str8220) + call void @fn_emit(ptr @.str8748) %t280 = load ptr, ptr %t279 call void @fn_emit(ptr %t280) - call void @fn_emit(ptr @.str8221) + call void @fn_emit(ptr @.str8749) %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 @.str8222) + call void @fn_emit(ptr @.str8750) %t284 = load ptr, ptr %t241 %t285 = call ptr @fn_buf_str(ptr %t284) call void @fn_emit(ptr %t285) - call void @fn_emit(ptr @.str8223) + call void @fn_emit(ptr @.str8751) %t286 = load ptr, ptr %t279 - %t287 = call ptr @fn_val(ptr %t286, ptr @.str8224) + %t287 = call ptr @fn_val(ptr %t286, ptr @.str8752) store ptr %t287, ptr %retval br label %ret ifend45: - call void @fn_emit(ptr @.str8225) + call void @fn_emit(ptr @.str8753) %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 @.str8226) + call void @fn_emit(ptr @.str8754) %t291 = load ptr, ptr %t241 %t292 = call ptr @fn_buf_str(ptr %t291) call void @fn_emit(ptr %t292) - call void @fn_emit(ptr @.str8227) - %t293 = call ptr @fn_val(ptr @.str8228, ptr @.str8229) + call void @fn_emit(ptr @.str8755) + %t293 = call ptr @fn_val(ptr @.str8756, ptr @.str8757) store ptr %t293, ptr %retval br label %ret ret: @@ -82321,14 +92054,14 @@ ifend5: %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then6, label %else7 then6: - store ptr @.str8230, ptr %t54 + store ptr @.str8758, ptr %t54 %t55 = load ptr, ptr %t13 %t56 = call ptr @fn_llty(ptr %t55) - %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str8231) + %t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str8759) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then9, label %ifend11 then9: - store ptr @.str8232, ptr %t54 + store ptr @.str8760, ptr %t54 br label %ifend11 ifend11: %t59 = load ptr, ptr %t13 @@ -82432,7 +92165,7 @@ ifend26: %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then27, label %ifend29 then27: - call void @fn_emit(ptr @.str8233) + call void @fn_emit(ptr @.str8761) %t123 = load ptr, ptr @g_brk_lbl %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 @@ -82441,7 +92174,7 @@ then27: %t128 = getelementptr inbounds ptr, ptr %t125, i32 %t127 %t129 = load ptr, ptr %t128 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str8234) + call void @fn_emit(ptr @.str8762) store i32 1, ptr @g_g_term br label %ret ifend29: @@ -82453,7 +92186,7 @@ ifend29: %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then30, label %ifend32 then30: - call void @fn_emit(ptr @.str8235) + call void @fn_emit(ptr @.str8763) %t136 = load ptr, ptr @g_cnt_lbl %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 @@ -82462,7 +92195,7 @@ then30: %t141 = getelementptr inbounds ptr, ptr %t138, i32 %t140 %t142 = load ptr, ptr %t141 call void @fn_emit(ptr %t142) - call void @fn_emit(ptr @.str8236) + call void @fn_emit(ptr @.str8764) store i32 1, ptr @g_g_term br label %ret ifend32: @@ -82578,13 +92311,13 @@ then57: %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then60, label %ifend62 then60: - call void @fn_perr(ptr @.str8237) + call void @fn_perr(ptr @.str8765) br label %ifend62 ifend62: - call void @fn_emit(ptr @.str8238) + call void @fn_emit(ptr @.str8766) %t213 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t213) - call void @fn_emit(ptr @.str8239) + call void @fn_emit(ptr @.str8767) br label %ret ifend59: %t214 = load ptr, ptr %t0 @@ -82626,7 +92359,7 @@ then69: store ptr %t237, ptr %t238 br label %ret ifend71: - call void @fn_perr(ptr @.str8240) + call void @fn_perr(ptr @.str8768) br label %ret ret: ret void @@ -82870,7 +92603,7 @@ ifend5: store i32 %t19, ptr %t0 br label %wcond0 wend2: - %t20 = call ptr @fn_find_comp(ptr @.str8241) + %t20 = call ptr @fn_find_comp(ptr @.str8769) %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 @@ -82960,9 +92693,9 @@ entry: %t24 = alloca i32 %t38 = alloca ptr %t90 = alloca i32 - call void @fn_emith(ptr @.str8242) - call void @fn_emith(ptr @.str8243) - call void @fn_emith(ptr @.str8244) + call void @fn_emith(ptr @.str8770) + call void @fn_emith(ptr @.str8771) + call void @fn_emith(ptr @.str8772) %t0 = load ptr, ptr @g_g_scenes %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -82971,31 +92704,31 @@ entry: %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: - call void @fn_emith(ptr @.str8245) + call void @fn_emith(ptr @.str8773) br label %ifend2 ifend2: - call void @fn_emith(ptr @.str8246) + call void @fn_emith(ptr @.str8774) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @fn_str_concat(ptr @.str8247, ptr %t8) - %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str8248) + %t9 = call ptr @fn_str_concat(ptr @.str8775, ptr %t8) + %t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str8776) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 - %t12 = call ptr @fn_str_concat(ptr @.str8249, ptr %t11) - %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str8250) + %t12 = call ptr @fn_str_concat(ptr @.str8777, ptr %t11) + %t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str8778) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 - %t15 = call ptr @fn_str_concat(ptr @.str8251, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str8252) + %t15 = call ptr @fn_str_concat(ptr @.str8779, ptr %t14) + %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str8780) call void @fn_emith(ptr %t16) - call void @fn_emith(ptr @.str8253) + call void @fn_emith(ptr @.str8781) %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 @.str8254) - call void @fn_emith(ptr @.str8255) + call void @fn_emith(ptr @.str8782) + call void @fn_emith(ptr @.str8783) br label %ifend5 ifend5: %t19 = call i32 @fn_net_has_owned() @@ -83003,8 +92736,8 @@ ifend5: br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t7 - %t22 = call ptr @fn_str_concat(ptr @.str8256, ptr %t21) - %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str8257) + %t22 = call ptr @fn_str_concat(ptr @.str8784, ptr %t21) + %t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str8785) call void @fn_emith(ptr %t23) br label %ifend8 ifend8: @@ -83038,25 +92771,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 @.str8258, ptr %t47) - %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str8259) + %t48 = call ptr @fn_str_concat(ptr @.str8786, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str8787) %t50 = load ptr, ptr %t7 %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50) - %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str8260) + %t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str8788) %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 @.str8261) + %t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str8789) 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 @.str8262, ptr %t60) - %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str8263) + %t61 = call ptr @fn_str_concat(ptr @.str8790, ptr %t60) + %t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str8791) %t63 = load ptr, ptr %t7 %t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8264) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8792) call void @fn_emith(ptr %t65) br label %ifend14 ifend14: @@ -83071,8 +92804,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 @.str8265, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str8266) + %t75 = call ptr @fn_str_concat(ptr @.str8793, ptr %t74) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str8794) call void @fn_emith(ptr %t76) br label %ifend17 ifend17: @@ -83087,8 +92820,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 @.str8267, ptr %t85) - %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str8268) + %t86 = call ptr @fn_str_concat(ptr @.str8795, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str8796) call void @fn_emith(ptr %t87) br label %ifend20 ifend20: @@ -83115,8 +92848,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 @.str8269, ptr %t103) - %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str8270) + %t104 = call ptr @fn_str_concat(ptr @.str8797, ptr %t103) + %t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str8798) call void @fn_emith(ptr %t105) %t106 = load i32, ptr %t90 %t107 = add i32 %t106, 1 @@ -83135,7 +92868,7 @@ entry: %t24 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str8271) + call void @fn_emit(ptr @.str8799) store i32 0, ptr %t2 br label %wcond0 wcond0: @@ -83163,15 +92896,15 @@ wbody1: then3: %t21 = load i32, ptr %t2 %t22 = call ptr @fn_itoa(i32 %t21) - %t23 = call ptr @fn_str_concat(ptr @.str8272, ptr %t22) + %t23 = call ptr @fn_str_concat(ptr @.str8800, ptr %t22) store ptr %t23, ptr %t24 - call void @fn_emit(ptr @.str8273) + call void @fn_emit(ptr @.str8801) %t25 = load ptr, ptr %t24 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str8274) + call void @fn_emit(ptr @.str8802) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str8275) + call void @fn_emit(ptr @.str8803) %t27 = load ptr, ptr @g_prog %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 @@ -83181,11 +92914,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 @.str8276) - call void @fn_emit(ptr @.str8277) + call void @fn_emit(ptr @.str8804) + call void @fn_emit(ptr @.str8805) %t35 = load ptr, ptr %t24 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str8278) + call void @fn_emit(ptr @.str8806) br label %ifend5 ifend5: %t36 = load i32, ptr %t2 @@ -83193,66 +92926,66 @@ ifend5: store i32 %t37, ptr %t2 br label %wcond0 wend2: - call void @fn_emit(ptr @.str8279) + call void @fn_emit(ptr @.str8807) %t38 = load ptr, ptr %t1 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str8280) - call void @fn_emit(ptr @.str8281) + call void @fn_emit(ptr @.str8808) + call void @fn_emit(ptr @.str8809) %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 @.str8282) + call void @fn_emit(ptr @.str8810) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str8283) - call void @fn_emit(ptr @.str8284) + call void @fn_emit(ptr @.str8811) + call void @fn_emit(ptr @.str8812) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str8285) - call void @fn_emit(ptr @.str8286) - call void @fn_emit(ptr @.str8287) - call void @fn_emit(ptr @.str8288) - call void @fn_emit(ptr @.str8289) - call void @fn_emit(ptr @.str8290) - call void @fn_emit(ptr @.str8291) - call void @fn_emit(ptr @.str8292) - call void @fn_emit(ptr @.str8293) + call void @fn_emit(ptr @.str8813) + call void @fn_emit(ptr @.str8814) + call void @fn_emit(ptr @.str8815) + call void @fn_emit(ptr @.str8816) + call void @fn_emit(ptr @.str8817) + call void @fn_emit(ptr @.str8818) + call void @fn_emit(ptr @.str8819) + call void @fn_emit(ptr @.str8820) + call void @fn_emit(ptr @.str8821) %t42 = load ptr, ptr %t1 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str8294) - call void @fn_emit(ptr @.str8295) - call void @fn_emit(ptr @.str8296) - call void @fn_emit(ptr @.str8297) - call void @fn_emit(ptr @.str8298) - call void @fn_emit(ptr @.str8299) - call void @fn_emit(ptr @.str8300) - call void @fn_emit(ptr @.str8301) - call void @fn_emit(ptr @.str8302) - call void @fn_emit(ptr @.str8303) - call void @fn_emit(ptr @.str8304) - call void @fn_emit(ptr @.str8305) + call void @fn_emit(ptr @.str8822) + call void @fn_emit(ptr @.str8823) + call void @fn_emit(ptr @.str8824) + call void @fn_emit(ptr @.str8825) + call void @fn_emit(ptr @.str8826) + call void @fn_emit(ptr @.str8827) + call void @fn_emit(ptr @.str8828) + call void @fn_emit(ptr @.str8829) + call void @fn_emit(ptr @.str8830) + call void @fn_emit(ptr @.str8831) + call void @fn_emit(ptr @.str8832) + call void @fn_emit(ptr @.str8833) %t43 = load ptr, ptr %t1 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str8306) - call void @fn_emit(ptr @.str8307) - call void @fn_emit(ptr @.str8308) - call void @fn_emit(ptr @.str8309) - call void @fn_emit(ptr @.str8310) + call void @fn_emit(ptr @.str8834) + call void @fn_emit(ptr @.str8835) + call void @fn_emit(ptr @.str8836) + call void @fn_emit(ptr @.str8837) + call void @fn_emit(ptr @.str8838) %t44 = load ptr, ptr %t1 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str8311) - call void @fn_emit(ptr @.str8312) - call void @fn_emit(ptr @.str8313) - call void @fn_emit(ptr @.str8314) - call void @fn_emit(ptr @.str8315) + call void @fn_emit(ptr @.str8839) + call void @fn_emit(ptr @.str8840) + call void @fn_emit(ptr @.str8841) + call void @fn_emit(ptr @.str8842) + call void @fn_emit(ptr @.str8843) %t45 = load ptr, ptr %t1 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str8316) - call void @fn_emit(ptr @.str8317) - call void @fn_emit(ptr @.str8318) - call void @fn_emit(ptr @.str8319) - call void @fn_emit(ptr @.str8320) + call void @fn_emit(ptr @.str8844) + call void @fn_emit(ptr @.str8845) + call void @fn_emit(ptr @.str8846) + call void @fn_emit(ptr @.str8847) + call void @fn_emit(ptr @.str8848) br label %ret ret: ret void @@ -83369,10 +93102,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 @.str8321) + %t3 = call ptr @fn_emit_alloca(ptr @.str8849) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - call void @fn_store_at(ptr @.str8322, ptr @.str8323, ptr %t5) + call void @fn_store_at(ptr @.str8850, ptr @.str8851, 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 @@ -83424,88 +93157,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 @.str8324) + %t41 = call ptr @fn_lbl(ptr @.str8852) store ptr %t41, ptr %t42 - %t43 = call ptr @fn_lbl(ptr @.str8325) + %t43 = call ptr @fn_lbl(ptr @.str8853) store ptr %t43, ptr %t44 - %t45 = call ptr @fn_lbl(ptr @.str8326) + %t45 = call ptr @fn_lbl(ptr @.str8854) store ptr %t45, ptr %t46 - %t47 = call ptr @fn_lbl(ptr @.str8327) + %t47 = call ptr @fn_lbl(ptr @.str8855) store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str8328) + call void @fn_emit(ptr @.str8856) %t49 = load ptr, ptr %t42 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str8329) + call void @fn_emit(ptr @.str8857) %t50 = load ptr, ptr %t42 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str8330) + call void @fn_emit(ptr @.str8858) %t51 = load ptr, ptr %t4 - %t52 = call ptr @fn_str_concat(ptr @.str8331, ptr %t51) + %t52 = call ptr @fn_str_concat(ptr @.str8859, ptr %t51) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 - %t55 = call ptr @fn_emit_bind(ptr @.str8332) + %t55 = call ptr @fn_emit_bind(ptr @.str8860) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t54 - %t58 = call ptr @fn_str_concat(ptr @.str8333, ptr %t57) - %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str8334) + %t58 = call ptr @fn_str_concat(ptr @.str8861, ptr %t57) + %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str8862) %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 @.str8335) + call void @fn_emit(ptr @.str8863) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str8336) + call void @fn_emit(ptr @.str8864) %t65 = load ptr, ptr %t44 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str8337) + call void @fn_emit(ptr @.str8865) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str8338) + call void @fn_emit(ptr @.str8866) %t67 = load ptr, ptr %t44 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str8339) + call void @fn_emit(ptr @.str8867) store i32 0, ptr @g_g_term %t68 = load ptr, ptr %t4 - %t69 = call ptr @fn_str_concat(ptr @.str8340, ptr %t68) + %t69 = call ptr @fn_str_concat(ptr @.str8868, 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 @.str8341) + call void @fn_emit(ptr @.str8869) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str8342) + call void @fn_emit(ptr @.str8870) %t75 = load ptr, ptr %t2 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str8343) + call void @fn_emit(ptr @.str8871) %t76 = load ptr, ptr %t71 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str8344) + call void @fn_emit(ptr @.str8872) %t77 = load ptr, ptr %t73 - %t78 = call ptr @fn_str_concat(ptr @.str8345, ptr %t77) + %t78 = call ptr @fn_str_concat(ptr @.str8873, 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 @.str8346, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str8347) + %t82 = call ptr @fn_str_concat(ptr @.str8874, ptr %t81) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str8875) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 - %t86 = call ptr @fn_lbl(ptr @.str8348) + %t86 = call ptr @fn_lbl(ptr @.str8876) store ptr %t86, ptr %t87 - call void @fn_emit(ptr @.str8349) + call void @fn_emit(ptr @.str8877) %t88 = load ptr, ptr %t85 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str8350) + call void @fn_emit(ptr @.str8878) %t89 = load ptr, ptr %t87 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str8351) + call void @fn_emit(ptr @.str8879) %t90 = load ptr, ptr %t46 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str8352) + call void @fn_emit(ptr @.str8880) %t91 = load ptr, ptr %t87 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str8353) + call void @fn_emit(ptr @.str8881) %t92 = load ptr, ptr %t0 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6 %t94 = load ptr, ptr %t93 @@ -83538,7 +93271,7 @@ wbody6: %t117 = load ptr, ptr %t116 %t118 = call i32 @fn_find_arch_id(ptr %t117) store i32 %t118, ptr %t119 - store ptr @.str8354, ptr %t120 + store ptr @.str8882, ptr %t120 %t121 = load i32, ptr %t119 %t122 = icmp sgt i32 %t121, 0 %t123 = zext i1 %t122 to i32 @@ -83547,23 +93280,23 @@ wbody6: then8: %t125 = call ptr @fn_nreg() store ptr %t125, ptr %t126 - call void @fn_emit(ptr @.str8355) + call void @fn_emit(ptr @.str8883) %t127 = load ptr, ptr %t126 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str8356) + call void @fn_emit(ptr @.str8884) %t128 = load ptr, ptr %t2 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str8357) + call void @fn_emit(ptr @.str8885) %t129 = load ptr, ptr %t71 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str8358) + call void @fn_emit(ptr @.str8886) %t130 = load ptr, ptr %t126 - %t131 = call ptr @fn_str_concat(ptr @.str8359, ptr %t130) + %t131 = call ptr @fn_str_concat(ptr @.str8887, 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 @.str8360, ptr %t134) - %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str8361) + %t135 = call ptr @fn_str_concat(ptr @.str8888, ptr %t134) + %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str8889) %t137 = load i32, ptr %t119 %t138 = call ptr @fn_itoa(i32 %t137) %t139 = call ptr @fn_str_concat(ptr %t136, ptr %t138) @@ -83572,17 +93305,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 @.str8362, ptr %t144) + %t145 = call ptr @fn_str_concat(ptr @.str8890, 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 @.str8363, ptr %t148) - %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str8364) + %t149 = call ptr @fn_str_concat(ptr @.str8891, ptr %t148) + %t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str8892) %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 @.str8365, ptr %t153) - %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str8366) + %t154 = call ptr @fn_str_concat(ptr @.str8893, ptr %t153) + %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str8894) %t156 = load ptr, ptr %t152 %t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) @@ -83591,47 +93324,47 @@ then8: else9: %t159 = call ptr @fn_nreg() store ptr %t159, ptr %t160 - call void @fn_emit(ptr @.str8367) + call void @fn_emit(ptr @.str8895) %t161 = load ptr, ptr %t160 call void @fn_emit(ptr %t161) - call void @fn_emit(ptr @.str8368) + call void @fn_emit(ptr @.str8896) %t162 = load ptr, ptr %t2 call void @fn_emit(ptr %t162) - call void @fn_emit(ptr @.str8369) + call void @fn_emit(ptr @.str8897) %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 @.str8370) + call void @fn_emit(ptr @.str8898) %t166 = load ptr, ptr %t71 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str8371) + call void @fn_emit(ptr @.str8899) %t167 = load ptr, ptr %t160 - %t168 = call ptr @fn_str_concat(ptr @.str8372, ptr %t167) + %t168 = call ptr @fn_str_concat(ptr @.str8900, 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 @.str8373, ptr %t171) - %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str8374) + %t172 = call ptr @fn_str_concat(ptr @.str8901, ptr %t171) + %t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str8902) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t120 br label %ifend10 ifend10: - %t175 = call ptr @fn_lbl(ptr @.str8375) + %t175 = call ptr @fn_lbl(ptr @.str8903) store ptr %t175, ptr %t176 - call void @fn_emit(ptr @.str8376) + call void @fn_emit(ptr @.str8904) %t177 = load ptr, ptr %t120 call void @fn_emit(ptr %t177) - call void @fn_emit(ptr @.str8377) + call void @fn_emit(ptr @.str8905) %t178 = load ptr, ptr %t176 call void @fn_emit(ptr %t178) - call void @fn_emit(ptr @.str8378) + call void @fn_emit(ptr @.str8906) %t179 = load ptr, ptr %t46 call void @fn_emit(ptr %t179) - call void @fn_emit(ptr @.str8379) + call void @fn_emit(ptr @.str8907) %t180 = load ptr, ptr %t176 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str8380) + call void @fn_emit(ptr @.str8908) %t181 = load i32, ptr %t96 %t182 = add i32 %t181, 1 store i32 %t182, ptr %t96 @@ -83701,35 +93434,35 @@ then16: then19: %t231 = call ptr @fn_nreg() store ptr %t231, ptr %t232 - call void @fn_emit(ptr @.str8381) + call void @fn_emit(ptr @.str8909) %t233 = load ptr, ptr %t232 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str8382) + call void @fn_emit(ptr @.str8910) %t234 = load ptr, ptr %t2 call void @fn_emit(ptr %t234) - call void @fn_emit(ptr @.str8383) + call void @fn_emit(ptr @.str8911) %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 @.str8384) + call void @fn_emit(ptr @.str8912) %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 @.str8385) + call void @fn_emit(ptr @.str8913) %t241 = load ptr, ptr %t71 call void @fn_emit(ptr %t241) - call void @fn_emit(ptr @.str8386) - %t242 = call ptr @fn_emit_alloca(ptr @.str8387) + call void @fn_emit(ptr @.str8914) + %t242 = call ptr @fn_emit_alloca(ptr @.str8915) store ptr %t242, ptr %t243 - call void @fn_emit(ptr @.str8388) + call void @fn_emit(ptr @.str8916) %t244 = load ptr, ptr %t232 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str8389) + call void @fn_emit(ptr @.str8917) %t245 = load ptr, ptr %t243 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str8390) + call void @fn_emit(ptr @.str8918) %t246 = load ptr, ptr %t0 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7 %t248 = load ptr, ptr %t247 @@ -83773,25 +93506,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 @.str8391, ptr %t277) - %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str8392) + %t278 = call ptr @fn_str_concat(ptr @.str8919, ptr %t277) + %t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str8920) %t280 = call ptr @fn_emit_bind(ptr %t279) store ptr %t280, ptr %t281 - %t282 = call ptr @fn_lbl(ptr @.str8393) + %t282 = call ptr @fn_lbl(ptr @.str8921) store ptr %t282, ptr %t283 - call void @fn_emit(ptr @.str8394) + call void @fn_emit(ptr @.str8922) %t284 = load ptr, ptr %t281 call void @fn_emit(ptr %t284) - call void @fn_emit(ptr @.str8395) + call void @fn_emit(ptr @.str8923) %t285 = load ptr, ptr %t283 call void @fn_emit(ptr %t285) - call void @fn_emit(ptr @.str8396) + call void @fn_emit(ptr @.str8924) %t286 = load ptr, ptr %t46 call void @fn_emit(ptr %t286) - call void @fn_emit(ptr @.str8397) + call void @fn_emit(ptr @.str8925) %t287 = load ptr, ptr %t283 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str8398) + call void @fn_emit(ptr @.str8926) br label %ifend24 ifend24: %t288 = load ptr, ptr %t46 @@ -83810,34 +93543,34 @@ ifend24: %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str8399) + call void @fn_emit(ptr @.str8927) %t298 = load ptr, ptr %t46 call void @fn_emit(ptr %t298) - call void @fn_emit(ptr @.str8400) + call void @fn_emit(ptr @.str8928) br label %ifend27 ifend27: %t299 = load ptr, ptr %t46 call void @fn_emit(ptr %t299) - call void @fn_emit(ptr @.str8401) + call void @fn_emit(ptr @.str8929) %t300 = load ptr, ptr %t4 - %t301 = call ptr @fn_str_concat(ptr @.str8402, ptr %t300) + %t301 = call ptr @fn_str_concat(ptr @.str8930, 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 @.str8403, ptr %t304) - %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str8404) + %t305 = call ptr @fn_str_concat(ptr @.str8931, ptr %t304) + %t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str8932) %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 @.str8405, ptr %t309, ptr %t310) - call void @fn_emit(ptr @.str8406) + call void @fn_store_at(ptr @.str8933, ptr %t309, ptr %t310) + call void @fn_emit(ptr @.str8934) %t311 = load ptr, ptr %t42 call void @fn_emit(ptr %t311) - call void @fn_emit(ptr @.str8407) + call void @fn_emit(ptr @.str8935) %t312 = load ptr, ptr %t48 call void @fn_emit(ptr %t312) - call void @fn_emit(ptr @.str8408) + call void @fn_emit(ptr @.str8936) store i32 0, ptr @g_g_term %t313 = load i32, ptr @g_nself %t314 = sub i32 %t313, 1 @@ -83847,6 +93580,83 @@ ret: ret void } +define void @fn_emit_hook_with_self(ptr %arg_e, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_emit_alloca(ptr @.str8937) + store ptr %t2, ptr %t3 + call void @fn_emit(ptr @.str8938) + %t4 = load ptr, ptr %t0 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str8939) + %t5 = load ptr, ptr %t3 + call void @fn_emit(ptr %t5) + call void @fn_emit(ptr @.str8940) + %t6 = load i32, ptr @g_nself + %t7 = load ptr, ptr @g_self_stk + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t6, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %else1 +then0: + %t13 = load ptr, ptr @g_self_stk + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr @g_nself + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t3 + store ptr %t18, ptr %t17 + br label %ifend2 +else1: + %t19 = load ptr, ptr @g_self_stk + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 + %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 + %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t23 = load i32, ptr %t20 + %t24 = load i32, ptr %t21 + %t25 = icmp sge i32 %t23, %t24 + br i1 %t25, label %grow3, label %put4 +grow3: + %t26 = mul i32 %t24, 2 + %t27 = icmp eq i32 %t24, 0 + %t28 = select i1 %t27, i32 8, i32 %t26 + %t29 = getelementptr ptr, ptr null, i32 1 + %t30 = ptrtoint ptr %t29 to i64 + %t31 = zext i32 %t28 to i64 + %t32 = mul i64 %t31, %t30 + %t33 = load ptr, ptr %t22 + %t34 = call ptr @realloc(ptr %t33, i64 %t32) + store ptr %t34, ptr %t22 + store i32 %t28, ptr %t21 + br label %put4 +put4: + %t35 = load ptr, ptr %t3 + %t36 = load ptr, ptr %t22 + %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23 + store ptr %t35, ptr %t37 + %t38 = add i32 %t23, 1 + store i32 %t38, ptr %t20 + br label %ifend2 +ifend2: + %t39 = load i32, ptr @g_nself + %t40 = add i32 %t39, 1 + store i32 %t40, ptr @g_nself + %t41 = load ptr, ptr %t1 + call void @fn_emit_block(ptr %t41) + %t42 = load i32, ptr @g_nself + %t43 = sub i32 %t42, 1 + store i32 %t43, ptr @g_nself + br label %ret +ret: + ret void +} + define void @fn_emit_init_component(ptr %arg_e, ptr %arg_comp, ptr %arg_rec) { entry: %t0 = alloca ptr @@ -83870,7 +93680,7 @@ entry: %t141 = alloca ptr %t147 = alloca i32 %t149 = alloca ptr - %t160 = alloca ptr + %t161 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_rec, ptr %t2 @@ -83886,47 +93696,47 @@ entry: br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t1 - %t13 = call ptr @fn_str_concat(ptr @.str8409, ptr %t12) + %t13 = call ptr @fn_str_concat(ptr @.str8941, 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 @.str8410) + call void @fn_emit(ptr @.str8942) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str8411) + call void @fn_emit(ptr @.str8943) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str8412) + call void @fn_emit(ptr @.str8944) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str8413) + call void @fn_emit(ptr @.str8945) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) - call void @fn_emit(ptr @.str8414) - call void @fn_emit(ptr @.str8415) + call void @fn_emit(ptr @.str8946) + call void @fn_emit(ptr @.str8947) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str8416) + call void @fn_emit(ptr @.str8948) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str8417) + call void @fn_emit(ptr @.str8949) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str8418) + call void @fn_emit(ptr @.str8950) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str8419) + call void @fn_emit(ptr @.str8951) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str8420) + call void @fn_emit(ptr @.str8952) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str8421) + call void @fn_emit(ptr @.str8953) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str8422) + call void @fn_emit(ptr @.str8954) store i32 0, ptr %t28 br label %wcond3 wcond3: @@ -83952,32 +93762,32 @@ wbody4: store ptr %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str8423) + call void @fn_emit(ptr @.str8955) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str8424) + call void @fn_emit(ptr @.str8956) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str8425) + call void @fn_emit(ptr @.str8957) %t51 = load ptr, ptr %t22 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str8426) + call void @fn_emit(ptr @.str8958) %t52 = load i32, ptr %t28 %t53 = call ptr @fn_itoa(i32 %t52) call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str8427) + call void @fn_emit(ptr @.str8959) %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 @.str8428, ptr %t59 + store ptr @.str8960, ptr %t59 %t60 = load ptr, ptr %t58 - %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str8429) + %t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str8961) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then6, label %ifend8 then6: - store ptr @.str8430, ptr %t59 + store ptr @.str8962, ptr %t59 br label %ifend8 ifend8: %t63 = load ptr, ptr %t46 @@ -83999,16 +93809,16 @@ then9: store ptr %t76, ptr %t59 br label %ifend11 ifend11: - call void @fn_emit(ptr @.str8431) + call void @fn_emit(ptr @.str8963) %t77 = load ptr, ptr %t58 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str8432) + call void @fn_emit(ptr @.str8964) %t78 = load ptr, ptr %t59 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str8433) + call void @fn_emit(ptr @.str8965) %t79 = load ptr, ptr %t48 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str8434) + call void @fn_emit(ptr @.str8966) %t80 = load i32, ptr %t28 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t28 @@ -84057,26 +93867,26 @@ wbody16: then18: %t115 = call ptr @fn_nreg() store ptr %t115, ptr %t116 - call void @fn_emit(ptr @.str8435) + call void @fn_emit(ptr @.str8967) %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str8436) + call void @fn_emit(ptr @.str8968) %t118 = load ptr, ptr %t1 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str8437) + call void @fn_emit(ptr @.str8969) %t119 = load ptr, ptr %t22 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str8438) + call void @fn_emit(ptr @.str8970) %t120 = load i32, ptr %t110 %t121 = call ptr @fn_itoa(i32 %t120) call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str8439) + call void @fn_emit(ptr @.str8971) %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 @.str8440) + call void @fn_emit(ptr @.str8972) %t127 = load ptr, ptr %t7 %t128 = load ptr, ptr %t104 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 @@ -84084,15 +93894,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 @.str8441) + call void @fn_emit(ptr @.str8973) %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 @.str8442) + call void @fn_emit(ptr @.str8974) %t136 = load ptr, ptr %t116 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str8443) + call void @fn_emit(ptr @.str8975) br label %ifend20 ifend20: %t137 = load i32, ptr %t86 @@ -84113,43 +93923,44 @@ ifend14: then21: %t146 = load i32, ptr @g_nloc store i32 %t146, ptr %t147 - %t148 = call ptr @fn_emit_alloca(ptr @.str8444) + %t148 = call ptr @fn_emit_alloca(ptr @.str8976) store ptr %t148, ptr %t149 - call void @fn_emit(ptr @.str8445) + call void @fn_emit(ptr @.str8977) %t150 = load ptr, ptr %t22 call void @fn_emit(ptr %t150) - call void @fn_emit(ptr @.str8446) + call void @fn_emit(ptr @.str8978) %t151 = load ptr, ptr %t149 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str8447) + call void @fn_emit(ptr @.str8979) %t152 = load ptr, ptr %t1 %t153 = load ptr, ptr %t149 %t154 = load ptr, ptr %t1 call void @fn_loc_push(ptr %t152, ptr %t153, ptr %t154) - %t155 = load ptr, ptr %t141 - call void @fn_emit_block(ptr %t155) - %t156 = load i32, ptr %t147 - store i32 %t156, ptr @g_nloc + %t155 = load ptr, ptr %t0 + %t156 = load ptr, ptr %t141 + call void @fn_emit_hook_with_self(ptr %t155, ptr %t156) + %t157 = load i32, ptr %t147 + store i32 %t157, ptr @g_nloc br label %ifend23 ifend23: - %t157 = load ptr, ptr %t1 - %t158 = call ptr @fn_str_concat(ptr @.str8448, ptr %t157) - %t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str8449) - store ptr %t159, ptr %t160 - %t161 = load ptr, ptr %t160 - %t162 = call ptr @fn_find_event(ptr %t161) - %t163 = icmp ne ptr %t162, null - %t164 = zext i1 %t163 to i32 - %t165 = icmp ne i32 %t164, 0 - br i1 %t165, label %then24, label %ifend26 + %t158 = load ptr, ptr %t1 + %t159 = call ptr @fn_str_concat(ptr @.str8980, ptr %t158) + %t160 = call ptr @fn_str_concat(ptr %t159, ptr @.str8981) + store ptr %t160, ptr %t161 + %t162 = load ptr, ptr %t161 + %t163 = call ptr @fn_find_event(ptr %t162) + %t164 = icmp ne ptr %t163, null + %t165 = zext i1 %t164 to i32 + %t166 = icmp ne i32 %t165, 0 + br i1 %t166, label %then24, label %ifend26 then24: - call void @fn_emit(ptr @.str8450) - %t166 = load ptr, ptr %t160 - call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str8451) - %t167 = load ptr, ptr %t0 + call void @fn_emit(ptr @.str8982) + %t167 = load ptr, ptr %t161 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str8452) + call void @fn_emit(ptr @.str8983) + %t168 = load ptr, ptr %t0 + call void @fn_emit(ptr %t168) + call void @fn_emit(ptr @.str8984) br label %ifend26 ifend26: br label %ret @@ -84197,31 +94008,31 @@ wbody1: store ptr %t23, ptr %t24 %t25 = call ptr @fn_nreg() store ptr %t25, ptr %t26 - call void @fn_emit(ptr @.str8453) + call void @fn_emit(ptr @.str8985) %t27 = load ptr, ptr %t26 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str8454) + call void @fn_emit(ptr @.str8986) %t28 = load ptr, ptr %t3 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str8455) + call void @fn_emit(ptr @.str8987) %t29 = load ptr, ptr %t24 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str8456) + call void @fn_emit(ptr @.str8988) %t30 = load ptr, ptr %t24 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str8457) + call void @fn_emit(ptr @.str8989) %t31 = load ptr, ptr %t1 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str8458) - %t32 = call ptr @fn_emit_alloca(ptr @.str8459) + call void @fn_emit(ptr @.str8990) + %t32 = call ptr @fn_emit_alloca(ptr @.str8991) store ptr %t32, ptr %t33 - call void @fn_emit(ptr @.str8460) + call void @fn_emit(ptr @.str8992) %t34 = load ptr, ptr %t26 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8461) + call void @fn_emit(ptr @.str8993) %t35 = load ptr, ptr %t33 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str8462) + call void @fn_emit(ptr @.str8994) %t36 = load ptr, ptr %t24 %t37 = load ptr, ptr %t33 %t38 = load ptr, ptr %t24 @@ -84236,241 +94047,548 @@ ret: ret void } +define ptr @fn_spawn_record(ptr %arg_n, ptr %arg_cn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca i32 + store ptr %arg_n, ptr %t0 + store ptr %arg_cn, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + store i32 0, ptr %t6 + br label %wcond3 +wcond3: + %t7 = load i32, ptr %t6 + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp slt i32 %t7, %t12 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %wbody4, label %wend5 +wbody4: + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t6 + %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @fn_str_eq(ptr %t25, ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + %t29 = load ptr, ptr %t0 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = load i32, ptr %t6 + %t35 = getelementptr inbounds ptr, ptr %t33, i32 %t34 + %t36 = load ptr, ptr %t35 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 + %t38 = load ptr, ptr %t37 + store ptr %t38, ptr %retval + br label %ret +ifend8: + %t39 = load i32, ptr %t6 + %t40 = add i32 %t39, 1 + store i32 %t40, ptr %t6 + br label %wcond3 +wend5: + store ptr null, ptr %retval + br label %ret +ret: + %t41 = load ptr, ptr %retval + ret ptr %t41 +} + +define ptr @fn_merge_records(ptr %arg_base, ptr %arg_over) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t14 = alloca i32 + store ptr %arg_base, ptr %t0 + store ptr %arg_over, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t1 + %t8 = icmp eq ptr %t7, null + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then3, label %ifend5 +then3: + %t11 = load ptr, ptr %t0 + store ptr %t11, ptr %retval + br label %ret +ifend5: + %t12 = call ptr @fn_node(i32 41) + store ptr %t12, ptr %t13 + store i32 0, ptr %t14 + br label %wcond6 +wcond6: + %t15 = load i32, ptr %t14 + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t15, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody7, label %wend8 +wbody7: + %t24 = load ptr, ptr %t13 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 + %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t30 = load i32, ptr %t27 + %t31 = load i32, ptr %t28 + %t32 = icmp sge i32 %t30, %t31 + br i1 %t32, label %grow9, label %put10 +grow9: + %t33 = mul i32 %t31, 2 + %t34 = icmp eq i32 %t31, 0 + %t35 = select i1 %t34, i32 8, i32 %t33 + %t36 = getelementptr ptr, ptr null, i32 1 + %t37 = ptrtoint ptr %t36 to i64 + %t38 = zext i32 %t35 to i64 + %t39 = mul i64 %t38, %t37 + %t40 = load ptr, ptr %t29 + %t41 = call ptr @realloc(ptr %t40, i64 %t39) + store ptr %t41, ptr %t29 + store i32 %t35, ptr %t28 + br label %put10 +put10: + %t42 = load ptr, ptr %t0 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = load i32, ptr %t14 + %t48 = getelementptr inbounds ptr, ptr %t46, i32 %t47 + %t49 = load ptr, ptr %t48 + %t50 = load ptr, ptr %t29 + %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t30 + store ptr %t49, ptr %t51 + %t52 = add i32 %t30, 1 + store i32 %t52, ptr %t27 + %t53 = load i32, ptr %t14 + %t54 = add i32 %t53, 1 + store i32 %t54, ptr %t14 + br label %wcond6 +wend8: + store i32 0, ptr %t14 + br label %wcond11 +wcond11: + %t55 = load i32, ptr %t14 + %t56 = load ptr, ptr %t1 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 + %t60 = load i32, ptr %t59 + %t61 = icmp slt i32 %t55, %t60 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %wbody12, label %wend13 +wbody12: + %t64 = load ptr, ptr %t13 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 + %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t70 = load i32, ptr %t67 + %t71 = load i32, ptr %t68 + %t72 = icmp sge i32 %t70, %t71 + br i1 %t72, label %grow14, label %put15 +grow14: + %t73 = mul i32 %t71, 2 + %t74 = icmp eq i32 %t71, 0 + %t75 = select i1 %t74, i32 8, i32 %t73 + %t76 = getelementptr ptr, ptr null, i32 1 + %t77 = ptrtoint ptr %t76 to i64 + %t78 = zext i32 %t75 to i64 + %t79 = mul i64 %t78, %t77 + %t80 = load ptr, ptr %t69 + %t81 = call ptr @realloc(ptr %t80, i64 %t79) + store ptr %t81, ptr %t69 + store i32 %t75, ptr %t68 + br label %put15 +put15: + %t82 = load ptr, ptr %t1 + %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 7 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 + %t86 = load ptr, ptr %t85 + %t87 = load i32, ptr %t14 + %t88 = getelementptr inbounds ptr, ptr %t86, i32 %t87 + %t89 = load ptr, ptr %t88 + %t90 = load ptr, ptr %t69 + %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t70 + store ptr %t89, ptr %t91 + %t92 = add i32 %t70, 1 + store i32 %t92, ptr %t67 + %t93 = load i32, ptr %t14 + %t94 = add i32 %t93, 1 + store i32 %t94, ptr %t14 + br label %wcond11 +wend13: + %t95 = load ptr, ptr %t13 + store ptr %t95, ptr %retval + br label %ret +ret: + %t96 = load ptr, ptr %retval + ret ptr %t96 +} + +define ptr @fn_spawn_model(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t7 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + store ptr %t1, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = icmp ne i32 1, 0 + br i1 %t4, label %wbody1, label %wend2 +wbody1: + %t5 = load ptr, ptr %t2 + %t6 = call ptr @fn_find_prefab(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = icmp eq ptr %t8, null + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then3, label %ifend5 +then3: + %t12 = load ptr, ptr %t2 + store ptr %t12, ptr %retval + br label %ret +ifend5: + %t13 = load ptr, ptr %t7 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %t2 + %t16 = load i32, ptr %t3 + %t17 = add i32 %t16, 1 + store i32 %t17, ptr %t3 + %t18 = load i32, ptr %t3 + %t19 = icmp sgt i32 %t18, 16 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then6, label %ifend8 +then6: + %t22 = load ptr, ptr %t0 + %t23 = call ptr @fn_str_concat(ptr @.str8995, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str8996) + call void @fn_perr(ptr %t24) + br label %ifend8 +ifend8: + br label %wcond0 +wend2: + %t25 = load ptr, ptr %t2 + store ptr %t25, ptr %retval + br label %ret +ret: + %t26 = load ptr, ptr %retval + ret ptr %t26 +} + +define ptr @fn_prefab_record(ptr %arg_name, ptr %arg_cn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_cn, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @fn_find_prefab(ptr %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t4 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = load ptr, ptr %t1 + %t13 = call ptr @fn_prefab_record(ptr %t11, ptr %t12) + %t14 = load ptr, ptr %t4 + %t15 = load ptr, ptr %t1 + %t16 = call ptr @fn_spawn_record(ptr %t14, ptr %t15) + %t17 = call ptr @fn_merge_records(ptr %t13, ptr %t16) + store ptr %t17, ptr %retval + br label %ret +ret: + %t18 = load ptr, ptr %retval + ret ptr %t18 +} + define ptr @fn_emit_spawn(ptr %arg_st) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr - %t7 = alloca i32 - %t13 = alloca ptr - %t15 = alloca ptr - %t26 = alloca ptr - %t27 = alloca i32 - %t47 = alloca ptr - %t48 = alloca ptr - %t49 = alloca i32 - %t93 = alloca ptr - %t99 = alloca i32 - %t109 = alloca ptr - %t117 = alloca i32 + %t7 = alloca ptr + %t10 = alloca i32 + %t11 = alloca i32 + %t39 = alloca ptr + %t41 = alloca ptr + %t50 = alloca ptr + %t51 = alloca i32 + %t71 = alloca ptr + %t87 = alloca ptr + %t93 = alloca i32 + %t102 = alloca ptr + %t110 = alloca i32 store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_emit_bind(ptr @.str8463) + %t1 = call ptr @fn_emit_bind(ptr @.str8997) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 - %t6 = call i32 @fn_find_arch_id(ptr %t5) - store i32 %t6, ptr %t7 - %t8 = load i32, ptr %t7 - %t9 = icmp sgt i32 %t8, 0 - %t10 = zext i1 %t9 to i32 - %t11 = icmp ne i32 %t10, 0 - br i1 %t11, label %then0, label %else1 -then0: - %t12 = call ptr @fn_itoa(i32 1024) - store ptr %t12, ptr %t13 - %t14 = call ptr @fn_nreg() - store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str8464) - %t16 = load ptr, ptr %t15 - call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str8465) - %t17 = load ptr, ptr %t13 - call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str8466) - %t18 = load ptr, ptr %t2 - call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str8467) - call void @fn_emit(ptr @.str8468) - %t19 = load i32, ptr %t7 - %t20 = call ptr @fn_itoa(i32 %t19) - call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str8469) - %t21 = load ptr, ptr %t15 - call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str8470) - %t22 = load ptr, ptr %t0 - %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 - %t24 = load ptr, ptr %t23 - %t25 = call ptr @fn_find_arch(ptr %t24) - store ptr %t25, ptr %t26 - store i32 0, ptr %t27 - br label %wcond3 -wcond3: - %t28 = load i32, ptr %t27 - %t29 = load ptr, ptr %t26 - %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 - %t31 = load ptr, ptr %t30 - %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 - %t33 = load i32, ptr %t32 - %t34 = icmp slt i32 %t28, %t33 - %t35 = zext i1 %t34 to i32 - %t36 = icmp ne i32 %t35, 0 - br i1 %t36, label %wbody4, label %wend5 -wbody4: - %t37 = load ptr, ptr %t26 - %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 7 - %t39 = load ptr, ptr %t38 - %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 - %t41 = load ptr, ptr %t40 - %t42 = load i32, ptr %t27 - %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 - %t44 = load ptr, ptr %t43 - %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 - %t46 = load ptr, ptr %t45 - store ptr %t46, ptr %t47 - store ptr null, ptr %t48 - store i32 0, ptr %t49 - br label %wcond6 -wcond6: - %t50 = load i32, ptr %t49 - %t51 = load ptr, ptr %t0 - %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 - %t53 = load ptr, ptr %t52 - %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 - %t55 = load i32, ptr %t54 - %t56 = icmp slt i32 %t50, %t55 - %t57 = zext i1 %t56 to i32 - %t58 = icmp ne i32 %t57, 0 - br i1 %t58, label %wbody7, label %wend8 -wbody7: - %t59 = load ptr, ptr %t0 - %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 - %t61 = load ptr, ptr %t60 - %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 + %t6 = call ptr @fn_spawn_model(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = call i32 @fn_find_arch_id(ptr %t8) + store i32 %t9, ptr %t10 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @fn_find_prefab(ptr %t14) + %t16 = icmp ne ptr %t15, null + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t11 + br i1 %t18, label %sc0, label %scend1 +sc0: + %t20 = load i32, ptr %t10 + %t21 = icmp eq i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t11 + br label %scend1 +scend1: + %t25 = load i32, ptr %t11 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then2, label %ifend4 +then2: + %t27 = load ptr, ptr %t0 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @fn_str_concat(ptr @.str8998, ptr %t29) + %t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str8999) + %t32 = load ptr, ptr %t7 + %t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32) + call void @fn_perr(ptr %t33) + br label %ifend4 +ifend4: + %t34 = load i32, ptr %t10 + %t35 = icmp sgt i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then5, label %else6 +then5: + %t38 = call ptr @fn_itoa(i32 1024) + store ptr %t38, ptr %t39 + %t40 = call ptr @fn_nreg() + store ptr %t40, ptr %t41 + call void @fn_emit(ptr @.str9000) + %t42 = load ptr, ptr %t41 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str9001) + %t43 = load ptr, ptr %t39 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str9002) + %t44 = load ptr, ptr %t2 + call void @fn_emit(ptr %t44) + call void @fn_emit(ptr @.str9003) + call void @fn_emit(ptr @.str9004) + %t45 = load i32, ptr %t10 + %t46 = call ptr @fn_itoa(i32 %t45) + call void @fn_emit(ptr %t46) + call void @fn_emit(ptr @.str9005) + %t47 = load ptr, ptr %t41 + call void @fn_emit(ptr %t47) + call void @fn_emit(ptr @.str9006) + %t48 = load ptr, ptr %t7 + %t49 = call ptr @fn_find_arch(ptr %t48) + store ptr %t49, ptr %t50 + store i32 0, ptr %t51 + br label %wcond8 +wcond8: + %t52 = load i32, ptr %t51 + %t53 = load ptr, ptr %t50 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 + %t57 = load i32, ptr %t56 + %t58 = icmp slt i32 %t52, %t57 + %t59 = zext i1 %t58 to i32 + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %wbody9, label %wend10 +wbody9: + %t61 = load ptr, ptr %t50 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 - %t64 = load i32, ptr %t49 - %t65 = getelementptr inbounds ptr, ptr %t63, i32 %t64 - %t66 = load ptr, ptr %t65 - %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = load i32, ptr %t51 + %t67 = getelementptr inbounds ptr, ptr %t65, i32 %t66 %t68 = load ptr, ptr %t67 - %t69 = load ptr, ptr %t47 - %t70 = call i32 @fn_str_eq(ptr %t68, ptr %t69) - %t71 = icmp ne i32 %t70, 0 - br i1 %t71, label %then9, label %ifend11 -then9: - %t72 = load ptr, ptr %t0 - %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7 - %t74 = load ptr, ptr %t73 - %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + store ptr %t70, ptr %t71 + %t72 = load ptr, ptr %t2 + %t73 = load ptr, ptr %t71 + %t74 = load ptr, ptr %t0 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 - %t77 = load i32, ptr %t49 - %t78 = getelementptr inbounds ptr, ptr %t76, i32 %t77 - %t79 = load ptr, ptr %t78 - %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4 - %t81 = load ptr, ptr %t80 - store ptr %t81, ptr %t48 - br label %ifend11 -ifend11: - %t82 = load i32, ptr %t49 - %t83 = add i32 %t82, 1 - store i32 %t83, ptr %t49 - br label %wcond6 -wend8: - %t84 = load ptr, ptr %t2 - %t85 = load ptr, ptr %t47 - %t86 = load ptr, ptr %t48 - call void @fn_emit_init_component(ptr %t84, ptr %t85, ptr %t86) - %t87 = load i32, ptr %t27 - %t88 = add i32 %t87, 1 - store i32 %t88, ptr %t27 - br label %wcond3 -wend5: - %t89 = load ptr, ptr %t0 - %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 - %t91 = load ptr, ptr %t90 - %t92 = call ptr @fn_onspawn_body(ptr %t91) - store ptr %t92, ptr %t93 - %t94 = load ptr, ptr %t93 - %t95 = icmp ne ptr %t94, null - %t96 = zext i1 %t95 to i32 - %t97 = icmp ne i32 %t96, 0 - br i1 %t97, label %then12, label %ifend14 -then12: - %t98 = load i32, ptr @g_nloc - store i32 %t98, ptr %t99 - %t100 = load ptr, ptr %t26 - %t101 = load ptr, ptr %t2 - call void @fn_emit_bind_props(ptr %t100, ptr %t101) - %t102 = load ptr, ptr %t93 - call void @fn_emit_block(ptr %t102) - %t103 = load i32, ptr %t99 - store i32 %t103, ptr @g_nloc - br label %ifend14 -ifend14: - %t104 = load ptr, ptr %t0 - %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 - %t106 = load ptr, ptr %t105 - %t107 = call ptr @fn_str_concat(ptr @.str8471, ptr %t106) - %t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str8472) - store ptr %t108, ptr %t109 - %t110 = load ptr, ptr %t109 - %t111 = call ptr @fn_find_event(ptr %t110) - %t112 = icmp ne ptr %t111, null - %t113 = zext i1 %t112 to i32 - %t114 = icmp ne i32 %t113, 0 - br i1 %t114, label %then15, label %ifend17 -then15: - call void @fn_emit(ptr @.str8473) - %t115 = load ptr, ptr %t109 - call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str8474) - %t116 = load ptr, ptr %t2 - call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str8475) - br label %ifend17 -ifend17: - br label %ifend2 -else1: - store i32 0, ptr %t117 - br label %wcond18 -wcond18: - %t118 = load i32, ptr %t117 - %t119 = load ptr, ptr %t0 - %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 - %t121 = load ptr, ptr %t120 - %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 - %t123 = load i32, ptr %t122 - %t124 = icmp slt i32 %t118, %t123 - %t125 = zext i1 %t124 to i32 - %t126 = icmp ne i32 %t125, 0 - br i1 %t126, label %wbody19, label %wend20 -wbody19: - %t127 = load ptr, ptr %t2 - %t128 = load ptr, ptr %t0 - %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 + %t77 = load ptr, ptr %t71 + %t78 = call ptr @fn_prefab_record(ptr %t76, ptr %t77) + %t79 = load ptr, ptr %t0 + %t80 = load ptr, ptr %t71 + %t81 = call ptr @fn_spawn_record(ptr %t79, ptr %t80) + %t82 = call ptr @fn_merge_records(ptr %t78, ptr %t81) + call void @fn_emit_init_component(ptr %t72, ptr %t73, ptr %t82) + %t83 = load i32, ptr %t51 + %t84 = add i32 %t83, 1 + store i32 %t84, ptr %t51 + br label %wcond8 +wend10: + %t85 = load ptr, ptr %t7 + %t86 = call ptr @fn_onspawn_body(ptr %t85) + store ptr %t86, ptr %t87 + %t88 = load ptr, ptr %t87 + %t89 = icmp ne ptr %t88, null + %t90 = zext i1 %t89 to i32 + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then11, label %ifend13 +then11: + %t92 = load i32, ptr @g_nloc + store i32 %t92, ptr %t93 + %t94 = load ptr, ptr %t50 + %t95 = load ptr, ptr %t2 + call void @fn_emit_bind_props(ptr %t94, ptr %t95) + %t96 = load ptr, ptr %t2 + %t97 = load ptr, ptr %t87 + call void @fn_emit_hook_with_self(ptr %t96, ptr %t97) + %t98 = load i32, ptr %t93 + store i32 %t98, ptr @g_nloc + br label %ifend13 +ifend13: + %t99 = load ptr, ptr %t7 + %t100 = call ptr @fn_str_concat(ptr @.str9007, ptr %t99) + %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str9008) + store ptr %t101, ptr %t102 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @fn_find_event(ptr %t103) + %t105 = icmp ne ptr %t104, null + %t106 = zext i1 %t105 to i32 + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then14, label %ifend16 +then14: + call void @fn_emit(ptr @.str9009) + %t108 = load ptr, ptr %t102 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str9010) + %t109 = load ptr, ptr %t2 + call void @fn_emit(ptr %t109) + call void @fn_emit(ptr @.str9011) + br label %ifend16 +ifend16: + br label %ifend7 +else6: + store i32 0, ptr %t110 + br label %wcond17 +wcond17: + %t111 = load i32, ptr %t110 + %t112 = load ptr, ptr %t0 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 + %t114 = load ptr, ptr %t113 + %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 + %t116 = load i32, ptr %t115 + %t117 = icmp slt i32 %t111, %t116 + %t118 = zext i1 %t117 to i32 + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %wbody18, label %wend19 +wbody18: + %t120 = load ptr, ptr %t2 + %t121 = load ptr, ptr %t0 + %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 + %t125 = load ptr, ptr %t124 + %t126 = load i32, ptr %t110 + %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 %t130 = load ptr, ptr %t129 - %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 - %t132 = load ptr, ptr %t131 - %t133 = load i32, ptr %t117 - %t134 = getelementptr inbounds ptr, ptr %t132, i32 %t133 + %t131 = load ptr, ptr %t0 + %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 + %t133 = load ptr, ptr %t132 + %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 - %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 - %t137 = load ptr, ptr %t136 - %t138 = load ptr, ptr %t0 - %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7 + %t136 = load i32, ptr %t110 + %t137 = getelementptr inbounds ptr, ptr %t135, i32 %t136 + %t138 = load ptr, ptr %t137 + %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 4 %t140 = load ptr, ptr %t139 - %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 - %t142 = load ptr, ptr %t141 - %t143 = load i32, ptr %t117 - %t144 = getelementptr inbounds ptr, ptr %t142, i32 %t143 - %t145 = load ptr, ptr %t144 - %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4 - %t147 = load ptr, ptr %t146 - call void @fn_emit_init_component(ptr %t127, ptr %t137, ptr %t147) - %t148 = load i32, ptr %t117 - %t149 = add i32 %t148, 1 - store i32 %t149, ptr %t117 - br label %wcond18 -wend20: - br label %ifend2 -ifend2: - %t150 = load ptr, ptr %t2 - store ptr %t150, ptr %retval + call void @fn_emit_init_component(ptr %t120, ptr %t130, ptr %t140) + %t141 = load i32, ptr %t110 + %t142 = add i32 %t141, 1 + store i32 %t142, ptr %t110 + br label %wcond17 +wend19: + br label %ifend7 +ifend7: + %t143 = load ptr, ptr %t2 + store ptr %t143, ptr %retval br label %ret ret: - %t151 = load ptr, ptr %retval - ret ptr %t151 + %t144 = load ptr, ptr %retval + ret ptr %t144 } define void @fn_emit_despawn(ptr %arg_st) { @@ -84504,20 +94622,20 @@ then0: store ptr %t12, ptr %t13 %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str8476) + call void @fn_emit(ptr @.str9012) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str8477) + call void @fn_emit(ptr @.str9013) %t17 = load ptr, ptr %t13 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str8478) + call void @fn_emit(ptr @.str9014) %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 @.str8479) + call void @fn_emit(ptr @.str9015) %t21 = load ptr, ptr %t15 - %t22 = call ptr @fn_str_concat(ptr @.str8480, ptr %t21) + %t22 = call ptr @fn_str_concat(ptr @.str9016, ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 store i32 0, ptr %t25 @@ -84542,42 +94660,42 @@ wbody4: %t40 = load ptr, ptr %t39 store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t24 - %t43 = call ptr @fn_str_concat(ptr @.str8481, ptr %t42) - %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str8482) + %t43 = call ptr @fn_str_concat(ptr @.str9017, ptr %t42) + %t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str9018) %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 @.str8483) + %t51 = call ptr @fn_lbl(ptr @.str9019) store ptr %t51, ptr %t52 - %t53 = call ptr @fn_lbl(ptr @.str8484) + %t53 = call ptr @fn_lbl(ptr @.str9020) store ptr %t53, ptr %t54 - call void @fn_emit(ptr @.str8485) + call void @fn_emit(ptr @.str9021) %t55 = load ptr, ptr %t50 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str8486) + call void @fn_emit(ptr @.str9022) %t56 = load ptr, ptr %t52 call void @fn_emit(ptr %t56) - call void @fn_emit(ptr @.str8487) + call void @fn_emit(ptr @.str9023) %t57 = load ptr, ptr %t54 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str8488) + call void @fn_emit(ptr @.str9024) %t58 = load ptr, ptr %t52 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str8489) + call void @fn_emit(ptr @.str9025) %t59 = load ptr, ptr %t41 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str8490) + call void @fn_emit(ptr @.str9026) %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 @.str8491) + call void @fn_emit(ptr @.str9027) %t63 = load ptr, ptr %t41 - %t64 = call ptr @fn_str_concat(ptr @.str8492, ptr %t63) - %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str8493) + %t64 = call ptr @fn_str_concat(ptr @.str9028, ptr %t63) + %t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str9029) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_find_event(ptr %t67) @@ -84586,24 +94704,24 @@ wbody4: %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str8494) + call void @fn_emit(ptr @.str9030) %t72 = load ptr, ptr %t66 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str8495) + call void @fn_emit(ptr @.str9031) %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 @.str8496) + call void @fn_emit(ptr @.str9032) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str8497) + call void @fn_emit(ptr @.str9033) %t76 = load ptr, ptr %t54 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str8498) + call void @fn_emit(ptr @.str9034) %t77 = load ptr, ptr %t54 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str8499) + call void @fn_emit(ptr @.str9035) %t78 = load i32, ptr %t25 %t79 = add i32 %t78, 1 store i32 %t79, ptr %t25 @@ -84619,20 +94737,20 @@ ifend2: %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str8500) + call void @fn_emit(ptr @.str9036) %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 @.str8501) + call void @fn_emit(ptr @.str9037) br label %ifend11 ifend11: - call void @fn_emit(ptr @.str8502) + call void @fn_emit(ptr @.str9038) %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 @.str8503) + call void @fn_emit(ptr @.str9039) br label %ret ret: ret void @@ -84658,49 +94776,49 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str8504) + call void @fn_emit(ptr @.str9040) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str8505) + call void @fn_emit(ptr @.str9041) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str8506) + call void @fn_emit(ptr @.str9042) %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 @.str8507) + call void @fn_emit(ptr @.str9043) %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 @.str8508) + call void @fn_emit(ptr @.str9044) %t18 = load ptr, ptr %t9 - %t19 = call ptr @fn_str_concat(ptr @.str8509, ptr %t18) + %t19 = call ptr @fn_str_concat(ptr @.str9045, 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 @.str8510, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str8511) + %t23 = call ptr @fn_str_concat(ptr @.str9046, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str9047) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str8512) + %t27 = call ptr @fn_lbl(ptr @.str9048) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str8513) + %t29 = call ptr @fn_lbl(ptr @.str9049) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str8514) + call void @fn_emit(ptr @.str9050) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str8515) + call void @fn_emit(ptr @.str9051) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str8516) + call void @fn_emit(ptr @.str9052) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str8517) + call void @fn_emit(ptr @.str9053) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8518) + call void @fn_emit(ptr @.str9054) store i32 0, ptr @g_g_term %t35 = load ptr, ptr %t5 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 @@ -84718,15 +94836,15 @@ entry: %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str8519) + call void @fn_emit(ptr @.str9055) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str8520) + call void @fn_emit(ptr @.str9056) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str8521) + call void @fn_emit(ptr @.str9057) store i32 0, ptr @g_g_term br label %ret ret: @@ -84758,54 +94876,54 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str8522) + call void @fn_emit(ptr @.str9058) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str8523) + call void @fn_emit(ptr @.str9059) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str8524) + call void @fn_emit(ptr @.str9060) %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 @.str8525) + call void @fn_emit(ptr @.str9061) %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 @.str8526) + call void @fn_emit(ptr @.str9062) %t18 = load ptr, ptr %t9 - %t19 = call ptr @fn_str_concat(ptr @.str8527, ptr %t18) + %t19 = call ptr @fn_str_concat(ptr @.str9063, 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 @.str8528, ptr %t22) - %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str8529) + %t23 = call ptr @fn_str_concat(ptr @.str9064, ptr %t22) + %t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str9065) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str8530) + %t27 = call ptr @fn_lbl(ptr @.str9066) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str8531) + %t29 = call ptr @fn_lbl(ptr @.str9067) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str8532) + call void @fn_emit(ptr @.str9068) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str8533) + call void @fn_emit(ptr @.str9069) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str8534) + call void @fn_emit(ptr @.str9070) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str8535) + call void @fn_emit(ptr @.str9071) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8536) + call void @fn_emit(ptr @.str9072) store i32 0, ptr @g_g_term - call void @fn_emit(ptr @.str8537) + call void @fn_emit(ptr @.str9073) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str8538) + call void @fn_emit(ptr @.str9074) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 @@ -84821,37 +94939,37 @@ then0: store i32 %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str8539) + call void @fn_emit(ptr @.str9075) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str8540) + call void @fn_emit(ptr @.str9076) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str8541) + call void @fn_emit(ptr @.str9077) %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 @.str8542) + call void @fn_emit(ptr @.str9078) %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 @.str8543) + call void @fn_emit(ptr @.str9079) %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 @.str8544) - %t60 = call ptr @fn_emit_alloca(ptr @.str8545) + call void @fn_emit(ptr @.str9080) + %t60 = call ptr @fn_emit_alloca(ptr @.str9081) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str8546) + call void @fn_emit(ptr @.str9082) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str8547) + call void @fn_emit(ptr @.str9083) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str8548) + call void @fn_emit(ptr @.str9084) %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 @@ -84869,8 +94987,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 @.str8549, ptr %t75) - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str8550) + %t76 = call ptr @fn_str_concat(ptr @.str9085, ptr %t75) + %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str9086) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_find_event(ptr %t79) @@ -84879,15 +94997,15 @@ ifend2: %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str8551) + call void @fn_emit(ptr @.str9087) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str8552) + call void @fn_emit(ptr @.str9088) %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 @.str8553) + call void @fn_emit(ptr @.str9089) br label %ifend5 ifend5: %t88 = load i32, ptr @g_g_term @@ -84896,21 +95014,88 @@ ifend5: %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str8554) + call void @fn_emit(ptr @.str9090) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str8555) + call void @fn_emit(ptr @.str9091) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str8556) + call void @fn_emit(ptr @.str9092) store i32 0, ptr @g_g_term br label %ret ret: ret void } +define ptr @fn_find_sys(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 9 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + define void @fn_emit_toggle(ptr %arg_st) { entry: %t0 = alloca ptr @@ -84927,8 +95112,12 @@ entry: %t127 = alloca ptr %t144 = alloca ptr %t165 = alloca ptr + %t174 = alloca ptr + %t175 = alloca i32 + %t176 = alloca i32 + %t203 = alloca ptr store ptr %arg_st, ptr %t0 - store ptr @.str8557, ptr %t1 + store ptr @.str9093, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2 %t4 = load i32, ptr %t3 @@ -84937,7 +95126,7 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: - store ptr @.str8558, ptr %t1 + store ptr @.str9094, ptr %t1 br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 @@ -84953,7 +95142,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 @.str8559) + %t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str9095) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t8 @@ -84978,7 +95167,7 @@ sc8: %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3 %t34 = load ptr, ptr %t33 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str8560) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str9096) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t24 @@ -84988,20 +95177,20 @@ scend9: %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str8561) + call void @fn_emit(ptr @.str9097) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str8562) + call void @fn_emit(ptr @.str9098) %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str8563) + call void @fn_emit(ptr @.str9099) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str8564, ptr %t46) - %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str8565) + %t47 = call ptr @fn_str_concat(ptr @.str9100, ptr %t46) + %t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str9101) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2 @@ -85014,8 +95203,8 @@ then13: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 - %t59 = call ptr @fn_str_concat(ptr @.str8566, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str8567) + %t59 = call ptr @fn_str_concat(ptr @.str9102, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str9103) store ptr %t60, ptr %t49 br label %ifend15 ifend15: @@ -85026,10 +95215,10 @@ ifend15: %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str8568) + call void @fn_emit(ptr @.str9104) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str8569) + call void @fn_emit(ptr @.str9105) br label %ifend18 ifend18: br label %ret @@ -85051,30 +95240,30 @@ then19: store ptr %t78, ptr %t79 %t80 = call ptr @fn_nreg() store ptr %t80, ptr %t81 - call void @fn_emit(ptr @.str8570) + call void @fn_emit(ptr @.str9106) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str8571) + call void @fn_emit(ptr @.str9107) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str8572) + call void @fn_emit(ptr @.str9108) %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str8573) + call void @fn_emit(ptr @.str9109) %t87 = load ptr, ptr %t77 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str8574) - call void @fn_emit(ptr @.str8575) + call void @fn_emit(ptr @.str9110) + call void @fn_emit(ptr @.str9111) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str8576) + call void @fn_emit(ptr @.str9112) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str8577) + call void @fn_emit(ptr @.str9113) store ptr null, ptr %t92 %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2 @@ -85108,37 +95297,37 @@ then25: store i32 %t111, ptr %t112 %t113 = call ptr @fn_nreg() store ptr %t113, ptr %t114 - call void @fn_emit(ptr @.str8578) + call void @fn_emit(ptr @.str9114) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str8579) + call void @fn_emit(ptr @.str9115) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str8580) + call void @fn_emit(ptr @.str9116) %t117 = load ptr, ptr %t0 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str8581) + call void @fn_emit(ptr @.str9117) %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t121 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str8582) + call void @fn_emit(ptr @.str9118) %t123 = load ptr, ptr %t77 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) - call void @fn_emit(ptr @.str8583) - %t126 = call ptr @fn_emit_alloca(ptr @.str8584) + call void @fn_emit(ptr @.str9119) + %t126 = call ptr @fn_emit_alloca(ptr @.str9120) store ptr %t126, ptr %t127 - call void @fn_emit(ptr @.str8585) + call void @fn_emit(ptr @.str9121) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str8586) + call void @fn_emit(ptr @.str9122) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str8587) + call void @fn_emit(ptr @.str9123) %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 @@ -85156,8 +95345,8 @@ ifend27: %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 - %t142 = call ptr @fn_str_concat(ptr @.str8588, ptr %t141) - %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str8589) + %t142 = call ptr @fn_str_concat(ptr @.str9124, ptr %t141) + %t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str9125) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 @@ -85170,8 +95359,8 @@ then28: %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 - %t154 = call ptr @fn_str_concat(ptr @.str8590, ptr %t153) - %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str8591) + %t154 = call ptr @fn_str_concat(ptr @.str9126, ptr %t153) + %t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str9127) store ptr %t155, ptr %t144 br label %ifend30 ifend30: @@ -85182,20 +95371,20 @@ ifend30: %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then31, label %ifend33 then31: - call void @fn_emit(ptr @.str8592) + call void @fn_emit(ptr @.str9128) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) - call void @fn_emit(ptr @.str8593) + call void @fn_emit(ptr @.str9129) %t162 = load ptr, ptr %t77 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str8594) + call void @fn_emit(ptr @.str9130) br label %ifend33 ifend33: br label %ifend21 else20: - store ptr @.str8595, ptr %t165 + store ptr @.str9131, ptr %t165 %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 @@ -85203,20 +95392,76 @@ else20: %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then34, label %ifend36 then34: - store ptr @.str8596, ptr %t165 + store ptr @.str9132, ptr %t165 br label %ifend36 ifend36: - call void @fn_emit(ptr @.str8597) - %t171 = load ptr, ptr %t1 - call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str8598) - %t172 = load ptr, ptr %t165 - call void @fn_emit(ptr %t172) - %t173 = load ptr, ptr %t0 - %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1 - %t175 = load ptr, ptr %t174 - call void @fn_emit(ptr %t175) - call void @fn_emit(ptr @.str8599) + %t171 = load ptr, ptr %t0 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 + %t173 = load ptr, ptr %t172 + store ptr %t173, ptr %t174 + %t177 = load ptr, ptr %t165 + %t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str9133) + %t179 = icmp ne i32 %t178, 0 + %t180 = zext i1 %t179 to i32 + store i32 %t180, ptr %t176 + br i1 %t179, label %sc37, label %scend38 +sc37: + %t181 = load ptr, ptr %t174 + %t182 = call ptr @fn_find_sys(ptr %t181) + %t183 = icmp eq ptr %t182, null + %t184 = zext i1 %t183 to i32 + %t185 = icmp ne i32 %t184, 0 + %t186 = zext i1 %t185 to i32 + store i32 %t186, ptr %t176 + br label %scend38 +scend38: + %t187 = load i32, ptr %t176 + %t188 = icmp ne i32 %t187, 0 + %t189 = zext i1 %t188 to i32 + store i32 %t189, ptr %t175 + br i1 %t188, label %sc39, label %scend40 +sc39: + %t190 = load ptr, ptr @g_g_cur_scene + %t191 = icmp ne ptr %t190, null + %t192 = zext i1 %t191 to i32 + %t193 = icmp ne i32 %t192, 0 + %t194 = zext i1 %t193 to i32 + store i32 %t194, ptr %t175 + br label %scend40 +scend40: + %t195 = load i32, ptr %t175 + %t196 = icmp ne i32 %t195, 0 + br i1 %t196, label %then41, label %ifend43 +then41: + %t197 = load ptr, ptr @g_g_cur_scene + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t198 + %t200 = call ptr @fn_str_concat(ptr %t199, ptr @.str9134) + %t201 = load ptr, ptr %t174 + %t202 = call ptr @fn_str_concat(ptr %t200, ptr %t201) + store ptr %t202, ptr %t203 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @fn_find_sys(ptr %t204) + %t206 = icmp ne ptr %t205, null + %t207 = zext i1 %t206 to i32 + %t208 = icmp ne i32 %t207, 0 + br i1 %t208, label %then44, label %ifend46 +then44: + %t209 = load ptr, ptr %t203 + store ptr %t209, ptr %t174 + br label %ifend46 +ifend46: + br label %ifend43 +ifend43: + call void @fn_emit(ptr @.str9135) + %t210 = load ptr, ptr %t1 + call void @fn_emit(ptr %t210) + call void @fn_emit(ptr @.str9136) + %t211 = load ptr, ptr %t165 + call void @fn_emit(ptr %t211) + %t212 = load ptr, ptr %t174 + call void @fn_emit(ptr %t212) + call void @fn_emit(ptr @.str9137) br label %ifend21 ifend21: br label %ret @@ -85240,7 +95485,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str8600, ptr @g_ret_ty + store ptr @.str9138, ptr @g_ret_ty %t4 = call ptr @fn_buf_new() store ptr %t4, ptr %t5 %t6 = call ptr @fn_buf_new() @@ -85259,25 +95504,25 @@ entry: %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str8601) + call void @fn_emit(ptr @.str9139) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str8602) + call void @fn_emit(ptr @.str9140) %t17 = load ptr, ptr %t8 store ptr %t17, ptr @g_code - call void @fn_emit(ptr @.str8603) + call void @fn_emit(ptr @.str9141) %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 @.str8604) + call void @fn_emit(ptr @.str9142) %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 @.str8605) + call void @fn_emit(ptr @.str9143) br label %ret ret: ret void @@ -85299,12 +95544,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 @.str8606, ptr %t3) + %t4 = call ptr @fn_str_concat(ptr @.str9144, 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 @.str8607, ptr %t7) - %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str8608) + %t8 = call ptr @fn_str_concat(ptr @.str9145, ptr %t7) + %t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str9146) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t0 @@ -85337,17 +95582,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 @.str8609, ptr %t34) + %t35 = call ptr @fn_str_concat(ptr @.str9147, 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 @.str8610, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str8611) + %t39 = call ptr @fn_str_concat(ptr @.str9148, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str9149) %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 @.str8612, ptr %t43) - %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str8613) + %t44 = call ptr @fn_str_concat(ptr @.str9150, ptr %t43) + %t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str9151) %t46 = load ptr, ptr %t42 %t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) @@ -85362,51 +95607,51 @@ ifend4: %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then5, label %ifend7 then5: - %t55 = call ptr @fn_emit_bind(ptr @.str8614) + %t55 = call ptr @fn_emit_bind(ptr @.str9152) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 - %t58 = call ptr @fn_str_concat(ptr @.str8615, ptr %t57) - %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str8616) + %t58 = call ptr @fn_str_concat(ptr @.str9153, ptr %t57) + %t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str9154) %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 @.str8617, ptr %t62) - %t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str8618) + %t63 = call ptr @fn_str_concat(ptr @.str9155, ptr %t62) + %t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str9156) %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 @.str8619) + %t68 = call ptr @fn_lbl(ptr @.str9157) store ptr %t68, ptr %t69 - %t70 = call ptr @fn_lbl(ptr @.str8620) + %t70 = call ptr @fn_lbl(ptr @.str9158) store ptr %t70, ptr %t71 - call void @fn_emit(ptr @.str8621) + call void @fn_emit(ptr @.str9159) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str8622) + call void @fn_emit(ptr @.str9160) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str8623) + call void @fn_emit(ptr @.str9161) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str8624) + call void @fn_emit(ptr @.str9162) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str8625) + call void @fn_emit(ptr @.str9163) %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 @.str8626) - call void @fn_emit(ptr @.str8627) + call void @fn_emit(ptr @.str9164) + call void @fn_emit(ptr @.str9165) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str8628) + call void @fn_emit(ptr @.str9166) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str8629) + call void @fn_emit(ptr @.str9167) br label %ret ret: ret void @@ -85448,10 +95693,10 @@ scend4: %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: - call void @fn_emit(ptr @.str8630) + call void @fn_emit(ptr @.str9168) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str8631) + call void @fn_emit(ptr @.str9169) br label %ifend7 ifend7: br label %ret @@ -85464,6 +95709,8 @@ entry: %t0 = alloca ptr %t1 = alloca i32 %t35 = alloca i32 + %t48 = alloca i32 + %t62 = alloca i32 store ptr %arg_phase, ptr %t0 store i32 0, ptr %t1 br label %wcond0 @@ -85509,7 +95756,7 @@ ifend5: br label %wcond0 wend2: %t32 = load ptr, ptr %t0 - %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str8632) + %t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str9170) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then6, label %ifend8 then6: @@ -85519,7 +95766,7 @@ then6: store i32 %t38, ptr %t35 br i1 %t37, label %sc9, label %scend10 sc9: - %t39 = call ptr @fn_find_fn(ptr @.str8633) + %t39 = call ptr @fn_find_fn(ptr @.str9171) %t40 = icmp ne ptr %t39, null %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 @@ -85531,11 +95778,581 @@ scend10: %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str8634) + call void @fn_emit(ptr @.str9172) br label %ifend13 ifend13: + %t46 = call i32 @fn_has_countdowns() + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then14, label %ifend16 +then14: + call void @fn_emit(ptr @.str9173) + br label %ifend16 +ifend16: + %t49 = load i32, ptr @g_g_uses_fx + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t48 + br i1 %t50, label %sc17, label %scend18 +sc17: + %t52 = call ptr @fn_find_fn(ptr @.str9174) + %t53 = icmp ne ptr %t52, null + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend18 +scend18: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then19, label %ifend21 +then19: + call void @fn_emit(ptr @.str9175) + br label %ifend21 +ifend21: br label %ifend8 ifend8: + %t59 = load ptr, ptr %t0 + %t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str9176) + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then22, label %ifend24 +then22: + %t63 = load i32, ptr @g_g_uses_fx + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t62 + br i1 %t64, label %sc25, label %scend26 +sc25: + %t66 = call ptr @fn_find_fn(ptr @.str9177) + %t67 = icmp ne ptr %t66, null + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t62 + br label %scend26 +scend26: + %t71 = load i32, ptr %t62 + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then27, label %ifend29 +then27: + call void @fn_emit(ptr @.str9178) + br label %ifend29 +ifend29: + br label %ifend24 +ifend24: + br label %ret +ret: + ret void +} + +define void @fn_emit_countdown_system() { +entry: + %t1 = alloca ptr + %t3 = alloca i32 + %t4 = alloca i32 + %t18 = alloca ptr + %t25 = alloca i32 + %t26 = alloca i32 + %t54 = alloca ptr + %t58 = alloca ptr + %t107 = alloca ptr + %t0 = call ptr @fn_itoa(i32 1024) + store ptr %t0, ptr %t1 + call void @fn_emit(ptr @.str9179) + call void @fn_emit(ptr @.str9180) + call void @fn_emit(ptr @.str9181) + call void @fn_emit(ptr @.str9182) + call void @fn_emit(ptr @.str9183) + %t2 = load ptr, ptr %t1 + call void @fn_emit(ptr %t2) + call void @fn_emit(ptr @.str9184) + call void @fn_emit(ptr @.str9185) + store i32 0, ptr %t3 + store i32 0, ptr %t4 + br label %wcond0 +wcond0: + %t5 = load i32, ptr %t4 + %t6 = load ptr, ptr @g_prog + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t5, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr @g_prog + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + %t14 = load ptr, ptr %t13 + %t15 = load i32, ptr %t4 + %t16 = getelementptr inbounds ptr, ptr %t14, i32 %t15 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 + %t21 = load i32, ptr %t20 + %t22 = icmp eq i32 %t21, 8 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + store i32 0, ptr %t25 + store i32 0, ptr %t26 + br label %wcond6 +wcond6: + %t27 = load i32, ptr %t26 + %t28 = load ptr, ptr %t18 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t32 = load i32, ptr %t31 + %t33 = icmp slt i32 %t27, %t32 + %t34 = zext i1 %t33 to i32 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %wbody7, label %wend8 +wbody7: + %t36 = load ptr, ptr %t18 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = load i32, ptr %t26 + %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 + %t45 = load ptr, ptr %t44 + %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str9186) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then9, label %ifend11 +then9: + store i32 1, ptr %t25 + br label %ifend11 +ifend11: + %t48 = load i32, ptr %t26 + %t49 = add i32 %t48, 1 + store i32 %t49, ptr %t26 + br label %wcond6 +wend8: + %t50 = load i32, ptr %t25 + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then12, label %ifend14 +then12: + %t52 = load i32, ptr %t3 + %t53 = call ptr @fn_itoa(i32 %t52) + store ptr %t53, ptr %t54 + %t55 = load i32, ptr %t3 + %t56 = add i32 %t55, 1 + %t57 = call ptr @fn_itoa(i32 %t56) + store ptr %t57, ptr %t58 + call void @fn_emit(ptr @.str9187) + %t59 = load ptr, ptr %t54 + call void @fn_emit(ptr %t59) + call void @fn_emit(ptr @.str9188) + call void @fn_emit(ptr @.str9189) + %t60 = load ptr, ptr %t54 + call void @fn_emit(ptr %t60) + call void @fn_emit(ptr @.str9190) + %t61 = load ptr, ptr %t1 + call void @fn_emit(ptr %t61) + call void @fn_emit(ptr @.str9191) + %t62 = load ptr, ptr %t18 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str9192) + call void @fn_emit(ptr @.str9193) + %t65 = load ptr, ptr %t54 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str9194) + %t66 = load ptr, ptr %t54 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9195) + call void @fn_emit(ptr @.str9196) + %t67 = load ptr, ptr %t54 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9197) + %t68 = load ptr, ptr %t54 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str9198) + call void @fn_emit(ptr @.str9199) + %t69 = load ptr, ptr %t54 + call void @fn_emit(ptr %t69) + call void @fn_emit(ptr @.str9200) + %t70 = load ptr, ptr %t54 + call void @fn_emit(ptr %t70) + call void @fn_emit(ptr @.str9201) + %t71 = load ptr, ptr %t58 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str9202) + call void @fn_emit(ptr @.str9203) + %t72 = load ptr, ptr %t54 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str9204) + call void @fn_emit(ptr @.str9205) + %t73 = load ptr, ptr %t54 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9206) + %t74 = load ptr, ptr %t1 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9207) + %t75 = load ptr, ptr %t18 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 + %t77 = load ptr, ptr %t76 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str9208) + %t78 = load ptr, ptr %t18 + %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 + %t80 = load ptr, ptr %t79 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str9209) + store i32 0, ptr %t26 + br label %wcond15 +wcond15: + %t81 = load i32, ptr %t26 + %t82 = load ptr, ptr %t18 + %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 7 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 + %t86 = load i32, ptr %t85 + %t87 = icmp slt i32 %t81, %t86 + %t88 = zext i1 %t87 to i32 + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %wbody16, label %wend17 +wbody16: + %t90 = load ptr, ptr %t18 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7 + %t92 = load ptr, ptr %t91 + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 + %t94 = load ptr, ptr %t93 + %t95 = load i32, ptr %t26 + %t96 = getelementptr inbounds ptr, ptr %t94, i32 %t95 + %t97 = load ptr, ptr %t96 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 3 + %t99 = load ptr, ptr %t98 + %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str9210) + %t101 = icmp ne i32 %t100, 0 + br i1 %t101, label %then18, label %ifend20 +then18: + %t102 = load ptr, ptr %t54 + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str9211) + %t104 = load i32, ptr %t26 + %t105 = call ptr @fn_itoa(i32 %t104) + %t106 = call ptr @fn_str_concat(ptr %t103, ptr %t105) + store ptr %t106, ptr %t107 + call void @fn_emit(ptr @.str9212) + %t108 = load ptr, ptr %t107 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str9213) + %t109 = load ptr, ptr %t18 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 + %t111 = load ptr, ptr %t110 + call void @fn_emit(ptr %t111) + call void @fn_emit(ptr @.str9214) + %t112 = load ptr, ptr %t54 + call void @fn_emit(ptr %t112) + call void @fn_emit(ptr @.str9215) + %t113 = load i32, ptr %t26 + %t114 = call ptr @fn_itoa(i32 %t113) + call void @fn_emit(ptr %t114) + call void @fn_emit(ptr @.str9216) + call void @fn_emit(ptr @.str9217) + %t115 = load ptr, ptr %t107 + call void @fn_emit(ptr %t115) + call void @fn_emit(ptr @.str9218) + %t116 = load ptr, ptr %t107 + call void @fn_emit(ptr %t116) + call void @fn_emit(ptr @.str9219) + call void @fn_emit(ptr @.str9220) + %t117 = load ptr, ptr %t107 + call void @fn_emit(ptr %t117) + call void @fn_emit(ptr @.str9221) + %t118 = load ptr, ptr %t107 + call void @fn_emit(ptr %t118) + call void @fn_emit(ptr @.str9222) + call void @fn_emit(ptr @.str9223) + %t119 = load ptr, ptr %t107 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str9224) + %t120 = load ptr, ptr %t107 + call void @fn_emit(ptr %t120) + call void @fn_emit(ptr @.str9225) + call void @fn_emit(ptr @.str9226) + %t121 = load ptr, ptr %t107 + call void @fn_emit(ptr %t121) + call void @fn_emit(ptr @.str9227) + %t122 = load ptr, ptr %t107 + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str9228) + %t123 = load ptr, ptr %t107 + call void @fn_emit(ptr %t123) + call void @fn_emit(ptr @.str9229) + %t124 = load ptr, ptr %t107 + call void @fn_emit(ptr %t124) + call void @fn_emit(ptr @.str9230) + call void @fn_emit(ptr @.str9231) + %t125 = load ptr, ptr %t107 + call void @fn_emit(ptr %t125) + call void @fn_emit(ptr @.str9232) + %t126 = load ptr, ptr %t107 + call void @fn_emit(ptr %t126) + call void @fn_emit(ptr @.str9233) + br label %ifend20 +ifend20: + %t127 = load i32, ptr %t26 + %t128 = add i32 %t127, 1 + store i32 %t128, ptr %t26 + br label %wcond15 +wend17: + call void @fn_emit(ptr @.str9234) + %t129 = load ptr, ptr %t58 + call void @fn_emit(ptr %t129) + call void @fn_emit(ptr @.str9235) + %t130 = load i32, ptr %t3 + %t131 = add i32 %t130, 1 + store i32 %t131, ptr %t3 + br label %ifend14 +ifend14: + br label %ifend5 +ifend5: + %t132 = load i32, ptr %t4 + %t133 = add i32 %t132, 1 + store i32 %t133, ptr %t4 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str9236) + %t134 = load i32, ptr %t3 + %t135 = call ptr @fn_itoa(i32 %t134) + call void @fn_emit(ptr %t135) + call void @fn_emit(ptr @.str9237) + call void @fn_emit(ptr @.str9238) + br label %ret +ret: + ret void +} + +define void @fn_emit_prefab_fn(ptr %arg_pre) { +entry: + %t0 = alloca ptr + %t2 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + %t16 = alloca ptr + store ptr %arg_pre, ptr %t0 + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr null, ptr @g_g_cur_scene + store ptr @.str9239, ptr @g_ret_ty + %t1 = call ptr @fn_buf_new() + store ptr %t1, ptr %t2 + %t3 = call ptr @fn_buf_new() + store ptr %t3, ptr @g_falloc + %t4 = load ptr, ptr @g_code + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t2 + store ptr %t6, ptr @g_code + %t7 = call ptr @fn_node(i32 22) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t10 + %t14 = load ptr, ptr %t8 + %t15 = call ptr @fn_emit_spawn(ptr %t14) + store ptr %t15, ptr %t16 + call void @fn_emit(ptr @.str9240) + %t17 = load ptr, ptr %t16 + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str9241) + %t18 = load ptr, ptr %t5 + store ptr %t18, ptr @g_code + call void @fn_emit(ptr @.str9242) + %t19 = load ptr, ptr %t0 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 + %t21 = load ptr, ptr %t20 + call void @fn_emit(ptr %t21) + call void @fn_emit(ptr @.str9243) + %t22 = load ptr, ptr @g_falloc + %t23 = call ptr @fn_buf_str(ptr %t22) + call void @fn_emit(ptr %t23) + %t24 = load ptr, ptr %t2 + %t25 = call ptr @fn_buf_str(ptr %t24) + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9244) + br label %ret +ret: + ret void +} + +define void @fn_emit_prefab_fns() { +entry: + %t0 = alloca i32 + %t28 = alloca ptr + %t31 = alloca ptr + %t46 = alloca ptr + %t54 = alloca ptr + %t62 = alloca ptr + %t69 = alloca ptr + %t74 = alloca ptr + %t76 = alloca ptr + %t78 = alloca ptr + %t89 = alloca ptr + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 53 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr @g_prog + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t0 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + call void @fn_emit_prefab_fn(ptr %t24) + br label %ifend5 +ifend5: + %t25 = load i32, ptr %t0 + %t26 = add i32 %t25, 1 + store i32 %t26, ptr %t0 + br label %wcond0 +wend2: + store i32 1, ptr @g_g_uses_str + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + %t27 = call ptr @fn_buf_new() + store ptr %t27, ptr %t28 + %t29 = call ptr @fn_buf_new() + store ptr %t29, ptr @g_falloc + %t30 = load ptr, ptr @g_code + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t28 + store ptr %t32, ptr @g_code + store i32 0, ptr %t0 + br label %wcond6 +wcond6: + %t33 = load i32, ptr %t0 + %t34 = load ptr, ptr @g_prog + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp slt i32 %t33, %t36 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %wbody7, label %wend8 +wbody7: + %t40 = load ptr, ptr @g_prog + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = load i32, ptr %t0 + %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 + %t45 = load ptr, ptr %t44 + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 + %t49 = load i32, ptr %t48 + %t50 = icmp eq i32 %t49, 53 + %t51 = zext i1 %t50 to i32 + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then9, label %ifend11 +then9: + %t53 = call ptr @fn_node(i32 31) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 + %t57 = load ptr, ptr %t46 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 + %t59 = load ptr, ptr %t58 + store ptr %t59, ptr %t56 + %t60 = load ptr, ptr %t54 + %t61 = call ptr @fn_emit_expr(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @fn_str_concat(ptr @.str9245, ptr %t65) + %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str9246) + %t68 = call ptr @fn_emit_bind(ptr %t67) + store ptr %t68, ptr %t69 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @fn_str_concat(ptr @.str9247, ptr %t70) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str9248) + %t73 = call ptr @fn_emit_bind(ptr %t72) + store ptr %t73, ptr %t74 + %t75 = call ptr @fn_lbl(ptr @.str9249) + store ptr %t75, ptr %t76 + %t77 = call ptr @fn_lbl(ptr @.str9250) + store ptr %t77, ptr %t78 + call void @fn_emit(ptr @.str9251) + %t79 = load ptr, ptr %t74 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str9252) + %t80 = load ptr, ptr %t76 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str9253) + %t81 = load ptr, ptr %t78 + call void @fn_emit(ptr %t81) + call void @fn_emit(ptr @.str9254) + %t82 = load ptr, ptr %t76 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str9255) + %t83 = load ptr, ptr %t46 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @fn_str_concat(ptr @.str9256, ptr %t85) + %t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str9257) + %t88 = call ptr @fn_emit_bind(ptr %t87) + store ptr %t88, ptr %t89 + call void @fn_emit(ptr @.str9258) + %t90 = load ptr, ptr %t89 + call void @fn_emit(ptr %t90) + call void @fn_emit(ptr @.str9259) + %t91 = load ptr, ptr %t78 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str9260) + br label %ifend11 +ifend11: + %t92 = load i32, ptr %t0 + %t93 = add i32 %t92, 1 + store i32 %t93, ptr %t0 + br label %wcond6 +wend8: + call void @fn_emit(ptr @.str9261) + %t94 = load ptr, ptr %t31 + store ptr %t94, ptr @g_code + call void @fn_emit(ptr @.str9262) + %t95 = load ptr, ptr @g_falloc + %t96 = call ptr @fn_buf_str(ptr %t95) + call void @fn_emit(ptr %t96) + %t97 = load ptr, ptr %t28 + %t98 = call ptr @fn_buf_str(ptr %t97) + call void @fn_emit(ptr %t98) + call void @fn_emit(ptr @.str9263) br label %ret ret: ret void @@ -85547,7 +96364,7 @@ entry: %t0 = alloca ptr store ptr %arg_phase, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str8635) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str9264) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -85555,7 +96372,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str8636) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str9265) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -85563,7 +96380,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str8637) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str9266) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -85571,7 +96388,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str8638) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str9267) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -85579,7 +96396,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str8639) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str9268) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -85587,7 +96404,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str8640) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str9269) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -85595,50 +96412,58 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str8641) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str9270) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store i32 6, ptr %retval br label %ret ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str9271) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 7, ptr %retval + br label %ret +ifend23: store i32 7, ptr %retval br label %ret ret: - %t22 = load i32, ptr %retval - ret i32 %t22 + %t25 = load i32, ptr %retval + ret i32 %t25 } define void @fn_emit_module_glue() { entry: %t4 = alloca i32 - call void @fn_emith(ptr @.str8642) - call void @fn_emith(ptr @.str8643) - call void @fn_emith(ptr @.str8644) - call void @fn_emith(ptr @.str8645) - call void @fn_emith(ptr @.str8646) - call void @fn_emith(ptr @.str8647) - call void @fn_emith(ptr @.str8648) - call void @fn_emith(ptr @.str8649) - call void @fn_emith(ptr @.str8650) - call void @fn_emith(ptr @.str8651) - call void @fn_emith(ptr @.str8652) - call void @fn_emith(ptr @.str8653) - call void @fn_emith(ptr @.str8654) - call void @fn_emith(ptr @.str8655) - call void @fn_emith(ptr @.str8656) - call void @fn_emith(ptr @.str8657) - call void @fn_emith(ptr @.str8658) - call void @fn_emith(ptr @.str8659) - call void @fn_emith(ptr @.str8660) - call void @fn_emit(ptr @.str8661) - %t0 = call ptr @fn_find_fn(ptr @.str8662) + call void @fn_emith(ptr @.str9272) + call void @fn_emith(ptr @.str9273) + call void @fn_emith(ptr @.str9274) + call void @fn_emith(ptr @.str9275) + call void @fn_emith(ptr @.str9276) + call void @fn_emith(ptr @.str9277) + call void @fn_emith(ptr @.str9278) + call void @fn_emith(ptr @.str9279) + call void @fn_emith(ptr @.str9280) + call void @fn_emith(ptr @.str9281) + call void @fn_emith(ptr @.str9282) + call void @fn_emith(ptr @.str9283) + call void @fn_emith(ptr @.str9284) + call void @fn_emith(ptr @.str9285) + call void @fn_emith(ptr @.str9286) + call void @fn_emith(ptr @.str9287) + call void @fn_emith(ptr @.str9288) + call void @fn_emith(ptr @.str9289) + call void @fn_emith(ptr @.str9290) + call void @fn_emit(ptr @.str9291) + %t0 = call ptr @fn_find_fn(ptr @.str9292) %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 @.str8663) + call void @fn_emit(ptr @.str9293) br label %ifend2 ifend2: store i32 0, ptr %t4 @@ -85653,7 +96478,7 @@ wcond3: %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody4, label %wend5 wbody4: - call void @fn_emit(ptr @.str8664) + call void @fn_emit(ptr @.str9294) %t12 = load ptr, ptr @g_g_mod_sys_fn %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 @@ -85661,7 +96486,7 @@ wbody4: %t16 = getelementptr inbounds ptr, ptr %t14, i32 %t15 %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str8665) + call void @fn_emit(ptr @.str9295) %t18 = load ptr, ptr @g_g_mod_sys_phase %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 @@ -85671,14 +96496,14 @@ wbody4: %t24 = call i32 @fn_phase_id(ptr %t23) %t25 = call ptr @fn_itoa(i32 %t24) call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str8666) + call void @fn_emit(ptr @.str9296) %t26 = load i32, ptr %t4 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t4 br label %wcond3 wend5: - call void @fn_emit(ptr @.str8667) - call void @fn_emith(ptr @.str8668) + call void @fn_emit(ptr @.str9297) + call void @fn_emith(ptr @.str9298) br label %ret ret: ret void @@ -85689,35 +96514,35 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 64) store ptr %t0, ptr %t1 - call void @fn_emith(ptr @.str8669) + call void @fn_emith(ptr @.str9299) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) - call void @fn_emith(ptr @.str8670) - call void @fn_emith(ptr @.str8671) + call void @fn_emith(ptr @.str9300) + call void @fn_emith(ptr @.str9301) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) - call void @fn_emith(ptr @.str8672) - call void @fn_emith(ptr @.str8673) - call void @fn_emit(ptr @.str8674) - call void @fn_emit(ptr @.str8675) - call void @fn_emit(ptr @.str8676) + call void @fn_emith(ptr @.str9302) + call void @fn_emith(ptr @.str9303) + call void @fn_emit(ptr @.str9304) + call void @fn_emit(ptr @.str9305) + call void @fn_emit(ptr @.str9306) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str8677) - call void @fn_emit(ptr @.str8678) - call void @fn_emit(ptr @.str8679) - call void @fn_emit(ptr @.str8680) + call void @fn_emit(ptr @.str9307) + call void @fn_emit(ptr @.str9308) + call void @fn_emit(ptr @.str9309) + call void @fn_emit(ptr @.str9310) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str8681) - call void @fn_emit(ptr @.str8682) - call void @fn_emit(ptr @.str8683) + call void @fn_emit(ptr @.str9311) + call void @fn_emit(ptr @.str9312) + call void @fn_emit(ptr @.str9313) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str8684) - call void @fn_emit(ptr @.str8685) - call void @fn_emit(ptr @.str8686) - call void @fn_emit(ptr @.str8687) + call void @fn_emit(ptr @.str9314) + call void @fn_emit(ptr @.str9315) + call void @fn_emit(ptr @.str9316) + call void @fn_emit(ptr @.str9317) br label %ret ret: ret void @@ -85754,141 +96579,141 @@ entry: store ptr %t7, ptr %t8 %t9 = call ptr @fn_nreg() store ptr %t9, ptr %t10 - %t11 = call ptr @fn_lbl(ptr @.str8688) + %t11 = call ptr @fn_lbl(ptr @.str9318) store ptr %t11, ptr %t12 - %t13 = call ptr @fn_lbl(ptr @.str8689) + %t13 = call ptr @fn_lbl(ptr @.str9319) store ptr %t13, ptr %t14 - %t15 = call ptr @fn_lbl(ptr @.str8690) + %t15 = call ptr @fn_lbl(ptr @.str9320) store ptr %t15, ptr %t16 - %t17 = call ptr @fn_lbl(ptr @.str8691) + %t17 = call ptr @fn_lbl(ptr @.str9321) store ptr %t17, ptr %t18 - %t19 = call ptr @fn_lbl(ptr @.str8692) + %t19 = call ptr @fn_lbl(ptr @.str9322) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str8693) + %t21 = call ptr @fn_lbl(ptr @.str9323) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str8694) + call void @fn_emit(ptr @.str9324) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str8695) + call void @fn_emit(ptr @.str9325) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str8696) + call void @fn_emit(ptr @.str9326) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str8697) + call void @fn_emit(ptr @.str9327) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str8698) - call void @fn_emit(ptr @.str8699) + call void @fn_emit(ptr @.str9328) + call void @fn_emit(ptr @.str9329) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str8700) + call void @fn_emit(ptr @.str9330) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str8701) + call void @fn_emit(ptr @.str9331) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str8702) + call void @fn_emit(ptr @.str9332) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str8703) - %t31 = call ptr @fn_emit_bind(ptr @.str8704) + call void @fn_emit(ptr @.str9333) + %t31 = call ptr @fn_emit_bind(ptr @.str9334) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 - %t34 = call ptr @fn_str_concat(ptr @.str8705, ptr %t33) - %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str8706) + %t34 = call ptr @fn_str_concat(ptr @.str9335, ptr %t33) + %t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str9336) %t36 = load ptr, ptr %t32 %t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 - call void @fn_emit(ptr @.str8707) + call void @fn_emit(ptr @.str9337) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str8708) + call void @fn_emit(ptr @.str9338) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str8709) + call void @fn_emit(ptr @.str9339) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str8710) + call void @fn_emit(ptr @.str9340) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str8711) + call void @fn_emit(ptr @.str9341) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 - call void @fn_emit(ptr @.str8712) + call void @fn_emit(ptr @.str9342) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str8713) + call void @fn_emit(ptr @.str9343) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str8714) + call void @fn_emit(ptr @.str9344) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str8715) + call void @fn_emit(ptr @.str9345) %t49 = load ptr, ptr %t45 - %t50 = call ptr @fn_str_concat(ptr @.str8716, ptr %t49) + %t50 = call ptr @fn_str_concat(ptr @.str9346, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 - %t54 = call ptr @fn_str_concat(ptr @.str8717, ptr %t53) - %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str8718) + %t54 = call ptr @fn_str_concat(ptr @.str9347, ptr %t53) + %t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str9348) %t56 = load ptr, ptr %t6 %t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 - call void @fn_emit(ptr @.str8719) + call void @fn_emit(ptr @.str9349) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str8720) + call void @fn_emit(ptr @.str9350) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str8721) + call void @fn_emit(ptr @.str9351) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str8722) + call void @fn_emit(ptr @.str9352) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str8723) + call void @fn_emit(ptr @.str9353) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 - call void @fn_emit(ptr @.str8724) + call void @fn_emit(ptr @.str9354) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str8725) + call void @fn_emit(ptr @.str9355) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str8726) + call void @fn_emit(ptr @.str9356) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str8727) + call void @fn_emit(ptr @.str9357) %t69 = load ptr, ptr %t65 - %t70 = call ptr @fn_str_concat(ptr @.str8728, ptr %t69) + %t70 = call ptr @fn_str_concat(ptr @.str9358, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 - call void @fn_emit(ptr @.str8729) + call void @fn_emit(ptr @.str9359) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str8730) - call void @fn_emit(ptr @.str8731) + call void @fn_emit(ptr @.str9360) + call void @fn_emit(ptr @.str9361) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str8732) + call void @fn_emit(ptr @.str9362) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str8733) + call void @fn_emit(ptr @.str9363) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str8734) + call void @fn_emit(ptr @.str9364) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str8735) + call void @fn_emit(ptr @.str9365) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str8736) + call void @fn_emit(ptr @.str9366) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str8737) + call void @fn_emit(ptr @.str9367) br label %ret ret: ret void @@ -86053,7 +96878,7 @@ wend12: %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then20, label %ifend22 then20: - %t94 = call ptr @fn_emit_bind(ptr @.str8738) + %t94 = call ptr @fn_emit_bind(ptr @.str9368) store ptr %t94, ptr %t95 store i32 0, ptr %t1 br label %wcond23 @@ -86115,8 +96940,8 @@ scend29: br i1 %t137, label %then30, label %ifend32 then30: %t138 = load ptr, ptr %t95 - %t139 = call ptr @fn_str_concat(ptr @.str8739, ptr %t138) - %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str8740) + %t139 = call ptr @fn_str_concat(ptr @.str9369, ptr %t138) + %t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str9370) %t141 = load ptr, ptr %t109 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6 %t143 = load ptr, ptr %t142 @@ -86126,32 +96951,32 @@ then30: %t147 = call ptr @fn_str_concat(ptr %t140, ptr %t146) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 - %t150 = call ptr @fn_lbl(ptr @.str8741) + %t150 = call ptr @fn_lbl(ptr @.str9371) store ptr %t150, ptr %t151 - %t152 = call ptr @fn_lbl(ptr @.str8742) + %t152 = call ptr @fn_lbl(ptr @.str9372) store ptr %t152, ptr %t153 - call void @fn_emit(ptr @.str8743) + call void @fn_emit(ptr @.str9373) %t154 = load ptr, ptr %t149 call void @fn_emit(ptr %t154) - call void @fn_emit(ptr @.str8744) + call void @fn_emit(ptr @.str9374) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) - call void @fn_emit(ptr @.str8745) + call void @fn_emit(ptr @.str9375) %t156 = load ptr, ptr %t153 call void @fn_emit(ptr %t156) - call void @fn_emit(ptr @.str8746) + call void @fn_emit(ptr @.str9376) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) - call void @fn_emit(ptr @.str8747) + call void @fn_emit(ptr @.str9377) %t158 = load ptr, ptr %t109 call void @fn_emit_call_one(ptr %t158) - call void @fn_emit(ptr @.str8748) + call void @fn_emit(ptr @.str9378) %t159 = load ptr, ptr %t153 call void @fn_emit(ptr %t159) - call void @fn_emit(ptr @.str8749) + call void @fn_emit(ptr @.str9379) %t160 = load ptr, ptr %t153 call void @fn_emit(ptr %t160) - call void @fn_emit(ptr @.str8750) + call void @fn_emit(ptr @.str9380) br label %ifend32 ifend32: %t161 = load i32, ptr %t1 @@ -86165,107 +96990,304 @@ ifend22: call void @fn_emit_engine_systems_for_phase(ptr %t163) %t164 = load ptr, ptr %t0 call void @fn_emit_dyn_systems_for_phase(ptr %t164) + %t165 = load ptr, ptr %t0 + %t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str9381) + %t167 = icmp ne i32 %t166, 0 + br i1 %t167, label %then33, label %ifend35 +then33: + call void @fn_emit_scene_menu_render() + br label %ifend35 +ifend35: br label %ret ret: ret void } -define void @fn_emit_scene_fn(ptr %arg_name, ptr %arg_kind, ptr %arg_body) { +define void @fn_emit_scene_menu_render() { +entry: + %t0 = alloca i32 + %t1 = alloca i32 + %t27 = alloca ptr + %t41 = alloca ptr + %t57 = alloca ptr + %t59 = alloca ptr + %t61 = alloca ptr + store i32 0, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_scenes + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_scenes + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3 + %t16 = load ptr, ptr %t15 + %t17 = icmp ne ptr %t16, null + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + store i32 1, ptr %t0 + br label %ifend5 +ifend5: + %t20 = load i32, ptr %t1 + %t21 = add i32 %t20, 1 + store i32 %t21, ptr %t1 + br label %wcond0 +wend2: + %t22 = load i32, ptr %t0 + %t23 = icmp eq i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then6, label %ifend8 +then6: + br label %ret +ifend8: + %t26 = call ptr @fn_emit_bind(ptr @.str9382) + store ptr %t26, ptr %t27 + store i32 0, ptr %t1 + br label %wcond9 +wcond9: + %t28 = load i32, ptr %t1 + %t29 = load ptr, ptr @g_g_scenes + %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 + %t31 = load i32, ptr %t30 + %t32 = icmp slt i32 %t28, %t31 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %wbody10, label %wend11 +wbody10: + %t35 = load ptr, ptr @g_g_scenes + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = load i32, ptr %t1 + %t39 = getelementptr inbounds ptr, ptr %t37, i32 %t38 + %t40 = load ptr, ptr %t39 + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 3 + %t44 = load ptr, ptr %t43 + %t45 = icmp ne ptr %t44, null + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then12, label %ifend14 +then12: + %t48 = load ptr, ptr %t27 + %t49 = call ptr @fn_str_concat(ptr @.str9383, ptr %t48) + %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str9384) + %t51 = load ptr, ptr %t41 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 2 + %t53 = load i32, ptr %t52 + %t54 = call ptr @fn_itoa(i32 %t53) + %t55 = call ptr @fn_str_concat(ptr %t50, ptr %t54) + %t56 = call ptr @fn_emit_bind(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = call ptr @fn_lbl(ptr @.str9385) + store ptr %t58, ptr %t59 + %t60 = call ptr @fn_lbl(ptr @.str9386) + store ptr %t60, ptr %t61 + call void @fn_emit(ptr @.str9387) + %t62 = load ptr, ptr %t57 + call void @fn_emit(ptr %t62) + call void @fn_emit(ptr @.str9388) + %t63 = load ptr, ptr %t59 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str9389) + %t64 = load ptr, ptr %t61 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str9390) + %t65 = load ptr, ptr %t59 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str9391) + call void @fn_emit(ptr @.str9392) + %t66 = load ptr, ptr %t61 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9393) + %t67 = load ptr, ptr %t61 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9394) + br label %ifend14 +ifend14: + %t68 = load i32, ptr %t1 + %t69 = add i32 %t68, 1 + store i32 %t69, ptr %t1 + br label %wcond9 +wend11: + br label %ret +ret: + ret void +} + +define void @fn_emit_scene_fn(ptr %arg_name, ptr %arg_kind, ptr %arg_body, ptr %arg_menu) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr - %t4 = alloca ptr - %t7 = alloca ptr - %t19 = alloca ptr - %t20 = alloca i32 + %t3 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + %t10 = alloca i32 + %t30 = alloca i32 + %t52 = alloca ptr + %t53 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_kind, ptr %t1 store ptr %arg_body, ptr %t2 + store ptr %arg_menu, ptr %t3 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str8751, ptr @g_ret_ty - %t3 = call ptr @fn_buf_new() - store ptr %t3, ptr %t4 - %t5 = call ptr @fn_buf_new() - store ptr %t5, ptr @g_falloc - %t6 = load ptr, ptr @g_code - store ptr %t6, ptr %t7 - %t8 = load ptr, ptr %t4 - store ptr %t8, ptr @g_code - %t9 = load ptr, ptr %t2 - %t10 = icmp ne ptr %t9, null - %t11 = zext i1 %t10 to i32 - %t12 = icmp ne i32 %t11, 0 - br i1 %t12, label %then0, label %ifend2 -then0: - %t13 = load ptr, ptr %t2 - call void @fn_emit_block(ptr %t13) - br label %ifend2 -ifend2: - %t14 = load ptr, ptr %t0 - %t15 = call ptr @fn_str_concat(ptr @.str8752, ptr %t14) - %t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str8753) - %t17 = load ptr, ptr %t1 - %t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17) - store ptr %t18, ptr %t19 - %t21 = load i32, ptr @g_g_term - %t22 = icmp eq i32 %t21, 0 - %t23 = zext i1 %t22 to i32 - %t24 = icmp ne i32 %t23, 0 - %t25 = zext i1 %t24 to i32 - store i32 %t25, ptr %t20 - br i1 %t24, label %sc3, label %scend4 -sc3: - %t26 = load ptr, ptr %t19 - %t27 = call ptr @fn_find_event(ptr %t26) - %t28 = icmp ne ptr %t27, null - %t29 = zext i1 %t28 to i32 - %t30 = icmp ne i32 %t29, 0 - %t31 = zext i1 %t30 to i32 - store i32 %t31, ptr %t20 - br label %scend4 -scend4: - %t32 = load i32, ptr %t20 - %t33 = icmp ne i32 %t32, 0 - br i1 %t33, label %then5, label %ifend7 + store ptr @.str9395, ptr @g_ret_ty + %t4 = call ptr @fn_buf_new() + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_buf_new() + store ptr %t6, ptr @g_falloc + %t7 = load ptr, ptr @g_code + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t5 + store ptr %t9, ptr @g_code + %t11 = load ptr, ptr %t3 + %t12 = icmp ne ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t10 + br i1 %t14, label %sc0, label %scend1 +sc0: + %t16 = load ptr, ptr %t1 + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str9396) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t10 + br label %scend1 +scend1: + %t20 = load i32, ptr %t10 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then2, label %ifend4 +then2: + %t22 = call ptr @fn_find_fn(ptr @.str9397) + %t23 = icmp ne ptr %t22, null + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then5, label %ifend7 then5: - call void @fn_emit(ptr @.str8754) - %t34 = load ptr, ptr %t19 - call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8755) + call void @fn_emit(ptr @.str9398) br label %ifend7 ifend7: - %t35 = load i32, ptr @g_g_term - %t36 = icmp eq i32 %t35, 0 - %t37 = zext i1 %t36 to i32 + call void @fn_emit(ptr @.str9399) + %t26 = load ptr, ptr %t3 + %t27 = call ptr @fn_str_concat(ptr @.str9400, ptr %t26) + %t28 = call i32 @fn_ui_index_of(ptr %t27) + %t29 = call ptr @fn_itoa(i32 %t28) + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9401) + br label %ifend4 +ifend4: + %t31 = load ptr, ptr %t3 + %t32 = icmp ne ptr %t31, null + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t30 + br i1 %t34, label %sc8, label %scend9 +sc8: + %t36 = load ptr, ptr %t1 + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str9402) %t38 = icmp ne i32 %t37, 0 - br i1 %t38, label %then8, label %ifend10 -then8: - call void @fn_emit(ptr @.str8756) - br label %ifend10 -ifend10: - call void @fn_emit(ptr @.str8757) - %t39 = load ptr, ptr %t7 - store ptr %t39, ptr @g_code - call void @fn_emit(ptr @.str8758) - %t40 = load ptr, ptr %t1 - call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str8759) - %t41 = load ptr, ptr %t0 - call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str8760) - %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 @.str8761) + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t30 + br label %scend9 +scend9: + %t40 = load i32, ptr %t30 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then10, label %ifend12 +then10: + call void @fn_emit(ptr @.str9403) + br label %ifend12 +ifend12: + %t42 = load ptr, ptr %t2 + %t43 = icmp ne ptr %t42, null + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then13, label %ifend15 +then13: + %t46 = load ptr, ptr %t2 + call void @fn_emit_block(ptr %t46) + br label %ifend15 +ifend15: + %t47 = load ptr, ptr %t0 + %t48 = call ptr @fn_str_concat(ptr @.str9404, ptr %t47) + %t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str9405) + %t50 = load ptr, ptr %t1 + %t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50) + store ptr %t51, ptr %t52 + %t54 = load i32, ptr @g_g_term + %t55 = icmp eq i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t53 + br i1 %t57, label %sc16, label %scend17 +sc16: + %t59 = load ptr, ptr %t52 + %t60 = call ptr @fn_find_event(ptr %t59) + %t61 = icmp ne ptr %t60, null + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t53 + br label %scend17 +scend17: + %t65 = load i32, ptr %t53 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then18, label %ifend20 +then18: + call void @fn_emit(ptr @.str9406) + %t67 = load ptr, ptr %t52 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9407) + br label %ifend20 +ifend20: + %t68 = load i32, ptr @g_g_term + %t69 = icmp eq i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then21, label %ifend23 +then21: + call void @fn_emit(ptr @.str9408) + br label %ifend23 +ifend23: + call void @fn_emit(ptr @.str9409) + %t72 = load ptr, ptr %t8 + store ptr %t72, ptr @g_code + call void @fn_emit(ptr @.str9410) + %t73 = load ptr, ptr %t1 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9411) + %t74 = load ptr, ptr %t0 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9412) + %t75 = load ptr, ptr @g_falloc + %t76 = call ptr @fn_buf_str(ptr %t75) + call void @fn_emit(ptr %t76) + %t77 = load ptr, ptr %t5 + %t78 = call ptr @fn_buf_str(ptr %t77) + call void @fn_emit(ptr %t78) + call void @fn_emit(ptr @.str9413) br label %ret ret: ret void @@ -86302,19 +97324,110 @@ 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 @.str8762, ptr %t21) %t22 = load ptr, ptr %t14 - %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 %t24 = load ptr, ptr %t23 + call void @fn_emit_scene_fn(ptr %t18, ptr @.str9414, ptr %t21, ptr %t24) %t25 = load ptr, ptr %t14 - %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 5 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 - call void @fn_emit_scene_fn(ptr %t24, ptr @.str8763, ptr %t27) - %t28 = load i32, ptr %t0 - %t29 = add i32 %t28, 1 - store i32 %t29, ptr %t0 + %t28 = load ptr, ptr %t14 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 5 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t14 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 + %t33 = load ptr, ptr %t32 + call void @fn_emit_scene_fn(ptr %t27, ptr @.str9415, ptr %t30, ptr %t33) + %t34 = load i32, ptr %t0 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t0 br label %wcond0 wend2: + store ptr null, ptr @g_g_cur_scene + %t36 = load ptr, ptr @g_g_scenes + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 + %t38 = load i32, ptr %t37 + %t39 = icmp sgt i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then3, label %ifend5 +then3: + call void @fn_emit_scene_leave_fn() + br label %ifend5 +ifend5: + br label %ret +ret: + ret void +} + +define void @fn_emit_scene_leave_fn() { +entry: + %t0 = alloca i32 + %t14 = alloca ptr + %t17 = alloca ptr + call void @fn_emit(ptr @.str9416) + call void @fn_emit(ptr @.str9417) + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_g_scenes + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_g_scenes + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load i32, ptr %t0 + %t16 = call ptr @fn_itoa(i32 %t15) + store ptr %t16, ptr %t17 + call void @fn_emit(ptr @.str9418) + %t18 = load ptr, ptr %t17 + call void @fn_emit(ptr %t18) + call void @fn_emit(ptr @.str9419) + %t19 = load ptr, ptr %t14 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 + %t21 = load i32, ptr %t20 + %t22 = call ptr @fn_itoa(i32 %t21) + call void @fn_emit(ptr %t22) + call void @fn_emit(ptr @.str9420) + call void @fn_emit(ptr @.str9421) + %t23 = load ptr, ptr %t17 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str9422) + %t24 = load ptr, ptr %t17 + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str9423) + %t25 = load ptr, ptr %t17 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9424) + call void @fn_emit(ptr @.str9425) + %t26 = load ptr, ptr %t17 + call void @fn_emit(ptr %t26) + call void @fn_emit(ptr @.str9426) + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 + %t29 = load ptr, ptr %t28 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9427) + call void @fn_emit(ptr @.str9428) + %t30 = load ptr, ptr %t17 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str9429) + %t31 = load i32, ptr %t0 + %t32 = add i32 %t31, 1 + store i32 %t32, ptr %t0 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str9430) br label %ret ret: ret void @@ -86358,7 +97471,7 @@ wbody1: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str8764, ptr @g_ret_ty + store ptr @.str9431, ptr @g_ret_ty %t20 = call ptr @fn_buf_new() store ptr %t20, ptr %t21 %t22 = call ptr @fn_buf_new() @@ -86375,21 +97488,21 @@ wbody1: %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then3, label %ifend5 then3: - %t32 = call ptr @fn_emit_alloca(ptr @.str8765) + %t32 = call ptr @fn_emit_alloca(ptr @.str9432) store ptr %t32, ptr %t33 - call void @fn_emit(ptr @.str8766) + call void @fn_emit(ptr @.str9433) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8767) + call void @fn_emit(ptr @.str9434) %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 @.str8768) + call void @fn_loc_push(ptr %t37, ptr %t38, ptr @.str9435) br label %ifend5 ifend5: %t39 = load ptr, ptr %t19 - call void @fn_emit_bind_props(ptr %t39, ptr @.str8769) + call void @fn_emit_bind_props(ptr %t39, ptr @.str9436) %t40 = load ptr, ptr %t14 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 %t42 = load ptr, ptr %t41 @@ -86400,25 +97513,25 @@ ifend5: %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str8770) + call void @fn_emit(ptr @.str9437) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str8771) + call void @fn_emit(ptr @.str9438) %t47 = load ptr, ptr %t24 store ptr %t47, ptr @g_code - call void @fn_emit(ptr @.str8772) + call void @fn_emit(ptr @.str9439) %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 @.str8773) + call void @fn_emit(ptr @.str9440) %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 @.str8774) + call void @fn_emit(ptr @.str9441) %t55 = load i32, ptr %t0 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t0 @@ -86437,7 +97550,7 @@ entry: %t25 = alloca ptr %t28 = alloca ptr %t41 = alloca ptr - call void @fn_emit(ptr @.str8775) + call void @fn_emit(ptr @.str9442) %t0 = load ptr, ptr @g_g_ondespawn %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -86448,11 +97561,11 @@ entry: then0: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str8776) + call void @fn_emit(ptr @.str9443) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str8777) - call void @fn_emit(ptr @.str8778) + call void @fn_emit(ptr @.str9444) + call void @fn_emit(ptr @.str9445) store i32 0, ptr %t9 br label %wcond3 wcond3: @@ -86477,35 +97590,35 @@ wbody4: %t26 = load i32, ptr %t9 %t27 = call ptr @fn_itoa(i32 %t26) store ptr %t27, ptr %t28 - call void @fn_emit(ptr @.str8779) + call void @fn_emit(ptr @.str9446) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str8780) + call void @fn_emit(ptr @.str9447) %t30 = load ptr, ptr %t25 %t31 = call i32 @fn_find_arch_id(ptr %t30) %t32 = call ptr @fn_itoa(i32 %t31) call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str8781) - call void @fn_emit(ptr @.str8782) + call void @fn_emit(ptr @.str9448) + call void @fn_emit(ptr @.str9449) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str8783) + call void @fn_emit(ptr @.str9450) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8784) + call void @fn_emit(ptr @.str9451) %t35 = load ptr, ptr %t28 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str8785) - call void @fn_emit(ptr @.str8786) + call void @fn_emit(ptr @.str9452) + call void @fn_emit(ptr @.str9453) %t36 = load ptr, ptr %t28 call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str8787) + call void @fn_emit(ptr @.str9454) %t37 = load ptr, ptr %t25 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str8788) + call void @fn_emit(ptr @.str9455) %t38 = load ptr, ptr %t25 - %t39 = call ptr @fn_str_concat(ptr @.str8789, ptr %t38) - %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str8790) + %t39 = call ptr @fn_str_concat(ptr @.str9456, ptr %t38) + %t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str9457) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_find_event(ptr %t42) @@ -86514,20 +97627,20 @@ wbody4: %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str8791) + call void @fn_emit(ptr @.str9458) %t47 = load ptr, ptr %t41 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str8792) + call void @fn_emit(ptr @.str9459) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str8793) + call void @fn_emit(ptr @.str9460) %t48 = load ptr, ptr %t28 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str8794) - call void @fn_emit(ptr @.str8795) + call void @fn_emit(ptr @.str9461) + call void @fn_emit(ptr @.str9462) %t49 = load ptr, ptr %t28 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str8796) + call void @fn_emit(ptr @.str9463) %t50 = load i32, ptr %t9 %t51 = add i32 %t50, 1 store i32 %t51, ptr %t9 @@ -86543,11 +97656,11 @@ ifend2: %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str8797) + call void @fn_emit(ptr @.str9464) br label %ifend11 ifend11: - call void @fn_emit(ptr @.str8798) - call void @fn_emit(ptr @.str8799) + call void @fn_emit(ptr @.str9465) + call void @fn_emit(ptr @.str9466) br label %ret ret: ret void @@ -86572,21 +97685,21 @@ then0: ifend2: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str8800) - call void @fn_emit(ptr @.str8801) - call void @fn_emit(ptr @.str8802) - call void @fn_emit(ptr @.str8803) - call void @fn_emit(ptr @.str8804) + call void @fn_emit(ptr @.str9467) + call void @fn_emit(ptr @.str9468) + call void @fn_emit(ptr @.str9469) + call void @fn_emit(ptr @.str9470) + call void @fn_emit(ptr @.str9471) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str8805) - call void @fn_emit(ptr @.str8806) - call void @fn_emit(ptr @.str8807) - call void @fn_emit(ptr @.str8808) + call void @fn_emit(ptr @.str9472) + call void @fn_emit(ptr @.str9473) + call void @fn_emit(ptr @.str9474) + call void @fn_emit(ptr @.str9475) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) - call void @fn_emit(ptr @.str8809) - call void @fn_emit(ptr @.str8810) + call void @fn_emit(ptr @.str9476) + call void @fn_emit(ptr @.str9477) store i32 0, ptr %t10 br label %wcond3 wcond3: @@ -86611,35 +97724,35 @@ wbody4: %t27 = load i32, ptr %t10 %t28 = call ptr @fn_itoa(i32 %t27) store ptr %t28, ptr %t29 - call void @fn_emit(ptr @.str8811) + call void @fn_emit(ptr @.str9478) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str8812) + call void @fn_emit(ptr @.str9479) %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 @.str8813) - call void @fn_emit(ptr @.str8814) + call void @fn_emit(ptr @.str9480) + call void @fn_emit(ptr @.str9481) %t34 = load ptr, ptr %t29 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str8815) + call void @fn_emit(ptr @.str9482) %t35 = load ptr, ptr %t29 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str8816) + call void @fn_emit(ptr @.str9483) %t36 = load ptr, ptr %t29 call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str8817) - call void @fn_emit(ptr @.str8818) + call void @fn_emit(ptr @.str9484) + call void @fn_emit(ptr @.str9485) %t37 = load ptr, ptr %t29 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str8819) + call void @fn_emit(ptr @.str9486) %t38 = load ptr, ptr %t26 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str8820) + call void @fn_emit(ptr @.str9487) %t39 = load ptr, ptr %t26 - %t40 = call ptr @fn_str_concat(ptr @.str8821, ptr %t39) - %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str8822) + %t40 = call ptr @fn_str_concat(ptr @.str9488, ptr %t39) + %t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str9489) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_find_event(ptr %t43) @@ -86648,28 +97761,28 @@ wbody4: %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str8823) + call void @fn_emit(ptr @.str9490) %t48 = load ptr, ptr %t42 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str8824) + call void @fn_emit(ptr @.str9491) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str8825) + call void @fn_emit(ptr @.str9492) %t49 = load ptr, ptr %t29 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str8826) - call void @fn_emit(ptr @.str8827) + call void @fn_emit(ptr @.str9493) + call void @fn_emit(ptr @.str9494) %t50 = load ptr, ptr %t29 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str8828) + call void @fn_emit(ptr @.str9495) %t51 = load i32, ptr %t10 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t10 br label %wcond3 wend5: - call void @fn_emit(ptr @.str8829) - call void @fn_emit(ptr @.str8830) - call void @fn_emit(ptr @.str8831) + call void @fn_emit(ptr @.str9496) + call void @fn_emit(ptr @.str9497) + call void @fn_emit(ptr @.str9498) br label %ret ret: ret void @@ -86713,7 +97826,7 @@ entry: %t335 = alloca i32 %t351 = alloca ptr %t354 = alloca ptr - call void @fn_emith(ptr @.str8832) + call void @fn_emith(ptr @.str9499) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -86739,10 +97852,10 @@ wbody1: store ptr %t17, ptr %t18 %t19 = call ptr @fn_itoa(i32 16) store ptr %t19, ptr %t20 - call void @fn_emith(ptr @.str8833) + call void @fn_emith(ptr @.str9500) %t21 = load ptr, ptr %t18 call void @fn_emith(ptr %t21) - call void @fn_emith(ptr @.str8834) + call void @fn_emith(ptr @.str9501) store i32 0, ptr %t22 br label %wcond3 wcond3: @@ -86763,7 +97876,7 @@ wbody4: %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: - call void @fn_emith(ptr @.str8835) + call void @fn_emith(ptr @.str9502) br label %ifend8 ifend8: %t36 = load ptr, ptr %t14 @@ -86801,125 +97914,126 @@ then9: %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: - call void @fn_emith(ptr @.str8836) + call void @fn_emith(ptr @.str9503) br label %ifend14 ifend14: - call void @fn_emith(ptr @.str8837) + call void @fn_emith(ptr @.str9504) br label %ifend11 ifend11: - call void @fn_emith(ptr @.str8838) - call void @fn_emith(ptr @.str8839) + call void @fn_emith(ptr @.str9505) + call void @fn_emith(ptr @.str9506) %t63 = load ptr, ptr %t18 call void @fn_emith(ptr %t63) - call void @fn_emith(ptr @.str8840) + call void @fn_emith(ptr @.str9507) %t64 = load ptr, ptr %t20 call void @fn_emith(ptr %t64) - call void @fn_emith(ptr @.str8841) - call void @fn_emith(ptr @.str8842) + call void @fn_emith(ptr @.str9508) + call void @fn_emith(ptr @.str9509) %t65 = load ptr, ptr %t18 call void @fn_emith(ptr %t65) - call void @fn_emith(ptr @.str8843) - call void @fn_emith(ptr @.str8844) + call void @fn_emith(ptr @.str9510) + call void @fn_emith(ptr @.str9511) %t66 = load ptr, ptr %t18 call void @fn_emith(ptr %t66) - call void @fn_emith(ptr @.str8845) + call void @fn_emith(ptr @.str9512) %t67 = load ptr, ptr %t20 call void @fn_emith(ptr %t67) - call void @fn_emith(ptr @.str8846) - call void @fn_emit(ptr @.str8847) + call void @fn_emith(ptr @.str9513) + call void @fn_emit(ptr @.str9514) %t68 = load ptr, ptr %t18 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str8848) - call void @fn_emit(ptr @.str8849) + call void @fn_emit(ptr @.str9515) + call void @fn_emit(ptr @.str9516) %t69 = load ptr, ptr %t18 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str8850) - call void @fn_emit(ptr @.str8851) + call void @fn_emit(ptr @.str9517) + call void @fn_emit(ptr @.str9518) %t70 = load ptr, ptr %t20 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str8852) - call void @fn_emit(ptr @.str8853) - call void @fn_emit(ptr @.str8854) + call void @fn_emit(ptr @.str9519) + call void @fn_emit(ptr @.str9520) + call void @fn_emit(ptr @.str9521) %t71 = load ptr, ptr %t20 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str8855) + call void @fn_emit(ptr @.str9522) %t72 = load ptr, ptr %t18 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str8856) - call void @fn_emit(ptr @.str8857) - call void @fn_emit(ptr @.str8858) + call void @fn_emit(ptr @.str9523) + call void @fn_emit(ptr @.str9524) + call void @fn_emit(ptr @.str9525) %t73 = load ptr, ptr %t20 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str8859) + call void @fn_emit(ptr @.str9526) %t74 = load ptr, ptr %t18 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str8860) - call void @fn_emit(ptr @.str8861) - call void @fn_emit(ptr @.str8862) + call void @fn_emit(ptr @.str9527) + call void @fn_emit(ptr @.str9528) + call void @fn_emit(ptr @.str9529) %t75 = load ptr, ptr %t18 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str8863) - call void @fn_emit(ptr @.str8864) - call void @fn_emit(ptr @.str8865) + call void @fn_emit(ptr @.str9530) + call void @fn_emit(ptr @.str9531) + call void @fn_emit(ptr @.str9532) %t76 = load ptr, ptr %t18 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str8866) - call void @fn_emit(ptr @.str8867) + call void @fn_emit(ptr @.str9533) + call void @fn_emit(ptr @.str9534) %t77 = load ptr, ptr %t18 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str8868) - call void @fn_emit(ptr @.str8869) + call void @fn_emit(ptr @.str9535) + call void @fn_emit(ptr @.str9536) %t78 = load ptr, ptr %t20 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str8870) - call void @fn_emit(ptr @.str8871) - call void @fn_emit(ptr @.str8872) + call void @fn_emit(ptr @.str9537) + call void @fn_emit(ptr @.str9538) + call void @fn_emit(ptr @.str9539) %t79 = load ptr, ptr %t20 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str8873) + call void @fn_emit(ptr @.str9540) %t80 = load ptr, ptr %t18 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str8874) - call void @fn_emit(ptr @.str8875) - call void @fn_emit(ptr @.str8876) + call void @fn_emit(ptr @.str9541) + call void @fn_emit(ptr @.str9542) + call void @fn_emit(ptr @.str9543) %t81 = load ptr, ptr %t20 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str8877) + call void @fn_emit(ptr @.str9544) %t82 = load ptr, ptr %t18 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str8878) - call void @fn_emit(ptr @.str8879) - call void @fn_emit(ptr @.str8880) + call void @fn_emit(ptr @.str9545) + call void @fn_emit(ptr @.str9546) + call void @fn_emit(ptr @.str9547) %t83 = load ptr, ptr %t18 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str8881) - call void @fn_emit(ptr @.str8882) - call void @fn_emit(ptr @.str8883) + call void @fn_emit(ptr @.str9548) + call void @fn_emit(ptr @.str9549) + call void @fn_emit(ptr @.str9550) %t84 = load ptr, ptr %t18 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str8884) - call void @fn_emit(ptr @.str8885) + call void @fn_emit(ptr @.str9551) + call void @fn_emit(ptr @.str9552) %t85 = load ptr, ptr %t18 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str8886) - call void @fn_emit(ptr @.str8887) - call void @fn_emit(ptr @.str8888) - call void @fn_emit(ptr @.str8889) + call void @fn_emit(ptr @.str9553) + call void @fn_emit(ptr @.str9554) + call void @fn_emit(ptr @.str9555) + call void @fn_emit(ptr @.str9556) %t86 = load ptr, ptr %t20 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str8890) + call void @fn_emit(ptr @.str9557) %t87 = load ptr, ptr %t18 call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str8891) - call void @fn_emit(ptr @.str8892) - call void @fn_emit(ptr @.str8893) + call void @fn_emit(ptr @.str9558) + call void @fn_emit(ptr @.str9559) + call void @fn_emit(ptr @.str9560) 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 @.str8894, ptr @g_ret_ty + store ptr null, ptr @g_g_cur_scene + store ptr @.str9561, ptr @g_ret_ty %t88 = call ptr @fn_buf_new() store ptr %t88, ptr %t89 %t90 = call ptr @fn_buf_new() @@ -86928,13 +98042,13 @@ ifend11: store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t89 store ptr %t93, ptr @g_code - call void @fn_emit(ptr @.str8895) - call void @fn_emit(ptr @.str8896) + call void @fn_emit(ptr @.str9562) + call void @fn_emit(ptr @.str9563) %t94 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str8897) - call void @fn_emit(ptr @.str8898) - call void @fn_emit(ptr @.str8899) + call void @fn_emit(ptr @.str9564) + call void @fn_emit(ptr @.str9565) + call void @fn_emit(ptr @.str9566) %t95 = load ptr, ptr %t14 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 2 %t97 = load i32, ptr %t96 @@ -86943,16 +98057,16 @@ ifend11: %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then15, label %else16 then15: - call void @fn_emit(ptr @.str8900) + call void @fn_emit(ptr @.str9567) br label %ifend17 else16: - call void @fn_emit(ptr @.str8901) + call void @fn_emit(ptr @.str9568) br label %ifend17 ifend17: - call void @fn_emit(ptr @.str8902) - call void @fn_emit(ptr @.str8903) + call void @fn_emit(ptr @.str9569) + call void @fn_emit(ptr @.str9570) %t101 = load ptr, ptr %t18 - %t102 = call ptr @fn_str_concat(ptr @.str8904, ptr %t101) + %t102 = call ptr @fn_str_concat(ptr @.str9571, ptr %t101) %t103 = call ptr @fn_emit_alloca(ptr %t102) store ptr %t103, ptr %t104 store i32 0, ptr %t105 @@ -86985,45 +98099,45 @@ wbody19: store ptr %t127, ptr %t128 %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 - call void @fn_emit(ptr @.str8905) + call void @fn_emit(ptr @.str9572) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) - call void @fn_emit(ptr @.str8906) + call void @fn_emit(ptr @.str9573) %t132 = load ptr, ptr %t18 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str8907) + call void @fn_emit(ptr @.str9574) %t133 = load ptr, ptr %t104 call void @fn_emit(ptr %t133) - call void @fn_emit(ptr @.str8908) + call void @fn_emit(ptr @.str9575) %t134 = load i32, ptr %t105 %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str8909) - call void @fn_emit(ptr @.str8910) + call void @fn_emit(ptr @.str9576) + call void @fn_emit(ptr @.str9577) %t136 = load ptr, ptr %t128 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str8911) + call void @fn_emit(ptr @.str9578) %t137 = load i32, ptr %t105 %t138 = call ptr @fn_itoa(i32 %t137) call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str8912) + call void @fn_emit(ptr @.str9579) %t139 = load ptr, ptr %t130 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str8913) + call void @fn_emit(ptr @.str9580) %t140 = load ptr, ptr %t128 %t141 = call ptr @fn_emit_alloca(ptr %t140) store ptr %t141, ptr %t142 - call void @fn_emit(ptr @.str8914) + call void @fn_emit(ptr @.str9581) %t143 = load ptr, ptr %t128 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str8915) + call void @fn_emit(ptr @.str9582) %t144 = load i32, ptr %t105 %t145 = call ptr @fn_itoa(i32 %t144) call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str8916) + call void @fn_emit(ptr @.str9583) %t146 = load ptr, ptr %t142 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str8917) + call void @fn_emit(ptr @.str9584) %t147 = load ptr, ptr %t123 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 @@ -87048,16 +98162,16 @@ wend20: then21: %t163 = call ptr @fn_nreg() store ptr %t163, ptr %t156 - call void @fn_emit(ptr @.str8918) + call void @fn_emit(ptr @.str9585) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str8919) + call void @fn_emit(ptr @.str9586) %t165 = load ptr, ptr %t18 call void @fn_emit(ptr %t165) - call void @fn_emit(ptr @.str8920) + call void @fn_emit(ptr @.str9587) %t166 = load ptr, ptr %t104 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str8921) + call void @fn_emit(ptr @.str9588) %t167 = load ptr, ptr %t14 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7 %t169 = load ptr, ptr %t168 @@ -87065,11 +98179,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 @.str8922) - call void @fn_emit(ptr @.str8923) + call void @fn_emit(ptr @.str9589) + call void @fn_emit(ptr @.str9590) %t173 = load ptr, ptr %t156 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str8924) + call void @fn_emit(ptr @.str9591) %t174 = load ptr, ptr %t156 store ptr %t174, ptr @g_g_cancel_addr br label %ifend23 @@ -87126,132 +98240,132 @@ wend26: %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then30, label %ifend32 then30: - %t211 = call ptr @fn_emit_alloca(ptr @.str8925) + %t211 = call ptr @fn_emit_alloca(ptr @.str9592) store ptr %t211, ptr %t212 - call void @fn_emit(ptr @.str8926) + call void @fn_emit(ptr @.str9593) %t213 = load ptr, ptr %t212 call void @fn_emit(ptr %t213) - call void @fn_emit(ptr @.str8927) - %t214 = call ptr @fn_lbl(ptr @.str8928) + call void @fn_emit(ptr @.str9594) + %t214 = call ptr @fn_lbl(ptr @.str9595) store ptr %t214, ptr %t215 - %t216 = call ptr @fn_lbl(ptr @.str8929) + %t216 = call ptr @fn_lbl(ptr @.str9596) store ptr %t216, ptr %t217 - %t218 = call ptr @fn_lbl(ptr @.str8930) + %t218 = call ptr @fn_lbl(ptr @.str9597) store ptr %t218, ptr %t219 - call void @fn_emit(ptr @.str8931) + call void @fn_emit(ptr @.str9598) %t220 = load ptr, ptr %t215 call void @fn_emit(ptr %t220) - call void @fn_emit(ptr @.str8932) + call void @fn_emit(ptr @.str9599) %t221 = load ptr, ptr %t215 call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str8933) + call void @fn_emit(ptr @.str9600) %t222 = load ptr, ptr %t212 - %t223 = call ptr @fn_str_concat(ptr @.str8934, ptr %t222) + %t223 = call ptr @fn_str_concat(ptr @.str9601, 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 @.str8935, ptr %t226) + %t227 = call ptr @fn_str_concat(ptr @.str9602, 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 @.str8936, ptr %t230) - %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str8937) + %t231 = call ptr @fn_str_concat(ptr @.str9603, ptr %t230) + %t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str9604) %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 @.str8938) + call void @fn_emit(ptr @.str9605) %t237 = load ptr, ptr %t236 call void @fn_emit(ptr %t237) - call void @fn_emit(ptr @.str8939) + call void @fn_emit(ptr @.str9606) %t238 = load ptr, ptr %t217 call void @fn_emit(ptr %t238) - call void @fn_emit(ptr @.str8940) + call void @fn_emit(ptr @.str9607) %t239 = load ptr, ptr %t219 call void @fn_emit(ptr %t239) - call void @fn_emit(ptr @.str8941) + call void @fn_emit(ptr @.str9608) %t240 = load ptr, ptr %t217 call void @fn_emit(ptr %t240) - call void @fn_emit(ptr @.str8942) + call void @fn_emit(ptr @.str9609) %t241 = call ptr @fn_nreg() store ptr %t241, ptr %t242 - call void @fn_emit(ptr @.str8943) + call void @fn_emit(ptr @.str9610) %t243 = load ptr, ptr %t242 call void @fn_emit(ptr %t243) - call void @fn_emit(ptr @.str8944) + call void @fn_emit(ptr @.str9611) %t244 = load ptr, ptr %t20 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str8945) + call void @fn_emit(ptr @.str9612) %t245 = load ptr, ptr %t18 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str8946) + call void @fn_emit(ptr @.str9613) %t246 = load ptr, ptr %t225 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str8947) + call void @fn_emit(ptr @.str9614) %t247 = load ptr, ptr %t242 - %t248 = call ptr @fn_str_concat(ptr @.str8948, ptr %t247) + %t248 = call ptr @fn_str_concat(ptr @.str9615, 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 @.str8949, ptr %t251) - %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str8950) + %t252 = call ptr @fn_str_concat(ptr @.str9616, ptr %t251) + %t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str9617) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 - %t256 = call ptr @fn_lbl(ptr @.str8951) + %t256 = call ptr @fn_lbl(ptr @.str9618) store ptr %t256, ptr %t257 - %t258 = call ptr @fn_lbl(ptr @.str8952) + %t258 = call ptr @fn_lbl(ptr @.str9619) store ptr %t258, ptr %t259 - call void @fn_emit(ptr @.str8953) + call void @fn_emit(ptr @.str9620) %t260 = load ptr, ptr %t255 call void @fn_emit(ptr %t260) - call void @fn_emit(ptr @.str8954) + call void @fn_emit(ptr @.str9621) %t261 = load ptr, ptr %t259 call void @fn_emit(ptr %t261) - call void @fn_emit(ptr @.str8955) + call void @fn_emit(ptr @.str9622) %t262 = load ptr, ptr %t257 call void @fn_emit(ptr %t262) - call void @fn_emit(ptr @.str8956) + call void @fn_emit(ptr @.str9623) %t263 = load ptr, ptr %t257 call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str8957) - call void @fn_emit(ptr @.str8958) + call void @fn_emit(ptr @.str9624) + call void @fn_emit(ptr @.str9625) %t264 = load ptr, ptr %t250 call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str8959) + call void @fn_emit(ptr @.str9626) %t265 = load ptr, ptr %t104 call void @fn_emit(ptr %t265) - call void @fn_emit(ptr @.str8960) - call void @fn_emit(ptr @.str8961) + call void @fn_emit(ptr @.str9627) + call void @fn_emit(ptr @.str9628) %t266 = load ptr, ptr %t259 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str8962) + call void @fn_emit(ptr @.str9629) %t267 = load ptr, ptr %t259 call void @fn_emit(ptr %t267) - call void @fn_emit(ptr @.str8963) + call void @fn_emit(ptr @.str9630) %t268 = load ptr, ptr %t225 - %t269 = call ptr @fn_str_concat(ptr @.str8964, ptr %t268) - %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str8965) + %t269 = call ptr @fn_str_concat(ptr @.str9631, ptr %t268) + %t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str9632) %t271 = call ptr @fn_emit_bind(ptr %t270) store ptr %t271, ptr %t272 - call void @fn_emit(ptr @.str8966) + call void @fn_emit(ptr @.str9633) %t273 = load ptr, ptr %t272 call void @fn_emit(ptr %t273) - call void @fn_emit(ptr @.str8967) + call void @fn_emit(ptr @.str9634) %t274 = load ptr, ptr %t212 call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str8968) - call void @fn_emit(ptr @.str8969) + call void @fn_emit(ptr @.str9635) + call void @fn_emit(ptr @.str9636) %t275 = load ptr, ptr %t215 call void @fn_emit(ptr %t275) - call void @fn_emit(ptr @.str8970) + call void @fn_emit(ptr @.str9637) %t276 = load ptr, ptr %t219 call void @fn_emit(ptr %t276) - call void @fn_emit(ptr @.str8971) - call void @fn_emit(ptr @.str8972) + call void @fn_emit(ptr @.str9638) + call void @fn_emit(ptr @.str9639) br label %ifend32 ifend32: - call void @fn_emit(ptr @.str8973) - call void @fn_emit(ptr @.str8974) + call void @fn_emit(ptr @.str9640) + call void @fn_emit(ptr @.str9641) %t277 = load ptr, ptr %t14 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2 %t279 = load i32, ptr %t278 @@ -87261,22 +98375,22 @@ ifend32: br i1 %t282, label %then33, label %else34 then33: %t283 = load ptr, ptr %t156 - %t284 = call ptr @fn_str_concat(ptr @.str8975, ptr %t283) + %t284 = call ptr @fn_str_concat(ptr @.str9642, ptr %t283) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 - call void @fn_emit(ptr @.str8976) + call void @fn_emit(ptr @.str9643) %t287 = load ptr, ptr %t286 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str8977) + call void @fn_emit(ptr @.str9644) br label %ifend35 else34: - call void @fn_emit(ptr @.str8978) + call void @fn_emit(ptr @.str9645) 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 @.str8979, ptr %t289 + store ptr @.str9646, ptr %t289 %t290 = load ptr, ptr %t14 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 2 %t292 = load i32, ptr %t291 @@ -87285,16 +98399,16 @@ ifend35: %t295 = icmp ne i32 %t294, 0 br i1 %t295, label %then36, label %ifend38 then36: - store ptr @.str8980, ptr %t289 + store ptr @.str9647, ptr %t289 br label %ifend38 ifend38: - call void @fn_emit(ptr @.str8981) + call void @fn_emit(ptr @.str9648) %t296 = load ptr, ptr %t289 call void @fn_emit(ptr %t296) - call void @fn_emit(ptr @.str8982) + call void @fn_emit(ptr @.str9649) %t297 = load ptr, ptr %t18 call void @fn_emit(ptr %t297) - call void @fn_emit(ptr @.str8983) + call void @fn_emit(ptr @.str9650) store i32 0, ptr %t298 br label %wcond39 wcond39: @@ -87315,7 +98429,7 @@ wbody40: %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then42, label %ifend44 then42: - call void @fn_emit(ptr @.str8984) + call void @fn_emit(ptr @.str9651) br label %ifend44 ifend44: %t312 = load ptr, ptr %t14 @@ -87330,7 +98444,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 @.str8985) + call void @fn_emit(ptr @.str9652) %t323 = load i32, ptr %t298 %t324 = call ptr @fn_itoa(i32 %t323) call void @fn_emit(ptr %t324) @@ -87339,14 +98453,14 @@ ifend44: store i32 %t326, ptr %t298 br label %wcond39 wend41: - call void @fn_emit(ptr @.str8986) + call void @fn_emit(ptr @.str9653) %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 @.str8987) + call void @fn_emit(ptr @.str9654) %t331 = load i32, ptr %t0 %t332 = add i32 %t331, 1 store i32 %t332, ptr %t0 @@ -87354,7 +98468,7 @@ wend41: wend2: %t333 = call ptr @fn_itoa(i32 16) store ptr %t333, ptr %t334 - call void @fn_emit(ptr @.str8988) + call void @fn_emit(ptr @.str9655) store i32 0, ptr %t335 br label %wcond45 wcond45: @@ -87379,127 +98493,127 @@ wbody46: %t352 = load i32, ptr %t335 %t353 = call ptr @fn_itoa(i32 %t352) store ptr %t353, ptr %t354 - call void @fn_emit(ptr @.str8989) + call void @fn_emit(ptr @.str9656) %t355 = load ptr, ptr %t354 call void @fn_emit(ptr %t355) - call void @fn_emit(ptr @.str8990) - call void @fn_emit(ptr @.str8991) + call void @fn_emit(ptr @.str9657) + call void @fn_emit(ptr @.str9658) %t356 = load ptr, ptr %t354 call void @fn_emit(ptr %t356) - call void @fn_emit(ptr @.str8992) - call void @fn_emit(ptr @.str8993) + call void @fn_emit(ptr @.str9659) + call void @fn_emit(ptr @.str9660) %t357 = load ptr, ptr %t354 call void @fn_emit(ptr %t357) - call void @fn_emit(ptr @.str8994) + call void @fn_emit(ptr @.str9661) %t358 = load ptr, ptr %t351 call void @fn_emit(ptr %t358) - call void @fn_emit(ptr @.str8995) - call void @fn_emit(ptr @.str8996) + call void @fn_emit(ptr @.str9662) + call void @fn_emit(ptr @.str9663) %t359 = load ptr, ptr %t354 call void @fn_emit(ptr %t359) - call void @fn_emit(ptr @.str8997) + call void @fn_emit(ptr @.str9664) %t360 = load ptr, ptr %t354 call void @fn_emit(ptr %t360) - call void @fn_emit(ptr @.str8998) + call void @fn_emit(ptr @.str9665) %t361 = load ptr, ptr %t354 call void @fn_emit(ptr %t361) - call void @fn_emit(ptr @.str8999) - call void @fn_emit(ptr @.str9000) + call void @fn_emit(ptr @.str9666) + call void @fn_emit(ptr @.str9667) %t362 = load ptr, ptr %t354 call void @fn_emit(ptr %t362) - call void @fn_emit(ptr @.str9001) + call void @fn_emit(ptr @.str9668) %t363 = load ptr, ptr %t354 call void @fn_emit(ptr %t363) - call void @fn_emit(ptr @.str9002) + call void @fn_emit(ptr @.str9669) %t364 = load ptr, ptr %t354 call void @fn_emit(ptr %t364) - call void @fn_emit(ptr @.str9003) - call void @fn_emit(ptr @.str9004) + call void @fn_emit(ptr @.str9670) + call void @fn_emit(ptr @.str9671) %t365 = load ptr, ptr %t354 call void @fn_emit(ptr %t365) - call void @fn_emit(ptr @.str9005) - call void @fn_emit(ptr @.str9006) + call void @fn_emit(ptr @.str9672) + call void @fn_emit(ptr @.str9673) %t366 = load ptr, ptr %t354 call void @fn_emit(ptr %t366) - call void @fn_emit(ptr @.str9007) + call void @fn_emit(ptr @.str9674) %t367 = load ptr, ptr %t334 call void @fn_emit(ptr %t367) - call void @fn_emit(ptr @.str9008) + call void @fn_emit(ptr @.str9675) %t368 = load ptr, ptr %t351 call void @fn_emit(ptr %t368) - call void @fn_emit(ptr @.str9009) + call void @fn_emit(ptr @.str9676) %t369 = load ptr, ptr %t354 call void @fn_emit(ptr %t369) - call void @fn_emit(ptr @.str9010) - call void @fn_emit(ptr @.str9011) + call void @fn_emit(ptr @.str9677) + call void @fn_emit(ptr @.str9678) %t370 = load ptr, ptr %t354 call void @fn_emit(ptr %t370) - call void @fn_emit(ptr @.str9012) + call void @fn_emit(ptr @.str9679) %t371 = load ptr, ptr %t354 call void @fn_emit(ptr %t371) - call void @fn_emit(ptr @.str9013) - call void @fn_emit(ptr @.str9014) + call void @fn_emit(ptr @.str9680) + call void @fn_emit(ptr @.str9681) %t372 = load ptr, ptr %t354 call void @fn_emit(ptr %t372) - call void @fn_emit(ptr @.str9015) + call void @fn_emit(ptr @.str9682) %t373 = load ptr, ptr %t354 call void @fn_emit(ptr %t373) - call void @fn_emit(ptr @.str9016) - call void @fn_emit(ptr @.str9017) + call void @fn_emit(ptr @.str9683) + call void @fn_emit(ptr @.str9684) %t374 = load ptr, ptr %t354 call void @fn_emit(ptr %t374) - call void @fn_emit(ptr @.str9018) + call void @fn_emit(ptr @.str9685) %t375 = load ptr, ptr %t354 call void @fn_emit(ptr %t375) - call void @fn_emit(ptr @.str9019) + call void @fn_emit(ptr @.str9686) %t376 = load ptr, ptr %t354 call void @fn_emit(ptr %t376) - call void @fn_emit(ptr @.str9020) - call void @fn_emit(ptr @.str9021) + call void @fn_emit(ptr @.str9687) + call void @fn_emit(ptr @.str9688) %t377 = load ptr, ptr %t354 call void @fn_emit(ptr %t377) - call void @fn_emit(ptr @.str9022) - call void @fn_emit(ptr @.str9023) + call void @fn_emit(ptr @.str9689) + call void @fn_emit(ptr @.str9690) %t378 = load ptr, ptr %t354 call void @fn_emit(ptr %t378) - call void @fn_emit(ptr @.str9024) + call void @fn_emit(ptr @.str9691) %t379 = load ptr, ptr %t334 call void @fn_emit(ptr %t379) - call void @fn_emit(ptr @.str9025) + call void @fn_emit(ptr @.str9692) %t380 = load ptr, ptr %t351 call void @fn_emit(ptr %t380) - call void @fn_emit(ptr @.str9026) + call void @fn_emit(ptr @.str9693) %t381 = load ptr, ptr %t354 call void @fn_emit(ptr %t381) - call void @fn_emit(ptr @.str9027) - call void @fn_emit(ptr @.str9028) + call void @fn_emit(ptr @.str9694) + call void @fn_emit(ptr @.str9695) %t382 = load ptr, ptr %t354 call void @fn_emit(ptr %t382) - call void @fn_emit(ptr @.str9029) + call void @fn_emit(ptr @.str9696) %t383 = load ptr, ptr %t354 call void @fn_emit(ptr %t383) - call void @fn_emit(ptr @.str9030) - call void @fn_emit(ptr @.str9031) + call void @fn_emit(ptr @.str9697) + call void @fn_emit(ptr @.str9698) %t384 = load ptr, ptr %t354 call void @fn_emit(ptr %t384) - call void @fn_emit(ptr @.str9032) - call void @fn_emit(ptr @.str9033) + call void @fn_emit(ptr @.str9699) + call void @fn_emit(ptr @.str9700) %t385 = load ptr, ptr %t354 call void @fn_emit(ptr %t385) - call void @fn_emit(ptr @.str9034) + call void @fn_emit(ptr @.str9701) %t386 = load ptr, ptr %t354 call void @fn_emit(ptr %t386) - call void @fn_emit(ptr @.str9035) + call void @fn_emit(ptr @.str9702) %t387 = load ptr, ptr %t354 call void @fn_emit(ptr %t387) - call void @fn_emit(ptr @.str9036) + call void @fn_emit(ptr @.str9703) %t388 = load ptr, ptr %t354 call void @fn_emit(ptr %t388) - call void @fn_emit(ptr @.str9037) - call void @fn_emit(ptr @.str9038) + call void @fn_emit(ptr @.str9704) + call void @fn_emit(ptr @.str9705) %t389 = load ptr, ptr %t354 call void @fn_emit(ptr %t389) - call void @fn_emit(ptr @.str9039) + call void @fn_emit(ptr @.str9706) %t390 = load i32, ptr %t335 %t391 = add i32 %t390, 1 %t392 = load ptr, ptr @g_g_events @@ -87510,15 +98624,15 @@ wbody46: %t397 = icmp ne i32 %t396, 0 br i1 %t397, label %then48, label %else49 then48: - call void @fn_emit(ptr @.str9040) + call void @fn_emit(ptr @.str9707) %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 @.str9041) + call void @fn_emit(ptr @.str9708) br label %ifend50 else49: - call void @fn_emit(ptr @.str9042) + call void @fn_emit(ptr @.str9709) br label %ifend50 ifend50: %t401 = load i32, ptr %t335 @@ -87526,7 +98640,7 @@ ifend50: store i32 %t402, ptr %t335 br label %wcond45 wend47: - call void @fn_emit(ptr @.str9043) + call void @fn_emit(ptr @.str9710) br label %ret ret: ret void @@ -87611,12 +98725,12 @@ wend2: %t26 = load i32, ptr %t2 %t27 = call ptr @fn_itoa(i32 %t26) store ptr %t27, ptr %t28 - call void @fn_emith(ptr @.str9044) - call void @fn_emith(ptr @.str9045) - call void @fn_emith(ptr @.str9046) - call void @fn_emith(ptr @.str9047) - call void @fn_emith(ptr @.str9048) - call void @fn_emit(ptr @.str9049) + call void @fn_emith(ptr @.str9711) + call void @fn_emith(ptr @.str9712) + call void @fn_emith(ptr @.str9713) + call void @fn_emith(ptr @.str9714) + call void @fn_emith(ptr @.str9715) + call void @fn_emit(ptr @.str9716) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond6 @@ -87656,41 +98770,41 @@ then9: %t59 = load i32, ptr %t29 %t60 = call ptr @fn_itoa(i32 %t59) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str9050) + call void @fn_emit(ptr @.str9717) %t62 = load ptr, ptr %t61 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str9051) + call void @fn_emit(ptr @.str9718) %t63 = load ptr, ptr %t58 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str9052) - call void @fn_emit(ptr @.str9053) + call void @fn_emit(ptr @.str9719) + call void @fn_emit(ptr @.str9720) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str9054) + call void @fn_emit(ptr @.str9721) %t65 = load ptr, ptr %t61 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str9055) - call void @fn_emit(ptr @.str9056) + call void @fn_emit(ptr @.str9722) + call void @fn_emit(ptr @.str9723) %t66 = load ptr, ptr %t61 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str9057) + call void @fn_emit(ptr @.str9724) %t67 = load ptr, ptr %t61 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str9058) + call void @fn_emit(ptr @.str9725) %t68 = load ptr, ptr %t61 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str9059) - call void @fn_emit(ptr @.str9060) + call void @fn_emit(ptr @.str9726) + call void @fn_emit(ptr @.str9727) %t69 = load ptr, ptr %t61 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str9061) + call void @fn_emit(ptr @.str9728) %t70 = load ptr, ptr %t61 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str9062) - call void @fn_emit(ptr @.str9063) + call void @fn_emit(ptr @.str9729) + call void @fn_emit(ptr @.str9730) %t71 = load ptr, ptr %t61 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str9064) + call void @fn_emit(ptr @.str9731) %t72 = load i32, ptr %t29 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t29 @@ -87701,16 +98815,16 @@ ifend11: store i32 %t75, ptr %t30 br label %wcond6 wend8: - call void @fn_emit(ptr @.str9065) - call void @fn_emit(ptr @.str9066) - call void @fn_emit(ptr @.str9067) - call void @fn_emit(ptr @.str9068) + call void @fn_emit(ptr @.str9732) + call void @fn_emit(ptr @.str9733) + call void @fn_emit(ptr @.str9734) + call void @fn_emit(ptr @.str9735) %t76 = load ptr, ptr %t28 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str9069) - call void @fn_emit(ptr @.str9070) - call void @fn_emit(ptr @.str9071) - call void @fn_emit(ptr @.str9072) + call void @fn_emit(ptr @.str9736) + call void @fn_emit(ptr @.str9737) + call void @fn_emit(ptr @.str9738) + call void @fn_emit(ptr @.str9739) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond12 @@ -87747,27 +98861,27 @@ then15: %t102 = load i32, ptr %t29 %t103 = call ptr @fn_itoa(i32 %t102) store ptr %t103, ptr %t104 - call void @fn_emit(ptr @.str9073) + call void @fn_emit(ptr @.str9740) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) - call void @fn_emit(ptr @.str9074) + call void @fn_emit(ptr @.str9741) %t106 = load ptr, ptr %t104 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str9075) - call void @fn_emit(ptr @.str9076) + call void @fn_emit(ptr @.str9742) + call void @fn_emit(ptr @.str9743) %t107 = load ptr, ptr %t104 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str9077) + call void @fn_emit(ptr @.str9744) %t108 = load ptr, ptr %t104 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str9078) + call void @fn_emit(ptr @.str9745) %t109 = load ptr, ptr %t104 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str9079) - call void @fn_emit(ptr @.str9080) + call void @fn_emit(ptr @.str9746) + call void @fn_emit(ptr @.str9747) %t110 = load ptr, ptr %t104 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str9081) + call void @fn_emit(ptr @.str9748) store i32 0, ptr %t111 br label %wcond18 wcond18: @@ -87795,57 +98909,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 @.str9082) + %t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str9749) %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 @.str9083) + call void @fn_emit(ptr @.str9750) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str9084) + call void @fn_emit(ptr @.str9751) %t140 = load ptr, ptr %t132 call void @fn_emit(ptr %t140) - call void @fn_emit(ptr @.str9085) - call void @fn_emit(ptr @.str9086) + call void @fn_emit(ptr @.str9752) + call void @fn_emit(ptr @.str9753) %t141 = load ptr, ptr %t138 call void @fn_emit(ptr %t141) - call void @fn_emit(ptr @.str9087) + call void @fn_emit(ptr @.str9754) %t142 = load ptr, ptr %t138 call void @fn_emit(ptr %t142) - call void @fn_emit(ptr @.str9088) - call void @fn_emit(ptr @.str9089) + call void @fn_emit(ptr @.str9755) + call void @fn_emit(ptr @.str9756) %t143 = load ptr, ptr %t138 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str9090) + call void @fn_emit(ptr @.str9757) %t144 = load ptr, ptr %t138 call void @fn_emit(ptr %t144) - call void @fn_emit(ptr @.str9091) + call void @fn_emit(ptr @.str9758) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str9092) - call void @fn_emit(ptr @.str9093) + call void @fn_emit(ptr @.str9759) + call void @fn_emit(ptr @.str9760) %t146 = load ptr, ptr %t138 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str9094) + call void @fn_emit(ptr @.str9761) %t147 = load i32, ptr %t111 %t148 = call ptr @fn_itoa(i32 %t147) call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str9095) - call void @fn_emit(ptr @.str9096) + call void @fn_emit(ptr @.str9762) + call void @fn_emit(ptr @.str9763) %t149 = load ptr, ptr %t138 call void @fn_emit(ptr %t149) - call void @fn_emit(ptr @.str9097) + call void @fn_emit(ptr @.str9764) %t150 = load i32, ptr %t111 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t111 br label %wcond18 wend20: - call void @fn_emit(ptr @.str9098) - call void @fn_emit(ptr @.str9099) + call void @fn_emit(ptr @.str9765) + call void @fn_emit(ptr @.str9766) %t152 = load ptr, ptr %t104 call void @fn_emit(ptr %t152) - call void @fn_emit(ptr @.str9100) + call void @fn_emit(ptr @.str9767) %t153 = load i32, ptr %t29 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t29 @@ -87856,8 +98970,8 @@ ifend17: store i32 %t156, ptr %t30 br label %wcond12 wend14: - call void @fn_emit(ptr @.str9101) - call void @fn_emit(ptr @.str9102) + call void @fn_emit(ptr @.str9768) + call void @fn_emit(ptr @.str9769) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond21 @@ -87898,40 +99012,40 @@ then24: %t186 = load i32, ptr %t29 %t187 = call ptr @fn_itoa(i32 %t186) store ptr %t187, ptr %t188 - call void @fn_emit(ptr @.str9103) + call void @fn_emit(ptr @.str9770) %t189 = load ptr, ptr %t188 call void @fn_emit(ptr %t189) - call void @fn_emit(ptr @.str9104) + call void @fn_emit(ptr @.str9771) %t190 = load ptr, ptr %t188 call void @fn_emit(ptr %t190) - call void @fn_emit(ptr @.str9105) - call void @fn_emit(ptr @.str9106) + call void @fn_emit(ptr @.str9772) + call void @fn_emit(ptr @.str9773) %t191 = load ptr, ptr %t188 call void @fn_emit(ptr %t191) - call void @fn_emit(ptr @.str9107) + call void @fn_emit(ptr @.str9774) %t192 = load ptr, ptr %t188 call void @fn_emit(ptr %t192) - call void @fn_emit(ptr @.str9108) + call void @fn_emit(ptr @.str9775) %t193 = load ptr, ptr %t188 call void @fn_emit(ptr %t193) - call void @fn_emit(ptr @.str9109) - call void @fn_emit(ptr @.str9110) + call void @fn_emit(ptr @.str9776) + call void @fn_emit(ptr @.str9777) %t194 = load ptr, ptr %t188 call void @fn_emit(ptr %t194) - call void @fn_emit(ptr @.str9111) - call void @fn_emit(ptr @.str9112) + call void @fn_emit(ptr @.str9778) + call void @fn_emit(ptr @.str9779) %t195 = load ptr, ptr %t188 call void @fn_emit(ptr %t195) - call void @fn_emit(ptr @.str9113) + call void @fn_emit(ptr @.str9780) %t196 = load ptr, ptr %t1 call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str9114) + call void @fn_emit(ptr @.str9781) %t197 = load ptr, ptr %t185 call void @fn_emit(ptr %t197) - call void @fn_emit(ptr @.str9115) + call void @fn_emit(ptr @.str9782) %t198 = load ptr, ptr %t185 call void @fn_emit(ptr %t198) - call void @fn_emit(ptr @.str9116) + call void @fn_emit(ptr @.str9783) store i32 0, ptr %t199 br label %wcond27 wcond27: @@ -87959,130 +99073,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 @.str9117) + %t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str9784) %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 @.str9118) + call void @fn_emit(ptr @.str9785) %t227 = load ptr, ptr %t226 call void @fn_emit(ptr %t227) - call void @fn_emit(ptr @.str9119) + call void @fn_emit(ptr @.str9786) %t228 = load i32, ptr %t199 %t229 = call ptr @fn_itoa(i32 %t228) call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str9120) - call void @fn_emit(ptr @.str9121) + call void @fn_emit(ptr @.str9787) + call void @fn_emit(ptr @.str9788) %t230 = load ptr, ptr %t226 call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str9122) + call void @fn_emit(ptr @.str9789) %t231 = load ptr, ptr %t226 call void @fn_emit(ptr %t231) - call void @fn_emit(ptr @.str9123) + call void @fn_emit(ptr @.str9790) %t232 = load ptr, ptr %t226 call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str9124) - call void @fn_emit(ptr @.str9125) + call void @fn_emit(ptr @.str9791) + call void @fn_emit(ptr @.str9792) %t233 = load ptr, ptr %t226 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str9126) - call void @fn_emit(ptr @.str9127) + call void @fn_emit(ptr @.str9793) + call void @fn_emit(ptr @.str9794) %t234 = load ptr, ptr %t226 call void @fn_emit(ptr %t234) - call void @fn_emit(ptr @.str9128) + call void @fn_emit(ptr @.str9795) %t235 = load ptr, ptr %t185 call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str9129) + call void @fn_emit(ptr @.str9796) %t236 = load ptr, ptr %t188 call void @fn_emit(ptr %t236) - call void @fn_emit(ptr @.str9130) + call void @fn_emit(ptr @.str9797) %t237 = load i32, ptr %t199 %t238 = call ptr @fn_itoa(i32 %t237) call void @fn_emit(ptr %t238) - call void @fn_emit(ptr @.str9131) + call void @fn_emit(ptr @.str9798) %t239 = load ptr, ptr %t220 - %t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str9132) + %t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str9799) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then30, label %else31 then30: - call void @fn_emit(ptr @.str9133) + call void @fn_emit(ptr @.str9800) %t242 = load ptr, ptr %t226 call void @fn_emit(ptr %t242) - call void @fn_emit(ptr @.str9134) + call void @fn_emit(ptr @.str9801) %t243 = load ptr, ptr %t226 call void @fn_emit(ptr %t243) - call void @fn_emit(ptr @.str9135) - call void @fn_emit(ptr @.str9136) + call void @fn_emit(ptr @.str9802) + call void @fn_emit(ptr @.str9803) %t244 = load ptr, ptr %t226 call void @fn_emit(ptr %t244) - call void @fn_emit(ptr @.str9137) + call void @fn_emit(ptr @.str9804) %t245 = load ptr, ptr %t226 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str9138) + call void @fn_emit(ptr @.str9805) %t246 = load ptr, ptr %t226 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str9139) + call void @fn_emit(ptr @.str9806) br label %ifend32 else31: %t247 = load ptr, ptr %t220 - %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str9140) + %t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str9807) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then33, label %else34 then33: - call void @fn_emit(ptr @.str9141) + call void @fn_emit(ptr @.str9808) %t250 = load ptr, ptr %t226 call void @fn_emit(ptr %t250) - call void @fn_emit(ptr @.str9142) + call void @fn_emit(ptr @.str9809) %t251 = load ptr, ptr %t226 call void @fn_emit(ptr %t251) - call void @fn_emit(ptr @.str9143) - call void @fn_emit(ptr @.str9144) + call void @fn_emit(ptr @.str9810) + call void @fn_emit(ptr @.str9811) %t252 = load ptr, ptr %t226 call void @fn_emit(ptr %t252) - call void @fn_emit(ptr @.str9145) + call void @fn_emit(ptr @.str9812) %t253 = load ptr, ptr %t226 call void @fn_emit(ptr %t253) - call void @fn_emit(ptr @.str9146) + call void @fn_emit(ptr @.str9813) %t254 = load ptr, ptr %t226 call void @fn_emit(ptr %t254) - call void @fn_emit(ptr @.str9147) + call void @fn_emit(ptr @.str9814) br label %ifend35 else34: - call void @fn_emit(ptr @.str9148) + call void @fn_emit(ptr @.str9815) %t255 = load ptr, ptr %t226 call void @fn_emit(ptr %t255) - call void @fn_emit(ptr @.str9149) + call void @fn_emit(ptr @.str9816) %t256 = load ptr, ptr %t226 call void @fn_emit(ptr %t256) - call void @fn_emit(ptr @.str9150) - call void @fn_emit(ptr @.str9151) + call void @fn_emit(ptr @.str9817) + call void @fn_emit(ptr @.str9818) %t257 = load ptr, ptr %t226 call void @fn_emit(ptr %t257) - call void @fn_emit(ptr @.str9152) + call void @fn_emit(ptr @.str9819) %t258 = load ptr, ptr %t226 call void @fn_emit(ptr %t258) - call void @fn_emit(ptr @.str9153) + call void @fn_emit(ptr @.str9820) %t259 = load ptr, ptr %t226 call void @fn_emit(ptr %t259) - call void @fn_emit(ptr @.str9154) + call void @fn_emit(ptr @.str9821) br label %ifend35 ifend35: br label %ifend32 ifend32: - call void @fn_emit(ptr @.str9155) + call void @fn_emit(ptr @.str9822) %t260 = load ptr, ptr %t226 call void @fn_emit(ptr %t260) - call void @fn_emit(ptr @.str9156) + call void @fn_emit(ptr @.str9823) %t261 = load i32, ptr %t199 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t199 br label %wcond27 wend29: - call void @fn_emit(ptr @.str9157) - call void @fn_emit(ptr @.str9158) + call void @fn_emit(ptr @.str9824) + call void @fn_emit(ptr @.str9825) %t263 = load ptr, ptr %t188 call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str9159) + call void @fn_emit(ptr @.str9826) %t264 = load i32, ptr %t29 %t265 = add i32 %t264, 1 store i32 %t265, ptr %t29 @@ -88093,16 +99207,16 @@ ifend26: store i32 %t267, ptr %t30 br label %wcond21 wend23: - call void @fn_emit(ptr @.str9160) + call void @fn_emit(ptr @.str9827) %t268 = load ptr, ptr %t28 call void @fn_emit(ptr %t268) - call void @fn_emit(ptr @.str9161) - call void @fn_emit(ptr @.str9162) - call void @fn_emit(ptr @.str9163) - call void @fn_emit(ptr @.str9164) - call void @fn_emit(ptr @.str9165) - call void @fn_emit(ptr @.str9166) - call void @fn_emit(ptr @.str9167) + call void @fn_emit(ptr @.str9828) + call void @fn_emit(ptr @.str9829) + call void @fn_emit(ptr @.str9830) + call void @fn_emit(ptr @.str9831) + call void @fn_emit(ptr @.str9832) + call void @fn_emit(ptr @.str9833) + call void @fn_emit(ptr @.str9834) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond36 @@ -88143,40 +99257,40 @@ then39: %t298 = load i32, ptr %t29 %t299 = call ptr @fn_itoa(i32 %t298) store ptr %t299, ptr %t300 - call void @fn_emit(ptr @.str9168) + call void @fn_emit(ptr @.str9835) %t301 = load ptr, ptr %t300 call void @fn_emit(ptr %t301) - call void @fn_emit(ptr @.str9169) + call void @fn_emit(ptr @.str9836) %t302 = load ptr, ptr %t300 call void @fn_emit(ptr %t302) - call void @fn_emit(ptr @.str9170) - call void @fn_emit(ptr @.str9171) + call void @fn_emit(ptr @.str9837) + call void @fn_emit(ptr @.str9838) %t303 = load ptr, ptr %t300 call void @fn_emit(ptr %t303) - call void @fn_emit(ptr @.str9172) + call void @fn_emit(ptr @.str9839) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) - call void @fn_emit(ptr @.str9173) + call void @fn_emit(ptr @.str9840) %t305 = load ptr, ptr %t300 call void @fn_emit(ptr %t305) - call void @fn_emit(ptr @.str9174) - call void @fn_emit(ptr @.str9175) + call void @fn_emit(ptr @.str9841) + call void @fn_emit(ptr @.str9842) %t306 = load ptr, ptr %t300 call void @fn_emit(ptr %t306) - call void @fn_emit(ptr @.str9176) - call void @fn_emit(ptr @.str9177) + call void @fn_emit(ptr @.str9843) + call void @fn_emit(ptr @.str9844) %t307 = load ptr, ptr %t300 call void @fn_emit(ptr %t307) - call void @fn_emit(ptr @.str9178) + call void @fn_emit(ptr @.str9845) %t308 = load ptr, ptr %t1 call void @fn_emit(ptr %t308) - call void @fn_emit(ptr @.str9179) + call void @fn_emit(ptr @.str9846) %t309 = load ptr, ptr %t297 call void @fn_emit(ptr %t309) - call void @fn_emit(ptr @.str9180) + call void @fn_emit(ptr @.str9847) %t310 = load ptr, ptr %t297 call void @fn_emit(ptr %t310) - call void @fn_emit(ptr @.str9181) + call void @fn_emit(ptr @.str9848) store i32 0, ptr %t311 br label %wcond42 wcond42: @@ -88204,112 +99318,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 @.str9182) + %t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str9849) %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 @.str9183) + call void @fn_emit(ptr @.str9850) %t339 = load ptr, ptr %t338 call void @fn_emit(ptr %t339) - call void @fn_emit(ptr @.str9184) + call void @fn_emit(ptr @.str9851) %t340 = load i32, ptr %t311 %t341 = call ptr @fn_itoa(i32 %t340) call void @fn_emit(ptr %t341) - call void @fn_emit(ptr @.str9185) - call void @fn_emit(ptr @.str9186) + call void @fn_emit(ptr @.str9852) + call void @fn_emit(ptr @.str9853) %t342 = load ptr, ptr %t338 call void @fn_emit(ptr %t342) - call void @fn_emit(ptr @.str9187) + call void @fn_emit(ptr @.str9854) %t343 = load ptr, ptr %t338 call void @fn_emit(ptr %t343) - call void @fn_emit(ptr @.str9188) + call void @fn_emit(ptr @.str9855) %t344 = load ptr, ptr %t338 call void @fn_emit(ptr %t344) - call void @fn_emit(ptr @.str9189) - call void @fn_emit(ptr @.str9190) + call void @fn_emit(ptr @.str9856) + call void @fn_emit(ptr @.str9857) %t345 = load ptr, ptr %t338 call void @fn_emit(ptr %t345) - call void @fn_emit(ptr @.str9191) - call void @fn_emit(ptr @.str9192) + call void @fn_emit(ptr @.str9858) + call void @fn_emit(ptr @.str9859) %t346 = load ptr, ptr %t338 call void @fn_emit(ptr %t346) - call void @fn_emit(ptr @.str9193) + call void @fn_emit(ptr @.str9860) %t347 = load ptr, ptr %t297 call void @fn_emit(ptr %t347) - call void @fn_emit(ptr @.str9194) + call void @fn_emit(ptr @.str9861) %t348 = load ptr, ptr %t300 call void @fn_emit(ptr %t348) - call void @fn_emit(ptr @.str9195) + call void @fn_emit(ptr @.str9862) %t349 = load i32, ptr %t311 %t350 = call ptr @fn_itoa(i32 %t349) call void @fn_emit(ptr %t350) - call void @fn_emit(ptr @.str9196) + call void @fn_emit(ptr @.str9863) %t351 = load ptr, ptr %t332 - %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str9197) + %t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str9864) %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then45, label %else46 then45: - call void @fn_emit(ptr @.str9198) + call void @fn_emit(ptr @.str9865) %t354 = load ptr, ptr %t338 call void @fn_emit(ptr %t354) - call void @fn_emit(ptr @.str9199) - call void @fn_emit(ptr @.str9200) + call void @fn_emit(ptr @.str9866) + call void @fn_emit(ptr @.str9867) %t355 = load ptr, ptr %t338 call void @fn_emit(ptr %t355) - call void @fn_emit(ptr @.str9201) + call void @fn_emit(ptr @.str9868) %t356 = load ptr, ptr %t338 call void @fn_emit(ptr %t356) - call void @fn_emit(ptr @.str9202) + call void @fn_emit(ptr @.str9869) br label %ifend47 else46: %t357 = load ptr, ptr %t332 - %t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str9203) + %t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str9870) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then48, label %else49 then48: - call void @fn_emit(ptr @.str9204) + call void @fn_emit(ptr @.str9871) %t360 = load ptr, ptr %t338 call void @fn_emit(ptr %t360) - call void @fn_emit(ptr @.str9205) - call void @fn_emit(ptr @.str9206) + call void @fn_emit(ptr @.str9872) + call void @fn_emit(ptr @.str9873) %t361 = load ptr, ptr %t338 call void @fn_emit(ptr %t361) - call void @fn_emit(ptr @.str9207) + call void @fn_emit(ptr @.str9874) %t362 = load ptr, ptr %t338 call void @fn_emit(ptr %t362) - call void @fn_emit(ptr @.str9208) + call void @fn_emit(ptr @.str9875) br label %ifend50 else49: - call void @fn_emit(ptr @.str9209) + call void @fn_emit(ptr @.str9876) %t363 = load ptr, ptr %t338 call void @fn_emit(ptr %t363) - call void @fn_emit(ptr @.str9210) - call void @fn_emit(ptr @.str9211) + call void @fn_emit(ptr @.str9877) + call void @fn_emit(ptr @.str9878) %t364 = load ptr, ptr %t338 call void @fn_emit(ptr %t364) - call void @fn_emit(ptr @.str9212) + call void @fn_emit(ptr @.str9879) %t365 = load ptr, ptr %t338 call void @fn_emit(ptr %t365) - call void @fn_emit(ptr @.str9213) + call void @fn_emit(ptr @.str9880) br label %ifend50 ifend50: br label %ifend47 ifend47: - call void @fn_emit(ptr @.str9214) + call void @fn_emit(ptr @.str9881) %t366 = load ptr, ptr %t338 call void @fn_emit(ptr %t366) - call void @fn_emit(ptr @.str9215) + call void @fn_emit(ptr @.str9882) %t367 = load i32, ptr %t311 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t311 br label %wcond42 wend44: - call void @fn_emit(ptr @.str9216) - call void @fn_emit(ptr @.str9217) + call void @fn_emit(ptr @.str9883) + call void @fn_emit(ptr @.str9884) %t369 = load ptr, ptr %t300 call void @fn_emit(ptr %t369) - call void @fn_emit(ptr @.str9218) + call void @fn_emit(ptr @.str9885) %t370 = load i32, ptr %t29 %t371 = add i32 %t370, 1 store i32 %t371, ptr %t29 @@ -88320,16 +99434,16 @@ ifend41: store i32 %t373, ptr %t30 br label %wcond36 wend38: - call void @fn_emit(ptr @.str9219) + call void @fn_emit(ptr @.str9886) %t374 = load ptr, ptr %t28 call void @fn_emit(ptr %t374) - call void @fn_emit(ptr @.str9220) - call void @fn_emit(ptr @.str9221) - call void @fn_emit(ptr @.str9222) - call void @fn_emit(ptr @.str9223) - call void @fn_emit(ptr @.str9224) - call void @fn_emit(ptr @.str9225) - call void @fn_emit(ptr @.str9226) + call void @fn_emit(ptr @.str9887) + call void @fn_emit(ptr @.str9888) + call void @fn_emit(ptr @.str9889) + call void @fn_emit(ptr @.str9890) + call void @fn_emit(ptr @.str9891) + call void @fn_emit(ptr @.str9892) + call void @fn_emit(ptr @.str9893) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond51 @@ -88368,58 +99482,58 @@ then54: %t402 = load i32, ptr %t29 %t403 = call ptr @fn_itoa(i32 %t402) store ptr %t403, ptr %t404 - call void @fn_emit(ptr @.str9227) + call void @fn_emit(ptr @.str9894) %t405 = load ptr, ptr %t404 call void @fn_emit(ptr %t405) - call void @fn_emit(ptr @.str9228) + call void @fn_emit(ptr @.str9895) %t406 = load ptr, ptr %t404 call void @fn_emit(ptr %t406) - call void @fn_emit(ptr @.str9229) - call void @fn_emit(ptr @.str9230) + call void @fn_emit(ptr @.str9896) + call void @fn_emit(ptr @.str9897) %t407 = load ptr, ptr %t404 call void @fn_emit(ptr %t407) - call void @fn_emit(ptr @.str9231) + call void @fn_emit(ptr @.str9898) %t408 = load ptr, ptr %t404 call void @fn_emit(ptr %t408) - call void @fn_emit(ptr @.str9232) + call void @fn_emit(ptr @.str9899) %t409 = load ptr, ptr %t404 call void @fn_emit(ptr %t409) - call void @fn_emit(ptr @.str9233) - call void @fn_emit(ptr @.str9234) + call void @fn_emit(ptr @.str9900) + call void @fn_emit(ptr @.str9901) %t410 = load ptr, ptr %t404 call void @fn_emit(ptr %t410) - call void @fn_emit(ptr @.str9235) - call void @fn_emit(ptr @.str9236) + call void @fn_emit(ptr @.str9902) + call void @fn_emit(ptr @.str9903) %t411 = load ptr, ptr %t404 call void @fn_emit(ptr %t411) - call void @fn_emit(ptr @.str9237) + call void @fn_emit(ptr @.str9904) %t412 = load ptr, ptr %t1 call void @fn_emit(ptr %t412) - call void @fn_emit(ptr @.str9238) + call void @fn_emit(ptr @.str9905) %t413 = load ptr, ptr %t401 call void @fn_emit(ptr %t413) - call void @fn_emit(ptr @.str9239) - call void @fn_emit(ptr @.str9240) + call void @fn_emit(ptr @.str9906) + call void @fn_emit(ptr @.str9907) %t414 = load ptr, ptr %t404 call void @fn_emit(ptr %t414) - call void @fn_emit(ptr @.str9241) + call void @fn_emit(ptr @.str9908) %t415 = load ptr, ptr %t404 call void @fn_emit(ptr %t415) - call void @fn_emit(ptr @.str9242) - call void @fn_emit(ptr @.str9243) + call void @fn_emit(ptr @.str9909) + call void @fn_emit(ptr @.str9910) %t416 = load ptr, ptr %t404 call void @fn_emit(ptr %t416) - call void @fn_emit(ptr @.str9244) + call void @fn_emit(ptr @.str9911) %t417 = load ptr, ptr %t404 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str9245) + call void @fn_emit(ptr @.str9912) %t418 = load ptr, ptr %t404 call void @fn_emit(ptr %t418) - call void @fn_emit(ptr @.str9246) - call void @fn_emit(ptr @.str9247) + call void @fn_emit(ptr @.str9913) + call void @fn_emit(ptr @.str9914) %t419 = load ptr, ptr %t404 call void @fn_emit(ptr %t419) - call void @fn_emit(ptr @.str9248) + call void @fn_emit(ptr @.str9915) %t420 = load i32, ptr %t29 %t421 = add i32 %t420, 1 store i32 %t421, ptr %t29 @@ -88430,54 +99544,54 @@ ifend56: store i32 %t423, ptr %t30 br label %wcond51 wend53: - call void @fn_emit(ptr @.str9249) + call void @fn_emit(ptr @.str9916) %t424 = load ptr, ptr %t28 call void @fn_emit(ptr %t424) - call void @fn_emit(ptr @.str9250) - call void @fn_emit(ptr @.str9251) - call void @fn_emit(ptr @.str9252) - call void @fn_emit(ptr @.str9253) - call void @fn_emit(ptr @.str9254) - call void @fn_emit(ptr @.str9255) - call void @fn_emit(ptr @.str9256) + call void @fn_emit(ptr @.str9917) + call void @fn_emit(ptr @.str9918) + call void @fn_emit(ptr @.str9919) + call void @fn_emit(ptr @.str9920) + call void @fn_emit(ptr @.str9921) + call void @fn_emit(ptr @.str9922) + call void @fn_emit(ptr @.str9923) %t425 = load ptr, ptr %t1 call void @fn_emit(ptr %t425) - call void @fn_emit(ptr @.str9257) - call void @fn_emit(ptr @.str9258) - call void @fn_emit(ptr @.str9259) - call void @fn_emit(ptr @.str9260) + call void @fn_emit(ptr @.str9924) + call void @fn_emit(ptr @.str9925) + call void @fn_emit(ptr @.str9926) + call void @fn_emit(ptr @.str9927) %t426 = load ptr, ptr %t1 call void @fn_emit(ptr %t426) - call void @fn_emit(ptr @.str9261) + call void @fn_emit(ptr @.str9928) %t427 = load ptr, ptr %t1 call void @fn_emit(ptr %t427) - call void @fn_emit(ptr @.str9262) - call void @fn_emit(ptr @.str9263) - call void @fn_emit(ptr @.str9264) - call void @fn_emit(ptr @.str9265) - call void @fn_emit(ptr @.str9266) + call void @fn_emit(ptr @.str9929) + call void @fn_emit(ptr @.str9930) + call void @fn_emit(ptr @.str9931) + call void @fn_emit(ptr @.str9932) + call void @fn_emit(ptr @.str9933) %t428 = load ptr, ptr %t28 call void @fn_emit(ptr %t428) - call void @fn_emit(ptr @.str9267) - call void @fn_emit(ptr @.str9268) - call void @fn_emit(ptr @.str9269) - call void @fn_emit(ptr @.str9270) + call void @fn_emit(ptr @.str9934) + call void @fn_emit(ptr @.str9935) + call void @fn_emit(ptr @.str9936) + call void @fn_emit(ptr @.str9937) %t429 = load ptr, ptr %t28 call void @fn_emit(ptr %t429) - call void @fn_emit(ptr @.str9271) - call void @fn_emit(ptr @.str9272) - call void @fn_emit(ptr @.str9273) + call void @fn_emit(ptr @.str9938) + call void @fn_emit(ptr @.str9939) + call void @fn_emit(ptr @.str9940) %t430 = load ptr, ptr %t28 call void @fn_emit(ptr %t430) - call void @fn_emit(ptr @.str9274) - call void @fn_emit(ptr @.str9275) - call void @fn_emit(ptr @.str9276) - call void @fn_emit(ptr @.str9277) + call void @fn_emit(ptr @.str9941) + call void @fn_emit(ptr @.str9942) + call void @fn_emit(ptr @.str9943) + call void @fn_emit(ptr @.str9944) %t431 = load ptr, ptr %t1 call void @fn_emit(ptr %t431) - call void @fn_emit(ptr @.str9278) - call void @fn_emit(ptr @.str9279) - call void @fn_emit(ptr @.str9280) + call void @fn_emit(ptr @.str9945) + call void @fn_emit(ptr @.str9946) + call void @fn_emit(ptr @.str9947) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond57 @@ -88517,34 +99631,34 @@ then60: %t460 = load i32, ptr %t29 %t461 = call ptr @fn_itoa(i32 %t460) store ptr %t461, ptr %t462 - call void @fn_emit(ptr @.str9281) + call void @fn_emit(ptr @.str9948) %t463 = load ptr, ptr %t462 call void @fn_emit(ptr %t463) - call void @fn_emit(ptr @.str9282) + call void @fn_emit(ptr @.str9949) %t464 = load ptr, ptr %t459 call void @fn_emit(ptr %t464) - call void @fn_emit(ptr @.str9283) - call void @fn_emit(ptr @.str9284) + call void @fn_emit(ptr @.str9950) + call void @fn_emit(ptr @.str9951) %t465 = load ptr, ptr %t462 call void @fn_emit(ptr %t465) - call void @fn_emit(ptr @.str9285) + call void @fn_emit(ptr @.str9952) %t466 = load ptr, ptr %t462 call void @fn_emit(ptr %t466) - call void @fn_emit(ptr @.str9286) - call void @fn_emit(ptr @.str9287) + call void @fn_emit(ptr @.str9953) + call void @fn_emit(ptr @.str9954) %t467 = load ptr, ptr %t462 call void @fn_emit(ptr %t467) - call void @fn_emit(ptr @.str9288) + call void @fn_emit(ptr @.str9955) %t468 = load ptr, ptr %t462 call void @fn_emit(ptr %t468) - call void @fn_emit(ptr @.str9289) + call void @fn_emit(ptr @.str9956) %t469 = load ptr, ptr %t462 call void @fn_emit(ptr %t469) - call void @fn_emit(ptr @.str9290) - call void @fn_emit(ptr @.str9291) + call void @fn_emit(ptr @.str9957) + call void @fn_emit(ptr @.str9958) %t470 = load ptr, ptr %t462 call void @fn_emit(ptr %t470) - call void @fn_emit(ptr @.str9292) + call void @fn_emit(ptr @.str9959) %t471 = load ptr, ptr @g_prog %t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0 %t473 = load ptr, ptr %t472 @@ -88556,11 +99670,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 @.str9293) - call void @fn_emit(ptr @.str9294) + call void @fn_emit(ptr @.str9960) + call void @fn_emit(ptr @.str9961) %t481 = load ptr, ptr %t462 call void @fn_emit(ptr %t481) - call void @fn_emit(ptr @.str9295) + call void @fn_emit(ptr @.str9962) %t482 = load i32, ptr %t29 %t483 = add i32 %t482, 1 store i32 %t483, ptr %t29 @@ -88571,7 +99685,7 @@ ifend62: store i32 %t485, ptr %t30 br label %wcond57 wend59: - call void @fn_emit(ptr @.str9296) + call void @fn_emit(ptr @.str9963) store i32 0, ptr %t30 br label %wcond63 wcond63: @@ -88612,7 +99726,7 @@ then66: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str9297, ptr @g_ret_ty + store ptr @.str9964, ptr @g_ret_ty %t513 = call ptr @fn_buf_new() store ptr %t513, ptr %t514 %t515 = call ptr @fn_buf_new() @@ -88630,23 +99744,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 @.str9298) + call void @fn_emit(ptr @.str9965) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) - call void @fn_emit(ptr @.str9299) + call void @fn_emit(ptr @.str9966) %t528 = load ptr, ptr %t517 store ptr %t528, ptr @g_code - call void @fn_emit(ptr @.str9300) + call void @fn_emit(ptr @.str9967) %t529 = load ptr, ptr %t512 call void @fn_emit(ptr %t529) - call void @fn_emit(ptr @.str9301) + call void @fn_emit(ptr @.str9968) %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 @.str9302) + call void @fn_emit(ptr @.str9969) br label %ifend68 ifend68: %t534 = load i32, ptr %t30 @@ -88654,7 +99768,7 @@ ifend68: store i32 %t535, ptr %t30 br label %wcond63 wend65: - call void @fn_emit(ptr @.str9303) + call void @fn_emit(ptr @.str9970) store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond69 @@ -88693,42 +99807,42 @@ then72: %t563 = load i32, ptr %t29 %t564 = call ptr @fn_itoa(i32 %t563) store ptr %t564, ptr %t565 - call void @fn_emit(ptr @.str9304) + call void @fn_emit(ptr @.str9971) %t566 = load ptr, ptr %t565 call void @fn_emit(ptr %t566) - call void @fn_emit(ptr @.str9305) + call void @fn_emit(ptr @.str9972) %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 @.str9306) - call void @fn_emit(ptr @.str9307) + call void @fn_emit(ptr @.str9973) + call void @fn_emit(ptr @.str9974) %t570 = load ptr, ptr %t565 call void @fn_emit(ptr %t570) - call void @fn_emit(ptr @.str9308) + call void @fn_emit(ptr @.str9975) %t571 = load ptr, ptr %t565 call void @fn_emit(ptr %t571) - call void @fn_emit(ptr @.str9309) + call void @fn_emit(ptr @.str9976) %t572 = load ptr, ptr %t565 call void @fn_emit(ptr %t572) - call void @fn_emit(ptr @.str9310) - call void @fn_emit(ptr @.str9311) + call void @fn_emit(ptr @.str9977) + call void @fn_emit(ptr @.str9978) %t573 = load ptr, ptr %t565 call void @fn_emit(ptr %t573) - call void @fn_emit(ptr @.str9312) + call void @fn_emit(ptr @.str9979) %t574 = load ptr, ptr %t565 call void @fn_emit(ptr %t574) - call void @fn_emit(ptr @.str9313) + call void @fn_emit(ptr @.str9980) %t575 = load ptr, ptr %t562 call void @fn_emit(ptr %t575) - call void @fn_emit(ptr @.str9314) + call void @fn_emit(ptr @.str9981) %t576 = load ptr, ptr %t565 call void @fn_emit(ptr %t576) - call void @fn_emit(ptr @.str9315) - call void @fn_emit(ptr @.str9316) + call void @fn_emit(ptr @.str9982) + call void @fn_emit(ptr @.str9983) %t577 = load ptr, ptr %t565 call void @fn_emit(ptr %t577) - call void @fn_emit(ptr @.str9317) + call void @fn_emit(ptr @.str9984) %t578 = load i32, ptr %t29 %t579 = add i32 %t578, 1 store i32 %t579, ptr %t29 @@ -88739,20 +99853,20 @@ ifend74: store i32 %t581, ptr %t30 br label %wcond69 wend71: - call void @fn_emit(ptr @.str9318) - call void @fn_emit(ptr @.str9319) - call void @fn_emit(ptr @.str9320) - call void @fn_emit(ptr @.str9321) - call void @fn_emit(ptr @.str9322) - call void @fn_emit(ptr @.str9323) + call void @fn_emit(ptr @.str9985) + call void @fn_emit(ptr @.str9986) + call void @fn_emit(ptr @.str9987) + call void @fn_emit(ptr @.str9988) + call void @fn_emit(ptr @.str9989) + call void @fn_emit(ptr @.str9990) %t582 = load ptr, ptr %t1 call void @fn_emit(ptr %t582) - call void @fn_emit(ptr @.str9324) - call void @fn_emit(ptr @.str9325) - call void @fn_emit(ptr @.str9326) - call void @fn_emit(ptr @.str9327) - call void @fn_emit(ptr @.str9328) - call void @fn_emit(ptr @.str9329) + call void @fn_emit(ptr @.str9991) + call void @fn_emit(ptr @.str9992) + call void @fn_emit(ptr @.str9993) + call void @fn_emit(ptr @.str9994) + call void @fn_emit(ptr @.str9995) + call void @fn_emit(ptr @.str9996) call void @fn_emit_world_reflect_enum() br label %ret ret: @@ -88781,9 +99895,9 @@ entry: %t238 = alloca i32 %t259 = alloca ptr %t265 = alloca ptr - %t0 = call ptr @fn_emit_str_const(ptr @.str9330) + %t0 = call ptr @fn_emit_str_const(ptr @.str9997) store ptr %t0, ptr %t1 - %t2 = call ptr @fn_emit_str_const(ptr @.str9331) + %t2 = call ptr @fn_emit_str_const(ptr @.str9998) store ptr %t2, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 @@ -88824,12 +99938,12 @@ wend2: %t28 = load i32, ptr %t4 %t29 = call ptr @fn_itoa(i32 %t28) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str9332) - call void @fn_emit(ptr @.str9333) + call void @fn_emit(ptr @.str9999) + call void @fn_emit(ptr @.str10000) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str9334) - call void @fn_emit(ptr @.str9335) + call void @fn_emit(ptr @.str10001) + call void @fn_emit(ptr @.str10002) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond6 @@ -88869,34 +99983,34 @@ then9: %t61 = load i32, ptr %t32 %t62 = call ptr @fn_itoa(i32 %t61) store ptr %t62, ptr %t63 - call void @fn_emit(ptr @.str9336) + call void @fn_emit(ptr @.str10003) %t64 = load ptr, ptr %t63 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str9337) + call void @fn_emit(ptr @.str10004) %t65 = load ptr, ptr %t63 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str9338) - call void @fn_emit(ptr @.str9339) + call void @fn_emit(ptr @.str10005) + call void @fn_emit(ptr @.str10006) %t66 = load ptr, ptr %t63 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str9340) + call void @fn_emit(ptr @.str10007) %t67 = load ptr, ptr %t63 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str9341) + call void @fn_emit(ptr @.str10008) %t68 = load ptr, ptr %t63 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str9342) - call void @fn_emit(ptr @.str9343) + call void @fn_emit(ptr @.str10009) + call void @fn_emit(ptr @.str10010) %t69 = load ptr, ptr %t63 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str9344) + call void @fn_emit(ptr @.str10011) %t70 = load ptr, ptr %t60 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str9345) - call void @fn_emit(ptr @.str9346) + call void @fn_emit(ptr @.str10012) + call void @fn_emit(ptr @.str10013) %t71 = load ptr, ptr %t63 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str9347) + call void @fn_emit(ptr @.str10014) %t72 = load i32, ptr %t32 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t32 @@ -88907,17 +100021,17 @@ ifend11: store i32 %t75, ptr %t5 br label %wcond6 wend8: - call void @fn_emit(ptr @.str9348) + call void @fn_emit(ptr @.str10015) %t76 = load ptr, ptr %t30 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str9349) - call void @fn_emit(ptr @.str9350) - call void @fn_emit(ptr @.str9351) - call void @fn_emit(ptr @.str9352) + call void @fn_emit(ptr @.str10016) + call void @fn_emit(ptr @.str10017) + call void @fn_emit(ptr @.str10018) + call void @fn_emit(ptr @.str10019) %t77 = load ptr, ptr %t1 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str9353) - call void @fn_emit(ptr @.str9354) + call void @fn_emit(ptr @.str10020) + call void @fn_emit(ptr @.str10021) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond12 @@ -88954,27 +100068,27 @@ then15: %t103 = load i32, ptr %t32 %t104 = call ptr @fn_itoa(i32 %t103) store ptr %t104, ptr %t105 - call void @fn_emit(ptr @.str9355) + call void @fn_emit(ptr @.str10022) %t106 = load ptr, ptr %t105 call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str9356) + call void @fn_emit(ptr @.str10023) %t107 = load ptr, ptr %t105 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str9357) - call void @fn_emit(ptr @.str9358) + call void @fn_emit(ptr @.str10024) + call void @fn_emit(ptr @.str10025) %t108 = load ptr, ptr %t105 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str9359) + call void @fn_emit(ptr @.str10026) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str9360) + call void @fn_emit(ptr @.str10027) %t110 = load ptr, ptr %t105 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str9361) - call void @fn_emit(ptr @.str9362) + call void @fn_emit(ptr @.str10028) + call void @fn_emit(ptr @.str10029) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str9363) + call void @fn_emit(ptr @.str10030) %t112 = load ptr, ptr %t102 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 %t114 = load ptr, ptr %t113 @@ -88982,11 +100096,11 @@ then15: %t116 = load i32, ptr %t115 %t117 = call ptr @fn_itoa(i32 %t116) call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str9364) - call void @fn_emit(ptr @.str9365) + call void @fn_emit(ptr @.str10031) + call void @fn_emit(ptr @.str10032) %t118 = load ptr, ptr %t105 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str9366) + call void @fn_emit(ptr @.str10033) %t119 = load i32, ptr %t32 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t32 @@ -88997,14 +100111,14 @@ ifend17: store i32 %t122, ptr %t5 br label %wcond12 wend14: - call void @fn_emit(ptr @.str9367) + call void @fn_emit(ptr @.str10034) %t123 = load ptr, ptr %t30 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str9368) - call void @fn_emit(ptr @.str9369) - call void @fn_emit(ptr @.str9370) - call void @fn_emit(ptr @.str9371) - call void @fn_emit(ptr @.str9372) + call void @fn_emit(ptr @.str10035) + call void @fn_emit(ptr @.str10036) + call void @fn_emit(ptr @.str10037) + call void @fn_emit(ptr @.str10038) + call void @fn_emit(ptr @.str10039) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond18 @@ -89041,27 +100155,27 @@ then21: %t149 = load i32, ptr %t32 %t150 = call ptr @fn_itoa(i32 %t149) store ptr %t150, ptr %t151 - call void @fn_emit(ptr @.str9373) + call void @fn_emit(ptr @.str10040) %t152 = load ptr, ptr %t151 call void @fn_emit(ptr %t152) - call void @fn_emit(ptr @.str9374) + call void @fn_emit(ptr @.str10041) %t153 = load ptr, ptr %t151 call void @fn_emit(ptr %t153) - call void @fn_emit(ptr @.str9375) - call void @fn_emit(ptr @.str9376) + call void @fn_emit(ptr @.str10042) + call void @fn_emit(ptr @.str10043) %t154 = load ptr, ptr %t151 call void @fn_emit(ptr %t154) - call void @fn_emit(ptr @.str9377) + call void @fn_emit(ptr @.str10044) %t155 = load ptr, ptr %t151 call void @fn_emit(ptr %t155) - call void @fn_emit(ptr @.str9378) + call void @fn_emit(ptr @.str10045) %t156 = load ptr, ptr %t151 call void @fn_emit(ptr %t156) - call void @fn_emit(ptr @.str9379) - call void @fn_emit(ptr @.str9380) + call void @fn_emit(ptr @.str10046) + call void @fn_emit(ptr @.str10047) %t157 = load ptr, ptr %t151 call void @fn_emit(ptr %t157) - call void @fn_emit(ptr @.str9381) + call void @fn_emit(ptr @.str10048) store i32 0, ptr %t158 br label %wcond24 wcond24: @@ -89089,53 +100203,53 @@ wbody25: %t178 = call ptr @fn_emit_str_const(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t151 - %t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str9382) + %t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str10049) %t182 = load i32, ptr %t158 %t183 = call ptr @fn_itoa(i32 %t182) %t184 = call ptr @fn_str_concat(ptr %t181, ptr %t183) store ptr %t184, ptr %t185 - call void @fn_emit(ptr @.str9383) + call void @fn_emit(ptr @.str10050) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) - call void @fn_emit(ptr @.str9384) + call void @fn_emit(ptr @.str10051) %t187 = load i32, ptr %t158 %t188 = call ptr @fn_itoa(i32 %t187) call void @fn_emit(ptr %t188) - call void @fn_emit(ptr @.str9385) - call void @fn_emit(ptr @.str9386) + call void @fn_emit(ptr @.str10052) + call void @fn_emit(ptr @.str10053) %t189 = load ptr, ptr %t185 call void @fn_emit(ptr %t189) - call void @fn_emit(ptr @.str9387) + call void @fn_emit(ptr @.str10054) %t190 = load ptr, ptr %t185 call void @fn_emit(ptr %t190) - call void @fn_emit(ptr @.str9388) + call void @fn_emit(ptr @.str10055) %t191 = load ptr, ptr %t185 call void @fn_emit(ptr %t191) - call void @fn_emit(ptr @.str9389) - call void @fn_emit(ptr @.str9390) + call void @fn_emit(ptr @.str10056) + call void @fn_emit(ptr @.str10057) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) - call void @fn_emit(ptr @.str9391) + call void @fn_emit(ptr @.str10058) %t193 = load ptr, ptr %t179 call void @fn_emit(ptr %t193) - call void @fn_emit(ptr @.str9392) - call void @fn_emit(ptr @.str9393) + call void @fn_emit(ptr @.str10059) + call void @fn_emit(ptr @.str10060) %t194 = load ptr, ptr %t185 call void @fn_emit(ptr %t194) - call void @fn_emit(ptr @.str9394) + call void @fn_emit(ptr @.str10061) %t195 = load i32, ptr %t158 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t158 br label %wcond24 wend26: - call void @fn_emit(ptr @.str9395) + call void @fn_emit(ptr @.str10062) %t197 = load ptr, ptr %t1 call void @fn_emit(ptr %t197) - call void @fn_emit(ptr @.str9396) - call void @fn_emit(ptr @.str9397) + call void @fn_emit(ptr @.str10063) + call void @fn_emit(ptr @.str10064) %t198 = load ptr, ptr %t151 call void @fn_emit(ptr %t198) - call void @fn_emit(ptr @.str9398) + call void @fn_emit(ptr @.str10065) %t199 = load i32, ptr %t32 %t200 = add i32 %t199, 1 store i32 %t200, ptr %t32 @@ -89146,11 +100260,11 @@ ifend23: store i32 %t202, ptr %t5 br label %wcond18 wend20: - call void @fn_emit(ptr @.str9399) + call void @fn_emit(ptr @.str10066) %t203 = load ptr, ptr %t1 call void @fn_emit(ptr %t203) - call void @fn_emit(ptr @.str9400) - call void @fn_emit(ptr @.str9401) + call void @fn_emit(ptr @.str10067) + call void @fn_emit(ptr @.str10068) store i32 0, ptr %t32 store i32 0, ptr %t5 br label %wcond27 @@ -89187,27 +100301,27 @@ then30: %t229 = load i32, ptr %t32 %t230 = call ptr @fn_itoa(i32 %t229) store ptr %t230, ptr %t231 - call void @fn_emit(ptr @.str9402) + call void @fn_emit(ptr @.str10069) %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str9403) + call void @fn_emit(ptr @.str10070) %t233 = load ptr, ptr %t231 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str9404) - call void @fn_emit(ptr @.str9405) + call void @fn_emit(ptr @.str10071) + call void @fn_emit(ptr @.str10072) %t234 = load ptr, ptr %t231 call void @fn_emit(ptr %t234) - call void @fn_emit(ptr @.str9406) + call void @fn_emit(ptr @.str10073) %t235 = load ptr, ptr %t231 call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str9407) + call void @fn_emit(ptr @.str10074) %t236 = load ptr, ptr %t231 call void @fn_emit(ptr %t236) - call void @fn_emit(ptr @.str9408) - call void @fn_emit(ptr @.str9409) + call void @fn_emit(ptr @.str10075) + call void @fn_emit(ptr @.str10076) %t237 = load ptr, ptr %t231 call void @fn_emit(ptr %t237) - call void @fn_emit(ptr @.str9410) + call void @fn_emit(ptr @.str10077) store i32 0, ptr %t238 br label %wcond33 wcond33: @@ -89235,53 +100349,53 @@ wbody34: %t258 = call ptr @fn_emit_str_const(ptr %t257) store ptr %t258, ptr %t259 %t260 = load ptr, ptr %t231 - %t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str9411) + %t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str10078) %t262 = load i32, ptr %t238 %t263 = call ptr @fn_itoa(i32 %t262) %t264 = call ptr @fn_str_concat(ptr %t261, ptr %t263) store ptr %t264, ptr %t265 - call void @fn_emit(ptr @.str9412) + call void @fn_emit(ptr @.str10079) %t266 = load ptr, ptr %t265 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str9413) + call void @fn_emit(ptr @.str10080) %t267 = load i32, ptr %t238 %t268 = call ptr @fn_itoa(i32 %t267) call void @fn_emit(ptr %t268) - call void @fn_emit(ptr @.str9414) - call void @fn_emit(ptr @.str9415) + call void @fn_emit(ptr @.str10081) + call void @fn_emit(ptr @.str10082) %t269 = load ptr, ptr %t265 call void @fn_emit(ptr %t269) - call void @fn_emit(ptr @.str9416) + call void @fn_emit(ptr @.str10083) %t270 = load ptr, ptr %t265 call void @fn_emit(ptr %t270) - call void @fn_emit(ptr @.str9417) + call void @fn_emit(ptr @.str10084) %t271 = load ptr, ptr %t265 call void @fn_emit(ptr %t271) - call void @fn_emit(ptr @.str9418) - call void @fn_emit(ptr @.str9419) + call void @fn_emit(ptr @.str10085) + call void @fn_emit(ptr @.str10086) %t272 = load ptr, ptr %t265 call void @fn_emit(ptr %t272) - call void @fn_emit(ptr @.str9420) + call void @fn_emit(ptr @.str10087) %t273 = load ptr, ptr %t259 call void @fn_emit(ptr %t273) - call void @fn_emit(ptr @.str9421) - call void @fn_emit(ptr @.str9422) + call void @fn_emit(ptr @.str10088) + call void @fn_emit(ptr @.str10089) %t274 = load ptr, ptr %t265 call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str9423) + call void @fn_emit(ptr @.str10090) %t275 = load i32, ptr %t238 %t276 = add i32 %t275, 1 store i32 %t276, ptr %t238 br label %wcond33 wend35: - call void @fn_emit(ptr @.str9424) + call void @fn_emit(ptr @.str10091) %t277 = load ptr, ptr %t3 call void @fn_emit(ptr %t277) - call void @fn_emit(ptr @.str9425) - call void @fn_emit(ptr @.str9426) + call void @fn_emit(ptr @.str10092) + call void @fn_emit(ptr @.str10093) %t278 = load ptr, ptr %t231 call void @fn_emit(ptr %t278) - call void @fn_emit(ptr @.str9427) + call void @fn_emit(ptr @.str10094) %t279 = load i32, ptr %t32 %t280 = add i32 %t279, 1 store i32 %t280, ptr %t32 @@ -89292,10 +100406,10 @@ ifend32: store i32 %t282, ptr %t5 br label %wcond27 wend29: - call void @fn_emit(ptr @.str9428) + call void @fn_emit(ptr @.str10095) %t283 = load ptr, ptr %t3 call void @fn_emit(ptr %t283) - call void @fn_emit(ptr @.str9429) + call void @fn_emit(ptr @.str10096) br label %ret ret: ret void @@ -89303,19 +100417,20 @@ ret: define void @fn_emit_tick_helpers() { entry: - call void @fn_emit(ptr @.str9430) + call void @fn_emit(ptr @.str10097) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str9431) - call void @fn_emit_calls_for_phase(ptr @.str9432) - call void @fn_emit_calls_for_phase(ptr @.str9433) - call void @fn_emit_calls_for_phase(ptr @.str9434) - call void @fn_emit(ptr @.str9435) - call void @fn_emit(ptr @.str9436) + call void @fn_emit_calls_for_phase(ptr @.str10098) + call void @fn_emit_calls_for_phase(ptr @.str10099) + call void @fn_emit_calls_for_phase(ptr @.str10100) + call void @fn_emit_calls_for_phase(ptr @.str10101) + call void @fn_emit(ptr @.str10102) + call void @fn_emit(ptr @.str10103) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str9437) - call void @fn_emit(ptr @.str9438) + call void @fn_emit_calls_for_phase(ptr @.str10104) + call void @fn_emit_calls_for_phase(ptr @.str10105) + call void @fn_emit(ptr @.str10106) br label %ret ret: ret void @@ -89366,6 +100481,20 @@ ifend5: wend2: call void @fn_emit_despawn_hooks() call void @fn_emit_scene_hooks() + %t27 = call i32 @fn_has_countdowns() + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + call void @fn_emit_countdown_system() + br label %ifend8 +ifend8: + %t29 = call i32 @fn_has_prefabs() + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + call void @fn_emit_prefab_fns() + br label %ifend11 +ifend11: call void @fn_emit_tick_helpers() br label %ret ret: @@ -89384,23 +100513,26 @@ entry: %t85 = alloca ptr %t92 = alloca ptr %t94 = alloca i32 - %t107 = alloca i32 - %t119 = alloca ptr - %t124 = alloca ptr + %t106 = alloca ptr + %t108 = alloca i32 + %t121 = alloca i32 + %t133 = alloca ptr + %t138 = alloca ptr call void @fn_emit_game_defs() - call void @fn_emit(ptr @.str9439) - call void @fn_emit(ptr @.str9440) - call void @fn_emit(ptr @.str9441) - %t0 = call ptr @fn_find_fn(ptr @.str9442) + call void @fn_emit(ptr @.str10107) + call void @fn_emit(ptr @.str10108) + call void @fn_emit(ptr @.str10109) + %t0 = call ptr @fn_find_fn(ptr @.str10110) %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 @.str9443) + call void @fn_emit(ptr @.str10111) br label %ifend2 ifend2: - call void @fn_emit_calls_for_phase(ptr @.str9444) + call void @fn_emit(ptr @.str10112) + call void @fn_emit_calls_for_phase(ptr @.str10113) %t4 = load ptr, ptr @g_g_scenes %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 @@ -89409,11 +100541,11 @@ ifend2: %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str9445) + call void @fn_emit(ptr @.str10114) %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 @.str9446) + call void @fn_emit(ptr @.str10115) store i32 0, ptr %t12 br label %wcond6 wcond6: @@ -89440,7 +100572,7 @@ wbody7: %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then9, label %ifend11 then9: - call void @fn_emit(ptr @.str9447) + call void @fn_emit(ptr @.str10116) %t32 = load ptr, ptr @g_g_scenes %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 @@ -89450,7 +100582,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 @.str9448) + call void @fn_emit(ptr @.str10117) br label %ifend11 ifend11: %t40 = load i32, ptr %t12 @@ -89460,64 +100592,64 @@ ifend11: wend8: br label %ifend5 ifend5: - %t42 = call ptr @fn_find_event(ptr @.str9449) + %t42 = call ptr @fn_find_event(ptr @.str10118) %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 @.str9450) + call void @fn_emit(ptr @.str10119) br label %ifend14 ifend14: - call void @fn_emit(ptr @.str9451) - call void @fn_emit(ptr @.str9452) - %t46 = call ptr @fn_emit_bind(ptr @.str9453) + call void @fn_emit(ptr @.str10120) + call void @fn_emit(ptr @.str10121) + %t46 = call ptr @fn_emit_bind(ptr @.str10122) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 - %t49 = call ptr @fn_str_concat(ptr @.str9454, ptr %t48) - %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str9455) + %t49 = call ptr @fn_str_concat(ptr @.str10123, ptr %t48) + %t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str10124) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 - %t53 = call ptr @fn_find_fn(ptr @.str9456) + %t53 = call ptr @fn_find_fn(ptr @.str10125) %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 @.str9457) + %t57 = call ptr @fn_emit_bind(ptr @.str10126) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 - %t60 = call ptr @fn_str_concat(ptr @.str9458, ptr %t59) - %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str9459) + %t60 = call ptr @fn_str_concat(ptr @.str10127, ptr %t59) + %t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str10128) %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 @.str9460, ptr %t64) - %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str9461) + %t65 = call ptr @fn_str_concat(ptr @.str10129, ptr %t64) + %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str10130) %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 @.str9462) + call void @fn_emit(ptr @.str10131) %t71 = load ptr, ptr %t70 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str9463) + call void @fn_emit(ptr @.str10132) br label %ifend17 else16: - call void @fn_emit(ptr @.str9464) + call void @fn_emit(ptr @.str10133) %t72 = load ptr, ptr %t52 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str9465) + call void @fn_emit(ptr @.str10134) br label %ifend17 ifend17: - call void @fn_emit(ptr @.str9466) + call void @fn_emit(ptr @.str10135) %t74 = load i32, ptr @g_g_uses_input %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t73 br i1 %t75, label %sc18, label %scend19 sc18: - %t77 = call ptr @fn_find_fn(ptr @.str9467) + %t77 = call ptr @fn_find_fn(ptr @.str10136) %t78 = icmp ne ptr %t77, null %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 @@ -89529,41 +100661,37 @@ scend19: %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then20, label %else21 then20: - %t84 = call ptr @fn_emit_bind(ptr @.str9468) + %t84 = call ptr @fn_emit_bind(ptr @.str10137) store ptr %t84, ptr %t85 - call void @fn_emit(ptr @.str9469) + call void @fn_emit(ptr @.str10138) %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str9470) + call void @fn_emit(ptr @.str10139) br label %ifend22 else21: - %t87 = call ptr @fn_find_fn(ptr @.str9471) + %t87 = call ptr @fn_find_fn(ptr @.str10140) %t88 = icmp ne ptr %t87, null %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then23, label %ifend25 then23: - %t91 = call ptr @fn_emit_bind(ptr @.str9472) + %t91 = call ptr @fn_emit_bind(ptr @.str10141) store ptr %t91, ptr %t92 - call void @fn_emit(ptr @.str9473) + call void @fn_emit(ptr @.str10142) %t93 = load ptr, ptr %t92 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str9474) + call void @fn_emit(ptr @.str10143) br label %ifend25 ifend25: br label %ifend22 ifend22: - call void @fn_emit_calls_for_phase(ptr @.str9475) - call void @fn_emit_calls_for_phase(ptr @.str9476) - call void @fn_emit_calls_for_phase(ptr @.str9477) - call void @fn_emit_calls_for_phase(ptr @.str9478) - %t95 = load i32, ptr @g_g_has_clear_color + %t95 = call i32 @fn_has_ui() %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t94 br i1 %t96, label %sc26, label %scend27 sc26: - %t98 = call ptr @fn_find_fn(ptr @.str9479) + %t98 = call ptr @fn_find_fn(ptr @.str10144) %t99 = icmp ne ptr %t98, null %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 @@ -89575,79 +100703,110 @@ scend27: %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then28, label %ifend30 then28: - call void @fn_emit(ptr @.str9480) - %t105 = load i32, ptr @g_g_clear_color - %t106 = call ptr @fn_itoa(i32 %t105) - call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str9481) + %t105 = call ptr @fn_emit_bind(ptr @.str10145) + store ptr %t105, ptr %t106 + call void @fn_emit(ptr @.str10146) + %t107 = load ptr, ptr %t106 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10147) br label %ifend30 ifend30: - call void @fn_emit_calls_for_phase(ptr @.str9482) - %t108 = load i32, ptr @g_g_has_clear_color - %t109 = icmp ne i32 %t108, 0 - %t110 = zext i1 %t109 to i32 - store i32 %t110, ptr %t107 - br i1 %t109, label %sc31, label %scend32 + call void @fn_emit_calls_for_phase(ptr @.str10148) + call void @fn_emit_calls_for_phase(ptr @.str10149) + call void @fn_emit_calls_for_phase(ptr @.str10150) + call void @fn_emit_calls_for_phase(ptr @.str10151) + %t109 = load i32, ptr @g_g_has_clear_color + %t110 = icmp ne i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + store i32 %t111, ptr %t108 + br i1 %t110, label %sc31, label %scend32 sc31: - %t111 = call ptr @fn_find_fn(ptr @.str9483) - %t112 = icmp ne ptr %t111, null - %t113 = zext i1 %t112 to i32 - %t114 = icmp ne i32 %t113, 0 - %t115 = zext i1 %t114 to i32 - store i32 %t115, ptr %t107 + %t112 = call ptr @fn_find_fn(ptr @.str10152) + %t113 = icmp ne ptr %t112, null + %t114 = zext i1 %t113 to i32 + %t115 = icmp ne i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + store i32 %t116, ptr %t108 br label %scend32 scend32: - %t116 = load i32, ptr %t107 - %t117 = icmp ne i32 %t116, 0 - br i1 %t117, label %then33, label %ifend35 + %t117 = load i32, ptr %t108 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %then33, label %ifend35 then33: - call void @fn_emit(ptr @.str9484) + call void @fn_emit(ptr @.str10153) + %t119 = load i32, ptr @g_g_clear_color + %t120 = call ptr @fn_itoa(i32 %t119) + call void @fn_emit(ptr %t120) + call void @fn_emit(ptr @.str10154) br label %ifend35 ifend35: - %t118 = call ptr @fn_emit_bind(ptr @.str9485) - store ptr %t118, ptr %t119 - %t120 = load ptr, ptr %t119 - %t121 = call ptr @fn_str_concat(ptr @.str9486, ptr %t120) - %t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str9487) - %t123 = call ptr @fn_emit_bind(ptr %t122) - store ptr %t123, ptr %t124 - call void @fn_emit(ptr @.str9488) - %t125 = load ptr, ptr %t124 - call void @fn_emit(ptr %t125) - call void @fn_emit(ptr @.str9489) - call void @fn_emit(ptr @.str9490) - call void @fn_emit(ptr @.str9491) - %t126 = load ptr, ptr @g_g_ondespawn - %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 - %t128 = load i32, ptr %t127 - %t129 = icmp sgt i32 %t128, 0 - %t130 = zext i1 %t129 to i32 + call void @fn_emit_calls_for_phase(ptr @.str10155) + call void @fn_emit_calls_for_phase(ptr @.str10156) + %t122 = load i32, ptr @g_g_has_clear_color + %t123 = icmp ne i32 %t122, 0 + %t124 = zext i1 %t123 to i32 + store i32 %t124, ptr %t121 + br i1 %t123, label %sc36, label %scend37 +sc36: + %t125 = call ptr @fn_find_fn(ptr @.str10157) + %t126 = icmp ne ptr %t125, null + %t127 = zext i1 %t126 to i32 + %t128 = icmp ne i32 %t127, 0 + %t129 = zext i1 %t128 to i32 + store i32 %t129, ptr %t121 + br label %scend37 +scend37: + %t130 = load i32, ptr %t121 %t131 = icmp ne i32 %t130, 0 - br i1 %t131, label %then36, label %ifend38 -then36: - call void @fn_emit(ptr @.str9492) - br label %ifend38 -ifend38: - call void @fn_emit_calls_for_phase(ptr @.str9493) - %t132 = call ptr @fn_find_event(ptr @.str9494) - %t133 = icmp ne ptr %t132, null - %t134 = zext i1 %t133 to i32 - %t135 = icmp ne i32 %t134, 0 - br i1 %t135, label %then39, label %ifend41 -then39: - call void @fn_emit(ptr @.str9495) - br label %ifend41 -ifend41: - %t136 = call ptr @fn_find_fn(ptr @.str9496) - %t137 = icmp ne ptr %t136, null - %t138 = zext i1 %t137 to i32 - %t139 = icmp ne i32 %t138, 0 - br i1 %t139, label %then42, label %ifend44 -then42: - call void @fn_emit(ptr @.str9497) - br label %ifend44 -ifend44: - call void @fn_emit(ptr @.str9498) + br i1 %t131, label %then38, label %ifend40 +then38: + call void @fn_emit(ptr @.str10158) + br label %ifend40 +ifend40: + %t132 = call ptr @fn_emit_bind(ptr @.str10159) + store ptr %t132, ptr %t133 + %t134 = load ptr, ptr %t133 + %t135 = call ptr @fn_str_concat(ptr @.str10160, ptr %t134) + %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str10161) + %t137 = call ptr @fn_emit_bind(ptr %t136) + store ptr %t137, ptr %t138 + call void @fn_emit(ptr @.str10162) + %t139 = load ptr, ptr %t138 + call void @fn_emit(ptr %t139) + call void @fn_emit(ptr @.str10163) + call void @fn_emit(ptr @.str10164) + call void @fn_emit(ptr @.str10165) + %t140 = load ptr, ptr @g_g_ondespawn + %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 + %t142 = load i32, ptr %t141 + %t143 = icmp sgt i32 %t142, 0 + %t144 = zext i1 %t143 to i32 + %t145 = icmp ne i32 %t144, 0 + br i1 %t145, label %then41, label %ifend43 +then41: + call void @fn_emit(ptr @.str10166) + br label %ifend43 +ifend43: + call void @fn_emit_calls_for_phase(ptr @.str10167) + %t146 = call ptr @fn_find_event(ptr @.str10168) + %t147 = icmp ne ptr %t146, null + %t148 = zext i1 %t147 to i32 + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then44, label %ifend46 +then44: + call void @fn_emit(ptr @.str10169) + br label %ifend46 +ifend46: + %t150 = call ptr @fn_find_fn(ptr @.str10170) + %t151 = icmp ne ptr %t150, null + %t152 = zext i1 %t151 to i32 + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then47, label %ifend49 +then47: + call void @fn_emit(ptr @.str10171) + br label %ifend49 +ifend49: + call void @fn_emit(ptr @.str10172) br label %ret ret: ret void @@ -89701,6 +100860,106 @@ ret: ret ptr %t23 } +define ptr @fn_machine_state_value(ptr %arg_m, ptr %arg_state) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t18 = alloca ptr + %t36 = alloca i32 + store ptr %arg_m, ptr %t0 + store ptr %arg_state, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 5 + %t4 = load ptr, ptr %t3 + %t5 = icmp ne ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + %t8 = load ptr, ptr %t1 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 5 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @fn_emit_expr(ptr %t10) + %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %retval + br label %ret +ifend2: + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @fn_machine_var(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = icmp ne ptr %t19, null + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = load ptr, ptr %t18 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 3 + %t25 = load ptr, ptr %t24 + %t26 = icmp ne ptr %t25, null + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + %t29 = load ptr, ptr %t18 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 + %t31 = load ptr, ptr %t30 + %t32 = load ptr, ptr %t1 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = call i32 @fn_enum_ordinal(ptr %t31, ptr %t34) + store i32 %t35, ptr %t36 + %t37 = load i32, ptr %t36 + %t38 = icmp sge i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then9, label %ifend11 +then9: + %t41 = load i32, ptr %t36 + %t42 = call ptr @fn_itoa(i32 %t41) + store ptr %t42, ptr %retval + br label %ret +ifend11: + %t43 = load ptr, ptr %t18 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @fn_find_enum(ptr %t45) + %t47 = icmp ne ptr %t46, null + %t48 = zext i1 %t47 to i32 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then12, label %ifend14 +then12: + %t50 = load ptr, ptr %t1 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @fn_str_concat(ptr @.str10173, ptr %t52) + %t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str10174) + %t55 = load ptr, ptr %t18 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @fn_str_concat(ptr %t54, ptr %t57) + call void @fn_perr(ptr %t58) + br label %ifend14 +ifend14: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t59 = load ptr, ptr %t1 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 + %t61 = load i32, ptr %t60 + %t62 = call ptr @fn_itoa(i32 %t61) + store ptr %t62, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + define void @fn_emit_machine(ptr %arg_st) { entry: %t0 = alloca ptr @@ -89710,17 +100969,17 @@ entry: %t65 = alloca ptr %t66 = alloca i32 %t84 = alloca ptr - %t89 = alloca ptr - %t98 = alloca ptr - %t100 = alloca ptr - %t102 = alloca ptr + %t88 = alloca ptr + %t95 = alloca ptr + %t97 = alloca ptr + %t99 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_machine_var(ptr %t3) store ptr %t4, ptr %t5 - store ptr @.str9499, ptr %t6 + store ptr @.str10175, ptr %t6 %t7 = load ptr, ptr %t5 %t8 = icmp ne ptr %t7, null %t9 = zext i1 %t8 to i32 @@ -89732,7 +100991,7 @@ then0: %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 - %t16 = call ptr @fn_str_concat(ptr @.str9500, ptr %t15) + %t16 = call ptr @fn_str_concat(ptr @.str10176, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t6 br label %ifend2 @@ -89745,8 +101004,8 @@ else1: %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 - %t26 = call ptr @fn_str_concat(ptr @.str9501, ptr %t25) - %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str9502) + %t26 = call ptr @fn_str_concat(ptr @.str10177, ptr %t25) + %t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str10178) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t6 br label %ifend2 @@ -89802,7 +101061,7 @@ ifend5: %t62 = load i32, ptr @g_nmach %t63 = add i32 %t62, 1 store i32 %t63, ptr @g_nmach - %t64 = call ptr @fn_lbl(ptr @.str9503) + %t64 = call ptr @fn_lbl(ptr @.str10179) store ptr %t64, ptr %t65 store i32 0, ptr %t66 br label %wcond8 @@ -89827,82 +101086,79 @@ wbody9: %t82 = getelementptr inbounds ptr, ptr %t80, i32 %t81 %t83 = load ptr, ptr %t82 store ptr %t83, ptr %t84 - %t85 = load ptr, ptr %t84 - %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 5 - %t87 = load ptr, ptr %t86 - %t88 = call ptr @fn_emit_expr(ptr %t87) - store ptr %t88, ptr %t89 - %t90 = load ptr, ptr %t6 - %t91 = call ptr @fn_str_concat(ptr @.str9504, ptr %t90) - %t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str9505) - %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 @.str9506) - store ptr %t99, ptr %t100 - %t101 = call ptr @fn_lbl(ptr @.str9507) - store ptr %t101, ptr %t102 - call void @fn_emit(ptr @.str9508) - %t103 = load ptr, ptr %t98 + %t85 = load ptr, ptr %t0 + %t86 = load ptr, ptr %t84 + %t87 = call ptr @fn_machine_state_value(ptr %t85, ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t6 + %t90 = call ptr @fn_str_concat(ptr @.str10180, ptr %t89) + %t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str10181) + %t92 = load ptr, ptr %t88 + %t93 = call ptr @fn_str_concat(ptr %t91, ptr %t92) + %t94 = call ptr @fn_emit_bind(ptr %t93) + store ptr %t94, ptr %t95 + %t96 = call ptr @fn_lbl(ptr @.str10182) + store ptr %t96, ptr %t97 + %t98 = call ptr @fn_lbl(ptr @.str10183) + store ptr %t98, ptr %t99 + call void @fn_emit(ptr @.str10184) + %t100 = load ptr, ptr %t95 + call void @fn_emit(ptr %t100) + call void @fn_emit(ptr @.str10185) + %t101 = load ptr, ptr %t97 + call void @fn_emit(ptr %t101) + call void @fn_emit(ptr @.str10186) + %t102 = load ptr, ptr %t99 + call void @fn_emit(ptr %t102) + call void @fn_emit(ptr @.str10187) + %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str9509) - %t104 = load ptr, ptr %t100 - call void @fn_emit(ptr %t104) - call void @fn_emit(ptr @.str9510) - %t105 = load ptr, ptr %t102 - call void @fn_emit(ptr %t105) - call void @fn_emit(ptr @.str9511) - %t106 = load ptr, ptr %t100 - call void @fn_emit(ptr %t106) - call void @fn_emit(ptr @.str9512) + call void @fn_emit(ptr @.str10188) 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 + %t104 = load ptr, ptr %t84 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t105 + call void @fn_emit_block(ptr %t106) + %t107 = load i32, ptr @g_g_term + %t108 = icmp eq i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str9513) - %t114 = load ptr, ptr %t65 - call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str9514) + call void @fn_emit(ptr @.str10189) + %t111 = load ptr, ptr %t65 + call void @fn_emit(ptr %t111) + call void @fn_emit(ptr @.str10190) br label %ifend13 ifend13: - %t115 = load ptr, ptr %t102 - call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str9515) + %t112 = load ptr, ptr %t99 + call void @fn_emit(ptr %t112) + call void @fn_emit(ptr @.str10191) store i32 0, ptr @g_g_term - %t116 = load i32, ptr %t66 - %t117 = add i32 %t116, 1 - store i32 %t117, ptr %t66 + %t113 = load i32, ptr %t66 + %t114 = add i32 %t113, 1 + store i32 %t114, 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 + %t115 = load i32, ptr @g_g_term + %t116 = icmp eq i32 %t115, 0 + %t117 = zext i1 %t116 to i32 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %then14, label %ifend16 then14: - call void @fn_emit(ptr @.str9516) - %t122 = load ptr, ptr %t65 - call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str9517) + call void @fn_emit(ptr @.str10192) + %t119 = load ptr, ptr %t65 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str10193) br label %ifend16 ifend16: - %t123 = load ptr, ptr %t65 - call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str9518) + %t120 = load ptr, ptr %t65 + call void @fn_emit(ptr %t120) + call void @fn_emit(ptr @.str10194) store i32 0, ptr @g_g_term - %t124 = load i32, ptr @g_nmach - %t125 = sub i32 %t124, 1 - store i32 %t125, ptr @g_nmach + %t121 = load i32, ptr @g_nmach + %t122 = sub i32 %t121, 1 + store i32 %t122, ptr @g_nmach br label %ret ret: ret void @@ -89915,9 +101171,9 @@ entry: %t13 = alloca ptr %t14 = alloca i32 %t57 = alloca ptr - %t62 = alloca ptr - %t79 = alloca ptr - %t90 = alloca ptr + %t61 = alloca ptr + %t76 = alloca ptr + %t85 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load i32, ptr @g_nmach %t2 = icmp sgt i32 %t1, 0 @@ -89992,99 +101248,97 @@ then9: %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_machine_var(ptr %t55) store ptr %t56, ptr %t57 - %t58 = load ptr, ptr %t13 - %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 5 - %t60 = load ptr, ptr %t59 - %t61 = call ptr @fn_emit_expr(ptr %t60) - store ptr %t61, ptr %t62 - %t63 = load ptr, ptr %t57 - %t64 = icmp ne ptr %t63, null - %t65 = zext i1 %t64 to i32 - %t66 = icmp ne i32 %t65, 0 - br i1 %t66, label %then12, label %else13 + %t58 = load ptr, ptr %t12 + %t59 = load ptr, ptr %t13 + %t60 = call ptr @fn_machine_state_value(ptr %t58, ptr %t59) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t57 + %t63 = icmp ne ptr %t62, null + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then12, label %else13 then12: - call void @fn_emit(ptr @.str9519) - %t67 = load ptr, ptr %t62 - %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 + call void @fn_emit(ptr @.str10195) + %t66 = load ptr, ptr %t61 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str10196) + %t67 = load ptr, ptr %t12 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 - call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str9520) - %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 @.str9521) + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str10197) br label %ifend14 else13: - %t75 = load ptr, ptr %t12 - %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 4 + %t72 = load ptr, ptr %t12 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 + %t74 = load ptr, ptr %t73 + %t75 = call ptr @fn_emit_expr(ptr %t74) + store ptr %t75, ptr %t76 + call void @fn_emit(ptr @.str10198) %t77 = load ptr, ptr %t76 - %t78 = call ptr @fn_emit_expr(ptr %t77) - store ptr %t78, ptr %t79 - call void @fn_emit(ptr @.str9522) - %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 @.str9523) - %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 @.str9524) + %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 + %t79 = load ptr, ptr %t78 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str10199) + %t80 = load ptr, ptr %t61 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str10200) br label %ifend14 ifend14: br label %ret ifend11: br label %ifend2 ifend2: - %t86 = load ptr, ptr %t0 - %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 - %t88 = load ptr, ptr %t87 - %t89 = call ptr @fn_find_scene(ptr %t88) - store ptr %t89, ptr %t90 - %t91 = load ptr, ptr %t90 - %t92 = icmp eq ptr %t91, null - %t93 = zext i1 %t92 to i32 - %t94 = icmp ne i32 %t93, 0 - br i1 %t94, label %then15, label %ifend17 + %t81 = load ptr, ptr %t0 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 + %t83 = load ptr, ptr %t82 + %t84 = call ptr @fn_find_scene(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = load ptr, ptr %t85 + %t87 = icmp eq ptr %t86, null + %t88 = zext i1 %t87 to i32 + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %then15, label %ifend17 then15: - %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 @.str9525, ptr %t97) - call void @fn_perr(ptr %t98) + %t90 = load ptr, ptr %t0 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @fn_str_concat(ptr @.str10201, ptr %t92) + call void @fn_perr(ptr %t93) br label %ifend17 ifend17: - %t99 = load ptr, ptr @g_g_cur_scene - %t100 = icmp ne ptr %t99, null - %t101 = zext i1 %t100 to i32 - %t102 = icmp ne i32 %t101, 0 - br i1 %t102, label %then18, label %ifend20 + %t94 = load ptr, ptr @g_g_cur_scene + %t95 = icmp ne ptr %t94, null + %t96 = zext i1 %t95 to i32 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then18, label %else19 then18: - call void @fn_emit(ptr @.str9526) - %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 @.str9527) + call void @fn_emit(ptr @.str10202) + %t98 = load ptr, ptr @g_g_cur_scene + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 + %t100 = load ptr, ptr %t99 + call void @fn_emit(ptr %t100) + call void @fn_emit(ptr @.str10203) + br label %ifend20 +else19: + call void @fn_emit(ptr @.str10204) br label %ifend20 ifend20: - call void @fn_emit(ptr @.str9528) - %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 @.str9529) - call void @fn_emit(ptr @.str9530) - %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 @.str9531) + call void @fn_emit(ptr @.str10205) + %t101 = load ptr, ptr %t85 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 2 + %t103 = load i32, ptr %t102 + %t104 = call ptr @fn_itoa(i32 %t103) + call void @fn_emit(ptr %t104) + call void @fn_emit(ptr @.str10206) + call void @fn_emit(ptr @.str10207) + %t105 = load ptr, ptr %t85 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 + %t107 = load ptr, ptr %t106 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10208) br label %ret ret: ret void @@ -90103,51 +101357,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 @.str9532) + %t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str10209) %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 @.str9533, ptr %t7) + %t8 = call ptr @fn_str_concat(ptr @.str10210, 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 @.str9534) + call void @fn_emit(ptr @.str10211) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) - call void @fn_emit(ptr @.str9535) + call void @fn_emit(ptr @.str10212) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) - call void @fn_emit(ptr @.str9536) + call void @fn_emit(ptr @.str10213) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) - call void @fn_emit(ptr @.str9537) + call void @fn_emit(ptr @.str10214) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) - call void @fn_emit(ptr @.str9538) + call void @fn_emit(ptr @.str10215) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str9539) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str10216) %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 @.str9540, ptr %t20) + %t21 = call ptr @fn_str_concat(ptr @.str10217, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str9541) + call void @fn_emit(ptr @.str10218) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str9542) + call void @fn_emit(ptr @.str10219) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str9543) + call void @fn_emit(ptr @.str10220) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str9544) + call void @fn_emit(ptr @.str10221) %t26 = load ptr, ptr %t22 store ptr %t26, ptr @g_g_off %t27 = load i32, ptr @g_g_iok @@ -90157,58 +101411,58 @@ then3: ifend5: %t29 = load i32, ptr @g_g_iok %t30 = call ptr @fn_itoa(i32 %t29) - %t31 = call ptr @fn_str_concat(ptr @.str9545, ptr %t30) + %t31 = call ptr @fn_str_concat(ptr @.str10222, ptr %t30) store ptr %t31, ptr %t32 - call void @fn_emit(ptr @.str9546) + call void @fn_emit(ptr @.str10223) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str9547) + call void @fn_emit(ptr @.str10224) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str9548) + call void @fn_emit(ptr @.str10225) %t35 = load ptr, ptr @g_g_snap_mode - %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str9549) + %t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str10226) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: - call void @fn_emit(ptr @.str9550) + call void @fn_emit(ptr @.str10227) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str9551) + call void @fn_emit(ptr @.str10228) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str9552) + call void @fn_emit(ptr @.str10229) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str9553) + call void @fn_emit(ptr @.str10230) br label %ifend8 else7: - call void @fn_emit(ptr @.str9554) + call void @fn_emit(ptr @.str10231) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str9555) + call void @fn_emit(ptr @.str10232) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str9556) + call void @fn_emit(ptr @.str10233) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str9557) + call void @fn_emit(ptr @.str10234) 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 @.str9558, ptr %t45) + %t46 = call ptr @fn_str_concat(ptr @.str10235, ptr %t45) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str9559) + call void @fn_emit(ptr @.str10236) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str9560) + call void @fn_emit(ptr @.str10237) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str9561) + call void @fn_emit(ptr @.str10238) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str9562) + call void @fn_emit(ptr @.str10239) %t51 = load ptr, ptr %t47 store ptr %t51, ptr @g_g_off %t52 = load i32, ptr @g_g_iok @@ -90229,29 +101483,29 @@ entry: %t74 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok - store ptr @.str9563, ptr @g_g_off + store ptr @.str10240, 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 @.str9564, ptr @.str9565) + call void @fn_emit_io(ptr %t3, ptr @.str10241, ptr @.str10242) %t4 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t4, ptr @.str9566, ptr @.str9567) - call void @fn_emit(ptr @.str9568) + call void @fn_emit_io(ptr %t4, ptr @.str10243, ptr @.str10244) + call void @fn_emit(ptr @.str10245) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str9569) + call void @fn_emit(ptr @.str10246) %t6 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t6, ptr @.str9570, ptr @.str9571) + call void @fn_emit_io(ptr %t6, ptr @.str10247, ptr @.str10248) %t7 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t7, ptr @.str9572, ptr @.str9573) + call void @fn_emit_io(ptr %t7, ptr @.str10249, ptr @.str10250) %t8 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t8, ptr @.str9574, ptr @.str9575) + call void @fn_emit_io(ptr %t8, ptr @.str10251, ptr @.str10252) %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 @.str9576, ptr @.str9577) + call void @fn_emit_io(ptr %t11, ptr @.str10253, ptr @.str10254) br label %ifend2 ifend2: store i32 0, ptr %t12 @@ -90288,8 +101542,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 @.str9578, ptr %t39) - call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str9579) + %t40 = call ptr @fn_str_concat(ptr @.str10255, ptr %t39) + call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str10256) br label %ifend8 ifend8: %t41 = load i32, ptr %t12 @@ -90334,26 +101588,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 @.str9580, ptr %t72) + %t73 = call ptr @fn_str_concat(ptr @.str10257, ptr %t72) store ptr %t73, ptr %t74 - call void @fn_emit(ptr @.str9581) + call void @fn_emit(ptr @.str10258) %t75 = load ptr, ptr %t74 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str9582) + call void @fn_emit(ptr @.str10259) %t76 = load ptr, ptr %t70 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str9583) + call void @fn_emit(ptr @.str10260) %t77 = load ptr, ptr %t2 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str9584) + call void @fn_emit(ptr @.str10261) %t78 = load ptr, ptr %t0 %t79 = load ptr, ptr %t70 - %t80 = call ptr @fn_str_concat(ptr @.str9585, ptr %t79) + %t80 = call ptr @fn_str_concat(ptr @.str10262, 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 @.str9586, ptr %t83) + %t84 = call ptr @fn_str_concat(ptr @.str10263, ptr %t83) %t85 = load ptr, ptr %t2 call void @fn_emit_io(ptr %t82, ptr %t84, ptr %t85) %t86 = load i32, ptr %t43 @@ -90377,85 +101631,85 @@ entry: %t7 = alloca i32 %t15 = alloca ptr %t22 = alloca ptr - store ptr @.str9587, ptr @g_g_snap_mode - call void @fn_emith(ptr @.str9588) - call void @fn_emith(ptr @.str9589) - call void @fn_emith(ptr @.str9590) - %t0 = call ptr @fn_find_fn(ptr @.str9591) + store ptr @.str10264, ptr @g_g_snap_mode + call void @fn_emith(ptr @.str10265) + call void @fn_emith(ptr @.str10266) + call void @fn_emith(ptr @.str10267) + %t0 = call ptr @fn_find_fn(ptr @.str10268) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 - %t4 = call ptr @fn_find_fn(ptr @.str9592) + %t4 = call ptr @fn_find_fn(ptr @.str10269) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 - call void @fn_emit(ptr @.str9593) - call void @fn_emit(ptr @.str9594) - call void @fn_emit(ptr @.str9595) - call void @fn_emit(ptr @.str9596) - call void @fn_emit_snapshot_blocks(ptr @.str9597) + call void @fn_emit(ptr @.str10270) + call void @fn_emit(ptr @.str10271) + call void @fn_emit(ptr @.str10272) + call void @fn_emit(ptr @.str10273) + call void @fn_emit_snapshot_blocks(ptr @.str10274) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str9598) + call void @fn_emit(ptr @.str10275) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str9599) - call void @fn_emit(ptr @.str9600) - call void @fn_emit(ptr @.str9601) - call void @fn_emit(ptr @.str9602) - call void @fn_emit(ptr @.str9603) - call void @fn_emit_snapshot_blocks(ptr @.str9604) + call void @fn_emit(ptr @.str10276) + call void @fn_emit(ptr @.str10277) + call void @fn_emit(ptr @.str10278) + call void @fn_emit(ptr @.str10279) + call void @fn_emit(ptr @.str10280) + call void @fn_emit_snapshot_blocks(ptr @.str10281) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str9605) + call void @fn_emit(ptr @.str10282) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str9606) - call void @fn_emit(ptr @.str9607) - store ptr @.str9608, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str9609) + call void @fn_emit(ptr @.str10283) + call void @fn_emit(ptr @.str10284) + store ptr @.str10285, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str10286) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) - %t14 = call ptr @fn_str_concat(ptr @.str9610, ptr %t13) + %t14 = call ptr @fn_str_concat(ptr @.str10287, ptr %t13) store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str9611) + call void @fn_emit(ptr @.str10288) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str9612) + call void @fn_emit(ptr @.str10289) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str9613) - call void @fn_emit(ptr @.str9614) + call void @fn_emit(ptr @.str10290) + call void @fn_emit(ptr @.str10291) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str9615) - call void @fn_emit(ptr @.str9616) - store ptr @.str9617, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str9618) - call void @fn_emit(ptr @.str9619) - call void @fn_emit(ptr @.str9620) - store ptr @.str9621, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str9622) + call void @fn_emit(ptr @.str10292) + call void @fn_emit(ptr @.str10293) + store ptr @.str10294, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str10295) + call void @fn_emit(ptr @.str10296) + call void @fn_emit(ptr @.str10297) + store ptr @.str10298, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str10299) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) - %t21 = call ptr @fn_str_concat(ptr @.str9623, ptr %t20) + %t21 = call ptr @fn_str_concat(ptr @.str10300, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str9624) + call void @fn_emit(ptr @.str10301) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str9625) + call void @fn_emit(ptr @.str10302) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str9626) - call void @fn_emit(ptr @.str9627) + call void @fn_emit(ptr @.str10303) + call void @fn_emit(ptr @.str10304) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str9628) - store ptr @.str9629, ptr @g_g_snap_mode + call void @fn_emit(ptr @.str10305) + store ptr @.str10306, ptr @g_g_snap_mode br label %ret ret: ret void @@ -90468,7 +101722,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 @.str9630) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str10307) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -90489,14 +101743,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 @.str9631) + %t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str10308) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - store ptr @.str9632, ptr %retval + store ptr @.str10309, ptr %retval br label %ret ifend2: - store ptr @.str9633, ptr %retval + store ptr @.str10310, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval @@ -90877,7 +102131,7 @@ entry: store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 - %t5 = call i64 @fwrite(ptr @.str9634, i64 1, i64 %t4, ptr %t3) + %t5 = call i64 @fwrite(ptr @.str10311, i64 1, i64 %t4, ptr %t3) %t6 = trunc i64 %t5 to i32 %t7 = load ptr, ptr %t2 %t8 = load ptr, ptr %t0 @@ -90889,7 +102143,7 @@ entry: %t14 = trunc i64 %t13 to i32 %t15 = load ptr, ptr %t2 %t16 = zext i32 1 to i64 - %t17 = call i64 @fwrite(ptr @.str9635, i64 1, i64 %t16, ptr %t15) + %t17 = call i64 @fwrite(ptr @.str10312, i64 1, i64 %t16, ptr %t15) %t18 = trunc i64 %t17 to i32 br label %ret ret: @@ -91028,13 +102282,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 @.str9636) + %t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str10313) %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 @.str9637, ptr %t104) - %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str9638) + %t105 = call ptr @fn_str_concat(ptr @.str10314, ptr %t104) + %t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str10315) %t107 = load ptr, ptr %t62 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 %t109 = load ptr, ptr %t108 @@ -91046,7 +102300,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 @.str9639) + %t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str10316) call void @fn_perr(ptr %t118) br label %ifend23 ifend23: @@ -91066,11 +102320,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 @.str9640, ptr %t127) - %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str9641) + %t128 = call ptr @fn_str_concat(ptr @.str10317, ptr %t127) + %t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str10318) %t130 = load ptr, ptr %t59 %t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130) - %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str9642) + %t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str10319) call void @fn_net_warn(ptr %t132) br label %ifend26 ifend26: @@ -91112,12 +102366,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 @.str9643) + call void @fn_emit(ptr @.str10320) %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 @.str9644) + call void @fn_emit(ptr @.str10321) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -91170,19 +102424,19 @@ then3: then6: %t48 = call ptr @fn_nreg() store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str9645) + call void @fn_emit(ptr @.str10322) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str9646) + call void @fn_emit(ptr @.str10323) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str9647) + call void @fn_emit(ptr @.str10324) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str9648) + call void @fn_emit(ptr @.str10325) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str9649) + call void @fn_emit(ptr @.str10326) store i32 0, ptr %t54 br label %wcond9 wcond9: @@ -91226,40 +102480,40 @@ then12: store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str9650) + call void @fn_emit(ptr @.str10327) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str9651) + call void @fn_emit(ptr @.str10328) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str9652) + call void @fn_emit(ptr @.str10329) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str9653) + call void @fn_emit(ptr @.str10330) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str9654) + call void @fn_emit(ptr @.str10331) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 - call void @fn_emit(ptr @.str9655) + call void @fn_emit(ptr @.str10332) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str9656) + call void @fn_emit(ptr @.str10333) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str9657) - call void @fn_emit(ptr @.str9658) + call void @fn_emit(ptr @.str10334) + call void @fn_emit(ptr @.str10335) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str9659) + call void @fn_emit(ptr @.str10336) %t102 = load ptr, ptr %t90 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str9660) + call void @fn_emit(ptr @.str10337) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str9661) + call void @fn_emit(ptr @.str10338) %t104 = load i32, ptr %t6 %t105 = load ptr, ptr %t43 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 @@ -91290,11 +102544,11 @@ ifend5: store i32 %t120, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str9662) + call void @fn_emit(ptr @.str10339) %t121 = load i32, ptr %t6 %t122 = call ptr @fn_itoa(i32 %t121) call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str9663) + call void @fn_emit(ptr @.str10340) br label %ret ret: ret void @@ -91317,12 +102571,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 @.str9664) + call void @fn_emit(ptr @.str10341) %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 @.str9665) + call void @fn_emit(ptr @.str10342) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -91375,19 +102629,19 @@ then3: then6: %t48 = call ptr @fn_nreg() store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str9666) + call void @fn_emit(ptr @.str10343) %t50 = load ptr, ptr %t49 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str9667) + call void @fn_emit(ptr @.str10344) %t51 = load ptr, ptr %t2 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str9668) + call void @fn_emit(ptr @.str10345) %t52 = load ptr, ptr %t40 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str9669) + call void @fn_emit(ptr @.str10346) %t53 = load ptr, ptr %t40 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str9670) + call void @fn_emit(ptr @.str10347) store i32 0, ptr %t54 br label %wcond9 wcond9: @@ -91431,40 +102685,40 @@ then12: store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str9671) + call void @fn_emit(ptr @.str10348) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str9672) + call void @fn_emit(ptr @.str10349) %t92 = load ptr, ptr %t40 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str9673) + call void @fn_emit(ptr @.str10350) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str9674) + call void @fn_emit(ptr @.str10351) %t94 = load i32, ptr %t54 %t95 = call ptr @fn_itoa(i32 %t94) call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str9675) + call void @fn_emit(ptr @.str10352) %t96 = call ptr @fn_nreg() store ptr %t96, ptr %t97 - call void @fn_emit(ptr @.str9676) + call void @fn_emit(ptr @.str10353) %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str9677) + call void @fn_emit(ptr @.str10354) %t99 = load i32, ptr %t6 %t100 = call ptr @fn_itoa(i32 %t99) call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str9678) - call void @fn_emit(ptr @.str9679) + call void @fn_emit(ptr @.str10355) + call void @fn_emit(ptr @.str10356) %t101 = load ptr, ptr %t90 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str9680) + call void @fn_emit(ptr @.str10357) %t102 = load ptr, ptr %t97 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str9681) + call void @fn_emit(ptr @.str10358) %t103 = load ptr, ptr %t88 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str9682) + call void @fn_emit(ptr @.str10359) %t104 = load i32, ptr %t6 %t105 = load ptr, ptr %t43 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 @@ -91495,7 +102749,7 @@ ifend5: store i32 %t120, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str9683) + call void @fn_emit(ptr @.str10360) br label %ret ret: ret void @@ -91517,11 +102771,11 @@ entry: %t165 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str9684) - call void @fn_emit(ptr @.str9685) + call void @fn_emit(ptr @.str10361) + call void @fn_emit(ptr @.str10362) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str9686) + call void @fn_emit(ptr @.str10363) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 @@ -91578,42 +102832,42 @@ then5: %t45 = load i32, ptr %t3 %t46 = call ptr @fn_itoa(i32 %t45) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str9687) + call void @fn_emit(ptr @.str10364) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str9688) + call void @fn_emit(ptr @.str10365) %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 @.str9689) - call void @fn_emit(ptr @.str9690) + call void @fn_emit(ptr @.str10366) + call void @fn_emit(ptr @.str10367) %t52 = load ptr, ptr %t47 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str9691) + call void @fn_emit(ptr @.str10368) %t53 = load ptr, ptr %t47 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str9692) + call void @fn_emit(ptr @.str10369) %t54 = load ptr, ptr %t47 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str9693) - call void @fn_emit(ptr @.str9694) + call void @fn_emit(ptr @.str10370) + call void @fn_emit(ptr @.str10371) %t55 = load ptr, ptr %t47 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str9695) + call void @fn_emit(ptr @.str10372) %t56 = load ptr, ptr %t47 call void @fn_emit(ptr %t56) - call void @fn_emit(ptr @.str9696) + call void @fn_emit(ptr @.str10373) %t57 = load ptr, ptr %t44 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str9697) + call void @fn_emit(ptr @.str10374) %t58 = load ptr, ptr %t47 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str9698) - call void @fn_emit(ptr @.str9699) + call void @fn_emit(ptr @.str10375) + call void @fn_emit(ptr @.str10376) %t59 = load ptr, ptr %t47 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str9700) + call void @fn_emit(ptr @.str10377) %t60 = load i32, ptr %t3 %t61 = add i32 %t60, 1 store i32 %t61, ptr %t3 @@ -91624,12 +102878,12 @@ ifend7: store i32 %t63, ptr %t4 br label %wcond0 wend2: - call void @fn_emit(ptr @.str9701) - call void @fn_emit(ptr @.str9702) - call void @fn_emit(ptr @.str9703) + call void @fn_emit(ptr @.str10378) + call void @fn_emit(ptr @.str10379) + call void @fn_emit(ptr @.str10380) %t64 = load ptr, ptr %t1 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str9704) + call void @fn_emit(ptr @.str10381) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond8 @@ -91686,36 +102940,36 @@ then13: %t105 = load i32, ptr %t3 %t106 = call ptr @fn_itoa(i32 %t105) store ptr %t106, ptr %t107 - call void @fn_emit(ptr @.str9705) + call void @fn_emit(ptr @.str10382) %t108 = load ptr, ptr %t107 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str9706) + call void @fn_emit(ptr @.str10383) %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 @.str9707) - call void @fn_emit(ptr @.str9708) + call void @fn_emit(ptr @.str10384) + call void @fn_emit(ptr @.str10385) %t112 = load ptr, ptr %t107 call void @fn_emit(ptr %t112) - call void @fn_emit(ptr @.str9709) + call void @fn_emit(ptr @.str10386) %t113 = load ptr, ptr %t107 call void @fn_emit(ptr %t113) - call void @fn_emit(ptr @.str9710) + call void @fn_emit(ptr @.str10387) %t114 = load ptr, ptr %t107 call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str9711) - call void @fn_emit(ptr @.str9712) + call void @fn_emit(ptr @.str10388) + call void @fn_emit(ptr @.str10389) %t115 = load ptr, ptr %t107 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str9713) + call void @fn_emit(ptr @.str10390) %t116 = load ptr, ptr %t104 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str9714) - call void @fn_emit(ptr @.str9715) + call void @fn_emit(ptr @.str10391) + call void @fn_emit(ptr @.str10392) %t117 = load ptr, ptr %t107 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str9716) + call void @fn_emit(ptr @.str10393) %t118 = load i32, ptr %t3 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t3 @@ -91726,12 +102980,12 @@ ifend15: store i32 %t121, ptr %t4 br label %wcond8 wend10: - call void @fn_emit(ptr @.str9717) - call void @fn_emit(ptr @.str9718) - call void @fn_emit(ptr @.str9719) + call void @fn_emit(ptr @.str10394) + call void @fn_emit(ptr @.str10395) + call void @fn_emit(ptr @.str10396) %t122 = load ptr, ptr %t1 call void @fn_emit(ptr %t122) - call void @fn_emit(ptr @.str9720) + call void @fn_emit(ptr @.str10397) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond16 @@ -91788,29 +103042,29 @@ then21: %t163 = load i32, ptr %t3 %t164 = call ptr @fn_itoa(i32 %t163) store ptr %t164, ptr %t165 - call void @fn_emit(ptr @.str9721) + call void @fn_emit(ptr @.str10398) %t166 = load ptr, ptr %t165 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str9722) + call void @fn_emit(ptr @.str10399) %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 @.str9723) - call void @fn_emit(ptr @.str9724) + call void @fn_emit(ptr @.str10400) + call void @fn_emit(ptr @.str10401) %t170 = load ptr, ptr %t165 call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str9725) + call void @fn_emit(ptr @.str10402) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str9726) + call void @fn_emit(ptr @.str10403) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str9727) - call void @fn_emit(ptr @.str9728) + call void @fn_emit(ptr @.str10404) + call void @fn_emit(ptr @.str10405) %t173 = load ptr, ptr %t165 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str9729) + call void @fn_emit(ptr @.str10406) %t174 = load ptr, ptr @g_prog %t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t176 = load ptr, ptr %t175 @@ -91820,11 +103074,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 @.str9730) - call void @fn_emit(ptr @.str9731) + call void @fn_emit(ptr @.str10407) + call void @fn_emit(ptr @.str10408) %t182 = load ptr, ptr %t165 call void @fn_emit(ptr %t182) - call void @fn_emit(ptr @.str9732) + call void @fn_emit(ptr @.str10409) %t183 = load i32, ptr %t3 %t184 = add i32 %t183, 1 store i32 %t184, ptr %t3 @@ -91835,7 +103089,7 @@ ifend23: store i32 %t186, ptr %t4 br label %wcond16 wend18: - call void @fn_emit(ptr @.str9733) + call void @fn_emit(ptr @.str10410) br label %ret ret: ret void @@ -91846,22 +103100,22 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str9734) - call void @fn_emit(ptr @.str9735) + call void @fn_emit(ptr @.str10411) + call void @fn_emit(ptr @.str10412) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str9736) - call void @fn_emit(ptr @.str9737) - call void @fn_emit(ptr @.str9738) + call void @fn_emit(ptr @.str10413) + call void @fn_emit(ptr @.str10414) + call void @fn_emit(ptr @.str10415) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str9739) - call void @fn_emit(ptr @.str9740) - call void @fn_emit(ptr @.str9741) + call void @fn_emit(ptr @.str10416) + call void @fn_emit(ptr @.str10417) + call void @fn_emit(ptr @.str10418) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str9742) - call void @fn_emit(ptr @.str9743) + call void @fn_emit(ptr @.str10419) + call void @fn_emit(ptr @.str10420) br label %ret ret: ret void @@ -91869,32 +103123,32 @@ ret: define void @fn_emit_loopback() { entry: - call void @fn_emith(ptr @.str9744) - call void @fn_emith(ptr @.str9745) - call void @fn_emith(ptr @.str9746) - call void @fn_emith(ptr @.str9747) - call void @fn_emit(ptr @.str9748) - call void @fn_emit(ptr @.str9749) - call void @fn_emit(ptr @.str9750) - call void @fn_emit(ptr @.str9751) - call void @fn_emit(ptr @.str9752) - call void @fn_emit(ptr @.str9753) - call void @fn_emit(ptr @.str9754) - call void @fn_emit(ptr @.str9755) - call void @fn_emit(ptr @.str9756) - call void @fn_emit(ptr @.str9757) - call void @fn_emit(ptr @.str9758) - call void @fn_emit(ptr @.str9759) - call void @fn_emit(ptr @.str9760) - call void @fn_emit(ptr @.str9761) - call void @fn_emit(ptr @.str9762) - call void @fn_emit(ptr @.str9763) - call void @fn_emit(ptr @.str9764) - call void @fn_emit(ptr @.str9765) - call void @fn_emit(ptr @.str9766) - call void @fn_emit(ptr @.str9767) - call void @fn_emit(ptr @.str9768) - call void @fn_emit(ptr @.str9769) + call void @fn_emith(ptr @.str10421) + call void @fn_emith(ptr @.str10422) + call void @fn_emith(ptr @.str10423) + call void @fn_emith(ptr @.str10424) + call void @fn_emit(ptr @.str10425) + call void @fn_emit(ptr @.str10426) + call void @fn_emit(ptr @.str10427) + call void @fn_emit(ptr @.str10428) + call void @fn_emit(ptr @.str10429) + call void @fn_emit(ptr @.str10430) + call void @fn_emit(ptr @.str10431) + call void @fn_emit(ptr @.str10432) + call void @fn_emit(ptr @.str10433) + call void @fn_emit(ptr @.str10434) + call void @fn_emit(ptr @.str10435) + call void @fn_emit(ptr @.str10436) + call void @fn_emit(ptr @.str10437) + call void @fn_emit(ptr @.str10438) + call void @fn_emit(ptr @.str10439) + call void @fn_emit(ptr @.str10440) + call void @fn_emit(ptr @.str10441) + call void @fn_emit(ptr @.str10442) + call void @fn_emit(ptr @.str10443) + call void @fn_emit(ptr @.str10444) + call void @fn_emit(ptr @.str10445) + call void @fn_emit(ptr @.str10446) br label %ret ret: ret void @@ -91996,7 +103250,7 @@ define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str9770) + %t0 = call ptr @fn_find_extern(ptr @.str10447) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -92012,7 +103266,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str9771, ptr %retval + store ptr @.str10448, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -92023,7 +103277,7 @@ define ptr @fn_net_poll_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str9772) + %t0 = call ptr @fn_find_extern(ptr @.str10449) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -92039,7 +103293,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str9773, ptr %retval + store ptr @.str10450, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -92057,8 +103311,8 @@ entry: %t44 = alloca ptr %t65 = alloca ptr %t71 = alloca ptr - call void @fn_emith(ptr @.str9774) - %t0 = call ptr @fn_find_extern(ptr @.str9775) + call void @fn_emith(ptr @.str10451) + %t0 = call ptr @fn_find_extern(ptr @.str10452) %t1 = icmp eq ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 @@ -92069,13 +103323,13 @@ then0: ifend2: %t4 = call ptr @fn_net_poll_sym() store ptr %t4, ptr %t5 - call void @fn_emit(ptr @.str9776) - call void @fn_emit(ptr @.str9777) + call void @fn_emit(ptr @.str10453) + call void @fn_emit(ptr @.str10454) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str9778) - call void @fn_emit(ptr @.str9779) - call void @fn_emit(ptr @.str9780) + call void @fn_emit(ptr @.str10455) + call void @fn_emit(ptr @.str10456) + call void @fn_emit(ptr @.str10457) store i32 0, ptr %t7 br label %wcond3 wcond3: @@ -92106,31 +103360,31 @@ then6: %t28 = load i32, ptr %t7 %t29 = call ptr @fn_itoa(i32 %t28) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str9781) + call void @fn_emit(ptr @.str10458) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str9782) + call void @fn_emit(ptr @.str10459) %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 @.str9783) - call void @fn_emit(ptr @.str9784) + call void @fn_emit(ptr @.str10460) + call void @fn_emit(ptr @.str10461) %t37 = load ptr, ptr %t30 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str9785) + call void @fn_emit(ptr @.str10462) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str9786) + call void @fn_emit(ptr @.str10463) %t39 = load ptr, ptr %t30 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str9787) - call void @fn_emit(ptr @.str9788) + call void @fn_emit(ptr @.str10464) + call void @fn_emit(ptr @.str10465) %t40 = load ptr, ptr %t30 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str9789) + call void @fn_emit(ptr @.str10466) store i32 4, ptr %t41 store i32 0, ptr %t42 %t43 = call ptr @fn_buf_new() @@ -92161,29 +103415,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 @.str9790) + %t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str10467) %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 @.str9791) + call void @fn_emit(ptr @.str10468) %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str9792) + call void @fn_emit(ptr @.str10469) %t73 = load i32, ptr %t41 %t74 = call ptr @fn_itoa(i32 %t73) call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str9793) - call void @fn_emit(ptr @.str9794) + call void @fn_emit(ptr @.str10470) + call void @fn_emit(ptr @.str10471) %t75 = load ptr, ptr %t71 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str9795) + call void @fn_emit(ptr @.str10472) %t76 = load ptr, ptr %t65 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str9796) + call void @fn_emit(ptr @.str10473) %t77 = load ptr, ptr %t71 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str9797) + call void @fn_emit(ptr @.str10474) %t78 = load i32, ptr %t42 %t79 = icmp sgt i32 %t78, 0 %t80 = zext i1 %t79 to i32 @@ -92191,14 +103445,14 @@ wbody10: br i1 %t81, label %then12, label %ifend14 then12: %t82 = load ptr, ptr %t44 - call void @fn_buf_puts(ptr %t82, ptr @.str9798) + call void @fn_buf_puts(ptr %t82, ptr @.str10475) 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 @.str9799) + call void @fn_buf_puts(ptr %t85, ptr @.str10476) %t86 = load ptr, ptr %t44 %t87 = load ptr, ptr %t71 call void @fn_buf_puts(ptr %t86, ptr %t87) @@ -92221,21 +103475,21 @@ ifend14: store i32 %t102, ptr %t42 br label %wcond9 wend11: - call void @fn_emit(ptr @.str9800) + call void @fn_emit(ptr @.str10477) %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 @.str9801) + call void @fn_emit(ptr @.str10478) %t106 = load ptr, ptr %t44 %t107 = call ptr @fn_buf_str(ptr %t106) call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str9802) - call void @fn_emit(ptr @.str9803) - call void @fn_emit(ptr @.str9804) + call void @fn_emit(ptr @.str10479) + call void @fn_emit(ptr @.str10480) + call void @fn_emit(ptr @.str10481) %t108 = load ptr, ptr %t30 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str9805) + call void @fn_emit(ptr @.str10482) br label %ifend8 ifend8: %t109 = load i32, ptr %t7 @@ -92243,8 +103497,8 @@ ifend8: store i32 %t110, ptr %t7 br label %wcond3 wend5: - call void @fn_emit(ptr @.str9806) - call void @fn_emit(ptr @.str9807) + call void @fn_emit(ptr @.str10483) + call void @fn_emit(ptr @.str10484) br label %ret ret: ret void @@ -92337,7 +103591,7 @@ ifend13: %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: - call void @fn_emith(ptr @.str9808) + call void @fn_emith(ptr @.str10485) call void @fn_emit_net_pump() br label %ifend16 ifend16: @@ -92357,7 +103611,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 @.str9809) + %t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str10486) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: @@ -92365,7 +103619,7 @@ then0: br label %ret ifend2: %t8 = load ptr, ptr %t4 - %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str9810) + %t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str10487) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: @@ -92373,7 +103627,7 @@ then3: br label %ret ifend5: %t11 = load ptr, ptr %t4 - %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str9811) + %t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str10488) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -92381,7 +103635,7 @@ then6: br label %ret ifend8: %t14 = load ptr, ptr %t4 - %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str9812) + %t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str10489) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: @@ -92389,7 +103643,7 @@ then9: br label %ret ifend11: %t17 = load ptr, ptr %t4 - %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str9813) + %t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str10490) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then12, label %ifend14 then12: @@ -92397,7 +103651,7 @@ then12: br label %ret ifend14: %t20 = load ptr, ptr %t4 - %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str9814) + %t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str10491) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then15, label %ifend17 then15: @@ -92405,7 +103659,7 @@ then15: br label %ret ifend17: %t23 = load ptr, ptr %t4 - %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str9815) + %t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str10492) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then18, label %ifend20 then18: @@ -92487,6 +103741,345 @@ ret: ret ptr %t43 } +define ptr @fn_ui_props_with_inherited(i32 %arg_i) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + %t7 = alloca ptr + %t14 = alloca ptr + %t15 = alloca i32 + %t64 = alloca ptr + %t141 = alloca i32 + %t166 = alloca i32 + %t184 = alloca ptr + %t190 = alloca ptr + store i32 %arg_i, ptr %t0 + %t1 = load ptr, ptr @g_uiw + %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 + %t3 = load ptr, ptr %t2 + %t4 = load i32, ptr %t0 + %t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4 + %t6 = load ptr, ptr %t5 + store ptr %t6, ptr %t7 + %t8 = getelementptr %LSlice, ptr null, i32 1 + %t9 = ptrtoint ptr %t8 to i64 + %t10 = call ptr @malloc(i64 %t9) + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + store ptr null, ptr %t11 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + store i32 0, ptr %t12 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + store i32 0, ptr %t13 + store ptr %t10, ptr %t14 + store i32 0, ptr %t15 + br label %wcond0 +wcond0: + %t16 = load i32, ptr %t15 + %t17 = load ptr, ptr %t7 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 5 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 + %t21 = load ptr, ptr %t20 + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 + %t23 = load i32, ptr %t22 + %t24 = icmp slt i32 %t16, %t23 + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %wbody1, label %wend2 +wbody1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t29 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 + %t30 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 + %t31 = load i32, ptr %t28 + %t32 = load i32, ptr %t29 + %t33 = icmp sge i32 %t31, %t32 + br i1 %t33, label %grow3, label %put4 +grow3: + %t34 = mul i32 %t32, 2 + %t35 = icmp eq i32 %t32, 0 + %t36 = select i1 %t35, i32 8, i32 %t34 + %t37 = getelementptr ptr, ptr null, i32 1 + %t38 = ptrtoint ptr %t37 to i64 + %t39 = zext i32 %t36 to i64 + %t40 = mul i64 %t39, %t38 + %t41 = load ptr, ptr %t30 + %t42 = call ptr @realloc(ptr %t41, i64 %t40) + store ptr %t42, ptr %t30 + store i32 %t36, ptr %t29 + br label %put4 +put4: + %t43 = load ptr, ptr %t7 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 5 + %t45 = load ptr, ptr %t44 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 7 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = load i32, ptr %t15 + %t51 = getelementptr inbounds ptr, ptr %t49, i32 %t50 + %t52 = load ptr, ptr %t51 + %t53 = load ptr, ptr %t30 + %t54 = getelementptr inbounds ptr, ptr %t53, i32 %t31 + store ptr %t52, ptr %t54 + %t55 = add i32 %t31, 1 + store i32 %t55, ptr %t28 + %t56 = load i32, ptr %t15 + %t57 = add i32 %t56, 1 + store i32 %t57, ptr %t15 + br label %wcond0 +wend2: + %t58 = getelementptr %LSlice, ptr null, i32 1 + %t59 = ptrtoint ptr %t58 to i64 + %t60 = call ptr @malloc(i64 %t59) + %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 + store ptr null, ptr %t61 + %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 + store i32 0, ptr %t62 + %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 2 + store i32 0, ptr %t63 + store ptr %t60, ptr %t64 + %t65 = load ptr, ptr %t64 + %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 + %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 + %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 + %t69 = load i32, ptr %t66 + %t70 = load i32, ptr %t67 + %t71 = icmp sge i32 %t69, %t70 + br i1 %t71, label %grow5, label %put6 +grow5: + %t72 = mul i32 %t70, 2 + %t73 = icmp eq i32 %t70, 0 + %t74 = select i1 %t73, i32 8, i32 %t72 + %t75 = getelementptr ptr, ptr null, i32 1 + %t76 = ptrtoint ptr %t75 to i64 + %t77 = zext i32 %t74 to i64 + %t78 = mul i64 %t77, %t76 + %t79 = load ptr, ptr %t68 + %t80 = call ptr @realloc(ptr %t79, i64 %t78) + store ptr %t80, ptr %t68 + store i32 %t74, ptr %t67 + br label %put6 +put6: + %t81 = load ptr, ptr %t68 + %t82 = getelementptr inbounds ptr, ptr %t81, i32 %t69 + store ptr @.str10493, ptr %t82 + %t83 = add i32 %t69, 1 + store i32 %t83, ptr %t66 + %t84 = load ptr, ptr %t64 + %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 + %t86 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 2 + %t87 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 + %t88 = load i32, ptr %t85 + %t89 = load i32, ptr %t86 + %t90 = icmp sge i32 %t88, %t89 + br i1 %t90, label %grow7, label %put8 +grow7: + %t91 = mul i32 %t89, 2 + %t92 = icmp eq i32 %t89, 0 + %t93 = select i1 %t92, i32 8, i32 %t91 + %t94 = getelementptr ptr, ptr null, i32 1 + %t95 = ptrtoint ptr %t94 to i64 + %t96 = zext i32 %t93 to i64 + %t97 = mul i64 %t96, %t95 + %t98 = load ptr, ptr %t87 + %t99 = call ptr @realloc(ptr %t98, i64 %t97) + store ptr %t99, ptr %t87 + store i32 %t93, ptr %t86 + br label %put8 +put8: + %t100 = load ptr, ptr %t87 + %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 + store ptr @.str10494, ptr %t101 + %t102 = add i32 %t88, 1 + store i32 %t102, ptr %t85 + %t103 = load ptr, ptr %t64 + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 + %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 + %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 + %t107 = load i32, ptr %t104 + %t108 = load i32, ptr %t105 + %t109 = icmp sge i32 %t107, %t108 + br i1 %t109, label %grow9, label %put10 +grow9: + %t110 = mul i32 %t108, 2 + %t111 = icmp eq i32 %t108, 0 + %t112 = select i1 %t111, i32 8, i32 %t110 + %t113 = getelementptr ptr, ptr null, i32 1 + %t114 = ptrtoint ptr %t113 to i64 + %t115 = zext i32 %t112 to i64 + %t116 = mul i64 %t115, %t114 + %t117 = load ptr, ptr %t106 + %t118 = call ptr @realloc(ptr %t117, i64 %t116) + store ptr %t118, ptr %t106 + store i32 %t112, ptr %t105 + br label %put10 +put10: + %t119 = load ptr, ptr %t106 + %t120 = getelementptr inbounds ptr, ptr %t119, i32 %t107 + store ptr @.str10495, ptr %t120 + %t121 = add i32 %t107, 1 + store i32 %t121, ptr %t104 + %t122 = load ptr, ptr %t64 + %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 + %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 2 + %t125 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 + %t126 = load i32, ptr %t123 + %t127 = load i32, ptr %t124 + %t128 = icmp sge i32 %t126, %t127 + br i1 %t128, label %grow11, label %put12 +grow11: + %t129 = mul i32 %t127, 2 + %t130 = icmp eq i32 %t127, 0 + %t131 = select i1 %t130, i32 8, i32 %t129 + %t132 = getelementptr ptr, ptr null, i32 1 + %t133 = ptrtoint ptr %t132 to i64 + %t134 = zext i32 %t131 to i64 + %t135 = mul i64 %t134, %t133 + %t136 = load ptr, ptr %t125 + %t137 = call ptr @realloc(ptr %t136, i64 %t135) + store ptr %t137, ptr %t125 + store i32 %t131, ptr %t124 + br label %put12 +put12: + %t138 = load ptr, ptr %t125 + %t139 = getelementptr inbounds ptr, ptr %t138, i32 %t126 + store ptr @.str10496, ptr %t139 + %t140 = add i32 %t126, 1 + store i32 %t140, ptr %t123 + store i32 0, ptr %t141 + br label %wcond13 +wcond13: + %t142 = load i32, ptr %t141 + %t143 = load ptr, ptr %t64 + %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 + %t145 = load i32, ptr %t144 + %t146 = icmp slt i32 %t142, %t145 + %t147 = zext i1 %t146 to i32 + %t148 = icmp ne i32 %t147, 0 + br i1 %t148, label %wbody14, label %wend15 +wbody14: + %t149 = load ptr, ptr %t7 + %t150 = load ptr, ptr %t64 + %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = load i32, ptr %t141 + %t154 = getelementptr inbounds ptr, ptr %t152, i32 %t153 + %t155 = load ptr, ptr %t154 + %t156 = call ptr @fn_ui_prop(ptr %t149, ptr %t155) + %t157 = icmp eq ptr %t156, null + %t158 = zext i1 %t157 to i32 + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then16, label %ifend18 +then16: + %t160 = load ptr, ptr @g_uiw_parent + %t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 + %t162 = load ptr, ptr %t161 + %t163 = load i32, ptr %t0 + %t164 = getelementptr inbounds i32, ptr %t162, i32 %t163 + %t165 = load i32, ptr %t164 + store i32 %t165, ptr %t166 + br label %wcond19 +wcond19: + %t167 = load i32, ptr %t166 + %t168 = icmp sge i32 %t167, 0 + %t169 = zext i1 %t168 to i32 + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %wbody20, label %wend21 +wbody20: + %t171 = load ptr, ptr @g_uiw + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = load i32, ptr %t166 + %t175 = getelementptr inbounds ptr, ptr %t173, i32 %t174 + %t176 = load ptr, ptr %t175 + %t177 = load ptr, ptr %t64 + %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 + %t179 = load ptr, ptr %t178 + %t180 = load i32, ptr %t141 + %t181 = getelementptr inbounds ptr, ptr %t179, i32 %t180 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @fn_ui_prop(ptr %t176, ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t184 + %t186 = icmp ne ptr %t185, null + %t187 = zext i1 %t186 to i32 + %t188 = icmp ne i32 %t187, 0 + br i1 %t188, label %then22, label %else23 +then22: + %t189 = call ptr @fn_node(i32 42) + store ptr %t189, ptr %t190 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 + %t193 = load ptr, ptr %t64 + %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 + %t195 = load ptr, ptr %t194 + %t196 = load i32, ptr %t141 + %t197 = getelementptr inbounds ptr, ptr %t195, i32 %t196 + %t198 = load ptr, ptr %t197 + store ptr %t198, ptr %t192 + %t199 = load ptr, ptr %t190 + %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 4 + %t201 = load ptr, ptr %t184 + store ptr %t201, ptr %t200 + %t202 = load ptr, ptr %t14 + %t203 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 1 + %t204 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 2 + %t205 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 0 + %t206 = load i32, ptr %t203 + %t207 = load i32, ptr %t204 + %t208 = icmp sge i32 %t206, %t207 + br i1 %t208, label %grow25, label %put26 +grow25: + %t209 = mul i32 %t207, 2 + %t210 = icmp eq i32 %t207, 0 + %t211 = select i1 %t210, i32 8, i32 %t209 + %t212 = getelementptr ptr, ptr null, i32 1 + %t213 = ptrtoint ptr %t212 to i64 + %t214 = zext i32 %t211 to i64 + %t215 = mul i64 %t214, %t213 + %t216 = load ptr, ptr %t205 + %t217 = call ptr @realloc(ptr %t216, i64 %t215) + store ptr %t217, ptr %t205 + store i32 %t211, ptr %t204 + br label %put26 +put26: + %t218 = load ptr, ptr %t190 + %t219 = load ptr, ptr %t205 + %t220 = getelementptr inbounds ptr, ptr %t219, i32 %t206 + store ptr %t218, ptr %t220 + %t221 = add i32 %t206, 1 + store i32 %t221, ptr %t203 + %t222 = sub i32 0, 1 + store i32 %t222, ptr %t166 + br label %ifend24 +else23: + %t223 = load ptr, ptr @g_uiw_parent + %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 + %t225 = load ptr, ptr %t224 + %t226 = load i32, ptr %t166 + %t227 = getelementptr inbounds i32, ptr %t225, i32 %t226 + %t228 = load i32, ptr %t227 + store i32 %t228, ptr %t166 + br label %ifend24 +ifend24: + br label %wcond19 +wend21: + br label %ifend18 +ifend18: + %t229 = load i32, ptr %t141 + %t230 = add i32 %t229, 1 + store i32 %t230, ptr %t141 + br label %wcond13 +wend15: + %t231 = load ptr, ptr %t14 + store ptr %t231, ptr %retval + br label %ret +ret: + %t232 = load ptr, ptr %retval + ret ptr %t232 +} + define void @fn_ui_flatten(ptr %arg_w, i32 %arg_parent) { entry: %t0 = alloca ptr @@ -92791,166 +104384,175 @@ define i32 @fn_ui_index_of(ptr %arg_nm) { entry: %retval = alloca i32 %t0 = alloca ptr - %t6 = alloca ptr - %t7 = alloca i32 - %t8 = alloca i32 - %t9 = alloca i32 - %t17 = alloca i32 - %t79 = alloca ptr - %t84 = alloca i32 + %t10 = alloca ptr + %t11 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t21 = alloca i32 + %t83 = alloca ptr + %t88 = alloca i32 store ptr %arg_nm, ptr %t0 - %t1 = load ptr, ptr %t0 - %t2 = load ptr, ptr %t0 - %t3 = call i64 @strlen(ptr %t2) - %t4 = trunc i64 %t3 to i32 - %t5 = call ptr @fn_str_slice(ptr %t1, i32 3, i32 %t4) - store ptr %t5, ptr %t6 - store i32 0, ptr %t7 - store i32 0, ptr %t8 - store i32 0, ptr %t9 - br label %wcond0 -wcond0: - %t10 = load i32, ptr %t9 - %t11 = load ptr, ptr @g_prog - %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 - %t13 = load i32, ptr %t12 - %t14 = icmp slt i32 %t10, %t13 - %t15 = zext i1 %t14 to i32 - %t16 = icmp ne i32 %t15, 0 - br i1 %t16, label %wbody1, label %wend2 -wbody1: - %t18 = load ptr, ptr @g_prog - %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 - %t20 = load ptr, ptr %t19 - %t21 = load i32, ptr %t9 - %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 - %t23 = load ptr, ptr %t22 - %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 - %t25 = load i32, ptr %t24 - %t26 = icmp eq i32 %t25, 12 - %t27 = zext i1 %t26 to i32 - %t28 = icmp ne i32 %t27, 0 - %t29 = zext i1 %t28 to i32 - store i32 %t29, ptr %t17 - br i1 %t28, label %sc3, label %scend4 -sc3: - %t30 = load ptr, ptr @g_prog - %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 - %t32 = load ptr, ptr %t31 - %t33 = load i32, ptr %t9 - %t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33 - %t35 = load ptr, ptr %t34 - %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 2 - %t37 = load i32, ptr %t36 - %t38 = icmp eq i32 %t37, 1 - %t39 = zext i1 %t38 to i32 - %t40 = icmp ne i32 %t39, 0 - %t41 = zext i1 %t40 to i32 - store i32 %t41, ptr %t17 - br label %scend4 -scend4: - %t42 = load i32, ptr %t17 - %t43 = icmp ne i32 %t42, 0 - br i1 %t43, label %then5, label %ifend7 -then5: - %t44 = load ptr, ptr @g_prog - %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 - %t46 = load ptr, ptr %t45 - %t47 = load i32, ptr %t9 - %t48 = getelementptr inbounds ptr, ptr %t46, i32 %t47 - %t49 = load ptr, ptr %t48 - %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 - %t51 = load ptr, ptr %t50 - %t52 = load ptr, ptr %t6 - %t53 = call i32 @fn_str_eq(ptr %t51, ptr %t52) - %t54 = icmp ne i32 %t53, 0 - br i1 %t54, label %then8, label %ifend10 + %t1 = load ptr, ptr @g_uiw + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + call void @fn_ui_flatten_all() + br label %ifend2 +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = load ptr, ptr %t0 + %t7 = call i64 @strlen(ptr %t6) + %t8 = trunc i64 %t7 to i32 + %t9 = call ptr @fn_str_slice(ptr %t5, i32 3, i32 %t8) + store ptr %t9, ptr %t10 + store i32 0, ptr %t11 + store i32 0, ptr %t12 + store i32 0, ptr %t13 + br label %wcond3 +wcond3: + %t14 = load i32, ptr %t13 + %t15 = load ptr, ptr @g_prog + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t17 = load i32, ptr %t16 + %t18 = icmp slt i32 %t14, %t17 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %wbody4, label %wend5 +wbody4: + %t22 = load ptr, ptr @g_prog + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = load i32, ptr %t13 + %t26 = getelementptr inbounds ptr, ptr %t24, i32 %t25 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 12 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t21 + br i1 %t32, label %sc6, label %scend7 +sc6: + %t34 = load ptr, ptr @g_prog + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t13 + %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 2 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 1 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t21 + br label %scend7 +scend7: + %t46 = load i32, ptr %t21 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then8, label %ifend10 then8: - %t55 = load ptr, ptr @g_ui_roots - %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 - %t57 = load ptr, ptr %t56 - %t58 = load i32, ptr %t8 - %t59 = getelementptr inbounds i32, ptr %t57, i32 %t58 - %t60 = load i32, ptr %t59 - store i32 %t60, ptr %retval + %t48 = load ptr, ptr @g_prog + %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 + %t50 = load ptr, ptr %t49 + %t51 = load i32, ptr %t13 + %t52 = getelementptr inbounds ptr, ptr %t50, i32 %t51 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 + %t55 = load ptr, ptr %t54 + %t56 = load ptr, ptr %t10 + %t57 = call i32 @fn_str_eq(ptr %t55, ptr %t56) + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then11, label %ifend13 +then11: + %t59 = load ptr, ptr @g_ui_roots + %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 + %t61 = load ptr, ptr %t60 + %t62 = load i32, ptr %t12 + %t63 = getelementptr inbounds i32, ptr %t61, i32 %t62 + %t64 = load i32, ptr %t63 + store i32 %t64, ptr %retval br label %ret +ifend13: + %t65 = load i32, ptr %t12 + %t66 = add i32 %t65, 1 + store i32 %t66, ptr %t12 + br label %ifend10 ifend10: - %t61 = load i32, ptr %t8 - %t62 = add i32 %t61, 1 - store i32 %t62, ptr %t8 - br label %ifend7 -ifend7: - %t63 = load i32, ptr %t9 - %t64 = add i32 %t63, 1 - store i32 %t64, ptr %t9 - br label %wcond0 -wend2: - store i32 0, ptr %t9 - br label %wcond11 -wcond11: - %t65 = load i32, ptr %t9 - %t66 = load ptr, ptr @g_uiw - %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 - %t68 = load i32, ptr %t67 - %t69 = icmp slt i32 %t65, %t68 - %t70 = zext i1 %t69 to i32 - %t71 = icmp ne i32 %t70, 0 - br i1 %t71, label %wbody12, label %wend13 -wbody12: - %t72 = load ptr, ptr @g_uiw - %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 - %t74 = load ptr, ptr %t73 - %t75 = load i32, ptr %t9 - %t76 = getelementptr inbounds ptr, ptr %t74, i32 %t75 - %t77 = load ptr, ptr %t76 - %t78 = call ptr @fn_ui_prop(ptr %t77, ptr @.str9816) - store ptr %t78, ptr %t79 - %t80 = load ptr, ptr %t79 - %t81 = icmp ne ptr %t80, null - %t82 = zext i1 %t81 to i32 - %t83 = icmp ne i32 %t82, 0 - br i1 %t83, label %then14, label %ifend16 -then14: - %t85 = load ptr, ptr %t79 - %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0 - %t87 = load i32, ptr %t86 - %t88 = icmp eq i32 %t87, 33 - %t89 = zext i1 %t88 to i32 - %t90 = icmp ne i32 %t89, 0 - %t91 = zext i1 %t90 to i32 - store i32 %t91, ptr %t84 - br i1 %t90, label %sc17, label %scend18 -sc17: - %t92 = load ptr, ptr %t79 - %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 1 - %t94 = load ptr, ptr %t93 - %t95 = load ptr, ptr %t6 - %t96 = call i32 @fn_str_eq(ptr %t94, ptr %t95) - %t97 = icmp ne i32 %t96, 0 - %t98 = zext i1 %t97 to i32 - store i32 %t98, ptr %t84 - br label %scend18 -scend18: - %t99 = load i32, ptr %t84 - %t100 = icmp ne i32 %t99, 0 - br i1 %t100, label %then19, label %ifend21 -then19: - %t101 = load i32, ptr %t9 - store i32 %t101, ptr %retval + %t67 = load i32, ptr %t13 + %t68 = add i32 %t67, 1 + store i32 %t68, ptr %t13 + br label %wcond3 +wend5: + store i32 0, ptr %t13 + br label %wcond14 +wcond14: + %t69 = load i32, ptr %t13 + %t70 = load ptr, ptr @g_uiw + %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 + %t72 = load i32, ptr %t71 + %t73 = icmp slt i32 %t69, %t72 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %wbody15, label %wend16 +wbody15: + %t76 = load ptr, ptr @g_uiw + %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 + %t78 = load ptr, ptr %t77 + %t79 = load i32, ptr %t13 + %t80 = getelementptr inbounds ptr, ptr %t78, i32 %t79 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @fn_ui_prop(ptr %t81, ptr @.str10497) + store ptr %t82, ptr %t83 + %t84 = load ptr, ptr %t83 + %t85 = icmp ne ptr %t84, null + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then17, label %ifend19 +then17: + %t89 = load ptr, ptr %t83 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 + %t91 = load i32, ptr %t90 + %t92 = icmp eq i32 %t91, 33 + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t88 + br i1 %t94, label %sc20, label %scend21 +sc20: + %t96 = load ptr, ptr %t83 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 + %t98 = load ptr, ptr %t97 + %t99 = load ptr, ptr %t10 + %t100 = call i32 @fn_str_eq(ptr %t98, ptr %t99) + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t88 + br label %scend21 +scend21: + %t103 = load i32, ptr %t88 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then22, label %ifend24 +then22: + %t105 = load i32, ptr %t13 + store i32 %t105, ptr %retval br label %ret -ifend21: - br label %ifend16 -ifend16: - %t102 = load i32, ptr %t9 - %t103 = add i32 %t102, 1 - store i32 %t103, ptr %t9 - br label %wcond11 -wend13: +ifend24: + br label %ifend19 +ifend19: + %t106 = load i32, ptr %t13 + %t107 = add i32 %t106, 1 + store i32 %t107, ptr %t13 + br label %wcond14 +wend16: store i32 0, ptr %retval br label %ret ret: - %t104 = load i32, ptr %retval - ret i32 %t104 + %t108 = load i32, ptr %retval + ret i32 %t108 } define i32 @fn_is_ui_ident(ptr %arg_nm) { @@ -93032,18 +104634,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 @.str9817) + call void @fn_emit(ptr @.str10498) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str9818) + call void @fn_emit(ptr @.str10499) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str9819) + call void @fn_emit(ptr @.str10500) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str9820) + call void @fn_emit(ptr @.str10501) br label %ret ret: ret void @@ -93055,7 +104657,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 @.str9821) + %t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str10502) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -93063,7 +104665,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str9822) + %t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str10503) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -93071,7 +104673,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str9823) + %t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str10504) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -93079,7 +104681,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str9824) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str10505) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -93087,7 +104689,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str9825) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str10506) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -93095,7 +104697,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str9826) + %t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str10507) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -93103,7 +104705,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str9827) + %t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str10508) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -93111,7 +104713,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str9828) + %t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str10509) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -93119,7 +104721,7 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str9829) + %t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str10510) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: @@ -93127,7 +104729,7 @@ then24: br label %ret ifend26: %t28 = load ptr, ptr %t0 - %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str9830) + %t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str10511) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: @@ -93135,7 +104737,7 @@ then27: br label %ret ifend29: %t31 = load ptr, ptr %t0 - %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str9831) + %t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str10512) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: @@ -93143,7 +104745,7 @@ then30: br label %ret ifend32: %t34 = load ptr, ptr %t0 - %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str9832) + %t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str10513) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: @@ -93151,7 +104753,7 @@ then33: br label %ret ifend35: %t37 = load ptr, ptr %t0 - %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str9833) + %t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str10514) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: @@ -93159,7 +104761,7 @@ then36: br label %ret ifend38: %t40 = load ptr, ptr %t0 - %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str9834) + %t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str10515) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: @@ -93181,19 +104783,21 @@ entry: %t10 = alloca i32 %t24 = alloca ptr %t27 = alloca i32 - %t44 = alloca i32 - %t66 = alloca ptr - %t70 = alloca ptr - %t74 = alloca ptr - %t85 = alloca ptr - %t91 = alloca i32 - %t104 = alloca ptr - %t111 = alloca ptr - %t128 = alloca i32 - %t144 = alloca ptr - %t151 = alloca i32 - %t158 = alloca ptr - %t164 = alloca i32 + %t46 = alloca ptr + %t47 = alloca i32 + %t61 = alloca ptr + %t65 = alloca ptr + %t69 = alloca ptr + %t70 = alloca i32 + %t88 = alloca ptr + %t94 = alloca i32 + %t107 = alloca ptr + %t114 = alloca ptr + %t131 = alloca i32 + %t147 = alloca ptr + %t154 = alloca i32 + %t161 = alloca ptr + %t167 = alloca i32 call void @fn_ui_flatten_all() store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl @@ -93208,13 +104812,13 @@ entry: store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 store ptr %t5, ptr @g_code - call void @fn_emit(ptr @.str9835) + call void @fn_emit(ptr @.str10516) %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 @.str9836) + call void @fn_emit(ptr @.str10517) store i32 0, ptr %t10 br label %wcond0 wcond0: @@ -93257,241 +104861,249 @@ 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 @.str9837) + call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str10518) br label %ifend5 ifend5: - store i32 0, ptr %t44 + %t44 = load i32, ptr %t10 + %t45 = call ptr @fn_ui_props_with_inherited(i32 %t44) + store ptr %t45, ptr %t46 + store i32 0, ptr %t47 br label %wcond6 wcond6: - %t45 = load i32, ptr %t44 - %t46 = load ptr, ptr %t24 - %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5 - %t48 = load ptr, ptr %t47 - %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 - %t50 = load ptr, ptr %t49 - %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 - %t52 = load i32, ptr %t51 - %t53 = icmp slt i32 %t45, %t52 - %t54 = zext i1 %t53 to i32 - %t55 = icmp ne i32 %t54, 0 - br i1 %t55, label %wbody7, label %wend8 + %t48 = load i32, ptr %t47 + %t49 = load ptr, ptr %t46 + %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp slt i32 %t48, %t51 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %wbody7, label %wend8 wbody7: - %t56 = load ptr, ptr %t24 - %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 5 - %t58 = load ptr, ptr %t57 - %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 + %t55 = load ptr, ptr %t46 + %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 + %t57 = load ptr, ptr %t56 + %t58 = load i32, ptr %t47 + %t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58 %t60 = load ptr, ptr %t59 - %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 + store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 - %t63 = load i32, ptr %t44 - %t64 = getelementptr inbounds ptr, ptr %t62, i32 %t63 - %t65 = load ptr, ptr %t64 - store ptr %t65, ptr %t66 - %t67 = load ptr, ptr %t66 - %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 - %t69 = load ptr, ptr %t68 - store ptr %t69, ptr %t70 - %t71 = load ptr, ptr %t66 - %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 - %t73 = load ptr, ptr %t72 - store ptr %t73, ptr %t74 - %t75 = load ptr, ptr %t70 - %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str9838) + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t61 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 + %t68 = load ptr, ptr %t67 + store ptr %t68, ptr %t69 + %t71 = load ptr, ptr %t65 + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str10519) + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t70 + br i1 %t73, label %scend10, label %sc9 +sc9: + %t75 = load ptr, ptr %t65 + %t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str10520) %t77 = icmp ne i32 %t76, 0 - br i1 %t77, label %then9, label %ifend11 -then9: - %t78 = load i32, ptr %t44 - %t79 = add i32 %t78, 1 - store i32 %t79, ptr %t44 + %t78 = zext i1 %t77 to i32 + store i32 %t78, ptr %t70 + br label %scend10 +scend10: + %t79 = load i32, ptr %t70 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then11, label %ifend13 +then11: + %t81 = load i32, ptr %t47 + %t82 = add i32 %t81, 1 + store i32 %t82, ptr %t47 br label %wcond6 -ifend11: - %t80 = load ptr, ptr %t70 - %t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str9839) - %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 @.str9840) - %t86 = load i32, ptr %t10 - %t87 = call ptr @fn_itoa(i32 %t86) - call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str9841) - %t88 = load ptr, ptr %t85 - %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 - %t90 = load ptr, ptr %t89 +ifend13: + %t83 = load ptr, ptr %t65 + %t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str10521) + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then14, label %else15 +then14: + %t86 = load ptr, ptr %t69 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + call void @fn_emit(ptr @.str10522) + %t89 = load i32, ptr %t10 + %t90 = call ptr @fn_itoa(i32 %t89) call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str9842) - br label %ifend14 -else13: - %t92 = load ptr, ptr %t70 - %t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str9843) - %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 @.str9844) - %t98 = icmp ne i32 %t97, 0 - %t99 = zext i1 %t98 to i32 - store i32 %t99, ptr %t91 - br label %scend16 -scend16: - %t100 = load i32, ptr %t91 + call void @fn_emit(ptr @.str10523) + %t91 = load ptr, ptr %t88 + %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 + %t93 = load ptr, ptr %t92 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str10524) + br label %ifend16 +else15: + %t95 = load ptr, ptr %t65 + %t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str10525) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t94 + br i1 %t97, label %scend18, label %sc17 +sc17: + %t99 = load ptr, ptr %t65 + %t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str10526) %t101 = icmp ne i32 %t100, 0 - br i1 %t101, label %then17, label %else18 -then17: - %t102 = load ptr, ptr %t74 - %t103 = call ptr @fn_emit_expr(ptr %t102) - store ptr %t103, ptr %t104 - %t105 = load ptr, ptr %t104 - %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 - %t107 = load ptr, ptr %t106 - %t108 = call ptr @fn_str_concat(ptr @.str9845, ptr %t107) - %t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str9846) - %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 @.str9847) - %t114 = icmp ne i32 %t113, 0 - br i1 %t114, label %then20, label %else21 -then20: - %t115 = load i32, ptr %t10 - %t116 = load ptr, ptr %t111 - call void @fn_ll_ui_set(i32 %t115, i32 20, ptr %t116) - br label %ifend22 -else21: - %t117 = load i32, ptr %t10 - %t118 = load ptr, ptr %t111 - call void @fn_ll_ui_set(i32 %t117, i32 19, ptr %t118) - br label %ifend22 -ifend22: - br label %ifend19 -else18: - %t119 = load ptr, ptr %t70 - %t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str9848) - %t121 = icmp ne i32 %t120, 0 - br i1 %t121, label %then23, label %else24 -then23: - %t122 = load ptr, ptr %t74 - %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 0 - %t124 = load i32, ptr %t123 - %t125 = icmp eq i32 %t124, 33 - %t126 = zext i1 %t125 to i32 - %t127 = icmp ne i32 %t126, 0 - br i1 %t127, label %then26, label %else27 -then26: - store i32 0, ptr %t128 - %t129 = load ptr, ptr %t74 - %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1 - %t131 = load ptr, ptr %t130 - %t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str9849) - %t133 = icmp ne i32 %t132, 0 - br i1 %t133, label %then29, label %ifend31 -then29: - store i32 1, ptr %t128 - br label %ifend31 -ifend31: - %t134 = load ptr, ptr %t74 - %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 - %t136 = load ptr, ptr %t135 - %t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str9850) - %t138 = icmp ne i32 %t137, 0 - br i1 %t138, label %then32, label %ifend34 -then32: - store i32 2, ptr %t128 - br label %ifend34 -ifend34: - %t139 = load i32, ptr %t10 - %t140 = load i32, ptr %t128 - %t141 = call ptr @fn_itoa(i32 %t140) - call void @fn_ll_ui_set(i32 %t139, i32 12, ptr %t141) - br label %ifend28 -else27: - %t142 = load ptr, ptr %t74 - %t143 = call ptr @fn_emit_expr(ptr %t142) - store ptr %t143, ptr %t144 - %t145 = load i32, ptr %t10 - %t146 = load ptr, ptr %t144 - %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 - %t148 = load ptr, ptr %t147 - call void @fn_ll_ui_set(i32 %t145, i32 12, ptr %t148) - br label %ifend28 -ifend28: - br label %ifend25 -else24: - %t149 = load ptr, ptr %t70 - %t150 = call i32 @fn_ui_prop_key(ptr %t149) - store i32 %t150, ptr %t151 - %t152 = load i32, ptr %t151 - %t153 = icmp sge i32 %t152, 0 - %t154 = zext i1 %t153 to i32 - %t155 = icmp ne i32 %t154, 0 - br i1 %t155, label %then35, label %ifend37 -then35: - %t156 = load ptr, ptr %t74 - %t157 = call ptr @fn_emit_expr(ptr %t156) - store ptr %t157, ptr %t158 - %t159 = load i32, ptr %t10 - %t160 = load i32, ptr %t151 - %t161 = load ptr, ptr %t158 - %t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0 - %t163 = load ptr, ptr %t162 - call void @fn_ll_ui_set(i32 %t159, i32 %t160, ptr %t163) - %t165 = load i32, ptr %t151 - %t166 = icmp eq i32 %t165, 4 - %t167 = zext i1 %t166 to i32 - %t168 = icmp ne i32 %t167, 0 - %t169 = zext i1 %t168 to i32 - store i32 %t169, ptr %t164 - br i1 %t168, label %scend39, label %sc38 -sc38: - %t170 = load i32, ptr %t151 - %t171 = icmp eq i32 %t170, 5 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t94 + br label %scend18 +scend18: + %t103 = load i32, ptr %t94 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then19, label %else20 +then19: + %t105 = load ptr, ptr %t69 + %t106 = call ptr @fn_emit_expr(ptr %t105) + store ptr %t106, ptr %t107 + %t108 = load ptr, ptr %t107 + %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @fn_str_concat(ptr @.str10527, ptr %t110) + %t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str10528) + %t113 = call ptr @fn_emit_bind(ptr %t112) + store ptr %t113, ptr %t114 + %t115 = load ptr, ptr %t65 + %t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str10529) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then22, label %else23 +then22: + %t118 = load i32, ptr %t10 + %t119 = load ptr, ptr %t114 + call void @fn_ll_ui_set(i32 %t118, i32 20, ptr %t119) + br label %ifend24 +else23: + %t120 = load i32, ptr %t10 + %t121 = load ptr, ptr %t114 + call void @fn_ll_ui_set(i32 %t120, i32 19, ptr %t121) + br label %ifend24 +ifend24: + br label %ifend21 +else20: + %t122 = load ptr, ptr %t65 + %t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str10530) + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then25, label %else26 +then25: + %t125 = load ptr, ptr %t69 + %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 0 + %t127 = load i32, ptr %t126 + %t128 = icmp eq i32 %t127, 33 + %t129 = zext i1 %t128 to i32 + %t130 = icmp ne i32 %t129, 0 + br i1 %t130, label %then28, label %else29 +then28: + store i32 0, ptr %t131 + %t132 = load ptr, ptr %t69 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 + %t134 = load ptr, ptr %t133 + %t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str10531) + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then31, label %ifend33 +then31: + store i32 1, ptr %t131 + br label %ifend33 +ifend33: + %t137 = load ptr, ptr %t69 + %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 + %t139 = load ptr, ptr %t138 + %t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str10532) + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %then34, label %ifend36 +then34: + store i32 2, ptr %t131 + br label %ifend36 +ifend36: + %t142 = load i32, ptr %t10 + %t143 = load i32, ptr %t131 + %t144 = call ptr @fn_itoa(i32 %t143) + call void @fn_ll_ui_set(i32 %t142, i32 12, ptr %t144) + br label %ifend30 +else29: + %t145 = load ptr, ptr %t69 + %t146 = call ptr @fn_emit_expr(ptr %t145) + store ptr %t146, ptr %t147 + %t148 = load i32, ptr %t10 + %t149 = load ptr, ptr %t147 + %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 + %t151 = load ptr, ptr %t150 + call void @fn_ll_ui_set(i32 %t148, i32 12, ptr %t151) + br label %ifend30 +ifend30: + br label %ifend27 +else26: + %t152 = load ptr, ptr %t65 + %t153 = call i32 @fn_ui_prop_key(ptr %t152) + store i32 %t153, ptr %t154 + %t155 = load i32, ptr %t154 + %t156 = icmp sge i32 %t155, 0 + %t157 = zext i1 %t156 to i32 + %t158 = icmp ne i32 %t157, 0 + br i1 %t158, label %then37, label %ifend39 +then37: + %t159 = load ptr, ptr %t69 + %t160 = call ptr @fn_emit_expr(ptr %t159) + store ptr %t160, ptr %t161 + %t162 = load i32, ptr %t10 + %t163 = load i32, ptr %t154 + %t164 = load ptr, ptr %t161 + %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + call void @fn_ll_ui_set(i32 %t162, i32 %t163, ptr %t166) + %t168 = load i32, ptr %t154 + %t169 = icmp eq i32 %t168, 4 + %t170 = zext i1 %t169 to i32 + %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 - %t173 = icmp ne i32 %t172, 0 - %t174 = zext i1 %t173 to i32 - store i32 %t174, ptr %t164 - br label %scend39 -scend39: - %t175 = load i32, ptr %t164 + store i32 %t172, ptr %t167 + br i1 %t171, label %scend41, label %sc40 +sc40: + %t173 = load i32, ptr %t154 + %t174 = icmp eq i32 %t173, 5 + %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 - br i1 %t176, label %then40, label %ifend42 -then40: - %t177 = load i32, ptr %t10 - call void @fn_ll_ui_set(i32 %t177, i32 6, ptr @.str9851) - br label %ifend42 -ifend42: - br label %ifend37 -ifend37: - br label %ifend25 -ifend25: - br label %ifend19 -ifend19: - br label %ifend14 -ifend14: - %t178 = load i32, ptr %t44 - %t179 = add i32 %t178, 1 - store i32 %t179, ptr %t44 + %t177 = zext i1 %t176 to i32 + store i32 %t177, ptr %t167 + br label %scend41 +scend41: + %t178 = load i32, ptr %t167 + %t179 = icmp ne i32 %t178, 0 + br i1 %t179, label %then42, label %ifend44 +then42: + %t180 = load i32, ptr %t10 + call void @fn_ll_ui_set(i32 %t180, i32 6, ptr @.str10533) + br label %ifend44 +ifend44: + br label %ifend39 +ifend39: + br label %ifend27 +ifend27: + br label %ifend21 +ifend21: + br label %ifend16 +ifend16: + %t181 = load i32, ptr %t47 + %t182 = add i32 %t181, 1 + store i32 %t182, ptr %t47 br label %wcond6 wend8: - %t180 = load i32, ptr %t10 - %t181 = add i32 %t180, 1 - store i32 %t181, ptr %t10 + %t183 = load i32, ptr %t10 + %t184 = add i32 %t183, 1 + store i32 %t184, ptr %t10 br label %wcond0 wend2: - %t182 = load ptr, ptr %t4 - store ptr %t182, ptr @g_code - call void @fn_emit(ptr @.str9852) - %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 @.str9853) + %t185 = load ptr, ptr %t4 + store ptr %t185, ptr @g_code + call void @fn_emit(ptr @.str10534) + %t186 = load ptr, ptr @g_falloc + %t187 = call ptr @fn_buf_str(ptr %t186) + call void @fn_emit(ptr %t187) + %t188 = load ptr, ptr %t1 + %t189 = call ptr @fn_buf_str(ptr %t188) + call void @fn_emit(ptr %t189) + call void @fn_emit(ptr @.str10535) br label %ret ret: ret void @@ -93522,7 +105134,7 @@ wbody1: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str9854) + call void @fn_emit(ptr @.str10536) br label %ifend5 ifend5: %t15 = load ptr, ptr %t0 @@ -93537,7 +105149,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 @.str9855) + call void @fn_emit(ptr @.str10537) %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 %t28 = load ptr, ptr %t27 @@ -93575,6 +105187,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop + store ptr null, ptr @g_g_cur_scene %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 3 %t3 = load ptr, ptr %t2 @@ -93591,19 +105204,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 @.str9856) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str10538) %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 @.str9857) + call void @fn_buf_puts(ptr %t18, ptr @.str10539) %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 @.str9858) + call void @fn_buf_puts(ptr %t21, ptr @.str10540) br label %ifend2 ifend2: store i32 0, ptr %t22 @@ -93635,21 +105248,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 @.str9859) + call void @fn_emit(ptr @.str10541) %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 @.str9860) + call void @fn_emit(ptr @.str10542) %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 @.str9861) + call void @fn_emit(ptr @.str10543) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str9862) + call void @fn_emit(ptr @.str10544) %t55 = load ptr, ptr %t40 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 @@ -93673,53 +105286,53 @@ wend5: %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str9863) + call void @fn_emit(ptr @.str10545) br label %ifend8 ifend8: - call void @fn_emit(ptr @.str9864) + call void @fn_emit(ptr @.str10546) %t71 = load ptr, ptr %t12 - %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str9865) + %t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str10547) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then9, label %else10 then9: - call void @fn_emit(ptr @.str9866) + call void @fn_emit(ptr @.str10548) br label %ifend11 else10: %t74 = load ptr, ptr %t12 - %t75 = call ptr @fn_str_concat(ptr @.str9867, ptr %t74) - %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str9868) + %t75 = call ptr @fn_str_concat(ptr @.str10549, ptr %t74) + %t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str10550) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 - call void @fn_emit(ptr @.str9869) + call void @fn_emit(ptr @.str10551) %t79 = load ptr, ptr %t12 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str9870) + call void @fn_emit(ptr @.str10552) %t80 = load ptr, ptr %t78 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str9871) + call void @fn_emit(ptr @.str10553) br label %ifend11 ifend11: %t81 = load ptr, ptr %t8 store ptr %t81, ptr @g_code - call void @fn_emit(ptr @.str9872) + call void @fn_emit(ptr @.str10554) %t82 = load ptr, ptr %t12 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str9873) + call void @fn_emit(ptr @.str10555) %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 @.str9874) + call void @fn_emit(ptr @.str10556) %t86 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t86) - call void @fn_emit(ptr @.str9875) + call void @fn_emit(ptr @.str10557) %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 @.str9876) + call void @fn_emit(ptr @.str10558) br label %ret ret: ret void @@ -93737,7 +105350,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str9877, ptr @g_ret_ty + store ptr @.str10559, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() @@ -93747,19 +105360,20 @@ entry: %t6 = load ptr, ptr %t2 store ptr %t6, ptr @g_code %t7 = load ptr, ptr @g_falloc - call void @fn_buf_puts(ptr %t7, ptr @.str9878) - call void @fn_emit(ptr @.str9879) - call void @fn_emit(ptr @.str9880) - call void @fn_emit(ptr @.str9881) - %t8 = call ptr @fn_find_fn(ptr @.str9882) + call void @fn_buf_puts(ptr %t7, ptr @.str10560) + call void @fn_emit(ptr @.str10561) + call void @fn_emit(ptr @.str10562) + call void @fn_emit(ptr @.str10563) + %t8 = call ptr @fn_find_fn(ptr @.str10564) %t9 = icmp ne ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str9883) + call void @fn_emit(ptr @.str10565) br label %ifend2 ifend2: + call void @fn_emit(ptr @.str10566) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 @@ -93770,26 +105384,26 @@ ifend2: %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str9884) + call void @fn_emit(ptr @.str10567) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str9885) - %t19 = call ptr @fn_emit_bind(ptr @.str9886) + call void @fn_emit(ptr @.str10568) + %t19 = call ptr @fn_emit_bind(ptr @.str10569) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str9887) + call void @fn_emit(ptr @.str10570) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str9888) + call void @fn_emit(ptr @.str10571) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code - call void @fn_emit(ptr @.str9889) + call void @fn_emit(ptr @.str10572) %t23 = load ptr, ptr @g_falloc %t24 = call ptr @fn_buf_str(ptr %t23) call void @fn_emit(ptr %t24) %t25 = load ptr, ptr %t2 %t26 = call ptr @fn_buf_str(ptr %t25) call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str9890) + call void @fn_emit(ptr @.str10573) br label %ret ret: ret void @@ -93808,7 +105422,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str9891, ptr @g_ret_ty + store ptr @.str10574, ptr @g_ret_ty %t2 = call ptr @fn_buf_new() store ptr %t2, ptr %t3 %t4 = call ptr @fn_buf_new() @@ -93827,24 +105441,24 @@ entry: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str9892) + call void @fn_emit(ptr @.str10575) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str9893) + call void @fn_emit(ptr @.str10576) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code - call void @fn_emit(ptr @.str9894) + call void @fn_emit(ptr @.str10577) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str9895) + call void @fn_emit(ptr @.str10578) %t18 = load ptr, ptr @g_falloc %t19 = call ptr @fn_buf_str(ptr %t18) call void @fn_emit(ptr %t19) %t20 = load ptr, ptr %t3 %t21 = call ptr @fn_buf_str(ptr %t20) call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str9896) + call void @fn_emit(ptr @.str10579) br label %ret ret: ret void @@ -93866,8 +105480,8 @@ entry: %t117 = alloca ptr %t128 = alloca ptr %t133 = alloca ptr - call void @fn_emith(ptr @.str9897) - call void @fn_emith(ptr @.str9898) + call void @fn_emith(ptr @.str10580) + call void @fn_emith(ptr @.str10581) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -93897,22 +105511,23 @@ wend2: %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: - call void @fn_emith(ptr @.str9899) + call void @fn_emith(ptr @.str10582) br label %ifend5 ifend5: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit(ptr @.str9900) - call void @fn_emit(ptr @.str9901) - call void @fn_emit(ptr @.str9902) - call void @fn_emit(ptr @.str9903) + call void @fn_emit(ptr @.str10583) + call void @fn_emit(ptr @.str10584) + call void @fn_emit(ptr @.str10585) + call void @fn_emit(ptr @.str10586) %t19 = call i32 @fn_has_ecs() %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str9904) + call void @fn_emit(ptr @.str10587) br label %ifend8 ifend8: + call void @fn_emit(ptr @.str10588) store i32 0, ptr %t0 br label %wcond9 wcond9: @@ -93933,7 +105548,7 @@ wbody10: %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_str_concat(ptr @.str9905, ptr %t35) + %t36 = call ptr @fn_str_concat(ptr @.str10589, ptr %t35) %t37 = call ptr @fn_emit_str_const(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr @g_g_tests @@ -93944,111 +105559,111 @@ wbody10: %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 - %t47 = call ptr @fn_str_concat(ptr @.str9906, ptr %t46) + %t47 = call ptr @fn_str_concat(ptr @.str10590, ptr %t46) %t48 = call ptr @fn_emit_str_const(ptr %t47) store ptr %t48, ptr %t49 - call void @fn_emit(ptr @.str9907) + call void @fn_emit(ptr @.str10591) %t50 = load i32, ptr %t0 %t51 = call ptr @fn_itoa(i32 %t50) - %t52 = call ptr @fn_str_concat(ptr @.str9908, ptr %t51) - %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str9909) + %t52 = call ptr @fn_str_concat(ptr @.str10592, ptr %t51) + %t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str10593) call void @fn_emit(ptr %t53) - %t54 = call ptr @fn_emit_bind(ptr @.str9910) + %t54 = call ptr @fn_emit_bind(ptr @.str10594) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 - %t57 = call ptr @fn_str_concat(ptr @.str9911, ptr %t56) - %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str9912) + %t57 = call ptr @fn_str_concat(ptr @.str10595, ptr %t56) + %t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str10596) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 - %t61 = call ptr @fn_lbl(ptr @.str9913) + %t61 = call ptr @fn_lbl(ptr @.str10597) store ptr %t61, ptr %t62 - %t63 = call ptr @fn_lbl(ptr @.str9914) + %t63 = call ptr @fn_lbl(ptr @.str10598) store ptr %t63, ptr %t64 - %t65 = call ptr @fn_lbl(ptr @.str9915) + %t65 = call ptr @fn_lbl(ptr @.str10599) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t60 - %t68 = call ptr @fn_str_concat(ptr @.str9916, ptr %t67) - %t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str9917) + %t68 = call ptr @fn_str_concat(ptr @.str10600, ptr %t67) + %t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str10601) %t70 = load ptr, ptr %t64 %t71 = call ptr @fn_str_concat(ptr %t69, ptr %t70) - %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str9918) + %t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str10602) %t73 = load ptr, ptr %t62 %t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73) - %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str9919) + %t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str10603) call void @fn_emit(ptr %t75) %t76 = load ptr, ptr %t62 - %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str9920) + %t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str10604) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t38 - %t79 = call ptr @fn_str_concat(ptr @.str9921, ptr %t78) - %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str9922) + %t79 = call ptr @fn_str_concat(ptr @.str10605, ptr %t78) + %t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str10606) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t66 - %t82 = call ptr @fn_str_concat(ptr @.str9923, ptr %t81) - %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str9924) + %t82 = call ptr @fn_str_concat(ptr @.str10607, ptr %t81) + %t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str10608) call void @fn_emit(ptr %t83) %t84 = load ptr, ptr %t64 - %t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str9925) + %t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str10609) call void @fn_emit(ptr %t85) - %t86 = call ptr @fn_emit_bind(ptr @.str9926) + %t86 = call ptr @fn_emit_bind(ptr @.str10610) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 - %t89 = call ptr @fn_str_concat(ptr @.str9927, ptr %t88) - %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str9928) + %t89 = call ptr @fn_str_concat(ptr @.str10611, ptr %t88) + %t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str10612) %t91 = call ptr @fn_emit_bind(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t92 - %t94 = call ptr @fn_str_concat(ptr @.str9929, ptr %t93) - %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str9930) + %t94 = call ptr @fn_str_concat(ptr @.str10613, ptr %t93) + %t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str10614) call void @fn_emit(ptr %t95) %t96 = load ptr, ptr %t49 - %t97 = call ptr @fn_str_concat(ptr @.str9931, ptr %t96) - %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str9932) + %t97 = call ptr @fn_str_concat(ptr @.str10615, ptr %t96) + %t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str10616) call void @fn_emit(ptr %t98) %t99 = load ptr, ptr %t66 - %t100 = call ptr @fn_str_concat(ptr @.str9933, ptr %t99) - %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str9934) + %t100 = call ptr @fn_str_concat(ptr @.str10617, ptr %t99) + %t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str10618) call void @fn_emit(ptr %t101) %t102 = load ptr, ptr %t66 - %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str9935) + %t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str10619) call void @fn_emit(ptr %t103) %t104 = load i32, ptr %t0 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t0 br label %wcond9 wend11: - %t106 = call ptr @fn_emit_bind(ptr @.str9936) + %t106 = call ptr @fn_emit_bind(ptr @.str10620) store ptr %t106, ptr %t107 %t108 = load ptr, ptr @g_g_tests %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t110 = load i32, ptr %t109 %t111 = call ptr @fn_itoa(i32 %t110) - %t112 = call ptr @fn_str_concat(ptr @.str9937, ptr %t111) - %t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str9938) + %t112 = call ptr @fn_str_concat(ptr @.str10621, ptr %t111) + %t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str10622) %t114 = load ptr, ptr %t107 %t115 = call ptr @fn_str_concat(ptr %t113, ptr %t114) %t116 = call ptr @fn_emit_bind(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t117 - %t119 = call ptr @fn_str_concat(ptr @.str9939, ptr %t118) - %t120 = call ptr @fn_str_concat(ptr %t119, ptr @.str9940) + %t119 = call ptr @fn_str_concat(ptr @.str10623, ptr %t118) + %t120 = call ptr @fn_str_concat(ptr %t119, ptr @.str10624) %t121 = load ptr, ptr %t107 %t122 = call ptr @fn_str_concat(ptr %t120, ptr %t121) - %t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str9941) + %t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str10625) call void @fn_emit(ptr %t123) %t124 = load ptr, ptr %t107 - %t125 = call ptr @fn_str_concat(ptr @.str9942, ptr %t124) - %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str9943) + %t125 = call ptr @fn_str_concat(ptr @.str10626, ptr %t124) + %t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str10627) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 - %t130 = call ptr @fn_str_concat(ptr @.str9944, ptr %t129) - %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str9945) + %t130 = call ptr @fn_str_concat(ptr @.str10628, ptr %t129) + %t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str10629) %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 @.str9946, ptr %t134) - %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str9947) + %t135 = call ptr @fn_str_concat(ptr @.str10630, ptr %t134) + %t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str10631) call void @fn_emit(ptr %t136) br label %ret ret: @@ -94217,6 +105832,7 @@ ifend8: store i32 %t88, ptr %t58 br label %wcond3 wend5: + call void @fn_emit_global_init_fn() %t89 = load ptr, ptr @g_g_events %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t91 = load i32, ptr %t90 @@ -94515,22 +106131,22 @@ ifend103: %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then104, label %ifend106 then104: - call void @fn_emith(ptr @.str9948) - call void @fn_emith(ptr @.str9949) + call void @fn_emith(ptr @.str10632) + call void @fn_emith(ptr @.str10633) br label %ifend106 ifend106: %t212 = load i32, ptr @g_g_uses_result %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then107, label %ifend109 then107: - call void @fn_emith(ptr @.str9950) + call void @fn_emith(ptr @.str10634) br label %ifend109 ifend109: %t214 = load i32, ptr @g_g_uses_option %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then110, label %ifend112 then110: - call void @fn_emith(ptr @.str9951) + call void @fn_emith(ptr @.str10635) br label %ifend112 ifend112: call void @fn_emit_cov_runtime() @@ -94578,10 +106194,10 @@ ifend5: %t12 = load i32, ptr %t7 %t13 = call ptr @fn_itoa(i32 %t12) store ptr %t13, ptr %t14 - call void @fn_emith(ptr @.str9952) + call void @fn_emith(ptr @.str10636) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) - call void @fn_emith(ptr @.str9953) + call void @fn_emith(ptr @.str10637) store i32 0, ptr %t16 br label %wcond6 wcond6: @@ -94598,10 +106214,10 @@ wbody7: %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: - call void @fn_emith(ptr @.str9954) + call void @fn_emith(ptr @.str10638) br label %ifend11 ifend11: - call void @fn_emith(ptr @.str9955) + call void @fn_emith(ptr @.str10639) %t26 = load ptr, ptr @g_g_cov_lines %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 @@ -94615,87 +106231,87 @@ ifend11: store i32 %t34, ptr %t16 br label %wcond6 wend8: - call void @fn_emith(ptr @.str9956) - call void @fn_emith(ptr @.str9957) + call void @fn_emith(ptr @.str10640) + call void @fn_emith(ptr @.str10641) %t35 = load ptr, ptr %t14 call void @fn_emith(ptr %t35) - call void @fn_emith(ptr @.str9958) + call void @fn_emith(ptr @.str10642) %t36 = load ptr, ptr %t14 - %t37 = call ptr @fn_str_concat(ptr @.str9959, ptr %t36) - %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str9960) + %t37 = call ptr @fn_str_concat(ptr @.str10643, ptr %t36) + %t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str10644) call void @fn_emith(ptr %t38) %t39 = load ptr, ptr @g_g_src_name %t40 = call ptr @fn_emit_str_const(ptr %t39) store ptr %t40, ptr %t41 - %t42 = call ptr @fn_emit_str_const(ptr @.str9961) + %t42 = call ptr @fn_emit_str_const(ptr @.str10645) store ptr %t42, ptr %t43 - %t44 = call ptr @fn_emit_str_const(ptr @.str9962) + %t44 = call ptr @fn_emit_str_const(ptr @.str10646) store ptr %t44, ptr %t45 - %t46 = call ptr @fn_emit_str_const(ptr @.str9963) + %t46 = call ptr @fn_emit_str_const(ptr @.str10647) store ptr %t46, ptr %t47 - call void @fn_emith(ptr @.str9964) - call void @fn_emith(ptr @.str9965) + call void @fn_emith(ptr @.str10648) + call void @fn_emith(ptr @.str10649) %t48 = load i32, ptr @g_g_uses_panic %t49 = icmp eq i32 %t48, 0 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: - call void @fn_emith(ptr @.str9966) + call void @fn_emith(ptr @.str10650) br label %ifend14 ifend14: - call void @fn_emith(ptr @.str9967) - call void @fn_emit(ptr @.str9968) + call void @fn_emith(ptr @.str10651) + call void @fn_emit(ptr @.str10652) %t52 = load ptr, ptr %t43 - %t53 = call ptr @fn_str_concat(ptr @.str9969, ptr %t52) - %t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str9970) + %t53 = call ptr @fn_str_concat(ptr @.str10653, ptr %t52) + %t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str10654) call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str9971) + call void @fn_emit(ptr @.str10655) %t55 = load ptr, ptr %t45 - %t56 = call ptr @fn_str_concat(ptr @.str9972, ptr %t55) - %t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str9973) + %t56 = call ptr @fn_str_concat(ptr @.str10656, ptr %t55) + %t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str10657) call void @fn_emit(ptr %t57) %t58 = load ptr, ptr %t47 - %t59 = call ptr @fn_str_concat(ptr @.str9974, ptr %t58) - %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str9975) + %t59 = call ptr @fn_str_concat(ptr @.str10658, ptr %t58) + %t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str10659) call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str9976) - call void @fn_emit(ptr @.str9977) - call void @fn_emit(ptr @.str9978) + call void @fn_emit(ptr @.str10660) + call void @fn_emit(ptr @.str10661) + call void @fn_emit(ptr @.str10662) %t61 = load ptr, ptr %t41 - %t62 = call ptr @fn_str_concat(ptr @.str9979, ptr %t61) - %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str9980) + %t62 = call ptr @fn_str_concat(ptr @.str10663, ptr %t61) + %t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str10664) call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str9981) - call void @fn_emit(ptr @.str9982) - call void @fn_emit(ptr @.str9983) + call void @fn_emit(ptr @.str10665) + call void @fn_emit(ptr @.str10666) + call void @fn_emit(ptr @.str10667) %t64 = load ptr, ptr %t14 - %t65 = call ptr @fn_str_concat(ptr @.str9984, ptr %t64) - %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str9985) + %t65 = call ptr @fn_str_concat(ptr @.str10668, ptr %t64) + %t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str10669) call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str9986) - call void @fn_emit(ptr @.str9987) - call void @fn_emit(ptr @.str9988) + call void @fn_emit(ptr @.str10670) + call void @fn_emit(ptr @.str10671) + call void @fn_emit(ptr @.str10672) %t67 = load ptr, ptr %t14 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str9989) - call void @fn_emit(ptr @.str9990) - call void @fn_emit(ptr @.str9991) + call void @fn_emit(ptr @.str10673) + call void @fn_emit(ptr @.str10674) + call void @fn_emit(ptr @.str10675) %t68 = load ptr, ptr %t14 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str9992) - call void @fn_emit(ptr @.str9993) - call void @fn_emit(ptr @.str9994) - call void @fn_emit(ptr @.str9995) - call void @fn_emit(ptr @.str9996) - call void @fn_emit(ptr @.str9997) - call void @fn_emit(ptr @.str9998) - call void @fn_emit(ptr @.str9999) - call void @fn_emit(ptr @.str10000) - call void @fn_emit(ptr @.str10001) - call void @fn_emit(ptr @.str10002) - call void @fn_emit(ptr @.str10003) - call void @fn_emith(ptr @.str10004) + call void @fn_emit(ptr @.str10676) + call void @fn_emit(ptr @.str10677) + call void @fn_emit(ptr @.str10678) + call void @fn_emit(ptr @.str10679) + call void @fn_emit(ptr @.str10680) + call void @fn_emit(ptr @.str10681) + call void @fn_emit(ptr @.str10682) + call void @fn_emit(ptr @.str10683) + call void @fn_emit(ptr @.str10684) + call void @fn_emit(ptr @.str10685) + call void @fn_emit(ptr @.str10686) + call void @fn_emit(ptr @.str10687) + call void @fn_emith(ptr @.str10688) br label %ret ret: ret void @@ -94744,7 +106360,7 @@ then0: br label %ret ifend2: %t29 = load ptr, ptr %t0 - %t30 = call ptr @fopen(ptr %t29, ptr @.str10005) + %t30 = call ptr @fopen(ptr %t29, ptr @.str10689) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = icmp eq ptr %t32, null @@ -94854,7 +106470,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 @.str10006) + %t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str10690) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: @@ -94940,7 +106556,7 @@ then3: br label %ret ifend5: %t20 = load ptr, ptr %t0 - %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str10007) + %t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str10691) store ptr %t21, ptr %retval br label %ret ret: @@ -95067,11 +106683,11 @@ entry: %t1 = getelementptr ptr, ptr %t0, i32 0 %t2 = load ptr, ptr %t1 %t3 = call ptr @fn_dir_of(ptr %t2) - %t4 = call ptr @fn_getenv_or(ptr @.str10008, ptr %t3) + %t4 = call ptr @fn_getenv_or(ptr @.str10692, ptr %t3) %t5 = call ptr @fn_ensure_slash(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 - %t8 = call ptr @fn_path_join(ptr %t7, ptr @.str10009) + %t8 = call ptr @fn_join_path(ptr %t7, ptr @.str10693) %t9 = call ptr @fn_read_file(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 @@ -95080,12 +106696,12 @@ entry: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %else1 then0: - call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str10010) + call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str10694) br label %ifend2 else1: %t15 = load ptr, ptr %t10 %t16 = call ptr @fn_chomp(ptr %t15) - %t17 = call ptr @fn_str_concat(ptr @.str10011, ptr %t16) + %t17 = call ptr @fn_str_concat(ptr @.str10695, ptr %t16) call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t17) br label %ifend2 ifend2: @@ -95095,6 +106711,12 @@ ret: ret void } +define void @L_init_globals() { +entry: + store ptr @.str10696, ptr @g_g_src_name + ret void +} + define i32 @main(i32 %argc, ptr %argv) { entry: %retval = alloca i32 @@ -95126,6 +106748,7 @@ entry: store i32 %argc, ptr @L_argc store ptr %argv, ptr @L_argv store i32 0, ptr %retval + call void @L_init_globals() store ptr null, ptr %t0 store ptr null, ptr %t1 store i32 0, ptr %t2 @@ -95138,7 +106761,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 @.str10012) + %t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str10697) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: @@ -95161,7 +106784,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 @.str10013) + %t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str10698) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %else7 then6: @@ -95169,7 +106792,7 @@ then6: br label %ifend8 else7: %t27 = load ptr, ptr %t23 - %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str10014) + %t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str10699) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then9, label %else10 then9: @@ -95177,7 +106800,7 @@ then9: br label %ifend11 else10: %t30 = load ptr, ptr %t23 - %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str10015) + %t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str10700) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then12, label %else13 then12: @@ -95185,7 +106808,7 @@ then12: br label %ifend14 else13: %t33 = load ptr, ptr %t23 - %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str10016) + %t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str10701) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then15, label %else16 then15: @@ -95193,7 +106816,7 @@ then15: br label %ifend17 else16: %t36 = load ptr, ptr %t23 - %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str10017) + %t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str10702) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then18, label %else19 then18: @@ -95202,7 +106825,7 @@ then18: br label %ifend20 else19: %t39 = load ptr, ptr %t23 - %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str10018) + %t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str10703) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then21, label %else22 then21: @@ -95210,7 +106833,7 @@ then21: br label %ifend23 else22: %t42 = load ptr, ptr %t23 - %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str10019) + %t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str10704) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then24, label %else25 then24: @@ -95218,7 +106841,7 @@ then24: br label %ifend26 else25: %t45 = load ptr, ptr %t23 - %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str10020) + %t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str10705) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then27, label %else28 then27: @@ -95226,7 +106849,7 @@ then27: br label %ifend29 else28: %t48 = load ptr, ptr %t23 - %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str10021) + %t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str10706) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then30, label %else31 then30: @@ -95234,7 +106857,7 @@ then30: br label %ifend32 else31: %t51 = load ptr, ptr %t23 - %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str10022) + %t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str10707) %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then33, label %else34 then33: @@ -95267,8 +106890,8 @@ else34: br i1 %t71, label %then39, label %else40 then39: %t72 = load ptr, ptr %t23 - %t73 = call ptr @fn_str_concat(ptr @.str10023, ptr %t72) - %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str10024) + %t73 = call ptr @fn_str_concat(ptr @.str10708, ptr %t72) + %t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str10709) store ptr %t74, ptr %t75 %t76 = load ptr, ptr @__stderrp %t77 = load ptr, ptr %t75 @@ -95315,7 +106938,7 @@ wend5: %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then42, label %ifend44 then42: - call void @fn_die(ptr @.str10025) + call void @fn_die(ptr @.str10710) br label %ifend44 ifend44: %t91 = load ptr, ptr %t0 @@ -95327,7 +106950,7 @@ ifend44: %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then45, label %ifend47 then45: - call void @fn_die(ptr @.str10026) + call void @fn_die(ptr @.str10711) br label %ifend47 ifend47: %t98 = load ptr, ptr %t0 @@ -95351,6 +106974,7 @@ then48: unreachable ifend50: call void @fn_maybe_splice_runtime() + call void @fn_ui_register_gotos() %t109 = load i32, ptr %t6 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 @@ -95442,7 +107066,7 @@ then69: %t155 = load ptr, ptr %t0 %t156 = call ptr @fn_base_name(ptr %t155) %t157 = call ptr @fn_strip_ludic(ptr %t156) - %t158 = call ptr @fn_str_concat(ptr @.str10027, ptr %t157) + %t158 = call ptr @fn_str_concat(ptr @.str10712, ptr %t157) store ptr %t158, ptr %t1 br label %ifend71 ifend71: @@ -95458,12 +107082,12 @@ ifend71: br i1 %t167, label %then72, label %ifend74 then72: %t168 = load ptr, ptr %t161 - %t169 = call ptr @fn_str_concat(ptr @.str10028, ptr %t168) + %t169 = call ptr @fn_str_concat(ptr @.str10713, ptr %t168) %t170 = call i32 @system(ptr %t169) br label %ifend74 ifend74: %t171 = load ptr, ptr %t1 - %t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str10029) + %t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str10714) store ptr %t172, ptr %t173 %t174 = load ptr, ptr %t173 %t175 = call i32 @fn_ir_flush(ptr %t174) @@ -95472,20 +107096,20 @@ ifend74: %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then75, label %ifend77 then75: - call void @fn_die(ptr @.str10030) + call void @fn_die(ptr @.str10715) br label %ifend77 ifend77: - %t179 = call ptr @fn_getenv_or(ptr @.str10031, ptr @.str10032) + %t179 = call ptr @fn_getenv_or(ptr @.str10716, ptr @.str10717) store ptr %t179, ptr %t180 %t181 = load ptr, ptr @L_argv %t182 = getelementptr ptr, ptr %t181, i32 0 %t183 = load ptr, ptr %t182 %t184 = call ptr @fn_dir_of(ptr %t183) - %t185 = call ptr @fn_getenv_or(ptr @.str10033, ptr %t184) + %t185 = call ptr @fn_getenv_or(ptr @.str10718, ptr %t184) %t186 = call ptr @fn_ensure_slash(ptr %t185) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t180 - %t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str10034) + %t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str10719) %t190 = load ptr, ptr %t173 %t191 = call ptr @fn_str_concat(ptr %t189, ptr %t190) store ptr %t191, ptr %t192 @@ -95494,26 +107118,26 @@ ifend77: br i1 %t194, label %then78, label %ifend80 then78: %t195 = load ptr, ptr %t187 - %t196 = call ptr @fn_path_join(ptr %t195, ptr @.str10035) + %t196 = call ptr @fn_join_path(ptr %t195, ptr @.str10720) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t192 - %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str10036) + %t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str10721) %t200 = load ptr, ptr %t197 %t201 = call ptr @fn_str_concat(ptr %t199, ptr %t200) - %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str10037) + %t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str10722) store ptr %t202, ptr %t192 %t203 = load i32, ptr @g_g_uses_audio %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then81, label %ifend83 then81: %t205 = load ptr, ptr %t187 - %t206 = call ptr @fn_path_join(ptr %t205, ptr @.str10038) + %t206 = call ptr @fn_join_path(ptr %t205, ptr @.str10723) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t192 - %t209 = call ptr @fn_str_concat(ptr %t208, ptr @.str10039) + %t209 = call ptr @fn_str_concat(ptr %t208, ptr @.str10724) %t210 = load ptr, ptr %t207 %t211 = call ptr @fn_str_concat(ptr %t209, ptr %t210) - %t212 = call ptr @fn_str_concat(ptr %t211, ptr @.str10040) + %t212 = call ptr @fn_str_concat(ptr %t211, ptr @.str10725) store ptr %t212, ptr %t192 br label %ifend83 ifend83: @@ -95524,18 +107148,18 @@ ifend80: br i1 %t214, label %then84, label %ifend86 then84: %t215 = load ptr, ptr %t187 - %t216 = call ptr @fn_path_join(ptr %t215, ptr @.str10041) + %t216 = call ptr @fn_join_path(ptr %t215, ptr @.str10726) store ptr %t216, ptr %t217 %t218 = load ptr, ptr %t192 - %t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str10042) + %t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str10727) %t220 = load ptr, ptr %t217 %t221 = call ptr @fn_str_concat(ptr %t219, ptr %t220) - %t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str10043) + %t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str10728) store ptr %t222, ptr %t192 br label %ifend86 ifend86: %t223 = load ptr, ptr %t192 - %t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str10044) + %t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str10729) %t225 = load ptr, ptr %t1 %t226 = call ptr @fn_str_concat(ptr %t224, ptr %t225) store ptr %t226, ptr %t192 @@ -95549,7 +107173,7 @@ ifend86: br i1 %t233, label %then87, label %ifend89 then87: %t234 = load ptr, ptr %t173 - %t235 = call ptr @fn_str_concat(ptr @.str10045, ptr %t234) + %t235 = call ptr @fn_str_concat(ptr @.str10730, ptr %t234) %t236 = call i32 @system(ptr %t235) br label %ifend89 ifend89: @@ -95559,7 +107183,7 @@ ifend89: %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then90, label %ifend92 then90: - call void @fn_die(ptr @.str10046) + call void @fn_die(ptr @.str10731) br label %ifend92 ifend92: %t241 = load i32, ptr %t6 diff --git a/selfhost/main.ludic b/selfhost/main.ludic index 7592de49..30cb91de 100644 --- a/selfhost/main.ludic +++ b/selfhost/main.ludic @@ -38,7 +38,7 @@ function getenv_or(name: pointer, dflt: pointer) -> pointer { return v } -# guarantee a directory string ends in '/' so path_join concatenates cleanly +# guarantee a directory string ends in '/' so join_path concatenates cleanly function ensure_slash(d: pointer) -> pointer { let n = len(d) if n == 0 { return d } @@ -63,7 +63,7 @@ function chomp(s: pointer) -> pointer { # so a version change never requires reseeding the compiler. function show_version() -> void { let home = ensure_slash(getenv_or("LUDIC_HOME", dir_of(arg(0)))) - let v = read_file(path_join(home, "VERSION")) + let v = read_file(join_path(home, "VERSION")) if (v == null) { print("ludic (version unknown)") } else { print(`ludic {chomp(v)}`) } exit(0) @@ -124,6 +124,7 @@ entry { if fmt { exit(0) } maybe_splice_runtime() + ui_register_gotos() # `goto:` buttons -> generated UiClicked listeners # a game gets a window by default; a plain program stays headless. An explicit # flag always wins. The stdout-IR path (no target) also stays headless, which @@ -160,7 +161,7 @@ entry { # would otherwise warn about on every build. var cmd = `{cc} -O2 -Wno-override-module {ll}` if g_windowed { - let cocoa = path_join(home, "runtime/native/cocoa.ll") + let cocoa = join_path(home, "runtime/native/cocoa.ll") # GameController holds no symbol cocoa.ll references directly (its classes are # reached by name through objc_getClass), so a plain -framework link gets # dead-stripped; -needed_framework forces the load command so the class is @@ -170,7 +171,7 @@ entry { # when the program actually uses it — the snd_* calls are is_windowed()-guarded # yet still live in a windowed build, so the backend must link. if g_uses_audio { - let audio = path_join(home, "runtime/native/audio.ll") + let audio = join_path(home, "runtime/native/audio.ll") cmd = `{cmd} {audio} -Wl,-needed_framework,AVFoundation` } } @@ -178,7 +179,7 @@ entry { # reached by name). Works headless too, so it is outside the windowed block — # macOS-only for now, which is where the toolchain runs. if g_uses_http { - let http = path_join(home, "runtime/native/http.ll") + let http = join_path(home, "runtime/native/http.ll") cmd = `{cmd} {http} -Wl,-needed_framework,Foundation` } cmd = `{cmd} -o {out}` diff --git a/tools/editors/jetbrains/src/main/kotlin/io/ludic/ide/LudicTokens.kt b/tools/editors/jetbrains/src/main/kotlin/io/ludic/ide/LudicTokens.kt index f0473a50..67a547b6 100644 --- a/tools/editors/jetbrains/src/main/kotlin/io/ludic/ide/LudicTokens.kt +++ b/tools/editors/jetbrains/src/main/kotlin/io/ludic/ide/LudicTokens.kt @@ -49,10 +49,10 @@ object LudicVocabulary { ) val STMT = setOf( "let", "return", "if", "else", "while", "for", "in", "spawn", "despawn", - "enable", "disable", "match", "machine", "state", "become", "where", + "enable", "disable", "match", "machine", "prefab", "state", "become", "where", "and", "or", "not", "break", "continue", "new", "emit", "cancel", "try" ) - val PRIMITIVES = setOf("int", "long", "fixed", "bool", "entity", "string", "pointer", "byte", "words", "fixeds", "pointers", "Vector", "IVec2", "Rect", "void") + val PRIMITIVES = setOf("int", "long", "fixed", "countdown", "bool", "entity", "string", "pointer", "byte", "words", "fixeds", "pointers", "Vector", "IVec2", "Rect", "void") val PHASES = setOf("Start", "Input", "FixedUpdate", "Update", "LateUpdate", "Render") val WIDGETS = setOf("panel", "col", "row", "label", "button", "image", "spacer") diff --git a/tools/editors/shared/ludic.tmLanguage.json b/tools/editors/shared/ludic.tmLanguage.json index ebc66961..854c83b6 100644 --- a/tools/editors/shared/ludic.tmLanguage.json +++ b/tools/editors/shared/ludic.tmLanguage.json @@ -172,12 +172,12 @@ }, "keyword": { "patterns": [ - { "name": "keyword.control.ludic", "match": "\\b(if|else|while|for|in|match|machine|become|return|spawn|despawn|enable|disable|where|break|continue|new|try)\\b" }, + { "name": "keyword.control.ludic", "match": "\\b(if|else|while|for|in|match|machine|prefab|become|return|spawn|despawn|enable|disable|where|break|continue|new|try)\\b" }, { "name": "keyword.operator.logical.ludic", "match": "\\b(and|or|not)\\b" }, { "name": "keyword.other.clause.ludic", "match": "\\b(phase|query|on)\\b" }, { "name": "keyword.other.ludic", "match": "\\b(import|extern)\\b" }, { "name": "storage.type.ludic", "match": "\\b(program|property|model|namespace|enum|ui|const|var|let|function|handler|entry|state|test)\\b" }, - { "name": "support.type.primitive.ludic", "match": "\\b(int|long|fixed|bool|entity|string|pointer|byte|words|fixeds|pointers|Vector|IVec2|Rect|void)\\b" }, + { "name": "support.type.primitive.ludic", "match": "\\b(int|long|fixed|countdown|bool|entity|string|pointer|byte|words|fixeds|pointers|Vector|IVec2|Rect|void)\\b" }, { "name": "constant.language.boolean.ludic", "match": "\\b(true|false|null)\\b" }, { "name": "constant.language.phase.ludic", "match": "\\b(Start|Input|FixedUpdate|Update|LateUpdate|Render)\\b" } ] diff --git a/tools/editors/vscode/syntaxes/ludic.tmLanguage.json b/tools/editors/vscode/syntaxes/ludic.tmLanguage.json index ebc66961..854c83b6 100644 --- a/tools/editors/vscode/syntaxes/ludic.tmLanguage.json +++ b/tools/editors/vscode/syntaxes/ludic.tmLanguage.json @@ -172,12 +172,12 @@ }, "keyword": { "patterns": [ - { "name": "keyword.control.ludic", "match": "\\b(if|else|while|for|in|match|machine|become|return|spawn|despawn|enable|disable|where|break|continue|new|try)\\b" }, + { "name": "keyword.control.ludic", "match": "\\b(if|else|while|for|in|match|machine|prefab|become|return|spawn|despawn|enable|disable|where|break|continue|new|try)\\b" }, { "name": "keyword.operator.logical.ludic", "match": "\\b(and|or|not)\\b" }, { "name": "keyword.other.clause.ludic", "match": "\\b(phase|query|on)\\b" }, { "name": "keyword.other.ludic", "match": "\\b(import|extern)\\b" }, { "name": "storage.type.ludic", "match": "\\b(program|property|model|namespace|enum|ui|const|var|let|function|handler|entry|state|test)\\b" }, - { "name": "support.type.primitive.ludic", "match": "\\b(int|long|fixed|bool|entity|string|pointer|byte|words|fixeds|pointers|Vector|IVec2|Rect|void)\\b" }, + { "name": "support.type.primitive.ludic", "match": "\\b(int|long|fixed|countdown|bool|entity|string|pointer|byte|words|fixeds|pointers|Vector|IVec2|Rect|void)\\b" }, { "name": "constant.language.boolean.ludic", "match": "\\b(true|false|null)\\b" }, { "name": "constant.language.phase.ludic", "match": "\\b(Start|Input|FixedUpdate|Update|LateUpdate|Render)\\b" } ] diff --git a/tools/ludic-tools/fmt.ludic b/tools/ludic-tools/fmt.ludic index e3e08d24..618cee8b 100644 --- a/tools/ludic-tools/fmt.ludic +++ b/tools/ludic-tools/fmt.ludic @@ -97,7 +97,7 @@ program LudicFmt { # ---- vocabulary classifiers ---- function is_type_word(w: pointer) -> bool { - return (w == "int") or (w == "long") or (w == "fixed") or (w == "bool") or (w == "entity") or (w == "str") or (w == "ptr") or (w == "byte") or (w == "words") or (w == "fixeds") or (w == "ptrs") or (w == "void") + return (w == "int") or (w == "long") or (w == "fixed") or (w == "countdown") or (w == "bool") or (w == "entity") or (w == "string") or (w == "pointer") or (w == "byte") or (w == "words") or (w == "fixeds") or (w == "pointers") or (w == "void") } function is_phase_word(w: pointer) -> bool { return (w == "Start") or (w == "Input") or (w == "FixedUpdate") or (w == "Update") or (w == "LateUpdate") or (w == "Render") @@ -107,7 +107,7 @@ program LudicFmt { if (w == "const") or (w == "var") or (w == "function") or (w == "extern") or (w == "handler") or (w == "entry") or (w == "event") or (w == "scene") { return true } if (w == "phase") or (w == "query") or (w == "on") or (w == "cancellable") or (w == "public") or (w == "layer") or (w == "start") { return true } if (w == "let") or (w == "return") or (w == "if") or (w == "else") or (w == "while") or (w == "for") or (w == "in") or (w == "spawn") or (w == "despawn") { return true } - if (w == "enable") or (w == "disable") or (w == "match") or (w == "machine") or (w == "state") or (w == "become") or (w == "where") { return true } + if (w == "enable") or (w == "disable") or (w == "match") or (w == "machine") or (w == "state") or (w == "become") or (w == "where") or (w == "prefab") { return true } if (w == "and") or (w == "or") or (w == "not") or (w == "break") or (w == "continue") or (w == "new") or (w == "emit") or (w == "cancel") { return true } return false } @@ -249,7 +249,7 @@ program LudicFmt { if pk == LT_ANNO and c1 and c0 == 40 { return 0 } # @anno( if c1 and c0 == 40 and ck == LT_OP { if pk == LT_ID or pk == LT_TYPE or pk == LT_PHASE { return 0 } # function move( / clear( - if pk == LT_OP { if p1 and (p0 == 41 or p0 == 93) { return 1 }; return 0 } + if pk == LT_OP { return 1 } # `= (`, `+ (`, `) (` keep a space return 1 } return 1 diff --git a/tools/ludic-tools/lsp.ludic b/tools/ludic-tools/lsp.ludic index 44801616..eb21531c 100644 --- a/tools/ludic-tools/lsp.ludic +++ b/tools/ludic-tools/lsp.ludic @@ -204,7 +204,7 @@ program LudicLsp { return c == 43 or c == 45 or c == 42 or c == 47 or c == 37 or c == 60 or c == 62 or c == 61 or c == 40 or c == 41 or c == 123 or c == 125 or c == 91 or c == 93 or c == 44 or c == 58 or c == 46 or c == 33 or c == 64 or c == 59 } function is_type_word(w: pointer) -> bool { - return (w == "int") or (w == "long") or (w == "fixed") or (w == "bool") or (w == "entity") or (w == "string") or (w == "pointer") or (w == "byte") or (w == "words") or (w == "fixeds") or (w == "pointers") or (w == "Vector") or (w == "IVec2") or (w == "Rect") or (w == "void") + return (w == "int") or (w == "long") or (w == "fixed") or (w == "countdown") or (w == "bool") or (w == "entity") or (w == "string") or (w == "pointer") or (w == "byte") or (w == "words") or (w == "fixeds") or (w == "pointers") or (w == "Vector") or (w == "IVec2") or (w == "Rect") or (w == "void") } function is_phase_word(w: pointer) -> bool { return (w == "Start") or (w == "Input") or (w == "FixedUpdate") or (w == "Update") or (w == "LateUpdate") or (w == "Render") @@ -214,7 +214,7 @@ program LudicLsp { if (w == "const") or (w == "var") or (w == "function") or (w == "extern") or (w == "handler") or (w == "entry") or (w == "event") or (w == "scene") { return true } if (w == "phase") or (w == "query") or (w == "on") or (w == "cancellable") or (w == "public") or (w == "layer") or (w == "start") { return true } if (w == "let") or (w == "return") or (w == "if") or (w == "else") or (w == "while") or (w == "for") or (w == "in") or (w == "spawn") or (w == "despawn") { return true } - if (w == "enable") or (w == "disable") or (w == "match") or (w == "machine") or (w == "state") or (w == "become") or (w == "where") { return true } + if (w == "enable") or (w == "disable") or (w == "match") or (w == "machine") or (w == "state") or (w == "become") or (w == "where") or (w == "prefab") { return true } if (w == "and") or (w == "or") or (w == "not") or (w == "break") or (w == "continue") or (w == "new") or (w == "emit") or (w == "cancel") { return true } return false } diff --git a/tools/ludic-tools/ludic_syntax.h b/tools/ludic-tools/ludic_syntax.h index b5e81587..bff8d9ed 100644 --- a/tools/ludic-tools/ludic_syntax.h +++ b/tools/ludic-tools/ludic_syntax.h @@ -67,11 +67,11 @@ static const char* LUDIC_KW_RESERVED[] = { }; static const char* LUDIC_KW_STMT[] = { "let","return","if","else","while","for","in","spawn","despawn", - "enable","disable","match","machine","state","become","where", + "enable","disable","match","machine","state","become","where","prefab", "and","or","not","break","continue","new","emit","cancel","try", 0 }; static const char* LUDIC_TYPES[] = { - "int","long","fixed","bool","entity","string","pointer","byte","words","fixeds","pointers","Vector","IVec2","Rect","void", 0 + "int","long","fixed","countdown","bool","entity","string","pointer","byte","words","fixeds","pointers","Vector","IVec2","Rect","void", 0 }; static const char* LUDIC_PHASES[] = { "Start","Input","FixedUpdate","Update","LateUpdate","Render", 0 diff --git a/tools/x/selfhost.ludic b/tools/x/selfhost.ludic index 785c59ed..d53b0f0d 100644 --- a/tools/x/selfhost.ludic +++ b/tools/x/selfhost.ludic @@ -47,6 +47,7 @@ function selfhost_frags() -> []pointer { push(f, "selfhost/backend/stdlib/emit_datetime.ludic") push(f, "selfhost/backend/stdlib/emit_colorfn.ludic") push(f, "selfhost/backend/stdlib/emit_color.ludic") + push(f, "selfhost/backend/stdlib/emit_key.ludic") push(f, "selfhost/backend/emit_new.ludic") push(f, "selfhost/backend/emit_expr.ludic") push(f, "selfhost/backend/emit_call.ludic") diff --git a/tools/x/test.ludic b/tools/x/test.ludic index 79dcb3aa..18b03c88 100644 --- a/tools/x/test.ludic +++ b/tools/x/test.ludic @@ -267,12 +267,18 @@ function cmd_test() -> int { # builtin gameplay controllers, consumed as in-repo packages (issues #57-#61) controller_case("library/core_components", "", "110 30 184 1", "core_components.ludic (ludic.core #77: canonical Position/Body/Collider imported from a package, driving esys_move, composed with a game Health component)") controller_case("library/sprite_render", "q", "1 0", "sprite_render.ludic (ludic.core #85: engine sprite-render system auto-draws a Sprite entity from its Position; respects hidden)") + controller_case("library/sprite_atlas", "q", "32 1 1 1 0", "sprite_atlas.ludic (#90 Sprite { atlas: 1 } routes esys_sprite through atlas_draw_ex: a 16x32 cell_span draws both cells, tint applies, atlas: 0 stays a table id)") controller_case("library/world_bounds", "", "184 -16 184 1 0", "world_bounds.ludic (ludic.core #84: engine world-bounds system — clamp/wrap/bounce/kill keep a Body in the play area)") controller_case("library/gameplay_foundation", "", "2 0 1 5 24 0 2 1 15 85 7 1 1", "gameplay_foundation.ludic (ludic.gameplay #57: Cooldown timer + Stats/modifier stack + Faction table + Combat cancel/mutable pipeline)") controller_case("games/platformer_demo", "", "1 1 1 1 1 1 1 1", "platformer_demo.ludic (ludic.platformer #58: gravity/land, jump apex, coyote, veto-gated double jump, wall collision + disable-system lever)") controller_case("games/platformer_scaffolding", "", "1 1 1 1 1 1", "platformer_scaffolding.ludic (ludic.platformer #58 layers 4-5: moving-platform rider carry, pickup->score, spring, hazard+Life i-frames)") controller_case("games/shooter_demo", "", "1 1 1 1 1 1 1 1 1 1 1", "shooter_demo.ludic (ludic.shooter #60: decoupled move/aim, weapon registry, projectile faction-hit, spread/ring, homing, wave spawner)") controller_case("games/npcai_demo", "", "1 1 1 1 1 1 1 1", "npcai_demo.ludic (ludic.npcai #61: perception/spot, FSM chase+attack driving the shooter weapon, utility flee, companion follower)") + controller_case("library/prefabs", "", "230159 30 0 7 44 -1 2", "prefabs.ludic (prefab chains, spawn as an expression, Prefab.spawn / spawn_at by name, self() in @OnSpawn)") + controller_case("library/component_access", "xxxxxxxx", "9 15 10 33 1 0 0 1 0 1 101 100 102 1 2 1 0", "component_access.ludic (Prop.of/has/count/despawn_all, countdown fields, enum-typed machine)") + controller_case("library/scene_menus", "xxxxxxxxxxxx", "100 200 201 1 202 300 6 7 8", "scene_menus.ludic (become from a listener, layer @Queries, scene shows / lasts, goto: buttons)") + controller_case("library/managers", "xxxxxxxxxxxx", "35046 46 251 53 900 -1 20 324 0 10 102", "managers.ludic (Map cell API, Sprite move/face/flash/blink, IVec2 geometry, List.sample, Input.move_i, Fx, audio bank, Camera.shake_for)") + controller_case("library/combat_kit", "xxxxxxxxxxxx", "6846 153196 31 107110 6000 5002 1 80 97 11 10 700 110", "combat_kit.ludic (Dash, Melee + MeleeHit, build stats in Combat.damage + Crit, Stats.add, Dungeon arena / exits / entry points, Prefs.max)") controller_case("games/rpg_demo", "", "1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1", "rpg_demo.ludic (ludic.rpg #59 all 7 modules: grid move+veto+interact, inventory+equip, crafting, quests, dialog graph, sokoban+signal gate, poison status)") spec_case("library/testing", "== 6 passed, 0 failed ==") spec_case("library/coverage", "== 3 passed, 0 failed ==")