diff --git a/LANGUAGE.md b/LANGUAGE.md index 0d16dc1b..8154fe26 100644 --- a/LANGUAGE.md +++ b/LANGUAGE.md @@ -110,6 +110,35 @@ To move an existing codebase onto modules, build it once with `LUDIC_VIS_REPORT= reference that would be refused is printed as `vis: :: . used from ` and the build goes on, so a script can add the `export`s the program already relies on. +### Types are checked before anything is emitted + +Between the parse and the emitter a checker walks every function, the entry, the tests, the +globals' initializers and every `@On` listener, and refuses a program whose types do not agree - +all of its mix-ups at once, each at its own line: + +``` +trip.ludic:12: error: metres wants an int and this is a float +trip.ludic:14: error: area takes 2 argument(s) and this call gives 1 +trip.ludic:20: error: + of a string and an int: text joins text only - write string(x) for a number +3 type error(s) +``` + +What it holds apart: `int`, `float`, `fixed` and `bool` (a float or a fixed into an int is +`int(x)`; a float and a fixed never meet but by a literal, which takes whichever kind its slot is); +text and numbers (`string(n)` or a template); one record type and another; slices of different +elements; functions of different types. A call gives exactly as many arguments as there are +parameters, a `return` gives the declared result, and `push` gives the slice's own element. + +`pointer` is untyped, as `void *` is in C: it goes wherever a reference is wanted and takes any +reference, and a `[]pointer` any slice of references. Restricting what a raw pointer may reach is +`unsafe`'s job, not the checker's. Bits cross between kinds by name - `as_int(x)` / `as_fixed(n)` +reinterpret a word, `float_bits(f)` / `float_from_bits(i)` a float's - never by a slot's type. + +A name the checker cannot type (an engine namespace's arguments, a query's bindings) agrees with +everything, so it only ever reports what it can prove; the emitter keeps its own checks behind +it. `LUDIC_CHECK_REPORT=1` lists every mix-up by category and fails nothing, which is how an +existing program is measured before it has to pass. + ## Models (entity kinds) An `model` names a *kind* of entity and the fixed set of properties it diff --git a/changes/type-checker.md b/changes/type-checker.md new file mode 100644 index 00000000..8ad267b9 --- /dev/null +++ b/changes/type-checker.md @@ -0,0 +1,16 @@ +bump: minor +type: feature +**A type checker runs before the emitter.** Numbers of different kinds, text and numbers, two +record types, slices of different elements and functions of different types no longer mix; a call +with the wrong number of arguments, a `return` of the wrong type and a `push` of the wrong element +are errors with a line - several of these reached clang as an IR error, or compiled and ran wrong. +Every mix-up is reported in one run. `pointer` stays untyped. `LUDIC_CHECK_REPORT=1` lists them by +category without failing. + +It found, and this release fixes: render3d's HDR sky scan calling the float-bits extern `f_lt` with +floats (it passed them in float registers the callee never read); `ludic.shooter`'s right-stick aim +scaling a fixed deflection by 65536 again, which overflowed past half a push and turned the aim +round; `prof.ludic` storing longs in an `[]int`; and extern calls, whose arguments are now coerced +to their parameters like a function's. Runtime functions that return text (`Json.encode`, the +value, XML, Tiled, HTTP and regex readers, `gl_get_string`) say `string`, and `Assets.ready()` +says `bool`. diff --git a/docs/language/assets/assets-ready.md b/docs/language/assets/assets-ready.md index 3eeee0aa..b8cee7f6 100644 --- a/docs/language/assets/assets-ready.md +++ b/docs/language/assets/assets-ready.md @@ -4,8 +4,8 @@ name: Assets.ready category: assets kind: namespace-method tokens: Assets.ready -sig: Assets.ready() -> int -tip: 1 once every enqueued asset has loaded. +sig: Assets.ready() -> bool +tip: true once every enqueued asset has loaded. order: 8 ns: Assets member: ready diff --git a/examples/lang/checked.ludic b/examples/lang/checked.ludic new file mode 100644 index 00000000..b1619c34 --- /dev/null +++ b/examples/lang/checked.ludic @@ -0,0 +1,23 @@ +# checked.ludic — L4: what the checker lets through. A decimal literal is whichever of float and +# fixed its slot is, an int widens into a float, a string is a pointer, a []string is a +# []pointer, null is any reference, string(p) says a pointer is text, and a named argument is +# checked against its own parameter. +# +# Running it prints: 7.5 3 12 hi 2 ok +program Checked { + numbers float + property Box { w: float = 0.0 } + function scale(by: float, n: int) -> float { return by * float(n) } + function raw_text() -> pointer { return "hi" } + function count(xs: []pointer) -> int { return len(xs) } + entry { + let f: fixed = 1.5 + let x: float = 2.5 + var b: Box = null + b = new Box { w: 3 } + let p: pointer = "any string" + let s: string = string(raw_text()) + print(`{scale(by: x, n: 3)} {int(b.w)} {int(f * 8)} {s} {count(["a", "b"])} ok`) + if p == null { print("none") } + } +} diff --git a/examples/rejected/every_error.ludic b/examples/rejected/every_error.ludic new file mode 100644 index 00000000..c1a37361 --- /dev/null +++ b/examples/rejected/every_error.ludic @@ -0,0 +1,11 @@ +# L4: every mix-up in a program is reported at once, not only the first +program EveryError { + function half(n: int) -> int { return n / 2 } + function name() -> int { return "seven" } + entry { + let on = true + print(on + 1) + print(half(1, 2)) + print(name()) + } +} diff --git a/examples/rejected/float_into_int.ludic b/examples/rejected/float_into_int.ludic new file mode 100644 index 00000000..5eb903da --- /dev/null +++ b/examples/rejected/float_into_int.ludic @@ -0,0 +1,10 @@ +# L4: a float computed into an int slot is refused - write int(x) +program FloatIntoInt { + numbers float + entry { + let speed: float = 3.2 + var metres: int = 0 + metres = speed * 2.0 + print(metres) + } +} diff --git a/examples/rejected/record_as_text.ludic b/examples/rejected/record_as_text.ludic new file mode 100644 index 00000000..9cecb770 --- /dev/null +++ b/examples/rejected/record_as_text.ludic @@ -0,0 +1,9 @@ +# L4: a record is not text; say which of its fields is meant +program RecordAsText { + property Trail { name: string = "Crater Lake" } + function sign(s: string) -> string { return "To " + s } + entry { + let t = new Trail + print(sign(t)) + } +} diff --git a/examples/rejected/record_mixup.ludic b/examples/rejected/record_mixup.ludic new file mode 100644 index 00000000..e9d28673 --- /dev/null +++ b/examples/rejected/record_mixup.ludic @@ -0,0 +1,10 @@ +# L4: one record is not another, whatever their fields +program RecordMixup { + property Door { open: bool = false } + property Key { cut: int = 0 } + entry { + let k = new Key + let d: Door = k + print(d.open) + } +} diff --git a/examples/rejected/text_plus_number.ludic b/examples/rejected/text_plus_number.ludic new file mode 100644 index 00000000..c429930a --- /dev/null +++ b/examples/rejected/text_plus_number.ludic @@ -0,0 +1,7 @@ +# L4: text joins text only; a number is written with string(n) or a template +program TextPlusNumber { + entry { + let n = 3 + print("apples: " + n) + } +} diff --git a/examples/rejected/wrong_arity.ludic b/examples/rejected/wrong_arity.ludic new file mode 100644 index 00000000..b7561e61 --- /dev/null +++ b/examples/rejected/wrong_arity.ludic @@ -0,0 +1,5 @@ +# L4: a call gives as many arguments as the function has parameters +program WrongArity { + function area(w: int, h: int) -> int { return w * h } + entry { print(area(3)) } +} diff --git a/packages/ludic.render3d/fmath.ludic b/packages/ludic.render3d/fmath.ludic index 19219419..f98e4c2a 100644 --- a/packages/ludic.render3d/fmath.ludic +++ b/packages/ludic.render3d/fmath.ludic @@ -25,8 +25,6 @@ function fr(n: int, d: int) -> float { return float(n) / float(d) } function f_neg1() -> float { return -1.0 } function f_clamp(x: float, lo: float, hi: float) -> float { return Math.min(Math.max(x, lo), hi) } function f_lerp(a: float, b: float, t: float) -> float { return a + (b - a) * t } -function f_gt(a: float, b: float) -> bool { return f_lt(b, a) != 0 } -function f_ls(a: float, b: float) -> bool { return f_lt(a, b) != 0 } function f_rad(deg: float) -> float { return deg * (PI / 180.0) } function f_fx(x: float) -> fixed { return fixed(x) } diff --git a/packages/ludic.render3d/gltf.ludic b/packages/ludic.render3d/gltf.ludic index 9c5b5493..92aa0af5 100644 --- a/packages/ludic.render3d/gltf.ludic +++ b/packages/ludic.render3d/gltf.ludic @@ -66,7 +66,7 @@ function gltf_mat_remember(name: string, diff: int, nrm: int, arm: int) -> void } var gltf_cutout: bool = false # the material being loaded is alpha-blended (a cut-out atlas) -function gltf_texture(uri: pointer, srgb: bool) -> int { +function gltf_texture(uri: string, srgb: bool) -> int { if gltf_tex_paths == null { gltf_tex_paths = new []pointer; gltf_tex_ids = words(256) } var png: string = uri let n = len(uri) @@ -82,7 +82,7 @@ function gltf_texture(uri: pointer, srgb: bool) -> int { } # the image uri behind materials[m]..index, or null -function gltf_mat_uri(mat: Val, slot: pointer) -> pointer { +function gltf_mat_uri(mat: Val, slot: pointer) -> string { var holder = mat if slot == "baseColorTexture" or slot == "metallicRoughnessTexture" { if value_has(mat, "pbrMetallicRoughness") == 0 { return null } diff --git a/packages/ludic.render3d/prof.ludic b/packages/ludic.render3d/prof.ludic index 50b04c79..e3fa3739 100644 --- a/packages/ludic.render3d/prof.ludic +++ b/packages/ludic.render3d/prof.ludic @@ -201,7 +201,7 @@ function prof_bake_add(us: long) -> void { if prof_on { prof_bake_us_cur = prof_ function prof_chunk(kind: int, band: int, count: int, us: long) -> void { if not prof_on { return } if prof_chunk_us == null { - prof_chunk_us = new []int; prof_chunk_kind = new []int + prof_chunk_us = new []long; prof_chunk_kind = new []int prof_chunk_band = new []int; prof_chunk_n = new []int } push(prof_chunk_us, us); push(prof_chunk_kind, kind) diff --git a/packages/ludic.render3d/texture.ludic b/packages/ludic.render3d/texture.ludic index 8ea347ae..b7479d1c 100644 --- a/packages/ludic.render3d/texture.ludic +++ b/packages/ludic.render3d/texture.ludic @@ -363,9 +363,9 @@ function hdr_decode(path: pointer) -> floats { out[o + 1] = Math.min(vg, 60000.0) out[o + 2] = Math.min(vb, 60000.0) let lum = vr + vg + vb - if f_lt(maxl, lum) != 0 { maxl = lum; hdr_max_x = x; hdr_max_y = y } + if maxl < lum { maxl = lum; hdr_max_x = x; hdr_max_y = y } if y < h / 2 { skye = skye + Math.min(vg, hdr_clip) * Math.cos((float(y) + 0.5) * dth) * domega } - if f_lt(hdr_clip, vg) != 0 or f_lt(hdr_clip, vr) != 0 { + if hdr_clip < vg or hdr_clip < vr { sr = sr + Math.max(vr - hdr_clip, 0.0) * domega sg = sg + Math.max(vg - hdr_clip, 0.0) * domega sb = sb + Math.max(vb - hdr_clip, 0.0) * domega diff --git a/packages/ludic.shooter/shooter.ludic b/packages/ludic.shooter/shooter.ludic index 061a59ee..7170f36d 100644 --- a/packages/ludic.shooter/shooter.ludic +++ b/packages/ludic.shooter/shooter.ludic @@ -417,7 +417,7 @@ function sh_half_w(e: int) -> int { if mode == AimMode.RightStick { let ax = Input.pad_axis(0, STICK_RIGHT_X) let ay = Input.pad_axis(0, STICK_RIGHT_Y) - if (ax != 0) or (ay != 0) { target = sh_dir_angle(ax, ay); have = 1 } + if (ax != 0) or (ay != 0) { target = sh_dir_angle_fx(ax, ay); have = 1 } } if mode == AimMode.MoveDirection { # from the movement intent let wx = td_get(e, "want_x") @@ -473,6 +473,12 @@ function sh_dir_angle(dx: int, dy: int) -> int { let r = Math.atan2(fixed(dy), fixed(dx)) return sh_wrap_deg(floor(Math.rad_to_deg(r))) } +# a stick's deflection is already fixed: fixed(dy) on it would scale it by 65536 again and +# overflow past half a push, turning the aim round +function sh_dir_angle_fx(dx: fixed, dy: fixed) -> int { + let r = Math.atan2(dy, dx) + return sh_wrap_deg(floor(Math.rad_to_deg(r))) +} function sh_wrap_deg(d: int) -> int { var a = d while a < 0 { a += 360 } @@ -494,8 +500,9 @@ function sh_spawn_bullet(owner: int, fac: int, px: int, py: int, deg: int, speed pos_set(b, "x", px) pos_set(b, "y", py) let rad = Angle.from_degrees(fixed(deg)) - pr_set(b, "vx", Angle.cos(rad) * fixed(speed)) - pr_set(b, "vy", Angle.sin(rad) * fixed(speed)) + # World.set stores a field's raw word: a fixed field is handed its bits by name + pr_set(b, "vx", as_int(Angle.cos(rad) * fixed(speed))) + pr_set(b, "vy", as_int(Angle.sin(rad) * fixed(speed))) pr_set(b, "dir", deg) pr_set(b, "speed", speed) pr_set(b, "damage", dmg) @@ -621,8 +628,8 @@ function sh_fire(owner: int, id: int) -> void { let rad = Angle.from_degrees(fixed(na)) let nvx = Angle.cos(rad) * fixed(sp) let nvy = Angle.sin(rad) * fixed(sp) - pr_set(e, "vx", nvx) - pr_set(e, "vy", nvy) + pr_set(e, "vx", as_int(nvx)) + pr_set(e, "vy", as_int(nvy)) } } # integrate (Q16.16 with subpixel remainder) diff --git a/runtime/native/atlas.ludic b/runtime/native/atlas.ludic index b352fc47..da9a1288 100644 --- a/runtime/native/atlas.ludic +++ b/runtime/native/atlas.ludic @@ -398,7 +398,7 @@ function assets_font(name: pointer) -> int { function assets_total() -> int { atlas_init(); return at_q_n } function assets_loaded() -> int { atlas_init(); return at_q_pos } -function assets_ready() -> int { atlas_init(); if at_q_pos >= at_q_n { return 1 }; return 0 } +function assets_ready() -> bool { atlas_init(); return at_q_pos >= at_q_n } # loading progress as a whole-number percent (0..100); an empty queue is 100. function assets_progress() -> int { diff --git a/runtime/native/base64.ludic b/runtime/native/base64.ludic index f752198c..47ccfa3f 100644 --- a/runtime/native/base64.ludic +++ b/runtime/native/base64.ludic @@ -62,7 +62,7 @@ function base64_decode(src: pointer) -> pointer { } # encode the bytes of NUL-terminated `src` as standard base64 (with '=' padding). -function base64_encode(src: pointer) -> pointer { +function base64_encode(src: pointer) -> string { let tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" let n = len(src) var out = "" diff --git a/runtime/native/bignum.ludic b/runtime/native/bignum.ludic index 7eee58f8..308ffaab 100644 --- a/runtime/native/bignum.ludic +++ b/runtime/native/bignum.ludic @@ -279,7 +279,7 @@ function bigint_to_int(a: BigNum) -> int { } # a limb (< 1e9) as exactly nine digits, left-padded with zeros -function bn_pad9(x: int) -> pointer { +function bn_pad9(x: int) -> string { var s = string(x) var pad = 9 - len(s) var out = "" @@ -287,7 +287,7 @@ function bn_pad9(x: int) -> pointer { return out + s } -function bigint_str(a: BigNum) -> pointer { +function bigint_str(a: BigNum) -> string { if a.sign == 0 { return "0" } var out = "" if a.sign < 0 { out = "-" } @@ -364,7 +364,7 @@ function decimal_rescale(d: Dec, places: int) -> Dec { return dec_make(m, places) } -function decimal_str(d: Dec) -> pointer { +function decimal_str(d: Dec) -> string { var neg = "" var m = d.m if m.sign < 0 { neg = "-"; m = bigint_neg(m) } diff --git a/runtime/native/gl_api.ludic b/runtime/native/gl_api.ludic index 3b3fdcdd..8b9c3704 100644 --- a/runtime/native/gl_api.ludic +++ b/runtime/native/gl_api.ludic @@ -946,7 +946,7 @@ extern function gl_get_doublev(pname: int, params: pointer) = "lgl_GetDoublev" extern function gl_get_error() -> int = "lgl_GetError" extern function gl_get_floatv(pname: int, params: pointer) = "lgl_GetFloatv" extern function gl_get_integerv(pname: int, params: pointer) = "lgl_GetIntegerv" -extern function gl_get_string(name: int) -> pointer = "lgl_GetString" +extern function gl_get_string(name: int) -> string = "lgl_GetString" extern function gl_get_tex_image(target: int, level: int, format: int, type: int, pixels: pointer) = "lgl_GetTexImage" extern function gl_get_tex_parameterfv(target: int, pname: int, params: pointer) = "lgl_GetTexParameterfv" extern function gl_get_tex_parameteriv(target: int, pname: int, params: pointer) = "lgl_GetTexParameteriv" @@ -1165,7 +1165,7 @@ extern function gl_clear_bufferiv(buffer: int, drawbuffer: int, value: pointer) extern function gl_clear_bufferuiv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferuiv" extern function gl_clear_bufferfv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferfv" extern function gl_clear_bufferfi(buffer: int, drawbuffer: int, depth: fixed, stencil: int) = "lgl_ClearBufferfi" -extern function gl_get_stringi(name: int, index: int) -> pointer = "lgl_GetStringi" +extern function gl_get_stringi(name: int, index: int) -> string = "lgl_GetStringi" extern function gl_draw_arrays_instanced(mode: int, first: int, count: int, instancecount: int) = "lgl_DrawArraysInstanced" extern function gl_draw_elements_instanced(mode: int, count: int, type: int, indices: pointer, instancecount: int) = "lgl_DrawElementsInstanced" extern function gl_tex_buffer(target: int, internalformat: int, buffer: int) = "lgl_TexBuffer" diff --git a/runtime/native/http.ludic b/runtime/native/http.ludic index 0dc70b4d..ec7df034 100644 --- a/runtime/native/http.ludic +++ b/runtime/native/http.ludic @@ -235,7 +235,7 @@ function http_ok(h: int) -> bool { return (st >= 200) and (st < 300) } -function http_text(h: int) -> pointer { +function http_text(h: int) -> string { if not http_valid(h) { return null } return h_body[h - 1] } @@ -245,7 +245,7 @@ function http_body_len(h: int) -> int { return h_blen[h - 1] } -function http_header_of(h: int, name: pointer) -> pointer { +function http_header_of(h: int, name: pointer) -> string { if not http_valid(h) { return null } let s = h - 1 if h_native[s] == 1 { return hs_header(s, name) } @@ -332,7 +332,7 @@ function http_parse(resp: pointer, len: int) -> int { # Look up a header value in a raw header block (case-insensitive), returning a # fresh NUL-terminated copy, or null if absent. Lines are "Name: value\r\n". -function http_find_header(hdr: pointer, name: pointer) -> pointer { +function http_find_header(hdr: pointer, name: pointer) -> string { if hdr == null { return null } let nlen = http_cstr_len(name) let hlen = http_cstr_len(hdr) diff --git a/runtime/native/regex_vm.ludic b/runtime/native/regex_vm.ludic index e64d2277..2cfb63aa 100644 --- a/runtime/native/regex_vm.ludic +++ b/runtime/native/regex_vm.ludic @@ -150,7 +150,7 @@ function regex_end(m: Match, n: int) -> int { if m == null or n < 0 or n > m.ng { return -1 } return m.caps[2 * n + 1] } -function regex_group(m: Match, n: int) -> pointer { +function regex_group(m: Match, n: int) -> string { if m == null or n < 0 or n > m.ng { return "" } let a = m.caps[2 * n] let b = m.caps[2 * n + 1] @@ -169,7 +169,7 @@ function rx_append(out: IVec, s: pointer, a: int, b: int) -> void { var i = a while i < b { iv_push(out, s[i] & 255); i += 1 } } -function regex_replace(str: pointer, pattern: pointer, repl: pointer) -> pointer { +function regex_replace(str: pointer, pattern: pointer, repl: pointer) -> string { let p = regex_compile(pattern) if p == null { return str } let n = rx_slen(str) diff --git a/runtime/native/tiled.ludic b/runtime/native/tiled.ludic index 1b0f481f..6dbf248a 100644 --- a/runtime/native/tiled.ludic +++ b/runtime/native/tiled.ludic @@ -647,7 +647,7 @@ function tmap_resolve(m: Tmap, gid: int) -> GidInfo { function tmap_width(m: Tmap) -> int { return m.w } function tmap_height(m: Tmap) -> int { return m.h } function tmap_layer_count(m: Tmap) -> int { return len(m.layers) } -function tmap_layer_name(m: Tmap, i: int) -> pointer { +function tmap_layer_name(m: Tmap, i: int) -> string { if i < 0 or i >= len(m.layers) { return "" } if m.layers[i].name == null { return "" } return m.layers[i].name @@ -855,7 +855,7 @@ function tmap_tileset_from_value(tv: Val) -> TmTileset { return ts } -function tiled_join(a: pointer, b: pointer) -> pointer { return Path.normalize(Path.join(a, b)) } +function tiled_join(a: pointer, b: pointer) -> string { return Path.normalize(Path.join(a, b)) } # build the runtime map from an intermediate tree, resolving external tilesets # and loading tileset images relative to `basedir`. @@ -1105,7 +1105,7 @@ function tmap_object(m: Tmap, layer: int, i: int) -> Val { # the shape of an object: "tile" (a gid object), "point", "ellipse", "polygon", # "polyline", "text", or "rectangle" (the default). -function tiled_object_shape(obj: Val) -> pointer { +function tiled_object_shape(obj: Val) -> string { if value_has(obj, "gid") == 1 { return "tile" } if value_has(obj, "point") == 1 { return "point" } if value_has(obj, "ellipse") == 1 { return "ellipse" } @@ -1132,7 +1132,7 @@ function tiled_prop_node(container: Val, name: pointer) -> Val { # a property's raw string value, with a fallback to the object's custom-type # default (objecttypes.xml, via the type table). "" when absent everywhere. -function tiled_prop_str(container: Val, name: pointer) -> pointer { +function tiled_prop_str(container: Val, name: pointer) -> string { let p = tiled_prop_node(container, name) if value_kind(p) == 6 { return value_as_str(value_get(p, "value")) } # fall back to the container's class default @@ -1153,7 +1153,7 @@ function tiled_prop_int(container: Val, name: pointer) -> int { return xml_atoi(s) } -function tiled_prop_type(container: Val, name: pointer) -> pointer { +function tiled_prop_type(container: Val, name: pointer) -> string { let p = tiled_prop_node(container, name) if value_kind(p) == 6 { return value_as_str(value_get(p, "type")) } let cls = value_as_str(value_get(container, "type")) @@ -1353,13 +1353,13 @@ function tmap_layer_kind(m: Tmap, layer: int) -> int { if layer < 0 or layer >= len(m.layers) { return -1 } return m.layers[layer].kind } -function tmap_layer_opacity(m: Tmap, layer: int) -> pointer { +function tmap_layer_opacity(m: Tmap, layer: int) -> string { if layer < 0 or layer >= len(m.layers) { return "" } let op = value_get(m.layers[layer].data, "opacity") if value_kind(op) == 0 { return "1" } return value_as_str(op) } -function tmap_layer_tint(m: Tmap, layer: int) -> pointer { +function tmap_layer_tint(m: Tmap, layer: int) -> string { if layer < 0 or layer >= len(m.layers) { return "" } return value_as_str(value_get(m.layers[layer].data, "tintcolor")) } diff --git a/runtime/native/value.ludic b/runtime/native/value.ludic index b03aa89d..7da68051 100644 --- a/runtime/native/value.ludic +++ b/runtime/native/value.ludic @@ -54,12 +54,12 @@ function value_put(obj: Val, key: pointer, item: Val) -> Val { function value_kind(v: Val) -> int { return v.tag } function value_count(v: Val) -> int { return len(v.kids) } function value_as_int(v: Val) -> int { return v.num } -function value_as_str(v: Val) -> pointer { if v.txt == null { return "" }; return v.txt } +function value_as_str(v: Val) -> string { if v.txt == null { return "" }; return v.txt } function value_at(list: Val, i: int) -> Val { if i < 0 or i >= len(list.kids) { return value_null() } return list.kids[i] } -function value_key_at(obj: Val, i: int) -> pointer { +function value_key_at(obj: Val, i: int) -> string { if i < 0 or i >= len(obj.keys) { return "" } return obj.keys[i] } @@ -76,7 +76,7 @@ function value_has(obj: Val, key: pointer) -> int { # --- JSON encode ------------------------------------------------------------ # escape a string's `"` `\` and newline, wrapping it in quotes. -function json_quote(s: pointer) -> pointer { +function json_quote(s: pointer) -> string { var out = "\"" var i = 0 let n = len(s) @@ -96,7 +96,7 @@ function json_quote(s: pointer) -> pointer { # remainder hits zero. This is the exact inverse of jp_number's fixed decode, so # a value_fixed round-trips through JSON bit-for-bit; short values (0.5, 2.0) stay # short. Each step keeps frac < 655360, well within i32. -function json_fixed_str(raw: int) -> pointer { +function json_fixed_str(raw: int) -> string { var a = raw var sign = "" if a < 0 { sign = "-"; a = -a } @@ -112,7 +112,7 @@ function json_fixed_str(raw: int) -> pointer { return sign + string(ip) + "." + fs } -function json_encode(v: Val) -> pointer { +function json_encode(v: Val) -> string { if v.tag == 0 { return "null" } if v.tag == 1 { return string(v.num) } if v.tag == 2 { return json_fixed_str(v.num) } @@ -172,7 +172,7 @@ function jp_value(p: JP) -> Val { } # read a quoted string (cursor on the opening quote) -> the unescaped contents. -function jp_string(p: JP) -> pointer { +function jp_string(p: JP) -> string { p.i += 1 # skip opening quote var out = "" while p.i < p.n { diff --git a/runtime/native/xml.ludic b/runtime/native/xml.ludic index 6b6886c3..05e109cc 100644 --- a/runtime/native/xml.ludic +++ b/runtime/native/xml.ludic @@ -34,8 +34,8 @@ function xml_new(tag: pointer) -> Xml { } # --- accessors -------------------------------------------------------------- -function xml_tag(n: Xml) -> pointer { if n.tag == null { return "" }; return n.tag } -function xml_text(n: Xml) -> pointer { if n.text == null { return "" }; return n.text } +function xml_tag(n: Xml) -> string { if n.tag == null { return "" }; return n.tag } +function xml_text(n: Xml) -> string { if n.text == null { return "" }; return n.text } function xml_child_count(n: Xml) -> int { return len(n.kids) } function xml_child(n: Xml, i: int) -> Xml { if i < 0 or i >= len(n.kids) { return xml_new("") } @@ -47,7 +47,7 @@ function xml_has(n: Xml, key: pointer) -> int { while i < len(n.akeys) { if n.akeys[i] == key { return 1 }; i += 1 } return 0 } -function xml_attr(n: Xml, key: pointer) -> pointer { +function xml_attr(n: Xml, key: pointer) -> string { var i = 0 while i < len(n.akeys) { if n.akeys[i] == key { return n.avals[i] }; i += 1 } return "" @@ -92,7 +92,7 @@ function xml_atoi(s: pointer) -> int { # raw run. Only bytes 0..255 of a character reference are emitted (Ludic strings # are byte strings); a code point above that is written as its low byte, which is # ample for the ASCII/Latin-1 text Tiled attributes carry. -function xml_unescape(s: pointer) -> pointer { +function xml_unescape(s: pointer) -> string { # fast path: no '&' means nothing to expand var k = 0 let m = len(s) @@ -153,7 +153,7 @@ function xml_hexval(c: int) -> int { # a one-byte string holding byte value `b` (1..255); "" for 0 (a NUL can't sit in # a Ludic string). Built by slicing a 256-byte table of every byte value. var xml_bytetab: pointer = null -function xml_byte(b: int) -> pointer { +function xml_byte(b: int) -> string { if b <= 0 { return "" } if xml_bytetab == null { let t = bytes(257) @@ -202,7 +202,7 @@ function xp_skip_misc(p: XP) -> bool { } # read a name (element or attribute): letters, digits, '_', '-', ':', '.' -function xp_name(p: XP) -> pointer { +function xp_name(p: XP) -> string { let start = p.i while p.i < p.n { let c = p.s[p.i] diff --git a/selfhost/backend/emit_call.ludic b/selfhost/backend/emit_call.ludic index f54ec8db..d06f2382 100644 --- a/selfhost/backend/emit_call.ludic +++ b/selfhost/backend/emit_call.ludic @@ -1377,13 +1377,24 @@ function emit_call(e: Node) -> Val { let ext = find_extern(name) if (ext != null) { reorder_named(e, param_labels(ext)) + # each argument is coerced to its parameter, as a function's are: passed as its own + # type, a float given to an int parameter arrived in a float register the callee + # never reads, and the callee compared whatever the integer register held + let eptys = param_types(ext) let eargs = new []pointer let eatys = new []pointer var ei = 0 - while ei < len(e.kids) { let v = emit_expr(e.kids[ei]); push(eargs, v.code); push(eatys, v.ty); ei += 1 } + while ei < len(e.kids) { + let v = emit_expr(e.kids[ei]) + var pty = v.ty + if ei < len(eptys) { pty = eptys[ei] } + push(eargs, coerce_code(v, pty)) + push(eatys, pty) + ei += 1 + } let erl = llty(ext.ty) emit(" ") - var erreg = "0" + var erreg: pointer = "0" if not (erl == "void") { erreg = nreg(); emit(erreg); emit(" = ") } emit("call "); emit(erl); emit(" @"); emit(ext.a.s); emit("(") ei = 0 @@ -1425,7 +1436,7 @@ function emit_call(e: Node) -> Val { } let rl = llty(fn2.ty) emit(" ") - var rreg = "0" + var rreg: pointer = "0" if not (rl == "void") { rreg = nreg(); emit(rreg); emit(" = ") } emit("call "); emit(rl); emit(" @fn_"); emit(cname); emit("(") i = 0 diff --git a/selfhost/backend/emit_float.ludic b/selfhost/backend/emit_float.ludic index 1a0f3f21..a8341baf 100644 --- a/selfhost/backend/emit_float.ludic +++ b/selfhost/backend/emit_float.ludic @@ -168,7 +168,7 @@ function lit_as_fixed(v: Val) -> Val { function emit_fp_bin(op: pointer, a: Val, b: Val) -> Val { if (a.ty == "fixed") and not (fixed_lit_code(b) == "") { return emit_bin_vals(op, a, lit_as_fixed(b), false) } if (b.ty == "fixed") and not (fixed_lit_code(a) == "") { return emit_bin_vals(op, lit_as_fixed(a), b, false) } - var t = "float" + var t: pointer = "float" if is_fp(a.ty) and is_fp(b.ty) { t = fp_result(a.ty, b.ty) } else { if is_fp(a.ty) { t = a.ty } else { t = b.ty } } let ac = to_fp(a, t, `the left side of {op}`) @@ -336,7 +336,7 @@ function fp_pick(meth: pointer, t: pointer, x: pointer, y: pointer) -> pointer { # the float type a Math call works in, given its already-evaluated first # argument and the static types of the rest; "" when it is not a float call function fp_math_type(first: Val, e: Node) -> pointer { - var t = "" + var t: pointer = "" if is_fp(first.ty) { t = first.ty } var i = 1 while i < len(e.kids) { diff --git a/selfhost/backend/emit_fnval.ludic b/selfhost/backend/emit_fnval.ludic index 40569dcc..3d11f57e 100644 --- a/selfhost/backend/emit_fnval.ludic +++ b/selfhost/backend/emit_fnval.ludic @@ -79,7 +79,7 @@ function emit_indirect_call(fv: Val, e: Node) -> Val { } let rl = llty(ret) emit(" ") - var rreg = "0" + var rreg: pointer = "0" if not (rl == "void") { rreg = nreg() emit(rreg) diff --git a/selfhost/backend/emit_stmt.ludic b/selfhost/backend/emit_stmt.ludic index 5f42489a..89b0f94f 100644 --- a/selfhost/backend/emit_stmt.ludic +++ b/selfhost/backend/emit_stmt.ludic @@ -28,8 +28,8 @@ function compound_op(tok: pointer) -> pointer { function emit_assign(st: Node) -> void { # resolve the target's address and type let t = st.a - var addr = "0" - var ty = "int" + var addr: pointer = "0" + var ty: pointer = "int" if t.kind == E_ID { let li = loc_find(t.s) if li >= 0 { @@ -209,7 +209,7 @@ function emit_match_tagged(st: Node, sv: Val, en: Node) -> void { let arm = st.kids[i] if arm_is_default(arm) { deflt = arm } else { - var acc = "0" + var acc: pointer = "0" var first = true var bindPat: Node = null var p = 0 @@ -262,7 +262,7 @@ function emit_match(st: Node) -> void { let arm = st.kids[i] if arm_is_default(arm) { deflt = arm } else { - var acc = "0" + var acc: pointer = "0" var first = true var p = 0 while p < len(arm.kids) { @@ -303,7 +303,7 @@ function emit_emit(st: Node) -> Val { var j = 0 while j < len(st.a.kids) { if (st.a.kids[j].s == fd.s) { av = st.a.kids[j].a }; j += 1 } let lt = llty(fd.ty) - var code = "0" + var code: pointer = "0" if (lt == "ptr") { code = "null" } if (av != null) { let v = emit_expr(av); code = v.code } else { if (fd.a != null) { let dv = emit_expr(fd.a); code = dv.code } } # declared default diff --git a/selfhost/backend/game/emit_machine.ludic b/selfhost/backend/game/emit_machine.ludic index 76952d1a..f3ee225c 100644 --- a/selfhost/backend/game/emit_machine.ludic +++ b/selfhost/backend/game/emit_machine.ludic @@ -30,7 +30,7 @@ function machine_state_value(m: Node, state: Node) -> pointer { function emit_machine(st: Node) -> void { let gv = machine_var(st.a) - var s = "" + var s: pointer = "" if (gv != null) { s = emit_bind(`load i32, ptr @g_{st.a.s}`) } else { let regv = emit_expr(st.a) diff --git a/selfhost/backend/game/emit_query.ludic b/selfhost/backend/game/emit_query.ludic index 9674504f..ba1ce6d7 100644 --- a/selfhost/backend/game/emit_query.ludic +++ b/selfhost/backend/game/emit_query.ludic @@ -38,7 +38,7 @@ function emit_query(st: Node) -> void { while t < len(terms.kids) { let tm = terms.kids[t] let ak = find_arch_id(tm.s) - var ok = "0" + var ok: pointer = "0" if ak > 0 { let kp = nreg(); emit(" "); emit(kp); emit(" = getelementptr inbounds ["); emit(me); emit(" x i32], ptr @L_kind, i32 0, i32 "); emit(i1); emit("\n") let kv = emit_bind(`load i32, ptr {kp}`) diff --git a/selfhost/check/check_call.ludic b/selfhost/check/check_call.ludic new file mode 100644 index 00000000..5e2b1134 --- /dev/null +++ b/selfhost/check/check_call.ludic @@ -0,0 +1,150 @@ +# check_call.ludic — L4: a call gives each parameter the type it asks for, and as many arguments +# as there are parameters. A function, an extern, a function value (a local, a global or a +# record's field) and the builtins that convert are checked; a namespace call (Input.pad_axis) +# gives the result type of the Ludic function behind it, and its arguments are the emitter's. +function ck_params(f: Node, labels: []pointer, tys: []pointer) -> void { + var i = 0 + while i < len(f.kids) { + if f.kids[i].kind == N_PARAM { + push(labels, f.kids[i].s) + push(tys, f.kids[i].ty) + } + i += 1 + } +} +function ck_call_fn(e: Node, name: pointer, f: Node) -> pointer { + let labels = new []pointer + let tys = new []pointer + ck_params(f, labels, tys) + ck_args(e, name, labels, tys) + if f.ty == null { return "void" } + return f.ty +} +function ck_call_sig(e: Node, name: pointer, t: pointer) -> pointer { + ck_args(e, name, new []pointer, fn_ty_params(t)) + return fn_ty_ret(t) +} +function ck_label_at(labels: []pointer, s: pointer) -> int { + var i = 0 + while i < len(labels) { + if labels[i] == s { return i } + i += 1 + } + return -1 +} +function ck_args(e: Node, name: pointer, labels: []pointer, tys: []pointer) -> void { + let n = len(e.kids) + if n > 0 and e.kids[0].kind == E_FINIT { + var j = 0 + while j < n { + let fi = e.kids[j] + let vt = ck_expr(fi.a) + let at = ck_label_at(labels, fi.s) + if at >= 0 { ck_give(tys[at], vt, fi.a, `argument {fi.s} of {name}`) } + j += 1 + } + return + } + if n != len(tys) { ck_err("arity", e, `{name} takes {itoa(len(tys))} argument(s) and this call gives {itoa(n)}`) } + var i = 0 + while i < n { + let at = ck_expr(e.kids[i]) + if i < len(tys) { ck_give(tys[i], at, e.kids[i], `argument {itoa(i + 1)} of {name}`) } + i += 1 + } +} +function ck_walk_args(e: Node) -> void { + var i = 0 + while i < len(e.kids) { + ck_any(e.kids[i]) + i += 1 + } +} +# the builtins whose type is their name, and push, whose element must fit the slice +function ck_builtin(e: Node, name: pointer) -> pointer { + if (name == "string") or (name == "int") or (name == "float") or (name == "fixed") or (name == "long") or (name == "double") { + ck_walk_args(e) + return name + } + if (name == "as_int") or (name == "as_fixed") { + ck_walk_args(e) + return name[3..len(name)] + } + if (name == "len") or (name == "float_bits") { + ck_walk_args(e) + return "int" + } + if (name == "float_from_bits") { + ck_walk_args(e) + return "float" + } + if (name == "print") { + ck_walk_args(e) + return "void" + } + if (name == "push") and len(e.kids) == 2 { + let st = ck_expr(e.kids[0]) + let vt = ck_expr(e.kids[1]) + if not ck_unknown(st) and is_slice_ty(st) { ck_give(slice_elem(st), vt, e.kids[1], `push onto {ck_a(st)}`) } + return "void" + } + return null +} +function ck_call(e: Node) -> pointer { + let c = e.a + if c.kind == E_ID { return ck_call_named(e, c.s) } + if c.kind == E_MEMBER { + let b = c.a + if b.kind == E_ID and ck_local(b.s) < 0 and ck_global(b.s) == null { + # Ns.fn: the emitter's own table lowers it, supplying defaults and reordering, so the + # Ludic function behind it gives the result's type and nothing about the arguments + ck_walk_args(e) + let nf = ck_fn(ns_lower(b.s) + "_" + c.s) + if nf != null and nf.ty != null { return nf.ty } + return "?" + } + let r = ck_record(ck_expr(b)) + if r != null { + let ft = ck_field(r, c.s) + if ft != null and is_fn_type(ft) { return ck_call_sig(e, c.s, ft) } + } + ck_walk_args(e) + return "?" + } + ck_expr(c) + ck_walk_args(e) + return "?" +} +function ck_call_named(e: Node, name: pointer) -> pointer { + let li = ck_local(name) + if li >= 0 { + if is_fn_type(ck_tys[li]) { return ck_call_sig(e, name, ck_tys[li]) } + ck_walk_args(e) + return "?" + } + let bt = ck_builtin(e, name) + if bt != null { return bt } + let f = ck_fn(name) + if f != null { return ck_call_fn(e, name, f) } + let x = ck_extern(name) + if x != null { return ck_call_fn(e, name, x) } + let g = ck_global(name) + if g != null and is_fn_type(g.ty) { return ck_call_sig(e, name, g.ty) } + ck_walk_args(e) + return "?" +} +# emit E(field: v): each field gets the type the event declares for it +function ck_emit(s: Node) -> void { + let ev = find_event(s.s) + if s.a == null { return } + var i = 0 + while i < len(s.a.kids) { + let fi = s.a.kids[i] + let vt = ck_expr(fi.a) + if ev != null { + let ft = ck_field(ev, fi.s) + if ft != null { ck_give(ft, vt, fi.a, `field {fi.s} of {s.s}`) } + } + i += 1 + } +} diff --git a/selfhost/check/check_env.ludic b/selfhost/check/check_env.ludic new file mode 100644 index 00000000..912cc401 --- /dev/null +++ b/selfhost/check/check_env.ludic @@ -0,0 +1,57 @@ +# check_env.ludic — L4: the checker's scopes and its errors. A scope is a mark in one list of +# (name, type) pairs; a lookup walks it from the end, so an inner name hides an outer one. +var ck_names: []pointer = new []pointer +var ck_tys: []pointer = new []pointer +var ck_ret: pointer = "void" # the result type of the function being checked +var ck_errors: int = 0 +var ck_report: int = -1 # LUDIC_CHECK_REPORT=1: list every mix-up by category, fail nothing + +var ck_top: int = 0 # the scope stack's height; the lists only grow +function ck_bind(name: pointer, ty: pointer) -> void { + var t = ty + if (t == "null") or t == null { t = "?" } + if ck_top < len(ck_names) { + ck_names[ck_top] = name + ck_tys[ck_top] = t + } else { + push(ck_names, name) + push(ck_tys, t) + } + ck_top += 1 +} +function ck_mark() -> int { return ck_top } +function ck_pop(m: int) -> void { ck_top = m } +function ck_local(name: pointer) -> int { + var i = ck_top - 1 + while i >= 0 { + if ck_names[i] == name { return i } + i -= 1 + } + return -1 +} +function ck_reporting() -> bool { + if ck_report < 0 { + ck_report = 0 + if getenv("LUDIC_CHECK_REPORT") != null { ck_report = 1 } + } + return ck_report == 1 +} +# every mix-up is reported, not only the first: a type change shows everything it breaks at once +function ck_err(cat: pointer, n: Node, msg: pointer) -> void { + var file: pointer = "" + var line = 0 + if n != null { + if n.file != null { file = n.file } + line = n.line + } + var m = `{file}:{itoa(line)}: error: {msg}\n` + if ck_reporting() { m = `check[{cat}]: {file}:{itoa(line)}: {msg}\n` } + file_write(file_stderr(), m, len(m)) + ck_errors += 1 +} +# a value given where a type is wanted: `what` says where ("argument 2 of f", "x") +function ck_give(to: pointer, from: pointer, e: Node, what: pointer) -> void { + let cat = ck_mismatch(to, from, e) + if cat == null { return } + ck_err(cat, e, `{what} wants {ck_a(to)} and this is {ck_a(from)}`) +} diff --git a/selfhost/check/check_expr.ludic b/selfhost/check/check_expr.ludic new file mode 100644 index 00000000..3d3e0def --- /dev/null +++ b/selfhost/check/check_expr.ludic @@ -0,0 +1,132 @@ +# check_expr.ludic — L4: the type of an expression, and every mix-up inside it. Each form works +# out its operands' types first, so an error deep in an argument is found as well as one at the top. +function ck_field(r: Node, name: pointer) -> pointer { + var i = 0 + while i < len(r.kids) { + if (r.kids[i].s == name) { return r.kids[i].ty } + i += 1 + } + return null +} +# anything the checker does not type is still walked for the errors inside it +function ck_walk(e: Node) -> void { + if e == null { return } + ck_any(e.a) + ck_any(e.b) + ck_any(e.c) + var i = 0 + while i < len(e.kids) { + ck_any(e.kids[i]) + i += 1 + } +} +function ck_any(n: Node) -> void { + if n == null { return } + if n.kind == N_BLOCK { ck_block(n); return } + if n.kind == E_FINIT { ck_expr(n.a); return } + if (n.kind >= S_LET and n.kind <= S_BECOME) or n.kind == S_EMIT { ck_stmt(n); return } + ck_expr(n) +} +function ck_expr(e: Node) -> pointer { + if e == null { return "?" } + let k = e.kind + if k == E_INT { return "int" } + if k == E_FLOAT { + if is_float_file(e.file) { return "float" } + return "fixed" + } + if k == E_STR { return "string" } + if k == E_SLICE { ck_walk(e); return "string" } + if k == E_BOOL { return "bool" } + if k == E_NULL { return "null" } + if k == E_ID { return ck_id(e) } + if k == E_FNREF { + let f = ck_fn(e.s) + if f != null { return fn_sig_of(f) } + return "?" + } + if k == E_NEW { return ck_new(e) } + if k == E_LIST { return ck_list(e) } + if k == E_BIN { return ck_bin(e) } + if k == E_UN { return ck_un(e) } + if k == E_MEMBER { return ck_member(e) } + if k == E_INDEX { return ck_index_of(e) } + if k == E_CALL { return ck_call(e) } + if k == S_EMIT { ck_emit(e); return "?" } + ck_walk(e) + return "?" +} +function ck_id(e: Node) -> pointer { + let li = ck_local(e.s) + if li >= 0 { return ck_tys[li] } + let g = ck_global(e.s) + if g != null { return g.ty } + return "?" +} +function ck_new(e: Node) -> pointer { + let r = ck_record(e.s) + if e.a != null { + var i = 0 + while i < len(e.a.kids) { + let fi = e.a.kids[i] + let vt = ck_expr(fi.a) + if r != null and fi.kind == E_FINIT { + let ft = ck_field(r, fi.s) + if ft != null { ck_give(ft, vt, fi.a, `field {fi.s} of {e.s}`) } + } + i += 1 + } + } + return e.s +} +function ck_list(e: Node) -> pointer { + var t: pointer = "?" + var i = 0 + while i < len(e.kids) { + let et = ck_expr(e.kids[i]) + if ck_unknown(t) { t = et } + else { ck_give(t, et, e.kids[i], `an element of a []{t}`) } + i += 1 + } + if ck_unknown(t) or (t == "null") { return "?" } + return "[]" + t +} +function ck_un(e: Node) -> pointer { + let t = ck_expr(e.a) + if (e.s == "not") or (e.s == "!") { + ck_cond(e.a, t) + return "bool" + } + if (e.s == "-") and (t == "bool") { ck_err("bool", e, "- on a bool") } + return t +} +function ck_member(e: Node) -> pointer { + let b = e.a + if b.kind == E_ID and ck_local(b.s) < 0 and ck_global(b.s) == null { + # a namespace, an enum or a component name: Math.PI, Color.Red, Thing.of + let en = ck_enum(b.s) + if en != null and not enum_is_tagged(en) { return b.s } + return "?" + } + let bt = ck_expr(b) + if ck_unknown(bt) { return "?" } + let r = ck_record(bt) + if r != null { + let ft = ck_field(r, e.s) + if ft != null { return ft } + } + return "?" +} +function ck_index_of(e: Node) -> pointer { + let bt = ck_expr(e.a) + let it = ck_expr(e.b) + if not ck_unknown(it) and not ck_is_int(it) { ck_err("index", e.b, `an index wants an int and this is {ck_a(it)}`) } + if ck_unknown(bt) { return "?" } + if is_slice_ty(bt) { return slice_elem(bt) } + if (bt == "string") or (bt == "words") { return "int" } + if (bt == "floats") { return "float" } + if (bt == "doubles") { return "double" } + if (bt == "fixeds") { return "fixed" } + if (bt == "pointers") { return "pointer" } + return "?" +} diff --git a/selfhost/check/check_index.ludic b/selfhost/check/check_index.ludic new file mode 100644 index 00000000..7ffe6ec4 --- /dev/null +++ b/selfhost/check/check_index.ludic @@ -0,0 +1,74 @@ +# check_index.ludic — L4: the checker's name index. The emitter finds a declaration by scanning +# every one (find_fn, find_global, find_comp); a pass that asks about every call and every name +# builds a hash of them once instead. One table per kind of declaration. +const CK_SLOTS: int = 65536 +var ck_fn_k: []pointer = new []pointer +var ck_fn_v: []Node = new []Node +var ck_gl_k: []pointer = new []pointer +var ck_gl_v: []Node = new []Node +var ck_rec_k: []pointer = new []pointer +var ck_rec_v: []Node = new []Node +var ck_en_k: []pointer = new []pointer +var ck_en_v: []Node = new []Node +var ck_ex_k: []pointer = new []pointer +var ck_ex_v: []Node = new []Node + +function ck_hash(s: pointer) -> int { + var h = 5381 + var i = 0 + let n = len(s) + while i < n { + h = (h * 33 + s[i]) % 1000003 + i += 1 + } + return h % CK_SLOTS +} +function ck_tab_init(k: []pointer, v: []Node) -> void { + var i = 0 + while i < CK_SLOTS { + push(k, null) + push(v, null) + i += 1 + } +} +# the first declaration of a name wins, as it does in the emitter +function ck_tab_put(k: []pointer, v: []Node, name: pointer, d: Node) -> void { + var h = ck_hash(name) + while k[h] != null { + if k[h] == name { return } + h = (h + 1) % CK_SLOTS + } + k[h] = name + v[h] = d +} +function ck_tab_get(k: []pointer, v: []Node, name: pointer) -> Node { + if name == null { return null } + var h = ck_hash(name) + while k[h] != null { + if k[h] == name { return v[h] } + h = (h + 1) % CK_SLOTS + } + return null +} +function ck_index() -> void { + ck_tab_init(ck_fn_k, ck_fn_v) + ck_tab_init(ck_gl_k, ck_gl_v) + ck_tab_init(ck_rec_k, ck_rec_v) + ck_tab_init(ck_en_k, ck_en_v) + ck_tab_init(ck_ex_k, ck_ex_v) + var i = 0 + while i < len(prog) { + let d = prog[i] + if d.kind == N_FN { ck_tab_put(ck_fn_k, ck_fn_v, d.s, d) } + if d.kind == N_VAR or d.kind == N_CONST { ck_tab_put(ck_gl_k, ck_gl_v, d.s, d) } + if d.kind == N_COMP { ck_tab_put(ck_rec_k, ck_rec_v, d.s, d) } + if d.kind == N_ENUM { ck_tab_put(ck_en_k, ck_en_v, d.s, d) } + if d.kind == N_EXTERN { ck_tab_put(ck_ex_k, ck_ex_v, d.s, d) } + i += 1 + } +} +function ck_fn(name: pointer) -> Node { return ck_tab_get(ck_fn_k, ck_fn_v, name) } +function ck_global(name: pointer) -> Node { return ck_tab_get(ck_gl_k, ck_gl_v, name) } +function ck_record(name: pointer) -> Node { return ck_tab_get(ck_rec_k, ck_rec_v, name) } +function ck_enum(name: pointer) -> Node { return ck_tab_get(ck_en_k, ck_en_v, name) } +function ck_extern(name: pointer) -> Node { return ck_tab_get(ck_ex_k, ck_ex_v, name) } diff --git a/selfhost/check/check_ops.ludic b/selfhost/check/check_ops.ludic new file mode 100644 index 00000000..207a4bef --- /dev/null +++ b/selfhost/check/check_ops.ludic @@ -0,0 +1,84 @@ +# check_ops.ludic — L4: operators. Arithmetic keeps to one kind of number (a float never meets a +# fixed but by a literal), text joins text only, a bool is not a number, and a comparison is +# between two things of one class. +function ck_cond(e: Node, t: pointer) -> void { + if ck_unknown(t) or (t == "bool") { return } + ck_err("cond", e, `a condition wants a bool and this is {ck_a(t)}`) +} +function ck_bin(e: Node) -> pointer { + let op = e.s + let l = ck_expr(e.a) + let r = ck_expr(e.b) + return ck_binop(e, op, l, r, e.a, e.b) +} +function ck_binop(e: Node, op: pointer, l: pointer, r: pointer, a: Node, b: Node) -> pointer { + if (op == "and") or (op == "or") or (op == "&&") or (op == "||") { + ck_cond(a, l) + ck_cond(b, r) + return "bool" + } + if (op == "==") or (op == "!=") or (op == "<") or (op == ">") or (op == "<=") or (op == ">=") { + ck_compare(e, op, l, r, a, b) + return "bool" + } + if (op == "+") or (op == "-") or (op == "*") or (op == "/") or (op == "%") { return ck_arith(e, op, l, r, a, b) } + if (op == "&") or (op == "|") or (op == "^") or (op == "<<") or (op == ">>") { + if (l == "long") or (r == "long") { return "long" } + return "int" + } + return "?" +} +function ck_compare(e: Node, op: pointer, l: pointer, r: pointer, a: Node, b: Node) -> void { + if ck_unknown(l) or ck_unknown(r) or (l == "null") or (r == "null") { return } + let cl = ck_class(l) + let cr = ck_class(r) + # a pointer holding text is compared with a string all through the runtime and the compiler + if ((l == "pointer") and (cr == "string")) or ((r == "pointer") and (cl == "string")) { return } + if cl != cr { + ck_err("compare", e, `{op} between {ck_a(l)} and {ck_a(r)}`) + return + } + if ck_is_rec(l) and ck_is_rec(r) and (l != r) { ck_err("compare", e, `{op} between {ck_a(l)} and {ck_a(r)} can never be true`) } + if ck_is_lit(a) or ck_is_lit(b) { return } + if (l == "fixed") and ck_is_float(r) { ck_err("fixed", e, `{op} between a fixed and {ck_a(r)}`) } + if (r == "fixed") and ck_is_float(l) { ck_err("fixed", e, `{op} between {ck_a(l)} and a fixed`) } +} +# `string` and the untyped `pointer` are both text to an operator (the emitter's is_textish) +function ck_is_text(t: pointer) -> bool { return (t == "string") or (t == "pointer") } +function ck_arith(e: Node, op: pointer, l: pointer, r: pointer, a: Node, b: Node) -> pointer { + if ck_is_text(l) or ck_is_text(r) { + if ck_unknown(l) or ck_unknown(r) { return "string" } + if ck_is_text(l) and ck_is_text(r) and (op == "+") { return "string" } + ck_err("text", e, `{op} of {ck_a(l)} and {ck_a(r)}: text joins text only - write string(x) for a number`) + return "?" + } + if ck_unknown(l) or ck_unknown(r) { return "?" } + if (l == "bool") or (r == "bool") { + ck_err("bool", e, `{op} on a bool`) + return "?" + } + if ck_is_num(l) and ck_is_num(r) { return ck_num_result(e, op, l, r, a, b) } + ck_err("kind", e, `{op} of {ck_a(l)} and {ck_a(r)}`) + return "?" +} +# a decimal literal is whichever of float and fixed the other side is +function ck_num_result(e: Node, op: pointer, l: pointer, r: pointer, a: Node, b: Node) -> pointer { + if (l == "fixed") and ck_is_float(r) { + if ck_is_lit(b) { return "fixed" } + if ck_is_lit(a) { return r } + ck_err("fixed", e, `{op} of a fixed and {ck_a(r)}: convert one with float(x) or fixed(x)`) + return "?" + } + if (r == "fixed") and ck_is_float(l) { + if ck_is_lit(a) { return "fixed" } + if ck_is_lit(b) { return l } + ck_err("fixed", e, `{op} of {ck_a(l)} and a fixed: convert one with float(x) or fixed(x)`) + return "?" + } + if (l == "double") or (r == "double") { return "double" } + if ck_is_float(l) { return l } + if ck_is_float(r) { return r } + if (l == "fixed") or (r == "fixed") { return "fixed" } + if (l == "long") or (r == "long") { return "long" } + return "int" +} diff --git a/selfhost/check/check_stmt.ludic b/selfhost/check/check_stmt.ludic new file mode 100644 index 00000000..caff3127 --- /dev/null +++ b/selfhost/check/check_stmt.ludic @@ -0,0 +1,158 @@ +# check_stmt.ludic — L4: statements, and the pass itself. check_program runs between the parse and +# the emitter over everything the program wrote (not the runtime spliced in after it): every +# function, the entry, the tests, the globals' initializers and every @On listener with its +# event's fields in scope. ECS handler, query, spawn and machine bodies bind names the checker +# does not model, so they are left to the emitter. +function ck_block(b: Node) -> void { + if b == null { return } + if b.kind != N_BLOCK { + ck_stmt(b) + return + } + let m = ck_mark() + var i = 0 + while i < len(b.kids) { + ck_stmt(b.kids[i]) + i += 1 + } + ck_pop(m) +} +function ck_target(t: Node) -> pointer { + if t.kind == E_ID { return ck_id(t) } + return ck_expr(t) +} +function ck_let(s: Node) -> void { + var t: pointer = "?" + if s.a != null { t = ck_expr(s.a) } + if s.ty != null { + if s.a != null { ck_give(s.ty, t, s.a, s.s) } + ck_bind(s.s, s.ty) + return + } + ck_bind(s.s, t) +} +function ck_assign(s: Node) -> void { + let lt = ck_target(s.a) + let rt = ck_expr(s.b) + var what: pointer = "this assignment" + if s.a.kind == E_ID { what = s.a.s } + if s.a.kind == E_MEMBER { what = `field {s.a.s}` } + if (s.s == "=") { + ck_give(lt, rt, s.b, what) + return + } + let op = s.s[0..1] + let res = ck_binop(s, op, lt, rt, s.a, s.b) + ck_give(lt, res, s.b, what) +} +function ck_match(s: Node) -> void { + ck_expr(s.a) + var i = 0 + while i < len(s.kids) { + let arm = s.kids[i] + let m = ck_mark() + var p = 0 + while p < len(arm.kids) { + let pat = arm.kids[p] + # `Door(n) =>` binds its payload's names + if pat.kind == E_CALL { + var q = 0 + while q < len(pat.kids) { + if pat.kids[q].kind == E_ID { ck_bind(pat.kids[q].s, "?") } + q += 1 + } + } + p += 1 + } + ck_block(arm.a) + ck_pop(m) + i += 1 + } +} +function ck_stmt(s: Node) -> void { + if s == null { return } + let k = s.kind + if k == N_BLOCK { ck_block(s); return } + if k == S_LET { ck_let(s); return } + if k == S_ASSIGN { ck_assign(s); return } + if k == S_IF { + ck_cond(s.a, ck_expr(s.a)) + ck_block(s.b) + ck_block(s.c) + return + } + if k == S_WHILE { + ck_cond(s.a, ck_expr(s.a)) + ck_block(s.b) + return + } + if k == S_FOR { + ck_expr(s.a) + ck_expr(s.b) + let m = ck_mark() + ck_bind(s.s, "int") + ck_block(s.c) + ck_pop(m) + return + } + if k == S_RETURN { + if s.a == null { return } + let t = ck_expr(s.a) + if (ck_ret != "void") { ck_give(ck_ret, t, s.a, "the result") } + return + } + if k == S_EXPR { ck_expr(s.a); return } + if k == S_MATCH { ck_match(s); return } + if k == S_EMIT { ck_emit(s); return } +} +function ck_fn_body(d: Node) -> void { + let m = ck_mark() + var i = 0 + while i < len(d.kids) { + if d.kids[i].kind == N_PARAM { ck_bind(d.kids[i].s, d.kids[i].ty) } + i += 1 + } + ck_ret = d.ty + if ck_ret == null { ck_ret = "void" } + ck_block(d.a) + ck_ret = "void" + ck_pop(m) +} +function ck_listener(l: Node) -> void { + let ev = find_event(l.s) + let m = ck_mark() + if ev != null { + var i = 0 + while i < len(ev.kids) { + ck_bind(ev.kids[i].s, ev.kids[i].ty) + i += 1 + } + } + ck_ret = "void" + ck_block(l.a) + ck_pop(m) +} +# LUDIC_CHECK=0 turns the pass off, for bisecting a checker fault; nothing else should need it +function check_program() -> void { + let off = getenv("LUDIC_CHECK") + if off != null and (off == "0") { return } + ck_index() + var i = 0 + while i < g_prog_user_end { + let d = prog[i] + if d.kind == N_FN { ck_fn_body(d) } + if d.kind == N_MAIN or d.kind == N_TEST { ck_block(d.a) } + if (d.kind == N_VAR or d.kind == N_CONST) and d.a != null { ck_give(d.ty, ck_expr(d.a), d.a, d.s) } + i += 1 + } + var j = 0 + while j < len(g_onlisten) { + ck_listener(g_onlisten[j]) + j += 1 + } + if ck_errors > 0 and not ck_reporting() { + let m = `{itoa(ck_errors)} type error(s)\n` + file_write(file_stderr(), m, len(m)) + exit(1) + } +} diff --git a/selfhost/check/check_types.ludic b/selfhost/check/check_types.ludic new file mode 100644 index 00000000..a3a647f2 --- /dev/null +++ b/selfhost/check/check_types.ludic @@ -0,0 +1,84 @@ +# check_types.ludic — L4: what a type is, and what may be given where. A type is its written +# form ("int", "[]Thing", "fn(int)->bool"); "?" is a type the checker could not work out, and it +# agrees with everything, so the checker only ever reports a mix-up it can prove. "null" is the +# type of the null literal, and `pointer` is untyped: numbers, bools, text, records, slices and +# functions are kept apart, and a pointer is trusted to be whatever it is given as. +function ck_unknown(t: pointer) -> bool { return t == null or (t == "?") } +function ck_is_int(t: pointer) -> bool { + if (t == "int") or (t == "long") or (t == "byte") or (t == "i64") or (t == "u8") { return true } + let en = ck_enum(t) + if en != null { return not enum_is_tagged(en) } + return false +} +# "an int", "a float": the article a message puts before a type +function ck_a(t: pointer) -> pointer { + let c = t[0] + if c == 'a' or c == 'e' or c == 'i' or c == 'o' or c == 'u' or c == 'A' or c == 'E' or c == 'I' or c == 'O' or c == 'U' { return `an {t}` } + return `a {t}` +} +function ck_is_float(t: pointer) -> bool { return (t == "float") or (t == "double") } +function ck_is_num(t: pointer) -> bool { return ck_is_int(t) or ck_is_float(t) or (t == "fixed") } +function ck_is_rec(t: pointer) -> bool { return ck_record(t) != null } +# a value that is an address: a string, a record, a slice, a buffer, a function, a boxed enum +function ck_is_ref(t: pointer) -> bool { + if ck_is_num(t) or (t == "bool") or (t == "void") or (t == "null") { return false } + return true +} +# a literal takes the kind of the slot it is written into: `1` is a float in a float slot and +# `1.5` a fixed in a fixed one, and `-1` is as much a literal as `1` +function ck_is_lit(e: Node) -> bool { + if e == null { return false } + if e.kind == E_INT or e.kind == E_FLOAT { return true } + if e.kind == E_UN and (e.s == "-") { return ck_is_lit(e.a) } + return false +} +# the class a type belongs to, for an operator: n(umber) s(tring) b(ool) r(eference) +function ck_class(t: pointer) -> pointer { + if ck_is_num(t) { return "number" } + if (t == "string") { return "string" } + if (t == "bool") { return "bool" } + return "reference" +} + +# may a value of type `from` (the expression `e`) be given where `to` is wanted? null when it +# may; otherwise the category of the mix-up, which is also how the report groups them +function ck_mismatch(to: pointer, from: pointer, e: Node) -> pointer { + if ck_unknown(to) or ck_unknown(from) { return null } + if (to == from) or (to == "void") { return null } + if (from == "null") { + if ck_is_ref(to) { return null } + return "null" + } + if (to == "bool") or (from == "bool") { return "bool" } + # a decimal literal is whichever of float and fixed its slot is + if ck_is_lit(e) and ((from == "fixed") or ck_is_float(from)) and ((to == "fixed") or ck_is_float(to)) { return null } + if ck_is_int(to) { + if ck_is_int(from) { return null } + if ck_is_num(from) { return "narrowing" } + return "kind" + } + if ck_is_float(to) { + if ck_is_int(from) or ck_is_float(from) { return null } + if (from == "fixed") { return "fixed" } + return "kind" + } + if (to == "fixed") { + if ck_is_int(from) { return null } + if ck_is_float(from) and ck_is_lit(e) { return null } + if ck_is_float(from) { return "fixed" } + return "kind" + } + if ck_is_num(from) { return "kind" } + # `pointer` is the untyped reference, C's void *: it goes anywhere a reference does, and a + # reference goes into it. What it may hold is L7's question (unsafe), not this pass's. + if (to == "pointer") or (from == "pointer") { return null } + if (to == "string") { return "kind" } + if ck_is_rec(to) and ck_is_rec(from) { return "record" } + if ck_is_rec(to) and ((from == "string") or is_slice_ty(from)) { return "kind" } + # a []string is a []pointer that holds only text, and a []pointer is untyped + if (to == "[]pointer") or (from == "[]pointer") { return null } + if is_slice_ty(to) and is_slice_ty(from) { return "slice" } + if is_fn_type(to) and is_fn_type(from) { return "fn" } + if (from == "string") and (ck_is_rec(to) or is_slice_ty(to) or is_fn_type(to)) { return "kind" } + return null +} diff --git a/selfhost/frontend/parse.ludic b/selfhost/frontend/parse.ludic index fbaa3e89..69256f51 100644 --- a/selfhost/frontend/parse.ludic +++ b/selfhost/frontend/parse.ludic @@ -105,7 +105,7 @@ function ptype() -> pointer { if is_op(",") { pi += 1 } } eat_op(")") - var r = "void" + var r: pointer = "void" if is_op("->") { pi += 1 r = ptype() diff --git a/selfhost/ludicc.seed.ll b/selfhost/ludicc.seed.ll index e22c5eb3..0e37ba13 100644 --- a/selfhost/ludicc.seed.ll +++ b/selfhost/ludicc.seed.ll @@ -201,6 +201,22 @@ declare void @hs_free(i32) @g_g_fp_decls = internal global ptr null @g_g_prevals = internal global ptr null @g_g_vis_report = internal global i32 -1 +@g_ck_fn_k = internal global ptr null +@g_ck_fn_v = internal global ptr null +@g_ck_gl_k = internal global ptr null +@g_ck_gl_v = internal global ptr null +@g_ck_rec_k = internal global ptr null +@g_ck_rec_v = internal global ptr null +@g_ck_en_k = internal global ptr null +@g_ck_en_v = internal global ptr null +@g_ck_ex_k = internal global ptr null +@g_ck_ex_v = internal global ptr null +@g_ck_names = internal global ptr null +@g_ck_tys = internal global ptr null +@g_ck_ret = internal global ptr null +@g_ck_errors = internal global i32 0 +@g_ck_report = internal global i32 -1 +@g_ck_top = internal global i32 0 @g_g_iok = internal global i32 0 @g_g_snap_mode = internal global ptr null @g_g_off = internal global ptr null @@ -10512,2706 +10528,3004 @@ declare void @hs_free(i32) @.str10301 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10302 = private unnamed_addr constant [2 x i8] c")\00" @.str10303 = private unnamed_addr constant [7 x i8] c"string\00" -@.str10304 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11473: index out of range: \00" -@.str10305 = private unnamed_addr constant [3 x i8] c" \00" -@.str10306 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10307 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10308 = private unnamed_addr constant [4 x i8] c" = \00" -@.str10309 = private unnamed_addr constant [6 x i8] c"call \00" -@.str10310 = private unnamed_addr constant [3 x i8] c" @\00" -@.str10311 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10312 = private unnamed_addr constant [3 x i8] c", \00" -@.str10313 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11482: index out of range: \00" -@.str10314 = private unnamed_addr constant [2 x i8] c" \00" -@.str10315 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11482: index out of range: \00" -@.str10316 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10317 = private unnamed_addr constant [4 x i8] c"rt_\00" -@.str10318 = private unnamed_addr constant [18 x i8] c"unknown function \00" -@.str10319 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11511: index out of range: \00" -@.str10320 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11513: index out of range: \00" -@.str10321 = private unnamed_addr constant [3 x i8] c" \00" -@.str10322 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10323 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10324 = private unnamed_addr constant [4 x i8] c" = \00" -@.str10325 = private unnamed_addr constant [6 x i8] c"call \00" -@.str10326 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str10327 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10328 = private unnamed_addr constant [3 x i8] c", \00" -@.str10329 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11524: index out of range: \00" -@.str10330 = private unnamed_addr constant [2 x i8] c" \00" -@.str10331 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11524: index out of range: \00" -@.str10332 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10333 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10334 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10304 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11478: index out of range: \00" +@.str10305 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11480: index out of range: \00" +@.str10306 = private unnamed_addr constant [3 x i8] c" \00" +@.str10307 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10308 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10309 = private unnamed_addr constant [4 x i8] c" = \00" +@.str10310 = private unnamed_addr constant [6 x i8] c"call \00" +@.str10311 = private unnamed_addr constant [3 x i8] c" @\00" +@.str10312 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10313 = private unnamed_addr constant [3 x i8] c", \00" +@.str10314 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11493: index out of range: \00" +@.str10315 = private unnamed_addr constant [2 x i8] c" \00" +@.str10316 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11493: index out of range: \00" +@.str10317 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10318 = private unnamed_addr constant [4 x i8] c"rt_\00" +@.str10319 = private unnamed_addr constant [18 x i8] c"unknown function \00" +@.str10320 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11522: index out of range: \00" +@.str10321 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11524: index out of range: \00" +@.str10322 = private unnamed_addr constant [3 x i8] c" \00" +@.str10323 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10324 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10325 = private unnamed_addr constant [4 x i8] c" = \00" +@.str10326 = private unnamed_addr constant [6 x i8] c"call \00" +@.str10327 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str10328 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10329 = private unnamed_addr constant [3 x i8] c", \00" +@.str10330 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11535: index out of range: \00" +@.str10331 = private unnamed_addr constant [2 x i8] c" \00" +@.str10332 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11535: index out of range: \00" +@.str10333 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10334 = private unnamed_addr constant [2 x i8] c"0\00" @.str10335 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10336 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10336 = private unnamed_addr constant [4 x i8] c"int\00" @.str10337 = private unnamed_addr constant [6 x i8] c"float\00" -@.str10338 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str10339 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11540: index out of range: \00" -@.str10340 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str10341 = private unnamed_addr constant [5 x i8] c"null\00" -@.str10342 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str10343 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str10344 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" -@.str10345 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10338 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10339 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10340 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11551: index out of range: \00" +@.str10341 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10342 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10343 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10344 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str10345 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str10346 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str10347 = private unnamed_addr constant [2 x i8] c")\00" -@.str10348 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10347 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10348 = private unnamed_addr constant [2 x i8] c")\00" @.str10349 = private unnamed_addr constant [7 x i8] c"string\00" -@.str10350 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11562: index out of range: \00" -@.str10351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11562: index out of range: \00" -@.str10352 = private unnamed_addr constant [7 x i8] c"const \00" -@.str10353 = private unnamed_addr constant [6 x i8] c"load \00" -@.str10354 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str10355 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10356 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" -@.str10357 = private unnamed_addr constant [6 x i8] c"Color\00" -@.str10358 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" -@.str10359 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10360 = private unnamed_addr constant [4 x i8] c"Key\00" -@.str10361 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" -@.str10362 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10350 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11573: index out of range: \00" +@.str10352 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11573: index out of range: \00" +@.str10353 = private unnamed_addr constant [7 x i8] c"const \00" +@.str10354 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10355 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str10356 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10357 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" +@.str10358 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str10359 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" +@.str10360 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10361 = private unnamed_addr constant [4 x i8] c"Key\00" +@.str10362 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str10363 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10364 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str10365 = private unnamed_addr constant [2 x i8] c"x\00" -@.str10366 = private unnamed_addr constant [2 x i8] c"y\00" -@.str10367 = private unnamed_addr constant [2 x i8] c"x\00" -@.str10368 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10364 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10365 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str10366 = private unnamed_addr constant [2 x i8] c"x\00" +@.str10367 = private unnamed_addr constant [2 x i8] c"y\00" +@.str10368 = private unnamed_addr constant [2 x i8] c"x\00" @.str10369 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10370 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str10371 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str10372 = private unnamed_addr constant [9 x i8] c"zext i8 \00" -@.str10373 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str10374 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10375 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10376 = private unnamed_addr constant [6 x i8] c"fneg \00" -@.str10377 = private unnamed_addr constant [2 x i8] c" \00" -@.str10378 = private unnamed_addr constant [10 x i8] c"operator \00" -@.str10379 = private unnamed_addr constant [20 x i8] c" does not apply to \00" -@.str10380 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10381 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str10382 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str10383 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str10384 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10385 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" -@.str10386 = private unnamed_addr constant [5 x i8] c"long\00" -@.str10387 = private unnamed_addr constant [2 x i8] c"~\00" -@.str10388 = private unnamed_addr constant [9 x i8] c"xor i64 \00" -@.str10389 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str10390 = private unnamed_addr constant [5 x i8] c"long\00" -@.str10391 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10392 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str10393 = private unnamed_addr constant [2 x i8] c"~\00" -@.str10394 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str10395 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str10396 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10397 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10398 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str10399 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str10400 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str10401 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" -@.str10402 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10403 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10404 = private unnamed_addr constant [4 x i8] c"fn(\00" -@.str10405 = private unnamed_addr constant [2 x i8] c",\00" -@.str10406 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11669: index out of range: \00" -@.str10407 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10408 = private unnamed_addr constant [4 x i8] c")->\00" -@.str10409 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10410 = private unnamed_addr constant [4 x i8] c"fn \00" -@.str10411 = private unnamed_addr constant [22 x i8] c": no function called \00" -@.str10412 = private unnamed_addr constant [5 x i8] c"@fn_\00" -@.str10413 = private unnamed_addr constant [3 x i8] c"a \00" -@.str10414 = private unnamed_addr constant [8 x i8] c" takes \00" -@.str10415 = private unnamed_addr constant [35 x i8] c" argument(s), and this call gives \00" -@.str10416 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11730: index out of range: \00" -@.str10417 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11731: index out of range: \00" -@.str10418 = private unnamed_addr constant [3 x i8] c" \00" -@.str10419 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10420 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10421 = private unnamed_addr constant [4 x i8] c" = \00" -@.str10422 = private unnamed_addr constant [6 x i8] c"call \00" -@.str10423 = private unnamed_addr constant [2 x i8] c" \00" -@.str10424 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10425 = private unnamed_addr constant [3 x i8] c", \00" -@.str10426 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11746: index out of range: \00" -@.str10427 = private unnamed_addr constant [2 x i8] c" \00" -@.str10428 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11746: index out of range: \00" -@.str10429 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10430 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11758: index out of range: \00" -@.str10431 = private unnamed_addr constant [3 x i8] c"a \00" -@.str10432 = private unnamed_addr constant [40 x i8] c" is not a function and cannot be called\00" -@.str10433 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10434 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11784: index out of range: \00" -@.str10435 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10436 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11784: index out of range: \00" -@.str10437 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10438 = private unnamed_addr constant [4 x i8] c"fn \00" -@.str10439 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" -@.str10440 = private unnamed_addr constant [17 x i8] c"LUDIC_VIS_REPORT\00" -@.str10441 = private unnamed_addr constant [1 x i8] c"\00" -@.str10442 = private unnamed_addr constant [6 x i8] c"vis: \00" -@.str10443 = private unnamed_addr constant [2 x i8] c":\00" -@.str10444 = private unnamed_addr constant [3 x i8] c": \00" -@.str10445 = private unnamed_addr constant [2 x i8] c".\00" -@.str10446 = private unnamed_addr constant [12 x i8] c" used from \00" -@.str10447 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10448 = private unnamed_addr constant [23 x i8] c" is private to module \00" -@.str10449 = private unnamed_addr constant [42 x i8] c"; mark it 'export' where it is declared (\00" -@.str10450 = private unnamed_addr constant [2 x i8] c")\00" -@.str10451 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11837: index out of range: \00" -@.str10452 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10453 = private unnamed_addr constant [2 x i8] c" \00" -@.str10454 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10455 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10456 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10457 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10458 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11863: index out of range: \00" -@.str10459 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" -@.str10460 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" -@.str10461 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11864: index out of range: \00" -@.str10462 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11864: index out of range: \00" -@.str10463 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" -@.str10464 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str10465 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" -@.str10466 = private unnamed_addr constant [2 x i8] c"=\00" -@.str10467 = private unnamed_addr constant [6 x i8] c"load \00" -@.str10468 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10469 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str10470 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" -@.str10471 = private unnamed_addr constant [7 x i8] c" to i8\00" -@.str10472 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10473 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10474 = private unnamed_addr constant [5 x i8] c"then\00" -@.str10475 = private unnamed_addr constant [5 x i8] c"else\00" -@.str10476 = private unnamed_addr constant [6 x i8] c"ifend\00" -@.str10477 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10478 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10479 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10480 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10481 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10482 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10483 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10484 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10485 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10486 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10487 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10488 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10489 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10490 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10491 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10492 = private unnamed_addr constant [6 x i8] c"wcond\00" -@.str10493 = private unnamed_addr constant [6 x i8] c"wbody\00" -@.str10494 = private unnamed_addr constant [5 x i8] c"wend\00" -@.str10495 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10496 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10497 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10498 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10499 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10500 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10501 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10502 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10503 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10504 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10505 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10506 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10507 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10508 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10509 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10510 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10511 = private unnamed_addr constant [6 x i8] c"fcond\00" -@.str10512 = private unnamed_addr constant [6 x i8] c"fbody\00" -@.str10513 = private unnamed_addr constant [6 x i8] c"fcont\00" -@.str10514 = private unnamed_addr constant [5 x i8] c"fend\00" -@.str10515 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10516 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10517 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10518 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10519 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str10520 = private unnamed_addr constant [3 x i8] c", \00" -@.str10521 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10522 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10523 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10524 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10525 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10526 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10527 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10528 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10529 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10530 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str10531 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str10532 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10533 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10534 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10535 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10536 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10537 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" -@.str10538 = private unnamed_addr constant [8 x i8] c"%retval\00" -@.str10539 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10540 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10541 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11967: index out of range: \00" -@.str10542 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11983: index out of range: \00" -@.str10543 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11995: index out of range: \00" -@.str10544 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11995: index out of range: \00" -@.str10545 = private unnamed_addr constant [2 x i8] c"_\00" -@.str10546 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12005: index out of range: \00" -@.str10547 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str10548 = private unnamed_addr constant [8 x i8] c" binds \00" -@.str10549 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" -@.str10550 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12011: index out of range: \00" -@.str10551 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str10552 = private unnamed_addr constant [10 x i8] c" payload \00" -@.str10553 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" -@.str10554 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12012: index out of range: \00" -@.str10555 = private unnamed_addr constant [3 x i8] c" \00" -@.str10556 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" -@.str10557 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str10558 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10559 = private unnamed_addr constant [6 x i8] c"load \00" -@.str10560 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10561 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12018: index out of range: \00" -@.str10562 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10563 = private unnamed_addr constant [5 x i8] c"mend\00" -@.str10564 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12034: index out of range: \00" -@.str10565 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10566 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12042: index out of range: \00" -@.str10567 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str10568 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" -@.str10569 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10570 = private unnamed_addr constant [3 x i8] c", \00" -@.str10571 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str10572 = private unnamed_addr constant [3 x i8] c", \00" -@.str10573 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str10574 = private unnamed_addr constant [5 x i8] c"marm\00" -@.str10575 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10576 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10577 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10578 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10579 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10580 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10581 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10582 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10583 = private unnamed_addr constant [10 x i8] c"match on \00" -@.str10584 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" -@.str10585 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12070: index out of range: \00" -@.str10586 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" -@.str10587 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10588 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10589 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10590 = private unnamed_addr constant [5 x i8] c"mend\00" -@.str10591 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12087: index out of range: \00" -@.str10592 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10593 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12094: index out of range: \00" -@.str10594 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10595 = private unnamed_addr constant [3 x i8] c", \00" -@.str10596 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str10597 = private unnamed_addr constant [3 x i8] c", \00" -@.str10598 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str10599 = private unnamed_addr constant [5 x i8] c"marm\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 [13 x i8] c" br label %\00" -@.str10606 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10607 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10608 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10609 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10610 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10611 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" -@.str10612 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12126: index out of range: \00" -@.str10613 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12129: index out of range: \00" -@.str10614 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12129: index out of range: \00" -@.str10615 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10616 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10617 = private unnamed_addr constant [5 x i8] c"null\00" -@.str10618 = private unnamed_addr constant [3 x i8] c" \00" -@.str10619 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" -@.str10620 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str10621 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10622 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10623 = private unnamed_addr constant [3 x i8] c" \00" -@.str10624 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" -@.str10625 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10626 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10627 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12148: index out of range: \00" -@.str10628 = private unnamed_addr constant [2 x i8] c" \00" -@.str10629 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12148: index out of range: \00" -@.str10630 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10631 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10632 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12149: index out of range: \00" -@.str10633 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10634 = private unnamed_addr constant [10 x i8] c"toclients\00" -@.str10635 = private unnamed_addr constant [3 x i8] c"-1\00" -@.str10636 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str10637 = private unnamed_addr constant [14 x i8] c" call void @\00" -@.str10638 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10639 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" -@.str10640 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10641 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10642 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10643 = private unnamed_addr constant [3 x i8] c", \00" -@.str10644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12164: index out of range: \00" -@.str10645 = private unnamed_addr constant [2 x i8] c" \00" -@.str10646 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12164: index out of range: \00" -@.str10647 = private unnamed_addr constant [3 x i8] c" \00" -@.str10648 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" -@.str10649 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10650 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10651 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10652 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10653 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10654 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10655 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10656 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10657 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10658 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12198: index out of range: \00" -@.str10659 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10660 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10661 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12199: index out of range: \00" -@.str10662 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10663 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" -@.str10664 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" -@.str10665 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10666 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" -@.str10667 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12219: index out of range: \00" -@.str10668 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12219: index out of range: \00" -@.str10669 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12234: index out of range: \00" -@.str10670 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12243: index out of range: \00" -@.str10671 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12257: index out of range: \00" -@.str10672 = private unnamed_addr constant [9 x i8] c"Occluder\00" -@.str10673 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12266: index out of range: \00" -@.str10674 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" -@.str10675 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" -@.str10676 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" -@.str10677 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" -@.str10678 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" -@.str10679 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" -@.str10680 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10681 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" -@.str10682 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10683 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" -@.str10684 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10685 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" -@.str10686 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" -@.str10687 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" -@.str10688 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" -@.str10689 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10690 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12298: index out of range: \00" -@.str10691 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str10692 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str10693 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10694 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" -@.str10695 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str10696 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str10697 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" -@.str10698 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str10699 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str10700 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str10701 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str10702 = private unnamed_addr constant [5 x i8] c"@LE_\00" -@.str10703 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12313: index out of range: \00" -@.str10704 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str10705 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" -@.str10706 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12322: index out of range: \00" -@.str10707 = private unnamed_addr constant [3 x i8] c"%h\00" -@.str10708 = private unnamed_addr constant [3 x i8] c" \00" -@.str10709 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10710 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10711 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12324: index out of range: \00" -@.str10712 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str10713 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str10714 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10715 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" -@.str10716 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str10717 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" -@.str10718 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" -@.str10719 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" -@.str10720 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" -@.str10721 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str10722 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" -@.str10723 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str10724 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" -@.str10725 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" -@.str10726 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" -@.str10727 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" -@.str10728 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str10729 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str10730 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" -@.str10731 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" -@.str10732 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str10733 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" -@.str10734 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" -@.str10735 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" -@.str10736 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" -@.str10737 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str10738 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str10739 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" -@.str10740 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str10741 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str10742 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str10743 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" -@.str10744 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" -@.str10745 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" -@.str10746 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str10747 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str10748 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" -@.str10749 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str10750 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str10751 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str10752 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" -@.str10753 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" -@.str10754 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" -@.str10755 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str10756 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str10757 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12378: index out of range: \00" -@.str10758 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12378: index out of range: \00" -@.str10759 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10760 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10761 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10762 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12386: index out of range: \00" -@.str10763 = private unnamed_addr constant [6 x i8] c"qcond\00" -@.str10764 = private unnamed_addr constant [6 x i8] c"qbody\00" -@.str10765 = private unnamed_addr constant [6 x i8] c"qnext\00" -@.str10766 = private unnamed_addr constant [5 x i8] c"qend\00" -@.str10767 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10768 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10769 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10770 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10771 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" -@.str10772 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str10773 = private unnamed_addr constant [3 x i8] c", \00" +@.str10370 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10371 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str10372 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str10373 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str10374 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str10375 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10376 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10377 = private unnamed_addr constant [6 x i8] c"fneg \00" +@.str10378 = private unnamed_addr constant [2 x i8] c" \00" +@.str10379 = private unnamed_addr constant [10 x i8] c"operator \00" +@.str10380 = private unnamed_addr constant [20 x i8] c" does not apply to \00" +@.str10381 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10382 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str10383 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10384 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str10385 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10386 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" +@.str10387 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10388 = private unnamed_addr constant [2 x i8] c"~\00" +@.str10389 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str10390 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str10391 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10392 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10393 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str10394 = private unnamed_addr constant [2 x i8] c"~\00" +@.str10395 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str10396 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str10397 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10398 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10399 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str10400 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str10401 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10402 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" +@.str10403 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10404 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10405 = private unnamed_addr constant [4 x i8] c"fn(\00" +@.str10406 = private unnamed_addr constant [2 x i8] c",\00" +@.str10407 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11680: index out of range: \00" +@.str10408 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10409 = private unnamed_addr constant [4 x i8] c")->\00" +@.str10410 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10411 = private unnamed_addr constant [4 x i8] c"fn \00" +@.str10412 = private unnamed_addr constant [22 x i8] c": no function called \00" +@.str10413 = private unnamed_addr constant [5 x i8] c"@fn_\00" +@.str10414 = private unnamed_addr constant [3 x i8] c"a \00" +@.str10415 = private unnamed_addr constant [8 x i8] c" takes \00" +@.str10416 = private unnamed_addr constant [35 x i8] c" argument(s), and this call gives \00" +@.str10417 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11741: index out of range: \00" +@.str10418 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11742: index out of range: \00" +@.str10419 = private unnamed_addr constant [3 x i8] c" \00" +@.str10420 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10421 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10422 = private unnamed_addr constant [4 x i8] c" = \00" +@.str10423 = private unnamed_addr constant [6 x i8] c"call \00" +@.str10424 = private unnamed_addr constant [2 x i8] c" \00" +@.str10425 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10426 = private unnamed_addr constant [3 x i8] c", \00" +@.str10427 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11757: index out of range: \00" +@.str10428 = private unnamed_addr constant [2 x i8] c" \00" +@.str10429 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11757: index out of range: \00" +@.str10430 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10431 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11769: index out of range: \00" +@.str10432 = private unnamed_addr constant [3 x i8] c"a \00" +@.str10433 = private unnamed_addr constant [40 x i8] c" is not a function and cannot be called\00" +@.str10434 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10435 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11795: index out of range: \00" +@.str10436 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10437 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11795: index out of range: \00" +@.str10438 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10439 = private unnamed_addr constant [4 x i8] c"fn \00" +@.str10440 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" +@.str10441 = private unnamed_addr constant [17 x i8] c"LUDIC_VIS_REPORT\00" +@.str10442 = private unnamed_addr constant [1 x i8] c"\00" +@.str10443 = private unnamed_addr constant [6 x i8] c"vis: \00" +@.str10444 = private unnamed_addr constant [2 x i8] c":\00" +@.str10445 = private unnamed_addr constant [3 x i8] c": \00" +@.str10446 = private unnamed_addr constant [2 x i8] c".\00" +@.str10447 = private unnamed_addr constant [12 x i8] c" used from \00" +@.str10448 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10449 = private unnamed_addr constant [23 x i8] c" is private to module \00" +@.str10450 = private unnamed_addr constant [42 x i8] c"; mark it 'export' where it is declared (\00" +@.str10451 = private unnamed_addr constant [2 x i8] c")\00" +@.str10452 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11873: index out of range: \00" +@.str10453 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11874: index out of range: \00" +@.str10454 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11877: index out of range: \00" +@.str10455 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11878: index out of range: \00" +@.str10456 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11883: index out of range: \00" +@.str10457 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11884: index out of range: \00" +@.str10458 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11884: index out of range: \00" +@.str10459 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11897: index out of range: \00" +@.str10460 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10461 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10462 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10463 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str10464 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str10465 = private unnamed_addr constant [3 x i8] c"u8\00" +@.str10466 = private unnamed_addr constant [4 x i8] c"an \00" +@.str10467 = private unnamed_addr constant [3 x i8] c"a \00" +@.str10468 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10469 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10470 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10471 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10472 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10473 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10474 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10475 = private unnamed_addr constant [7 x i8] c"number\00" +@.str10476 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10477 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10478 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10479 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10480 = private unnamed_addr constant [10 x i8] c"reference\00" +@.str10481 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10482 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10483 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10484 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10485 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10486 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10487 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10488 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10489 = private unnamed_addr constant [10 x i8] c"narrowing\00" +@.str10490 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10491 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10492 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10493 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10494 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10495 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10496 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10497 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10498 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10499 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10500 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10501 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10502 = private unnamed_addr constant [7 x i8] c"record\00" +@.str10503 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10504 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10505 = private unnamed_addr constant [10 x i8] c"[]pointer\00" +@.str10506 = private unnamed_addr constant [10 x i8] c"[]pointer\00" +@.str10507 = private unnamed_addr constant [6 x i8] c"slice\00" +@.str10508 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str10509 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10510 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10511 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10512 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10513 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12010: index out of range: \00" +@.str10514 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12011: index out of range: \00" +@.str10515 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12023: index out of range: \00" +@.str10516 = private unnamed_addr constant [19 x i8] c"LUDIC_CHECK_REPORT\00" +@.str10517 = private unnamed_addr constant [1 x i8] c"\00" +@.str10518 = private unnamed_addr constant [2 x i8] c":\00" +@.str10519 = private unnamed_addr constant [10 x i8] c": error: \00" +@.str10520 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10521 = private unnamed_addr constant [7 x i8] c"check[\00" +@.str10522 = private unnamed_addr constant [4 x i8] c"]: \00" +@.str10523 = private unnamed_addr constant [2 x i8] c":\00" +@.str10524 = private unnamed_addr constant [3 x i8] c": \00" +@.str10525 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10526 = private unnamed_addr constant [8 x i8] c" wants \00" +@.str10527 = private unnamed_addr constant [14 x i8] c" and this is \00" +@.str10528 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12060: index out of range: \00" +@.str10529 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12060: index out of range: \00" +@.str10530 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12073: index out of range: \00" +@.str10531 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10532 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10533 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10534 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10535 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10536 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10537 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10538 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10539 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10540 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10541 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10542 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12115: index out of range: \00" +@.str10543 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10544 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12125: index out of range: \00" +@.str10545 = private unnamed_addr constant [7 x i8] c"field \00" +@.str10546 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10547 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10548 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12140: index out of range: \00" +@.str10549 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12142: index out of range: \00" +@.str10550 = private unnamed_addr constant [19 x i8] c"an element of a []\00" +@.str10551 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10552 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10553 = private unnamed_addr constant [3 x i8] c"[]\00" +@.str10554 = private unnamed_addr constant [4 x i8] c"not\00" +@.str10555 = private unnamed_addr constant [2 x i8] c"!\00" +@.str10556 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10557 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10558 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10559 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10560 = private unnamed_addr constant [12 x i8] c"- on a bool\00" +@.str10561 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10562 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10563 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10564 = private unnamed_addr constant [6 x i8] c"index\00" +@.str10565 = private unnamed_addr constant [35 x i8] c"an index wants an int and this is \00" +@.str10566 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10567 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10568 = private unnamed_addr constant [6 x i8] c"words\00" +@.str10569 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10570 = private unnamed_addr constant [7 x i8] c"floats\00" +@.str10571 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10572 = private unnamed_addr constant [8 x i8] c"doubles\00" +@.str10573 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10574 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str10575 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10576 = private unnamed_addr constant [9 x i8] c"pointers\00" +@.str10577 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10578 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10579 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10580 = private unnamed_addr constant [5 x i8] c"cond\00" +@.str10581 = private unnamed_addr constant [38 x i8] c"a condition wants a bool and this is \00" +@.str10582 = private unnamed_addr constant [4 x i8] c"and\00" +@.str10583 = private unnamed_addr constant [3 x i8] c"or\00" +@.str10584 = private unnamed_addr constant [3 x i8] c"&&\00" +@.str10585 = private unnamed_addr constant [3 x i8] c"||\00" +@.str10586 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10587 = private unnamed_addr constant [3 x i8] c"==\00" +@.str10588 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str10589 = private unnamed_addr constant [2 x i8] c"<\00" +@.str10590 = private unnamed_addr constant [2 x i8] c">\00" +@.str10591 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str10592 = private unnamed_addr constant [3 x i8] c">=\00" +@.str10593 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10594 = private unnamed_addr constant [2 x i8] c"+\00" +@.str10595 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10596 = private unnamed_addr constant [2 x i8] c"*\00" +@.str10597 = private unnamed_addr constant [2 x i8] c"/\00" +@.str10598 = private unnamed_addr constant [2 x i8] c"%\00" +@.str10599 = private unnamed_addr constant [2 x i8] c"&\00" +@.str10600 = private unnamed_addr constant [2 x i8] c"|\00" +@.str10601 = private unnamed_addr constant [2 x i8] c"^\00" +@.str10602 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str10603 = private unnamed_addr constant [3 x i8] c">>\00" +@.str10604 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10605 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10606 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10607 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10608 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10609 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10610 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10611 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10612 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10613 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10614 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10615 = private unnamed_addr constant [8 x i8] c"compare\00" +@.str10616 = private unnamed_addr constant [10 x i8] c" between \00" +@.str10617 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10618 = private unnamed_addr constant [8 x i8] c"compare\00" +@.str10619 = private unnamed_addr constant [10 x i8] c" between \00" +@.str10620 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10621 = private unnamed_addr constant [19 x i8] c" can never be true\00" +@.str10622 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10623 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10624 = private unnamed_addr constant [22 x i8] c" between a fixed and \00" +@.str10625 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10626 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10627 = private unnamed_addr constant [10 x i8] c" between \00" +@.str10628 = private unnamed_addr constant [13 x i8] c" and a fixed\00" +@.str10629 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10630 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10631 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10632 = private unnamed_addr constant [2 x i8] c"+\00" +@.str10633 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10634 = private unnamed_addr constant [5 x i8] c"text\00" +@.str10635 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10636 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10637 = private unnamed_addr constant [54 x i8] c": text joins text only - write string(x) for a number\00" +@.str10638 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10639 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10640 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10641 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10642 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10643 = private unnamed_addr constant [11 x i8] c" on a bool\00" +@.str10644 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10645 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10646 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10647 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10648 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10649 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10650 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10651 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10652 = private unnamed_addr constant [17 x i8] c" of a fixed and \00" +@.str10653 = private unnamed_addr constant [40 x i8] c": convert one with float(x) or fixed(x)\00" +@.str10654 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10655 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10656 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10657 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10658 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10659 = private unnamed_addr constant [52 x i8] c" and a fixed: convert one with float(x) or fixed(x)\00" +@.str10660 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10661 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10662 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10663 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10664 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10665 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10666 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10667 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10668 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10669 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10670 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10671 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12280: index out of range: \00" +@.str10672 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12281: index out of range: \00" +@.str10673 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12282: index out of range: \00" +@.str10674 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10675 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12302: index out of range: \00" +@.str10676 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12309: index out of range: \00" +@.str10677 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12312: index out of range: \00" +@.str10678 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12315: index out of range: \00" +@.str10679 = private unnamed_addr constant [10 x i8] c"argument \00" +@.str10680 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10681 = private unnamed_addr constant [6 x i8] c"arity\00" +@.str10682 = private unnamed_addr constant [8 x i8] c" takes \00" +@.str10683 = private unnamed_addr constant [34 x i8] c" argument(s) and this call gives \00" +@.str10684 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12323: index out of range: \00" +@.str10685 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12324: index out of range: \00" +@.str10686 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12324: index out of range: \00" +@.str10687 = private unnamed_addr constant [10 x i8] c"argument \00" +@.str10688 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10689 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12331: index out of range: \00" +@.str10690 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10691 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10692 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10693 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10694 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10695 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10696 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str10697 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str10698 = private unnamed_addr constant [4 x i8] c"len\00" +@.str10699 = private unnamed_addr constant [11 x i8] c"float_bits\00" +@.str10700 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10701 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" +@.str10702 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10703 = private unnamed_addr constant [6 x i8] c"print\00" +@.str10704 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10705 = private unnamed_addr constant [5 x i8] c"push\00" +@.str10706 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12358: index out of range: \00" +@.str10707 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12359: index out of range: \00" +@.str10708 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12360: index out of range: \00" +@.str10709 = private unnamed_addr constant [11 x i8] c"push onto \00" +@.str10710 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10711 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10712 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10713 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10714 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10715 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12393: index out of range: \00" +@.str10716 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12393: index out of range: \00" +@.str10717 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10718 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10719 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12414: index out of range: \00" +@.str10720 = private unnamed_addr constant [7 x i8] c"field \00" +@.str10721 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10722 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12438: index out of range: \00" +@.str10723 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10724 = private unnamed_addr constant [16 x i8] c"this assignment\00" +@.str10725 = private unnamed_addr constant [7 x i8] c"field \00" +@.str10726 = private unnamed_addr constant [2 x i8] c"=\00" +@.str10727 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12475: index out of range: \00" +@.str10728 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12479: index out of range: \00" +@.str10729 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12484: index out of range: \00" +@.str10730 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12484: index out of range: \00" +@.str10731 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10732 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10733 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10734 = private unnamed_addr constant [11 x i8] c"the result\00" +@.str10735 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12535: index out of range: \00" +@.str10736 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12535: index out of range: \00" +@.str10737 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12535: index out of range: \00" +@.str10738 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10739 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10740 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12550: index out of range: \00" +@.str10741 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12550: index out of range: \00" +@.str10742 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10743 = private unnamed_addr constant [12 x i8] c"LUDIC_CHECK\00" +@.str10744 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10745 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12565: index out of range: \00" +@.str10746 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12573: index out of range: \00" +@.str10747 = private unnamed_addr constant [16 x i8] c" type error(s)\0A\00" +@.str10748 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12594: index out of range: \00" +@.str10749 = private unnamed_addr constant [9 x i8] c" store \00" +@.str10750 = private unnamed_addr constant [2 x i8] c" \00" +@.str10751 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10752 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10753 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10754 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10755 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12620: index out of range: \00" +@.str10756 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" +@.str10757 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" +@.str10758 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12621: index out of range: \00" +@.str10759 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12621: index out of range: \00" +@.str10760 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" +@.str10761 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str10762 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" +@.str10763 = private unnamed_addr constant [2 x i8] c"=\00" +@.str10764 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10765 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10766 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10767 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str10768 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str10769 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10770 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10771 = private unnamed_addr constant [5 x i8] c"then\00" +@.str10772 = private unnamed_addr constant [5 x i8] c"else\00" +@.str10773 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str10774 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10775 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10776 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10777 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10778 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10779 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10780 = private unnamed_addr constant [3 x i8] c" \00" -@.str10781 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10782 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" -@.str10783 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10784 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10785 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10786 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10787 = private unnamed_addr constant [3 x i8] c"qa\00" -@.str10788 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10789 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10790 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10791 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10792 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10793 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12410: index out of range: \00" -@.str10794 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10795 = private unnamed_addr constant [3 x i8] c" \00" -@.str10796 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10797 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str10798 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10799 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10800 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10801 = private unnamed_addr constant [3 x i8] c", \00" -@.str10802 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" -@.str10803 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10804 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10805 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str10806 = private unnamed_addr constant [3 x i8] c", \00" -@.str10807 = private unnamed_addr constant [3 x i8] c" \00" -@.str10808 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10809 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10810 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10811 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10812 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str10813 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str10814 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10815 = private unnamed_addr constant [3 x i8] c"qt\00" -@.str10816 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10817 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10818 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10819 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10820 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10821 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12436: index out of range: \00" -@.str10822 = private unnamed_addr constant [3 x i8] c" \00" -@.str10823 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10824 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10825 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str10826 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10827 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10828 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10829 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str10830 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10778 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10779 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10780 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10781 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10782 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10783 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10784 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10785 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10786 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10787 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10788 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10789 = private unnamed_addr constant [6 x i8] c"wcond\00" +@.str10790 = private unnamed_addr constant [6 x i8] c"wbody\00" +@.str10791 = private unnamed_addr constant [5 x i8] c"wend\00" +@.str10792 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10793 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10794 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10795 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10796 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10797 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10798 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10799 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10800 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10801 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10802 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10803 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10804 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10805 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10806 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10807 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10808 = private unnamed_addr constant [6 x i8] c"fcond\00" +@.str10809 = private unnamed_addr constant [6 x i8] c"fbody\00" +@.str10810 = private unnamed_addr constant [6 x i8] c"fcont\00" +@.str10811 = private unnamed_addr constant [5 x i8] c"fend\00" +@.str10812 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10813 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10814 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10815 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10816 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str10817 = private unnamed_addr constant [3 x i8] c", \00" +@.str10818 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10819 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10820 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10821 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10822 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10823 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10824 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10825 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10826 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10827 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str10828 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str10829 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10830 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10831 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10832 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12443: index out of range: \00" -@.str10833 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10834 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10835 = private unnamed_addr constant [3 x i8] c"qw\00" -@.str10836 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10837 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10838 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10839 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10840 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10841 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10842 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10843 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10844 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10845 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str10846 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str10847 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10848 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10849 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10850 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10851 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10852 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str10853 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10854 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10855 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12481: index out of range: \00" -@.str10856 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" -@.str10857 = private unnamed_addr constant [3 x i8] c" \00" -@.str10858 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10859 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10860 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10861 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10862 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" -@.str10863 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10864 = private unnamed_addr constant [3 x i8] c" \00" -@.str10865 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10866 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10867 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str10868 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10869 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12498: index out of range: \00" -@.str10871 = private unnamed_addr constant [3 x i8] c" \00" -@.str10872 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str10873 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10874 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10832 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10833 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10834 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" +@.str10835 = private unnamed_addr constant [8 x i8] c"%retval\00" +@.str10836 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10837 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10838 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12724: index out of range: \00" +@.str10839 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12740: index out of range: \00" +@.str10840 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12752: index out of range: \00" +@.str10841 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12752: index out of range: \00" +@.str10842 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10843 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12762: index out of range: \00" +@.str10844 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str10845 = private unnamed_addr constant [8 x i8] c" binds \00" +@.str10846 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" +@.str10847 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12768: index out of range: \00" +@.str10848 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str10849 = private unnamed_addr constant [10 x i8] c" payload \00" +@.str10850 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" +@.str10851 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12769: index out of range: \00" +@.str10852 = private unnamed_addr constant [3 x i8] c" \00" +@.str10853 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str10854 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10855 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10856 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10857 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10858 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12775: index out of range: \00" +@.str10859 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10860 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str10861 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12791: index out of range: \00" +@.str10862 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10863 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12799: index out of range: \00" +@.str10864 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str10865 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str10866 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10867 = private unnamed_addr constant [3 x i8] c", \00" +@.str10868 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str10869 = private unnamed_addr constant [3 x i8] c", \00" +@.str10870 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str10871 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str10872 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10873 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10874 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10875 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10876 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10877 = private unnamed_addr constant [2 x i8] c" \00" -@.str10878 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10879 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10880 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12511: index out of range: \00" -@.str10881 = private unnamed_addr constant [3 x i8] c" \00" -@.str10882 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str10883 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10884 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10876 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10877 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10878 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10879 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10880 = private unnamed_addr constant [10 x i8] c"match on \00" +@.str10881 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" +@.str10882 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12827: index out of range: \00" +@.str10883 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" +@.str10884 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10885 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10886 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10887 = private unnamed_addr constant [2 x i8] c" \00" -@.str10888 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10889 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10890 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10891 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str10892 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10893 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10894 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str10895 = private unnamed_addr constant [8 x i8] c"_attach\00" -@.str10896 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10897 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10898 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10899 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12545: index out of range: \00" -@.str10900 = private unnamed_addr constant [3 x i8] c" \00" -@.str10901 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10902 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10903 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str10904 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10905 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10906 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10907 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str10908 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10909 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10910 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12559: index out of range: \00" -@.str10911 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12559: index out of range: \00" -@.str10912 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12568: index out of range: \00" -@.str10913 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12570: index out of range: \00" -@.str10914 = private unnamed_addr constant [8 x i8] c"prefab \00" -@.str10915 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" -@.str10916 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" -@.str10917 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10918 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10919 = private unnamed_addr constant [5 x i8] c"wgok\00" -@.str10920 = private unnamed_addr constant [6 x i8] c"wgbad\00" -@.str10921 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10922 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10923 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10924 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10925 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10926 = private unnamed_addr constant [2 x i8] c":\00" -@.str10927 = private unnamed_addr constant [10 x i8] c": panic: \00" -@.str10928 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" -@.str10929 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" -@.str10930 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" -@.str10931 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10932 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10933 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" -@.str10934 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10935 = private unnamed_addr constant [6 x i8] c"spawn\00" -@.str10936 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" -@.str10937 = private unnamed_addr constant [8 x i8] c"prefab \00" -@.str10938 = private unnamed_addr constant [17 x i8] c": unknown model \00" -@.str10939 = private unnamed_addr constant [3 x i8] c" \00" -@.str10940 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10941 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str10942 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10943 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str10944 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10945 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10946 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12627: index out of range: \00" -@.str10947 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str10948 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str10886 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10887 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str10888 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12844: index out of range: \00" +@.str10889 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10890 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12851: index out of range: \00" +@.str10891 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10892 = private unnamed_addr constant [3 x i8] c", \00" +@.str10893 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str10894 = private unnamed_addr constant [3 x i8] c", \00" +@.str10895 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str10896 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str10897 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10898 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10899 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10900 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10901 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10902 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10903 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10904 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10905 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10906 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10907 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10908 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" +@.str10909 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12883: index out of range: \00" +@.str10910 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12886: index out of range: \00" +@.str10911 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12886: index out of range: \00" +@.str10912 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10913 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10914 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10915 = private unnamed_addr constant [3 x i8] c" \00" +@.str10916 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" +@.str10917 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10918 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10919 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10920 = private unnamed_addr constant [3 x i8] c" \00" +@.str10921 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" +@.str10922 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10923 = private unnamed_addr constant [9 x i8] c" store \00" +@.str10924 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12905: index out of range: \00" +@.str10925 = private unnamed_addr constant [2 x i8] c" \00" +@.str10926 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12905: index out of range: \00" +@.str10927 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10928 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10929 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12906: index out of range: \00" +@.str10930 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10931 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str10932 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str10933 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str10934 = private unnamed_addr constant [14 x i8] c" call void @\00" +@.str10935 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str10936 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" +@.str10937 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10938 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10939 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10940 = private unnamed_addr constant [3 x i8] c", \00" +@.str10941 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12921: index out of range: \00" +@.str10942 = private unnamed_addr constant [2 x i8] c" \00" +@.str10943 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12921: index out of range: \00" +@.str10944 = private unnamed_addr constant [3 x i8] c" \00" +@.str10945 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" +@.str10946 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10947 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10948 = private unnamed_addr constant [4 x i8] c"int\00" @.str10949 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10950 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str10950 = private unnamed_addr constant [2 x i8] c"(\00" @.str10951 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10952 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12644: index out of range: \00" -@.str10953 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12644: index out of range: \00" -@.str10954 = private unnamed_addr constant [8 x i8] c"despawn\00" -@.str10955 = private unnamed_addr constant [3 x i8] c" \00" -@.str10956 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10957 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str10958 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10959 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10960 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12659: index out of range: \00" -@.str10961 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10962 = private unnamed_addr constant [3 x i8] c", \00" -@.str10963 = private unnamed_addr constant [3 x i8] c"dh\00" -@.str10964 = private unnamed_addr constant [4 x i8] c"dhn\00" -@.str10965 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10966 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10967 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10968 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10969 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str10970 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10971 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str10972 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str10973 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str10974 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10975 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10976 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str10977 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10978 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10979 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10980 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" -@.str10981 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10982 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" -@.str10983 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10984 = private unnamed_addr constant [3 x i8] c" \00" -@.str10985 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10986 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10987 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10988 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10989 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str10990 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" -@.str10991 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10992 = private unnamed_addr constant [7 x i8] c"attach\00" -@.str10993 = private unnamed_addr constant [8 x i8] c"attdone\00" -@.str10994 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10995 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10996 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10997 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10998 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10999 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11000 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11001 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11002 = private unnamed_addr constant [3 x i8] c" \00" -@.str11003 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11004 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11005 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11006 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11007 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str11008 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str11009 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11010 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str11011 = private unnamed_addr constant [8 x i8] c"detdone\00" -@.str11012 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11013 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11014 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11015 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11016 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11017 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str11018 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11019 = private unnamed_addr constant [3 x i8] c" \00" -@.str11020 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11021 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11022 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11023 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11024 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11025 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11026 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str11027 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11028 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11029 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str11030 = private unnamed_addr constant [8 x i8] c"_detach\00" -@.str11031 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11032 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str11033 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11034 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11035 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11036 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11037 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12727: index out of range: \00" -@.str11038 = private unnamed_addr constant [2 x i8] c"0\00" -@.str11039 = private unnamed_addr constant [2 x i8] c"1\00" -@.str11040 = private unnamed_addr constant [7 x i8] c"system\00" -@.str11041 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str11042 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str11043 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" -@.str11044 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11045 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str11046 = private unnamed_addr constant [6 x i8] c"_hide\00" -@.str11047 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str11048 = private unnamed_addr constant [6 x i8] c"_show\00" -@.str11049 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11050 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11051 = private unnamed_addr constant [3 x i8] c" \00" -@.str11052 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11053 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11054 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11055 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11056 = private unnamed_addr constant [12 x i8] c" store i8 \00" -@.str11057 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11058 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11059 = private unnamed_addr constant [3 x i8] c" \00" -@.str11060 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11061 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11062 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11063 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11064 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11065 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11066 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str11067 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11068 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11069 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str11070 = private unnamed_addr constant [9 x i8] c"_disable\00" -@.str11071 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str11072 = private unnamed_addr constant [8 x i8] c"_enable\00" -@.str11073 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11074 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str11075 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11076 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str11077 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str11078 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str11079 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11080 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str11081 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11082 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11083 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11084 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11085 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str11086 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" -@.str11087 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11088 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11089 = private unnamed_addr constant [1 x i8] c"\00" -@.str11090 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" -@.str11091 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str11092 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11093 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" -@.str11094 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str11095 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11096 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str11097 = private unnamed_addr constant [3 x i8] c", \00" -@.str11098 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" -@.str11099 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11100 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str11101 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str11102 = private unnamed_addr constant [3 x i8] c", \00" -@.str11103 = private unnamed_addr constant [5 x i8] c"hrun\00" -@.str11104 = private unnamed_addr constant [6 x i8] c"hskip\00" -@.str11105 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11106 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11107 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10952 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10953 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10954 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10955 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12955: index out of range: \00" +@.str10956 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10957 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10958 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12956: index out of range: \00" +@.str10959 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10960 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" +@.str10961 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str10962 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10963 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" +@.str10964 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12976: index out of range: \00" +@.str10965 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12976: index out of range: \00" +@.str10966 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12991: index out of range: \00" +@.str10967 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13000: index out of range: \00" +@.str10968 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13014: index out of range: \00" +@.str10969 = private unnamed_addr constant [9 x i8] c"Occluder\00" +@.str10970 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13023: index out of range: \00" +@.str10971 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" +@.str10972 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" +@.str10973 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" +@.str10974 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" +@.str10975 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" +@.str10976 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" +@.str10977 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10978 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" +@.str10979 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10980 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" +@.str10981 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10982 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" +@.str10983 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" +@.str10984 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" +@.str10985 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" +@.str10986 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10987 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13055: index out of range: \00" +@.str10988 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str10989 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str10990 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10991 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" +@.str10992 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str10993 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str10994 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" +@.str10995 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str10996 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str10997 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str10998 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str10999 = private unnamed_addr constant [5 x i8] c"@LE_\00" +@.str11000 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13070: index out of range: \00" +@.str11001 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str11002 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" +@.str11003 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13079: index out of range: \00" +@.str11004 = private unnamed_addr constant [3 x i8] c"%h\00" +@.str11005 = private unnamed_addr constant [3 x i8] c" \00" +@.str11006 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11007 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11008 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13081: index out of range: \00" +@.str11009 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str11010 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str11011 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11012 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" +@.str11013 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str11014 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" +@.str11015 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" +@.str11016 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" +@.str11017 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" +@.str11018 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11019 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" +@.str11020 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str11021 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" +@.str11022 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" +@.str11023 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" +@.str11024 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" +@.str11025 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str11026 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str11027 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" +@.str11028 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" +@.str11029 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str11030 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" +@.str11031 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" +@.str11032 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" +@.str11033 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" +@.str11034 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str11035 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str11036 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" +@.str11037 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str11038 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str11039 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str11040 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" +@.str11041 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" +@.str11042 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" +@.str11043 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str11044 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str11045 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" +@.str11046 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str11047 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str11048 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str11049 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" +@.str11050 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" +@.str11051 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" +@.str11052 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str11053 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11054 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13135: index out of range: \00" +@.str11055 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13135: index out of range: \00" +@.str11056 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11057 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11058 = private unnamed_addr constant [2 x i8] c"0\00" +@.str11059 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13143: index out of range: \00" +@.str11060 = private unnamed_addr constant [6 x i8] c"qcond\00" +@.str11061 = private unnamed_addr constant [6 x i8] c"qbody\00" +@.str11062 = private unnamed_addr constant [6 x i8] c"qnext\00" +@.str11063 = private unnamed_addr constant [5 x i8] c"qend\00" +@.str11064 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11065 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11066 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11067 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11068 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str11069 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str11070 = private unnamed_addr constant [3 x i8] c", \00" +@.str11071 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11072 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11073 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11075 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11076 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11077 = private unnamed_addr constant [3 x i8] c" \00" +@.str11078 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11079 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str11080 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11081 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11082 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11083 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11084 = private unnamed_addr constant [3 x i8] c"qa\00" +@.str11085 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11086 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11087 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11088 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11089 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11090 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13167: index out of range: \00" +@.str11091 = private unnamed_addr constant [2 x i8] c"0\00" +@.str11092 = private unnamed_addr constant [3 x i8] c" \00" +@.str11093 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11094 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str11095 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11096 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11097 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11098 = private unnamed_addr constant [3 x i8] c", \00" +@.str11099 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" +@.str11100 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11101 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11102 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str11103 = private unnamed_addr constant [3 x i8] c", \00" +@.str11104 = private unnamed_addr constant [3 x i8] c" \00" +@.str11105 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11106 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11107 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11108 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11109 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" -@.str11110 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11111 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11112 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11113 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11114 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" -@.str11115 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11116 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12840: index out of range: \00" -@.str11117 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12840: index out of range: \00" -@.str11118 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12840: index out of range: \00" -@.str11119 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str11120 = private unnamed_addr constant [11 x i8] c"esys_tween\00" -@.str11121 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" -@.str11122 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" -@.str11123 = private unnamed_addr constant [8 x i8] c"fx_tick\00" -@.str11124 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" -@.str11125 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str11126 = private unnamed_addr constant [8 x i8] c"fx_draw\00" -@.str11127 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" -@.str11128 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" -@.str11129 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" -@.str11130 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" -@.str11131 = 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" -@.str11132 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str11133 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" -@.str11134 = 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" -@.str11135 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12869: index out of range: \00" -@.str11136 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12873: index out of range: \00" -@.str11137 = private unnamed_addr constant [10 x i8] c"countdown\00" -@.str11138 = private unnamed_addr constant [2 x i8] c"c\00" -@.str11139 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11140 = private unnamed_addr constant [5 x i8] c" %h\00" -@.str11141 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11142 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11143 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" -@.str11144 = private unnamed_addr constant [6 x i8] c" %hv\00" -@.str11145 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" +@.str11109 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str11110 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str11111 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11112 = private unnamed_addr constant [3 x i8] c"qt\00" +@.str11113 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11114 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11115 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11116 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11117 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11118 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13193: index out of range: \00" +@.str11119 = private unnamed_addr constant [3 x i8] c" \00" +@.str11120 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11121 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11122 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11123 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11124 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11125 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11126 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11127 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11128 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11129 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13200: index out of range: \00" +@.str11130 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11131 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11132 = private unnamed_addr constant [3 x i8] c"qw\00" +@.str11133 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11134 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11135 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11136 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11137 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11138 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11139 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11140 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11141 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11142 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str11143 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11144 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11145 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11146 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11147 = private unnamed_addr constant [7 x i8] c" %has\00" -@.str11148 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" -@.str11149 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11150 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" -@.str11151 = private unnamed_addr constant [11 x i8] c", label %t\00" -@.str11152 = private unnamed_addr constant [11 x i8] c", label %c\00" -@.str11153 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11154 = private unnamed_addr constant [2 x i8] c"t\00" -@.str11155 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11156 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str11157 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11158 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11159 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11160 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" -@.str11161 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12885: index out of range: \00" -@.str11162 = private unnamed_addr constant [10 x i8] c"countdown\00" -@.str11163 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11164 = private unnamed_addr constant [6 x i8] c" %fa\00" -@.str11165 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str11166 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str11167 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11168 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11169 = private unnamed_addr constant [6 x i8] c" %fv\00" -@.str11170 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" -@.str11171 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11172 = private unnamed_addr constant [6 x i8] c" %fp\00" -@.str11173 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" -@.str11174 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11175 = private unnamed_addr constant [6 x i8] c" %fd\00" -@.str11176 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" -@.str11177 = private unnamed_addr constant [5 x i8] c", 1\0A\00" -@.str11178 = private unnamed_addr constant [6 x i8] c" %fn\00" -@.str11179 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" -@.str11180 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" -@.str11181 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" +@.str11147 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11148 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11149 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11150 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11151 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11152 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13238: index out of range: \00" +@.str11153 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" +@.str11154 = private unnamed_addr constant [3 x i8] c" \00" +@.str11155 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11156 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11157 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11158 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11159 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" +@.str11160 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11161 = private unnamed_addr constant [3 x i8] c" \00" +@.str11162 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11163 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11164 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11165 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11166 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11167 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13255: index out of range: \00" +@.str11168 = private unnamed_addr constant [3 x i8] c" \00" +@.str11169 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str11170 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11171 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11172 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11173 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11174 = private unnamed_addr constant [2 x i8] c" \00" +@.str11175 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11176 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11177 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13268: index out of range: \00" +@.str11178 = private unnamed_addr constant [3 x i8] c" \00" +@.str11179 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str11180 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11181 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11182 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11183 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" -@.str11184 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" -@.str11185 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11186 = private unnamed_addr constant [14 x i8] c" br label %c\00" -@.str11187 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11188 = private unnamed_addr constant [2 x i8] c"c\00" -@.str11189 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" -@.str11190 = 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" -@.str11191 = private unnamed_addr constant [4 x i8] c"int\00" -@.str11192 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11193 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11194 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" -@.str11195 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11196 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11197 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12927: index out of range: \00" -@.str11198 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12927: index out of range: \00" -@.str11199 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12936: index out of range: \00" -@.str11200 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" -@.str11201 = private unnamed_addr constant [2 x i8] c")\00" -@.str11202 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str11203 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11204 = private unnamed_addr constant [3 x i8] c"pf\00" -@.str11205 = private unnamed_addr constant [4 x i8] c"pfn\00" -@.str11206 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11207 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11208 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11209 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11210 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11211 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" -@.str11212 = private unnamed_addr constant [3 x i8] c"()\00" -@.str11213 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11214 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11215 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11216 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" -@.str11217 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" -@.str11218 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11219 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str11220 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str11221 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str11222 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str11223 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str11224 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str11225 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str11226 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str11227 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" -@.str11228 = private unnamed_addr constant [2 x i8] c"'\00" -@.str11229 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str11230 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str11231 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str11232 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str11233 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str11234 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str11235 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str11236 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" -@.str11237 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" -@.str11238 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" -@.str11239 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" -@.str11240 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" -@.str11241 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" -@.str11242 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" -@.str11243 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" -@.str11244 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" -@.str11245 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" -@.str11246 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" -@.str11247 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" -@.str11248 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" -@.str11249 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" -@.str11250 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" -@.str11251 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" -@.str11252 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" -@.str11253 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" -@.str11254 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" -@.str11255 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" -@.str11256 = private unnamed_addr constant [12 x i8] c"module_init\00" -@.str11257 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" -@.str11258 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" -@.str11259 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13029: index out of range: \00" -@.str11260 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str11261 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13029: index out of range: \00" -@.str11262 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11263 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str11264 = 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" -@.str11265 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" -@.str11266 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str11267 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" -@.str11268 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str11269 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" -@.str11270 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" -@.str11271 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" -@.str11272 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" -@.str11273 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11274 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" -@.str11275 = private unnamed_addr constant [6 x i8] c"add:\0A\00" -@.str11276 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str11277 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" -@.str11278 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" -@.str11279 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" -@.str11280 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" -@.str11281 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" -@.str11282 = 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" -@.str11283 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str11284 = private unnamed_addr constant [4 x i8] c"dsp\00" -@.str11285 = private unnamed_addr constant [4 x i8] c"dsh\00" -@.str11286 = private unnamed_addr constant [4 x i8] c"dsb\00" -@.str11287 = private unnamed_addr constant [5 x i8] c"dsdo\00" -@.str11288 = private unnamed_addr constant [4 x i8] c"dsc\00" -@.str11289 = private unnamed_addr constant [4 x i8] c"dsn\00" -@.str11290 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11291 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11292 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" -@.str11293 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11294 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11295 = private unnamed_addr constant [3 x i8] c" \00" -@.str11296 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" -@.str11297 = private unnamed_addr constant [7 x i8] c" ], [ \00" -@.str11298 = private unnamed_addr constant [4 x i8] c", %\00" -@.str11299 = private unnamed_addr constant [4 x i8] c" ]\0A\00" -@.str11300 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" -@.str11301 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str11302 = private unnamed_addr constant [3 x i8] c", \00" -@.str11303 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11304 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11305 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11306 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11307 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11308 = private unnamed_addr constant [3 x i8] c" \00" -@.str11309 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11310 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" -@.str11311 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11312 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str11313 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11314 = private unnamed_addr constant [3 x i8] c", \00" -@.str11315 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11316 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11317 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11318 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11319 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11320 = private unnamed_addr constant [3 x i8] c" \00" -@.str11321 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11322 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" -@.str11323 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11324 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str11325 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str11326 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11327 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11328 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11329 = private unnamed_addr constant [5 x i8] c":\0A \00" -@.str11330 = private unnamed_addr constant [12 x i8] c" = add i32 \00" -@.str11331 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" +@.str11183 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11184 = private unnamed_addr constant [2 x i8] c" \00" +@.str11185 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11186 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11187 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11188 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11189 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11190 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11191 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11192 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str11193 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11194 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11195 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11196 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13302: index out of range: \00" +@.str11197 = private unnamed_addr constant [3 x i8] c" \00" +@.str11198 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11199 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11200 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11201 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11202 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11203 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11204 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11205 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11206 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11207 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13316: index out of range: \00" +@.str11208 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13316: index out of range: \00" +@.str11209 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13325: index out of range: \00" +@.str11210 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13327: index out of range: \00" +@.str11211 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str11212 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" +@.str11213 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" +@.str11214 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11215 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11216 = private unnamed_addr constant [5 x i8] c"wgok\00" +@.str11217 = private unnamed_addr constant [6 x i8] c"wgbad\00" +@.str11218 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11219 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11220 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11221 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11222 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11223 = private unnamed_addr constant [2 x i8] c":\00" +@.str11224 = private unnamed_addr constant [10 x i8] c": panic: \00" +@.str11225 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" +@.str11226 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" +@.str11227 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" +@.str11228 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11229 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11230 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" +@.str11231 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11232 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str11233 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" +@.str11234 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str11235 = private unnamed_addr constant [17 x i8] c": unknown model \00" +@.str11236 = private unnamed_addr constant [3 x i8] c" \00" +@.str11237 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11238 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str11239 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11240 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11241 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11242 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11243 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13384: index out of range: \00" +@.str11244 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11245 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str11246 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11247 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11248 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11249 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13401: index out of range: \00" +@.str11250 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13401: index out of range: \00" +@.str11251 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str11252 = private unnamed_addr constant [3 x i8] c" \00" +@.str11253 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11254 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str11255 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11256 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11257 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13416: index out of range: \00" +@.str11258 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11259 = private unnamed_addr constant [3 x i8] c", \00" +@.str11260 = private unnamed_addr constant [3 x i8] c"dh\00" +@.str11261 = private unnamed_addr constant [4 x i8] c"dhn\00" +@.str11262 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11263 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11264 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11265 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11266 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str11267 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11268 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str11269 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11270 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str11271 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11272 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11273 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str11274 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11275 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11276 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11277 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" +@.str11278 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11279 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" +@.str11280 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11281 = private unnamed_addr constant [3 x i8] c" \00" +@.str11282 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11283 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11284 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11285 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11286 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str11287 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" +@.str11288 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11289 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str11290 = private unnamed_addr constant [8 x i8] c"attdone\00" +@.str11291 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11292 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11293 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11294 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11295 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11296 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11297 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11298 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11299 = private unnamed_addr constant [3 x i8] c" \00" +@.str11300 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11301 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11302 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11303 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11304 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str11305 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str11306 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11307 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str11308 = private unnamed_addr constant [8 x i8] c"detdone\00" +@.str11309 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11310 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11311 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11312 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11313 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11314 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str11315 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11316 = private unnamed_addr constant [3 x i8] c" \00" +@.str11317 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11318 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11319 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11320 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11321 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11322 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11323 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11324 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11325 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11326 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11327 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str11328 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11329 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11330 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11331 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11332 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11333 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11334 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13089: index out of range: \00" -@.str11335 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13096: index out of range: \00" -@.str11336 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" -@.str11337 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13101: index out of range: \00" -@.str11338 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11339 = private unnamed_addr constant [3 x i8] c", \00" -@.str11340 = private unnamed_addr constant [6 x i8] c"scrun\00" -@.str11341 = private unnamed_addr constant [7 x i8] c"scskip\00" -@.str11342 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11343 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11344 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11345 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11346 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11347 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11348 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11349 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11350 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str11351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13122: index out of range: \00" -@.str11352 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" -@.str11353 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13127: index out of range: \00" -@.str11354 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11355 = private unnamed_addr constant [3 x i8] c", \00" -@.str11356 = private unnamed_addr constant [5 x i8] c"mrun\00" -@.str11357 = private unnamed_addr constant [6 x i8] c"mskip\00" -@.str11358 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11359 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11360 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11334 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13484: index out of range: \00" +@.str11335 = private unnamed_addr constant [2 x i8] c"0\00" +@.str11336 = private unnamed_addr constant [2 x i8] c"1\00" +@.str11337 = private unnamed_addr constant [7 x i8] c"system\00" +@.str11338 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str11339 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11340 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" +@.str11341 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11342 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str11343 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str11344 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str11345 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str11346 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11347 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11348 = private unnamed_addr constant [3 x i8] c" \00" +@.str11349 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11350 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11351 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11352 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11353 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str11354 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11355 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11356 = private unnamed_addr constant [3 x i8] c" \00" +@.str11357 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11358 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11359 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11360 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11361 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11362 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" -@.str11363 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11364 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11365 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11366 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11367 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str11368 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" -@.str11369 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" -@.str11370 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" -@.str11371 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str11362 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11363 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11364 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11365 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11366 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11367 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str11368 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11369 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str11370 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11371 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str11372 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11373 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str11374 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" -@.str11375 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str11373 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str11374 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str11375 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str11376 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11377 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11378 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11379 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11380 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str11381 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" -@.str11382 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11383 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11384 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11385 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13171: index out of range: \00" -@.str11386 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str11387 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str11388 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" -@.str11389 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" -@.str11390 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13189: index out of range: \00" -@.str11391 = private unnamed_addr constant [6 x i8] c" %is\00" -@.str11392 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" -@.str11393 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11394 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" -@.str11395 = private unnamed_addr constant [15 x i8] c", label %leave\00" -@.str11396 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str11397 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11398 = private unnamed_addr constant [6 x i8] c"leave\00" -@.str11399 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" -@.str11400 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" -@.str11401 = private unnamed_addr constant [5 x i8] c"next\00" -@.str11402 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11403 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str11404 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13207: index out of range: \00" -@.str11405 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11406 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11407 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" -@.str11408 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11409 = private unnamed_addr constant [4 x i8] c"int\00" -@.str11410 = private unnamed_addr constant [3 x i8] c"%e\00" -@.str11411 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11412 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str11413 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" -@.str11414 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" -@.str11415 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11416 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" -@.str11417 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str11418 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str11419 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str11420 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13248: index out of range: \00" -@.str11421 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str11422 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str11423 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11424 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str11425 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str11426 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str11427 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11428 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str11429 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str11430 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" -@.str11431 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str11432 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str11433 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11434 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" -@.str11435 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str11436 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11437 = private unnamed_addr constant [5 x i8] c"next\00" -@.str11438 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11439 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" -@.str11440 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" -@.str11441 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str11442 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" -@.str11443 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" -@.str11444 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" -@.str11445 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" -@.str11446 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str11447 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" -@.str11448 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" -@.str11449 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" -@.str11450 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" -@.str11451 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" -@.str11452 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str11453 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13285: index out of range: \00" -@.str11454 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str11455 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str11456 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11457 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str11458 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str11459 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str11460 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11461 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str11462 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str11463 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str11464 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str11465 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str11466 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11467 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str11468 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str11469 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11470 = private unnamed_addr constant [5 x i8] c"next\00" -@.str11471 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11472 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" -@.str11473 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" -@.str11474 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str11475 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" -@.str11476 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13327: index out of range: \00" -@.str11477 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str11478 = private unnamed_addr constant [11 x i8] c" = type { \00" -@.str11479 = private unnamed_addr constant [3 x i8] c", \00" -@.str11480 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13338: index out of range: \00" -@.str11481 = private unnamed_addr constant [3 x i8] c", \00" -@.str11482 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11483 = private unnamed_addr constant [4 x i8] c" }\0A\00" -@.str11484 = private unnamed_addr constant [6 x i8] c"@evL_\00" -@.str11485 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str11486 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str11487 = private unnamed_addr constant [6 x i8] c"@evN_\00" -@.str11488 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" -@.str11489 = private unnamed_addr constant [6 x i8] c"@evO_\00" -@.str11490 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str11491 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str11492 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" -@.str11493 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" -@.str11494 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str11495 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11496 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str11497 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11498 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str11499 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str11500 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11501 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11502 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str11503 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str11504 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str11505 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11506 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" -@.str11507 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str11508 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str11509 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str11510 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" -@.str11511 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" -@.str11512 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str11513 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11514 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str11515 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11516 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str11517 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str11518 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11519 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11520 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str11521 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str11522 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str11523 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11524 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" -@.str11525 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str11526 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str11527 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str11528 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" -@.str11529 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" -@.str11530 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str11531 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11532 = 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" -@.str11533 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" -@.str11534 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" -@.str11535 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11536 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" -@.str11537 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" -@.str11538 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" -@.str11539 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11540 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" -@.str11541 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" -@.str11542 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11543 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" -@.str11544 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" -@.str11545 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" -@.str11546 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11547 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" -@.str11548 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" -@.str11549 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str11550 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13404: index out of range: \00" -@.str11551 = private unnamed_addr constant [3 x i8] c" \00" -@.str11552 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str11553 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11554 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11555 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11556 = private unnamed_addr constant [9 x i8] c" store \00" -@.str11557 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str11558 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11559 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11560 = private unnamed_addr constant [9 x i8] c" store \00" -@.str11561 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str11562 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11563 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11564 = private unnamed_addr constant [3 x i8] c" \00" -@.str11565 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str11566 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11567 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11568 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11569 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str11377 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11378 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11379 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11380 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11381 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11382 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str11383 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" +@.str11384 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str11385 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11386 = private unnamed_addr constant [1 x i8] c"\00" +@.str11387 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" +@.str11388 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11389 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11390 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" +@.str11391 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11392 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11393 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str11394 = private unnamed_addr constant [3 x i8] c", \00" +@.str11395 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str11396 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11397 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11398 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str11399 = private unnamed_addr constant [3 x i8] c", \00" +@.str11400 = private unnamed_addr constant [5 x i8] c"hrun\00" +@.str11401 = private unnamed_addr constant [6 x i8] c"hskip\00" +@.str11402 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11403 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11404 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11405 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11406 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" +@.str11407 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11408 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11409 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11410 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11411 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" +@.str11412 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11413 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13597: index out of range: \00" +@.str11414 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13597: index out of range: \00" +@.str11415 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13597: index out of range: \00" +@.str11416 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str11417 = private unnamed_addr constant [11 x i8] c"esys_tween\00" +@.str11418 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" +@.str11419 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" +@.str11420 = private unnamed_addr constant [8 x i8] c"fx_tick\00" +@.str11421 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" +@.str11422 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str11423 = private unnamed_addr constant [8 x i8] c"fx_draw\00" +@.str11424 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" +@.str11425 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" +@.str11426 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" +@.str11427 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" +@.str11428 = 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" +@.str11429 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str11430 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str11431 = 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" +@.str11432 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13626: index out of range: \00" +@.str11433 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13630: index out of range: \00" +@.str11434 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str11435 = private unnamed_addr constant [2 x i8] c"c\00" +@.str11436 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11437 = private unnamed_addr constant [5 x i8] c" %h\00" +@.str11438 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11439 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11440 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str11441 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str11442 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" +@.str11443 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11444 = private unnamed_addr constant [7 x i8] c" %has\00" +@.str11445 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" +@.str11446 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str11447 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" +@.str11448 = private unnamed_addr constant [11 x i8] c", label %t\00" +@.str11449 = private unnamed_addr constant [11 x i8] c", label %c\00" +@.str11450 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11451 = private unnamed_addr constant [2 x i8] c"t\00" +@.str11452 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11453 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str11454 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11455 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11456 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11457 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str11458 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13642: index out of range: \00" +@.str11459 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str11460 = private unnamed_addr constant [2 x i8] c"_\00" +@.str11461 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str11462 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str11463 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str11464 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11465 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11466 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str11467 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" +@.str11468 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11469 = private unnamed_addr constant [6 x i8] c" %fp\00" +@.str11470 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" +@.str11471 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str11472 = private unnamed_addr constant [6 x i8] c" %fd\00" +@.str11473 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" +@.str11474 = private unnamed_addr constant [5 x i8] c", 1\0A\00" +@.str11475 = private unnamed_addr constant [6 x i8] c" %fn\00" +@.str11476 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" +@.str11477 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" +@.str11478 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" +@.str11479 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11480 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" +@.str11481 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str11482 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11483 = private unnamed_addr constant [14 x i8] c" br label %c\00" +@.str11484 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11485 = private unnamed_addr constant [2 x i8] c"c\00" +@.str11486 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" +@.str11487 = 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" +@.str11488 = private unnamed_addr constant [4 x i8] c"int\00" +@.str11489 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11490 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11491 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" +@.str11492 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str11493 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11494 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13684: index out of range: \00" +@.str11495 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13684: index out of range: \00" +@.str11496 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13693: index out of range: \00" +@.str11497 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" +@.str11498 = private unnamed_addr constant [2 x i8] c")\00" +@.str11499 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11500 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11501 = private unnamed_addr constant [3 x i8] c"pf\00" +@.str11502 = private unnamed_addr constant [4 x i8] c"pfn\00" +@.str11503 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11504 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11505 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11506 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11507 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11508 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" +@.str11509 = private unnamed_addr constant [3 x i8] c"()\00" +@.str11510 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11511 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11512 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11513 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str11514 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" +@.str11515 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11516 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str11517 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str11518 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str11519 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str11520 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str11521 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str11522 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str11523 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str11524 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" +@.str11525 = private unnamed_addr constant [2 x i8] c"'\00" +@.str11526 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str11527 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str11528 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str11529 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str11530 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str11531 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str11532 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str11533 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" +@.str11534 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" +@.str11535 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" +@.str11536 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" +@.str11537 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" +@.str11538 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" +@.str11539 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" +@.str11540 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" +@.str11541 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" +@.str11542 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" +@.str11543 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" +@.str11544 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" +@.str11545 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" +@.str11546 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" +@.str11547 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" +@.str11548 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" +@.str11549 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" +@.str11550 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" +@.str11551 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" +@.str11552 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" +@.str11553 = private unnamed_addr constant [12 x i8] c"module_init\00" +@.str11554 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" +@.str11555 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" +@.str11556 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13786: index out of range: \00" +@.str11557 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str11558 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13786: index out of range: \00" +@.str11559 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11560 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11561 = 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" +@.str11562 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" +@.str11563 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str11564 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" +@.str11565 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str11566 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" +@.str11567 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" +@.str11568 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" +@.str11569 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str11570 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11571 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13423: index out of range: \00" -@.str11572 = private unnamed_addr constant [7 x i8] c"evnext\00" -@.str11573 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13429: index out of range: \00" -@.str11574 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13431: index out of range: \00" -@.str11575 = private unnamed_addr constant [4 x i8] c"ret\00" -@.str11576 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11577 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11578 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11579 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11580 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str11581 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11582 = private unnamed_addr constant [4 x i8] c"evl\00" -@.str11583 = private unnamed_addr constant [4 x i8] c"evb\00" -@.str11584 = private unnamed_addr constant [4 x i8] c"evd\00" -@.str11585 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11586 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11587 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11588 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str11589 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" -@.str11590 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str11591 = private unnamed_addr constant [3 x i8] c", \00" -@.str11592 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11593 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11594 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11595 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11596 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11597 = private unnamed_addr constant [3 x i8] c" \00" -@.str11598 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11599 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11600 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11601 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11602 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str11603 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str11604 = private unnamed_addr constant [7 x i8] c", null\00" -@.str11605 = private unnamed_addr constant [5 x i8] c"evdo\00" -@.str11606 = private unnamed_addr constant [5 x i8] c"evsk\00" -@.str11607 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11608 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11609 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11610 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11611 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11612 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str11613 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str11614 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11615 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11616 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11617 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11618 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str11619 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str11620 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str11621 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11622 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11623 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11624 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11625 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11626 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11627 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str11628 = 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" -@.str11629 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str11630 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11631 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11632 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11633 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11634 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11635 = private unnamed_addr constant [8 x i8] c"define \00" -@.str11636 = private unnamed_addr constant [6 x i8] c" @ev_\00" -@.str11637 = private unnamed_addr constant [2 x i8] c"(\00" -@.str11638 = private unnamed_addr constant [3 x i8] c", \00" -@.str11639 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13478: index out of range: \00" -@.str11640 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str11641 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str11642 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11643 = 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" -@.str11644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13495: index out of range: \00" -@.str11645 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str11571 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" +@.str11572 = private unnamed_addr constant [6 x i8] c"add:\0A\00" +@.str11573 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str11574 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" +@.str11575 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" +@.str11576 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" +@.str11577 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" +@.str11578 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" +@.str11579 = 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" +@.str11580 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str11581 = private unnamed_addr constant [4 x i8] c"dsp\00" +@.str11582 = private unnamed_addr constant [4 x i8] c"dsh\00" +@.str11583 = private unnamed_addr constant [4 x i8] c"dsb\00" +@.str11584 = private unnamed_addr constant [5 x i8] c"dsdo\00" +@.str11585 = private unnamed_addr constant [4 x i8] c"dsc\00" +@.str11586 = private unnamed_addr constant [4 x i8] c"dsn\00" +@.str11587 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11588 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11589 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" +@.str11590 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11591 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11592 = private unnamed_addr constant [3 x i8] c" \00" +@.str11593 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" +@.str11594 = private unnamed_addr constant [7 x i8] c" ], [ \00" +@.str11595 = private unnamed_addr constant [4 x i8] c", %\00" +@.str11596 = private unnamed_addr constant [4 x i8] c" ]\0A\00" +@.str11597 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" +@.str11598 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str11599 = private unnamed_addr constant [3 x i8] c", \00" +@.str11600 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11601 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11602 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11603 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11604 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11605 = private unnamed_addr constant [3 x i8] c" \00" +@.str11606 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11607 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" +@.str11608 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11609 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11610 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11611 = private unnamed_addr constant [3 x i8] c", \00" +@.str11612 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11613 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11614 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11615 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11616 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11617 = private unnamed_addr constant [3 x i8] c" \00" +@.str11618 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11619 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" +@.str11620 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11621 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str11622 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str11623 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11624 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11625 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11626 = private unnamed_addr constant [5 x i8] c":\0A \00" +@.str11627 = private unnamed_addr constant [12 x i8] c" = add i32 \00" +@.str11628 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" +@.str11629 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11630 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11631 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13846: index out of range: \00" +@.str11632 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13853: index out of range: \00" +@.str11633 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str11634 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13858: index out of range: \00" +@.str11635 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11636 = private unnamed_addr constant [3 x i8] c", \00" +@.str11637 = private unnamed_addr constant [6 x i8] c"scrun\00" +@.str11638 = private unnamed_addr constant [7 x i8] c"scskip\00" +@.str11639 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11640 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11641 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11642 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11643 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11644 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11645 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11646 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11647 = private unnamed_addr constant [7 x i8] c" %swi\00" -@.str11648 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" -@.str11649 = private unnamed_addr constant [7 x i8] c" %swn\00" -@.str11650 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" -@.str11651 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11652 = private unnamed_addr constant [7 x i8] c" %swg\00" -@.str11653 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" -@.str11654 = private unnamed_addr constant [7 x i8] c", %swn\00" -@.str11655 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11656 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" -@.str11657 = private unnamed_addr constant [13 x i8] c", label %swb\00" -@.str11658 = private unnamed_addr constant [13 x i8] c", label %swd\00" -@.str11659 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11660 = private unnamed_addr constant [4 x i8] c"swb\00" -@.str11661 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11662 = private unnamed_addr constant [8 x i8] c" %swop\00" -@.str11663 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11664 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str11665 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str11666 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11667 = private unnamed_addr constant [8 x i8] c" %swov\00" -@.str11668 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" -@.str11669 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11670 = private unnamed_addr constant [7 x i8] c" %swm\00" -@.str11671 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" -@.str11672 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" -@.str11673 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" -@.str11674 = private unnamed_addr constant [13 x i8] c", label %swh\00" -@.str11675 = private unnamed_addr constant [13 x i8] c", label %swx\00" -@.str11676 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11677 = private unnamed_addr constant [4 x i8] c"swh\00" -@.str11678 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11679 = private unnamed_addr constant [8 x i8] c" %swlp\00" -@.str11680 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11681 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11682 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str11683 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11684 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" -@.str11685 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" -@.str11686 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11687 = private unnamed_addr constant [4 x i8] c"swx\00" -@.str11688 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11689 = private unnamed_addr constant [9 x i8] c" %swinc\00" -@.str11690 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" -@.str11691 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" -@.str11692 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" -@.str11693 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11694 = private unnamed_addr constant [4 x i8] c"swd\00" -@.str11695 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" -@.str11696 = private unnamed_addr constant [15 x i8] c" br label %sw\00" -@.str11697 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11698 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11699 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11700 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13544: index out of range: \00" -@.str11701 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" -@.str11702 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" -@.str11703 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" -@.str11704 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" -@.str11705 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" -@.str11706 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" -@.str11707 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13557: index out of range: \00" -@.str11708 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13558: index out of range: \00" -@.str11709 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str11710 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str11711 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11712 = private unnamed_addr constant [5 x i8] c" %e\00" -@.str11713 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" -@.str11714 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11715 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" -@.str11716 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str11717 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str11718 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11719 = private unnamed_addr constant [2 x i8] c"h\00" -@.str11720 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str11721 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11722 = private unnamed_addr constant [2 x i8] c"n\00" -@.str11723 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11724 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" -@.str11725 = 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" -@.str11726 = 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" -@.str11727 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" -@.str11728 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" -@.str11729 = 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" -@.str11730 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" -@.str11731 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" -@.str11732 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13580: index out of range: \00" -@.str11733 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13581: index out of range: \00" -@.str11734 = private unnamed_addr constant [6 x i8] c" %pm\00" -@.str11735 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11736 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11737 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" -@.str11738 = private unnamed_addr constant [12 x i8] c", label %pk\00" -@.str11739 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str11740 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11741 = private unnamed_addr constant [3 x i8] c"pk\00" -@.str11742 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11743 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13587: index out of range: \00" -@.str11744 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11745 = private unnamed_addr constant [6 x i8] c" %fc\00" -@.str11746 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str11747 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11748 = private unnamed_addr constant [6 x i8] c" %fe\00" -@.str11749 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" -@.str11750 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11751 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" -@.str11752 = private unnamed_addr constant [12 x i8] c", label %fh\00" -@.str11753 = private unnamed_addr constant [12 x i8] c", label %fn\00" -@.str11754 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11755 = private unnamed_addr constant [3 x i8] c"fh\00" -@.str11756 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str11647 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str11648 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13879: index out of range: \00" +@.str11649 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str11650 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13884: index out of range: \00" +@.str11651 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11652 = private unnamed_addr constant [3 x i8] c", \00" +@.str11653 = private unnamed_addr constant [5 x i8] c"mrun\00" +@.str11654 = private unnamed_addr constant [6 x i8] c"mskip\00" +@.str11655 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11656 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11657 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11658 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11659 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" +@.str11660 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11661 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11662 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11663 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11664 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str11665 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" +@.str11666 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" +@.str11667 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" +@.str11668 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str11669 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11670 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str11671 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" +@.str11672 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str11673 = private unnamed_addr constant [2 x i8] c"_\00" +@.str11674 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11675 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11676 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11677 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str11678 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" +@.str11679 = private unnamed_addr constant [2 x i8] c"_\00" +@.str11680 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str11681 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11682 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13928: index out of range: \00" +@.str11683 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str11684 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str11685 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" +@.str11686 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" +@.str11687 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13946: index out of range: \00" +@.str11688 = private unnamed_addr constant [6 x i8] c" %is\00" +@.str11689 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" +@.str11690 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11691 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" +@.str11692 = private unnamed_addr constant [15 x i8] c", label %leave\00" +@.str11693 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str11694 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11695 = private unnamed_addr constant [6 x i8] c"leave\00" +@.str11696 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" +@.str11697 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" +@.str11698 = private unnamed_addr constant [5 x i8] c"next\00" +@.str11699 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11700 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11701 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13964: index out of range: \00" +@.str11702 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11703 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11704 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" +@.str11705 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11706 = private unnamed_addr constant [4 x i8] c"int\00" +@.str11707 = private unnamed_addr constant [3 x i8] c"%e\00" +@.str11708 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11709 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str11710 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" +@.str11711 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" +@.str11712 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11713 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" +@.str11714 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str11715 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str11716 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str11717 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14005: index out of range: \00" +@.str11718 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str11719 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str11720 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11721 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str11722 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str11723 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str11724 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11725 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str11726 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str11727 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str11728 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11729 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str11730 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11731 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str11732 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str11733 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11734 = private unnamed_addr constant [5 x i8] c"next\00" +@.str11735 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11736 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" +@.str11737 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" +@.str11738 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11739 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" +@.str11740 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str11741 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" +@.str11742 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" +@.str11743 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str11744 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str11745 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" +@.str11746 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" +@.str11747 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" +@.str11748 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" +@.str11749 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str11750 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14042: index out of range: \00" +@.str11751 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str11752 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str11753 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11754 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str11755 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str11756 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str11757 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11758 = private unnamed_addr constant [3 x i8] c"fn\00" -@.str11759 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11760 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" -@.str11761 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str11762 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11763 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str11764 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str11765 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13612: index out of range: \00" -@.str11766 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13613: index out of range: \00" -@.str11767 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str11768 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11769 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11770 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str11771 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str11772 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str11773 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11774 = private unnamed_addr constant [2 x i8] c"g\00" -@.str11775 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11776 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str11777 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11778 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11779 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11780 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str11781 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13620: index out of range: \00" -@.str11782 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11783 = private unnamed_addr constant [6 x i8] c" %gm\00" -@.str11784 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str11785 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11786 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" -@.str11787 = private unnamed_addr constant [12 x i8] c", label %gf\00" -@.str11788 = private unnamed_addr constant [12 x i8] c", label %gk\00" -@.str11789 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11790 = private unnamed_addr constant [3 x i8] c"gf\00" -@.str11791 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11792 = private unnamed_addr constant [6 x i8] c" %ga\00" -@.str11793 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str11794 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str11795 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11796 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11797 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11798 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str11799 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" -@.str11800 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11801 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str11802 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" -@.str11803 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str11804 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11805 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str11806 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str11807 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" -@.str11808 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11809 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str11810 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" -@.str11811 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str11758 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str11759 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str11760 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str11761 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11762 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str11763 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11764 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str11765 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str11766 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11767 = private unnamed_addr constant [5 x i8] c"next\00" +@.str11768 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11769 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" +@.str11770 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str11771 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str11772 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" +@.str11773 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14084: index out of range: \00" +@.str11774 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str11775 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str11776 = private unnamed_addr constant [3 x i8] c", \00" +@.str11777 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14095: index out of range: \00" +@.str11778 = private unnamed_addr constant [3 x i8] c", \00" +@.str11779 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11780 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str11781 = private unnamed_addr constant [6 x i8] c"@evL_\00" +@.str11782 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str11783 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str11784 = private unnamed_addr constant [6 x i8] c"@evN_\00" +@.str11785 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" +@.str11786 = private unnamed_addr constant [6 x i8] c"@evO_\00" +@.str11787 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str11788 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str11789 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" +@.str11790 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" +@.str11791 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str11792 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11793 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str11794 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11795 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str11796 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str11797 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11798 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11799 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str11800 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str11801 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str11802 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11803 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" +@.str11804 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str11805 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str11806 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str11807 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" +@.str11808 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" +@.str11809 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str11810 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11811 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str11812 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11813 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str11814 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" -@.str11815 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11816 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str11817 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" -@.str11818 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str11819 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11820 = private unnamed_addr constant [3 x i8] c"gk\00" -@.str11821 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11822 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" -@.str11823 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str11824 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11825 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" -@.str11826 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11827 = 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" -@.str11828 = 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" -@.str11829 = 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" -@.str11830 = 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" -@.str11831 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" -@.str11832 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" -@.str11833 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13655: index out of range: \00" -@.str11834 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13656: index out of range: \00" -@.str11835 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str11836 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11837 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11838 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str11839 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str11840 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str11841 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11842 = private unnamed_addr constant [2 x i8] c"g\00" -@.str11843 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11844 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str11845 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11846 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11847 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11848 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str11849 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13663: index out of range: \00" -@.str11850 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11851 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str11852 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str11853 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11854 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str11855 = private unnamed_addr constant [12 x i8] c", label %sf\00" -@.str11856 = private unnamed_addr constant [12 x i8] c", label %sk\00" -@.str11857 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11858 = private unnamed_addr constant [3 x i8] c"sf\00" -@.str11859 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11860 = private unnamed_addr constant [6 x i8] c" %sa\00" -@.str11861 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str11862 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str11863 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11864 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11865 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11866 = private unnamed_addr constant [6 x i8] c" %sp\00" -@.str11867 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" -@.str11868 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" -@.str11869 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str11870 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str11871 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str11872 = private unnamed_addr constant [6 x i8] c" %sb\00" -@.str11873 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" -@.str11874 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" -@.str11875 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str11876 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str11877 = private unnamed_addr constant [6 x i8] c" %sw\00" -@.str11878 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" -@.str11879 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" -@.str11880 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str11881 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str11882 = private unnamed_addr constant [3 x i8] c"sk\00" -@.str11883 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11884 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11885 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str11886 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11887 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" -@.str11888 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11889 = 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" -@.str11890 = 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" -@.str11891 = 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" -@.str11892 = 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" -@.str11893 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" -@.str11894 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str11895 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13698: index out of range: \00" -@.str11896 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13699: index out of range: \00" -@.str11897 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str11898 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11899 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11900 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str11901 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str11902 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str11903 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11904 = private unnamed_addr constant [2 x i8] c"g\00" -@.str11905 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11906 = private unnamed_addr constant [6 x i8] c" %hp\00" -@.str11907 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11908 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11909 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str11910 = private unnamed_addr constant [6 x i8] c" %hv\00" -@.str11911 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" -@.str11912 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11913 = private unnamed_addr constant [6 x i8] c" %hr\00" -@.str11914 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" -@.str11915 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" -@.str11916 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11917 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str11918 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11919 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" -@.str11920 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11921 = 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" -@.str11922 = 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" -@.str11923 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" -@.str11924 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" -@.str11925 = 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" -@.str11926 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" -@.str11927 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" -@.str11928 = 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" -@.str11929 = 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" -@.str11930 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" -@.str11931 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" -@.str11932 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11933 = 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" -@.str11934 = 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" -@.str11935 = 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" -@.str11936 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" -@.str11937 = 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" -@.str11938 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" -@.str11939 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str11940 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str11941 = 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" -@.str11942 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str11943 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str11944 = 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" -@.str11945 = 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" -@.str11946 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" -@.str11947 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str11948 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str11949 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" -@.str11950 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" -@.str11951 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13748: index out of range: \00" -@.str11952 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13749: index out of range: \00" -@.str11953 = private unnamed_addr constant [7 x i8] c" %mdc\00" -@.str11954 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str11955 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11956 = private unnamed_addr constant [7 x i8] c" %mde\00" -@.str11957 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" -@.str11958 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11959 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" -@.str11960 = private unnamed_addr constant [13 x i8] c", label %mdh\00" -@.str11961 = private unnamed_addr constant [13 x i8] c", label %mdn\00" -@.str11962 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11963 = private unnamed_addr constant [4 x i8] c"mdh\00" -@.str11964 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str11965 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13753: index out of range: \00" +@.str11813 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str11814 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str11815 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11816 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11817 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str11818 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str11819 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str11820 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11821 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" +@.str11822 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str11823 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str11824 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str11825 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" +@.str11826 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" +@.str11827 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str11828 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11829 = 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" +@.str11830 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" +@.str11831 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" +@.str11832 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11833 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" +@.str11834 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" +@.str11835 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" +@.str11836 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11837 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" +@.str11838 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" +@.str11839 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11840 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" +@.str11841 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" +@.str11842 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str11843 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str11844 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" +@.str11845 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" +@.str11846 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str11847 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14161: index out of range: \00" +@.str11848 = private unnamed_addr constant [3 x i8] c" \00" +@.str11849 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str11850 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11851 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11852 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11853 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11854 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str11855 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11856 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11857 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11858 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str11859 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11860 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11861 = private unnamed_addr constant [3 x i8] c" \00" +@.str11862 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str11863 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11864 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11865 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11866 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str11867 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11868 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14180: index out of range: \00" +@.str11869 = private unnamed_addr constant [7 x i8] c"evnext\00" +@.str11870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14186: index out of range: \00" +@.str11871 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14188: index out of range: \00" +@.str11872 = private unnamed_addr constant [4 x i8] c"ret\00" +@.str11873 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11874 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11875 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11876 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11877 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str11878 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11879 = private unnamed_addr constant [4 x i8] c"evl\00" +@.str11880 = private unnamed_addr constant [4 x i8] c"evb\00" +@.str11881 = private unnamed_addr constant [4 x i8] c"evd\00" +@.str11882 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11883 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11884 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11885 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11886 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" +@.str11887 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str11888 = private unnamed_addr constant [3 x i8] c", \00" +@.str11889 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11890 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11891 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11892 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11893 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11894 = private unnamed_addr constant [3 x i8] c" \00" +@.str11895 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11896 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11897 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11898 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11899 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str11900 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str11901 = private unnamed_addr constant [7 x i8] c", null\00" +@.str11902 = private unnamed_addr constant [5 x i8] c"evdo\00" +@.str11903 = private unnamed_addr constant [5 x i8] c"evsk\00" +@.str11904 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11905 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11906 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11907 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11908 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11909 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str11910 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str11911 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11912 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11913 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11914 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11915 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str11916 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11917 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11918 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11919 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11920 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11921 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11922 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11923 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11924 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str11925 = 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" +@.str11926 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11927 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11928 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11929 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str11930 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11931 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11932 = private unnamed_addr constant [8 x i8] c"define \00" +@.str11933 = private unnamed_addr constant [6 x i8] c" @ev_\00" +@.str11934 = private unnamed_addr constant [2 x i8] c"(\00" +@.str11935 = private unnamed_addr constant [3 x i8] c", \00" +@.str11936 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14235: index out of range: \00" +@.str11937 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str11938 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str11939 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11940 = 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" +@.str11941 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14252: index out of range: \00" +@.str11942 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str11943 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11944 = private unnamed_addr constant [7 x i8] c" %swi\00" +@.str11945 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" +@.str11946 = private unnamed_addr constant [7 x i8] c" %swn\00" +@.str11947 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" +@.str11948 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11949 = private unnamed_addr constant [7 x i8] c" %swg\00" +@.str11950 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" +@.str11951 = private unnamed_addr constant [7 x i8] c", %swn\00" +@.str11952 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11953 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" +@.str11954 = private unnamed_addr constant [13 x i8] c", label %swb\00" +@.str11955 = private unnamed_addr constant [13 x i8] c", label %swd\00" +@.str11956 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11957 = private unnamed_addr constant [4 x i8] c"swb\00" +@.str11958 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11959 = private unnamed_addr constant [8 x i8] c" %swop\00" +@.str11960 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11961 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str11962 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str11963 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11964 = private unnamed_addr constant [8 x i8] c" %swov\00" +@.str11965 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str11966 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11967 = private unnamed_addr constant [4 x i8] c"mdn\00" -@.str11968 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11969 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str11970 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13767: index out of range: \00" -@.str11971 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13768: index out of range: \00" -@.str11972 = private unnamed_addr constant [4 x i8] c"int\00" -@.str11973 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11974 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11975 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" -@.str11976 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11977 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11978 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" -@.str11979 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13789: index out of range: \00" -@.str11980 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13790: index out of range: \00" -@.str11981 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str11982 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" +@.str11967 = private unnamed_addr constant [7 x i8] c" %swm\00" +@.str11968 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" +@.str11969 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" +@.str11970 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" +@.str11971 = private unnamed_addr constant [13 x i8] c", label %swh\00" +@.str11972 = private unnamed_addr constant [13 x i8] c", label %swx\00" +@.str11973 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11974 = private unnamed_addr constant [4 x i8] c"swh\00" +@.str11975 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11976 = private unnamed_addr constant [8 x i8] c" %swlp\00" +@.str11977 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11978 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11979 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str11980 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11981 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" +@.str11982 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str11983 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11984 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str11985 = private unnamed_addr constant [12 x i8] c", label %sh\00" -@.str11986 = private unnamed_addr constant [12 x i8] c", label %sn\00" -@.str11987 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11988 = private unnamed_addr constant [3 x i8] c"sh\00" -@.str11989 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" -@.str11990 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" -@.str11991 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" -@.str11992 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11993 = private unnamed_addr constant [3 x i8] c"sn\00" -@.str11994 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11995 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str11996 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" -@.str11997 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" -@.str11998 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" -@.str11999 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" -@.str12000 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str12001 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str12002 = 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" -@.str12003 = 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" -@.str12004 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" -@.str12005 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" -@.str12006 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" -@.str12007 = private unnamed_addr constant [1 x i8] c"\00" -@.str12008 = private unnamed_addr constant [4 x i8] c"int\00" -@.str12009 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13830: index out of range: \00" -@.str12010 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" -@.str12011 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" -@.str12012 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" -@.str12013 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" -@.str12014 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13841: index out of range: \00" -@.str12015 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13842: index out of range: \00" -@.str12016 = private unnamed_addr constant [6 x i8] c" %pe\00" -@.str12017 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" +@.str11984 = private unnamed_addr constant [4 x i8] c"swx\00" +@.str11985 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11986 = private unnamed_addr constant [9 x i8] c" %swinc\00" +@.str11987 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" +@.str11988 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" +@.str11989 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" +@.str11990 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11991 = private unnamed_addr constant [4 x i8] c"swd\00" +@.str11992 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" +@.str11993 = private unnamed_addr constant [15 x i8] c" br label %sw\00" +@.str11994 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11995 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str11996 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11997 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14301: index out of range: \00" +@.str11998 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" +@.str11999 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" +@.str12000 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" +@.str12001 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" +@.str12002 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" +@.str12003 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" +@.str12004 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14314: index out of range: \00" +@.str12005 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14315: index out of range: \00" +@.str12006 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12007 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str12008 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12009 = private unnamed_addr constant [5 x i8] c" %e\00" +@.str12010 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" +@.str12011 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str12012 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" +@.str12013 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12014 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12015 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12016 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12017 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str12018 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12019 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" -@.str12020 = private unnamed_addr constant [12 x i8] c", label %ph\00" -@.str12021 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str12022 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12023 = private unnamed_addr constant [3 x i8] c"ph\00" -@.str12024 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" -@.str12025 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12026 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str12027 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12028 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" -@.str12029 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" -@.str12030 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" -@.str12031 = 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" -@.str12032 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" -@.str12033 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12034 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" -@.str12035 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13860: index out of range: \00" -@.str12036 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13861: index out of range: \00" -@.str12037 = private unnamed_addr constant [7 x i8] c" %fce\00" -@.str12038 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str12039 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12040 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" -@.str12041 = private unnamed_addr constant [13 x i8] c", label %fch\00" -@.str12042 = private unnamed_addr constant [13 x i8] c", label %fcn\00" -@.str12043 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12044 = private unnamed_addr constant [4 x i8] c"fch\00" -@.str12045 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str12046 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12047 = private unnamed_addr constant [4 x i8] c"fcn\00" -@.str12048 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12049 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str12050 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" -@.str12051 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" -@.str12052 = 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" -@.str12053 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" -@.str12054 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str12055 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13879: index out of range: \00" -@.str12056 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13880: index out of range: \00" -@.str12057 = private unnamed_addr constant [7 x i8] c" %fne\00" -@.str12058 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str12059 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12060 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" -@.str12061 = private unnamed_addr constant [13 x i8] c", label %fnk\00" -@.str12062 = private unnamed_addr constant [13 x i8] c", label %fnn\00" -@.str12063 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12064 = private unnamed_addr constant [4 x i8] c"fnk\00" -@.str12065 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12066 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13886: index out of range: \00" -@.str12067 = private unnamed_addr constant [2 x i8] c"_\00" -@.str12068 = private unnamed_addr constant [8 x i8] c" %fnfe\00" -@.str12069 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12019 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12020 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12021 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" +@.str12022 = 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" +@.str12023 = 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" +@.str12024 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" +@.str12025 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" +@.str12026 = 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" +@.str12027 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" +@.str12028 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" +@.str12029 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14337: index out of range: \00" +@.str12030 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14338: index out of range: \00" +@.str12031 = private unnamed_addr constant [6 x i8] c" %pm\00" +@.str12032 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12033 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12034 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" +@.str12035 = private unnamed_addr constant [12 x i8] c", label %pk\00" +@.str12036 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str12037 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12038 = private unnamed_addr constant [3 x i8] c"pk\00" +@.str12039 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12040 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14344: index out of range: \00" +@.str12041 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12042 = private unnamed_addr constant [6 x i8] c" %fc\00" +@.str12043 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str12044 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12045 = private unnamed_addr constant [6 x i8] c" %fe\00" +@.str12046 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" +@.str12047 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str12048 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" +@.str12049 = private unnamed_addr constant [12 x i8] c", label %fh\00" +@.str12050 = private unnamed_addr constant [12 x i8] c", label %fn\00" +@.str12051 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12052 = private unnamed_addr constant [3 x i8] c"fh\00" +@.str12053 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12054 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12055 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str12056 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12057 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str12058 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str12059 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12060 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str12061 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str12062 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14369: index out of range: \00" +@.str12063 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14370: index out of range: \00" +@.str12064 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str12065 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12066 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12067 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str12068 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str12069 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str12070 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12071 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" -@.str12072 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" -@.str12073 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" -@.str12074 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12075 = private unnamed_addr constant [5 x i8] c"fnfh\00" -@.str12076 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" -@.str12077 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12078 = private unnamed_addr constant [5 x i8] c"fnfn\00" -@.str12079 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12080 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12081 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12082 = private unnamed_addr constant [4 x i8] c"fnn\00" -@.str12083 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12084 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12085 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12086 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str12087 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13905: index out of range: \00" -@.str12088 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13906: index out of range: \00" -@.str12089 = private unnamed_addr constant [7 x i8] c" %fte\00" -@.str12090 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str12091 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12092 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" -@.str12093 = private unnamed_addr constant [13 x i8] c", label %ftk\00" -@.str12094 = private unnamed_addr constant [13 x i8] c", label %ftn\00" -@.str12095 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12096 = private unnamed_addr constant [4 x i8] c"ftk\00" -@.str12097 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12098 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13912: index out of range: \00" -@.str12099 = private unnamed_addr constant [2 x i8] c"_\00" -@.str12100 = private unnamed_addr constant [8 x i8] c" %ftfe\00" -@.str12101 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str12102 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12103 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" -@.str12104 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" -@.str12105 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" -@.str12106 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12107 = private unnamed_addr constant [5 x i8] c"ftfh\00" -@.str12108 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12071 = private unnamed_addr constant [2 x i8] c"g\00" +@.str12072 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12073 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str12074 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12075 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12076 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12077 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12078 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14377: index out of range: \00" +@.str12079 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12080 = private unnamed_addr constant [6 x i8] c" %gm\00" +@.str12081 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12082 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12083 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" +@.str12084 = private unnamed_addr constant [12 x i8] c", label %gf\00" +@.str12085 = private unnamed_addr constant [12 x i8] c", label %gk\00" +@.str12086 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12087 = private unnamed_addr constant [3 x i8] c"gf\00" +@.str12088 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12089 = private unnamed_addr constant [6 x i8] c" %ga\00" +@.str12090 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12091 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str12092 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12093 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12094 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str12095 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str12096 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" +@.str12097 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12098 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str12099 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" +@.str12100 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str12101 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12102 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12103 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str12104 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" +@.str12105 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12106 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str12107 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" +@.str12108 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str12109 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12110 = private unnamed_addr constant [5 x i8] c"ftfn\00" -@.str12111 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12112 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12113 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12114 = private unnamed_addr constant [4 x i8] c"ftn\00" -@.str12115 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12116 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12117 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12118 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" -@.str12119 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str12120 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str12121 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str12122 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str12123 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12124 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" -@.str12125 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str12126 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str12127 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12128 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13952: index out of range: \00" -@.str12129 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13952: index out of range: \00" -@.str12130 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str12131 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str12132 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str12133 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str12134 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str12135 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" -@.str12136 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str12137 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12138 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str12139 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13974: index out of range: \00" -@.str12140 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str12141 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13974: index out of range: \00" -@.str12142 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12143 = private unnamed_addr constant [14 x i8] c"program_start\00" -@.str12144 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" -@.str12145 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12146 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str12147 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" -@.str12148 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str12149 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12150 = private unnamed_addr constant [11 x i8] c"rt_running\00" -@.str12151 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" -@.str12152 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str12153 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12154 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str12155 = private unnamed_addr constant [3 x i8] c", \00" -@.str12156 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12157 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str12158 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12159 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str12160 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str12161 = private unnamed_addr constant [12 x i8] c"input_drive\00" -@.str12162 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" -@.str12163 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12164 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str12165 = private unnamed_addr constant [8 x i8] c"rt_poll\00" -@.str12166 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" -@.str12167 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12168 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str12169 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" -@.str12170 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" -@.str12171 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" -@.str12172 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12173 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str12174 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str12175 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str12176 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str12177 = private unnamed_addr constant [9 x i8] c"rt_clear\00" -@.str12178 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" -@.str12179 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12180 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str12181 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str12182 = private unnamed_addr constant [11 x i8] c"rt_present\00" -@.str12183 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" -@.str12184 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" -@.str12185 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str12186 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str12187 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12188 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" -@.str12189 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12190 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str12191 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" -@.str12192 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str12193 = private unnamed_addr constant [13 x i8] c"program_quit\00" -@.str12194 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" -@.str12195 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" -@.str12196 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" -@.str12197 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" -@.str12198 = private unnamed_addr constant [15 x i8] c"machine state \00" -@.str12199 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" -@.str12200 = private unnamed_addr constant [1 x i8] c"\00" -@.str12201 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" -@.str12202 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" -@.str12203 = private unnamed_addr constant [2 x i8] c")\00" -@.str12204 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14083: index out of range: \00" -@.str12205 = private unnamed_addr constant [6 x i8] c"smend\00" -@.str12206 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14088: index out of range: \00" -@.str12207 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12208 = private unnamed_addr constant [3 x i8] c", \00" -@.str12209 = private unnamed_addr constant [6 x i8] c"sbody\00" -@.str12210 = private unnamed_addr constant [5 x i8] c"sarm\00" -@.str12211 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12212 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12213 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12214 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12110 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str12111 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" +@.str12112 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12113 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str12114 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" +@.str12115 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str12116 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12117 = private unnamed_addr constant [3 x i8] c"gk\00" +@.str12118 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12119 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" +@.str12120 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str12121 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12122 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" +@.str12123 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12124 = 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" +@.str12125 = 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" +@.str12126 = 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" +@.str12127 = 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" +@.str12128 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" +@.str12129 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" +@.str12130 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14412: index out of range: \00" +@.str12131 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14413: index out of range: \00" +@.str12132 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str12133 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12134 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12135 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str12136 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str12137 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str12138 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12139 = private unnamed_addr constant [2 x i8] c"g\00" +@.str12140 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12141 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str12142 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12143 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12144 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12145 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12146 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14420: index out of range: \00" +@.str12147 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12148 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str12149 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12150 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12151 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str12152 = private unnamed_addr constant [12 x i8] c", label %sf\00" +@.str12153 = private unnamed_addr constant [12 x i8] c", label %sk\00" +@.str12154 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12155 = private unnamed_addr constant [3 x i8] c"sf\00" +@.str12156 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12157 = private unnamed_addr constant [6 x i8] c" %sa\00" +@.str12158 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12159 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str12160 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12161 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12162 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str12163 = private unnamed_addr constant [6 x i8] c" %sp\00" +@.str12164 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" +@.str12165 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" +@.str12166 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str12167 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str12168 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12169 = private unnamed_addr constant [6 x i8] c" %sb\00" +@.str12170 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" +@.str12171 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" +@.str12172 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str12173 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str12174 = private unnamed_addr constant [6 x i8] c" %sw\00" +@.str12175 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" +@.str12176 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" +@.str12177 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str12178 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str12179 = private unnamed_addr constant [3 x i8] c"sk\00" +@.str12180 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12181 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str12182 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str12183 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12184 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" +@.str12185 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12186 = 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" +@.str12187 = 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" +@.str12188 = 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" +@.str12189 = 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" +@.str12190 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" +@.str12191 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str12192 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14455: index out of range: \00" +@.str12193 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14456: index out of range: \00" +@.str12194 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str12195 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12196 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12197 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str12198 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str12199 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str12200 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12201 = private unnamed_addr constant [2 x i8] c"g\00" +@.str12202 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12203 = private unnamed_addr constant [6 x i8] c" %hp\00" +@.str12204 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12205 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str12206 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12207 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str12208 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" +@.str12209 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12210 = private unnamed_addr constant [6 x i8] c" %hr\00" +@.str12211 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" +@.str12212 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" +@.str12213 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12214 = private unnamed_addr constant [3 x i8] c"gn\00" @.str12215 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12216 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12216 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str12217 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12218 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12219 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12220 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12221 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12222 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14110: index out of range: \00" -@.str12223 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14113: index out of range: \00" -@.str12224 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14113: index out of range: \00" -@.str12225 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12226 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str12227 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12228 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" -@.str12229 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12230 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12231 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" -@.str12232 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" -@.str12233 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12234 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" -@.str12235 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12236 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str12237 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str12238 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12239 = private unnamed_addr constant [5 x i8] c"file\00" -@.str12240 = private unnamed_addr constant [4 x i8] c"%io\00" -@.str12241 = private unnamed_addr constant [3 x i8] c" \00" -@.str12242 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" -@.str12243 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str12244 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str12245 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" -@.str12246 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12247 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str12248 = private unnamed_addr constant [3 x i8] c" \00" -@.str12249 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str12250 = private unnamed_addr constant [3 x i8] c", \00" -@.str12251 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12252 = private unnamed_addr constant [5 x i8] c"%ioa\00" -@.str12253 = private unnamed_addr constant [3 x i8] c" \00" -@.str12254 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" -@.str12255 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12256 = private unnamed_addr constant [5 x i8] c"save\00" -@.str12257 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12258 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12259 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12260 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12261 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12262 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12263 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12264 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12265 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str12266 = private unnamed_addr constant [3 x i8] c" \00" -@.str12267 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str12268 = private unnamed_addr constant [3 x i8] c", \00" -@.str12269 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12270 = private unnamed_addr constant [2 x i8] c"0\00" -@.str12271 = private unnamed_addr constant [8 x i8] c"@L_entc\00" -@.str12272 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12273 = private unnamed_addr constant [9 x i8] c"@L_freen\00" -@.str12274 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12275 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" -@.str12276 = private unnamed_addr constant [5 x i8] c", 4\0A\00" -@.str12277 = private unnamed_addr constant [9 x i8] c"@L_alive\00" -@.str12278 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12279 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" -@.str12280 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12281 = private unnamed_addr constant [8 x i8] c"@L_kind\00" -@.str12282 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12283 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" -@.str12284 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12285 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14195: index out of range: \00" -@.str12286 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str12287 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14195: index out of range: \00" -@.str12288 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12289 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14199: index out of range: \00" -@.str12290 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14200: index out of range: \00" -@.str12291 = private unnamed_addr constant [5 x i8] c"%csz\00" -@.str12292 = private unnamed_addr constant [3 x i8] c" \00" -@.str12293 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" -@.str12294 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" -@.str12295 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" -@.str12296 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str12297 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str12298 = private unnamed_addr constant [5 x i8] c"file\00" -@.str12299 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" -@.str12300 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" -@.str12301 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" -@.str12302 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" -@.str12303 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" -@.str12304 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" -@.str12305 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" -@.str12306 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str12307 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" -@.str12308 = private unnamed_addr constant [7 x i8] c"fwrite\00" -@.str12309 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" -@.str12310 = 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" -@.str12311 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" -@.str12312 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" -@.str12313 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str12314 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" -@.str12315 = private unnamed_addr constant [6 x i8] c"fread\00" -@.str12316 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" -@.str12317 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" -@.str12318 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" -@.str12319 = private unnamed_addr constant [5 x i8] c"save\00" -@.str12320 = private unnamed_addr constant [1 x i8] c"\00" -@.str12321 = private unnamed_addr constant [5 x i8] c"%wsn\00" -@.str12322 = private unnamed_addr constant [3 x i8] c" \00" -@.str12323 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str12324 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str12325 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12326 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12327 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12328 = private unnamed_addr constant [5 x i8] c"load\00" -@.str12329 = private unnamed_addr constant [1 x i8] c"\00" -@.str12330 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12331 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" -@.str12332 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12333 = private unnamed_addr constant [1 x i8] c"\00" -@.str12334 = private unnamed_addr constant [5 x i8] c"%wzn\00" -@.str12335 = private unnamed_addr constant [3 x i8] c" \00" -@.str12336 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str12337 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str12338 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12339 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12340 = private unnamed_addr constant [5 x i8] c"file\00" -@.str12341 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str12342 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str12343 = private unnamed_addr constant [2 x i8] c"1\00" -@.str12344 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12345 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14293: index out of range: \00" -@.str12346 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14294: index out of range: \00" -@.str12347 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14297: index out of range: \00" -@.str12348 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14297: index out of range: \00" -@.str12349 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14309: index out of range: \00" -@.str12350 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14309: index out of range: \00" -@.str12351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14316: index out of range: \00" -@.str12352 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14316: index out of range: \00" -@.str12353 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14324: index out of range: \00" -@.str12354 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14324: index out of range: \00" -@.str12355 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str12218 = 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" +@.str12219 = 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" +@.str12220 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" +@.str12221 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" +@.str12222 = 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" +@.str12223 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" +@.str12224 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" +@.str12225 = 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" +@.str12226 = 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" +@.str12227 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" +@.str12228 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" +@.str12229 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12230 = 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" +@.str12231 = 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" +@.str12232 = 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" +@.str12233 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" +@.str12234 = 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" +@.str12235 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" +@.str12236 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str12237 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str12238 = 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" +@.str12239 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str12240 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str12241 = 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" +@.str12242 = 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" +@.str12243 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" +@.str12244 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12245 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str12246 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" +@.str12247 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" +@.str12248 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14505: index out of range: \00" +@.str12249 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14506: index out of range: \00" +@.str12250 = private unnamed_addr constant [7 x i8] c" %mdc\00" +@.str12251 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str12252 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12253 = private unnamed_addr constant [7 x i8] c" %mde\00" +@.str12254 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" +@.str12255 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str12256 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" +@.str12257 = private unnamed_addr constant [13 x i8] c", label %mdh\00" +@.str12258 = private unnamed_addr constant [13 x i8] c", label %mdn\00" +@.str12259 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12260 = private unnamed_addr constant [4 x i8] c"mdh\00" +@.str12261 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12262 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14510: index out of range: \00" +@.str12263 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12264 = private unnamed_addr constant [4 x i8] c"mdn\00" +@.str12265 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12266 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str12267 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14524: index out of range: \00" +@.str12268 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14525: index out of range: \00" +@.str12269 = private unnamed_addr constant [4 x i8] c"int\00" +@.str12270 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12271 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12272 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" +@.str12273 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str12274 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str12275 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" +@.str12276 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14546: index out of range: \00" +@.str12277 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14547: index out of range: \00" +@.str12278 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str12279 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" +@.str12280 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12281 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str12282 = private unnamed_addr constant [12 x i8] c", label %sh\00" +@.str12283 = private unnamed_addr constant [12 x i8] c", label %sn\00" +@.str12284 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12285 = private unnamed_addr constant [3 x i8] c"sh\00" +@.str12286 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" +@.str12287 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" +@.str12288 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" +@.str12289 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12290 = private unnamed_addr constant [3 x i8] c"sn\00" +@.str12291 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12292 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str12293 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" +@.str12294 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" +@.str12295 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" +@.str12296 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" +@.str12297 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str12298 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str12299 = 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" +@.str12300 = 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" +@.str12301 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" +@.str12302 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" +@.str12303 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" +@.str12304 = private unnamed_addr constant [1 x i8] c"\00" +@.str12305 = private unnamed_addr constant [4 x i8] c"int\00" +@.str12306 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14587: index out of range: \00" +@.str12307 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" +@.str12308 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" +@.str12309 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" +@.str12310 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" +@.str12311 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14598: index out of range: \00" +@.str12312 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14599: index out of range: \00" +@.str12313 = private unnamed_addr constant [6 x i8] c" %pe\00" +@.str12314 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" +@.str12315 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12316 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" +@.str12317 = private unnamed_addr constant [12 x i8] c", label %ph\00" +@.str12318 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str12319 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12320 = private unnamed_addr constant [3 x i8] c"ph\00" +@.str12321 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12322 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12323 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str12324 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12325 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" +@.str12326 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str12327 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" +@.str12328 = 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" +@.str12329 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" +@.str12330 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12331 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" +@.str12332 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14617: index out of range: \00" +@.str12333 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14618: index out of range: \00" +@.str12334 = private unnamed_addr constant [7 x i8] c" %fce\00" +@.str12335 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12336 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12337 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" +@.str12338 = private unnamed_addr constant [13 x i8] c", label %fch\00" +@.str12339 = private unnamed_addr constant [13 x i8] c", label %fcn\00" +@.str12340 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12341 = private unnamed_addr constant [4 x i8] c"fch\00" +@.str12342 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12343 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12344 = private unnamed_addr constant [4 x i8] c"fcn\00" +@.str12345 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12346 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str12347 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str12348 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" +@.str12349 = 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" +@.str12350 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" +@.str12351 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str12352 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14636: index out of range: \00" +@.str12353 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14637: index out of range: \00" +@.str12354 = private unnamed_addr constant [7 x i8] c" %fne\00" +@.str12355 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str12356 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12357 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14346: index out of range: \00" -@.str12358 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14347: index out of range: \00" -@.str12359 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14350: index out of range: \00" -@.str12360 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14351: index out of range: \00" -@.str12361 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14357: index out of range: \00" -@.str12362 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14359: index out of range: \00" -@.str12363 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str12364 = private unnamed_addr constant [13 x i8] c"@Sync field \00" -@.str12365 = private unnamed_addr constant [2 x i8] c".\00" -@.str12366 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14359: index out of range: \00" -@.str12367 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" -@.str12368 = private unnamed_addr constant [7 x i8] c"model \00" -@.str12369 = private unnamed_addr constant [9 x i8] c" @Syncs \00" -@.str12370 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" -@.str12371 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" -@.str12372 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str12373 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14383: index out of range: \00" -@.str12374 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14384: index out of range: \00" -@.str12375 = private unnamed_addr constant [3 x i8] c" \00" -@.str12376 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str12377 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str12378 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str12379 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str12380 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14390: index out of range: \00" -@.str12381 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14391: index out of range: \00" -@.str12382 = private unnamed_addr constant [3 x i8] c" \00" -@.str12383 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str12384 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12385 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str12386 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12387 = private unnamed_addr constant [3 x i8] c" \00" -@.str12388 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str12389 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12390 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12391 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12392 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12393 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12394 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14395: index out of range: \00" -@.str12395 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12396 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12397 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" -@.str12398 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12399 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14416: index out of range: \00" -@.str12400 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14417: index out of range: \00" -@.str12401 = private unnamed_addr constant [3 x i8] c" \00" -@.str12402 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str12403 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str12404 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str12405 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str12406 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14423: index out of range: \00" -@.str12407 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14424: index out of range: \00" -@.str12408 = private unnamed_addr constant [3 x i8] c" \00" -@.str12409 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str12410 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12411 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str12412 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12413 = private unnamed_addr constant [3 x i8] c" \00" -@.str12414 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str12415 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12416 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12417 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12418 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12419 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12420 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14428: index out of range: \00" -@.str12421 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12422 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str12423 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str12424 = 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" -@.str12425 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14451: index out of range: \00" -@.str12426 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14451: index out of range: \00" -@.str12427 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14452: index out of range: \00" -@.str12428 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12429 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str12430 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12431 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12432 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12433 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str12434 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12435 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12436 = private unnamed_addr constant [7 x i8] c":\0A %r\00" -@.str12437 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" -@.str12438 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" -@.str12439 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12440 = private unnamed_addr constant [2 x i8] c"n\00" -@.str12441 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12442 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str12443 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12444 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str12445 = 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" -@.str12446 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14467: index out of range: \00" -@.str12447 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14467: index out of range: \00" -@.str12448 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14468: index out of range: \00" -@.str12449 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12450 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str12451 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12452 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12453 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12454 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str12455 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12456 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12457 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" -@.str12458 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" -@.str12459 = private unnamed_addr constant [2 x i8] c"n\00" -@.str12460 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12461 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12462 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" -@.str12463 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str12464 = 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" -@.str12465 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14485: index out of range: \00" -@.str12466 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14485: index out of range: \00" -@.str12467 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14486: index out of range: \00" -@.str12468 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12469 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str12470 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12471 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12472 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12473 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str12474 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12475 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12476 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str12477 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14489: index out of range: \00" -@.str12478 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12479 = private unnamed_addr constant [2 x i8] c"n\00" -@.str12480 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12481 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str12482 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" -@.str12483 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str12484 = 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" -@.str12485 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" -@.str12486 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str12487 = 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" -@.str12488 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" -@.str12489 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str12490 = 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" -@.str12491 = 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" -@.str12492 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" -@.str12493 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" -@.str12494 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" -@.str12495 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" -@.str12496 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12497 = 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" -@.str12498 = 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" -@.str12499 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" -@.str12500 = 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" -@.str12501 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" -@.str12502 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str12503 = 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" -@.str12504 = 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" -@.str12505 = 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" -@.str12506 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" -@.str12507 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" -@.str12508 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" -@.str12509 = 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" -@.str12510 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" -@.str12511 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str12512 = 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" -@.str12513 = 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" -@.str12514 = 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" -@.str12515 = 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" -@.str12516 = 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" -@.str12517 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" -@.str12518 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14562: index out of range: \00" -@.str12519 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14568: index out of range: \00" -@.str12520 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str12521 = private unnamed_addr constant [11 x i8] c"L_net_send\00" -@.str12522 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str12523 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" -@.str12524 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str12525 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str12526 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" -@.str12527 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" -@.str12528 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" -@.str12529 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" -@.str12530 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" -@.str12531 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14587: index out of range: \00" -@.str12532 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12533 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" -@.str12534 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12535 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12536 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12537 = private unnamed_addr constant [11 x i8] c", label %x\00" -@.str12538 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12539 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12540 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12541 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14598: index out of range: \00" -@.str12542 = private unnamed_addr constant [2 x i8] c"_\00" -@.str12543 = private unnamed_addr constant [6 x i8] c" %fa\00" -@.str12544 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" -@.str12545 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12546 = private unnamed_addr constant [6 x i8] c" %fv\00" -@.str12547 = private unnamed_addr constant [9 x i8] c" = load \00" -@.str12548 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" -@.str12549 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12550 = private unnamed_addr constant [3 x i8] c", \00" -@.str12551 = private unnamed_addr constant [5 x i8] c" %fv\00" -@.str12552 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14604: index out of range: \00" -@.str12553 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str12554 = private unnamed_addr constant [2 x i8] c"(\00" -@.str12555 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12556 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12557 = private unnamed_addr constant [2 x i8] c"x\00" -@.str12558 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12559 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12560 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str12561 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14623: index out of range: \00" -@.str12562 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14623: index out of range: \00" -@.str12563 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14624: index out of range: \00" -@.str12564 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14625: index out of range: \00" -@.str12565 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str12566 = private unnamed_addr constant [6 x i8] c"panel\00" -@.str12567 = private unnamed_addr constant [4 x i8] c"col\00" -@.str12568 = private unnamed_addr constant [4 x i8] c"row\00" -@.str12569 = private unnamed_addr constant [6 x i8] c"label\00" -@.str12570 = private unnamed_addr constant [7 x i8] c"button\00" -@.str12571 = private unnamed_addr constant [6 x i8] c"image\00" -@.str12572 = private unnamed_addr constant [7 x i8] c"spacer\00" -@.str12573 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14656: index out of range: \00" -@.str12574 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14656: index out of range: \00" -@.str12575 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14662: index out of range: \00" -@.str12576 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14665: index out of range: \00" -@.str12577 = private unnamed_addr constant [5 x i8] c"font\00" -@.str12578 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12579 = private unnamed_addr constant [3 x i8] c"fg\00" -@.str12580 = private unnamed_addr constant [6 x i8] c"align\00" -@.str12581 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14670: index out of range: \00" -@.str12582 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14671: index out of range: \00" -@.str12583 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14673: index out of range: \00" -@.str12584 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14673: index out of range: \00" -@.str12585 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14674: index out of range: \00" -@.str12586 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14675: index out of range: \00" -@.str12587 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14686: index out of range: \00" -@.str12588 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14692: index out of range: \00" -@.str12589 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14692: index out of range: \00" -@.str12590 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14692: index out of range: \00" -@.str12591 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14698: index out of range: \00" -@.str12592 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14698: index out of range: \00" -@.str12593 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12594 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12595 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12596 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12597 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14714: index out of range: \00" -@.str12598 = private unnamed_addr constant [3 x i8] c"id\00" -@.str12599 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" -@.str12600 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12601 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12602 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12603 = private unnamed_addr constant [2 x i8] c"w\00" -@.str12604 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12605 = private unnamed_addr constant [2 x i8] c"x\00" -@.str12606 = private unnamed_addr constant [2 x i8] c"y\00" -@.str12607 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str12608 = private unnamed_addr constant [4 x i8] c"gap\00" -@.str12609 = private unnamed_addr constant [3 x i8] c"bg\00" -@.str12610 = private unnamed_addr constant [3 x i8] c"fg\00" -@.str12611 = private unnamed_addr constant [7 x i8] c"border\00" -@.str12612 = private unnamed_addr constant [5 x i8] c"grow\00" -@.str12613 = private unnamed_addr constant [5 x i8] c"font\00" -@.str12614 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12615 = private unnamed_addr constant [6 x i8] c"inset\00" -@.str12616 = private unnamed_addr constant [6 x i8] c"focus\00" -@.str12617 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" -@.str12618 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12619 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14745: index out of range: \00" -@.str12620 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14748: index out of range: \00" -@.str12621 = private unnamed_addr constant [2 x i8] c"1\00" -@.str12622 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14753: index out of range: \00" -@.str12623 = private unnamed_addr constant [3 x i8] c"id\00" -@.str12624 = private unnamed_addr constant [5 x i8] c"goto\00" -@.str12625 = private unnamed_addr constant [5 x i8] c"text\00" -@.str12626 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" -@.str12627 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12628 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12629 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str12630 = private unnamed_addr constant [6 x i8] c"image\00" -@.str12631 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" -@.str12632 = private unnamed_addr constant [2 x i8] c")\00" -@.str12633 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str12634 = private unnamed_addr constant [6 x i8] c"align\00" -@.str12635 = private unnamed_addr constant [7 x i8] c"center\00" -@.str12636 = private unnamed_addr constant [4 x i8] c"end\00" -@.str12637 = private unnamed_addr constant [2 x i8] c"1\00" -@.str12638 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" -@.str12639 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12640 = private unnamed_addr constant [3 x i8] c", \00" -@.str12641 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14797: index out of range: \00" -@.str12642 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str12643 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14797: index out of range: \00" -@.str12644 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12645 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" -@.str12646 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12647 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14816: index out of range: \00" -@.str12648 = private unnamed_addr constant [9 x i8] c" store \00" -@.str12649 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str12650 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12651 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12652 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12653 = private unnamed_addr constant [11 x i8] c"function '\00" -@.str12654 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" -@.str12655 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str12656 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str12657 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12658 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str12659 = private unnamed_addr constant [6 x i8] c"load \00" -@.str12660 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" -@.str12661 = private unnamed_addr constant [7 x i8] c" ret \00" -@.str12662 = private unnamed_addr constant [2 x i8] c" \00" -@.str12663 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12664 = private unnamed_addr constant [8 x i8] c"define \00" -@.str12665 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str12666 = private unnamed_addr constant [2 x i8] c"(\00" -@.str12667 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str12668 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str12669 = private unnamed_addr constant [1 x i8] c"\00" -@.str12670 = private unnamed_addr constant [4 x i8] c"int\00" -@.str12671 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" -@.str12672 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str12673 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str12674 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" -@.str12675 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str12676 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str12677 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" -@.str12678 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str12679 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str12680 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" -@.str12681 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12682 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12683 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str12684 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str12685 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12686 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str12687 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str12688 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" -@.str12689 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str12690 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str12691 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" -@.str12692 = 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" -@.str12693 = private unnamed_addr constant [91 x i8] c"@.fmt_test_none = private unnamed_addr constant [20 x i8] c\22no test named \5C22%s\5C22\5C0A\5C00\22\0A\00" -@.str12694 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14896: index out of range: \00" -@.str12695 = 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" -@.str12696 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str12697 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str12698 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str12699 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" -@.str12700 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" -@.str12701 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" -@.str12702 = private unnamed_addr constant [6 x i8] c"tfilt\00" -@.str12703 = private unnamed_addr constant [7 x i8] c"tbegin\00" -@.str12704 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" -@.str12705 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12706 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12707 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12708 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12709 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12710 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" -@.str12711 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str12712 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str12713 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" -@.str12714 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12715 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12716 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12717 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" -@.str12718 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" -@.str12719 = private unnamed_addr constant [8 x i8] c"ok - \00" -@.str12720 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14920: index out of range: \00" -@.str12721 = private unnamed_addr constant [8 x i8] c"FAIL - \00" -@.str12722 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14921: index out of range: \00" -@.str12723 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14922: index out of range: \00" -@.str12724 = private unnamed_addr constant [5 x i8] c"tcmp\00" -@.str12725 = private unnamed_addr constant [5 x i8] c"trun\00" -@.str12726 = private unnamed_addr constant [6 x i8] c"tskip\00" -@.str12727 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" -@.str12728 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str12729 = private unnamed_addr constant [7 x i8] c", null\00" -@.str12730 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12731 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12732 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12733 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12734 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12735 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" -@.str12736 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12737 = private unnamed_addr constant [2 x i8] c")\00" -@.str12738 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12739 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12740 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12741 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12742 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12743 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12744 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12745 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" -@.str12746 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str12747 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str12748 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12749 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" -@.str12750 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" -@.str12751 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" -@.str12752 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12753 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" -@.str12754 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str12755 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12756 = private unnamed_addr constant [6 x i8] c"tpass\00" -@.str12757 = private unnamed_addr constant [6 x i8] c"tfail\00" -@.str12758 = private unnamed_addr constant [6 x i8] c"tdone\00" -@.str12759 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12760 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12761 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12762 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12763 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12764 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str12765 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12766 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12357 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" +@.str12358 = private unnamed_addr constant [13 x i8] c", label %fnk\00" +@.str12359 = private unnamed_addr constant [13 x i8] c", label %fnn\00" +@.str12360 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12361 = private unnamed_addr constant [4 x i8] c"fnk\00" +@.str12362 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12363 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14643: index out of range: \00" +@.str12364 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12365 = private unnamed_addr constant [8 x i8] c" %fnfe\00" +@.str12366 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12367 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12368 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" +@.str12369 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" +@.str12370 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" +@.str12371 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12372 = private unnamed_addr constant [5 x i8] c"fnfh\00" +@.str12373 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12374 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12375 = private unnamed_addr constant [5 x i8] c"fnfn\00" +@.str12376 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12377 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12378 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12379 = private unnamed_addr constant [4 x i8] c"fnn\00" +@.str12380 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12381 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12382 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12383 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str12384 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14662: index out of range: \00" +@.str12385 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14663: index out of range: \00" +@.str12386 = private unnamed_addr constant [7 x i8] c" %fte\00" +@.str12387 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12388 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12389 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" +@.str12390 = private unnamed_addr constant [13 x i8] c", label %ftk\00" +@.str12391 = private unnamed_addr constant [13 x i8] c", label %ftn\00" +@.str12392 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12393 = private unnamed_addr constant [4 x i8] c"ftk\00" +@.str12394 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12395 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14669: index out of range: \00" +@.str12396 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12397 = private unnamed_addr constant [8 x i8] c" %ftfe\00" +@.str12398 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12399 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12400 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" +@.str12401 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" +@.str12402 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" +@.str12403 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12404 = private unnamed_addr constant [5 x i8] c"ftfh\00" +@.str12405 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12406 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12407 = private unnamed_addr constant [5 x i8] c"ftfn\00" +@.str12408 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12409 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12410 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12411 = private unnamed_addr constant [4 x i8] c"ftn\00" +@.str12412 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12413 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12414 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12415 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" +@.str12416 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str12417 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str12418 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str12419 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str12420 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12421 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" +@.str12422 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str12423 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str12424 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12425 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" +@.str12426 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" +@.str12427 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str12428 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str12429 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str12430 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str12431 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str12432 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str12433 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str12434 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12435 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str12436 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14731: index out of range: \00" +@.str12437 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str12438 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14731: index out of range: \00" +@.str12439 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str12440 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str12441 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" +@.str12442 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12443 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str12444 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" +@.str12445 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str12446 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str12447 = private unnamed_addr constant [11 x i8] c"rt_running\00" +@.str12448 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" +@.str12449 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str12450 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str12451 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str12452 = private unnamed_addr constant [3 x i8] c", \00" +@.str12453 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str12454 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str12455 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str12456 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str12457 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str12458 = private unnamed_addr constant [12 x i8] c"input_drive\00" +@.str12459 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" +@.str12460 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12461 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str12462 = private unnamed_addr constant [8 x i8] c"rt_poll\00" +@.str12463 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" +@.str12464 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12465 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str12466 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" +@.str12467 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str12468 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" +@.str12469 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12470 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str12471 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str12472 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str12473 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str12474 = private unnamed_addr constant [9 x i8] c"rt_clear\00" +@.str12475 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" +@.str12476 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12477 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str12478 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str12479 = private unnamed_addr constant [11 x i8] c"rt_present\00" +@.str12480 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" +@.str12481 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str12482 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str12483 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str12484 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12485 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" +@.str12486 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12487 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str12488 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" +@.str12489 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str12490 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str12491 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" +@.str12492 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" +@.str12493 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" +@.str12494 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" +@.str12495 = private unnamed_addr constant [15 x i8] c"machine state \00" +@.str12496 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str12497 = private unnamed_addr constant [1 x i8] c"\00" +@.str12498 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" +@.str12499 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" +@.str12500 = private unnamed_addr constant [2 x i8] c")\00" +@.str12501 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14840: index out of range: \00" +@.str12502 = private unnamed_addr constant [6 x i8] c"smend\00" +@.str12503 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14845: index out of range: \00" +@.str12504 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str12505 = private unnamed_addr constant [3 x i8] c", \00" +@.str12506 = private unnamed_addr constant [6 x i8] c"sbody\00" +@.str12507 = private unnamed_addr constant [5 x i8] c"sarm\00" +@.str12508 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str12509 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str12510 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str12511 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12512 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12513 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12514 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12515 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12516 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12517 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12518 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12519 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14867: index out of range: \00" +@.str12520 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14870: index out of range: \00" +@.str12521 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14870: index out of range: \00" +@.str12522 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12523 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str12524 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12525 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" +@.str12526 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str12527 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12528 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" +@.str12529 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" +@.str12530 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str12531 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" +@.str12532 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12533 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str12534 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str12535 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str12536 = private unnamed_addr constant [5 x i8] c"file\00" +@.str12537 = private unnamed_addr constant [4 x i8] c"%io\00" +@.str12538 = private unnamed_addr constant [3 x i8] c" \00" +@.str12539 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" +@.str12540 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str12541 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str12542 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" +@.str12543 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12544 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str12545 = private unnamed_addr constant [3 x i8] c" \00" +@.str12546 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str12547 = private unnamed_addr constant [3 x i8] c", \00" +@.str12548 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12549 = private unnamed_addr constant [5 x i8] c"%ioa\00" +@.str12550 = private unnamed_addr constant [3 x i8] c" \00" +@.str12551 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" +@.str12552 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12553 = private unnamed_addr constant [5 x i8] c"save\00" +@.str12554 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12555 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12556 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12557 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12558 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12559 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12560 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12561 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12562 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str12563 = private unnamed_addr constant [3 x i8] c" \00" +@.str12564 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str12565 = private unnamed_addr constant [3 x i8] c", \00" +@.str12566 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12567 = private unnamed_addr constant [2 x i8] c"0\00" +@.str12568 = private unnamed_addr constant [8 x i8] c"@L_entc\00" +@.str12569 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12570 = private unnamed_addr constant [9 x i8] c"@L_freen\00" +@.str12571 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12572 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" +@.str12573 = private unnamed_addr constant [5 x i8] c", 4\0A\00" +@.str12574 = private unnamed_addr constant [9 x i8] c"@L_alive\00" +@.str12575 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12576 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" +@.str12577 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12578 = private unnamed_addr constant [8 x i8] c"@L_kind\00" +@.str12579 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12580 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" +@.str12581 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12582 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14952: index out of range: \00" +@.str12583 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str12584 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14952: index out of range: \00" +@.str12585 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12586 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14956: index out of range: \00" +@.str12587 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14957: index out of range: \00" +@.str12588 = private unnamed_addr constant [5 x i8] c"%csz\00" +@.str12589 = private unnamed_addr constant [3 x i8] c" \00" +@.str12590 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" +@.str12591 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" +@.str12592 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" +@.str12593 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str12594 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str12595 = private unnamed_addr constant [5 x i8] c"file\00" +@.str12596 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" +@.str12597 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str12598 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str12599 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" +@.str12600 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" +@.str12601 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" +@.str12602 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" +@.str12603 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str12604 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" +@.str12605 = private unnamed_addr constant [7 x i8] c"fwrite\00" +@.str12606 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" +@.str12607 = 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" +@.str12608 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" +@.str12609 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" +@.str12610 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str12611 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" +@.str12612 = private unnamed_addr constant [6 x i8] c"fread\00" +@.str12613 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" +@.str12614 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" +@.str12615 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" +@.str12616 = private unnamed_addr constant [5 x i8] c"save\00" +@.str12617 = private unnamed_addr constant [1 x i8] c"\00" +@.str12618 = private unnamed_addr constant [5 x i8] c"%wsn\00" +@.str12619 = private unnamed_addr constant [3 x i8] c" \00" +@.str12620 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str12621 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str12622 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12623 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12624 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12625 = private unnamed_addr constant [5 x i8] c"load\00" +@.str12626 = private unnamed_addr constant [1 x i8] c"\00" +@.str12627 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12628 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" +@.str12629 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12630 = private unnamed_addr constant [1 x i8] c"\00" +@.str12631 = private unnamed_addr constant [5 x i8] c"%wzn\00" +@.str12632 = private unnamed_addr constant [3 x i8] c" \00" +@.str12633 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str12634 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str12635 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12636 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12637 = private unnamed_addr constant [5 x i8] c"file\00" +@.str12638 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12639 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12640 = private unnamed_addr constant [2 x i8] c"1\00" +@.str12641 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12642 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15050: index out of range: \00" +@.str12643 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15051: index out of range: \00" +@.str12644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15054: index out of range: \00" +@.str12645 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15054: index out of range: \00" +@.str12646 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15066: index out of range: \00" +@.str12647 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15066: index out of range: \00" +@.str12648 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15073: index out of range: \00" +@.str12649 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15073: index out of range: \00" +@.str12650 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15081: index out of range: \00" +@.str12651 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15081: index out of range: \00" +@.str12652 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str12653 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12654 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15103: index out of range: \00" +@.str12655 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15104: index out of range: \00" +@.str12656 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15107: index out of range: \00" +@.str12657 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15108: index out of range: \00" +@.str12658 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15114: index out of range: \00" +@.str12659 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15116: index out of range: \00" +@.str12660 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str12661 = private unnamed_addr constant [13 x i8] c"@Sync field \00" +@.str12662 = private unnamed_addr constant [2 x i8] c".\00" +@.str12663 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15116: index out of range: \00" +@.str12664 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" +@.str12665 = private unnamed_addr constant [7 x i8] c"model \00" +@.str12666 = private unnamed_addr constant [9 x i8] c" @Syncs \00" +@.str12667 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" +@.str12668 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" +@.str12669 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str12670 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15140: index out of range: \00" +@.str12671 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15141: index out of range: \00" +@.str12672 = private unnamed_addr constant [3 x i8] c" \00" +@.str12673 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12674 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12675 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12676 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12677 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15147: index out of range: \00" +@.str12678 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15148: index out of range: \00" +@.str12679 = private unnamed_addr constant [3 x i8] c" \00" +@.str12680 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12681 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12682 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12683 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12684 = private unnamed_addr constant [3 x i8] c" \00" +@.str12685 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str12686 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12687 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12688 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12689 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12690 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12691 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15152: index out of range: \00" +@.str12692 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12693 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12694 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" +@.str12695 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12696 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15173: index out of range: \00" +@.str12697 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15174: index out of range: \00" +@.str12698 = private unnamed_addr constant [3 x i8] c" \00" +@.str12699 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12700 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12701 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12702 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12703 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15180: index out of range: \00" +@.str12704 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15181: index out of range: \00" +@.str12705 = private unnamed_addr constant [3 x i8] c" \00" +@.str12706 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12707 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12708 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12709 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12710 = private unnamed_addr constant [3 x i8] c" \00" +@.str12711 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str12712 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12713 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12714 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12715 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12716 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12717 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15185: index out of range: \00" +@.str12718 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12719 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str12720 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12721 = 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" +@.str12722 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15208: index out of range: \00" +@.str12723 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15208: index out of range: \00" +@.str12724 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15209: index out of range: \00" +@.str12725 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12726 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str12727 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12728 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12729 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12730 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12731 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12732 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12733 = private unnamed_addr constant [7 x i8] c":\0A %r\00" +@.str12734 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" +@.str12735 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" +@.str12736 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12737 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12738 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12739 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str12740 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12741 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12742 = 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" +@.str12743 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15224: index out of range: \00" +@.str12744 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15224: index out of range: \00" +@.str12745 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15225: index out of range: \00" +@.str12746 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12747 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str12748 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12749 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12750 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12751 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12752 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12753 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12754 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" +@.str12755 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" +@.str12756 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12757 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12758 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12759 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" +@.str12760 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12761 = 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" +@.str12762 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15242: index out of range: \00" +@.str12763 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15242: index out of range: \00" +@.str12764 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15243: index out of range: \00" +@.str12765 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12766 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str12767 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12768 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12769 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" -@.str12770 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str12771 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str12772 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12773 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" -@.str12774 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str12775 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12776 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12777 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12778 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12779 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12780 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12781 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12782 = private unnamed_addr constant [6 x i8] c"tnone\00" -@.str12783 = private unnamed_addr constant [5 x i8] c"tsum\00" -@.str12784 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" -@.str12785 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" -@.str12786 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" -@.str12787 = private unnamed_addr constant [7 x i8] c", null\00" -@.str12788 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12789 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12790 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str12791 = private unnamed_addr constant [3 x i8] c", \00" -@.str12792 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12793 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12794 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12795 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12796 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12797 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" -@.str12798 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12799 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" -@.str12800 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12801 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" -@.str12802 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str12803 = private unnamed_addr constant [3 x i8] c", \00" -@.str12804 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" -@.str12805 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12806 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12807 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12808 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12809 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str12810 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str12811 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12812 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" -@.str12813 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14980: index out of range: \00" -@.str12814 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14984: index out of range: \00" -@.str12815 = private unnamed_addr constant [11 x i8] c"function '\00" -@.str12816 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" -@.str12817 = private unnamed_addr constant [2 x i8] c":\00" -@.str12818 = private unnamed_addr constant [2 x i8] c")\00" -@.str12819 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15008: index out of range: \00" -@.str12820 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15013: index out of range: \00" -@.str12821 = private unnamed_addr constant [2 x i8] c"'\00" -@.str12822 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" -@.str12823 = private unnamed_addr constant [2 x i8] c":\00" -@.str12824 = private unnamed_addr constant [2 x i8] c")\00" -@.str12825 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15055: index out of range: \00" -@.str12826 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15057: index out of range: \00" -@.str12827 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15075: index out of range: \00" -@.str12828 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15075: index out of range: \00" -@.str12829 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15080: index out of range: \00" -@.str12830 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15080: index out of range: \00" -@.str12831 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" -@.str12832 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str12833 = 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" -@.str12834 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str12835 = private unnamed_addr constant [78 x i8] c"@.fmt_bounds = private unnamed_addr constant [14 x i8] c\22%s%d, len %d\5C0A\5C00\22\0A\00" -@.str12836 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" -@.str12837 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" -@.str12838 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" -@.str12839 = private unnamed_addr constant [10 x i8] c" x i32] [\00" -@.str12840 = private unnamed_addr constant [3 x i8] c", \00" -@.str12841 = private unnamed_addr constant [5 x i8] c"i32 \00" -@.str12842 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15134: index out of range: \00" -@.str12843 = private unnamed_addr constant [3 x i8] c"]\0A\00" -@.str12844 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" -@.str12845 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str12846 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" -@.str12847 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12848 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" -@.str12849 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" -@.str12850 = private unnamed_addr constant [2 x i8] c"w\00" -@.str12851 = 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" -@.str12852 = 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" -@.str12853 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str12854 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" -@.str12855 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" -@.str12856 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" -@.str12857 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12858 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" -@.str12859 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" -@.str12860 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" -@.str12861 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" -@.str12862 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12863 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str12864 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" -@.str12865 = private unnamed_addr constant [8 x i8] c"write:\0A\00" -@.str12866 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" -@.str12867 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12868 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12869 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str12870 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" -@.str12871 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" -@.str12872 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12873 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" -@.str12874 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str12875 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" -@.str12876 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" -@.str12877 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" -@.str12878 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" -@.str12879 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" -@.str12880 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" -@.str12881 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" -@.str12882 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" -@.str12883 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12884 = private unnamed_addr constant [8 x i8] c"close:\0A\00" -@.str12885 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" -@.str12886 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str12887 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" -@.str12888 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" -@.str12889 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" -@.str12890 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12891 = 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" -@.str12892 = private unnamed_addr constant [3 x i8] c"wb\00" -@.str12893 = private unnamed_addr constant [7 x i8] c".ludic\00" -@.str12894 = private unnamed_addr constant [2 x i8] c"/\00" -@.str12895 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" -@.str12896 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" -@.str12897 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12898 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" -@.str12899 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" -@.str12900 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" -@.str12901 = private unnamed_addr constant [7 x i8] c"rm -f \00" -@.str12902 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" -@.str12903 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" -@.str12904 = private unnamed_addr constant [3 x i8] c"rb\00" -@.str12905 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12906 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12907 = private unnamed_addr constant [6 x i8] c"clang\00" -@.str12908 = private unnamed_addr constant [8 x i8] c"VERSION\00" -@.str12909 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" -@.str12910 = private unnamed_addr constant [7 x i8] c"ludic \00" -@.str12911 = private unnamed_addr constant [1 x i8] c"\00" -@.str12912 = private unnamed_addr constant [1 x i8] c"\00" -@.str12913 = private unnamed_addr constant [2 x i8] c"?\00" -@.str12914 = private unnamed_addr constant [4 x i8] c"ret\00" -@.str12915 = private unnamed_addr constant [1 x i8] c"\00" -@.str12916 = private unnamed_addr constant [10 x i8] c"--version\00" -@.str12917 = private unnamed_addr constant [11 x i8] c"--windowed\00" -@.str12918 = private unnamed_addr constant [11 x i8] c"--headless\00" -@.str12919 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" -@.str12920 = private unnamed_addr constant [14 x i8] c"--emit-module\00" -@.str12921 = private unnamed_addr constant [6 x i8] c"--fmt\00" -@.str12922 = private unnamed_addr constant [13 x i8] c"--save-temps\00" -@.str12923 = private unnamed_addr constant [6 x i8] c"--run\00" -@.str12924 = private unnamed_addr constant [11 x i8] c"--coverage\00" -@.str12925 = private unnamed_addr constant [9 x i8] c"--target\00" -@.str12926 = private unnamed_addr constant [6 x i8] c"--gui\00" -@.str12927 = private unnamed_addr constant [8 x i8] c"--title\00" -@.str12928 = private unnamed_addr constant [7 x i8] c"--link\00" -@.str12929 = private unnamed_addr constant [3 x i8] c"-o\00" -@.str12930 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" -@.str12931 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12932 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" -@.str12933 = private unnamed_addr constant [8 x i8] c"windows\00" -@.str12934 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" -@.str12935 = private unnamed_addr constant [5 x i8] c"TEMP\00" -@.str12936 = private unnamed_addr constant [2 x i8] c".\00" -@.str12937 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" -@.str12938 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" -@.str12939 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str12940 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str12941 = private unnamed_addr constant [4 x i8] c".ll\00" -@.str12942 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" -@.str12943 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" -@.str12944 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" -@.str12945 = private unnamed_addr constant [2 x i8] c" \00" -@.str12946 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" -@.str12947 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" -@.str12948 = private unnamed_addr constant [2 x i8] c" \00" -@.str12949 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" -@.str12950 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" -@.str12951 = private unnamed_addr constant [2 x i8] c" \00" -@.str12952 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" -@.str12953 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" -@.str12954 = private unnamed_addr constant [2 x i8] c" \00" -@.str12955 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" -@.str12956 = private unnamed_addr constant [2 x i8] c" \00" -@.str12957 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" -@.str12958 = private unnamed_addr constant [2 x i8] c" \00" -@.str12959 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" -@.str12960 = private unnamed_addr constant [2 x i8] c" \00" -@.str12961 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" -@.str12962 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" -@.str12963 = private unnamed_addr constant [2 x i8] c" \00" -@.str12964 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" -@.str12965 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" -@.str12966 = private unnamed_addr constant [2 x i8] c" \00" -@.str12967 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" -@.str12968 = private unnamed_addr constant [2 x i8] c" \00" -@.str12969 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" -@.str12970 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" -@.str12971 = private unnamed_addr constant [2 x i8] c" \00" -@.str12972 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" -@.str12973 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" -@.str12974 = private unnamed_addr constant [2 x i8] c" \00" -@.str12975 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" -@.str12976 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" -@.str12977 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" -@.str12978 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" -@.str12979 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" -@.str12980 = private unnamed_addr constant [2 x i8] c" \00" -@.str12981 = private unnamed_addr constant [2 x i8] c" \00" -@.str12982 = private unnamed_addr constant [2 x i8] c" \00" -@.str12983 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" -@.str12984 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" -@.str12985 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" -@.str12986 = private unnamed_addr constant [2 x i8] c" \00" -@.str12987 = private unnamed_addr constant [2 x i8] c" \00" -@.str12988 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" -@.str12989 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" -@.str12990 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" -@.str12991 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" -@.str12992 = private unnamed_addr constant [2 x i8] c" \00" -@.str12993 = private unnamed_addr constant [2 x i8] c" \00" -@.str12994 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" -@.str12995 = private unnamed_addr constant [3 x i8] c" \22\00" -@.str12996 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15541: index out of range: \00" -@.str12997 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12998 = private unnamed_addr constant [5 x i8] c" -o \00" -@.str12999 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str13000 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str13001 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" -@.str13002 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str13003 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str12768 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12769 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12770 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12771 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12772 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12773 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12774 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15246: index out of range: \00" +@.str12775 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12776 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12777 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12778 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str12779 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" +@.str12780 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str12781 = 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" +@.str12782 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" +@.str12783 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str12784 = 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" +@.str12785 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" +@.str12786 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str12787 = 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" +@.str12788 = 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" +@.str12789 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" +@.str12790 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" +@.str12791 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" +@.str12792 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" +@.str12793 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12794 = 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" +@.str12795 = 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" +@.str12796 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" +@.str12797 = 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" +@.str12798 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" +@.str12799 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str12800 = 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" +@.str12801 = 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" +@.str12802 = 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" +@.str12803 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" +@.str12804 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" +@.str12805 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" +@.str12806 = 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" +@.str12807 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" +@.str12808 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str12809 = 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" +@.str12810 = 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" +@.str12811 = 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" +@.str12812 = 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" +@.str12813 = 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" +@.str12814 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" +@.str12815 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15319: index out of range: \00" +@.str12816 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15325: index out of range: \00" +@.str12817 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str12818 = private unnamed_addr constant [11 x i8] c"L_net_send\00" +@.str12819 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str12820 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" +@.str12821 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str12822 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str12823 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" +@.str12824 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" +@.str12825 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" +@.str12826 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" +@.str12827 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" +@.str12828 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15344: index out of range: \00" +@.str12829 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12830 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" +@.str12831 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12832 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12833 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12834 = private unnamed_addr constant [11 x i8] c", label %x\00" +@.str12835 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12836 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12837 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12838 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15355: index out of range: \00" +@.str12839 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12840 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str12841 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" +@.str12842 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12843 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str12844 = private unnamed_addr constant [9 x i8] c" = load \00" +@.str12845 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str12846 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12847 = private unnamed_addr constant [3 x i8] c", \00" +@.str12848 = private unnamed_addr constant [5 x i8] c" %fv\00" +@.str12849 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15361: index out of range: \00" +@.str12850 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str12851 = private unnamed_addr constant [2 x i8] c"(\00" +@.str12852 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12853 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12854 = private unnamed_addr constant [2 x i8] c"x\00" +@.str12855 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12856 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12857 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str12858 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15380: index out of range: \00" +@.str12859 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15380: index out of range: \00" +@.str12860 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15381: index out of range: \00" +@.str12861 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15382: index out of range: \00" +@.str12862 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str12863 = private unnamed_addr constant [6 x i8] c"panel\00" +@.str12864 = private unnamed_addr constant [4 x i8] c"col\00" +@.str12865 = private unnamed_addr constant [4 x i8] c"row\00" +@.str12866 = private unnamed_addr constant [6 x i8] c"label\00" +@.str12867 = private unnamed_addr constant [7 x i8] c"button\00" +@.str12868 = private unnamed_addr constant [6 x i8] c"image\00" +@.str12869 = private unnamed_addr constant [7 x i8] c"spacer\00" +@.str12870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15413: index out of range: \00" +@.str12871 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15413: index out of range: \00" +@.str12872 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15419: index out of range: \00" +@.str12873 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15422: index out of range: \00" +@.str12874 = private unnamed_addr constant [5 x i8] c"font\00" +@.str12875 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12876 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str12877 = private unnamed_addr constant [6 x i8] c"align\00" +@.str12878 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15427: index out of range: \00" +@.str12879 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15428: index out of range: \00" +@.str12880 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15430: index out of range: \00" +@.str12881 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15430: index out of range: \00" +@.str12882 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15431: index out of range: \00" +@.str12883 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15432: index out of range: \00" +@.str12884 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15443: index out of range: \00" +@.str12885 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15449: index out of range: \00" +@.str12886 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15449: index out of range: \00" +@.str12887 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15449: index out of range: \00" +@.str12888 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15455: index out of range: \00" +@.str12889 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15455: index out of range: \00" +@.str12890 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12891 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12892 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12893 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12894 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15471: index out of range: \00" +@.str12895 = private unnamed_addr constant [3 x i8] c"id\00" +@.str12896 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" +@.str12897 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str12898 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str12899 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12900 = private unnamed_addr constant [2 x i8] c"w\00" +@.str12901 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12902 = private unnamed_addr constant [2 x i8] c"x\00" +@.str12903 = private unnamed_addr constant [2 x i8] c"y\00" +@.str12904 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str12905 = private unnamed_addr constant [4 x i8] c"gap\00" +@.str12906 = private unnamed_addr constant [3 x i8] c"bg\00" +@.str12907 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str12908 = private unnamed_addr constant [7 x i8] c"border\00" +@.str12909 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str12910 = private unnamed_addr constant [5 x i8] c"font\00" +@.str12911 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12912 = private unnamed_addr constant [6 x i8] c"inset\00" +@.str12913 = private unnamed_addr constant [6 x i8] c"focus\00" +@.str12914 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" +@.str12915 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12916 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15502: index out of range: \00" +@.str12917 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15505: index out of range: \00" +@.str12918 = private unnamed_addr constant [2 x i8] c"1\00" +@.str12919 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15510: index out of range: \00" +@.str12920 = private unnamed_addr constant [3 x i8] c"id\00" +@.str12921 = private unnamed_addr constant [5 x i8] c"goto\00" +@.str12922 = private unnamed_addr constant [5 x i8] c"text\00" +@.str12923 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" +@.str12924 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12925 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12926 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str12927 = private unnamed_addr constant [6 x i8] c"image\00" +@.str12928 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" +@.str12929 = private unnamed_addr constant [2 x i8] c")\00" +@.str12930 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str12931 = private unnamed_addr constant [6 x i8] c"align\00" +@.str12932 = private unnamed_addr constant [7 x i8] c"center\00" +@.str12933 = private unnamed_addr constant [4 x i8] c"end\00" +@.str12934 = private unnamed_addr constant [2 x i8] c"1\00" +@.str12935 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" +@.str12936 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12937 = private unnamed_addr constant [3 x i8] c", \00" +@.str12938 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15554: index out of range: \00" +@.str12939 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str12940 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15554: index out of range: \00" +@.str12941 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12942 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" +@.str12943 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12944 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15573: index out of range: \00" +@.str12945 = private unnamed_addr constant [9 x i8] c" store \00" +@.str12946 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str12947 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12948 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12949 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12950 = private unnamed_addr constant [11 x i8] c"function '\00" +@.str12951 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" +@.str12952 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str12953 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str12954 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12955 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str12956 = private unnamed_addr constant [6 x i8] c"load \00" +@.str12957 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" +@.str12958 = private unnamed_addr constant [7 x i8] c" ret \00" +@.str12959 = private unnamed_addr constant [2 x i8] c" \00" +@.str12960 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12961 = private unnamed_addr constant [8 x i8] c"define \00" +@.str12962 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str12963 = private unnamed_addr constant [2 x i8] c"(\00" +@.str12964 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str12965 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str12966 = private unnamed_addr constant [1 x i8] c"\00" +@.str12967 = private unnamed_addr constant [4 x i8] c"int\00" +@.str12968 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" +@.str12969 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str12970 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str12971 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" +@.str12972 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str12973 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str12974 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str12975 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str12976 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str12977 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" +@.str12978 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12979 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12980 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str12981 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str12982 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12983 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str12984 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str12985 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" +@.str12986 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str12987 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str12988 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" +@.str12989 = 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" +@.str12990 = private unnamed_addr constant [91 x i8] c"@.fmt_test_none = private unnamed_addr constant [20 x i8] c\22no test named \5C22%s\5C22\5C0A\5C00\22\0A\00" +@.str12991 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15653: index out of range: \00" +@.str12992 = 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" +@.str12993 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str12994 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str12995 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str12996 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" +@.str12997 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" +@.str12998 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" +@.str12999 = private unnamed_addr constant [6 x i8] c"tfilt\00" +@.str13000 = private unnamed_addr constant [7 x i8] c"tbegin\00" +@.str13001 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" +@.str13002 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13003 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13004 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13005 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13006 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13007 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" +@.str13008 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str13009 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str13010 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" +@.str13011 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13012 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13013 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13014 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" +@.str13015 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str13016 = private unnamed_addr constant [8 x i8] c"ok - \00" +@.str13017 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15677: index out of range: \00" +@.str13018 = private unnamed_addr constant [8 x i8] c"FAIL - \00" +@.str13019 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15678: index out of range: \00" +@.str13020 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15679: index out of range: \00" +@.str13021 = private unnamed_addr constant [5 x i8] c"tcmp\00" +@.str13022 = private unnamed_addr constant [5 x i8] c"trun\00" +@.str13023 = private unnamed_addr constant [6 x i8] c"tskip\00" +@.str13024 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" +@.str13025 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str13026 = private unnamed_addr constant [7 x i8] c", null\00" +@.str13027 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13028 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13029 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13030 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13031 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13032 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" +@.str13033 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str13034 = private unnamed_addr constant [2 x i8] c")\00" +@.str13035 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str13036 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13037 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13038 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13039 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13040 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13041 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13042 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" +@.str13043 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str13044 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str13045 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str13046 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" +@.str13047 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" +@.str13048 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" +@.str13049 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str13050 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" +@.str13051 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str13052 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13053 = private unnamed_addr constant [6 x i8] c"tpass\00" +@.str13054 = private unnamed_addr constant [6 x i8] c"tfail\00" +@.str13055 = private unnamed_addr constant [6 x i8] c"tdone\00" +@.str13056 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13057 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13058 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13059 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13060 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13061 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str13062 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13063 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13064 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13065 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13066 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str13067 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str13068 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str13069 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str13070 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" +@.str13071 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str13072 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13073 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13075 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13076 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13077 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13078 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13079 = private unnamed_addr constant [6 x i8] c"tnone\00" +@.str13080 = private unnamed_addr constant [5 x i8] c"tsum\00" +@.str13081 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" +@.str13082 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" +@.str13083 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" +@.str13084 = private unnamed_addr constant [7 x i8] c", null\00" +@.str13085 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str13086 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13087 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str13088 = private unnamed_addr constant [3 x i8] c", \00" +@.str13089 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13090 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13091 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13092 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13093 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13094 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" +@.str13095 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13096 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" +@.str13097 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13098 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str13099 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str13100 = private unnamed_addr constant [3 x i8] c", \00" +@.str13101 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" +@.str13102 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str13103 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13104 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str13105 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13106 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str13107 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str13108 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str13109 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" +@.str13110 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15737: index out of range: \00" +@.str13111 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15741: index out of range: \00" +@.str13112 = private unnamed_addr constant [11 x i8] c"function '\00" +@.str13113 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" +@.str13114 = private unnamed_addr constant [2 x i8] c":\00" +@.str13115 = private unnamed_addr constant [2 x i8] c")\00" +@.str13116 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15765: index out of range: \00" +@.str13117 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15770: index out of range: \00" +@.str13118 = private unnamed_addr constant [2 x i8] c"'\00" +@.str13119 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" +@.str13120 = private unnamed_addr constant [2 x i8] c":\00" +@.str13121 = private unnamed_addr constant [2 x i8] c")\00" +@.str13122 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15812: index out of range: \00" +@.str13123 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15814: index out of range: \00" +@.str13124 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15832: index out of range: \00" +@.str13125 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15832: index out of range: \00" +@.str13126 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15837: index out of range: \00" +@.str13127 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15837: index out of range: \00" +@.str13128 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" +@.str13129 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str13130 = 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" +@.str13131 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str13132 = private unnamed_addr constant [78 x i8] c"@.fmt_bounds = private unnamed_addr constant [14 x i8] c\22%s%d, len %d\5C0A\5C00\22\0A\00" +@.str13133 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" +@.str13134 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" +@.str13135 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" +@.str13136 = private unnamed_addr constant [10 x i8] c" x i32] [\00" +@.str13137 = private unnamed_addr constant [3 x i8] c", \00" +@.str13138 = private unnamed_addr constant [5 x i8] c"i32 \00" +@.str13139 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15891: index out of range: \00" +@.str13140 = private unnamed_addr constant [3 x i8] c"]\0A\00" +@.str13141 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" +@.str13142 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str13143 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" +@.str13144 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13145 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" +@.str13146 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" +@.str13147 = private unnamed_addr constant [2 x i8] c"w\00" +@.str13148 = 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" +@.str13149 = 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" +@.str13150 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str13151 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" +@.str13152 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" +@.str13153 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" +@.str13154 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13155 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" +@.str13156 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" +@.str13157 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" +@.str13158 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" +@.str13159 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13160 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str13161 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" +@.str13162 = private unnamed_addr constant [8 x i8] c"write:\0A\00" +@.str13163 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" +@.str13164 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13165 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str13166 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str13167 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" +@.str13168 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" +@.str13169 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13170 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" +@.str13171 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str13172 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" +@.str13173 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" +@.str13174 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" +@.str13175 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" +@.str13176 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" +@.str13177 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" +@.str13178 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" +@.str13179 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" +@.str13180 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str13181 = private unnamed_addr constant [8 x i8] c"close:\0A\00" +@.str13182 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" +@.str13183 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str13184 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" +@.str13185 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" +@.str13186 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" +@.str13187 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str13188 = 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" +@.str13189 = private unnamed_addr constant [3 x i8] c"wb\00" +@.str13190 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str13191 = private unnamed_addr constant [2 x i8] c"/\00" +@.str13192 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" +@.str13193 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" +@.str13194 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13195 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" +@.str13196 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" +@.str13197 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" +@.str13198 = private unnamed_addr constant [7 x i8] c"rm -f \00" +@.str13199 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" +@.str13200 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" +@.str13201 = private unnamed_addr constant [3 x i8] c"rb\00" +@.str13202 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13203 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13204 = private unnamed_addr constant [6 x i8] c"clang\00" +@.str13205 = private unnamed_addr constant [8 x i8] c"VERSION\00" +@.str13206 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" +@.str13207 = private unnamed_addr constant [7 x i8] c"ludic \00" +@.str13208 = private unnamed_addr constant [1 x i8] c"\00" +@.str13209 = private unnamed_addr constant [1 x i8] c"\00" +@.str13210 = private unnamed_addr constant [2 x i8] c"?\00" +@.str13211 = private unnamed_addr constant [4 x i8] c"ret\00" +@.str13212 = private unnamed_addr constant [1 x i8] c"\00" +@.str13213 = private unnamed_addr constant [5 x i8] c"void\00" +@.str13214 = private unnamed_addr constant [10 x i8] c"--version\00" +@.str13215 = private unnamed_addr constant [11 x i8] c"--windowed\00" +@.str13216 = private unnamed_addr constant [11 x i8] c"--headless\00" +@.str13217 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" +@.str13218 = private unnamed_addr constant [14 x i8] c"--emit-module\00" +@.str13219 = private unnamed_addr constant [6 x i8] c"--fmt\00" +@.str13220 = private unnamed_addr constant [13 x i8] c"--save-temps\00" +@.str13221 = private unnamed_addr constant [6 x i8] c"--run\00" +@.str13222 = private unnamed_addr constant [11 x i8] c"--coverage\00" +@.str13223 = private unnamed_addr constant [9 x i8] c"--target\00" +@.str13224 = private unnamed_addr constant [6 x i8] c"--gui\00" +@.str13225 = private unnamed_addr constant [8 x i8] c"--title\00" +@.str13226 = private unnamed_addr constant [7 x i8] c"--link\00" +@.str13227 = private unnamed_addr constant [3 x i8] c"-o\00" +@.str13228 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str13229 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13230 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" +@.str13231 = private unnamed_addr constant [8 x i8] c"windows\00" +@.str13232 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" +@.str13233 = private unnamed_addr constant [5 x i8] c"TEMP\00" +@.str13234 = private unnamed_addr constant [2 x i8] c".\00" +@.str13235 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" +@.str13236 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str13237 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str13238 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str13239 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str13240 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str13241 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str13242 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" +@.str13243 = private unnamed_addr constant [2 x i8] c" \00" +@.str13244 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" +@.str13245 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" +@.str13246 = private unnamed_addr constant [2 x i8] c" \00" +@.str13247 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" +@.str13248 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str13249 = private unnamed_addr constant [2 x i8] c" \00" +@.str13250 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" +@.str13251 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" +@.str13252 = private unnamed_addr constant [2 x i8] c" \00" +@.str13253 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" +@.str13254 = private unnamed_addr constant [2 x i8] c" \00" +@.str13255 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" +@.str13256 = private unnamed_addr constant [2 x i8] c" \00" +@.str13257 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" +@.str13258 = private unnamed_addr constant [2 x i8] c" \00" +@.str13259 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" +@.str13260 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" +@.str13261 = private unnamed_addr constant [2 x i8] c" \00" +@.str13262 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" +@.str13263 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" +@.str13264 = private unnamed_addr constant [2 x i8] c" \00" +@.str13265 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" +@.str13266 = private unnamed_addr constant [2 x i8] c" \00" +@.str13267 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" +@.str13268 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" +@.str13269 = private unnamed_addr constant [2 x i8] c" \00" +@.str13270 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" +@.str13271 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" +@.str13272 = private unnamed_addr constant [2 x i8] c" \00" +@.str13273 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" +@.str13274 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" +@.str13275 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" +@.str13276 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" +@.str13277 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" +@.str13278 = private unnamed_addr constant [2 x i8] c" \00" +@.str13279 = private unnamed_addr constant [2 x i8] c" \00" +@.str13280 = private unnamed_addr constant [2 x i8] c" \00" +@.str13281 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" +@.str13282 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" +@.str13283 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" +@.str13284 = private unnamed_addr constant [2 x i8] c" \00" +@.str13285 = private unnamed_addr constant [2 x i8] c" \00" +@.str13286 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" +@.str13287 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" +@.str13288 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" +@.str13289 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" +@.str13290 = private unnamed_addr constant [2 x i8] c" \00" +@.str13291 = private unnamed_addr constant [2 x i8] c" \00" +@.str13292 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" +@.str13293 = private unnamed_addr constant [3 x i8] c" \22\00" +@.str13294 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:16299: index out of range: \00" +@.str13295 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13296 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str13297 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13298 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13299 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str13300 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13301 = private unnamed_addr constant [2 x i8] c"\22\00" define i32 @lp_str_eq(ptr %a, ptr %b) { entry: br label %loop @@ -14016,56 +14330,56 @@ sod: store i32 %fcnt, ptr %d2 ret ptr %h } -@.str13004 = private unnamed_addr constant [4 x i8] c"png\00" -@.str13005 = private unnamed_addr constant [10 x i8] c"image/png\00" -@.str13006 = private unnamed_addr constant [4 x i8] c"jpg\00" -@.str13007 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str13008 = private unnamed_addr constant [5 x i8] c"jpeg\00" -@.str13009 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str13010 = private unnamed_addr constant [4 x i8] c"gif\00" -@.str13011 = private unnamed_addr constant [10 x i8] c"image/gif\00" -@.str13012 = private unnamed_addr constant [4 x i8] c"bmp\00" -@.str13013 = private unnamed_addr constant [10 x i8] c"image/bmp\00" -@.str13014 = private unnamed_addr constant [5 x i8] c"webp\00" -@.str13015 = private unnamed_addr constant [11 x i8] c"image/webp\00" -@.str13016 = private unnamed_addr constant [4 x i8] c"svg\00" -@.str13017 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" -@.str13018 = private unnamed_addr constant [4 x i8] c"txt\00" -@.str13019 = private unnamed_addr constant [11 x i8] c"text/plain\00" -@.str13020 = private unnamed_addr constant [3 x i8] c"md\00" -@.str13021 = private unnamed_addr constant [14 x i8] c"text/markdown\00" -@.str13022 = private unnamed_addr constant [4 x i8] c"csv\00" -@.str13023 = private unnamed_addr constant [9 x i8] c"text/csv\00" -@.str13024 = private unnamed_addr constant [5 x i8] c"html\00" -@.str13025 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str13026 = private unnamed_addr constant [4 x i8] c"htm\00" -@.str13027 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str13028 = private unnamed_addr constant [4 x i8] c"css\00" -@.str13029 = private unnamed_addr constant [9 x i8] c"text/css\00" -@.str13030 = private unnamed_addr constant [3 x i8] c"js\00" -@.str13031 = private unnamed_addr constant [16 x i8] c"text/javascript\00" -@.str13032 = private unnamed_addr constant [5 x i8] c"json\00" -@.str13033 = private unnamed_addr constant [17 x i8] c"application/json\00" -@.str13034 = private unnamed_addr constant [4 x i8] c"xml\00" -@.str13035 = private unnamed_addr constant [16 x i8] c"application/xml\00" -@.str13036 = private unnamed_addr constant [4 x i8] c"zip\00" -@.str13037 = private unnamed_addr constant [16 x i8] c"application/zip\00" -@.str13038 = private unnamed_addr constant [4 x i8] c"pdf\00" -@.str13039 = private unnamed_addr constant [16 x i8] c"application/pdf\00" -@.str13040 = private unnamed_addr constant [4 x i8] c"wav\00" -@.str13041 = private unnamed_addr constant [10 x i8] c"audio/wav\00" -@.str13042 = private unnamed_addr constant [4 x i8] c"ogg\00" -@.str13043 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" -@.str13044 = private unnamed_addr constant [4 x i8] c"mp3\00" -@.str13045 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" -@.str13046 = private unnamed_addr constant [4 x i8] c"ttf\00" -@.str13047 = private unnamed_addr constant [9 x i8] c"font/ttf\00" -@.str13048 = private unnamed_addr constant [4 x i8] c"otf\00" -@.str13049 = private unnamed_addr constant [9 x i8] c"font/otf\00" -@.str13050 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str13051 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" -@.str13052 = 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 @.str13004, ptr @.str13005 }, { ptr, ptr } { ptr @.str13006, ptr @.str13007 }, { ptr, ptr } { ptr @.str13008, ptr @.str13009 }, { ptr, ptr } { ptr @.str13010, ptr @.str13011 }, { ptr, ptr } { ptr @.str13012, ptr @.str13013 }, { ptr, ptr } { ptr @.str13014, ptr @.str13015 }, { ptr, ptr } { ptr @.str13016, ptr @.str13017 }, { ptr, ptr } { ptr @.str13018, ptr @.str13019 }, { ptr, ptr } { ptr @.str13020, ptr @.str13021 }, { ptr, ptr } { ptr @.str13022, ptr @.str13023 }, { ptr, ptr } { ptr @.str13024, ptr @.str13025 }, { ptr, ptr } { ptr @.str13026, ptr @.str13027 }, { ptr, ptr } { ptr @.str13028, ptr @.str13029 }, { ptr, ptr } { ptr @.str13030, ptr @.str13031 }, { ptr, ptr } { ptr @.str13032, ptr @.str13033 }, { ptr, ptr } { ptr @.str13034, ptr @.str13035 }, { ptr, ptr } { ptr @.str13036, ptr @.str13037 }, { ptr, ptr } { ptr @.str13038, ptr @.str13039 }, { ptr, ptr } { ptr @.str13040, ptr @.str13041 }, { ptr, ptr } { ptr @.str13042, ptr @.str13043 }, { ptr, ptr } { ptr @.str13044, ptr @.str13045 }, { ptr, ptr } { ptr @.str13046, ptr @.str13047 }, { ptr, ptr } { ptr @.str13048, ptr @.str13049 }, { ptr, ptr } { ptr @.str13050, ptr @.str13051 }] +@.str13302 = private unnamed_addr constant [4 x i8] c"png\00" +@.str13303 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str13304 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str13305 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str13306 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str13307 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str13308 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str13309 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str13310 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str13311 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str13312 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str13313 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str13314 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str13315 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str13316 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str13317 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str13318 = private unnamed_addr constant [3 x i8] c"md\00" +@.str13319 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str13320 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str13321 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str13322 = private unnamed_addr constant [5 x i8] c"html\00" +@.str13323 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str13324 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str13325 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str13326 = private unnamed_addr constant [4 x i8] c"css\00" +@.str13327 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str13328 = private unnamed_addr constant [3 x i8] c"js\00" +@.str13329 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str13330 = private unnamed_addr constant [5 x i8] c"json\00" +@.str13331 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str13332 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str13333 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str13334 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str13335 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str13336 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str13337 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str13338 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str13339 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str13340 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str13341 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str13342 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str13343 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str13344 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str13345 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str13346 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str13347 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str13348 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str13349 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str13350 = 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 @.str13302, ptr @.str13303 }, { ptr, ptr } { ptr @.str13304, ptr @.str13305 }, { ptr, ptr } { ptr @.str13306, ptr @.str13307 }, { ptr, ptr } { ptr @.str13308, ptr @.str13309 }, { ptr, ptr } { ptr @.str13310, ptr @.str13311 }, { ptr, ptr } { ptr @.str13312, ptr @.str13313 }, { ptr, ptr } { ptr @.str13314, ptr @.str13315 }, { ptr, ptr } { ptr @.str13316, ptr @.str13317 }, { ptr, ptr } { ptr @.str13318, ptr @.str13319 }, { ptr, ptr } { ptr @.str13320, ptr @.str13321 }, { ptr, ptr } { ptr @.str13322, ptr @.str13323 }, { ptr, ptr } { ptr @.str13324, ptr @.str13325 }, { ptr, ptr } { ptr @.str13326, ptr @.str13327 }, { ptr, ptr } { ptr @.str13328, ptr @.str13329 }, { ptr, ptr } { ptr @.str13330, ptr @.str13331 }, { ptr, ptr } { ptr @.str13332, ptr @.str13333 }, { ptr, ptr } { ptr @.str13334, ptr @.str13335 }, { ptr, ptr } { ptr @.str13336, ptr @.str13337 }, { ptr, ptr } { ptr @.str13338, ptr @.str13339 }, { ptr, ptr } { ptr @.str13340, ptr @.str13341 }, { ptr, ptr } { ptr @.str13342, ptr @.str13343 }, { ptr, ptr } { ptr @.str13344, ptr @.str13345 }, { ptr, ptr } { ptr @.str13346, ptr @.str13347 }, { ptr, ptr } { ptr @.str13348, ptr @.str13349 }] define ptr @lp_mime_of(ptr %path) { entry: %ext = call ptr @lp_path_ext(ptr %path) @@ -14093,7 +14407,7 @@ nx: store i32 %i1, ptr %ip br label %lp def: - %d = call ptr @lp_fs_strdup(ptr @.str13052) + %d = call ptr @lp_fs_strdup(ptr @.str13350) ret ptr %d } define ptr @lp_mime_lc(ptr %s) { @@ -104181,24 +104495,26 @@ entry: %t2435 = alloca ptr %t2448 = alloca ptr %t2481 = alloca ptr - %t2495 = alloca ptr - %t2502 = alloca ptr - %t2503 = alloca i32 - %t2526 = alloca ptr - %t2577 = alloca ptr - %t2578 = alloca ptr - %t2633 = alloca ptr - %t2646 = alloca ptr - %t2648 = alloca ptr + %t2491 = alloca ptr + %t2498 = alloca ptr + %t2505 = alloca ptr + %t2506 = alloca i32 + %t2529 = alloca ptr + %t2533 = alloca ptr + %t2599 = alloca ptr + %t2600 = alloca ptr %t2655 = alloca ptr - %t2672 = alloca ptr - %t2679 = alloca ptr - %t2686 = alloca ptr - %t2687 = alloca i32 - %t2710 = alloca ptr - %t2714 = alloca ptr - %t2780 = alloca ptr - %t2781 = alloca ptr + %t2668 = alloca ptr + %t2670 = alloca ptr + %t2677 = alloca ptr + %t2694 = alloca ptr + %t2701 = alloca ptr + %t2708 = alloca ptr + %t2709 = alloca i32 + %t2732 = alloca ptr + %t2736 = alloca ptr + %t2802 = alloca ptr + %t2803 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_callee_value(ptr %t1) @@ -107857,538 +108173,571 @@ then488: %t2487 = load ptr, ptr %t2481 %t2488 = call ptr @fn_param_labels(ptr %t2487) call void @fn_reorder_named(ptr %t2486, ptr %t2488) - %t2489 = getelementptr %LSlice, ptr null, i32 1 - %t2490 = ptrtoint ptr %t2489 to i64 - %t2491 = call ptr @malloc(i64 %t2490) - %t2492 = getelementptr inbounds %LSlice, ptr %t2491, i32 0, i32 0 - store ptr null, ptr %t2492 - %t2493 = getelementptr inbounds %LSlice, ptr %t2491, i32 0, i32 1 - store i32 0, ptr %t2493 - %t2494 = getelementptr inbounds %LSlice, ptr %t2491, i32 0, i32 2 - store i32 0, ptr %t2494 - store ptr %t2491, ptr %t2495 - %t2496 = getelementptr %LSlice, ptr null, i32 1 - %t2497 = ptrtoint ptr %t2496 to i64 - %t2498 = call ptr @malloc(i64 %t2497) - %t2499 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 0 - store ptr null, ptr %t2499 - %t2500 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 1 - store i32 0, ptr %t2500 - %t2501 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 2 - store i32 0, ptr %t2501 - store ptr %t2498, ptr %t2502 + %t2489 = load ptr, ptr %t2481 + %t2490 = call ptr @fn_param_types(ptr %t2489) + store ptr %t2490, ptr %t2491 + %t2492 = getelementptr %LSlice, ptr null, i32 1 + %t2493 = ptrtoint ptr %t2492 to i64 + %t2494 = call ptr @malloc(i64 %t2493) + %t2495 = getelementptr inbounds %LSlice, ptr %t2494, i32 0, i32 0 + store ptr null, ptr %t2495 + %t2496 = getelementptr inbounds %LSlice, ptr %t2494, i32 0, i32 1 + store i32 0, ptr %t2496 + %t2497 = getelementptr inbounds %LSlice, ptr %t2494, i32 0, i32 2 + store i32 0, ptr %t2497 + store ptr %t2494, ptr %t2498 + %t2499 = getelementptr %LSlice, ptr null, i32 1 + %t2500 = ptrtoint ptr %t2499 to i64 + %t2501 = call ptr @malloc(i64 %t2500) + %t2502 = getelementptr inbounds %LSlice, ptr %t2501, i32 0, i32 0 + store ptr null, ptr %t2502 + %t2503 = getelementptr inbounds %LSlice, ptr %t2501, i32 0, i32 1 store i32 0, ptr %t2503 + %t2504 = getelementptr inbounds %LSlice, ptr %t2501, i32 0, i32 2 + store i32 0, ptr %t2504 + store ptr %t2501, ptr %t2505 + store i32 0, ptr %t2506 br label %wcond491 wcond491: - %t2504 = load i32, ptr %t2503 - %t2505 = load ptr, ptr %t0 - %t2506 = getelementptr inbounds %Cmp_Node, ptr %t2505, i32 0, i32 7 - %t2507 = load ptr, ptr %t2506 - %t2508 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 1 - %t2509 = load i32, ptr %t2508 - %t2510 = icmp slt i32 %t2504, %t2509 - %t2511 = zext i1 %t2510 to i32 - %t2512 = icmp ne i32 %t2511, 0 - br i1 %t2512, label %wbody492, label %wend493 + %t2507 = load i32, ptr %t2506 + %t2508 = load ptr, ptr %t0 + %t2509 = getelementptr inbounds %Cmp_Node, ptr %t2508, i32 0, i32 7 + %t2510 = load ptr, ptr %t2509 + %t2511 = getelementptr inbounds %LSlice, ptr %t2510, i32 0, i32 1 + %t2512 = load i32, ptr %t2511 + %t2513 = icmp slt i32 %t2507, %t2512 + %t2514 = zext i1 %t2513 to i32 + %t2515 = icmp ne i32 %t2514, 0 + br i1 %t2515, label %wbody492, label %wend493 wbody492: - %t2513 = load ptr, ptr %t0 - %t2514 = getelementptr inbounds %Cmp_Node, ptr %t2513, i32 0, i32 7 - %t2515 = load ptr, ptr %t2514 - %t2516 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 0 - %t2517 = load ptr, ptr %t2516 - %t2518 = load i32, ptr %t2503 - %t2519 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 1 - %t2520 = load i32, ptr %t2519 - %t2521 = icmp ult i32 %t2518, %t2520 - br i1 %t2521, label %ixok494, label %ixbad495 + %t2516 = load ptr, ptr %t0 + %t2517 = getelementptr inbounds %Cmp_Node, ptr %t2516, i32 0, i32 7 + %t2518 = load ptr, ptr %t2517 + %t2519 = getelementptr inbounds %LSlice, ptr %t2518, i32 0, i32 0 + %t2520 = load ptr, ptr %t2519 + %t2521 = load i32, ptr %t2506 + %t2522 = getelementptr inbounds %LSlice, ptr %t2518, i32 0, i32 1 + %t2523 = load i32, ptr %t2522 + %t2524 = icmp ult i32 %t2521, %t2523 + br i1 %t2524, label %ixok494, label %ixbad495 ixbad495: - %t2522 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2522, ptr @.fmt_bounds, ptr @.str10304, i32 %t2518, i32 %t2520) + %t2525 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2525, ptr @.fmt_bounds, ptr @.str10304, i32 %t2521, i32 %t2523) call void @exit(i32 1) unreachable ixok494: - %t2523 = getelementptr inbounds ptr, ptr %t2517, i32 %t2518 - %t2524 = load ptr, ptr %t2523 - %t2525 = call ptr @fn_emit_expr(ptr %t2524) - store ptr %t2525, ptr %t2526 - %t2527 = load ptr, ptr %t2495 - %t2528 = load ptr, ptr %t2526 - %t2529 = getelementptr inbounds %Cmp_Val, ptr %t2528, i32 0, i32 0 + %t2526 = getelementptr inbounds ptr, ptr %t2520, i32 %t2521 + %t2527 = load ptr, ptr %t2526 + %t2528 = call ptr @fn_emit_expr(ptr %t2527) + store ptr %t2528, ptr %t2529 %t2530 = load ptr, ptr %t2529 - %t2531 = getelementptr inbounds %LSlice, ptr %t2527, i32 0, i32 1 - %t2532 = getelementptr inbounds %LSlice, ptr %t2527, i32 0, i32 2 - %t2533 = getelementptr inbounds %LSlice, ptr %t2527, i32 0, i32 0 - %t2534 = load i32, ptr %t2531 - %t2535 = load i32, ptr %t2532 - %t2536 = icmp sge i32 %t2534, %t2535 - br i1 %t2536, label %grow496, label %put497 -grow496: - %t2537 = mul i32 %t2535, 2 - %t2538 = icmp eq i32 %t2535, 0 - %t2539 = select i1 %t2538, i32 8, i32 %t2537 - %t2540 = getelementptr ptr, ptr null, i32 1 - %t2541 = ptrtoint ptr %t2540 to i64 - %t2542 = zext i32 %t2539 to i64 - %t2543 = mul i64 %t2542, %t2541 - %t2544 = load ptr, ptr %t2533 - %t2545 = call ptr @realloc(ptr %t2544, i64 %t2543) - store ptr %t2545, ptr %t2533 - store i32 %t2539, ptr %t2532 - br label %put497 -put497: - %t2546 = load ptr, ptr %t2533 - %t2547 = getelementptr inbounds ptr, ptr %t2546, i32 %t2534 - store ptr %t2530, ptr %t2547 - %t2548 = add i32 %t2534, 1 - store i32 %t2548, ptr %t2531 - %t2549 = load ptr, ptr %t2502 - %t2550 = load ptr, ptr %t2526 - %t2551 = getelementptr inbounds %Cmp_Val, ptr %t2550, i32 0, i32 1 - %t2552 = load ptr, ptr %t2551 - %t2553 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 1 - %t2554 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 2 - %t2555 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 0 - %t2556 = load i32, ptr %t2553 - %t2557 = load i32, ptr %t2554 - %t2558 = icmp sge i32 %t2556, %t2557 - br i1 %t2558, label %grow498, label %put499 -grow498: - %t2559 = mul i32 %t2557, 2 - %t2560 = icmp eq i32 %t2557, 0 - %t2561 = select i1 %t2560, i32 8, i32 %t2559 - %t2562 = getelementptr ptr, ptr null, i32 1 - %t2563 = ptrtoint ptr %t2562 to i64 - %t2564 = zext i32 %t2561 to i64 - %t2565 = mul i64 %t2564, %t2563 - %t2566 = load ptr, ptr %t2555 - %t2567 = call ptr @realloc(ptr %t2566, i64 %t2565) - store ptr %t2567, ptr %t2555 - store i32 %t2561, ptr %t2554 - br label %put499 -put499: - %t2568 = load ptr, ptr %t2555 - %t2569 = getelementptr inbounds ptr, ptr %t2568, i32 %t2556 - store ptr %t2552, ptr %t2569 - %t2570 = add i32 %t2556, 1 - store i32 %t2570, ptr %t2553 - %t2571 = load i32, ptr %t2503 - %t2572 = add i32 %t2571, 1 - store i32 %t2572, ptr %t2503 + %t2531 = getelementptr inbounds %Cmp_Val, ptr %t2530, i32 0, i32 1 + %t2532 = load ptr, ptr %t2531 + store ptr %t2532, ptr %t2533 + %t2534 = load i32, ptr %t2506 + %t2535 = load ptr, ptr %t2491 + %t2536 = getelementptr inbounds %LSlice, ptr %t2535, i32 0, i32 1 + %t2537 = load i32, ptr %t2536 + %t2538 = icmp slt i32 %t2534, %t2537 + %t2539 = zext i1 %t2538 to i32 + %t2540 = icmp ne i32 %t2539, 0 + br i1 %t2540, label %then496, label %ifend498 +then496: + %t2541 = load ptr, ptr %t2491 + %t2542 = getelementptr inbounds %LSlice, ptr %t2541, i32 0, i32 0 + %t2543 = load ptr, ptr %t2542 + %t2544 = load i32, ptr %t2506 + %t2545 = getelementptr inbounds %LSlice, ptr %t2541, i32 0, i32 1 + %t2546 = load i32, ptr %t2545 + %t2547 = icmp ult i32 %t2544, %t2546 + br i1 %t2547, label %ixok499, label %ixbad500 +ixbad500: + %t2548 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2548, ptr @.fmt_bounds, ptr @.str10305, i32 %t2544, i32 %t2546) + call void @exit(i32 1) + unreachable +ixok499: + %t2549 = getelementptr inbounds ptr, ptr %t2543, i32 %t2544 + %t2550 = load ptr, ptr %t2549 + store ptr %t2550, ptr %t2533 + br label %ifend498 +ifend498: + %t2551 = load ptr, ptr %t2498 + %t2552 = load ptr, ptr %t2529 + %t2553 = load ptr, ptr %t2533 + %t2554 = call ptr @fn_coerce_code(ptr %t2552, ptr %t2553) + %t2555 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 1 + %t2556 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 2 + %t2557 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 0 + %t2558 = load i32, ptr %t2555 + %t2559 = load i32, ptr %t2556 + %t2560 = icmp sge i32 %t2558, %t2559 + br i1 %t2560, label %grow501, label %put502 +grow501: + %t2561 = mul i32 %t2559, 2 + %t2562 = icmp eq i32 %t2559, 0 + %t2563 = select i1 %t2562, i32 8, i32 %t2561 + %t2564 = getelementptr ptr, ptr null, i32 1 + %t2565 = ptrtoint ptr %t2564 to i64 + %t2566 = zext i32 %t2563 to i64 + %t2567 = mul i64 %t2566, %t2565 + %t2568 = load ptr, ptr %t2557 + %t2569 = call ptr @realloc(ptr %t2568, i64 %t2567) + store ptr %t2569, ptr %t2557 + store i32 %t2563, ptr %t2556 + br label %put502 +put502: + %t2570 = load ptr, ptr %t2557 + %t2571 = getelementptr inbounds ptr, ptr %t2570, i32 %t2558 + store ptr %t2554, ptr %t2571 + %t2572 = add i32 %t2558, 1 + store i32 %t2572, ptr %t2555 + %t2573 = load ptr, ptr %t2505 + %t2574 = load ptr, ptr %t2533 + %t2575 = getelementptr inbounds %LSlice, ptr %t2573, i32 0, i32 1 + %t2576 = getelementptr inbounds %LSlice, ptr %t2573, i32 0, i32 2 + %t2577 = getelementptr inbounds %LSlice, ptr %t2573, i32 0, i32 0 + %t2578 = load i32, ptr %t2575 + %t2579 = load i32, ptr %t2576 + %t2580 = icmp sge i32 %t2578, %t2579 + br i1 %t2580, label %grow503, label %put504 +grow503: + %t2581 = mul i32 %t2579, 2 + %t2582 = icmp eq i32 %t2579, 0 + %t2583 = select i1 %t2582, i32 8, i32 %t2581 + %t2584 = getelementptr ptr, ptr null, i32 1 + %t2585 = ptrtoint ptr %t2584 to i64 + %t2586 = zext i32 %t2583 to i64 + %t2587 = mul i64 %t2586, %t2585 + %t2588 = load ptr, ptr %t2577 + %t2589 = call ptr @realloc(ptr %t2588, i64 %t2587) + store ptr %t2589, ptr %t2577 + store i32 %t2583, ptr %t2576 + br label %put504 +put504: + %t2590 = load ptr, ptr %t2577 + %t2591 = getelementptr inbounds ptr, ptr %t2590, i32 %t2578 + store ptr %t2574, ptr %t2591 + %t2592 = add i32 %t2578, 1 + store i32 %t2592, ptr %t2575 + %t2593 = load i32, ptr %t2506 + %t2594 = add i32 %t2593, 1 + store i32 %t2594, ptr %t2506 br label %wcond491 wend493: - %t2573 = load ptr, ptr %t2481 - %t2574 = getelementptr inbounds %Cmp_Node, ptr %t2573, i32 0, i32 3 - %t2575 = load ptr, ptr %t2574 - %t2576 = call ptr @fn_llty(ptr %t2575) - store ptr %t2576, ptr %t2577 - call void @fn_emit(ptr @.str10305) - store ptr @.str10306, ptr %t2578 - %t2579 = load ptr, ptr %t2577 - %t2580 = call i32 @lp_str_eq(ptr %t2579, ptr @.str10307) - %t2581 = icmp eq i32 %t2580, 0 - %t2582 = zext i1 %t2581 to i32 - %t2583 = icmp ne i32 %t2582, 0 - br i1 %t2583, label %then500, label %ifend502 -then500: - %t2584 = call ptr @fn_nreg() - store ptr %t2584, ptr %t2578 - %t2585 = load ptr, ptr %t2578 - call void @fn_emit(ptr %t2585) - call void @fn_emit(ptr @.str10308) - br label %ifend502 -ifend502: + %t2595 = load ptr, ptr %t2481 + %t2596 = getelementptr inbounds %Cmp_Node, ptr %t2595, i32 0, i32 3 + %t2597 = load ptr, ptr %t2596 + %t2598 = call ptr @fn_llty(ptr %t2597) + store ptr %t2598, ptr %t2599 + call void @fn_emit(ptr @.str10306) + store ptr @.str10307, ptr %t2600 + %t2601 = load ptr, ptr %t2599 + %t2602 = call i32 @lp_str_eq(ptr %t2601, ptr @.str10308) + %t2603 = icmp eq i32 %t2602, 0 + %t2604 = zext i1 %t2603 to i32 + %t2605 = icmp ne i32 %t2604, 0 + br i1 %t2605, label %then505, label %ifend507 +then505: + %t2606 = call ptr @fn_nreg() + store ptr %t2606, ptr %t2600 + %t2607 = load ptr, ptr %t2600 + call void @fn_emit(ptr %t2607) call void @fn_emit(ptr @.str10309) - %t2586 = load ptr, ptr %t2577 - call void @fn_emit(ptr %t2586) + br label %ifend507 +ifend507: call void @fn_emit(ptr @.str10310) - %t2587 = load ptr, ptr %t2481 - %t2588 = getelementptr inbounds %Cmp_Node, ptr %t2587, i32 0, i32 4 - %t2589 = load ptr, ptr %t2588 - %t2590 = getelementptr inbounds %Cmp_Node, ptr %t2589, i32 0, i32 1 - %t2591 = load ptr, ptr %t2590 - call void @fn_emit(ptr %t2591) + %t2608 = load ptr, ptr %t2599 + call void @fn_emit(ptr %t2608) call void @fn_emit(ptr @.str10311) - store i32 0, ptr %t2503 - br label %wcond503 -wcond503: - %t2592 = load i32, ptr %t2503 - %t2593 = load ptr, ptr %t2495 - %t2594 = getelementptr inbounds %LSlice, ptr %t2593, i32 0, i32 1 - %t2595 = load i32, ptr %t2594 - %t2596 = icmp slt i32 %t2592, %t2595 - %t2597 = zext i1 %t2596 to i32 - %t2598 = icmp ne i32 %t2597, 0 - br i1 %t2598, label %wbody504, label %wend505 -wbody504: - %t2599 = load i32, ptr %t2503 - %t2600 = icmp sgt i32 %t2599, 0 - %t2601 = zext i1 %t2600 to i32 - %t2602 = icmp ne i32 %t2601, 0 - br i1 %t2602, label %then506, label %ifend508 -then506: - call void @fn_emit(ptr @.str10312) - br label %ifend508 -ifend508: - %t2603 = load ptr, ptr %t2502 - %t2604 = getelementptr inbounds %LSlice, ptr %t2603, i32 0, i32 0 - %t2605 = load ptr, ptr %t2604 - %t2606 = load i32, ptr %t2503 - %t2607 = getelementptr inbounds %LSlice, ptr %t2603, i32 0, i32 1 - %t2608 = load i32, ptr %t2607 - %t2609 = icmp ult i32 %t2606, %t2608 - br i1 %t2609, label %ixok509, label %ixbad510 -ixbad510: - %t2610 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2610, ptr @.fmt_bounds, ptr @.str10313, i32 %t2606, i32 %t2608) - call void @exit(i32 1) - unreachable -ixok509: - %t2611 = getelementptr inbounds ptr, ptr %t2605, i32 %t2606 - %t2612 = load ptr, ptr %t2611 - %t2613 = call ptr @fn_llty(ptr %t2612) + %t2609 = load ptr, ptr %t2481 + %t2610 = getelementptr inbounds %Cmp_Node, ptr %t2609, i32 0, i32 4 + %t2611 = load ptr, ptr %t2610 + %t2612 = getelementptr inbounds %Cmp_Node, ptr %t2611, i32 0, i32 1 + %t2613 = load ptr, ptr %t2612 call void @fn_emit(ptr %t2613) - call void @fn_emit(ptr @.str10314) - %t2614 = load ptr, ptr %t2495 - %t2615 = getelementptr inbounds %LSlice, ptr %t2614, i32 0, i32 0 - %t2616 = load ptr, ptr %t2615 - %t2617 = load i32, ptr %t2503 - %t2618 = getelementptr inbounds %LSlice, ptr %t2614, i32 0, i32 1 - %t2619 = load i32, ptr %t2618 - %t2620 = icmp ult i32 %t2617, %t2619 - br i1 %t2620, label %ixok511, label %ixbad512 -ixbad512: - %t2621 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2621, ptr @.fmt_bounds, ptr @.str10315, i32 %t2617, i32 %t2619) + call void @fn_emit(ptr @.str10312) + store i32 0, ptr %t2506 + br label %wcond508 +wcond508: + %t2614 = load i32, ptr %t2506 + %t2615 = load ptr, ptr %t2498 + %t2616 = getelementptr inbounds %LSlice, ptr %t2615, i32 0, i32 1 + %t2617 = load i32, ptr %t2616 + %t2618 = icmp slt i32 %t2614, %t2617 + %t2619 = zext i1 %t2618 to i32 + %t2620 = icmp ne i32 %t2619, 0 + br i1 %t2620, label %wbody509, label %wend510 +wbody509: + %t2621 = load i32, ptr %t2506 + %t2622 = icmp sgt i32 %t2621, 0 + %t2623 = zext i1 %t2622 to i32 + %t2624 = icmp ne i32 %t2623, 0 + br i1 %t2624, label %then511, label %ifend513 +then511: + call void @fn_emit(ptr @.str10313) + br label %ifend513 +ifend513: + %t2625 = load ptr, ptr %t2505 + %t2626 = getelementptr inbounds %LSlice, ptr %t2625, i32 0, i32 0 + %t2627 = load ptr, ptr %t2626 + %t2628 = load i32, ptr %t2506 + %t2629 = getelementptr inbounds %LSlice, ptr %t2625, i32 0, i32 1 + %t2630 = load i32, ptr %t2629 + %t2631 = icmp ult i32 %t2628, %t2630 + br i1 %t2631, label %ixok514, label %ixbad515 +ixbad515: + %t2632 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2632, ptr @.fmt_bounds, ptr @.str10314, i32 %t2628, i32 %t2630) call void @exit(i32 1) unreachable -ixok511: - %t2622 = getelementptr inbounds ptr, ptr %t2616, i32 %t2617 - %t2623 = load ptr, ptr %t2622 - call void @fn_emit(ptr %t2623) - %t2624 = load i32, ptr %t2503 - %t2625 = add i32 %t2624, 1 - store i32 %t2625, ptr %t2503 - br label %wcond503 -wend505: - call void @fn_emit(ptr @.str10316) - %t2626 = load ptr, ptr %t2578 - %t2627 = load ptr, ptr %t2481 - %t2628 = getelementptr inbounds %Cmp_Node, ptr %t2627, i32 0, i32 3 - %t2629 = load ptr, ptr %t2628 - %t2630 = call ptr @fn_val(ptr %t2626, ptr %t2629) - store ptr %t2630, ptr %retval +ixok514: + %t2633 = getelementptr inbounds ptr, ptr %t2627, i32 %t2628 + %t2634 = load ptr, ptr %t2633 + %t2635 = call ptr @fn_llty(ptr %t2634) + call void @fn_emit(ptr %t2635) + call void @fn_emit(ptr @.str10315) + %t2636 = load ptr, ptr %t2498 + %t2637 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 0 + %t2638 = load ptr, ptr %t2637 + %t2639 = load i32, ptr %t2506 + %t2640 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 1 + %t2641 = load i32, ptr %t2640 + %t2642 = icmp ult i32 %t2639, %t2641 + br i1 %t2642, label %ixok516, label %ixbad517 +ixbad517: + %t2643 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2643, ptr @.fmt_bounds, ptr @.str10316, i32 %t2639, i32 %t2641) + call void @exit(i32 1) + unreachable +ixok516: + %t2644 = getelementptr inbounds ptr, ptr %t2638, i32 %t2639 + %t2645 = load ptr, ptr %t2644 + call void @fn_emit(ptr %t2645) + %t2646 = load i32, ptr %t2506 + %t2647 = add i32 %t2646, 1 + store i32 %t2647, ptr %t2506 + br label %wcond508 +wend510: + call void @fn_emit(ptr @.str10317) + %t2648 = load ptr, ptr %t2600 + %t2649 = load ptr, ptr %t2481 + %t2650 = getelementptr inbounds %Cmp_Node, ptr %t2649, i32 0, i32 3 + %t2651 = load ptr, ptr %t2650 + %t2652 = call ptr @fn_val(ptr %t2648, ptr %t2651) + store ptr %t2652, ptr %retval br label %ret ifend490: - %t2631 = load ptr, ptr %t48 - %t2632 = call ptr @fn_variant_enum(ptr %t2631) - store ptr %t2632, ptr %t2633 - %t2634 = load ptr, ptr %t2633 - %t2635 = icmp ne ptr %t2634, null - %t2636 = zext i1 %t2635 to i32 - %t2637 = icmp ne i32 %t2636, 0 - br i1 %t2637, label %then513, label %ifend515 -then513: - %t2638 = load ptr, ptr %t2633 - %t2639 = load i32, ptr @g_g_var_ord - %t2640 = load ptr, ptr %t0 - %t2641 = getelementptr inbounds %Cmp_Node, ptr %t2640, i32 0, i32 7 - %t2642 = load ptr, ptr %t2641 - %t2643 = call ptr @fn_emit_variant_new(ptr %t2638, i32 %t2639, ptr %t2642) - store ptr %t2643, ptr %retval - br label %ret -ifend515: - %t2644 = load ptr, ptr %t48 - %t2645 = call ptr @fn_find_fn(ptr %t2644) - store ptr %t2645, ptr %t2646 - %t2647 = load ptr, ptr %t48 - store ptr %t2647, ptr %t2648 - %t2649 = load ptr, ptr %t2646 - %t2650 = icmp eq ptr %t2649, null - %t2651 = zext i1 %t2650 to i32 - %t2652 = icmp ne i32 %t2651, 0 - br i1 %t2652, label %then516, label %ifend518 -then516: %t2653 = load ptr, ptr %t48 - %t2654 = call ptr @lp_str_concat(ptr @.str10317, ptr %t2653) + %t2654 = call ptr @fn_variant_enum(ptr %t2653) store ptr %t2654, ptr %t2655 %t2656 = load ptr, ptr %t2655 - %t2657 = call ptr @fn_find_fn(ptr %t2656) - store ptr %t2657, ptr %t2646 - %t2658 = load ptr, ptr %t2646 - %t2659 = icmp eq ptr %t2658, null - %t2660 = zext i1 %t2659 to i32 - %t2661 = icmp ne i32 %t2660, 0 - br i1 %t2661, label %then519, label %ifend521 -then519: - %t2662 = load ptr, ptr %t48 - %t2663 = call ptr @lp_str_concat(ptr @.str10318, ptr %t2662) - call void @fn_perr(ptr %t2663) - br label %ifend521 -ifend521: - %t2664 = load ptr, ptr %t2655 - store ptr %t2664, ptr %t2648 - br label %ifend518 -ifend518: - %t2665 = load ptr, ptr %t2646 + %t2657 = icmp ne ptr %t2656, null + %t2658 = zext i1 %t2657 to i32 + %t2659 = icmp ne i32 %t2658, 0 + br i1 %t2659, label %then518, label %ifend520 +then518: + %t2660 = load ptr, ptr %t2655 + %t2661 = load i32, ptr @g_g_var_ord + %t2662 = load ptr, ptr %t0 + %t2663 = getelementptr inbounds %Cmp_Node, ptr %t2662, i32 0, i32 7 + %t2664 = load ptr, ptr %t2663 + %t2665 = call ptr @fn_emit_variant_new(ptr %t2660, i32 %t2661, ptr %t2664) + store ptr %t2665, ptr %retval + br label %ret +ifend520: %t2666 = load ptr, ptr %t48 - call void @fn_vis_check(ptr %t2665, ptr %t2666) - %t2667 = load ptr, ptr %t0 - %t2668 = load ptr, ptr %t2646 - %t2669 = call ptr @fn_param_labels(ptr %t2668) - call void @fn_reorder_named(ptr %t2667, ptr %t2669) - %t2670 = load ptr, ptr %t2646 - %t2671 = call ptr @fn_param_types(ptr %t2670) - store ptr %t2671, ptr %t2672 - %t2673 = getelementptr %LSlice, ptr null, i32 1 - %t2674 = ptrtoint ptr %t2673 to i64 - %t2675 = call ptr @malloc(i64 %t2674) - %t2676 = getelementptr inbounds %LSlice, ptr %t2675, i32 0, i32 0 - store ptr null, ptr %t2676 - %t2677 = getelementptr inbounds %LSlice, ptr %t2675, i32 0, i32 1 - store i32 0, ptr %t2677 - %t2678 = getelementptr inbounds %LSlice, ptr %t2675, i32 0, i32 2 - store i32 0, ptr %t2678 - store ptr %t2675, ptr %t2679 - %t2680 = getelementptr %LSlice, ptr null, i32 1 - %t2681 = ptrtoint ptr %t2680 to i64 - %t2682 = call ptr @malloc(i64 %t2681) - %t2683 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 0 - store ptr null, ptr %t2683 - %t2684 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 1 - store i32 0, ptr %t2684 - %t2685 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 2 - store i32 0, ptr %t2685 - store ptr %t2682, ptr %t2686 - store i32 0, ptr %t2687 - br label %wcond522 -wcond522: - %t2688 = load i32, ptr %t2687 + %t2667 = call ptr @fn_find_fn(ptr %t2666) + store ptr %t2667, ptr %t2668 + %t2669 = load ptr, ptr %t48 + store ptr %t2669, ptr %t2670 + %t2671 = load ptr, ptr %t2668 + %t2672 = icmp eq ptr %t2671, null + %t2673 = zext i1 %t2672 to i32 + %t2674 = icmp ne i32 %t2673, 0 + br i1 %t2674, label %then521, label %ifend523 +then521: + %t2675 = load ptr, ptr %t48 + %t2676 = call ptr @lp_str_concat(ptr @.str10318, ptr %t2675) + store ptr %t2676, ptr %t2677 + %t2678 = load ptr, ptr %t2677 + %t2679 = call ptr @fn_find_fn(ptr %t2678) + store ptr %t2679, ptr %t2668 + %t2680 = load ptr, ptr %t2668 + %t2681 = icmp eq ptr %t2680, null + %t2682 = zext i1 %t2681 to i32 + %t2683 = icmp ne i32 %t2682, 0 + br i1 %t2683, label %then524, label %ifend526 +then524: + %t2684 = load ptr, ptr %t48 + %t2685 = call ptr @lp_str_concat(ptr @.str10319, ptr %t2684) + call void @fn_perr(ptr %t2685) + br label %ifend526 +ifend526: + %t2686 = load ptr, ptr %t2677 + store ptr %t2686, ptr %t2670 + br label %ifend523 +ifend523: + %t2687 = load ptr, ptr %t2668 + %t2688 = load ptr, ptr %t48 + call void @fn_vis_check(ptr %t2687, ptr %t2688) %t2689 = load ptr, ptr %t0 - %t2690 = getelementptr inbounds %Cmp_Node, ptr %t2689, i32 0, i32 7 - %t2691 = load ptr, ptr %t2690 - %t2692 = getelementptr inbounds %LSlice, ptr %t2691, i32 0, i32 1 - %t2693 = load i32, ptr %t2692 - %t2694 = icmp slt i32 %t2688, %t2693 - %t2695 = zext i1 %t2694 to i32 - %t2696 = icmp ne i32 %t2695, 0 - br i1 %t2696, label %wbody523, label %wend524 -wbody523: - %t2697 = load ptr, ptr %t0 - %t2698 = getelementptr inbounds %Cmp_Node, ptr %t2697, i32 0, i32 7 - %t2699 = load ptr, ptr %t2698 - %t2700 = getelementptr inbounds %LSlice, ptr %t2699, i32 0, i32 0 - %t2701 = load ptr, ptr %t2700 - %t2702 = load i32, ptr %t2687 - %t2703 = getelementptr inbounds %LSlice, ptr %t2699, i32 0, i32 1 - %t2704 = load i32, ptr %t2703 - %t2705 = icmp ult i32 %t2702, %t2704 - br i1 %t2705, label %ixok525, label %ixbad526 -ixbad526: - %t2706 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2706, ptr @.fmt_bounds, ptr @.str10319, i32 %t2702, i32 %t2704) - call void @exit(i32 1) - unreachable -ixok525: - %t2707 = getelementptr inbounds ptr, ptr %t2701, i32 %t2702 - %t2708 = load ptr, ptr %t2707 - %t2709 = call ptr @fn_emit_expr(ptr %t2708) - store ptr %t2709, ptr %t2710 - %t2711 = load ptr, ptr %t2710 - %t2712 = getelementptr inbounds %Cmp_Val, ptr %t2711, i32 0, i32 1 + %t2690 = load ptr, ptr %t2668 + %t2691 = call ptr @fn_param_labels(ptr %t2690) + call void @fn_reorder_named(ptr %t2689, ptr %t2691) + %t2692 = load ptr, ptr %t2668 + %t2693 = call ptr @fn_param_types(ptr %t2692) + store ptr %t2693, ptr %t2694 + %t2695 = getelementptr %LSlice, ptr null, i32 1 + %t2696 = ptrtoint ptr %t2695 to i64 + %t2697 = call ptr @malloc(i64 %t2696) + %t2698 = getelementptr inbounds %LSlice, ptr %t2697, i32 0, i32 0 + store ptr null, ptr %t2698 + %t2699 = getelementptr inbounds %LSlice, ptr %t2697, i32 0, i32 1 + store i32 0, ptr %t2699 + %t2700 = getelementptr inbounds %LSlice, ptr %t2697, i32 0, i32 2 + store i32 0, ptr %t2700 + store ptr %t2697, ptr %t2701 + %t2702 = getelementptr %LSlice, ptr null, i32 1 + %t2703 = ptrtoint ptr %t2702 to i64 + %t2704 = call ptr @malloc(i64 %t2703) + %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 + store ptr null, ptr %t2705 + %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 + store i32 0, ptr %t2706 + %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 + store i32 0, ptr %t2707 + store ptr %t2704, ptr %t2708 + store i32 0, ptr %t2709 + br label %wcond527 +wcond527: + %t2710 = load i32, ptr %t2709 + %t2711 = load ptr, ptr %t0 + %t2712 = getelementptr inbounds %Cmp_Node, ptr %t2711, i32 0, i32 7 %t2713 = load ptr, ptr %t2712 - store ptr %t2713, ptr %t2714 - %t2715 = load i32, ptr %t2687 - %t2716 = load ptr, ptr %t2672 - %t2717 = getelementptr inbounds %LSlice, ptr %t2716, i32 0, i32 1 - %t2718 = load i32, ptr %t2717 - %t2719 = icmp slt i32 %t2715, %t2718 - %t2720 = zext i1 %t2719 to i32 - %t2721 = icmp ne i32 %t2720, 0 - br i1 %t2721, label %then527, label %ifend529 -then527: - %t2722 = load ptr, ptr %t2672 - %t2723 = getelementptr inbounds %LSlice, ptr %t2722, i32 0, i32 0 - %t2724 = load ptr, ptr %t2723 - %t2725 = load i32, ptr %t2687 - %t2726 = getelementptr inbounds %LSlice, ptr %t2722, i32 0, i32 1 - %t2727 = load i32, ptr %t2726 - %t2728 = icmp ult i32 %t2725, %t2727 - br i1 %t2728, label %ixok530, label %ixbad531 + %t2714 = getelementptr inbounds %LSlice, ptr %t2713, i32 0, i32 1 + %t2715 = load i32, ptr %t2714 + %t2716 = icmp slt i32 %t2710, %t2715 + %t2717 = zext i1 %t2716 to i32 + %t2718 = icmp ne i32 %t2717, 0 + br i1 %t2718, label %wbody528, label %wend529 +wbody528: + %t2719 = load ptr, ptr %t0 + %t2720 = getelementptr inbounds %Cmp_Node, ptr %t2719, i32 0, i32 7 + %t2721 = load ptr, ptr %t2720 + %t2722 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 0 + %t2723 = load ptr, ptr %t2722 + %t2724 = load i32, ptr %t2709 + %t2725 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 1 + %t2726 = load i32, ptr %t2725 + %t2727 = icmp ult i32 %t2724, %t2726 + br i1 %t2727, label %ixok530, label %ixbad531 ixbad531: - %t2729 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2729, ptr @.fmt_bounds, ptr @.str10320, i32 %t2725, i32 %t2727) + %t2728 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2728, ptr @.fmt_bounds, ptr @.str10320, i32 %t2724, i32 %t2726) call void @exit(i32 1) unreachable ixok530: - %t2730 = getelementptr inbounds ptr, ptr %t2724, i32 %t2725 - %t2731 = load ptr, ptr %t2730 - store ptr %t2731, ptr %t2714 - br label %ifend529 -ifend529: - %t2732 = load ptr, ptr %t2679 - %t2733 = load ptr, ptr %t2710 - %t2734 = load ptr, ptr %t2714 - %t2735 = call ptr @fn_coerce_code(ptr %t2733, ptr %t2734) - %t2736 = getelementptr inbounds %LSlice, ptr %t2732, i32 0, i32 1 - %t2737 = getelementptr inbounds %LSlice, ptr %t2732, i32 0, i32 2 - %t2738 = getelementptr inbounds %LSlice, ptr %t2732, i32 0, i32 0 - %t2739 = load i32, ptr %t2736 - %t2740 = load i32, ptr %t2737 - %t2741 = icmp sge i32 %t2739, %t2740 - br i1 %t2741, label %grow532, label %put533 -grow532: - %t2742 = mul i32 %t2740, 2 - %t2743 = icmp eq i32 %t2740, 0 - %t2744 = select i1 %t2743, i32 8, i32 %t2742 - %t2745 = getelementptr ptr, ptr null, i32 1 - %t2746 = ptrtoint ptr %t2745 to i64 - %t2747 = zext i32 %t2744 to i64 - %t2748 = mul i64 %t2747, %t2746 - %t2749 = load ptr, ptr %t2738 - %t2750 = call ptr @realloc(ptr %t2749, i64 %t2748) - store ptr %t2750, ptr %t2738 - store i32 %t2744, ptr %t2737 - br label %put533 -put533: - %t2751 = load ptr, ptr %t2738 - %t2752 = getelementptr inbounds ptr, ptr %t2751, i32 %t2739 - store ptr %t2735, ptr %t2752 - %t2753 = add i32 %t2739, 1 - store i32 %t2753, ptr %t2736 - %t2754 = load ptr, ptr %t2686 - %t2755 = load ptr, ptr %t2714 - %t2756 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 1 - %t2757 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 2 - %t2758 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 0 - %t2759 = load i32, ptr %t2756 - %t2760 = load i32, ptr %t2757 - %t2761 = icmp sge i32 %t2759, %t2760 - br i1 %t2761, label %grow534, label %put535 -grow534: - %t2762 = mul i32 %t2760, 2 - %t2763 = icmp eq i32 %t2760, 0 - %t2764 = select i1 %t2763, i32 8, i32 %t2762 - %t2765 = getelementptr ptr, ptr null, i32 1 - %t2766 = ptrtoint ptr %t2765 to i64 - %t2767 = zext i32 %t2764 to i64 - %t2768 = mul i64 %t2767, %t2766 - %t2769 = load ptr, ptr %t2758 - %t2770 = call ptr @realloc(ptr %t2769, i64 %t2768) - store ptr %t2770, ptr %t2758 - store i32 %t2764, ptr %t2757 - br label %put535 -put535: - %t2771 = load ptr, ptr %t2758 - %t2772 = getelementptr inbounds ptr, ptr %t2771, i32 %t2759 - store ptr %t2755, ptr %t2772 - %t2773 = add i32 %t2759, 1 - store i32 %t2773, ptr %t2756 - %t2774 = load i32, ptr %t2687 - %t2775 = add i32 %t2774, 1 - store i32 %t2775, ptr %t2687 - br label %wcond522 -wend524: - %t2776 = load ptr, ptr %t2646 - %t2777 = getelementptr inbounds %Cmp_Node, ptr %t2776, i32 0, i32 3 - %t2778 = load ptr, ptr %t2777 - %t2779 = call ptr @fn_llty(ptr %t2778) - store ptr %t2779, ptr %t2780 - call void @fn_emit(ptr @.str10321) - store ptr @.str10322, ptr %t2781 - %t2782 = load ptr, ptr %t2780 - %t2783 = call i32 @lp_str_eq(ptr %t2782, ptr @.str10323) - %t2784 = icmp eq i32 %t2783, 0 - %t2785 = zext i1 %t2784 to i32 - %t2786 = icmp ne i32 %t2785, 0 - br i1 %t2786, label %then536, label %ifend538 -then536: - %t2787 = call ptr @fn_nreg() - store ptr %t2787, ptr %t2781 - %t2788 = load ptr, ptr %t2781 - call void @fn_emit(ptr %t2788) - call void @fn_emit(ptr @.str10324) - br label %ifend538 -ifend538: + %t2729 = getelementptr inbounds ptr, ptr %t2723, i32 %t2724 + %t2730 = load ptr, ptr %t2729 + %t2731 = call ptr @fn_emit_expr(ptr %t2730) + store ptr %t2731, ptr %t2732 + %t2733 = load ptr, ptr %t2732 + %t2734 = getelementptr inbounds %Cmp_Val, ptr %t2733, i32 0, i32 1 + %t2735 = load ptr, ptr %t2734 + store ptr %t2735, ptr %t2736 + %t2737 = load i32, ptr %t2709 + %t2738 = load ptr, ptr %t2694 + %t2739 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 1 + %t2740 = load i32, ptr %t2739 + %t2741 = icmp slt i32 %t2737, %t2740 + %t2742 = zext i1 %t2741 to i32 + %t2743 = icmp ne i32 %t2742, 0 + br i1 %t2743, label %then532, label %ifend534 +then532: + %t2744 = load ptr, ptr %t2694 + %t2745 = getelementptr inbounds %LSlice, ptr %t2744, i32 0, i32 0 + %t2746 = load ptr, ptr %t2745 + %t2747 = load i32, ptr %t2709 + %t2748 = getelementptr inbounds %LSlice, ptr %t2744, i32 0, i32 1 + %t2749 = load i32, ptr %t2748 + %t2750 = icmp ult i32 %t2747, %t2749 + br i1 %t2750, label %ixok535, label %ixbad536 +ixbad536: + %t2751 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2751, ptr @.fmt_bounds, ptr @.str10321, i32 %t2747, i32 %t2749) + call void @exit(i32 1) + unreachable +ixok535: + %t2752 = getelementptr inbounds ptr, ptr %t2746, i32 %t2747 + %t2753 = load ptr, ptr %t2752 + store ptr %t2753, ptr %t2736 + br label %ifend534 +ifend534: + %t2754 = load ptr, ptr %t2701 + %t2755 = load ptr, ptr %t2732 + %t2756 = load ptr, ptr %t2736 + %t2757 = call ptr @fn_coerce_code(ptr %t2755, ptr %t2756) + %t2758 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 1 + %t2759 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 2 + %t2760 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 0 + %t2761 = load i32, ptr %t2758 + %t2762 = load i32, ptr %t2759 + %t2763 = icmp sge i32 %t2761, %t2762 + br i1 %t2763, label %grow537, label %put538 +grow537: + %t2764 = mul i32 %t2762, 2 + %t2765 = icmp eq i32 %t2762, 0 + %t2766 = select i1 %t2765, i32 8, i32 %t2764 + %t2767 = getelementptr ptr, ptr null, i32 1 + %t2768 = ptrtoint ptr %t2767 to i64 + %t2769 = zext i32 %t2766 to i64 + %t2770 = mul i64 %t2769, %t2768 + %t2771 = load ptr, ptr %t2760 + %t2772 = call ptr @realloc(ptr %t2771, i64 %t2770) + store ptr %t2772, ptr %t2760 + store i32 %t2766, ptr %t2759 + br label %put538 +put538: + %t2773 = load ptr, ptr %t2760 + %t2774 = getelementptr inbounds ptr, ptr %t2773, i32 %t2761 + store ptr %t2757, ptr %t2774 + %t2775 = add i32 %t2761, 1 + store i32 %t2775, ptr %t2758 + %t2776 = load ptr, ptr %t2708 + %t2777 = load ptr, ptr %t2736 + %t2778 = getelementptr inbounds %LSlice, ptr %t2776, i32 0, i32 1 + %t2779 = getelementptr inbounds %LSlice, ptr %t2776, i32 0, i32 2 + %t2780 = getelementptr inbounds %LSlice, ptr %t2776, i32 0, i32 0 + %t2781 = load i32, ptr %t2778 + %t2782 = load i32, ptr %t2779 + %t2783 = icmp sge i32 %t2781, %t2782 + br i1 %t2783, label %grow539, label %put540 +grow539: + %t2784 = mul i32 %t2782, 2 + %t2785 = icmp eq i32 %t2782, 0 + %t2786 = select i1 %t2785, i32 8, i32 %t2784 + %t2787 = getelementptr ptr, ptr null, i32 1 + %t2788 = ptrtoint ptr %t2787 to i64 + %t2789 = zext i32 %t2786 to i64 + %t2790 = mul i64 %t2789, %t2788 + %t2791 = load ptr, ptr %t2780 + %t2792 = call ptr @realloc(ptr %t2791, i64 %t2790) + store ptr %t2792, ptr %t2780 + store i32 %t2786, ptr %t2779 + br label %put540 +put540: + %t2793 = load ptr, ptr %t2780 + %t2794 = getelementptr inbounds ptr, ptr %t2793, i32 %t2781 + store ptr %t2777, ptr %t2794 + %t2795 = add i32 %t2781, 1 + store i32 %t2795, ptr %t2778 + %t2796 = load i32, ptr %t2709 + %t2797 = add i32 %t2796, 1 + store i32 %t2797, ptr %t2709 + br label %wcond527 +wend529: + %t2798 = load ptr, ptr %t2668 + %t2799 = getelementptr inbounds %Cmp_Node, ptr %t2798, i32 0, i32 3 + %t2800 = load ptr, ptr %t2799 + %t2801 = call ptr @fn_llty(ptr %t2800) + store ptr %t2801, ptr %t2802 + call void @fn_emit(ptr @.str10322) + store ptr @.str10323, ptr %t2803 + %t2804 = load ptr, ptr %t2802 + %t2805 = call i32 @lp_str_eq(ptr %t2804, ptr @.str10324) + %t2806 = icmp eq i32 %t2805, 0 + %t2807 = zext i1 %t2806 to i32 + %t2808 = icmp ne i32 %t2807, 0 + br i1 %t2808, label %then541, label %ifend543 +then541: + %t2809 = call ptr @fn_nreg() + store ptr %t2809, ptr %t2803 + %t2810 = load ptr, ptr %t2803 + call void @fn_emit(ptr %t2810) call void @fn_emit(ptr @.str10325) - %t2789 = load ptr, ptr %t2780 - call void @fn_emit(ptr %t2789) + br label %ifend543 +ifend543: call void @fn_emit(ptr @.str10326) - %t2790 = load ptr, ptr %t2648 - call void @fn_emit(ptr %t2790) + %t2811 = load ptr, ptr %t2802 + call void @fn_emit(ptr %t2811) call void @fn_emit(ptr @.str10327) - store i32 0, ptr %t2687 - br label %wcond539 -wcond539: - %t2791 = load i32, ptr %t2687 - %t2792 = load ptr, ptr %t2679 - %t2793 = getelementptr inbounds %LSlice, ptr %t2792, i32 0, i32 1 - %t2794 = load i32, ptr %t2793 - %t2795 = icmp slt i32 %t2791, %t2794 - %t2796 = zext i1 %t2795 to i32 - %t2797 = icmp ne i32 %t2796, 0 - br i1 %t2797, label %wbody540, label %wend541 -wbody540: - %t2798 = load i32, ptr %t2687 - %t2799 = icmp sgt i32 %t2798, 0 - %t2800 = zext i1 %t2799 to i32 - %t2801 = icmp ne i32 %t2800, 0 - br i1 %t2801, label %then542, label %ifend544 -then542: - call void @fn_emit(ptr @.str10328) - br label %ifend544 -ifend544: - %t2802 = load ptr, ptr %t2686 - %t2803 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 0 - %t2804 = load ptr, ptr %t2803 - %t2805 = load i32, ptr %t2687 - %t2806 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 1 - %t2807 = load i32, ptr %t2806 - %t2808 = icmp ult i32 %t2805, %t2807 - br i1 %t2808, label %ixok545, label %ixbad546 -ixbad546: - %t2809 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2809, ptr @.fmt_bounds, ptr @.str10329, i32 %t2805, i32 %t2807) - call void @exit(i32 1) - unreachable -ixok545: - %t2810 = getelementptr inbounds ptr, ptr %t2804, i32 %t2805 - %t2811 = load ptr, ptr %t2810 - %t2812 = call ptr @fn_llty(ptr %t2811) + %t2812 = load ptr, ptr %t2670 call void @fn_emit(ptr %t2812) - call void @fn_emit(ptr @.str10330) - %t2813 = load ptr, ptr %t2679 - %t2814 = getelementptr inbounds %LSlice, ptr %t2813, i32 0, i32 0 - %t2815 = load ptr, ptr %t2814 - %t2816 = load i32, ptr %t2687 - %t2817 = getelementptr inbounds %LSlice, ptr %t2813, i32 0, i32 1 - %t2818 = load i32, ptr %t2817 - %t2819 = icmp ult i32 %t2816, %t2818 - br i1 %t2819, label %ixok547, label %ixbad548 -ixbad548: - %t2820 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t2820, ptr @.fmt_bounds, ptr @.str10331, i32 %t2816, i32 %t2818) + call void @fn_emit(ptr @.str10328) + store i32 0, ptr %t2709 + br label %wcond544 +wcond544: + %t2813 = load i32, ptr %t2709 + %t2814 = load ptr, ptr %t2701 + %t2815 = getelementptr inbounds %LSlice, ptr %t2814, i32 0, i32 1 + %t2816 = load i32, ptr %t2815 + %t2817 = icmp slt i32 %t2813, %t2816 + %t2818 = zext i1 %t2817 to i32 + %t2819 = icmp ne i32 %t2818, 0 + br i1 %t2819, label %wbody545, label %wend546 +wbody545: + %t2820 = load i32, ptr %t2709 + %t2821 = icmp sgt i32 %t2820, 0 + %t2822 = zext i1 %t2821 to i32 + %t2823 = icmp ne i32 %t2822, 0 + br i1 %t2823, label %then547, label %ifend549 +then547: + call void @fn_emit(ptr @.str10329) + br label %ifend549 +ifend549: + %t2824 = load ptr, ptr %t2708 + %t2825 = getelementptr inbounds %LSlice, ptr %t2824, i32 0, i32 0 + %t2826 = load ptr, ptr %t2825 + %t2827 = load i32, ptr %t2709 + %t2828 = getelementptr inbounds %LSlice, ptr %t2824, i32 0, i32 1 + %t2829 = load i32, ptr %t2828 + %t2830 = icmp ult i32 %t2827, %t2829 + br i1 %t2830, label %ixok550, label %ixbad551 +ixbad551: + %t2831 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2831, ptr @.fmt_bounds, ptr @.str10330, i32 %t2827, i32 %t2829) call void @exit(i32 1) unreachable -ixok547: - %t2821 = getelementptr inbounds ptr, ptr %t2815, i32 %t2816 - %t2822 = load ptr, ptr %t2821 - call void @fn_emit(ptr %t2822) - %t2823 = load i32, ptr %t2687 - %t2824 = add i32 %t2823, 1 - store i32 %t2824, ptr %t2687 - br label %wcond539 -wend541: - call void @fn_emit(ptr @.str10332) - %t2825 = load ptr, ptr %t2781 - %t2826 = load ptr, ptr %t2646 - %t2827 = getelementptr inbounds %Cmp_Node, ptr %t2826, i32 0, i32 3 - %t2828 = load ptr, ptr %t2827 - %t2829 = call ptr @fn_val(ptr %t2825, ptr %t2828) - store ptr %t2829, ptr %retval +ixok550: + %t2832 = getelementptr inbounds ptr, ptr %t2826, i32 %t2827 + %t2833 = load ptr, ptr %t2832 + %t2834 = call ptr @fn_llty(ptr %t2833) + call void @fn_emit(ptr %t2834) + call void @fn_emit(ptr @.str10331) + %t2835 = load ptr, ptr %t2701 + %t2836 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 0 + %t2837 = load ptr, ptr %t2836 + %t2838 = load i32, ptr %t2709 + %t2839 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 1 + %t2840 = load i32, ptr %t2839 + %t2841 = icmp ult i32 %t2838, %t2840 + br i1 %t2841, label %ixok552, label %ixbad553 +ixbad553: + %t2842 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t2842, ptr @.fmt_bounds, ptr @.str10332, i32 %t2838, i32 %t2840) + call void @exit(i32 1) + unreachable +ixok552: + %t2843 = getelementptr inbounds ptr, ptr %t2837, i32 %t2838 + %t2844 = load ptr, ptr %t2843 + call void @fn_emit(ptr %t2844) + %t2845 = load i32, ptr %t2709 + %t2846 = add i32 %t2845, 1 + store i32 %t2846, ptr %t2709 + br label %wcond544 +wend546: + call void @fn_emit(ptr @.str10333) + %t2847 = load ptr, ptr %t2803 + %t2848 = load ptr, ptr %t2668 + %t2849 = getelementptr inbounds %Cmp_Node, ptr %t2848, i32 0, i32 3 + %t2850 = load ptr, ptr %t2849 + %t2851 = call ptr @fn_val(ptr %t2847, ptr %t2850) + store ptr %t2851, ptr %retval br label %ret ret: - %t2830 = load ptr, ptr %retval - ret ptr %t2830 + %t2852 = load ptr, ptr %retval + ret ptr %t2852 } define ptr @fn_emit_expr(ptr %arg_e) { @@ -108429,7 +108778,7 @@ entry: %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_val(ptr @.str10333, ptr @.str10334) + %t5 = call ptr @fn_val(ptr @.str10334, ptr @.str10335) store ptr %t5, ptr %retval br label %ret ifend2: @@ -108445,7 +108794,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 @.str10335) + %t16 = call ptr @fn_val(ptr %t15, ptr @.str10336) store ptr %t16, ptr %retval br label %ret ifend5: @@ -108475,8 +108824,8 @@ then8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_fp_lit_code(ptr %t35, ptr @.str10336) - %t37 = call ptr @fn_val(ptr %t36, ptr @.str10337) + %t36 = call ptr @fn_fp_lit_code(ptr %t35, ptr @.str10337) + %t37 = call ptr @fn_val(ptr %t36, ptr @.str10338) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 2 @@ -108498,7 +108847,7 @@ then11: %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2 %t51 = load i32, ptr %t50 %t52 = call ptr @fn_itoa(i32 %t51) - %t53 = call ptr @fn_val(ptr %t52, ptr @.str10338) + %t53 = call ptr @fn_val(ptr %t52, ptr @.str10339) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 2 @@ -108528,7 +108877,7 @@ then14: br i1 %t73, label %ixok17, label %ixbad18 ixbad18: %t74 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str10339, i32 %t70, i32 %t72) + call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str10340, i32 %t70, i32 %t72) call void @exit(i32 1) unreachable ixok17: @@ -108549,7 +108898,7 @@ then19: %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 %t85 = load i32, ptr %t84 %t86 = call ptr @fn_itoa(i32 %t85) - %t87 = call ptr @fn_val(ptr %t86, ptr @.str10340) + %t87 = call ptr @fn_val(ptr %t86, ptr @.str10341) store ptr %t87, ptr %retval br label %ret ifend21: @@ -108561,7 +108910,7 @@ ifend21: %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then22, label %ifend24 then22: - %t94 = call ptr @fn_val(ptr @.str10341, ptr @.str10342) + %t94 = call ptr @fn_val(ptr @.str10342, ptr @.str10343) store ptr %t94, ptr %retval br label %ret ifend24: @@ -108575,7 +108924,7 @@ ifend24: then25: %t101 = load ptr, ptr %t0 %t102 = call ptr @fn_emit_spawn(ptr %t101) - %t103 = call ptr @fn_val(ptr %t102, ptr @.str10343) + %t103 = call ptr @fn_val(ptr %t102, ptr @.str10344) store ptr %t103, ptr %retval br label %ret ifend27: @@ -108606,20 +108955,20 @@ then28: %t125 = load ptr, ptr %t114 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 - %t128 = call ptr @lp_str_concat(ptr @.str10344, ptr %t127) - %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10345) + %t128 = call ptr @lp_str_concat(ptr @.str10345, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10346) %t130 = load ptr, ptr %t119 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = call ptr @lp_str_concat(ptr %t129, ptr %t132) - %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10346) + %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10347) %t135 = load ptr, ptr %t124 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @lp_str_concat(ptr %t134, ptr %t137) - %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10347) + %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10348) %t140 = call ptr @fn_emit_bind(ptr %t139) - %t141 = call ptr @fn_val(ptr %t140, ptr @.str10348) + %t141 = call ptr @fn_val(ptr %t140, ptr @.str10349) store ptr %t141, ptr %retval br label %ret ifend30: @@ -108635,7 +108984,7 @@ then31: %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_emit_str_const(ptr %t150) - %t152 = call ptr @fn_val(ptr %t151, ptr @.str10349) + %t152 = call ptr @fn_val(ptr %t151, ptr @.str10350) store ptr %t152, ptr %retval br label %ret ifend33: @@ -108726,7 +109075,7 @@ then49: br i1 %t212, label %ixok52, label %ixbad53 ixbad53: %t213 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t213, ptr @.fmt_bounds, ptr @.str10350, i32 %t209, i32 %t211) + call i32 (ptr, ptr, ...) @fprintf(ptr %t213, ptr @.fmt_bounds, ptr @.str10351, i32 %t209, i32 %t211) call void @exit(i32 1) unreachable ixok52: @@ -108742,7 +109091,7 @@ ixok52: br i1 %t222, label %ixok54, label %ixbad55 ixbad55: %t223 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str10351, i32 %t219, i32 %t221) + call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str10352, i32 %t219, i32 %t221) call void @exit(i32 1) unreachable ixok54: @@ -108795,7 +109144,7 @@ then62: %t260 = load ptr, ptr %t0 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 1 %t262 = load ptr, ptr %t261 - %t263 = call ptr @lp_str_concat(ptr @.str10352, ptr %t262) + %t263 = call ptr @lp_str_concat(ptr @.str10353, ptr %t262) %t264 = call ptr @fn_to_fp(ptr %t256, ptr %t259, ptr %t263) %t265 = load ptr, ptr %t231 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 3 @@ -108812,8 +109161,8 @@ ifend61: %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 3 %t272 = load ptr, ptr %t271 %t273 = call ptr @fn_llty(ptr %t272) - %t274 = call ptr @lp_str_concat(ptr @.str10353, ptr %t273) - %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str10354) + %t274 = call ptr @lp_str_concat(ptr @.str10354, ptr %t273) + %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str10355) %t276 = load ptr, ptr %t0 %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 1 %t278 = load ptr, ptr %t277 @@ -108840,7 +109189,7 @@ then65: %t294 = load ptr, ptr %t293 %t295 = call i32 @fn_ui_index_of(ptr %t294) %t296 = call ptr @fn_itoa(i32 %t295) - %t297 = call ptr @fn_val(ptr %t296, ptr @.str10355) + %t297 = call ptr @fn_val(ptr %t296, ptr @.str10356) store ptr %t297, ptr %retval br label %ret ifend67: @@ -108873,7 +109222,7 @@ ifend70: %t316 = load ptr, ptr %t0 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 1 %t318 = load ptr, ptr %t317 - %t319 = call ptr @lp_str_concat(ptr @.str10356, ptr %t318) + %t319 = call ptr @lp_str_concat(ptr @.str10357, ptr %t318) call void @fn_perr(ptr %t319) br label %ifend48 ifend48: @@ -108900,7 +109249,7 @@ then74: %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 1 %t338 = load ptr, ptr %t337 - %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str10357) + %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str10358) %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then77, label %ifend79 then77: @@ -108918,13 +109267,13 @@ then80: %t350 = load ptr, ptr %t0 %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 1 %t352 = load ptr, ptr %t351 - %t353 = call ptr @lp_str_concat(ptr @.str10358, ptr %t352) + %t353 = call ptr @lp_str_concat(ptr @.str10359, ptr %t352) call void @fn_perr(ptr %t353) br label %ifend82 ifend82: %t354 = load i32, ptr %t345 %t355 = call ptr @fn_itoa(i32 %t354) - %t356 = call ptr @fn_val(ptr %t355, ptr @.str10359) + %t356 = call ptr @fn_val(ptr %t355, ptr @.str10360) store ptr %t356, ptr %retval br label %ret ifend79: @@ -108933,7 +109282,7 @@ ifend79: %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 1 %t361 = load ptr, ptr %t360 - %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str10360) + %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str10361) %t363 = icmp ne i32 %t362, 0 br i1 %t363, label %then83, label %ifend85 then83: @@ -108951,13 +109300,13 @@ then86: %t373 = load ptr, ptr %t0 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 1 %t375 = load ptr, ptr %t374 - %t376 = call ptr @lp_str_concat(ptr @.str10361, ptr %t375) + %t376 = call ptr @lp_str_concat(ptr @.str10362, ptr %t375) call void @fn_perr(ptr %t376) br label %ifend88 ifend88: %t377 = load i32, ptr %t368 %t378 = call ptr @fn_itoa(i32 %t377) - %t379 = call ptr @fn_val(ptr %t378, ptr @.str10362) + %t379 = call ptr @fn_val(ptr %t378, ptr @.str10363) store ptr %t379, ptr %retval br label %ret ifend85: @@ -108979,7 +109328,7 @@ ifend85: then89: %t394 = load i32, ptr %t389 %t395 = call ptr @fn_itoa(i32 %t394) - %t396 = call ptr @fn_val(ptr %t395, ptr @.str10363) + %t396 = call ptr @fn_val(ptr %t395, ptr @.str10364) store ptr %t396, ptr %retval br label %ret ifend91: @@ -108997,7 +109346,7 @@ ifend76: br i1 %t405, label %then92, label %ifend94 then92: %t407 = load ptr, ptr %t401 - %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str10364) + %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str10365) %t409 = icmp ne i32 %t408, 0 %t410 = zext i1 %t409 to i32 store i32 %t410, ptr %t406 @@ -109006,7 +109355,7 @@ sc95: %t412 = load ptr, ptr %t0 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 1 %t414 = load ptr, ptr %t413 - %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str10365) + %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str10366) %t416 = icmp ne i32 %t415, 0 %t417 = zext i1 %t416 to i32 store i32 %t417, ptr %t411 @@ -109015,7 +109364,7 @@ sc97: %t418 = load ptr, ptr %t0 %t419 = getelementptr inbounds %Cmp_Node, ptr %t418, i32 0, i32 1 %t420 = load ptr, ptr %t419 - %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str10366) + %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str10367) %t422 = icmp ne i32 %t421, 0 %t423 = zext i1 %t422 to i32 store i32 %t423, ptr %t411 @@ -109039,7 +109388,7 @@ then99: %t434 = load ptr, ptr %t0 %t435 = getelementptr inbounds %Cmp_Node, ptr %t434, i32 0, i32 1 %t436 = load ptr, ptr %t435 - %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str10367) + %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str10368) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then102, label %ifend104 then102: @@ -109047,7 +109396,7 @@ then102: %t440 = getelementptr inbounds %Cmp_Val, ptr %t439, i32 0, i32 0 %t441 = load ptr, ptr %t440 %t442 = call ptr @fn_vec_x(ptr %t441) - %t443 = call ptr @fn_val(ptr %t442, ptr @.str10368) + %t443 = call ptr @fn_val(ptr %t442, ptr @.str10369) store ptr %t443, ptr %retval br label %ret ifend104: @@ -109055,7 +109404,7 @@ ifend104: %t445 = getelementptr inbounds %Cmp_Val, ptr %t444, i32 0, i32 0 %t446 = load ptr, ptr %t445 %t447 = call ptr @fn_vec_y(ptr %t446) - %t448 = call ptr @fn_val(ptr %t447, ptr @.str10369) + %t448 = call ptr @fn_val(ptr %t447, ptr @.str10370) store ptr %t448, ptr %retval br label %ret ifend101: @@ -109103,19 +109452,19 @@ then108: %t478 = call ptr @fn_emit_index_addr(ptr %t477) store ptr %t478, ptr %t479 %t480 = load ptr, ptr @g_g_addr_ty - %t481 = call i32 @lp_str_eq(ptr %t480, ptr @.str10370) + %t481 = call i32 @lp_str_eq(ptr %t480, ptr @.str10371) %t482 = icmp ne i32 %t481, 0 br i1 %t482, label %then111, label %ifend113 then111: %t483 = load ptr, ptr %t479 - %t484 = call ptr @lp_str_concat(ptr @.str10371, ptr %t483) + %t484 = call ptr @lp_str_concat(ptr @.str10372, ptr %t483) %t485 = call ptr @fn_emit_bind(ptr %t484) store ptr %t485, ptr %t486 %t487 = load ptr, ptr %t486 - %t488 = call ptr @lp_str_concat(ptr @.str10372, ptr %t487) - %t489 = call ptr @lp_str_concat(ptr %t488, ptr @.str10373) + %t488 = call ptr @lp_str_concat(ptr @.str10373, ptr %t487) + %t489 = call ptr @lp_str_concat(ptr %t488, ptr @.str10374) %t490 = call ptr @fn_emit_bind(ptr %t489) - %t491 = call ptr @fn_val(ptr %t490, ptr @.str10374) + %t491 = call ptr @fn_val(ptr %t490, ptr @.str10375) store ptr %t491, ptr %retval br label %ret ifend113: @@ -109200,15 +109549,15 @@ then129: %t543 = load ptr, ptr %t0 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 1 %t545 = load ptr, ptr %t544 - %t546 = call i32 @lp_str_eq(ptr %t545, ptr @.str10375) + %t546 = call i32 @lp_str_eq(ptr %t545, ptr @.str10376) %t547 = icmp ne i32 %t546, 0 br i1 %t547, label %then132, label %ifend134 then132: %t548 = load ptr, ptr %t537 %t549 = getelementptr inbounds %Cmp_Val, ptr %t548, i32 0, i32 1 %t550 = load ptr, ptr %t549 - %t551 = call ptr @lp_str_concat(ptr @.str10376, ptr %t550) - %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str10377) + %t551 = call ptr @lp_str_concat(ptr @.str10377, ptr %t550) + %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str10378) %t553 = load ptr, ptr %t537 %t554 = getelementptr inbounds %Cmp_Val, ptr %t553, i32 0, i32 0 %t555 = load ptr, ptr %t554 @@ -109240,8 +109589,8 @@ ifend134: %t573 = load ptr, ptr %t0 %t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 1 %t575 = load ptr, ptr %t574 - %t576 = call ptr @lp_str_concat(ptr @.str10378, ptr %t575) - %t577 = call ptr @lp_str_concat(ptr %t576, ptr @.str10379) + %t576 = call ptr @lp_str_concat(ptr @.str10379, ptr %t575) + %t577 = call ptr @lp_str_concat(ptr %t576, ptr @.str10380) %t578 = load ptr, ptr %t537 %t579 = getelementptr inbounds %Cmp_Val, ptr %t578, i32 0, i32 1 %t580 = load ptr, ptr %t579 @@ -109252,7 +109601,7 @@ ifend131: %t583 = load ptr, ptr %t0 %t584 = getelementptr inbounds %Cmp_Node, ptr %t583, i32 0, i32 1 %t585 = load ptr, ptr %t584 - %t586 = call i32 @lp_str_eq(ptr %t585, ptr @.str10380) + %t586 = call i32 @lp_str_eq(ptr %t585, ptr @.str10381) %t587 = icmp ne i32 %t586, 0 %t588 = zext i1 %t587 to i32 store i32 %t588, ptr %t582 @@ -109275,9 +109624,9 @@ then140: %t598 = load ptr, ptr %t537 %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0 %t600 = load ptr, ptr %t599 - %t601 = call ptr @lp_str_concat(ptr @.str10381, ptr %t600) + %t601 = call ptr @lp_str_concat(ptr @.str10382, ptr %t600) %t602 = call ptr @fn_emit_bind(ptr %t601) - %t603 = call ptr @fn_val(ptr %t602, ptr @.str10382) + %t603 = call ptr @fn_val(ptr %t602, ptr @.str10383) store ptr %t603, ptr %t604 %t605 = load ptr, ptr %t604 %t606 = getelementptr inbounds %Cmp_Val, ptr %t605, i32 0, i32 2 @@ -109291,40 +109640,40 @@ ifend142: %t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 1 %t611 = load ptr, ptr %t610 %t612 = call ptr @fn_llty(ptr %t611) - %t613 = call i32 @lp_str_eq(ptr %t612, ptr @.str10383) + %t613 = call i32 @lp_str_eq(ptr %t612, ptr @.str10384) %t614 = icmp ne i32 %t613, 0 br i1 %t614, label %then143, label %ifend145 then143: %t615 = load ptr, ptr %t0 %t616 = getelementptr inbounds %Cmp_Node, ptr %t615, i32 0, i32 1 %t617 = load ptr, ptr %t616 - %t618 = call i32 @lp_str_eq(ptr %t617, ptr @.str10384) + %t618 = call i32 @lp_str_eq(ptr %t617, ptr @.str10385) %t619 = icmp ne i32 %t618, 0 br i1 %t619, label %then146, label %ifend148 then146: %t620 = load ptr, ptr %t537 %t621 = getelementptr inbounds %Cmp_Val, ptr %t620, i32 0, i32 0 %t622 = load ptr, ptr %t621 - %t623 = call ptr @lp_str_concat(ptr @.str10385, ptr %t622) + %t623 = call ptr @lp_str_concat(ptr @.str10386, ptr %t622) %t624 = call ptr @fn_emit_bind(ptr %t623) - %t625 = call ptr @fn_val(ptr %t624, ptr @.str10386) + %t625 = call ptr @fn_val(ptr %t624, ptr @.str10387) store ptr %t625, ptr %retval br label %ret ifend148: %t626 = load ptr, ptr %t0 %t627 = getelementptr inbounds %Cmp_Node, ptr %t626, i32 0, i32 1 %t628 = load ptr, ptr %t627 - %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str10387) + %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str10388) %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then149, label %ifend151 then149: %t631 = load ptr, ptr %t537 %t632 = getelementptr inbounds %Cmp_Val, ptr %t631, i32 0, i32 0 %t633 = load ptr, ptr %t632 - %t634 = call ptr @lp_str_concat(ptr @.str10388, ptr %t633) - %t635 = call ptr @lp_str_concat(ptr %t634, ptr @.str10389) + %t634 = call ptr @lp_str_concat(ptr @.str10389, ptr %t633) + %t635 = call ptr @lp_str_concat(ptr %t634, ptr @.str10390) %t636 = call ptr @fn_emit_bind(ptr %t635) - %t637 = call ptr @fn_val(ptr %t636, ptr @.str10390) + %t637 = call ptr @fn_val(ptr %t636, ptr @.str10391) store ptr %t637, ptr %retval br label %ret ifend151: @@ -109333,14 +109682,14 @@ ifend145: %t638 = load ptr, ptr %t0 %t639 = getelementptr inbounds %Cmp_Node, ptr %t638, i32 0, i32 1 %t640 = load ptr, ptr %t639 - %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str10391) + %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str10392) %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then152, label %ifend154 then152: %t643 = load ptr, ptr %t537 %t644 = getelementptr inbounds %Cmp_Val, ptr %t643, i32 0, i32 0 %t645 = load ptr, ptr %t644 - %t646 = call ptr @lp_str_concat(ptr @.str10392, ptr %t645) + %t646 = call ptr @lp_str_concat(ptr @.str10393, ptr %t645) %t647 = call ptr @fn_emit_bind(ptr %t646) %t648 = load ptr, ptr %t537 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 1 @@ -109353,15 +109702,15 @@ ifend154: %t653 = load ptr, ptr %t0 %t654 = getelementptr inbounds %Cmp_Node, ptr %t653, i32 0, i32 1 %t655 = load ptr, ptr %t654 - %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str10393) + %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str10394) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then155, label %ifend157 then155: %t658 = load ptr, ptr %t537 %t659 = getelementptr inbounds %Cmp_Val, ptr %t658, i32 0, i32 0 %t660 = load ptr, ptr %t659 - %t661 = call ptr @lp_str_concat(ptr @.str10394, ptr %t660) - %t662 = call ptr @lp_str_concat(ptr %t661, ptr @.str10395) + %t661 = call ptr @lp_str_concat(ptr @.str10395, ptr %t660) + %t662 = call ptr @lp_str_concat(ptr %t661, ptr @.str10396) %t663 = call ptr @fn_emit_bind(ptr %t662) %t664 = load ptr, ptr %t537 %t665 = getelementptr inbounds %Cmp_Val, ptr %t664, i32 0, i32 1 @@ -109374,20 +109723,20 @@ ifend157: %t669 = load ptr, ptr %t537 %t670 = getelementptr inbounds %Cmp_Val, ptr %t669, i32 0, i32 0 %t671 = load ptr, ptr %t670 - %t672 = call ptr @lp_str_concat(ptr @.str10396, ptr %t671) - %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str10397) + %t672 = call ptr @lp_str_concat(ptr @.str10397, ptr %t671) + %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str10398) %t674 = call ptr @fn_emit_bind(ptr %t673) store ptr %t674, ptr %t675 %t676 = load ptr, ptr %t675 - %t677 = call ptr @lp_str_concat(ptr @.str10398, ptr %t676) - %t678 = call ptr @lp_str_concat(ptr %t677, ptr @.str10399) + %t677 = call ptr @lp_str_concat(ptr @.str10399, ptr %t676) + %t678 = call ptr @lp_str_concat(ptr %t677, ptr @.str10400) %t679 = call ptr @fn_emit_bind(ptr %t678) - %t680 = call ptr @fn_val(ptr %t679, ptr @.str10400) + %t680 = call ptr @fn_val(ptr %t679, ptr @.str10401) store ptr %t680, ptr %retval br label %ret ifend128: - call void @fn_perr(ptr @.str10401) - %t681 = call ptr @fn_val(ptr @.str10402, ptr @.str10403) + call void @fn_perr(ptr @.str10402) + %t681 = call ptr @fn_val(ptr @.str10403, ptr @.str10404) store ptr %t681, ptr %retval br label %ret ret: @@ -109483,7 +109832,7 @@ entry: %t2 = alloca i32 %t39 = alloca ptr store ptr %arg_d, ptr %t0 - store ptr @.str10404, ptr %t1 + store ptr @.str10405, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: @@ -109505,7 +109854,7 @@ wbody1: br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t1 - %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str10405) + %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str10406) store ptr %t17, ptr %t1 br label %ifend5 ifend5: @@ -109522,7 +109871,7 @@ ifend5: br i1 %t27, label %ixok6, label %ixbad7 ixbad7: %t28 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str10406, i32 %t24, i32 %t26) + call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str10407, i32 %t24, i32 %t26) call void @exit(i32 1) unreachable ixok6: @@ -109547,11 +109896,11 @@ wend2: %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %ifend10 then8: - store ptr @.str10407, ptr %t39 + store ptr @.str10408, ptr %t39 br label %ifend10 ifend10: %t44 = load ptr, ptr %t1 - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10408) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10409) %t46 = load ptr, ptr %t39 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store ptr %t47, ptr %retval @@ -109816,7 +110165,7 @@ ifend8: store i32 %t43, ptr %t2 br label %wcond0 wend2: - store ptr @.str10409, ptr %retval + store ptr @.str10410, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval @@ -109843,8 +110192,8 @@ then0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 - %t13 = call ptr @lp_str_concat(ptr @.str10410, ptr %t12) - %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10411) + %t13 = call ptr @lp_str_concat(ptr @.str10411, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10412) %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 @@ -109860,7 +110209,7 @@ ifend2: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 - %t26 = call ptr @lp_str_concat(ptr @.str10412, ptr %t25) + %t26 = call ptr @lp_str_concat(ptr @.str10413, ptr %t25) %t27 = load ptr, ptr %t5 %t28 = call ptr @fn_fn_sig_of(ptr %t27) %t29 = call ptr @fn_val(ptr %t26, ptr %t28) @@ -109911,14 +110260,14 @@ then0: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 - %t26 = call ptr @lp_str_concat(ptr @.str10413, ptr %t25) - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10414) + %t26 = call ptr @lp_str_concat(ptr @.str10414, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10415) %t28 = load ptr, ptr %t6 %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @lp_str_concat(ptr %t27, ptr %t31) - %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10415) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10416) %t34 = load ptr, ptr %t1 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 @@ -109965,7 +110314,7 @@ wbody4: br i1 %t66, label %ixok6, label %ixbad7 ixbad7: %t67 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str10416, i32 %t63, i32 %t65) + call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str10417, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok6: @@ -109985,7 +110334,7 @@ ixok6: br i1 %t80, label %ixok8, label %ixbad9 ixbad9: %t81 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str10417, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str10418, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok8: @@ -110026,10 +110375,10 @@ wend5: %t105 = load ptr, ptr %t11 %t106 = call ptr @fn_llty(ptr %t105) store ptr %t106, ptr %t107 - call void @fn_emit(ptr @.str10418) - store ptr @.str10419, ptr %t108 + call void @fn_emit(ptr @.str10419) + store ptr @.str10420, ptr %t108 %t109 = load ptr, ptr %t107 - %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str10420) + %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str10421) %t111 = icmp eq i32 %t110, 0 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 @@ -110039,17 +110388,17 @@ then12: store ptr %t114, ptr %t108 %t115 = load ptr, ptr %t108 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str10421) + call void @fn_emit(ptr @.str10422) br label %ifend14 ifend14: %t116 = load ptr, ptr %t107 - %t117 = call ptr @lp_str_concat(ptr @.str10422, ptr %t116) - %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str10423) + %t117 = call ptr @lp_str_concat(ptr @.str10423, ptr %t116) + %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str10424) %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = call ptr @lp_str_concat(ptr %t118, ptr %t121) - %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str10424) + %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str10425) call void @fn_emit(ptr %t123) store i32 0, ptr %t48 br label %wcond15 @@ -110069,7 +110418,7 @@ wbody16: %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str10425) + call void @fn_emit(ptr @.str10426) br label %ifend20 ifend20: %t135 = load ptr, ptr %t6 @@ -110082,14 +110431,14 @@ ifend20: br i1 %t141, label %ixok21, label %ixbad22 ixbad22: %t142 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str10426, i32 %t138, i32 %t140) + call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str10427, i32 %t138, i32 %t140) call void @exit(i32 1) unreachable ixok21: %t143 = getelementptr inbounds ptr, ptr %t137, i32 %t138 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_llty(ptr %t144) - %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str10427) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str10428) %t147 = load ptr, ptr %t47 %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 @@ -110100,7 +110449,7 @@ ixok21: br i1 %t153, label %ixok23, label %ixbad24 ixbad24: %t154 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10428, i32 %t150, i32 %t152) + call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10429, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok23: @@ -110113,7 +110462,7 @@ ixok23: store i32 %t159, ptr %t48 br label %wcond15 wend17: - call void @fn_emit(ptr @.str10429) + call void @fn_emit(ptr @.str10430) %t160 = load ptr, ptr %t108 %t161 = load ptr, ptr %t11 %t162 = call ptr @fn_val(ptr %t160, ptr %t161) @@ -110173,7 +110522,7 @@ sc3: br i1 %t28, label %ixok5, label %ixbad6 ixbad6: %t29 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10430, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10431, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok5: @@ -110327,8 +110676,8 @@ then31: %t125 = load ptr, ptr %t117 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 - %t128 = call ptr @lp_str_concat(ptr @.str10431, ptr %t127) - %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10432) + %t128 = call ptr @lp_str_concat(ptr @.str10432, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10433) call void @fn_perr(ptr %t129) br label %ifend33 ifend33: @@ -110387,7 +110736,7 @@ sc6: %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_llty(ptr %t28) - %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str10433) + %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str10434) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t16 @@ -110410,7 +110759,7 @@ then8: br i1 %t45, label %ixok11, label %ixbad12 ixbad12: %t46 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str10434, i32 0, i32 %t44) + call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str10435, i32 0, i32 %t44) call void @exit(i32 1) unreachable ixok11: @@ -110419,7 +110768,7 @@ ixok11: %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 3 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_llty(ptr %t50) - %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10435) + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10436) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t37 @@ -110436,7 +110785,7 @@ sc13: br i1 %t62, label %ixok15, label %ixbad16 ixbad16: %t63 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str10436, i32 1, i32 %t61) + call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str10437, i32 1, i32 %t61) call void @exit(i32 1) unreachable ixok15: @@ -110445,7 +110794,7 @@ ixok15: %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 3 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_llty(ptr %t67) - %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str10437) + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str10438) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t37 @@ -110464,8 +110813,8 @@ then17: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 - %t80 = call ptr @lp_str_concat(ptr @.str10438, ptr %t79) - %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str10439) + %t80 = call ptr @lp_str_concat(ptr @.str10439, ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str10440) call void @fn_perr(ptr %t81) br label %ifend19 ifend19: @@ -110484,7 +110833,7 @@ entry: br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_vis_report - %t4 = call ptr @getenv(ptr @.str10440) + %t4 = call ptr @getenv(ptr @.str10441) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 @@ -110541,7 +110890,7 @@ ifend5: %t17 = call ptr @fn_module_of(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str10441) + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str10442) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: @@ -110617,23 +110966,23 @@ then9: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 9 %t28 = load ptr, ptr %t27 - %t29 = call ptr @lp_str_concat(ptr @.str10442, ptr %t28) - %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10443) + %t29 = call ptr @lp_str_concat(ptr @.str10443, ptr %t28) + %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10444) %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 8 %t33 = load i32, ptr %t32 %t34 = call ptr @fn_itoa(i32 %t33) %t35 = call ptr @lp_str_concat(ptr %t30, ptr %t34) - %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str10444) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str10445) %t37 = load ptr, ptr %t23 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) - %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10445) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10446) %t40 = load ptr, ptr %t1 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) - %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10446) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10447) %t43 = load ptr, ptr %t7 %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10447) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10448) store ptr %t45, ptr %t46 %t47 = load ptr, ptr @__stderrp %t48 = load ptr, ptr %t46 @@ -110646,21 +110995,6679 @@ then9: br label %ret ifend11: %t55 = load ptr, ptr %t1 - %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10448) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10449) %t57 = load ptr, ptr %t23 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) - %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10449) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10450) %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 9 %t62 = load ptr, ptr %t61 %t63 = call ptr @lp_str_concat(ptr %t59, ptr %t62) - %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10450) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10451) call void @fn_perr(ptr %t64) br label %ret ret: ret void } +define i32 @fn_ck_hash(ptr %arg_s) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t6 = alloca i32 + store ptr %arg_s, ptr %t0 + store i32 5381, ptr %t1 + store i32 0, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call i64 @strlen(ptr %t3) + %t5 = trunc i64 %t4 to i32 + store i32 %t5, ptr %t6 + br label %wcond0 +wcond0: + %t7 = load i32, ptr %t2 + %t8 = load i32, ptr %t6 + %t9 = icmp slt i32 %t7, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load i32, ptr %t1 + %t13 = mul i32 %t12, 33 + %t14 = load ptr, ptr %t0 + %t15 = load i32, ptr %t2 + %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 + %t17 = load i8, ptr %t16 + %t18 = zext i8 %t17 to i32 + %t19 = add i32 %t13, %t18 + %t20 = srem i32 %t19, 1000003 + store i32 %t20, ptr %t1 + %t21 = load i32, ptr %t2 + %t22 = add i32 %t21, 1 + store i32 %t22, ptr %t2 + br label %wcond0 +wend2: + %t23 = load i32, ptr %t1 + %t24 = srem i32 %t23, 65536 + store i32 %t24, ptr %retval + br label %ret +ret: + %t25 = load i32, ptr %retval + ret i32 %t25 +} + +define void @fn_ck_tab_init(ptr %arg_k, ptr %arg_v) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_k, ptr %t0 + store ptr %arg_v, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = icmp slt i32 %t3, 65536 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %wbody1, label %wend2 +wbody1: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 + %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t11 = load i32, ptr %t8 + %t12 = load i32, ptr %t9 + %t13 = icmp sge i32 %t11, %t12 + br i1 %t13, label %grow3, label %put4 +grow3: + %t14 = mul i32 %t12, 2 + %t15 = icmp eq i32 %t12, 0 + %t16 = select i1 %t15, i32 8, i32 %t14 + %t17 = getelementptr ptr, ptr null, i32 1 + %t18 = ptrtoint ptr %t17 to i64 + %t19 = zext i32 %t16 to i64 + %t20 = mul i64 %t19, %t18 + %t21 = load ptr, ptr %t10 + %t22 = call ptr @realloc(ptr %t21, i64 %t20) + store ptr %t22, ptr %t10 + store i32 %t16, ptr %t9 + br label %put4 +put4: + %t23 = load ptr, ptr %t10 + %t24 = getelementptr inbounds ptr, ptr %t23, i32 %t11 + store ptr null, ptr %t24 + %t25 = add i32 %t11, 1 + store i32 %t25, ptr %t8 + %t26 = load ptr, ptr %t1 + %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 %grow5, label %put6 +grow5: + %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 %put6 +put6: + %t42 = load ptr, ptr %t29 + %t43 = getelementptr inbounds ptr, ptr %t42, i32 %t30 + store ptr null, ptr %t43 + %t44 = add i32 %t30, 1 + store i32 %t44, ptr %t27 + %t45 = load i32, ptr %t2 + %t46 = add i32 %t45, 1 + store i32 %t46, ptr %t2 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_ck_tab_put(ptr %arg_k, ptr %arg_v, ptr %arg_name, ptr %arg_d) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t6 = alloca i32 + store ptr %arg_k, ptr %t0 + store ptr %arg_v, ptr %t1 + store ptr %arg_name, ptr %t2 + store ptr %arg_d, ptr %t3 + %t4 = load ptr, ptr %t2 + %t5 = call i32 @fn_ck_hash(ptr %t4) + store i32 %t5, ptr %t6 + br label %wcond0 +wcond0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = load i32, ptr %t6 + %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp ult i32 %t10, %t12 + br i1 %t13, label %ixok3, label %ixbad4 +ixbad4: + %t14 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str10452, i32 %t10, i32 %t12) + call void @exit(i32 1) + unreachable +ixok3: + %t15 = getelementptr inbounds ptr, ptr %t9, i32 %t10 + %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 %wbody1, label %wend2 +wbody1: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t6 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t25 = load i32, ptr %t24 + %t26 = icmp ult i32 %t23, %t25 + br i1 %t26, label %ixok5, label %ixbad6 +ixbad6: + %t27 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str10453, i32 %t23, i32 %t25) + call void @exit(i32 1) + unreachable +ixok5: + %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t29 = load ptr, ptr %t28 + %t30 = load ptr, ptr %t2 + %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then7, label %ifend9 +then7: + br label %ret +ifend9: + %t33 = load i32, ptr %t6 + %t34 = add i32 %t33, 1 + %t35 = srem i32 %t34, 65536 + store i32 %t35, ptr %t6 + br label %wcond0 +wend2: + %t36 = load ptr, ptr %t0 + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 + %t38 = load ptr, ptr %t37 + %t39 = load i32, ptr %t6 + %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 + %t41 = load i32, ptr %t40 + %t42 = icmp ult i32 %t39, %t41 + br i1 %t42, label %ixok10, label %ixbad11 +ixbad11: + %t43 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10454, i32 %t39, i32 %t41) + call void @exit(i32 1) + unreachable +ixok10: + %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 + %t45 = load ptr, ptr %t2 + store ptr %t45, ptr %t44 + %t46 = load ptr, ptr %t1 + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = load i32, ptr %t6 + %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp ult i32 %t49, %t51 + br i1 %t52, label %ixok12, label %ixbad13 +ixbad13: + %t53 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str10455, i32 %t49, i32 %t51) + call void @exit(i32 1) + unreachable +ixok12: + %t54 = getelementptr inbounds ptr, ptr %t48, i32 %t49 + %t55 = load ptr, ptr %t3 + store ptr %t55, ptr %t54 + br label %ret +ret: + ret void +} + +define ptr @fn_ck_tab_get(ptr %arg_k, ptr %arg_v, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca i32 + store ptr %arg_k, ptr %t0 + store ptr %arg_v, ptr %t1 + store ptr %arg_name, ptr %t2 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t2 + %t8 = call i32 @fn_ck_hash(ptr %t7) + store i32 %t8, ptr %t9 + br label %wcond3 +wcond3: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t9 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp ult i32 %t13, %t15 + br i1 %t16, label %ixok6, label %ixbad7 +ixbad7: + %t17 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10456, i32 %t13, i32 %t15) + call void @exit(i32 1) + unreachable +ixok6: + %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %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 %wbody4, label %wend5 +wbody4: + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = load i32, ptr %t9 + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp ult i32 %t26, %t28 + br i1 %t29, label %ixok8, label %ixbad9 +ixbad9: + %t30 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10457, i32 %t26, i32 %t28) + call void @exit(i32 1) + unreachable +ixok8: + %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 + %t32 = load ptr, ptr %t31 + %t33 = load ptr, ptr %t2 + %t34 = call i32 @lp_str_eq(ptr %t32, ptr %t33) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then10, label %ifend12 +then10: + %t36 = load ptr, ptr %t1 + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 + %t38 = load ptr, ptr %t37 + %t39 = load i32, ptr %t9 + %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 + %t41 = load i32, ptr %t40 + %t42 = icmp ult i32 %t39, %t41 + br i1 %t42, label %ixok13, label %ixbad14 +ixbad14: + %t43 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10458, i32 %t39, i32 %t41) + call void @exit(i32 1) + unreachable +ixok13: + %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 + %t45 = load ptr, ptr %t44 + store ptr %t45, ptr %retval + br label %ret +ifend12: + %t46 = load i32, ptr %t9 + %t47 = add i32 %t46, 1 + %t48 = srem i32 %t47, 65536 + store i32 %t48, ptr %t9 + br label %wcond3 +wend5: + store ptr null, ptr %retval + br label %ret +ret: + %t49 = load ptr, ptr %retval + ret ptr %t49 +} + +define void @fn_ck_index() { +entry: + %t10 = alloca i32 + %t28 = alloca ptr + %t41 = alloca i32 + %t0 = load ptr, ptr @g_ck_fn_k + %t1 = load ptr, ptr @g_ck_fn_v + call void @fn_ck_tab_init(ptr %t0, ptr %t1) + %t2 = load ptr, ptr @g_ck_gl_k + %t3 = load ptr, ptr @g_ck_gl_v + call void @fn_ck_tab_init(ptr %t2, ptr %t3) + %t4 = load ptr, ptr @g_ck_rec_k + %t5 = load ptr, ptr @g_ck_rec_v + call void @fn_ck_tab_init(ptr %t4, ptr %t5) + %t6 = load ptr, ptr @g_ck_en_k + %t7 = load ptr, ptr @g_ck_en_v + call void @fn_ck_tab_init(ptr %t6, ptr %t7) + %t8 = load ptr, ptr @g_ck_ex_k + %t9 = load ptr, ptr @g_ck_ex_v + call void @fn_ck_tab_init(ptr %t8, ptr %t9) + store i32 0, ptr %t10 + br label %wcond0 +wcond0: + %t11 = load i32, ptr %t10 + %t12 = load ptr, ptr @g_prog + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t11, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr @g_prog + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t10 + %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t23 = load i32, ptr %t22 + %t24 = icmp ult i32 %t21, %t23 + br i1 %t24, label %ixok3, label %ixbad4 +ixbad4: + %t25 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str10459, i32 %t21, i32 %t23) + call void @exit(i32 1) + unreachable +ixok3: + %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %t28 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + %t35 = load ptr, ptr @g_ck_fn_k + %t36 = load ptr, ptr @g_ck_fn_v + %t37 = load ptr, ptr %t28 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 + %t39 = load ptr, ptr %t38 + %t40 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t35, ptr %t36, ptr %t39, ptr %t40) + br label %ifend7 +ifend7: + %t42 = load ptr, ptr %t28 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 + %t44 = load i32, ptr %t43 + %t45 = icmp eq i32 %t44, 2 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t41 + br i1 %t47, label %scend9, label %sc8 +sc8: + %t49 = load ptr, ptr %t28 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 0 + %t51 = load i32, ptr %t50 + %t52 = icmp eq i32 %t51, 3 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t41 + br label %scend9 +scend9: + %t56 = load i32, ptr %t41 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then10, label %ifend12 +then10: + %t58 = load ptr, ptr @g_ck_gl_k + %t59 = load ptr, ptr @g_ck_gl_v + %t60 = load ptr, ptr %t28 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t58, ptr %t59, ptr %t62, ptr %t63) + br label %ifend12 +ifend12: + %t64 = load ptr, ptr %t28 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 + %t66 = load i32, ptr %t65 + %t67 = icmp eq i32 %t66, 8 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then13, label %ifend15 +then13: + %t70 = load ptr, ptr @g_ck_rec_k + %t71 = load ptr, ptr @g_ck_rec_v + %t72 = load ptr, ptr %t28 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 + %t74 = load ptr, ptr %t73 + %t75 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t70, ptr %t71, ptr %t74, ptr %t75) + br label %ifend15 +ifend15: + %t76 = load ptr, ptr %t28 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 0 + %t78 = load i32, ptr %t77 + %t79 = icmp eq i32 %t78, 27 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then16, label %ifend18 +then16: + %t82 = load ptr, ptr @g_ck_en_k + %t83 = load ptr, ptr @g_ck_en_v + %t84 = load ptr, ptr %t28 + %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 + %t86 = load ptr, ptr %t85 + %t87 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t82, ptr %t83, ptr %t86, ptr %t87) + br label %ifend18 +ifend18: + %t88 = load ptr, ptr %t28 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 + %t90 = load i32, ptr %t89 + %t91 = icmp eq i32 %t90, 11 + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then19, label %ifend21 +then19: + %t94 = load ptr, ptr @g_ck_ex_k + %t95 = load ptr, ptr @g_ck_ex_v + %t96 = load ptr, ptr %t28 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 + %t98 = load ptr, ptr %t97 + %t99 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t94, ptr %t95, ptr %t98, ptr %t99) + br label %ifend21 +ifend21: + %t100 = load i32, ptr %t10 + %t101 = add i32 %t100, 1 + store i32 %t101, ptr %t10 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ck_fn(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_fn_k + %t2 = load ptr, ptr @g_ck_fn_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_global(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_gl_k + %t2 = load ptr, ptr @g_ck_gl_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_record(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_rec_k + %t2 = load ptr, ptr @g_ck_rec_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_enum(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_en_k + %t2 = load ptr, ptr @g_ck_en_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_extern(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_ex_k + %t2 = load ptr, ptr @g_ck_ex_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define i32 @fn_ck_unknown(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t1 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10460) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t1 + br label %scend1 +scend1: + %t11 = load i32, ptr %t1 + store i32 %t11, ptr %retval + br label %ret +ret: + %t12 = load i32, ptr %retval + ret i32 %t12 +} + +define i32 @fn_ck_is_int(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t38 = alloca ptr + store ptr %arg_t, ptr %t0 + %t5 = load ptr, ptr %t0 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10461) + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + store i32 %t8, ptr %t4 + br i1 %t7, label %scend1, label %sc0 +sc0: + %t9 = load ptr, ptr %t0 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10462) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t4 + br label %scend1 +scend1: + %t13 = load i32, ptr %t4 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t3 + br i1 %t14, label %scend3, label %sc2 +sc2: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10463) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t3 + br label %scend3 +scend3: + %t20 = load i32, ptr %t3 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t2 + br i1 %t21, label %scend5, label %sc4 +sc4: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str10464) + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t2 + br label %scend5 +scend5: + %t27 = load i32, ptr %t2 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t1 + br i1 %t28, label %scend7, label %sc6 +sc6: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str10465) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t1 + br label %scend7 +scend7: + %t34 = load i32, ptr %t1 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 +then8: + store i32 1, ptr %retval + br label %ret +ifend10: + %t36 = load ptr, ptr %t0 + %t37 = call ptr @fn_ck_enum(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = icmp ne ptr %t39, null + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then11, label %ifend13 +then11: + %t43 = load ptr, ptr %t38 + %t44 = call i32 @fn_enum_is_tagged(ptr %t43) + %t45 = icmp eq i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + store i32 %t46, ptr %retval + br label %ret +ifend13: + store i32 0, ptr %retval + br label %ret +ret: + %t47 = load i32, ptr %retval + ret i32 %t47 +} + +define ptr @fn_ck_a(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca i32 + %t6 = alloca i32 + %t7 = alloca i32 + %t8 = alloca i32 + %t9 = alloca i32 + %t10 = alloca i32 + %t11 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t14 = alloca i32 + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds i8, ptr %t1, i32 0 + %t3 = load i8, ptr %t2 + %t4 = zext i8 %t3 to i32 + store i32 %t4, ptr %t5 + %t15 = load i32, ptr %t5 + %t16 = icmp eq i32 %t15, 97 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t14 + br i1 %t18, label %scend1, label %sc0 +sc0: + %t20 = load i32, ptr %t5 + %t21 = icmp eq i32 %t20, 101 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t14 + br label %scend1 +scend1: + %t25 = load i32, ptr %t14 + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t13 + br i1 %t26, label %scend3, label %sc2 +sc2: + %t28 = load i32, ptr %t5 + %t29 = icmp eq i32 %t28, 105 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t13 + br label %scend3 +scend3: + %t33 = load i32, ptr %t13 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t12 + br i1 %t34, label %scend5, label %sc4 +sc4: + %t36 = load i32, ptr %t5 + %t37 = icmp eq i32 %t36, 111 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t12 + br label %scend5 +scend5: + %t41 = load i32, ptr %t12 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t11 + br i1 %t42, label %scend7, label %sc6 +sc6: + %t44 = load i32, ptr %t5 + %t45 = icmp eq i32 %t44, 117 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t11 + br label %scend7 +scend7: + %t49 = load i32, ptr %t11 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t10 + br i1 %t50, label %scend9, label %sc8 +sc8: + %t52 = load i32, ptr %t5 + %t53 = icmp eq i32 %t52, 65 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t10 + br label %scend9 +scend9: + %t57 = load i32, ptr %t10 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t9 + br i1 %t58, label %scend11, label %sc10 +sc10: + %t60 = load i32, ptr %t5 + %t61 = icmp eq i32 %t60, 69 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t9 + br label %scend11 +scend11: + %t65 = load i32, ptr %t9 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t8 + br i1 %t66, label %scend13, label %sc12 +sc12: + %t68 = load i32, ptr %t5 + %t69 = icmp eq i32 %t68, 73 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t8 + br label %scend13 +scend13: + %t73 = load i32, ptr %t8 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t7 + br i1 %t74, label %scend15, label %sc14 +sc14: + %t76 = load i32, ptr %t5 + %t77 = icmp eq i32 %t76, 79 + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t7 + br label %scend15 +scend15: + %t81 = load i32, ptr %t7 + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t6 + br i1 %t82, label %scend17, label %sc16 +sc16: + %t84 = load i32, ptr %t5 + %t85 = icmp eq i32 %t84, 85 + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t6 + br label %scend17 +scend17: + %t89 = load i32, ptr %t6 + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then18, label %ifend20 +then18: + %t91 = load ptr, ptr %t0 + %t92 = call ptr @lp_str_concat(ptr @.str10466, ptr %t91) + store ptr %t92, ptr %retval + br label %ret +ifend20: + %t93 = load ptr, ptr %t0 + %t94 = call ptr @lp_str_concat(ptr @.str10467, ptr %t93) + store ptr %t94, ptr %retval + br label %ret +ret: + %t95 = load ptr, ptr %retval + ret ptr %t95 +} + +define i32 @fn_ck_is_float(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10468) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str10469) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define i32 @fn_ck_is_num(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + store ptr %arg_t, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @fn_ck_is_int(ptr %t3) + %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_ck_is_float(ptr %t7) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str10470) + %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 + store i32 %t18, ptr %retval + br label %ret +ret: + %t19 = load i32, ptr %retval + ret i32 %t19 +} + +define i32 @fn_ck_is_rec(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_ck_record(ptr %t1) + %t3 = icmp ne ptr %t2, null + %t4 = zext i1 %t3 to i32 + store i32 %t4, ptr %retval + br label %ret +ret: + %t5 = load i32, ptr %retval + ret i32 %t5 +} + +define i32 @fn_ck_is_ref(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_t, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_ck_is_num(ptr %t4) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str10471) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str10472) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str10473) + %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 0, ptr %retval + br label %ret +ifend8: + store i32 1, ptr %retval + br label %ret +ret: + %t28 = load i32, ptr %retval + ret i32 %t28 +} + +define i32 @fn_ck_is_lit(ptr %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t5 = alloca i32 + %t22 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0 + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 30 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t5 + br i1 %t11, label %scend4, label %sc3 +sc3: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 40 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t5 + br label %scend4 +scend4: + %t20 = load i32, ptr %t5 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then5, label %ifend7 +then5: + store i32 1, ptr %retval + br label %ret +ifend7: + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 + %t25 = load i32, ptr %t24 + %t26 = icmp eq i32 %t25, 38 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t22 + br i1 %t28, label %sc8, label %scend9 +sc8: + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 + %t32 = load ptr, ptr %t31 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10474) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t22 + br label %scend9 +scend9: + %t36 = load i32, ptr %t22 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then10, label %ifend12 +then10: + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 + %t40 = load ptr, ptr %t39 + %t41 = call i32 @fn_ck_is_lit(ptr %t40) + store i32 %t41, ptr %retval + br label %ret +ifend12: + store i32 0, ptr %retval + br label %ret +ret: + %t42 = load i32, ptr %retval + ret i32 %t42 +} + +define ptr @fn_ck_class(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_ck_is_num(ptr %t1) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store ptr @.str10475, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str10476) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store ptr @.str10477, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10478) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store ptr @.str10479, ptr %retval + br label %ret +ifend8: + store ptr @.str10480, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_ck_mismatch(ptr %arg_to, ptr %arg_from, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t14 = alloca i32 + %t32 = alloca i32 + %t43 = alloca i32 + %t44 = alloca i32 + %t49 = alloca i32 + %t64 = alloca i32 + %t90 = alloca i32 + %t110 = alloca i32 + %t127 = alloca i32 + %t141 = alloca i32 + %t152 = alloca i32 + %t157 = alloca i32 + %t171 = alloca i32 + %t182 = alloca i32 + %t193 = alloca i32 + %t204 = alloca i32 + %t209 = alloca i32 + %t210 = alloca i32 + store ptr %arg_to, ptr %t0 + store ptr %arg_from, ptr %t1 + store ptr %arg_e, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_ck_unknown(ptr %t4) + %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 %t1 + %t9 = call i32 @fn_ck_unknown(ptr %t8) + %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 + br i1 %t13, label %then2, label %ifend4 +then2: + store ptr null, ptr %retval + br label %ret +ifend4: + %t15 = load ptr, ptr %t0 + %t16 = load ptr, ptr %t1 + %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t14 + br i1 %t18, label %scend6, label %sc5 +sc5: + %t20 = load ptr, ptr %t0 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10481) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t14 + br label %scend6 +scend6: + %t24 = load i32, ptr %t14 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then7, label %ifend9 +then7: + store ptr null, ptr %retval + br label %ret +ifend9: + %t26 = load ptr, ptr %t1 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str10482) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then10, label %ifend12 +then10: + %t29 = load ptr, ptr %t0 + %t30 = call i32 @fn_ck_is_ref(ptr %t29) + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %then13, label %ifend15 +then13: + store ptr null, ptr %retval + br label %ret +ifend15: + store ptr @.str10483, ptr %retval + br label %ret +ifend12: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str10484) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t32 + br i1 %t35, label %scend17, label %sc16 +sc16: + %t37 = load ptr, ptr %t1 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str10485) + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t32 + br label %scend17 +scend17: + %t41 = load i32, ptr %t32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then18, label %ifend20 +then18: + store ptr @.str10486, ptr %retval + br label %ret +ifend20: + %t45 = load ptr, ptr %t2 + %t46 = call i32 @fn_ck_is_lit(ptr %t45) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t44 + br i1 %t47, label %sc21, label %scend22 +sc21: + %t50 = load ptr, ptr %t1 + %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str10487) + %t52 = icmp ne i32 %t51, 0 + %t53 = zext i1 %t52 to i32 + store i32 %t53, ptr %t49 + br i1 %t52, label %scend24, label %sc23 +sc23: + %t54 = load ptr, ptr %t1 + %t55 = call i32 @fn_ck_is_float(ptr %t54) + %t56 = icmp ne i32 %t55, 0 + %t57 = zext i1 %t56 to i32 + store i32 %t57, ptr %t49 + br label %scend24 +scend24: + %t58 = load i32, ptr %t49 + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t44 + br label %scend22 +scend22: + %t61 = load i32, ptr %t44 + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t43 + br i1 %t62, label %sc25, label %scend26 +sc25: + %t65 = load ptr, ptr %t0 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str10488) + %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_ck_is_float(ptr %t69) + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t64 + br label %scend28 +scend28: + %t73 = load i32, ptr %t64 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t43 + br label %scend26 +scend26: + %t76 = load i32, ptr %t43 + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then29, label %ifend31 +then29: + store ptr null, ptr %retval + br label %ret +ifend31: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @fn_ck_is_int(ptr %t78) + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then32, label %ifend34 +then32: + %t81 = load ptr, ptr %t1 + %t82 = call i32 @fn_ck_is_int(ptr %t81) + %t83 = icmp ne i32 %t82, 0 + br i1 %t83, label %then35, label %ifend37 +then35: + store ptr null, ptr %retval + br label %ret +ifend37: + %t84 = load ptr, ptr %t1 + %t85 = call i32 @fn_ck_is_num(ptr %t84) + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then38, label %ifend40 +then38: + store ptr @.str10489, ptr %retval + br label %ret +ifend40: + store ptr @.str10490, ptr %retval + br label %ret +ifend34: + %t87 = load ptr, ptr %t0 + %t88 = call i32 @fn_ck_is_float(ptr %t87) + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %then41, label %ifend43 +then41: + %t91 = load ptr, ptr %t1 + %t92 = call i32 @fn_ck_is_int(ptr %t91) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t90 + br i1 %t93, label %scend45, label %sc44 +sc44: + %t95 = load ptr, ptr %t1 + %t96 = call i32 @fn_ck_is_float(ptr %t95) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t90 + br label %scend45 +scend45: + %t99 = load i32, ptr %t90 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then46, label %ifend48 +then46: + store ptr null, ptr %retval + br label %ret +ifend48: + %t101 = load ptr, ptr %t1 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str10491) + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then49, label %ifend51 +then49: + store ptr @.str10492, ptr %retval + br label %ret +ifend51: + store ptr @.str10493, ptr %retval + br label %ret +ifend43: + %t104 = load ptr, ptr %t0 + %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str10494) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then52, label %ifend54 +then52: + %t107 = load ptr, ptr %t1 + %t108 = call i32 @fn_ck_is_int(ptr %t107) + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then55, label %ifend57 +then55: + store ptr null, ptr %retval + br label %ret +ifend57: + %t111 = load ptr, ptr %t1 + %t112 = call i32 @fn_ck_is_float(ptr %t111) + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t110 + br i1 %t113, label %sc58, label %scend59 +sc58: + %t115 = load ptr, ptr %t2 + %t116 = call i32 @fn_ck_is_lit(ptr %t115) + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t110 + br label %scend59 +scend59: + %t119 = load i32, ptr %t110 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then60, label %ifend62 +then60: + store ptr null, ptr %retval + br label %ret +ifend62: + %t121 = load ptr, ptr %t1 + %t122 = call i32 @fn_ck_is_float(ptr %t121) + %t123 = icmp ne i32 %t122, 0 + br i1 %t123, label %then63, label %ifend65 +then63: + store ptr @.str10495, ptr %retval + br label %ret +ifend65: + store ptr @.str10496, ptr %retval + br label %ret +ifend54: + %t124 = load ptr, ptr %t1 + %t125 = call i32 @fn_ck_is_num(ptr %t124) + %t126 = icmp ne i32 %t125, 0 + br i1 %t126, label %then66, label %ifend68 +then66: + store ptr @.str10497, ptr %retval + br label %ret +ifend68: + %t128 = load ptr, ptr %t0 + %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str10498) + %t130 = icmp ne i32 %t129, 0 + %t131 = zext i1 %t130 to i32 + store i32 %t131, ptr %t127 + br i1 %t130, label %scend70, label %sc69 +sc69: + %t132 = load ptr, ptr %t1 + %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str10499) + %t134 = icmp ne i32 %t133, 0 + %t135 = zext i1 %t134 to i32 + store i32 %t135, ptr %t127 + br label %scend70 +scend70: + %t136 = load i32, ptr %t127 + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then71, label %ifend73 +then71: + store ptr null, ptr %retval + br label %ret +ifend73: + %t138 = load ptr, ptr %t0 + %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str10500) + %t140 = icmp ne i32 %t139, 0 + br i1 %t140, label %then74, label %ifend76 +then74: + store ptr @.str10501, ptr %retval + br label %ret +ifend76: + %t142 = load ptr, ptr %t0 + %t143 = call i32 @fn_ck_is_rec(ptr %t142) + %t144 = icmp ne i32 %t143, 0 + %t145 = zext i1 %t144 to i32 + store i32 %t145, ptr %t141 + br i1 %t144, label %sc77, label %scend78 +sc77: + %t146 = load ptr, ptr %t1 + %t147 = call i32 @fn_ck_is_rec(ptr %t146) + %t148 = icmp ne i32 %t147, 0 + %t149 = zext i1 %t148 to i32 + store i32 %t149, ptr %t141 + br label %scend78 +scend78: + %t150 = load i32, ptr %t141 + %t151 = icmp ne i32 %t150, 0 + br i1 %t151, label %then79, label %ifend81 +then79: + store ptr @.str10502, ptr %retval + br label %ret +ifend81: + %t153 = load ptr, ptr %t0 + %t154 = call i32 @fn_ck_is_rec(ptr %t153) + %t155 = icmp ne i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + store i32 %t156, ptr %t152 + br i1 %t155, label %sc82, label %scend83 +sc82: + %t158 = load ptr, ptr %t1 + %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str10503) + %t160 = icmp ne i32 %t159, 0 + %t161 = zext i1 %t160 to i32 + store i32 %t161, ptr %t157 + br i1 %t160, label %scend85, label %sc84 +sc84: + %t162 = load ptr, ptr %t1 + %t163 = call i32 @fn_is_slice_ty(ptr %t162) + %t164 = icmp ne i32 %t163, 0 + %t165 = zext i1 %t164 to i32 + store i32 %t165, ptr %t157 + br label %scend85 +scend85: + %t166 = load i32, ptr %t157 + %t167 = icmp ne i32 %t166, 0 + %t168 = zext i1 %t167 to i32 + store i32 %t168, ptr %t152 + br label %scend83 +scend83: + %t169 = load i32, ptr %t152 + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %then86, label %ifend88 +then86: + store ptr @.str10504, ptr %retval + br label %ret +ifend88: + %t172 = load ptr, ptr %t0 + %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str10505) + %t174 = icmp ne i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + store i32 %t175, ptr %t171 + br i1 %t174, label %scend90, label %sc89 +sc89: + %t176 = load ptr, ptr %t1 + %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str10506) + %t178 = icmp ne i32 %t177, 0 + %t179 = zext i1 %t178 to i32 + store i32 %t179, ptr %t171 + br label %scend90 +scend90: + %t180 = load i32, ptr %t171 + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %then91, label %ifend93 +then91: + store ptr null, ptr %retval + br label %ret +ifend93: + %t183 = load ptr, ptr %t0 + %t184 = call i32 @fn_is_slice_ty(ptr %t183) + %t185 = icmp ne i32 %t184, 0 + %t186 = zext i1 %t185 to i32 + store i32 %t186, ptr %t182 + br i1 %t185, label %sc94, label %scend95 +sc94: + %t187 = load ptr, ptr %t1 + %t188 = call i32 @fn_is_slice_ty(ptr %t187) + %t189 = icmp ne i32 %t188, 0 + %t190 = zext i1 %t189 to i32 + store i32 %t190, ptr %t182 + br label %scend95 +scend95: + %t191 = load i32, ptr %t182 + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then96, label %ifend98 +then96: + store ptr @.str10507, ptr %retval + br label %ret +ifend98: + %t194 = load ptr, ptr %t0 + %t195 = call i32 @fn_is_fn_type(ptr %t194) + %t196 = icmp ne i32 %t195, 0 + %t197 = zext i1 %t196 to i32 + store i32 %t197, ptr %t193 + br i1 %t196, label %sc99, label %scend100 +sc99: + %t198 = load ptr, ptr %t1 + %t199 = call i32 @fn_is_fn_type(ptr %t198) + %t200 = icmp ne i32 %t199, 0 + %t201 = zext i1 %t200 to i32 + store i32 %t201, ptr %t193 + br label %scend100 +scend100: + %t202 = load i32, ptr %t193 + %t203 = icmp ne i32 %t202, 0 + br i1 %t203, label %then101, label %ifend103 +then101: + store ptr @.str10508, ptr %retval + br label %ret +ifend103: + %t205 = load ptr, ptr %t1 + %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str10509) + %t207 = icmp ne i32 %t206, 0 + %t208 = zext i1 %t207 to i32 + store i32 %t208, ptr %t204 + br i1 %t207, label %sc104, label %scend105 +sc104: + %t211 = load ptr, ptr %t0 + %t212 = call i32 @fn_ck_is_rec(ptr %t211) + %t213 = icmp ne i32 %t212, 0 + %t214 = zext i1 %t213 to i32 + store i32 %t214, ptr %t210 + br i1 %t213, label %scend107, label %sc106 +sc106: + %t215 = load ptr, ptr %t0 + %t216 = call i32 @fn_is_slice_ty(ptr %t215) + %t217 = icmp ne i32 %t216, 0 + %t218 = zext i1 %t217 to i32 + store i32 %t218, ptr %t210 + br label %scend107 +scend107: + %t219 = load i32, ptr %t210 + %t220 = icmp ne i32 %t219, 0 + %t221 = zext i1 %t220 to i32 + store i32 %t221, ptr %t209 + br i1 %t220, label %scend109, label %sc108 +sc108: + %t222 = load ptr, ptr %t0 + %t223 = call i32 @fn_is_fn_type(ptr %t222) + %t224 = icmp ne i32 %t223, 0 + %t225 = zext i1 %t224 to i32 + store i32 %t225, ptr %t209 + br label %scend109 +scend109: + %t226 = load i32, ptr %t209 + %t227 = icmp ne i32 %t226, 0 + %t228 = zext i1 %t227 to i32 + store i32 %t228, ptr %t204 + br label %scend105 +scend105: + %t229 = load i32, ptr %t204 + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then110, label %ifend112 +then110: + store ptr @.str10510, ptr %retval + br label %ret +ifend112: + store ptr null, ptr %retval + br label %ret +ret: + %t231 = load ptr, ptr %retval + ret ptr %t231 +} + +define void @fn_ck_bind(ptr %arg_name, ptr %arg_ty) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + %t4 = alloca i32 + store ptr %arg_name, ptr %t0 + store ptr %arg_ty, ptr %t1 + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %t3 + %t5 = load ptr, ptr %t3 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10511) + %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 %t3 + %t10 = icmp eq ptr %t9, null + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t4 + br label %scend1 +scend1: + %t14 = load i32, ptr %t4 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then2, label %ifend4 +then2: + store ptr @.str10512, ptr %t3 + br label %ifend4 +ifend4: + %t16 = load i32, ptr @g_ck_top + %t17 = load ptr, ptr @g_ck_names + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp slt i32 %t16, %t19 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then5, label %else6 +then5: + %t23 = load ptr, ptr @g_ck_names + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = load i32, ptr @g_ck_top + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp ult i32 %t26, %t28 + br i1 %t29, label %ixok8, label %ixbad9 +ixbad9: + %t30 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10513, i32 %t26, i32 %t28) + call void @exit(i32 1) + unreachable +ixok8: + %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 + %t32 = load ptr, ptr %t0 + store ptr %t32, ptr %t31 + %t33 = load ptr, ptr @g_ck_tys + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr @g_ck_top + %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t38 = load i32, ptr %t37 + %t39 = icmp ult i32 %t36, %t38 + br i1 %t39, label %ixok10, label %ixbad11 +ixbad11: + %t40 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10514, i32 %t36, i32 %t38) + call void @exit(i32 1) + unreachable +ixok10: + %t41 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t42 = load ptr, ptr %t3 + store ptr %t42, ptr %t41 + br label %ifend7 +else6: + %t43 = load ptr, ptr @g_ck_names + %t44 = load ptr, ptr %t0 + %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 + %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 + %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t48 = load i32, ptr %t45 + %t49 = load i32, ptr %t46 + %t50 = icmp sge i32 %t48, %t49 + br i1 %t50, label %grow12, label %put13 +grow12: + %t51 = mul i32 %t49, 2 + %t52 = icmp eq i32 %t49, 0 + %t53 = select i1 %t52, i32 8, i32 %t51 + %t54 = getelementptr ptr, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = zext i32 %t53 to i64 + %t57 = mul i64 %t56, %t55 + %t58 = load ptr, ptr %t47 + %t59 = call ptr @realloc(ptr %t58, i64 %t57) + store ptr %t59, ptr %t47 + store i32 %t53, ptr %t46 + br label %put13 +put13: + %t60 = load ptr, ptr %t47 + %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 + store ptr %t44, ptr %t61 + %t62 = add i32 %t48, 1 + store i32 %t62, ptr %t45 + %t63 = load ptr, ptr @g_ck_tys + %t64 = load ptr, ptr %t3 + %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t66 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 + %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t68 = load i32, ptr %t65 + %t69 = load i32, ptr %t66 + %t70 = icmp sge i32 %t68, %t69 + br i1 %t70, label %grow14, label %put15 +grow14: + %t71 = mul i32 %t69, 2 + %t72 = icmp eq i32 %t69, 0 + %t73 = select i1 %t72, i32 8, i32 %t71 + %t74 = getelementptr ptr, ptr null, i32 1 + %t75 = ptrtoint ptr %t74 to i64 + %t76 = zext i32 %t73 to i64 + %t77 = mul i64 %t76, %t75 + %t78 = load ptr, ptr %t67 + %t79 = call ptr @realloc(ptr %t78, i64 %t77) + store ptr %t79, ptr %t67 + store i32 %t73, ptr %t66 + br label %put15 +put15: + %t80 = load ptr, ptr %t67 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 + store ptr %t64, ptr %t81 + %t82 = add i32 %t68, 1 + store i32 %t82, ptr %t65 + br label %ifend7 +ifend7: + %t83 = load i32, ptr @g_ck_top + %t84 = add i32 %t83, 1 + store i32 %t84, ptr @g_ck_top + br label %ret +ret: + ret void +} + +define i32 @fn_ck_mark() { +entry: + %retval = alloca i32 + %t0 = load i32, ptr @g_ck_top + store i32 %t0, ptr %retval + br label %ret +ret: + %t1 = load i32, ptr %retval + ret i32 %t1 +} + +define void @fn_ck_pop(i32 %arg_m) { +entry: + %t0 = alloca i32 + store i32 %arg_m, ptr %t0 + %t1 = load i32, ptr %t0 + store i32 %t1, ptr @g_ck_top + br label %ret +ret: + ret void +} + +define i32 @fn_ck_local(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t3 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load i32, ptr @g_ck_top + %t2 = sub i32 %t1, 1 + store i32 %t2, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load i32, ptr %t3 + %t5 = icmp sge i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_ck_names + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + %t13 = load i32, ptr %t12 + %t14 = icmp ult i32 %t11, %t13 + br i1 %t14, label %ixok3, label %ixbad4 +ixbad4: + %t15 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10515, i32 %t11, i32 %t13) + call void @exit(i32 1) + unreachable +ixok3: + %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t17 = load ptr, ptr %t16 + %t18 = load ptr, ptr %t0 + %t19 = call i32 @lp_str_eq(ptr %t17, ptr %t18) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then5, label %ifend7 +then5: + %t21 = load i32, ptr %t3 + store i32 %t21, ptr %retval + br label %ret +ifend7: + %t22 = load i32, ptr %t3 + %t23 = sub i32 %t22, 1 + store i32 %t23, ptr %t3 + br label %wcond0 +wend2: + %t24 = sub i32 0, 1 + store i32 %t24, ptr %retval + br label %ret +ret: + %t25 = load i32, ptr %retval + ret i32 %t25 +} + +define i32 @fn_ck_reporting() { +entry: + %retval = alloca i32 + %t0 = load i32, ptr @g_ck_report + %t1 = icmp slt i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 0, ptr @g_ck_report + %t4 = call ptr @getenv(ptr @.str10516) + %t5 = icmp ne ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then3, label %ifend5 +then3: + store i32 1, ptr @g_ck_report + br label %ifend5 +ifend5: + br label %ifend2 +ifend2: + %t8 = load i32, ptr @g_ck_report + %t9 = icmp eq i32 %t8, 1 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define void @fn_ck_err(ptr %arg_cat, ptr %arg_n, ptr %arg_msg) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca i32 + %t30 = alloca ptr + store ptr %arg_cat, ptr %t0 + store ptr %arg_n, ptr %t1 + store ptr %arg_msg, ptr %t2 + store ptr @.str10517, ptr %t3 + store i32 0, ptr %t4 + %t5 = load ptr, ptr %t1 + %t6 = icmp ne ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr %t1 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 + %t11 = load ptr, ptr %t10 + %t12 = icmp ne ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then3, label %ifend5 +then3: + %t15 = load ptr, ptr %t1 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 9 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %t3 + br label %ifend5 +ifend5: + %t18 = load ptr, ptr %t1 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8 + %t20 = load i32, ptr %t19 + store i32 %t20, ptr %t4 + br label %ifend2 +ifend2: + %t21 = load ptr, ptr %t3 + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10518) + %t23 = load i32, ptr %t4 + %t24 = call ptr @fn_itoa(i32 %t23) + %t25 = call ptr @lp_str_concat(ptr %t22, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10519) + %t27 = load ptr, ptr %t2 + %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10520) + store ptr %t29, ptr %t30 + %t31 = call i32 @fn_ck_reporting() + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + %t33 = load ptr, ptr %t0 + %t34 = call ptr @lp_str_concat(ptr @.str10521, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str10522) + %t36 = load ptr, ptr %t3 + %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str10523) + %t39 = load i32, ptr %t4 + %t40 = call ptr @fn_itoa(i32 %t39) + %t41 = call ptr @lp_str_concat(ptr %t38, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10524) + %t43 = load ptr, ptr %t2 + %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10525) + store ptr %t45, ptr %t30 + br label %ifend8 +ifend8: + %t46 = load ptr, ptr @__stderrp + %t47 = load ptr, ptr %t30 + %t48 = load ptr, ptr %t30 + %t49 = call i64 @strlen(ptr %t48) + %t50 = trunc i64 %t49 to i32 + %t51 = zext i32 %t50 to i64 + %t52 = call i64 @fwrite(ptr %t47, i64 1, i64 %t51, ptr %t46) + %t53 = trunc i64 %t52 to i32 + %t54 = load i32, ptr @g_ck_errors + %t55 = add i32 %t54, 1 + store i32 %t55, ptr @g_ck_errors + br label %ret +ret: + ret void +} + +define void @fn_ck_give(ptr %arg_to, ptr %arg_from, ptr %arg_e, ptr %arg_what) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t8 = alloca ptr + store ptr %arg_to, ptr %t0 + store ptr %arg_from, ptr %t1 + store ptr %arg_e, ptr %t2 + store ptr %arg_what, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = load ptr, ptr %t1 + %t6 = load ptr, ptr %t2 + %t7 = call ptr @fn_ck_mismatch(ptr %t4, ptr %t5, ptr %t6) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, null + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t13 = load ptr, ptr %t8 + %t14 = load ptr, ptr %t2 + %t15 = load ptr, ptr %t3 + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10526) + %t17 = load ptr, ptr %t0 + %t18 = call ptr @fn_ck_a(ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t16, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str10527) + %t21 = load ptr, ptr %t1 + %t22 = call ptr @fn_ck_a(ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t20, ptr %t22) + call void @fn_ck_err(ptr %t13, ptr %t14, ptr %t23) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_field(ptr %arg_r, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_r, ptr %t0 + store ptr %arg_name, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp ult i32 %t17, %t19 + br i1 %t20, label %ixok3, label %ixbad4 +ixbad4: + %t21 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10528, i32 %t17, i32 %t19) + call void @exit(i32 1) + unreachable +ixok3: + %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then5, label %ifend7 +then5: + %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 %t2 + %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp ult i32 %t34, %t36 + br i1 %t37, label %ixok8, label %ixbad9 +ixbad9: + %t38 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str10529, i32 %t34, i32 %t36) + call void @exit(i32 1) + unreachable +ixok8: + %t39 = getelementptr inbounds ptr, ptr %t33, i32 %t34 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 + %t42 = load ptr, ptr %t41 + store ptr %t42, ptr %retval + br label %ret +ifend7: + %t43 = load i32, ptr %t2 + %t44 = add i32 %t43, 1 + store i32 %t44, ptr %t2 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t45 = load ptr, ptr %retval + ret ptr %t45 +} + +define void @fn_ck_walk(ptr %arg_e) { +entry: + %t0 = alloca ptr + %t14 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 + %t7 = load ptr, ptr %t6 + call void @fn_ck_any(ptr %t7) + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 5 + %t10 = load ptr, ptr %t9 + call void @fn_ck_any(ptr %t10) + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 6 + %t13 = load ptr, ptr %t12 + call void @fn_ck_any(ptr %t13) + store i32 0, ptr %t14 + br label %wcond3 +wcond3: + %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 %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = load i32, ptr %t14 + %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t31 = load i32, ptr %t30 + %t32 = icmp ult i32 %t29, %t31 + br i1 %t32, label %ixok6, label %ixbad7 +ixbad7: + %t33 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str10530, i32 %t29, i32 %t31) + call void @exit(i32 1) + unreachable +ixok6: + %t34 = getelementptr inbounds ptr, ptr %t28, i32 %t29 + %t35 = load ptr, ptr %t34 + call void @fn_ck_any(ptr %t35) + %t36 = load i32, ptr %t14 + %t37 = add i32 %t36, 1 + store i32 %t37, ptr %t14 + br label %wcond3 +wend5: + br label %ret +ret: + ret void +} + +define void @fn_ck_any(ptr %arg_n) { +entry: + %t0 = alloca ptr + %t22 = alloca i32 + %t23 = alloca i32 + store ptr %arg_n, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 7 + %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 + call void @fn_ck_block(ptr %t11) + br label %ret +ifend5: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 42 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then6, label %ifend8 +then6: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_ck_expr(ptr %t20) + br label %ret +ifend8: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp sge i32 %t26, 10 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t23 + br i1 %t29, label %sc9, label %scend10 +sc9: + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp sle i32 %t33, 26 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t23 + br label %scend10 +scend10: + %t38 = load i32, ptr %t23 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t22 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 + %t43 = load i32, ptr %t42 + %t44 = icmp eq i32 %t43, 49 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t22 + br label %scend12 +scend12: + %t48 = load i32, ptr %t22 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then13, label %ifend15 +then13: + %t50 = load ptr, ptr %t0 + call void @fn_ck_stmt(ptr %t50) + br label %ret +ifend15: + %t51 = load ptr, ptr %t0 + %t52 = call ptr @fn_ck_expr(ptr %t51) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_expr(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t8 = alloca i32 + %t53 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store ptr @.str10531, ptr %retval + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + store i32 %t7, ptr %t8 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 30 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + store ptr @.str10532, ptr %retval + br label %ret +ifend5: + %t13 = load i32, ptr %t8 + %t14 = icmp eq i32 %t13, 40 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then6, label %ifend8 +then6: + %t17 = load ptr, ptr %t0 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 9 + %t19 = load ptr, ptr %t18 + %t20 = call i32 @fn_is_float_file(ptr %t19) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then9, label %ifend11 +then9: + store ptr @.str10533, ptr %retval + br label %ret +ifend11: + store ptr @.str10534, ptr %retval + br label %ret +ifend8: + %t22 = load i32, ptr %t8 + %t23 = icmp eq i32 %t22, 31 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then12, label %ifend14 +then12: + store ptr @.str10535, ptr %retval + br label %ret +ifend14: + %t26 = load i32, ptr %t8 + %t27 = icmp eq i32 %t26, 44 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then15, label %ifend17 +then15: + %t30 = load ptr, ptr %t0 + call void @fn_ck_walk(ptr %t30) + store ptr @.str10536, ptr %retval + br label %ret +ifend17: + %t31 = load i32, ptr %t8 + %t32 = icmp eq i32 %t31, 32 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then18, label %ifend20 +then18: + store ptr @.str10537, ptr %retval + br label %ret +ifend20: + %t35 = load i32, ptr %t8 + %t36 = icmp eq i32 %t35, 43 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then21, label %ifend23 +then21: + store ptr @.str10538, ptr %retval + br label %ret +ifend23: + %t39 = load i32, ptr %t8 + %t40 = icmp eq i32 %t39, 33 + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then24, label %ifend26 +then24: + %t43 = load ptr, ptr %t0 + %t44 = call ptr @fn_ck_id(ptr %t43) + store ptr %t44, ptr %retval + br label %ret +ifend26: + %t45 = load i32, ptr %t8 + %t46 = icmp eq i32 %t45, 55 + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then27, label %ifend29 +then27: + %t49 = load ptr, ptr %t0 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @fn_ck_fn(ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = icmp ne ptr %t54, null + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then30, label %ifend32 +then30: + %t58 = load ptr, ptr %t53 + %t59 = call ptr @fn_fn_sig_of(ptr %t58) + store ptr %t59, ptr %retval + br label %ret +ifend32: + store ptr @.str10539, ptr %retval + br label %ret +ifend29: + %t60 = load i32, ptr %t8 + %t61 = icmp eq i32 %t60, 39 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then33, label %ifend35 +then33: + %t64 = load ptr, ptr %t0 + %t65 = call ptr @fn_ck_new(ptr %t64) + store ptr %t65, ptr %retval + br label %ret +ifend35: + %t66 = load i32, ptr %t8 + %t67 = icmp eq i32 %t66, 54 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then36, label %ifend38 +then36: + %t70 = load ptr, ptr %t0 + %t71 = call ptr @fn_ck_list(ptr %t70) + store ptr %t71, ptr %retval + br label %ret +ifend38: + %t72 = load i32, ptr %t8 + %t73 = icmp eq i32 %t72, 37 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then39, label %ifend41 +then39: + %t76 = load ptr, ptr %t0 + %t77 = call ptr @fn_ck_bin(ptr %t76) + store ptr %t77, ptr %retval + br label %ret +ifend41: + %t78 = load i32, ptr %t8 + %t79 = icmp eq i32 %t78, 38 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then42, label %ifend44 +then42: + %t82 = load ptr, ptr %t0 + %t83 = call ptr @fn_ck_un(ptr %t82) + store ptr %t83, ptr %retval + br label %ret +ifend44: + %t84 = load i32, ptr %t8 + %t85 = icmp eq i32 %t84, 35 + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then45, label %ifend47 +then45: + %t88 = load ptr, ptr %t0 + %t89 = call ptr @fn_ck_member(ptr %t88) + store ptr %t89, ptr %retval + br label %ret +ifend47: + %t90 = load i32, ptr %t8 + %t91 = icmp eq i32 %t90, 36 + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then48, label %ifend50 +then48: + %t94 = load ptr, ptr %t0 + %t95 = call ptr @fn_ck_index_of(ptr %t94) + store ptr %t95, ptr %retval + br label %ret +ifend50: + %t96 = load i32, ptr %t8 + %t97 = icmp eq i32 %t96, 34 + %t98 = zext i1 %t97 to i32 + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then51, label %ifend53 +then51: + %t100 = load ptr, ptr %t0 + %t101 = call ptr @fn_ck_call(ptr %t100) + store ptr %t101, ptr %retval + br label %ret +ifend53: + %t102 = load i32, ptr %t8 + %t103 = icmp eq i32 %t102, 49 + %t104 = zext i1 %t103 to i32 + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then54, label %ifend56 +then54: + %t106 = load ptr, ptr %t0 + call void @fn_ck_emit(ptr %t106) + store ptr @.str10540, ptr %retval + br label %ret +ifend56: + %t107 = load ptr, ptr %t0 + call void @fn_ck_walk(ptr %t107) + store ptr @.str10541, ptr %retval + br label %ret +ret: + %t108 = load ptr, ptr %retval + ret ptr %t108 +} + +define ptr @fn_ck_id(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca i32 + %t24 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call i32 @fn_ck_local(ptr %t3) + store i32 %t4, ptr %t5 + %t6 = load i32, ptr %t5 + %t7 = icmp sge i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %ifend2 +then0: + %t10 = load ptr, ptr @g_ck_tys + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t5 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp ult i32 %t13, %t15 + br i1 %t16, label %ixok3, label %ixbad4 +ixbad4: + %t17 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10542, i32 %t13, i32 %t15) + call void @exit(i32 1) + unreachable +ixok3: + %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %retval + br label %ret +ifend2: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 + %t22 = load ptr, ptr %t21 + %t23 = call ptr @fn_ck_global(ptr %t22) + store ptr %t23, ptr %t24 + %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 %then5, label %ifend7 +then5: + %t29 = load ptr, ptr %t24 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 + %t31 = load ptr, ptr %t30 + store ptr %t31, ptr %retval + br label %ret +ifend7: + store ptr @.str10543, ptr %retval + br label %ret +ret: + %t32 = load ptr, ptr %retval + ret ptr %t32 +} + +define ptr @fn_ck_new(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca i32 + %t38 = alloca ptr + %t43 = alloca ptr + %t44 = alloca i32 + %t64 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_ck_record(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 + %t8 = load ptr, ptr %t7 + %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: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t13, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t12 + %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 + %t33 = load i32, ptr %t32 + %t34 = icmp ult i32 %t31, %t33 + br i1 %t34, label %ixok6, label %ixbad7 +ixbad7: + %t35 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str10544, i32 %t31, i32 %t33) + call void @exit(i32 1) + unreachable +ixok6: + %t36 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @fn_ck_expr(ptr %t41) + store ptr %t42, ptr %t43 + %t45 = load ptr, ptr %t5 + %t46 = icmp ne ptr %t45, null + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t44 + br i1 %t48, label %sc8, label %scend9 +sc8: + %t50 = load ptr, ptr %t38 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 0 + %t52 = load i32, ptr %t51 + %t53 = icmp eq i32 %t52, 42 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t44 + br label %scend9 +scend9: + %t57 = load i32, ptr %t44 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then10, label %ifend12 +then10: + %t59 = load ptr, ptr %t5 + %t60 = load ptr, ptr %t38 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = call ptr @fn_ck_field(ptr %t59, ptr %t62) + store ptr %t63, ptr %t64 + %t65 = load ptr, ptr %t64 + %t66 = icmp ne ptr %t65, null + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then13, label %ifend15 +then13: + %t69 = load ptr, ptr %t64 + %t70 = load ptr, ptr %t43 + %t71 = load ptr, ptr %t38 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 + %t73 = load ptr, ptr %t72 + %t74 = load ptr, ptr %t38 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 + %t76 = load ptr, ptr %t75 + %t77 = call ptr @lp_str_concat(ptr @.str10545, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10546) + %t79 = load ptr, ptr %t0 + %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 1 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) + call void @fn_ck_give(ptr %t69, ptr %t70, ptr %t73, ptr %t82) + br label %ifend15 +ifend15: + br label %ifend12 +ifend12: + %t83 = load i32, ptr %t12 + %t84 = add i32 %t83, 1 + store i32 %t84, ptr %t12 + br label %wcond3 +wend5: + br label %ifend2 +ifend2: + %t85 = load ptr, ptr %t0 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 + %t87 = load ptr, ptr %t86 + store ptr %t87, ptr %retval + br label %ret +ret: + %t88 = load ptr, ptr %retval + ret ptr %t88 +} + +define ptr @fn_ck_list(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t25 = alloca ptr + %t48 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr @.str10547, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp ult i32 %t17, %t19 + br i1 %t20, label %ixok3, label %ixbad4 +ixbad4: + %t21 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10548, i32 %t17, i32 %t19) + call void @exit(i32 1) + unreachable +ixok3: + %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @fn_ck_expr(ptr %t23) + store ptr %t24, ptr %t25 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @fn_ck_unknown(ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then5, label %else6 +then5: + %t29 = load ptr, ptr %t25 + store ptr %t29, ptr %t1 + br label %ifend7 +else6: + %t30 = load ptr, ptr %t1 + %t31 = load ptr, ptr %t25 + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t2 + %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t39 = load i32, ptr %t38 + %t40 = icmp ult i32 %t37, %t39 + br i1 %t40, label %ixok8, label %ixbad9 +ixbad9: + %t41 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str10549, i32 %t37, i32 %t39) + call void @exit(i32 1) + unreachable +ixok8: + %t42 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t43 = load ptr, ptr %t42 + %t44 = load ptr, ptr %t1 + %t45 = call ptr @lp_str_concat(ptr @.str10550, ptr %t44) + call void @fn_ck_give(ptr %t30, ptr %t31, ptr %t43, ptr %t45) + br label %ifend7 +ifend7: + %t46 = load i32, ptr %t2 + %t47 = add i32 %t46, 1 + store i32 %t47, ptr %t2 + br label %wcond0 +wend2: + %t49 = load ptr, ptr %t1 + %t50 = call i32 @fn_ck_unknown(ptr %t49) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t48 + br i1 %t51, label %scend11, label %sc10 +sc10: + %t53 = load ptr, ptr %t1 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str10551) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend11 +scend11: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then12, label %ifend14 +then12: + store ptr @.str10552, ptr %retval + br label %ret +ifend14: + %t59 = load ptr, ptr %t1 + %t60 = call ptr @lp_str_concat(ptr @.str10553, ptr %t59) + store ptr %t60, ptr %retval + br label %ret +ret: + %t61 = load ptr, ptr %retval + ret ptr %t61 +} + +define ptr @fn_ck_un(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t25 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_ck_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10554) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t6 + br i1 %t11, label %scend1, label %sc0 +sc0: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str10555) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t6 + br label %scend1 +scend1: + %t19 = load i32, ptr %t6 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then2, label %ifend4 +then2: + %t21 = load ptr, ptr %t0 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 + %t23 = load ptr, ptr %t22 + %t24 = load ptr, ptr %t5 + call void @fn_ck_cond(ptr %t23, ptr %t24) + store ptr @.str10556, ptr %retval + br label %ret +ifend4: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 + %t28 = load ptr, ptr %t27 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str10557) + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t25 + br i1 %t30, label %sc5, label %scend6 +sc5: + %t32 = load ptr, ptr %t5 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10558) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t25 + br label %scend6 +scend6: + %t36 = load i32, ptr %t25 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then7, label %ifend9 +then7: + %t38 = load ptr, ptr %t0 + call void @fn_ck_err(ptr @.str10559, ptr %t38, ptr @.str10560) + br label %ifend9 +ifend9: + %t39 = load ptr, ptr %t5 + store ptr %t39, ptr %retval + br label %ret +ret: + %t40 = load ptr, ptr %retval + ret ptr %t40 +} + +define ptr @fn_ck_member(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t5 = alloca i32 + %t6 = alloca i32 + %t39 = alloca ptr + %t40 = alloca i32 + %t59 = alloca ptr + %t65 = alloca ptr + %t75 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t7 = load ptr, ptr %t4 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 33 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t6 + br i1 %t12, label %sc0, label %scend1 +sc0: + %t14 = load ptr, ptr %t4 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = call i32 @fn_ck_local(ptr %t16) + %t18 = icmp slt i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t6 + br label %scend1 +scend1: + %t22 = load i32, ptr %t6 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t5 + br i1 %t23, label %sc2, label %scend3 +sc2: + %t25 = load ptr, ptr %t4 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + %t27 = load ptr, ptr %t26 + %t28 = call ptr @fn_ck_global(ptr %t27) + %t29 = icmp eq ptr %t28, null + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t5 + br label %scend3 +scend3: + %t33 = load i32, ptr %t5 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then4, label %ifend6 +then4: + %t35 = load ptr, ptr %t4 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @fn_ck_enum(ptr %t37) + store ptr %t38, ptr %t39 + %t41 = load ptr, ptr %t39 + %t42 = icmp ne ptr %t41, null + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t40 + br i1 %t44, label %sc7, label %scend8 +sc7: + %t46 = load ptr, ptr %t39 + %t47 = call i32 @fn_enum_is_tagged(ptr %t46) + %t48 = icmp eq i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t40 + br label %scend8 +scend8: + %t52 = load i32, ptr %t40 + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then9, label %ifend11 +then9: + %t54 = load ptr, ptr %t4 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 + %t56 = load ptr, ptr %t55 + store ptr %t56, ptr %retval + br label %ret +ifend11: + store ptr @.str10561, ptr %retval + br label %ret +ifend6: + %t57 = load ptr, ptr %t4 + %t58 = call ptr @fn_ck_expr(ptr %t57) + store ptr %t58, ptr %t59 + %t60 = load ptr, ptr %t59 + %t61 = call i32 @fn_ck_unknown(ptr %t60) + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then12, label %ifend14 +then12: + store ptr @.str10562, ptr %retval + br label %ret +ifend14: + %t63 = load ptr, ptr %t59 + %t64 = call ptr @fn_ck_record(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t65 + %t67 = icmp ne ptr %t66, null + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then15, label %ifend17 +then15: + %t70 = load ptr, ptr %t65 + %t71 = load ptr, ptr %t0 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_ck_field(ptr %t70, 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 %then18, label %ifend20 +then18: + %t80 = load ptr, ptr %t75 + store ptr %t80, ptr %retval + br label %ret +ifend20: + br label %ifend17 +ifend17: + store ptr @.str10563, ptr %retval + br label %ret +ret: + %t81 = load ptr, ptr %retval + ret ptr %t81 +} + +define ptr @fn_ck_index_of(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + %t40 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_ck_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_ck_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t12 = load ptr, ptr %t10 + %t13 = call i32 @fn_ck_unknown(ptr %t12) + %t14 = icmp eq i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t11 + br i1 %t16, label %sc0, label %scend1 +sc0: + %t18 = load ptr, ptr %t10 + %t19 = call i32 @fn_ck_is_int(ptr %t18) + %t20 = icmp eq i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t11 + br label %scend1 +scend1: + %t24 = load i32, ptr %t11 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then2, label %ifend4 +then2: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 5 + %t28 = load ptr, ptr %t27 + %t29 = load ptr, ptr %t10 + %t30 = call ptr @fn_ck_a(ptr %t29) + %t31 = call ptr @lp_str_concat(ptr @.str10565, ptr %t30) + call void @fn_ck_err(ptr @.str10564, ptr %t28, ptr %t31) + br label %ifend4 +ifend4: + %t32 = load ptr, ptr %t5 + %t33 = call i32 @fn_ck_unknown(ptr %t32) + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + store ptr @.str10566, ptr %retval + br label %ret +ifend7: + %t35 = load ptr, ptr %t5 + %t36 = call i32 @fn_is_slice_ty(ptr %t35) + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then8, label %ifend10 +then8: + %t38 = load ptr, ptr %t5 + %t39 = call ptr @fn_slice_elem(ptr %t38) + store ptr %t39, ptr %retval + br label %ret +ifend10: + %t41 = load ptr, ptr %t5 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10567) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t40 + br i1 %t43, label %scend12, label %sc11 +sc11: + %t45 = load ptr, ptr %t5 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10568) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t40 + br label %scend12 +scend12: + %t49 = load i32, ptr %t40 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then13, label %ifend15 +then13: + store ptr @.str10569, ptr %retval + br label %ret +ifend15: + %t51 = load ptr, ptr %t5 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10570) + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then16, label %ifend18 +then16: + store ptr @.str10571, ptr %retval + br label %ret +ifend18: + %t54 = load ptr, ptr %t5 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str10572) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then19, label %ifend21 +then19: + store ptr @.str10573, ptr %retval + br label %ret +ifend21: + %t57 = load ptr, ptr %t5 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str10574) + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then22, label %ifend24 +then22: + store ptr @.str10575, ptr %retval + br label %ret +ifend24: + %t60 = load ptr, ptr %t5 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str10576) + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then25, label %ifend27 +then25: + store ptr @.str10577, ptr %retval + br label %ret +ifend27: + store ptr @.str10578, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define void @fn_ck_cond(ptr %arg_e, ptr %arg_t) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_t, ptr %t1 + %t3 = load ptr, ptr %t1 + %t4 = call i32 @fn_ck_unknown(ptr %t3) + %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 %t1 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10579) + %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: + br label %ret +ifend4: + %t13 = load ptr, ptr %t0 + %t14 = load ptr, ptr %t1 + %t15 = call ptr @fn_ck_a(ptr %t14) + %t16 = call ptr @lp_str_concat(ptr @.str10581, ptr %t15) + call void @fn_ck_err(ptr @.str10580, ptr %t13, ptr %t16) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_bin(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t9 = alloca ptr + %t14 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_ck_expr(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @fn_ck_expr(ptr %t12) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t0 + %t16 = load ptr, ptr %t4 + %t17 = load ptr, ptr %t9 + %t18 = load ptr, ptr %t14 + %t19 = load ptr, ptr %t0 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 + %t21 = load ptr, ptr %t20 + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 5 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @fn_ck_binop(ptr %t15, ptr %t16, ptr %t17, ptr %t18, ptr %t21, ptr %t24) + store ptr %t25, ptr %retval + br label %ret +ret: + %t26 = load ptr, ptr %retval + ret ptr %t26 +} + +define ptr @fn_ck_binop(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t7 = alloca i32 + %t8 = alloca i32 + %t37 = alloca i32 + %t38 = alloca i32 + %t39 = alloca i32 + %t40 = alloca i32 + %t41 = alloca i32 + %t86 = alloca i32 + %t87 = alloca i32 + %t88 = alloca i32 + %t89 = alloca i32 + %t128 = alloca i32 + %t129 = alloca i32 + %t130 = alloca i32 + %t131 = alloca i32 + %t163 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t9 = load ptr, ptr %t1 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10582) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t8 + br i1 %t11, label %scend1, label %sc0 +sc0: + %t13 = load ptr, ptr %t1 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10583) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t8 + br label %scend1 +scend1: + %t17 = load i32, ptr %t8 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t7 + br i1 %t18, label %scend3, label %sc2 +sc2: + %t20 = load ptr, ptr %t1 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10584) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t7 + br label %scend3 +scend3: + %t24 = load i32, ptr %t7 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t6 + br i1 %t25, label %scend5, label %sc4 +sc4: + %t27 = load ptr, ptr %t1 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str10585) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t6 + br label %scend5 +scend5: + %t31 = load i32, ptr %t6 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + %t33 = load ptr, ptr %t4 + %t34 = load ptr, ptr %t2 + call void @fn_ck_cond(ptr %t33, ptr %t34) + %t35 = load ptr, ptr %t5 + %t36 = load ptr, ptr %t3 + call void @fn_ck_cond(ptr %t35, ptr %t36) + store ptr @.str10586, ptr %retval + br label %ret +ifend8: + %t42 = load ptr, ptr %t1 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str10587) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t41 + br i1 %t44, label %scend10, label %sc9 +sc9: + %t46 = load ptr, ptr %t1 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str10588) + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t41 + br label %scend10 +scend10: + %t50 = load i32, ptr %t41 + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t40 + br i1 %t51, label %scend12, label %sc11 +sc11: + %t53 = load ptr, ptr %t1 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str10589) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t40 + br label %scend12 +scend12: + %t57 = load i32, ptr %t40 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t39 + br i1 %t58, label %scend14, label %sc13 +sc13: + %t60 = load ptr, ptr %t1 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str10590) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t39 + br label %scend14 +scend14: + %t64 = load i32, ptr %t39 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t38 + br i1 %t65, label %scend16, label %sc15 +sc15: + %t67 = load ptr, ptr %t1 + %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str10591) + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t38 + br label %scend16 +scend16: + %t71 = load i32, ptr %t38 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t37 + br i1 %t72, label %scend18, label %sc17 +sc17: + %t74 = load ptr, ptr %t1 + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str10592) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t37 + br label %scend18 +scend18: + %t78 = load i32, ptr %t37 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then19, label %ifend21 +then19: + %t80 = load ptr, ptr %t0 + %t81 = load ptr, ptr %t1 + %t82 = load ptr, ptr %t2 + %t83 = load ptr, ptr %t3 + %t84 = load ptr, ptr %t4 + %t85 = load ptr, ptr %t5 + call void @fn_ck_compare(ptr %t80, ptr %t81, ptr %t82, ptr %t83, ptr %t84, ptr %t85) + store ptr @.str10593, ptr %retval + br label %ret +ifend21: + %t90 = load ptr, ptr %t1 + %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str10594) + %t92 = icmp ne i32 %t91, 0 + %t93 = zext i1 %t92 to i32 + store i32 %t93, ptr %t89 + br i1 %t92, label %scend23, label %sc22 +sc22: + %t94 = load ptr, ptr %t1 + %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str10595) + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t89 + br label %scend23 +scend23: + %t98 = load i32, ptr %t89 + %t99 = icmp ne i32 %t98, 0 + %t100 = zext i1 %t99 to i32 + store i32 %t100, ptr %t88 + br i1 %t99, label %scend25, label %sc24 +sc24: + %t101 = load ptr, ptr %t1 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str10596) + %t103 = icmp ne i32 %t102, 0 + %t104 = zext i1 %t103 to i32 + store i32 %t104, ptr %t88 + br label %scend25 +scend25: + %t105 = load i32, ptr %t88 + %t106 = icmp ne i32 %t105, 0 + %t107 = zext i1 %t106 to i32 + store i32 %t107, ptr %t87 + br i1 %t106, label %scend27, label %sc26 +sc26: + %t108 = load ptr, ptr %t1 + %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str10597) + %t110 = icmp ne i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + store i32 %t111, ptr %t87 + br label %scend27 +scend27: + %t112 = load i32, ptr %t87 + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t86 + br i1 %t113, label %scend29, label %sc28 +sc28: + %t115 = load ptr, ptr %t1 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str10598) + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t86 + br label %scend29 +scend29: + %t119 = load i32, ptr %t86 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then30, label %ifend32 +then30: + %t121 = load ptr, ptr %t0 + %t122 = load ptr, ptr %t1 + %t123 = load ptr, ptr %t2 + %t124 = load ptr, ptr %t3 + %t125 = load ptr, ptr %t4 + %t126 = load ptr, ptr %t5 + %t127 = call ptr @fn_ck_arith(ptr %t121, ptr %t122, ptr %t123, ptr %t124, ptr %t125, ptr %t126) + store ptr %t127, ptr %retval + br label %ret +ifend32: + %t132 = load ptr, ptr %t1 + %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str10599) + %t134 = icmp ne i32 %t133, 0 + %t135 = zext i1 %t134 to i32 + store i32 %t135, ptr %t131 + br i1 %t134, label %scend34, label %sc33 +sc33: + %t136 = load ptr, ptr %t1 + %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str10600) + %t138 = icmp ne i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + store i32 %t139, ptr %t131 + br label %scend34 +scend34: + %t140 = load i32, ptr %t131 + %t141 = icmp ne i32 %t140, 0 + %t142 = zext i1 %t141 to i32 + store i32 %t142, ptr %t130 + br i1 %t141, label %scend36, label %sc35 +sc35: + %t143 = load ptr, ptr %t1 + %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str10601) + %t145 = icmp ne i32 %t144, 0 + %t146 = zext i1 %t145 to i32 + store i32 %t146, ptr %t130 + br label %scend36 +scend36: + %t147 = load i32, ptr %t130 + %t148 = icmp ne i32 %t147, 0 + %t149 = zext i1 %t148 to i32 + store i32 %t149, ptr %t129 + br i1 %t148, label %scend38, label %sc37 +sc37: + %t150 = load ptr, ptr %t1 + %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str10602) + %t152 = icmp ne i32 %t151, 0 + %t153 = zext i1 %t152 to i32 + store i32 %t153, ptr %t129 + br label %scend38 +scend38: + %t154 = load i32, ptr %t129 + %t155 = icmp ne i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + store i32 %t156, ptr %t128 + br i1 %t155, label %scend40, label %sc39 +sc39: + %t157 = load ptr, ptr %t1 + %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str10603) + %t159 = icmp ne i32 %t158, 0 + %t160 = zext i1 %t159 to i32 + store i32 %t160, ptr %t128 + br label %scend40 +scend40: + %t161 = load i32, ptr %t128 + %t162 = icmp ne i32 %t161, 0 + br i1 %t162, label %then41, label %ifend43 +then41: + %t164 = load ptr, ptr %t2 + %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str10604) + %t166 = icmp ne i32 %t165, 0 + %t167 = zext i1 %t166 to i32 + store i32 %t167, ptr %t163 + br i1 %t166, label %scend45, label %sc44 +sc44: + %t168 = load ptr, ptr %t3 + %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str10605) + %t170 = icmp ne i32 %t169, 0 + %t171 = zext i1 %t170 to i32 + store i32 %t171, ptr %t163 + br label %scend45 +scend45: + %t172 = load i32, ptr %t163 + %t173 = icmp ne i32 %t172, 0 + br i1 %t173, label %then46, label %ifend48 +then46: + store ptr @.str10606, ptr %retval + br label %ret +ifend48: + store ptr @.str10607, ptr %retval + br label %ret +ifend43: + store ptr @.str10608, ptr %retval + br label %ret +ret: + %t174 = load ptr, ptr %retval + ret ptr %t174 +} + +define void @fn_ck_compare(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t7 = alloca i32 + %t8 = alloca i32 + %t35 = alloca ptr + %t38 = alloca ptr + %t39 = alloca i32 + %t40 = alloca i32 + %t52 = alloca i32 + %t82 = alloca i32 + %t83 = alloca i32 + %t115 = alloca i32 + %t126 = alloca i32 + %t143 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t9 = load ptr, ptr %t2 + %t10 = call i32 @fn_ck_unknown(ptr %t9) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t8 + br i1 %t11, label %scend1, label %sc0 +sc0: + %t13 = load ptr, ptr %t3 + %t14 = call i32 @fn_ck_unknown(ptr %t13) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t8 + br label %scend1 +scend1: + %t17 = load i32, ptr %t8 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t7 + br i1 %t18, label %scend3, label %sc2 +sc2: + %t20 = load ptr, ptr %t2 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10609) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t7 + br label %scend3 +scend3: + %t24 = load i32, ptr %t7 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t6 + br i1 %t25, label %scend5, label %sc4 +sc4: + %t27 = load ptr, ptr %t3 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str10610) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t6 + br label %scend5 +scend5: + %t31 = load i32, ptr %t6 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + br label %ret +ifend8: + %t33 = load ptr, ptr %t2 + %t34 = call ptr @fn_ck_class(ptr %t33) + store ptr %t34, ptr %t35 + %t36 = load ptr, ptr %t3 + %t37 = call ptr @fn_ck_class(ptr %t36) + store ptr %t37, ptr %t38 + %t41 = load ptr, ptr %t2 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10611) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t40 + br i1 %t43, label %sc9, label %scend10 +sc9: + %t45 = load ptr, ptr %t38 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10612) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t40 + br label %scend10 +scend10: + %t49 = load i32, ptr %t40 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t39 + br i1 %t50, label %scend12, label %sc11 +sc11: + %t53 = load ptr, ptr %t3 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str10613) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t52 + br i1 %t55, label %sc13, label %scend14 +sc13: + %t57 = load ptr, ptr %t35 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str10614) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t52 + br label %scend14 +scend14: + %t61 = load i32, ptr %t52 + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t39 + br label %scend12 +scend12: + %t64 = load i32, ptr %t39 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then15, label %ifend17 +then15: + br label %ret +ifend17: + %t66 = load ptr, ptr %t35 + %t67 = load ptr, ptr %t38 + %t68 = call i32 @lp_str_eq(ptr %t66, ptr %t67) + %t69 = icmp eq i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then18, label %ifend20 +then18: + %t72 = load ptr, ptr %t0 + %t73 = load ptr, ptr %t1 + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str10616) + %t75 = load ptr, ptr %t2 + %t76 = call ptr @fn_ck_a(ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t74, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10617) + %t79 = load ptr, ptr %t3 + %t80 = call ptr @fn_ck_a(ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t78, ptr %t80) + call void @fn_ck_err(ptr @.str10615, ptr %t72, ptr %t81) + br label %ret +ifend20: + %t84 = load ptr, ptr %t2 + %t85 = call i32 @fn_ck_is_rec(ptr %t84) + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t83 + br i1 %t86, label %sc21, label %scend22 +sc21: + %t88 = load ptr, ptr %t3 + %t89 = call i32 @fn_ck_is_rec(ptr %t88) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t83 + br label %scend22 +scend22: + %t92 = load i32, ptr %t83 + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t82 + br i1 %t93, label %sc23, label %scend24 +sc23: + %t95 = load ptr, ptr %t2 + %t96 = load ptr, ptr %t3 + %t97 = call i32 @lp_str_eq(ptr %t95, ptr %t96) + %t98 = icmp eq i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + %t101 = zext i1 %t100 to i32 + store i32 %t101, ptr %t82 + br label %scend24 +scend24: + %t102 = load i32, ptr %t82 + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then25, label %ifend27 +then25: + %t104 = load ptr, ptr %t0 + %t105 = load ptr, ptr %t1 + %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str10619) + %t107 = load ptr, ptr %t2 + %t108 = call ptr @fn_ck_a(ptr %t107) + %t109 = call ptr @lp_str_concat(ptr %t106, ptr %t108) + %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str10620) + %t111 = load ptr, ptr %t3 + %t112 = call ptr @fn_ck_a(ptr %t111) + %t113 = call ptr @lp_str_concat(ptr %t110, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10621) + call void @fn_ck_err(ptr @.str10618, ptr %t104, ptr %t114) + br label %ifend27 +ifend27: + %t116 = load ptr, ptr %t4 + %t117 = call i32 @fn_ck_is_lit(ptr %t116) + %t118 = icmp ne i32 %t117, 0 + %t119 = zext i1 %t118 to i32 + store i32 %t119, ptr %t115 + br i1 %t118, label %scend29, label %sc28 +sc28: + %t120 = load ptr, ptr %t5 + %t121 = call i32 @fn_ck_is_lit(ptr %t120) + %t122 = icmp ne i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + store i32 %t123, ptr %t115 + br label %scend29 +scend29: + %t124 = load i32, ptr %t115 + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then30, label %ifend32 +then30: + br label %ret +ifend32: + %t127 = load ptr, ptr %t2 + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str10622) + %t129 = icmp ne i32 %t128, 0 + %t130 = zext i1 %t129 to i32 + store i32 %t130, ptr %t126 + br i1 %t129, label %sc33, label %scend34 +sc33: + %t131 = load ptr, ptr %t3 + %t132 = call i32 @fn_ck_is_float(ptr %t131) + %t133 = icmp ne i32 %t132, 0 + %t134 = zext i1 %t133 to i32 + store i32 %t134, ptr %t126 + br label %scend34 +scend34: + %t135 = load i32, ptr %t126 + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then35, label %ifend37 +then35: + %t137 = load ptr, ptr %t0 + %t138 = load ptr, ptr %t1 + %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10624) + %t140 = load ptr, ptr %t3 + %t141 = call ptr @fn_ck_a(ptr %t140) + %t142 = call ptr @lp_str_concat(ptr %t139, ptr %t141) + call void @fn_ck_err(ptr @.str10623, ptr %t137, ptr %t142) + br label %ifend37 +ifend37: + %t144 = load ptr, ptr %t3 + %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str10625) + %t146 = icmp ne i32 %t145, 0 + %t147 = zext i1 %t146 to i32 + store i32 %t147, ptr %t143 + br i1 %t146, label %sc38, label %scend39 +sc38: + %t148 = load ptr, ptr %t2 + %t149 = call i32 @fn_ck_is_float(ptr %t148) + %t150 = icmp ne i32 %t149, 0 + %t151 = zext i1 %t150 to i32 + store i32 %t151, ptr %t143 + br label %scend39 +scend39: + %t152 = load i32, ptr %t143 + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then40, label %ifend42 +then40: + %t154 = load ptr, ptr %t0 + %t155 = load ptr, ptr %t1 + %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str10627) + %t157 = load ptr, ptr %t2 + %t158 = call ptr @fn_ck_a(ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t156, ptr %t158) + %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str10628) + call void @fn_ck_err(ptr @.str10626, ptr %t154, ptr %t160) + br label %ifend42 +ifend42: + br label %ret +ret: + ret void +} + +define i32 @fn_ck_is_text(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10629) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str10630) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define ptr @fn_ck_arith(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t17 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t58 = alloca i32 + %t69 = alloca i32 + %t83 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t7 = load ptr, ptr %t2 + %t8 = call i32 @fn_ck_is_text(ptr %t7) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t6 + br i1 %t9, label %scend1, label %sc0 +sc0: + %t11 = load ptr, ptr %t3 + %t12 = call i32 @fn_ck_is_text(ptr %t11) + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t6 + br label %scend1 +scend1: + %t15 = load i32, ptr %t6 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then2, label %ifend4 +then2: + %t18 = load ptr, ptr %t2 + %t19 = call i32 @fn_ck_unknown(ptr %t18) + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t17 + br i1 %t20, label %scend6, label %sc5 +sc5: + %t22 = load ptr, ptr %t3 + %t23 = call i32 @fn_ck_unknown(ptr %t22) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t17 + br label %scend6 +scend6: + %t26 = load i32, ptr %t17 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then7, label %ifend9 +then7: + store ptr @.str10631, ptr %retval + br label %ret +ifend9: + %t30 = load ptr, ptr %t2 + %t31 = call i32 @fn_ck_is_text(ptr %t30) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %sc10, label %scend11 +sc10: + %t34 = load ptr, ptr %t3 + %t35 = call i32 @fn_ck_is_text(ptr %t34) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend11 +scend11: + %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 %sc12, label %scend13 +sc12: + %t41 = load ptr, ptr %t1 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10632) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend13 +scend13: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then14, label %ifend16 +then14: + store ptr @.str10633, ptr %retval + br label %ret +ifend16: + %t47 = load ptr, ptr %t0 + %t48 = load ptr, ptr %t1 + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str10635) + %t50 = load ptr, ptr %t2 + %t51 = call ptr @fn_ck_a(ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t49, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10636) + %t54 = load ptr, ptr %t3 + %t55 = call ptr @fn_ck_a(ptr %t54) + %t56 = call ptr @lp_str_concat(ptr %t53, ptr %t55) + %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str10637) + call void @fn_ck_err(ptr @.str10634, ptr %t47, ptr %t57) + store ptr @.str10638, ptr %retval + br label %ret +ifend4: + %t59 = load ptr, ptr %t2 + %t60 = call i32 @fn_ck_unknown(ptr %t59) + %t61 = icmp ne i32 %t60, 0 + %t62 = zext i1 %t61 to i32 + store i32 %t62, ptr %t58 + br i1 %t61, label %scend18, label %sc17 +sc17: + %t63 = load ptr, ptr %t3 + %t64 = call i32 @fn_ck_unknown(ptr %t63) + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t58 + br label %scend18 +scend18: + %t67 = load i32, ptr %t58 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then19, label %ifend21 +then19: + store ptr @.str10639, ptr %retval + br label %ret +ifend21: + %t70 = load ptr, ptr %t2 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str10640) + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t69 + br i1 %t72, label %scend23, label %sc22 +sc22: + %t74 = load ptr, ptr %t3 + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str10641) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t69 + br label %scend23 +scend23: + %t78 = load i32, ptr %t69 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then24, label %ifend26 +then24: + %t80 = load ptr, ptr %t0 + %t81 = load ptr, ptr %t1 + %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str10643) + call void @fn_ck_err(ptr @.str10642, ptr %t80, ptr %t82) + store ptr @.str10644, ptr %retval + br label %ret +ifend26: + %t84 = load ptr, ptr %t2 + %t85 = call i32 @fn_ck_is_num(ptr %t84) + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t83 + br i1 %t86, label %sc27, label %scend28 +sc27: + %t88 = load ptr, ptr %t3 + %t89 = call i32 @fn_ck_is_num(ptr %t88) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t83 + br label %scend28 +scend28: + %t92 = load i32, ptr %t83 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then29, label %ifend31 +then29: + %t94 = load ptr, ptr %t0 + %t95 = load ptr, ptr %t1 + %t96 = load ptr, ptr %t2 + %t97 = load ptr, ptr %t3 + %t98 = load ptr, ptr %t4 + %t99 = load ptr, ptr %t5 + %t100 = call ptr @fn_ck_num_result(ptr %t94, ptr %t95, ptr %t96, ptr %t97, ptr %t98, ptr %t99) + store ptr %t100, ptr %retval + br label %ret +ifend31: + %t101 = load ptr, ptr %t0 + %t102 = load ptr, ptr %t1 + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10646) + %t104 = load ptr, ptr %t2 + %t105 = call ptr @fn_ck_a(ptr %t104) + %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str10647) + %t108 = load ptr, ptr %t3 + %t109 = call ptr @fn_ck_a(ptr %t108) + %t110 = call ptr @lp_str_concat(ptr %t107, ptr %t109) + call void @fn_ck_err(ptr @.str10645, ptr %t101, ptr %t110) + store ptr @.str10648, ptr %retval + br label %ret +ret: + %t111 = load ptr, ptr %retval + ret ptr %t111 +} + +define ptr @fn_ck_num_result(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t31 = alloca i32 + %t56 = alloca i32 + %t75 = alloca i32 + %t86 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t7 = load ptr, ptr %t2 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10649) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t6 + br i1 %t9, label %sc0, label %scend1 +sc0: + %t11 = load ptr, ptr %t3 + %t12 = call i32 @fn_ck_is_float(ptr %t11) + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t6 + br label %scend1 +scend1: + %t15 = load i32, ptr %t6 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then2, label %ifend4 +then2: + %t17 = load ptr, ptr %t5 + %t18 = call i32 @fn_ck_is_lit(ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then5, label %ifend7 +then5: + store ptr @.str10650, ptr %retval + br label %ret +ifend7: + %t20 = load ptr, ptr %t4 + %t21 = call i32 @fn_ck_is_lit(ptr %t20) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then8, label %ifend10 +then8: + %t23 = load ptr, ptr %t3 + store ptr %t23, ptr %retval + br label %ret +ifend10: + %t24 = load ptr, ptr %t0 + %t25 = load ptr, ptr %t1 + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10652) + %t27 = load ptr, ptr %t3 + %t28 = call ptr @fn_ck_a(ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t26, ptr %t28) + %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10653) + call void @fn_ck_err(ptr @.str10651, ptr %t24, ptr %t30) + store ptr @.str10654, ptr %retval + br label %ret +ifend4: + %t32 = load ptr, ptr %t3 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10655) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t31 + br i1 %t34, label %sc11, label %scend12 +sc11: + %t36 = load ptr, ptr %t2 + %t37 = call i32 @fn_ck_is_float(ptr %t36) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t31 + br label %scend12 +scend12: + %t40 = load i32, ptr %t31 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then13, label %ifend15 +then13: + %t42 = load ptr, ptr %t4 + %t43 = call i32 @fn_ck_is_lit(ptr %t42) + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then16, label %ifend18 +then16: + store ptr @.str10656, ptr %retval + br label %ret +ifend18: + %t45 = load ptr, ptr %t5 + %t46 = call i32 @fn_ck_is_lit(ptr %t45) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then19, label %ifend21 +then19: + %t48 = load ptr, ptr %t2 + store ptr %t48, ptr %retval + br label %ret +ifend21: + %t49 = load ptr, ptr %t0 + %t50 = load ptr, ptr %t1 + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10658) + %t52 = load ptr, ptr %t2 + %t53 = call ptr @fn_ck_a(ptr %t52) + %t54 = call ptr @lp_str_concat(ptr %t51, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str10659) + call void @fn_ck_err(ptr @.str10657, ptr %t49, ptr %t55) + store ptr @.str10660, ptr %retval + br label %ret +ifend15: + %t57 = load ptr, ptr %t2 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str10661) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t56 + br i1 %t59, label %scend23, label %sc22 +sc22: + %t61 = load ptr, ptr %t3 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str10662) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t56 + br label %scend23 +scend23: + %t65 = load i32, ptr %t56 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then24, label %ifend26 +then24: + store ptr @.str10663, ptr %retval + br label %ret +ifend26: + %t67 = load ptr, ptr %t2 + %t68 = call i32 @fn_ck_is_float(ptr %t67) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then27, label %ifend29 +then27: + %t70 = load ptr, ptr %t2 + store ptr %t70, ptr %retval + br label %ret +ifend29: + %t71 = load ptr, ptr %t3 + %t72 = call i32 @fn_ck_is_float(ptr %t71) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then30, label %ifend32 +then30: + %t74 = load ptr, ptr %t3 + store ptr %t74, ptr %retval + br label %ret +ifend32: + %t76 = load ptr, ptr %t2 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str10664) + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t75 + br i1 %t78, label %scend34, label %sc33 +sc33: + %t80 = load ptr, ptr %t3 + %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str10665) + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t75 + br label %scend34 +scend34: + %t84 = load i32, ptr %t75 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then35, label %ifend37 +then35: + store ptr @.str10666, ptr %retval + br label %ret +ifend37: + %t87 = load ptr, ptr %t2 + %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str10667) + %t89 = icmp ne i32 %t88, 0 + %t90 = zext i1 %t89 to i32 + store i32 %t90, ptr %t86 + br i1 %t89, label %scend39, label %sc38 +sc38: + %t91 = load ptr, ptr %t3 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str10668) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t86 + br label %scend39 +scend39: + %t95 = load i32, ptr %t86 + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then40, label %ifend42 +then40: + store ptr @.str10669, ptr %retval + br label %ret +ifend42: + store ptr @.str10670, ptr %retval + br label %ret +ret: + %t97 = load ptr, ptr %retval + ret ptr %t97 +} + +define void @fn_ck_params(ptr %arg_f, ptr %arg_labels, ptr %arg_tys) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + store ptr %arg_f, ptr %t0 + store ptr %arg_labels, ptr %t1 + store ptr %arg_tys, 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 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t4, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %wbody1, label %wend2 +wbody1: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr %t3 + %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp ult i32 %t18, %t20 + br i1 %t21, label %ixok3, label %ixbad4 +ixbad4: + %t22 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str10671, i32 %t18, i32 %t20) + call void @exit(i32 1) + unreachable +ixok3: + %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 5 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then5, label %ifend7 +then5: + %t30 = load ptr, ptr %t1 + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t3 + %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t38 = load i32, ptr %t37 + %t39 = icmp ult i32 %t36, %t38 + br i1 %t39, label %ixok8, label %ixbad9 +ixbad9: + %t40 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10672, i32 %t36, i32 %t38) + call void @exit(i32 1) + unreachable +ixok8: + %t41 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t46 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 + %t47 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 + %t48 = load i32, ptr %t45 + %t49 = load i32, ptr %t46 + %t50 = icmp sge i32 %t48, %t49 + br i1 %t50, label %grow10, label %put11 +grow10: + %t51 = mul i32 %t49, 2 + %t52 = icmp eq i32 %t49, 0 + %t53 = select i1 %t52, i32 8, i32 %t51 + %t54 = getelementptr ptr, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = zext i32 %t53 to i64 + %t57 = mul i64 %t56, %t55 + %t58 = load ptr, ptr %t47 + %t59 = call ptr @realloc(ptr %t58, i64 %t57) + store ptr %t59, ptr %t47 + store i32 %t53, ptr %t46 + br label %put11 +put11: + %t60 = load ptr, ptr %t47 + %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 + store ptr %t44, ptr %t61 + %t62 = add i32 %t48, 1 + store i32 %t62, ptr %t45 + %t63 = load ptr, ptr %t2 + %t64 = load ptr, ptr %t0 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = load i32, ptr %t3 + %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t71 = load i32, ptr %t70 + %t72 = icmp ult i32 %t69, %t71 + br i1 %t72, label %ixok12, label %ixbad13 +ixbad13: + %t73 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10673, i32 %t69, i32 %t71) + call void @exit(i32 1) + unreachable +ixok12: + %t74 = getelementptr inbounds ptr, ptr %t68, i32 %t69 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 3 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t79 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 + %t80 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t81 = load i32, ptr %t78 + %t82 = load i32, ptr %t79 + %t83 = icmp sge i32 %t81, %t82 + br i1 %t83, label %grow14, label %put15 +grow14: + %t84 = mul i32 %t82, 2 + %t85 = icmp eq i32 %t82, 0 + %t86 = select i1 %t85, i32 8, i32 %t84 + %t87 = getelementptr ptr, ptr null, i32 1 + %t88 = ptrtoint ptr %t87 to i64 + %t89 = zext i32 %t86 to i64 + %t90 = mul i64 %t89, %t88 + %t91 = load ptr, ptr %t80 + %t92 = call ptr @realloc(ptr %t91, i64 %t90) + store ptr %t92, ptr %t80 + store i32 %t86, ptr %t79 + br label %put15 +put15: + %t93 = load ptr, ptr %t80 + %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 + store ptr %t77, ptr %t94 + %t95 = add i32 %t81, 1 + store i32 %t95, ptr %t78 + br label %ifend7 +ifend7: + %t96 = load i32, ptr %t3 + %t97 = add i32 %t96, 1 + store i32 %t97, ptr %t3 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ck_call_fn(ptr %arg_e, ptr %arg_name, ptr %arg_f) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t16 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + store ptr %arg_f, ptr %t2 + %t3 = getelementptr %LSlice, ptr null, i32 1 + %t4 = ptrtoint ptr %t3 to i64 + %t5 = call ptr @malloc(i64 %t4) + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 + store ptr null, ptr %t6 + %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + store i32 0, ptr %t7 + %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 2 + store i32 0, ptr %t8 + store ptr %t5, ptr %t9 + %t10 = getelementptr %LSlice, ptr null, i32 1 + %t11 = ptrtoint ptr %t10 to i64 + %t12 = call ptr @malloc(i64 %t11) + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + store ptr null, ptr %t13 + %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + store i32 0, ptr %t14 + %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 + store i32 0, ptr %t15 + store ptr %t12, ptr %t16 + %t17 = load ptr, ptr %t2 + %t18 = load ptr, ptr %t9 + %t19 = load ptr, ptr %t16 + call void @fn_ck_params(ptr %t17, ptr %t18, ptr %t19) + %t20 = load ptr, ptr %t0 + %t21 = load ptr, ptr %t1 + %t22 = load ptr, ptr %t9 + %t23 = load ptr, ptr %t16 + call void @fn_ck_args(ptr %t20, ptr %t21, ptr %t22, ptr %t23) + %t24 = load ptr, ptr %t2 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 + %t26 = load ptr, ptr %t25 + %t27 = icmp eq ptr %t26, null + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then0, label %ifend2 +then0: + store ptr @.str10674, ptr %retval + br label %ret +ifend2: + %t30 = load ptr, ptr %t2 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 + %t32 = load ptr, ptr %t31 + store ptr %t32, ptr %retval + br label %ret +ret: + %t33 = load ptr, ptr %retval + ret ptr %t33 +} + +define ptr @fn_ck_call_sig(ptr %arg_e, ptr %arg_name, ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + store ptr %arg_t, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = load ptr, ptr %t1 + %t5 = getelementptr %LSlice, ptr null, i32 1 + %t6 = ptrtoint ptr %t5 to i64 + %t7 = call ptr @malloc(i64 %t6) + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + store i32 0, ptr %t9 + %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 + store i32 0, ptr %t10 + %t11 = load ptr, ptr %t2 + %t12 = call ptr @fn_fn_ty_params(ptr %t11) + call void @fn_ck_args(ptr %t3, ptr %t4, ptr %t7, ptr %t12) + %t13 = load ptr, ptr %t2 + %t14 = call ptr @fn_fn_ty_ret(ptr %t13) + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define i32 @fn_ck_label_at(ptr %arg_labels, ptr %arg_s) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_labels, ptr %t0 + store ptr %arg_s, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp ult i32 %t13, %t15 + br i1 %t16, label %ixok3, label %ixbad4 +ixbad4: + %t17 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10675, i32 %t13, i32 %t15) + call void @exit(i32 1) + unreachable +ixok3: + %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t19 = load ptr, ptr %t18 + %t20 = load ptr, ptr %t1 + %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then5, label %ifend7 +then5: + %t23 = load i32, ptr %t2 + store i32 %t23, ptr %retval + br label %ret +ifend7: + %t24 = load i32, ptr %t2 + %t25 = add i32 %t24, 1 + store i32 %t25, ptr %t2 + br label %wcond0 +wend2: + %t26 = sub i32 0, 1 + store i32 %t26, ptr %retval + br label %ret +ret: + %t27 = load i32, ptr %retval + ret i32 %t27 +} + +define void @fn_ck_args(ptr %arg_e, ptr %arg_name, ptr %arg_labels, ptr %arg_tys) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t9 = alloca i32 + %t10 = alloca i32 + %t35 = alloca i32 + %t53 = alloca ptr + %t58 = alloca ptr + %t64 = alloca i32 + %t111 = alloca i32 + %t130 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + store ptr %arg_labels, ptr %t2 + store ptr %arg_tys, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + store i32 %t8, ptr %t9 + %t11 = load i32, ptr %t9 + %t12 = icmp sgt i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t10 + br i1 %t14, label %sc0, label %scend1 +sc0: + %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 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t22 = load i32, ptr %t21 + %t23 = icmp ult i32 0, %t22 + br i1 %t23, label %ixok2, label %ixbad3 +ixbad3: + %t24 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10676, i32 0, i32 %t22) + call void @exit(i32 1) + unreachable +ixok2: + %t25 = getelementptr inbounds ptr, ptr %t20, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 42 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t10 + br label %scend1 +scend1: + %t33 = load i32, ptr %t10 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then4, label %ifend6 +then4: + store i32 0, ptr %t35 + br label %wcond7 +wcond7: + %t36 = load i32, ptr %t35 + %t37 = load i32, ptr %t9 + %t38 = icmp slt i32 %t36, %t37 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %wbody8, label %wend9 +wbody8: + %t41 = load ptr, ptr %t0 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = load i32, ptr %t35 + %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 + %t48 = load i32, ptr %t47 + %t49 = icmp ult i32 %t46, %t48 + br i1 %t49, label %ixok10, label %ixbad11 +ixbad11: + %t50 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str10677, i32 %t46, i32 %t48) + call void @exit(i32 1) + unreachable +ixok10: + %t51 = getelementptr inbounds ptr, ptr %t45, i32 %t46 + %t52 = load ptr, ptr %t51 + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @fn_ck_expr(ptr %t56) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t2 + %t60 = load ptr, ptr %t53 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = call i32 @fn_ck_label_at(ptr %t59, ptr %t62) + store i32 %t63, ptr %t64 + %t65 = load i32, ptr %t64 + %t66 = icmp sge i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then12, label %ifend14 +then12: + %t69 = load ptr, ptr %t3 + %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = load i32, ptr %t64 + %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 + %t74 = load i32, ptr %t73 + %t75 = icmp ult i32 %t72, %t74 + br i1 %t75, label %ixok15, label %ixbad16 +ixbad16: + %t76 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str10678, i32 %t72, i32 %t74) + call void @exit(i32 1) + unreachable +ixok15: + %t77 = getelementptr inbounds ptr, ptr %t71, i32 %t72 + %t78 = load ptr, ptr %t77 + %t79 = load ptr, ptr %t58 + %t80 = load ptr, ptr %t53 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 + %t82 = load ptr, ptr %t81 + %t83 = load ptr, ptr %t53 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str10679, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10680) + %t88 = load ptr, ptr %t1 + %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) + call void @fn_ck_give(ptr %t78, ptr %t79, ptr %t82, ptr %t89) + br label %ifend14 +ifend14: + %t90 = load i32, ptr %t35 + %t91 = add i32 %t90, 1 + store i32 %t91, ptr %t35 + br label %wcond7 +wend9: + br label %ret +ifend6: + %t92 = load i32, ptr %t9 + %t93 = load ptr, ptr %t3 + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 + %t95 = load i32, ptr %t94 + %t96 = icmp ne i32 %t92, %t95 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then17, label %ifend19 +then17: + %t99 = load ptr, ptr %t0 + %t100 = load ptr, ptr %t1 + %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str10682) + %t102 = load ptr, ptr %t3 + %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 + %t104 = load i32, ptr %t103 + %t105 = call ptr @fn_itoa(i32 %t104) + %t106 = call ptr @lp_str_concat(ptr %t101, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str10683) + %t108 = load i32, ptr %t9 + %t109 = call ptr @fn_itoa(i32 %t108) + %t110 = call ptr @lp_str_concat(ptr %t107, ptr %t109) + call void @fn_ck_err(ptr @.str10681, ptr %t99, ptr %t110) + br label %ifend19 +ifend19: + store i32 0, ptr %t111 + br label %wcond20 +wcond20: + %t112 = load i32, ptr %t111 + %t113 = load i32, ptr %t9 + %t114 = icmp slt i32 %t112, %t113 + %t115 = zext i1 %t114 to i32 + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %wbody21, label %wend22 +wbody21: + %t117 = load ptr, ptr %t0 + %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 %t111 + %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 + %t124 = load i32, ptr %t123 + %t125 = icmp ult i32 %t122, %t124 + br i1 %t125, label %ixok23, label %ixbad24 +ixbad24: + %t126 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str10684, i32 %t122, i32 %t124) + call void @exit(i32 1) + unreachable +ixok23: + %t127 = getelementptr inbounds ptr, ptr %t121, i32 %t122 + %t128 = load ptr, ptr %t127 + %t129 = call ptr @fn_ck_expr(ptr %t128) + store ptr %t129, ptr %t130 + %t131 = load i32, ptr %t111 + %t132 = load ptr, ptr %t3 + %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 + %t134 = load i32, ptr %t133 + %t135 = icmp slt i32 %t131, %t134 + %t136 = zext i1 %t135 to i32 + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then25, label %ifend27 +then25: + %t138 = load ptr, ptr %t3 + %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = load i32, ptr %t111 + %t142 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 + %t143 = load i32, ptr %t142 + %t144 = icmp ult i32 %t141, %t143 + br i1 %t144, label %ixok28, label %ixbad29 +ixbad29: + %t145 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str10685, i32 %t141, i32 %t143) + call void @exit(i32 1) + unreachable +ixok28: + %t146 = getelementptr inbounds ptr, ptr %t140, i32 %t141 + %t147 = load ptr, ptr %t146 + %t148 = load ptr, ptr %t130 + %t149 = load ptr, ptr %t0 + %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 7 + %t151 = load ptr, ptr %t150 + %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 + %t153 = load ptr, ptr %t152 + %t154 = load i32, ptr %t111 + %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 + %t156 = load i32, ptr %t155 + %t157 = icmp ult i32 %t154, %t156 + br i1 %t157, label %ixok30, label %ixbad31 +ixbad31: + %t158 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str10686, i32 %t154, i32 %t156) + call void @exit(i32 1) + unreachable +ixok30: + %t159 = getelementptr inbounds ptr, ptr %t153, i32 %t154 + %t160 = load ptr, ptr %t159 + %t161 = load i32, ptr %t111 + %t162 = add i32 %t161, 1 + %t163 = call ptr @fn_itoa(i32 %t162) + %t164 = call ptr @lp_str_concat(ptr @.str10687, ptr %t163) + %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str10688) + %t166 = load ptr, ptr %t1 + %t167 = call ptr @lp_str_concat(ptr %t165, ptr %t166) + call void @fn_ck_give(ptr %t147, ptr %t148, ptr %t160, ptr %t167) + br label %ifend27 +ifend27: + %t168 = load i32, ptr %t111 + %t169 = add i32 %t168, 1 + store i32 %t169, ptr %t111 + br label %wcond20 +wend22: + br label %ret +ret: + ret void +} + +define void @fn_ck_walk_args(ptr %arg_e) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_e, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr %t1 + %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 + %t18 = load i32, ptr %t17 + %t19 = icmp ult i32 %t16, %t18 + br i1 %t19, label %ixok3, label %ixbad4 +ixbad4: + %t20 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10689, i32 %t16, i32 %t18) + call void @exit(i32 1) + unreachable +ixok3: + %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t22 = load ptr, ptr %t21 + call void @fn_ck_any(ptr %t22) + %t23 = load i32, ptr %t1 + %t24 = add i32 %t23, 1 + store i32 %t24, ptr %t1 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ck_builtin(ptr %arg_e, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t6 = alloca i32 + %t47 = alloca i32 + %t64 = alloca i32 + %t84 = alloca i32 + %t112 = alloca ptr + %t125 = alloca ptr + %t126 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + %t7 = load ptr, ptr %t1 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10690) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t6 + br i1 %t9, label %scend1, label %sc0 +sc0: + %t11 = load ptr, ptr %t1 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str10691) + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t6 + br label %scend1 +scend1: + %t15 = load i32, ptr %t6 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t5 + br i1 %t16, label %scend3, label %sc2 +sc2: + %t18 = load ptr, ptr %t1 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str10692) + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t5 + br label %scend3 +scend3: + %t22 = load i32, ptr %t5 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t4 + br i1 %t23, label %scend5, label %sc4 +sc4: + %t25 = load ptr, ptr %t1 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str10693) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t4 + br label %scend5 +scend5: + %t29 = load i32, ptr %t4 + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t3 + br i1 %t30, label %scend7, label %sc6 +sc6: + %t32 = load ptr, ptr %t1 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10694) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t3 + br label %scend7 +scend7: + %t36 = load i32, ptr %t3 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t2 + br i1 %t37, label %scend9, label %sc8 +sc8: + %t39 = load ptr, ptr %t1 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str10695) + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t2 + br label %scend9 +scend9: + %t43 = load i32, ptr %t2 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then10, label %ifend12 +then10: + %t45 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t45) + %t46 = load ptr, ptr %t1 + store ptr %t46, ptr %retval + br label %ret +ifend12: + %t48 = load ptr, ptr %t1 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str10696) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t47 + br i1 %t50, label %scend14, label %sc13 +sc13: + %t52 = load ptr, ptr %t1 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str10697) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t47 + br label %scend14 +scend14: + %t56 = load i32, ptr %t47 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then15, label %ifend17 +then15: + %t58 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t58) + %t59 = load ptr, ptr %t1 + %t60 = load ptr, ptr %t1 + %t61 = call i64 @strlen(ptr %t60) + %t62 = trunc i64 %t61 to i32 + %t63 = call ptr @lp_str_slice(ptr %t59, i32 3, i32 %t62) + store ptr %t63, ptr %retval + br label %ret +ifend17: + %t65 = load ptr, ptr %t1 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str10698) + %t67 = icmp ne i32 %t66, 0 + %t68 = zext i1 %t67 to i32 + store i32 %t68, ptr %t64 + br i1 %t67, label %scend19, label %sc18 +sc18: + %t69 = load ptr, ptr %t1 + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str10699) + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t64 + br label %scend19 +scend19: + %t73 = load i32, ptr %t64 + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then20, label %ifend22 +then20: + %t75 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t75) + store ptr @.str10700, ptr %retval + br label %ret +ifend22: + %t76 = load ptr, ptr %t1 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str10701) + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then23, label %ifend25 +then23: + %t79 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t79) + store ptr @.str10702, ptr %retval + br label %ret +ifend25: + %t80 = load ptr, ptr %t1 + %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str10703) + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then26, label %ifend28 +then26: + %t83 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t83) + store ptr @.str10704, ptr %retval + br label %ret +ifend28: + %t85 = load ptr, ptr %t1 + %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str10705) + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t84 + br i1 %t87, label %sc29, label %scend30 +sc29: + %t89 = load ptr, ptr %t0 + %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 1 + %t93 = load i32, ptr %t92 + %t94 = icmp eq i32 %t93, 2 + %t95 = zext i1 %t94 to i32 + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t84 + br label %scend30 +scend30: + %t98 = load i32, ptr %t84 + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then31, label %ifend33 +then31: + %t100 = load ptr, ptr %t0 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7 + %t102 = load ptr, ptr %t101 + %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 + %t104 = load ptr, ptr %t103 + %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 + %t106 = load i32, ptr %t105 + %t107 = icmp ult i32 0, %t106 + br i1 %t107, label %ixok34, label %ixbad35 +ixbad35: + %t108 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10706, i32 0, i32 %t106) + call void @exit(i32 1) + unreachable +ixok34: + %t109 = getelementptr inbounds ptr, ptr %t104, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @fn_ck_expr(ptr %t110) + store ptr %t111, ptr %t112 + %t113 = load ptr, ptr %t0 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7 + %t115 = load ptr, ptr %t114 + %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 + %t119 = load i32, ptr %t118 + %t120 = icmp ult i32 1, %t119 + br i1 %t120, label %ixok36, label %ixbad37 +ixbad37: + %t121 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str10707, i32 1, i32 %t119) + call void @exit(i32 1) + unreachable +ixok36: + %t122 = getelementptr inbounds ptr, ptr %t117, i32 1 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @fn_ck_expr(ptr %t123) + store ptr %t124, ptr %t125 + %t127 = load ptr, ptr %t112 + %t128 = call i32 @fn_ck_unknown(ptr %t127) + %t129 = icmp eq i32 %t128, 0 + %t130 = zext i1 %t129 to i32 + %t131 = icmp ne i32 %t130, 0 + %t132 = zext i1 %t131 to i32 + store i32 %t132, ptr %t126 + br i1 %t131, label %sc38, label %scend39 +sc38: + %t133 = load ptr, ptr %t112 + %t134 = call i32 @fn_is_slice_ty(ptr %t133) + %t135 = icmp ne i32 %t134, 0 + %t136 = zext i1 %t135 to i32 + store i32 %t136, ptr %t126 + br label %scend39 +scend39: + %t137 = load i32, ptr %t126 + %t138 = icmp ne i32 %t137, 0 + br i1 %t138, label %then40, label %ifend42 +then40: + %t139 = load ptr, ptr %t112 + %t140 = call ptr @fn_slice_elem(ptr %t139) + %t141 = load ptr, ptr %t125 + %t142 = load ptr, ptr %t0 + %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 7 + %t144 = load ptr, ptr %t143 + %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 + %t146 = load ptr, ptr %t145 + %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 + %t148 = load i32, ptr %t147 + %t149 = icmp ult i32 1, %t148 + br i1 %t149, label %ixok43, label %ixbad44 +ixbad44: + %t150 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str10708, i32 1, i32 %t148) + call void @exit(i32 1) + unreachable +ixok43: + %t151 = getelementptr inbounds ptr, ptr %t146, i32 1 + %t152 = load ptr, ptr %t151 + %t153 = load ptr, ptr %t112 + %t154 = call ptr @fn_ck_a(ptr %t153) + %t155 = call ptr @lp_str_concat(ptr @.str10709, ptr %t154) + call void @fn_ck_give(ptr %t140, ptr %t141, ptr %t152, ptr %t155) + br label %ifend42 +ifend42: + store ptr @.str10710, ptr %retval + br label %ret +ifend33: + store ptr null, ptr %retval + br label %ret +ret: + %t156 = load ptr, ptr %retval + ret ptr %t156 +} + +define ptr @fn_ck_call(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t25 = alloca ptr + %t26 = alloca i32 + %t27 = alloca i32 + %t67 = alloca ptr + %t68 = alloca i32 + %t89 = alloca ptr + %t99 = alloca ptr + %t100 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 33 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then0, label %ifend2 +then0: + %t11 = load ptr, ptr %t0 + %t12 = load ptr, ptr %t4 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @fn_ck_call_named(ptr %t11, ptr %t14) + store ptr %t15, ptr %retval + br label %ret +ifend2: + %t16 = load ptr, ptr %t4 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 35 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then3, label %ifend5 +then3: + %t22 = load ptr, ptr %t4 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t25 + %t28 = load ptr, ptr %t25 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 + %t30 = load i32, ptr %t29 + %t31 = icmp eq i32 %t30, 33 + %t32 = zext i1 %t31 to i32 + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t27 + br i1 %t33, label %sc6, label %scend7 +sc6: + %t35 = load ptr, ptr %t25 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call i32 @fn_ck_local(ptr %t37) + %t39 = icmp slt i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t27 + br label %scend7 +scend7: + %t43 = load i32, ptr %t27 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t26 + br i1 %t44, label %sc8, label %scend9 +sc8: + %t46 = load ptr, ptr %t25 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @fn_ck_global(ptr %t48) + %t50 = icmp eq ptr %t49, null + %t51 = zext i1 %t50 to i32 + %t52 = icmp ne i32 %t51, 0 + %t53 = zext i1 %t52 to i32 + store i32 %t53, ptr %t26 + br label %scend9 +scend9: + %t54 = load i32, ptr %t26 + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %then10, label %ifend12 +then10: + %t56 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t56) + %t57 = load ptr, ptr %t25 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @fn_ns_lower(ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10711) + %t62 = load ptr, ptr %t4 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @lp_str_concat(ptr %t61, ptr %t64) + %t66 = call ptr @fn_ck_fn(ptr %t65) + store ptr %t66, ptr %t67 + %t69 = load ptr, ptr %t67 + %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 %t68 + br i1 %t72, label %sc13, label %scend14 +sc13: + %t74 = load ptr, ptr %t67 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 3 + %t76 = load ptr, ptr %t75 + %t77 = icmp ne 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 %t68 + br label %scend14 +scend14: + %t81 = load i32, ptr %t68 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then15, label %ifend17 +then15: + %t83 = load ptr, ptr %t67 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 3 + %t85 = load ptr, ptr %t84 + store ptr %t85, ptr %retval + br label %ret +ifend17: + store ptr @.str10712, ptr %retval + br label %ret +ifend12: + %t86 = load ptr, ptr %t25 + %t87 = call ptr @fn_ck_expr(ptr %t86) + %t88 = call ptr @fn_ck_record(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t89 + %t91 = icmp ne ptr %t90, null + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then18, label %ifend20 +then18: + %t94 = load ptr, ptr %t89 + %t95 = load ptr, ptr %t4 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + %t97 = load ptr, ptr %t96 + %t98 = call ptr @fn_ck_field(ptr %t94, ptr %t97) + store ptr %t98, ptr %t99 + %t101 = load ptr, ptr %t99 + %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 %t100 + br i1 %t104, label %sc21, label %scend22 +sc21: + %t106 = load ptr, ptr %t99 + %t107 = call i32 @fn_is_fn_type(ptr %t106) + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t100 + br label %scend22 +scend22: + %t110 = load i32, ptr %t100 + %t111 = icmp ne i32 %t110, 0 + br i1 %t111, label %then23, label %ifend25 +then23: + %t112 = load ptr, ptr %t0 + %t113 = load ptr, ptr %t4 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 1 + %t115 = load ptr, ptr %t114 + %t116 = load ptr, ptr %t99 + %t117 = call ptr @fn_ck_call_sig(ptr %t112, ptr %t115, ptr %t116) + store ptr %t117, ptr %retval + br label %ret +ifend25: + br label %ifend20 +ifend20: + %t118 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t118) + store ptr @.str10713, ptr %retval + br label %ret +ifend5: + %t119 = load ptr, ptr %t4 + %t120 = call ptr @fn_ck_expr(ptr %t119) + %t121 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t121) + store ptr @.str10714, ptr %retval + br label %ret +ret: + %t122 = load ptr, ptr %retval + ret ptr %t122 +} + +define ptr @fn_ck_call_named(ptr %arg_e, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca i32 + %t38 = alloca ptr + %t46 = alloca ptr + %t57 = alloca ptr + %t68 = alloca ptr + %t69 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = call i32 @fn_ck_local(ptr %t2) + store i32 %t3, ptr %t4 + %t5 = load i32, ptr %t4 + %t6 = icmp sge i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr @g_ck_tys + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t4 + %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp ult i32 %t12, %t14 + br i1 %t15, label %ixok3, label %ixbad4 +ixbad4: + %t16 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10715, i32 %t12, i32 %t14) + call void @exit(i32 1) + unreachable +ixok3: + %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t18 = load ptr, ptr %t17 + %t19 = call i32 @fn_is_fn_type(ptr %t18) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then5, label %ifend7 +then5: + %t21 = load ptr, ptr %t0 + %t22 = load ptr, ptr %t1 + %t23 = load ptr, ptr @g_ck_tys + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = load i32, ptr %t4 + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp ult i32 %t26, %t28 + br i1 %t29, label %ixok8, label %ixbad9 +ixbad9: + %t30 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10716, i32 %t26, i32 %t28) + call void @exit(i32 1) + unreachable +ixok8: + %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 + %t32 = load ptr, ptr %t31 + %t33 = call ptr @fn_ck_call_sig(ptr %t21, ptr %t22, ptr %t32) + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t34) + store ptr @.str10717, ptr %retval + br label %ret +ifend2: + %t35 = load ptr, ptr %t0 + %t36 = load ptr, ptr %t1 + %t37 = call ptr @fn_ck_builtin(ptr %t35, ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = icmp ne ptr %t39, null + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then10, label %ifend12 +then10: + %t43 = load ptr, ptr %t38 + store ptr %t43, ptr %retval + br label %ret +ifend12: + %t44 = load ptr, ptr %t1 + %t45 = call ptr @fn_ck_fn(ptr %t44) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + %t48 = icmp ne ptr %t47, null + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then13, label %ifend15 +then13: + %t51 = load ptr, ptr %t0 + %t52 = load ptr, ptr %t1 + %t53 = load ptr, ptr %t46 + %t54 = call ptr @fn_ck_call_fn(ptr %t51, ptr %t52, ptr %t53) + store ptr %t54, ptr %retval + br label %ret +ifend15: + %t55 = load ptr, ptr %t1 + %t56 = call ptr @fn_ck_extern(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = icmp ne ptr %t58, null + %t60 = zext i1 %t59 to i32 + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then16, label %ifend18 +then16: + %t62 = load ptr, ptr %t0 + %t63 = load ptr, ptr %t1 + %t64 = load ptr, ptr %t57 + %t65 = call ptr @fn_ck_call_fn(ptr %t62, ptr %t63, ptr %t64) + store ptr %t65, ptr %retval + br label %ret +ifend18: + %t66 = load ptr, ptr %t1 + %t67 = call ptr @fn_ck_global(ptr %t66) + store ptr %t67, ptr %t68 + %t70 = load ptr, ptr %t68 + %t71 = icmp ne ptr %t70, null + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t69 + br i1 %t73, label %sc19, label %scend20 +sc19: + %t75 = load ptr, ptr %t68 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 3 + %t77 = load ptr, ptr %t76 + %t78 = call i32 @fn_is_fn_type(ptr %t77) + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t69 + br label %scend20 +scend20: + %t81 = load i32, ptr %t69 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then21, label %ifend23 +then21: + %t83 = load ptr, ptr %t0 + %t84 = load ptr, ptr %t1 + %t85 = load ptr, ptr %t68 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_ck_call_sig(ptr %t83, ptr %t84, ptr %t87) + store ptr %t88, ptr %retval + br label %ret +ifend23: + %t89 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t89) + store ptr @.str10718, ptr %retval + br label %ret +ret: + %t90 = load ptr, ptr %retval + ret ptr %t90 +} + +define void @fn_ck_emit(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca i32 + %t38 = alloca ptr + %t43 = alloca ptr + %t53 = alloca ptr + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_find_event(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 + %t8 = load ptr, ptr %t7 + %t9 = icmp eq ptr %t8, null + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t13, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t12 + %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 + %t33 = load i32, ptr %t32 + %t34 = icmp ult i32 %t31, %t33 + br i1 %t34, label %ixok6, label %ixbad7 +ixbad7: + %t35 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str10719, i32 %t31, i32 %t33) + call void @exit(i32 1) + unreachable +ixok6: + %t36 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @fn_ck_expr(ptr %t41) + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t5 + %t45 = icmp ne ptr %t44, null + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then8, label %ifend10 +then8: + %t48 = load ptr, ptr %t5 + %t49 = load ptr, ptr %t38 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @fn_ck_field(ptr %t48, ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = icmp ne ptr %t54, null + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then11, label %ifend13 +then11: + %t58 = load ptr, ptr %t53 + %t59 = load ptr, ptr %t43 + %t60 = load ptr, ptr %t38 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 + %t62 = load ptr, ptr %t61 + %t63 = load ptr, ptr %t38 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @lp_str_concat(ptr @.str10720, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10721) + %t68 = load ptr, ptr %t0 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @lp_str_concat(ptr %t67, ptr %t70) + call void @fn_ck_give(ptr %t58, ptr %t59, ptr %t62, ptr %t71) + br label %ifend13 +ifend13: + br label %ifend10 +ifend10: + %t72 = load i32, ptr %t12 + %t73 = add i32 %t72, 1 + store i32 %t73, ptr %t12 + br label %wcond3 +wend5: + br label %ret +ret: + ret void +} + +define void @fn_ck_block(ptr %arg_b) { +entry: + %t0 = alloca ptr + %t13 = alloca i32 + %t14 = alloca i32 + store ptr %arg_b, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp ne i32 %t7, 7 + %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 + call void @fn_ck_stmt(ptr %t11) + br label %ret +ifend5: + %t12 = call i32 @fn_ck_mark() + store i32 %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 %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = load i32, ptr %t14 + %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t31 = load i32, ptr %t30 + %t32 = icmp ult i32 %t29, %t31 + br i1 %t32, label %ixok9, label %ixbad10 +ixbad10: + %t33 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str10722, i32 %t29, i32 %t31) + call void @exit(i32 1) + unreachable +ixok9: + %t34 = getelementptr inbounds ptr, ptr %t28, i32 %t29 + %t35 = load ptr, ptr %t34 + call void @fn_ck_stmt(ptr %t35) + %t36 = load i32, ptr %t14 + %t37 = add i32 %t36, 1 + store i32 %t37, ptr %t14 + br label %wcond6 +wend8: + %t38 = load i32, ptr %t13 + call void @fn_ck_pop(i32 %t38) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_target(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 33 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = call ptr @fn_ck_id(ptr %t7) + store ptr %t8, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = call ptr @fn_ck_expr(ptr %t9) + store ptr %t10, ptr %retval + br label %ret +ret: + %t11 = load ptr, ptr %retval + ret ptr %t11 +} + +define void @fn_ck_let(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + store ptr %arg_s, ptr %t0 + store ptr @.str10723, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 + %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 %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @fn_ck_expr(ptr %t10) + store ptr %t11, ptr %t1 + br label %ifend2 +ifend2: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 + %t14 = load ptr, ptr %t13 + %t15 = icmp ne ptr %t14, null + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = icmp ne ptr %t20, null + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then6, label %ifend8 +then6: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t1 + %t28 = load ptr, ptr %t0 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 + %t33 = load ptr, ptr %t32 + call void @fn_ck_give(ptr %t26, ptr %t27, ptr %t30, ptr %t33) + br label %ifend8 +ifend8: + %t34 = load ptr, ptr %t0 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 + %t36 = load ptr, ptr %t35 + %t37 = load ptr, ptr %t0 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 3 + %t39 = load ptr, ptr %t38 + call void @fn_ck_bind(ptr %t36, ptr %t39) + br label %ret +ifend5: + %t40 = load ptr, ptr %t0 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 + %t42 = load ptr, ptr %t41 + %t43 = load ptr, ptr %t1 + call void @fn_ck_bind(ptr %t42, ptr %t43) + br label %ret +ret: + ret void +} + +define void @fn_ck_assign(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + %t11 = alloca ptr + %t54 = alloca ptr + %t66 = alloca ptr + store ptr %arg_s, 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_ck_target(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_ck_expr(ptr %t8) + store ptr %t9, ptr %t10 + store ptr @.str10724, ptr %t11 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 + %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, 33 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then0, label %ifend2 +then0: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t11 + br label %ifend2 +ifend2: + %t25 = load ptr, ptr %t0 + %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 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 35 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then3, label %ifend5 +then3: + %t33 = load ptr, ptr %t0 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @lp_str_concat(ptr @.str10725, ptr %t37) + store ptr %t38, ptr %t11 + br label %ifend5 +ifend5: + %t39 = load ptr, ptr %t0 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 + %t41 = load ptr, ptr %t40 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10726) + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then6, label %ifend8 +then6: + %t44 = load ptr, ptr %t5 + %t45 = load ptr, ptr %t10 + %t46 = load ptr, ptr %t0 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5 + %t48 = load ptr, ptr %t47 + %t49 = load ptr, ptr %t11 + call void @fn_ck_give(ptr %t44, ptr %t45, ptr %t48, ptr %t49) + br label %ret +ifend8: + %t50 = load ptr, ptr %t0 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @lp_str_slice(ptr %t52, i32 0, i32 1) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t0 + %t56 = load ptr, ptr %t54 + %t57 = load ptr, ptr %t5 + %t58 = load ptr, ptr %t10 + %t59 = load ptr, ptr %t0 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 + %t61 = load ptr, ptr %t60 + %t62 = load ptr, ptr %t0 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 5 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @fn_ck_binop(ptr %t55, ptr %t56, ptr %t57, ptr %t58, ptr %t61, ptr %t64) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t5 + %t68 = load ptr, ptr %t66 + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 5 + %t71 = load ptr, ptr %t70 + %t72 = load ptr, ptr %t11 + call void @fn_ck_give(ptr %t67, ptr %t68, ptr %t71, ptr %t72) + br label %ret +ret: + ret void +} + +define void @fn_ck_match(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t5 = alloca i32 + %t27 = alloca ptr + %t29 = alloca i32 + %t30 = alloca i32 + %t52 = alloca ptr + %t59 = alloca i32 + store ptr %arg_s, 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_ck_expr(ptr %t3) + store i32 0, ptr %t5 + br label %wcond0 +wcond0: + %t6 = load i32, ptr %t5 + %t7 = load ptr, ptr %t0 + %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 %t6, %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 7 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = load i32, ptr %t5 + %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 + %t22 = load i32, ptr %t21 + %t23 = icmp ult i32 %t20, %t22 + br i1 %t23, label %ixok3, label %ixbad4 +ixbad4: + %t24 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10727, i32 %t20, i32 %t22) + call void @exit(i32 1) + unreachable +ixok3: + %t25 = getelementptr inbounds ptr, ptr %t19, i32 %t20 + %t26 = load ptr, ptr %t25 + store ptr %t26, ptr %t27 + %t28 = call i32 @fn_ck_mark() + store i32 %t28, ptr %t29 + store i32 0, ptr %t30 + br label %wcond5 +wcond5: + %t31 = load i32, ptr %t30 + %t32 = load ptr, ptr %t27 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp slt i32 %t31, %t36 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %wbody6, label %wend7 +wbody6: + %t40 = load ptr, ptr %t27 + %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 = load i32, ptr %t30 + %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 + %t47 = load i32, ptr %t46 + %t48 = icmp ult i32 %t45, %t47 + br i1 %t48, label %ixok8, label %ixbad9 +ixbad9: + %t49 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str10728, i32 %t45, i32 %t47) + call void @exit(i32 1) + unreachable +ixok8: + %t50 = getelementptr inbounds ptr, ptr %t44, i32 %t45 + %t51 = load ptr, ptr %t50 + store ptr %t51, ptr %t52 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 + %t55 = load i32, ptr %t54 + %t56 = icmp eq i32 %t55, 34 + %t57 = zext i1 %t56 to i32 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then10, label %ifend12 +then10: + store i32 0, ptr %t59 + br label %wcond13 +wcond13: + %t60 = load i32, ptr %t59 + %t61 = load ptr, ptr %t52 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t65 = load i32, ptr %t64 + %t66 = icmp slt i32 %t60, %t65 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %wbody14, label %wend15 +wbody14: + %t69 = load ptr, ptr %t52 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = load i32, ptr %t59 + %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 + %t76 = load i32, ptr %t75 + %t77 = icmp ult i32 %t74, %t76 + br i1 %t77, label %ixok16, label %ixbad17 +ixbad17: + %t78 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10729, i32 %t74, i32 %t76) + call void @exit(i32 1) + unreachable +ixok16: + %t79 = getelementptr inbounds ptr, ptr %t73, i32 %t74 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 33 + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then18, label %ifend20 +then18: + %t86 = load ptr, ptr %t52 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 + %t88 = load ptr, ptr %t87 + %t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 + %t90 = load ptr, ptr %t89 + %t91 = load i32, ptr %t59 + %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 + %t93 = load i32, ptr %t92 + %t94 = icmp ult i32 %t91, %t93 + br i1 %t94, label %ixok21, label %ixbad22 +ixbad22: + %t95 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str10730, i32 %t91, i32 %t93) + call void @exit(i32 1) + unreachable +ixok21: + %t96 = getelementptr inbounds ptr, ptr %t90, i32 %t91 + %t97 = load ptr, ptr %t96 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 + %t99 = load ptr, ptr %t98 + call void @fn_ck_bind(ptr %t99, ptr @.str10731) + br label %ifend20 +ifend20: + %t100 = load i32, ptr %t59 + %t101 = add i32 %t100, 1 + store i32 %t101, ptr %t59 + br label %wcond13 +wend15: + br label %ifend12 +ifend12: + %t102 = load i32, ptr %t30 + %t103 = add i32 %t102, 1 + store i32 %t103, ptr %t30 + br label %wcond5 +wend7: + %t104 = load ptr, ptr %t27 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t105 + call void @fn_ck_block(ptr %t106) + %t107 = load i32, ptr %t29 + call void @fn_ck_pop(i32 %t107) + %t108 = load i32, ptr %t5 + %t109 = add i32 %t108, 1 + store i32 %t109, ptr %t5 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_ck_stmt(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t8 = alloca i32 + %t68 = alloca i32 + %t90 = alloca ptr + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + store i32 %t7, ptr %t8 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 7 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + %t13 = load ptr, ptr %t0 + call void @fn_ck_block(ptr %t13) + br label %ret +ifend5: + %t14 = load i32, ptr %t8 + %t15 = icmp eq i32 %t14, 10 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then6, label %ifend8 +then6: + %t18 = load ptr, ptr %t0 + call void @fn_ck_let(ptr %t18) + br label %ret +ifend8: + %t19 = load i32, ptr %t8 + %t20 = icmp eq i32 %t19, 11 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then9, label %ifend11 +then9: + %t23 = load ptr, ptr %t0 + call void @fn_ck_assign(ptr %t23) + br label %ret +ifend11: + %t24 = load i32, ptr %t8 + %t25 = icmp eq i32 %t24, 12 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then12, label %ifend14 +then12: + %t28 = load ptr, ptr %t0 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 + %t33 = load ptr, ptr %t32 + %t34 = call ptr @fn_ck_expr(ptr %t33) + call void @fn_ck_cond(ptr %t30, ptr %t34) + %t35 = load ptr, ptr %t0 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 5 + %t37 = load ptr, ptr %t36 + call void @fn_ck_block(ptr %t37) + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 6 + %t40 = load ptr, ptr %t39 + call void @fn_ck_block(ptr %t40) + br label %ret +ifend14: + %t41 = load i32, ptr %t8 + %t42 = icmp eq i32 %t41, 13 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then15, label %ifend17 +then15: + %t45 = load ptr, ptr %t0 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4 + %t47 = load ptr, ptr %t46 + %t48 = load ptr, ptr %t0 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @fn_ck_expr(ptr %t50) + call void @fn_ck_cond(ptr %t47, ptr %t51) + %t52 = load ptr, ptr %t0 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 5 + %t54 = load ptr, ptr %t53 + call void @fn_ck_block(ptr %t54) + br label %ret +ifend17: + %t55 = load i32, ptr %t8 + %t56 = icmp eq i32 %t55, 14 + %t57 = zext i1 %t56 to i32 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then18, label %ifend20 +then18: + %t59 = load ptr, ptr %t0 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @fn_ck_expr(ptr %t61) + %t63 = load ptr, ptr %t0 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 5 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @fn_ck_expr(ptr %t65) + %t67 = call i32 @fn_ck_mark() + store i32 %t67, ptr %t68 + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + call void @fn_ck_bind(ptr %t71, ptr @.str10732) + %t72 = load ptr, ptr %t0 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 6 + %t74 = load ptr, ptr %t73 + call void @fn_ck_block(ptr %t74) + %t75 = load i32, ptr %t68 + call void @fn_ck_pop(i32 %t75) + br label %ret +ifend20: + %t76 = load i32, ptr %t8 + %t77 = icmp eq i32 %t76, 15 + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then21, label %ifend23 +then21: + %t80 = load ptr, ptr %t0 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 + %t82 = load ptr, ptr %t81 + %t83 = icmp eq ptr %t82, null + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then24, label %ifend26 +then24: + br label %ret +ifend26: + %t86 = load ptr, ptr %t0 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = load ptr, ptr %t87 + %t89 = call ptr @fn_ck_expr(ptr %t88) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr @g_ck_ret + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str10733) + %t93 = icmp eq i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + %t95 = icmp ne i32 %t94, 0 + br i1 %t95, label %then27, label %ifend29 +then27: + %t96 = load ptr, ptr @g_ck_ret + %t97 = load ptr, ptr %t90 + %t98 = load ptr, ptr %t0 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = load ptr, ptr %t99 + call void @fn_ck_give(ptr %t96, ptr %t97, ptr %t100, ptr @.str10734) + br label %ifend29 +ifend29: + br label %ret +ifend23: + %t101 = load i32, ptr %t8 + %t102 = icmp eq i32 %t101, 16 + %t103 = zext i1 %t102 to i32 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then30, label %ifend32 +then30: + %t105 = load ptr, ptr %t0 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 4 + %t107 = load ptr, ptr %t106 + %t108 = call ptr @fn_ck_expr(ptr %t107) + br label %ret +ifend32: + %t109 = load i32, ptr %t8 + %t110 = icmp eq i32 %t109, 19 + %t111 = zext i1 %t110 to i32 + %t112 = icmp ne i32 %t111, 0 + br i1 %t112, label %then33, label %ifend35 +then33: + %t113 = load ptr, ptr %t0 + call void @fn_ck_match(ptr %t113) + br label %ret +ifend35: + %t114 = load i32, ptr %t8 + %t115 = icmp eq i32 %t114, 49 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then36, label %ifend38 +then36: + %t118 = load ptr, ptr %t0 + call void @fn_ck_emit(ptr %t118) + br label %ret +ifend38: + br label %ret +ret: + ret void +} + +define void @fn_ck_fn_body(ptr %arg_d) { +entry: + %t0 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_d, ptr %t0 + %t1 = call i32 @fn_ck_mark() + store i32 %t1, 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 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t4, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %wbody1, label %wend2 +wbody1: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr %t3 + %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp ult i32 %t18, %t20 + br i1 %t21, label %ixok3, label %ixbad4 +ixbad4: + %t22 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str10735, i32 %t18, i32 %t20) + call void @exit(i32 1) + unreachable +ixok3: + %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 5 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then5, label %ifend7 +then5: + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load i32, ptr %t3 + %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 + %t37 = load i32, ptr %t36 + %t38 = icmp ult i32 %t35, %t37 + br i1 %t38, label %ixok8, label %ixbad9 +ixbad9: + %t39 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10736, i32 %t35, i32 %t37) + call void @exit(i32 1) + unreachable +ixok8: + %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 + %t43 = load ptr, ptr %t42 + %t44 = load ptr, ptr %t0 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = load i32, ptr %t3 + %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp ult i32 %t49, %t51 + br i1 %t52, label %ixok10, label %ixbad11 +ixbad11: + %t53 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str10737, i32 %t49, i32 %t51) + call void @exit(i32 1) + unreachable +ixok10: + %t54 = getelementptr inbounds ptr, ptr %t48, i32 %t49 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 + %t57 = load ptr, ptr %t56 + call void @fn_ck_bind(ptr %t43, ptr %t57) + br label %ifend7 +ifend7: + %t58 = load i32, ptr %t3 + %t59 = add i32 %t58, 1 + store i32 %t59, ptr %t3 + br label %wcond0 +wend2: + %t60 = load ptr, ptr %t0 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 3 + %t62 = load ptr, ptr %t61 + store ptr %t62, ptr @g_ck_ret + %t63 = load ptr, ptr @g_ck_ret + %t64 = icmp eq ptr %t63, null + %t65 = zext i1 %t64 to i32 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then12, label %ifend14 +then12: + store ptr @.str10738, ptr @g_ck_ret + br label %ifend14 +ifend14: + %t67 = load ptr, ptr %t0 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + call void @fn_ck_block(ptr %t69) + store ptr @.str10739, ptr @g_ck_ret + %t70 = load i32, ptr %t2 + call void @fn_ck_pop(i32 %t70) + br label %ret +ret: + ret void +} + +define void @fn_ck_listener(ptr %arg_l) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t7 = alloca i32 + %t12 = alloca i32 + store ptr %arg_l, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_find_event(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = call i32 @fn_ck_mark() + store i32 %t6, ptr %t7 + %t8 = load ptr, ptr %t5 + %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: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr %t5 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 + %t18 = load i32, ptr %t17 + %t19 = icmp slt i32 %t13, %t18 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %wbody4, label %wend5 +wbody4: + %t22 = load ptr, ptr %t5 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = load i32, ptr %t12 + %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp ult i32 %t27, %t29 + br i1 %t30, label %ixok6, label %ixbad7 +ixbad7: + %t31 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str10740, i32 %t27, i32 %t29) + call void @exit(i32 1) + unreachable +ixok6: + %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t34 + %t36 = load ptr, ptr %t5 + %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 %t12 + %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 + %t43 = load i32, ptr %t42 + %t44 = icmp ult i32 %t41, %t43 + br i1 %t44, label %ixok8, label %ixbad9 +ixbad9: + %t45 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str10741, i32 %t41, i32 %t43) + call void @exit(i32 1) + unreachable +ixok8: + %t46 = getelementptr inbounds ptr, ptr %t40, i32 %t41 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 + %t49 = load ptr, ptr %t48 + call void @fn_ck_bind(ptr %t35, ptr %t49) + %t50 = load i32, ptr %t12 + %t51 = add i32 %t50, 1 + store i32 %t51, ptr %t12 + br label %wcond3 +wend5: + br label %ifend2 +ifend2: + store ptr @.str10742, ptr @g_ck_ret + %t52 = load ptr, ptr %t0 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 + %t54 = load ptr, ptr %t53 + call void @fn_ck_block(ptr %t54) + %t55 = load i32, ptr %t7 + call void @fn_ck_pop(i32 %t55) + br label %ret +ret: + ret void +} + +define void @fn_check_program() { +entry: + %t1 = alloca ptr + %t2 = alloca i32 + %t14 = alloca i32 + %t30 = alloca ptr + %t38 = alloca i32 + %t58 = alloca i32 + %t59 = alloca i32 + %t101 = alloca i32 + %t121 = alloca i32 + %t137 = alloca ptr + %t0 = call ptr @getenv(ptr @.str10743) + store ptr %t0, ptr %t1 + %t3 = load ptr, ptr %t1 + %t4 = icmp ne ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t2 + br i1 %t6, label %sc0, label %scend1 +sc0: + %t8 = load ptr, ptr %t1 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str10744) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t2 + br label %scend1 +scend1: + %t12 = load i32, ptr %t2 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then2, label %ifend4 +then2: + br label %ret +ifend4: + call void @fn_ck_index() + store i32 0, ptr %t14 + br label %wcond5 +wcond5: + %t15 = load i32, ptr %t14 + %t16 = load i32, ptr @g_g_prog_user_end + %t17 = icmp slt i32 %t15, %t16 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %wbody6, label %wend7 +wbody6: + %t20 = load ptr, ptr @g_prog + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t14 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t25 = load i32, ptr %t24 + %t26 = icmp ult i32 %t23, %t25 + br i1 %t26, label %ixok8, label %ixbad9 +ixbad9: + %t27 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str10745, i32 %t23, i32 %t25) + call void @exit(i32 1) + unreachable +ixok8: + %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t29 = load ptr, ptr %t28 + store ptr %t29, ptr %t30 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 4 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then10, label %ifend12 +then10: + %t37 = load ptr, ptr %t30 + call void @fn_ck_fn_body(ptr %t37) + br label %ifend12 +ifend12: + %t39 = load ptr, ptr %t30 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 6 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t38 + br i1 %t44, label %scend14, label %sc13 +sc13: + %t46 = load ptr, ptr %t30 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 51 + %t50 = zext i1 %t49 to i32 + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t38 + br label %scend14 +scend14: + %t53 = load i32, ptr %t38 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + %t55 = load ptr, ptr %t30 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 + %t57 = load ptr, ptr %t56 + call void @fn_ck_block(ptr %t57) + br label %ifend17 +ifend17: + %t60 = load ptr, ptr %t30 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 + %t62 = load i32, ptr %t61 + %t63 = icmp eq i32 %t62, 2 + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t59 + br i1 %t65, label %scend19, label %sc18 +sc18: + %t67 = load ptr, ptr %t30 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 0 + %t69 = load i32, ptr %t68 + %t70 = icmp eq i32 %t69, 3 + %t71 = zext i1 %t70 to i32 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t59 + br label %scend19 +scend19: + %t74 = load i32, ptr %t59 + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t58 + br i1 %t75, label %sc20, label %scend21 +sc20: + %t77 = load ptr, ptr %t30 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4 + %t79 = load ptr, ptr %t78 + %t80 = icmp ne ptr %t79, null + %t81 = zext i1 %t80 to i32 + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t58 + br label %scend21 +scend21: + %t84 = load i32, ptr %t58 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then22, label %ifend24 +then22: + %t86 = load ptr, ptr %t30 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 3 + %t88 = load ptr, ptr %t87 + %t89 = load ptr, ptr %t30 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 4 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_ck_expr(ptr %t91) + %t93 = load ptr, ptr %t30 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 + %t95 = load ptr, ptr %t94 + %t96 = load ptr, ptr %t30 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 + %t98 = load ptr, ptr %t97 + call void @fn_ck_give(ptr %t88, ptr %t92, ptr %t95, ptr %t98) + br label %ifend24 +ifend24: + %t99 = load i32, ptr %t14 + %t100 = add i32 %t99, 1 + store i32 %t100, ptr %t14 + br label %wcond5 +wend7: + store i32 0, ptr %t101 + br label %wcond25 +wcond25: + %t102 = load i32, ptr %t101 + %t103 = load ptr, ptr @g_g_onlisten + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 + %t105 = load i32, ptr %t104 + %t106 = icmp slt i32 %t102, %t105 + %t107 = zext i1 %t106 to i32 + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %wbody26, label %wend27 +wbody26: + %t109 = load ptr, ptr @g_g_onlisten + %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 + %t111 = load ptr, ptr %t110 + %t112 = load i32, ptr %t101 + %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 + %t114 = load i32, ptr %t113 + %t115 = icmp ult i32 %t112, %t114 + br i1 %t115, label %ixok28, label %ixbad29 +ixbad29: + %t116 = load ptr, ptr @__stderrp + call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str10746, i32 %t112, i32 %t114) + call void @exit(i32 1) + unreachable +ixok28: + %t117 = getelementptr inbounds ptr, ptr %t111, i32 %t112 + %t118 = load ptr, ptr %t117 + call void @fn_ck_listener(ptr %t118) + %t119 = load i32, ptr %t101 + %t120 = add i32 %t119, 1 + store i32 %t120, ptr %t101 + br label %wcond25 +wend27: + %t122 = load i32, ptr @g_ck_errors + %t123 = icmp sgt i32 %t122, 0 + %t124 = zext i1 %t123 to i32 + %t125 = icmp ne i32 %t124, 0 + %t126 = zext i1 %t125 to i32 + store i32 %t126, ptr %t121 + br i1 %t125, label %sc30, label %scend31 +sc30: + %t127 = call i32 @fn_ck_reporting() + %t128 = icmp eq i32 %t127, 0 + %t129 = zext i1 %t128 to i32 + %t130 = icmp ne i32 %t129, 0 + %t131 = zext i1 %t130 to i32 + store i32 %t131, ptr %t121 + br label %scend31 +scend31: + %t132 = load i32, ptr %t121 + %t133 = icmp ne i32 %t132, 0 + br i1 %t133, label %then32, label %ifend34 +then32: + %t134 = load i32, ptr @g_ck_errors + %t135 = call ptr @fn_itoa(i32 %t134) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str10747) + store ptr %t136, ptr %t137 + %t138 = load ptr, ptr @__stderrp + %t139 = load ptr, ptr %t137 + %t140 = load ptr, ptr %t137 + %t141 = call i64 @strlen(ptr %t140) + %t142 = trunc i64 %t141 to i32 + %t143 = zext i32 %t142 to i64 + %t144 = call i64 @fwrite(ptr %t139, i64 1, i64 %t143, ptr %t138) + %t145 = trunc i64 %t144 to i32 + call void @exit(i32 1) + unreachable +ifend34: + br label %ret +ret: + ret void +} + define void @fn_emit_block(ptr %arg_b) { entry: %t0 = alloca ptr @@ -110715,7 +117722,7 @@ wbody1: br i1 %t33, label %ixok5, label %ixbad6 ixbad6: %t34 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str10451, i32 %t30, i32 %t32) + call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str10748, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok5: @@ -110742,16 +117749,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 @.str10452) + call void @fn_emit(ptr @.str10749) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str10453) + call void @fn_emit(ptr @.str10750) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str10454) + call void @fn_emit(ptr @.str10751) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str10455) + call void @fn_emit(ptr @.str10752) br label %ret ret: ret void @@ -110788,8 +117795,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 @.str10456, ptr %t5 - store ptr @.str10457, ptr %t6 + store ptr @.str10753, ptr %t5 + store ptr @.str10754, ptr %t6 %t7 = load ptr, ptr %t4 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 @@ -110819,7 +117826,7 @@ then3: br i1 %t28, label %ixok6, label %ixbad7 ixbad7: %t29 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10458, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10755, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok6: @@ -110833,8 +117840,8 @@ then8: %t35 = load ptr, ptr %t4 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 - %t38 = call ptr @lp_str_concat(ptr @.str10459, ptr %t37) - %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10460) + %t38 = call ptr @lp_str_concat(ptr @.str10756, ptr %t37) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10757) %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 8 %t42 = load i32, ptr %t41 @@ -110853,7 +117860,7 @@ ifend10: br i1 %t51, label %ixok11, label %ixbad12 ixbad12: %t52 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str10461, i32 %t48, i32 %t50) + call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str10758, i32 %t48, i32 %t50) call void @exit(i32 1) unreachable ixok11: @@ -110870,7 +117877,7 @@ ixok11: br i1 %t61, label %ixok13, label %ixbad14 ixbad14: %t62 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10462, i32 %t58, i32 %t60) + call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10759, i32 %t58, i32 %t60) call void @exit(i32 1) unreachable ixok13: @@ -110893,7 +117900,7 @@ then15: %t74 = load ptr, ptr %t4 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 - %t77 = call ptr @lp_str_concat(ptr @.str10463, ptr %t76) + %t77 = call ptr @lp_str_concat(ptr @.str10760, ptr %t76) call void @fn_perr(ptr %t77) br label %ifend17 ifend17: @@ -110905,7 +117912,7 @@ ifend17: %t82 = load ptr, ptr %t4 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 - %t85 = call ptr @lp_str_concat(ptr @.str10464, ptr %t84) + %t85 = call ptr @lp_str_concat(ptr @.str10761, ptr %t84) store ptr %t85, ptr %t5 %t86 = load ptr, ptr %t69 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 3 @@ -110945,7 +117952,7 @@ then21: store ptr %t106, ptr %t6 br label %ifend23 else22: - call void @fn_perr(ptr @.str10465) + call void @fn_perr(ptr @.str10762) br label %ifend23 ifend23: br label %ifend20 @@ -110963,15 +117970,15 @@ ifend2: %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 - %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str10466) + %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str10763) %t119 = icmp eq i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then24, label %ifend26 then24: %t122 = load ptr, ptr %t109 - %t123 = call ptr @lp_str_concat(ptr @.str10467, ptr %t122) - %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str10468) + %t123 = call ptr @lp_str_concat(ptr @.str10764, ptr %t122) + %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str10765) %t125 = load ptr, ptr %t5 %t126 = call ptr @lp_str_concat(ptr %t124, ptr %t125) %t127 = call ptr @fn_emit_bind(ptr %t126) @@ -110993,13 +118000,13 @@ ifend26: %t140 = call ptr @fn_coerce_code(ptr %t138, ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t109 - %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str10469) + %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str10766) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then27, label %ifend29 then27: %t145 = load ptr, ptr %t141 - %t146 = call ptr @lp_str_concat(ptr @.str10470, ptr %t145) - %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str10471) + %t146 = call ptr @lp_str_concat(ptr @.str10767, ptr %t145) + %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str10768) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t141 br label %ifend29 @@ -111031,8 +118038,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 @lp_str_concat(ptr @.str10472, ptr %t8) - %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10473) + %t9 = call ptr @lp_str_concat(ptr @.str10769, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10770) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 @@ -111041,43 +118048,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 @.str10474) + %t19 = call ptr @fn_lbl(ptr @.str10771) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str10475) + %t21 = call ptr @fn_lbl(ptr @.str10772) store ptr %t21, ptr %t22 - %t23 = call ptr @fn_lbl(ptr @.str10476) + %t23 = call ptr @fn_lbl(ptr @.str10773) 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 @.str10477) + call void @fn_emit(ptr @.str10774) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str10478) + call void @fn_emit(ptr @.str10775) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str10479) + call void @fn_emit(ptr @.str10776) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str10480) + call void @fn_emit(ptr @.str10777) br label %ifend2 else1: - call void @fn_emit(ptr @.str10481) + call void @fn_emit(ptr @.str10778) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str10482) + call void @fn_emit(ptr @.str10779) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str10483) + call void @fn_emit(ptr @.str10780) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str10484) + call void @fn_emit(ptr @.str10781) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str10485) + call void @fn_emit(ptr @.str10782) store i32 0, ptr @g_g_term %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5 @@ -111089,10 +118096,10 @@ ifend2: %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str10486) + call void @fn_emit(ptr @.str10783) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str10487) + call void @fn_emit(ptr @.str10784) br label %ifend5 ifend5: %t42 = load i32, ptr %t18 @@ -111101,7 +118108,7 @@ ifend5: then6: %t44 = load ptr, ptr %t22 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str10488) + call void @fn_emit(ptr @.str10785) store i32 0, ptr @g_g_term %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6 @@ -111131,17 +118138,17 @@ ifend11: %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: - call void @fn_emit(ptr @.str10489) + call void @fn_emit(ptr @.str10786) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str10490) + call void @fn_emit(ptr @.str10787) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str10491) + call void @fn_emit(ptr @.str10788) store i32 0, ptr @g_g_term br label %ret ret: @@ -111157,19 +118164,19 @@ entry: %t13 = alloca ptr %t20 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_lbl(ptr @.str10492) + %t1 = call ptr @fn_lbl(ptr @.str10789) store ptr %t1, ptr %t2 - %t3 = call ptr @fn_lbl(ptr @.str10493) + %t3 = call ptr @fn_lbl(ptr @.str10790) store ptr %t3, ptr %t4 - %t5 = call ptr @fn_lbl(ptr @.str10494) + %t5 = call ptr @fn_lbl(ptr @.str10791) store ptr %t5, ptr %t6 - call void @fn_emit(ptr @.str10495) + call void @fn_emit(ptr @.str10792) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str10496) + call void @fn_emit(ptr @.str10793) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str10497) + call void @fn_emit(ptr @.str10794) %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 @@ -111178,23 +118185,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 @lp_str_concat(ptr @.str10498, ptr %t16) - %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10499) + %t17 = call ptr @lp_str_concat(ptr @.str10795, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10796) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str10500) + call void @fn_emit(ptr @.str10797) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str10501) + call void @fn_emit(ptr @.str10798) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str10502) + call void @fn_emit(ptr @.str10799) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str10503) + call void @fn_emit(ptr @.str10800) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str10504) + call void @fn_emit(ptr @.str10801) store i32 0, ptr @g_g_term %t25 = load ptr, ptr %t2 %t26 = load ptr, ptr %t6 @@ -111210,15 +118217,15 @@ entry: %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str10505) + call void @fn_emit(ptr @.str10802) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str10506) + call void @fn_emit(ptr @.str10803) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str10507) + call void @fn_emit(ptr @.str10804) store i32 0, ptr @g_g_term br label %ret ret: @@ -111240,7 +118247,7 @@ entry: %t62 = alloca ptr %t67 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_emit_alloca(ptr @.str10508) + %t1 = call ptr @fn_emit_alloca(ptr @.str10805) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 @@ -111251,29 +118258,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 @.str10509, ptr %t10, ptr %t11) + call void @fn_store_at(ptr @.str10806, 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 @.str10510) - %t16 = call ptr @fn_lbl(ptr @.str10511) + call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str10807) + %t16 = call ptr @fn_lbl(ptr @.str10808) store ptr %t16, ptr %t17 - %t18 = call ptr @fn_lbl(ptr @.str10512) + %t18 = call ptr @fn_lbl(ptr @.str10809) store ptr %t18, ptr %t19 - %t20 = call ptr @fn_lbl(ptr @.str10513) + %t20 = call ptr @fn_lbl(ptr @.str10810) store ptr %t20, ptr %t21 - %t22 = call ptr @fn_lbl(ptr @.str10514) + %t22 = call ptr @fn_lbl(ptr @.str10811) store ptr %t22, ptr %t23 - call void @fn_emit(ptr @.str10515) + call void @fn_emit(ptr @.str10812) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str10516) + call void @fn_emit(ptr @.str10813) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str10517) + call void @fn_emit(ptr @.str10814) %t26 = load ptr, ptr %t2 - %t27 = call ptr @lp_str_concat(ptr @.str10518, ptr %t26) + %t27 = call ptr @lp_str_concat(ptr @.str10815, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 @@ -111282,27 +118289,27 @@ entry: %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t29 - %t36 = call ptr @lp_str_concat(ptr @.str10519, ptr %t35) - %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10520) + %t36 = call ptr @lp_str_concat(ptr @.str10816, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10817) %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr %t37, ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 - call void @fn_emit(ptr @.str10521) + call void @fn_emit(ptr @.str10818) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str10522) + call void @fn_emit(ptr @.str10819) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str10523) + call void @fn_emit(ptr @.str10820) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str10524) + call void @fn_emit(ptr @.str10821) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str10525) + call void @fn_emit(ptr @.str10822) store i32 0, ptr @g_g_term %t48 = load ptr, ptr %t21 %t49 = load ptr, ptr %t23 @@ -111318,34 +118325,34 @@ entry: %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str10526) + call void @fn_emit(ptr @.str10823) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str10527) + call void @fn_emit(ptr @.str10824) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str10528) + call void @fn_emit(ptr @.str10825) %t59 = load ptr, ptr %t2 - %t60 = call ptr @lp_str_concat(ptr @.str10529, ptr %t59) + %t60 = call ptr @lp_str_concat(ptr @.str10826, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 - %t64 = call ptr @lp_str_concat(ptr @.str10530, ptr %t63) - %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str10531) + %t64 = call ptr @lp_str_concat(ptr @.str10827, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str10828) %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 @.str10532, ptr %t68, ptr %t69) - call void @fn_emit(ptr @.str10533) + call void @fn_store_at(ptr @.str10829, ptr %t68, ptr %t69) + call void @fn_emit(ptr @.str10830) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str10534) + call void @fn_emit(ptr @.str10831) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str10535) + call void @fn_emit(ptr @.str10832) store i32 0, ptr @g_g_term br label %ret ret: @@ -111369,7 +118376,7 @@ entry: br i1 %t7, label %sc0, label %scend1 sc0: %t9 = load ptr, ptr @g_ret_ty - %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10536) + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10833) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t1 @@ -111379,7 +118386,7 @@ scend1: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: - call void @fn_perr(ptr @.str10537) + call void @fn_perr(ptr @.str10834) br label %ifend4 ifend4: %t15 = load ptr, ptr %t0 @@ -111400,12 +118407,12 @@ then5: %t28 = load ptr, ptr %t25 %t29 = load ptr, ptr @g_ret_ty %t30 = call ptr @fn_coerce_code(ptr %t28, ptr %t29) - call void @fn_store_at(ptr %t27, ptr %t30, ptr @.str10538) + call void @fn_store_at(ptr %t27, ptr %t30, ptr @.str10835) br label %ifend7 ifend7: %t31 = load ptr, ptr @g_g_ret_label - %t32 = call ptr @lp_str_concat(ptr @.str10539, ptr %t31) - %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10540) + %t32 = call ptr @lp_str_concat(ptr @.str10836, ptr %t31) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10837) call void @fn_emit(ptr %t33) store i32 1, ptr @g_g_term br label %ret @@ -111454,7 +118461,7 @@ wbody4: br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10541, i32 %t20, i32 %t22) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10838, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: @@ -111594,7 +118601,7 @@ wbody18: br i1 %t72, label %ixok20, label %ixbad21 ixbad21: %t73 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10542, i32 %t69, i32 %t71) + call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10839, i32 %t69, i32 %t71) call void @exit(i32 1) unreachable ixok20: @@ -111670,7 +118677,7 @@ wbody1: br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10543, i32 %t17, i32 %t19) + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10840, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: @@ -111697,7 +118704,7 @@ sc5: br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10544, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10841, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok7: @@ -111705,7 +118712,7 @@ ixok7: %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 - %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10545) + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10842) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t11 @@ -111766,7 +118773,7 @@ entry: br i1 %t19, label %ixok0, label %ixbad1 ixbad1: %t20 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10546, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10843, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok0: @@ -111793,8 +118800,8 @@ then2: %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 - %t42 = call ptr @lp_str_concat(ptr @.str10547, ptr %t41) - %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str10548) + %t42 = call ptr @lp_str_concat(ptr @.str10844, ptr %t41) + %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str10845) %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 @@ -111802,7 +118809,7 @@ then2: %t48 = load i32, ptr %t47 %t49 = call ptr @fn_itoa(i32 %t48) %t50 = call ptr @lp_str_concat(ptr %t43, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10549) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10846) %t52 = load ptr, ptr %t23 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 %t54 = load ptr, ptr %t53 @@ -111839,7 +118846,7 @@ wbody6: br i1 %t77, label %ixok8, label %ixbad9 ixbad9: %t78 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10550, i32 %t74, i32 %t76) + call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10847, i32 %t74, i32 %t76) call void @exit(i32 1) unreachable ixok8: @@ -111859,12 +118866,12 @@ then10: %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 - %t93 = call ptr @lp_str_concat(ptr @.str10551, ptr %t92) - %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10552) + %t93 = call ptr @lp_str_concat(ptr @.str10848, ptr %t92) + %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10849) %t95 = load i32, ptr %t59 %t96 = call ptr @fn_itoa(i32 %t95) %t97 = call ptr @lp_str_concat(ptr %t94, ptr %t96) - %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10553) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10850) call void @fn_perr(ptr %t98) br label %ifend12 ifend12: @@ -111880,7 +118887,7 @@ ifend12: br i1 %t107, label %ixok13, label %ixbad14 ixbad14: %t108 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10554, i32 %t104, i32 %t106) + call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10851, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok13: @@ -111894,24 +118901,24 @@ ixok13: store ptr %t115, ptr %t116 %t117 = call ptr @fn_nreg() store ptr %t117, ptr %t118 - call void @fn_emit(ptr @.str10555) + call void @fn_emit(ptr @.str10852) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str10556) + call void @fn_emit(ptr @.str10853) %t120 = load ptr, ptr %t2 %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 @.str10557) + call void @fn_emit(ptr @.str10854) %t123 = load i32, ptr %t59 %t124 = add i32 %t123, 1 %t125 = mul i32 8, %t124 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10558) + call void @fn_emit(ptr @.str10855) %t127 = load ptr, ptr %t116 - %t128 = call ptr @lp_str_concat(ptr @.str10559, ptr %t127) - %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10560) + %t128 = call ptr @lp_str_concat(ptr @.str10856, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10857) %t130 = load ptr, ptr %t118 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @fn_emit_bind(ptr %t131) @@ -111935,7 +118942,7 @@ ixok13: br i1 %t148, label %ixok15, label %ixbad16 ixbad16: %t149 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str10561, i32 %t145, i32 %t147) + call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str10858, i32 %t145, i32 %t147) call void @exit(i32 1) unreachable ixok15: @@ -111986,10 +118993,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 @lp_str_concat(ptr @.str10562, ptr %t5) + %t6 = call ptr @lp_str_concat(ptr @.str10859, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 - %t9 = call ptr @fn_lbl(ptr @.str10563) + %t9 = call ptr @fn_lbl(ptr @.str10860) store ptr %t9, ptr %t10 store ptr null, ptr %t11 store i32 0, ptr %t12 @@ -112019,7 +119026,7 @@ wbody1: br i1 %t31, label %ixok3, label %ixbad4 ixbad4: %t32 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10564, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10861, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok3: @@ -112035,7 +119042,7 @@ then5: store ptr %t39, ptr %t11 br label %ifend7 else6: - store ptr @.str10565, ptr %t40 + store ptr @.str10862, ptr %t40 store i32 1, ptr %t41 store ptr null, ptr %t42 store i32 0, ptr %t43 @@ -112064,7 +119071,7 @@ wbody9: br i1 %t61, label %ixok11, label %ixbad12 ixbad12: %t62 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10566, i32 %t58, i32 %t60) + call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10863, i32 %t58, i32 %t60) call void @exit(i32 1) unreachable ixok11: @@ -112104,8 +119111,8 @@ ifend15: br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t69 - %t91 = call ptr @lp_str_concat(ptr @.str10567, ptr %t90) - %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str10568) + %t91 = call ptr @lp_str_concat(ptr @.str10864, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str10865) %t93 = load ptr, ptr %t2 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 @@ -112119,8 +119126,8 @@ ifend18: %t100 = or i32 %t97, %t99 store i32 %t100, ptr %t12 %t101 = load ptr, ptr %t8 - %t102 = call ptr @lp_str_concat(ptr @.str10569, ptr %t101) - %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10570) + %t102 = call ptr @lp_str_concat(ptr @.str10866, ptr %t101) + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10867) %t104 = load i32, ptr %t85 %t105 = call ptr @fn_itoa(i32 %t104) %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) @@ -112136,8 +119143,8 @@ then19: br label %ifend21 else20: %t112 = load ptr, ptr %t40 - %t113 = call ptr @lp_str_concat(ptr @.str10571, ptr %t112) - %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10572) + %t113 = call ptr @lp_str_concat(ptr @.str10868, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10869) %t115 = load ptr, ptr %t108 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @fn_emit_bind(ptr %t116) @@ -112149,23 +119156,23 @@ ifend21: store i32 %t119, ptr %t43 br label %wcond8 wend10: - %t120 = call ptr @fn_lbl(ptr @.str10573) + %t120 = call ptr @fn_lbl(ptr @.str10870) store ptr %t120, ptr %t121 - %t122 = call ptr @fn_lbl(ptr @.str10574) + %t122 = call ptr @fn_lbl(ptr @.str10871) store ptr %t122, ptr %t123 - call void @fn_emit(ptr @.str10575) + call void @fn_emit(ptr @.str10872) %t124 = load ptr, ptr %t40 call void @fn_emit(ptr %t124) - call void @fn_emit(ptr @.str10576) + call void @fn_emit(ptr @.str10873) %t125 = load ptr, ptr %t121 call void @fn_emit(ptr %t125) - call void @fn_emit(ptr @.str10577) + call void @fn_emit(ptr @.str10874) %t126 = load ptr, ptr %t123 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10578) + call void @fn_emit(ptr @.str10875) %t127 = load ptr, ptr %t121 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str10579) + call void @fn_emit(ptr @.str10876) store i32 0, ptr @g_g_term %t128 = load i32, ptr @g_nloc store i32 %t128, ptr %t129 @@ -112193,15 +119200,15 @@ ifend24: %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str10580) + call void @fn_emit(ptr @.str10877) %t145 = load ptr, ptr %t10 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str10581) + call void @fn_emit(ptr @.str10878) br label %ifend27 ifend27: %t146 = load ptr, ptr %t123 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str10582) + call void @fn_emit(ptr @.str10879) store i32 0, ptr @g_g_term br label %ifend7 ifend7: @@ -112265,8 +119272,8 @@ then37: %t188 = load ptr, ptr %t2 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 - %t191 = call ptr @lp_str_concat(ptr @.str10583, ptr %t190) - %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10584) + %t191 = call ptr @lp_str_concat(ptr @.str10880, ptr %t190) + %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10881) %t193 = load ptr, ptr %t2 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 @@ -112279,7 +119286,7 @@ then37: br i1 %t201, label %ixok40, label %ixbad41 ixbad41: %t202 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str10585, i32 %t198, i32 %t200) + call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str10882, i32 %t198, i32 %t200) call void @exit(i32 1) unreachable ixok40: @@ -112288,7 +119295,7 @@ ixok40: %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = call ptr @lp_str_concat(ptr %t192, ptr %t206) - %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str10586) + %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str10883) call void @fn_perr(ptr %t208) br label %ifend39 ifend39: @@ -112307,15 +119314,15 @@ ifend30: %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then42, label %ifend44 then42: - call void @fn_emit(ptr @.str10587) + call void @fn_emit(ptr @.str10884) %t215 = load ptr, ptr %t10 call void @fn_emit(ptr %t215) - call void @fn_emit(ptr @.str10588) + call void @fn_emit(ptr @.str10885) br label %ifend44 ifend44: %t216 = load ptr, ptr %t10 call void @fn_emit(ptr %t216) - call void @fn_emit(ptr @.str10589) + call void @fn_emit(ptr @.str10886) store i32 0, ptr @g_g_term br label %ret ret: @@ -112361,7 +119368,7 @@ then0: call void @fn_emit_match_tagged(ptr %t15, ptr %t16, ptr %t17) br label %ret ifend2: - %t18 = call ptr @fn_lbl(ptr @.str10590) + %t18 = call ptr @fn_lbl(ptr @.str10887) store ptr %t18, ptr %t19 store ptr null, ptr %t20 store i32 0, ptr %t21 @@ -112390,7 +119397,7 @@ wbody4: br i1 %t39, label %ixok6, label %ixbad7 ixbad7: %t40 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10591, i32 %t36, i32 %t38) + call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10888, i32 %t36, i32 %t38) call void @exit(i32 1) unreachable ixok6: @@ -112406,7 +119413,7 @@ then8: store ptr %t47, ptr %t20 br label %ifend10 else9: - store ptr @.str10592, ptr %t48 + store ptr @.str10889, ptr %t48 store i32 1, ptr %t49 store i32 0, ptr %t50 br label %wcond11 @@ -112434,7 +119441,7 @@ wbody12: br i1 %t68, label %ixok14, label %ixbad15 ixbad15: %t69 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str10593, i32 %t65, i32 %t67) + call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str10890, i32 %t65, i32 %t67) call void @exit(i32 1) unreachable ixok14: @@ -112445,8 +119452,8 @@ ixok14: %t74 = load ptr, ptr %t5 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 - %t77 = call ptr @lp_str_concat(ptr @.str10594, ptr %t76) - %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10595) + %t77 = call ptr @lp_str_concat(ptr @.str10891, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10892) %t79 = load ptr, ptr %t73 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 @@ -112463,8 +119470,8 @@ then16: br label %ifend18 else17: %t88 = load ptr, ptr %t48 - %t89 = call ptr @lp_str_concat(ptr @.str10596, ptr %t88) - %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10597) + %t89 = call ptr @lp_str_concat(ptr @.str10893, ptr %t88) + %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10894) %t91 = load ptr, ptr %t84 %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) @@ -112476,23 +119483,23 @@ ifend18: store i32 %t95, ptr %t50 br label %wcond11 wend13: - %t96 = call ptr @fn_lbl(ptr @.str10598) + %t96 = call ptr @fn_lbl(ptr @.str10895) store ptr %t96, ptr %t97 - %t98 = call ptr @fn_lbl(ptr @.str10599) + %t98 = call ptr @fn_lbl(ptr @.str10896) store ptr %t98, ptr %t99 - call void @fn_emit(ptr @.str10600) + call void @fn_emit(ptr @.str10897) %t100 = load ptr, ptr %t48 call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str10601) + call void @fn_emit(ptr @.str10898) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str10602) + call void @fn_emit(ptr @.str10899) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str10603) + call void @fn_emit(ptr @.str10900) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str10604) + call void @fn_emit(ptr @.str10901) store i32 0, ptr @g_g_term %t104 = load ptr, ptr %t43 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 @@ -112504,15 +119511,15 @@ wend13: %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then19, label %ifend21 then19: - call void @fn_emit(ptr @.str10605) + call void @fn_emit(ptr @.str10902) %t111 = load ptr, ptr %t19 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str10606) + call void @fn_emit(ptr @.str10903) br label %ifend21 ifend21: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) - call void @fn_emit(ptr @.str10607) + call void @fn_emit(ptr @.str10904) store i32 0, ptr @g_g_term br label %ifend10 ifend10: @@ -112539,15 +119546,15 @@ ifend24: %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str10608) + call void @fn_emit(ptr @.str10905) %t126 = load ptr, ptr %t19 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10609) + call void @fn_emit(ptr @.str10906) br label %ifend27 ifend27: %t127 = load ptr, ptr %t19 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str10610) + call void @fn_emit(ptr @.str10907) store i32 0, ptr @g_g_term br label %ret ret: @@ -112592,7 +119599,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 @lp_str_concat(ptr @.str10611, ptr %t12) + %t13 = call ptr @lp_str_concat(ptr @.str10908, ptr %t12) call void @fn_perr(ptr %t13) br label %ifend2 ifend2: @@ -112647,7 +119654,7 @@ wbody4: br i1 %t50, label %ixok6, label %ixbad7 ixbad7: %t51 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str10612, i32 %t47, i32 %t49) + call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str10909, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok6: @@ -112685,7 +119692,7 @@ wbody9: br i1 %t78, label %ixok11, label %ixbad12 ixbad12: %t79 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str10613, i32 %t75, i32 %t77) + call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str10910, i32 %t75, i32 %t77) call void @exit(i32 1) unreachable ixok11: @@ -112714,7 +119721,7 @@ then13: br i1 %t99, label %ixok16, label %ixbad17 ixbad17: %t100 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str10614, i32 %t96, i32 %t98) + call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str10911, i32 %t96, i32 %t98) call void @exit(i32 1) unreachable ixok16: @@ -112735,13 +119742,13 @@ wend10: %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_llty(ptr %t109) store ptr %t110, ptr %t111 - store ptr @.str10615, ptr %t112 + store ptr @.str10912, ptr %t112 %t113 = load ptr, ptr %t111 - %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str10616) + %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str10913) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: - store ptr @.str10617, ptr %t112 + store ptr @.str10914, ptr %t112 br label %ifend20 ifend20: %t116 = load ptr, ptr %t55 @@ -112851,21 +119858,21 @@ wend5: then31: %t188 = call ptr @fn_nreg() store ptr %t188, ptr %t189 - call void @fn_emit(ptr @.str10618) + call void @fn_emit(ptr @.str10915) %t190 = load ptr, ptr %t189 call void @fn_emit(ptr %t190) - call void @fn_emit(ptr @.str10619) - call void @fn_emit(ptr @.str10620) + call void @fn_emit(ptr @.str10916) + call void @fn_emit(ptr @.str10917) %t191 = load ptr, ptr %t0 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 %t193 = load ptr, ptr %t192 %t194 = call i32 @fn_net_event_id(ptr %t193) %t195 = call ptr @fn_itoa(i32 %t194) call void @fn_emit(ptr %t195) - call void @fn_emit(ptr @.str10621) + call void @fn_emit(ptr @.str10918) %t196 = load ptr, ptr %t189 call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str10622) + call void @fn_emit(ptr @.str10919) store i32 4, ptr %t197 store i32 0, ptr %t198 br label %wcond34 @@ -112883,15 +119890,15 @@ wcond34: wbody35: %t208 = call ptr @fn_nreg() store ptr %t208, ptr %t209 - call void @fn_emit(ptr @.str10623) + call void @fn_emit(ptr @.str10920) %t210 = load ptr, ptr %t209 call void @fn_emit(ptr %t210) - call void @fn_emit(ptr @.str10624) + call void @fn_emit(ptr @.str10921) %t211 = load i32, ptr %t197 %t212 = call ptr @fn_itoa(i32 %t211) call void @fn_emit(ptr %t212) - call void @fn_emit(ptr @.str10625) - call void @fn_emit(ptr @.str10626) + call void @fn_emit(ptr @.str10922) + call void @fn_emit(ptr @.str10923) %t213 = load ptr, ptr %t31 %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 @@ -112902,14 +119909,14 @@ wbody35: br i1 %t219, label %ixok37, label %ixbad38 ixbad38: %t220 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str10627, i32 %t216, i32 %t218) + call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str10924, i32 %t216, i32 %t218) call void @exit(i32 1) unreachable ixok37: %t221 = getelementptr inbounds ptr, ptr %t215, i32 %t216 %t222 = load ptr, ptr %t221 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str10628) + call void @fn_emit(ptr @.str10925) %t223 = load ptr, ptr %t24 %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t225 = load ptr, ptr %t224 @@ -112920,17 +119927,17 @@ ixok37: br i1 %t229, label %ixok39, label %ixbad40 ixbad40: %t230 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str10629, i32 %t226, i32 %t228) + call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str10926, i32 %t226, i32 %t228) call void @exit(i32 1) unreachable ixok39: %t231 = getelementptr inbounds ptr, ptr %t225, i32 %t226 %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str10630) + call void @fn_emit(ptr @.str10927) %t233 = load ptr, ptr %t209 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str10631) + call void @fn_emit(ptr @.str10928) %t234 = load ptr, ptr %t5 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7 %t236 = load ptr, ptr %t235 @@ -112943,7 +119950,7 @@ ixok39: br i1 %t242, label %ixok41, label %ixbad42 ixbad42: %t243 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str10632, i32 %t239, i32 %t241) + call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str10929, i32 %t239, i32 %t241) call void @exit(i32 1) unreachable ixok41: @@ -112960,18 +119967,18 @@ ixok41: store i32 %t252, ptr %t198 br label %wcond34 wend36: - store ptr @.str10633, ptr %t253 + store ptr @.str10930, ptr %t253 %t254 = load ptr, ptr %t5 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 3 %t256 = load ptr, ptr %t255 - %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str10634) + %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str10931) %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then43, label %ifend45 then43: - store ptr @.str10635, ptr %t253 + store ptr @.str10932, ptr %t253 br label %ifend45 ifend45: - %t259 = call ptr @fn_find_extern(ptr @.str10636) + %t259 = call ptr @fn_find_extern(ptr @.str10933) %t260 = icmp eq ptr %t259, null %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 @@ -112980,18 +119987,18 @@ then46: store i32 1, ptr @g_g_uses_loopback br label %ifend48 ifend48: - call void @fn_emit(ptr @.str10637) + call void @fn_emit(ptr @.str10934) %t263 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str10638) + call void @fn_emit(ptr @.str10935) %t264 = load ptr, ptr %t253 call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str10639) + call void @fn_emit(ptr @.str10936) %t265 = load i32, ptr %t197 %t266 = call ptr @fn_itoa(i32 %t265) call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str10640) - %t267 = call ptr @fn_val(ptr @.str10641, ptr @.str10642) + call void @fn_emit(ptr @.str10937) + %t267 = call ptr @fn_val(ptr @.str10938, ptr @.str10939) store ptr %t267, ptr %retval br label %ret ifend33: @@ -113016,7 +120023,7 @@ wbody50: br i1 %t281, label %then52, label %ifend54 then52: %t282 = load ptr, ptr %t269 - call void @fn_buf_puts(ptr %t282, ptr @.str10643) + call void @fn_buf_puts(ptr %t282, ptr @.str10940) br label %ifend54 ifend54: %t283 = load ptr, ptr %t269 @@ -113030,7 +120037,7 @@ ifend54: br i1 %t290, label %ixok55, label %ixbad56 ixbad56: %t291 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str10644, i32 %t287, i32 %t289) + call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str10941, i32 %t287, i32 %t289) call void @exit(i32 1) unreachable ixok55: @@ -113038,7 +120045,7 @@ ixok55: %t293 = load ptr, ptr %t292 call void @fn_buf_puts(ptr %t283, ptr %t293) %t294 = load ptr, ptr %t269 - call void @fn_buf_puts(ptr %t294, ptr @.str10645) + call void @fn_buf_puts(ptr %t294, ptr @.str10942) %t295 = load ptr, ptr %t269 %t296 = load ptr, ptr %t24 %t297 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 @@ -113050,7 +120057,7 @@ ixok55: br i1 %t302, label %ixok57, label %ixbad58 ixbad58: %t303 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str10646, i32 %t299, i32 %t301) + call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str10943, i32 %t299, i32 %t301) call void @exit(i32 1) unreachable ixok57: @@ -113072,35 +120079,35 @@ wend51: then59: %t314 = call ptr @fn_nreg() store ptr %t314, ptr %t315 - call void @fn_emit(ptr @.str10647) + call void @fn_emit(ptr @.str10944) %t316 = load ptr, ptr %t315 call void @fn_emit(ptr %t316) - call void @fn_emit(ptr @.str10648) + call void @fn_emit(ptr @.str10945) %t317 = load ptr, ptr %t0 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 1 %t319 = load ptr, ptr %t318 call void @fn_emit(ptr %t319) - call void @fn_emit(ptr @.str10649) + call void @fn_emit(ptr @.str10946) %t320 = load ptr, ptr %t269 %t321 = call ptr @fn_buf_str(ptr %t320) call void @fn_emit(ptr %t321) - call void @fn_emit(ptr @.str10650) + call void @fn_emit(ptr @.str10947) %t322 = load ptr, ptr %t315 - %t323 = call ptr @fn_val(ptr %t322, ptr @.str10651) + %t323 = call ptr @fn_val(ptr %t322, ptr @.str10948) store ptr %t323, ptr %retval br label %ret ifend61: - call void @fn_emit(ptr @.str10652) + call void @fn_emit(ptr @.str10949) %t324 = load ptr, ptr %t0 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 1 %t326 = load ptr, ptr %t325 call void @fn_emit(ptr %t326) - call void @fn_emit(ptr @.str10653) + call void @fn_emit(ptr @.str10950) %t327 = load ptr, ptr %t269 %t328 = call ptr @fn_buf_str(ptr %t327) call void @fn_emit(ptr %t328) - call void @fn_emit(ptr @.str10654) - %t329 = call ptr @fn_val(ptr @.str10655, ptr @.str10656) + call void @fn_emit(ptr @.str10951) + %t329 = call ptr @fn_val(ptr @.str10952, ptr @.str10953) store ptr %t329, ptr %retval br label %ret ret: @@ -113303,7 +120310,7 @@ ifend23: %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then24, label %ifend26 then24: - call void @fn_emit(ptr @.str10657) + call void @fn_emit(ptr @.str10954) %t129 = load ptr, ptr @g_brk_lbl %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 @@ -113315,14 +120322,14 @@ then24: br i1 %t136, label %ixok27, label %ixbad28 ixbad28: %t137 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10658, i32 %t133, i32 %t135) + call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10955, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok27: %t138 = getelementptr inbounds ptr, ptr %t131, i32 %t133 %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str10659) + call void @fn_emit(ptr @.str10956) store i32 1, ptr @g_g_term br label %ret ifend26: @@ -113334,7 +120341,7 @@ ifend26: %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then29, label %ifend31 then29: - call void @fn_emit(ptr @.str10660) + call void @fn_emit(ptr @.str10957) %t146 = load ptr, ptr @g_cnt_lbl %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 @@ -113346,14 +120353,14 @@ then29: br i1 %t153, label %ixok32, label %ixbad33 ixbad33: %t154 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10661, i32 %t150, i32 %t152) + call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10958, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok32: %t155 = getelementptr inbounds ptr, ptr %t148, i32 %t150 %t156 = load ptr, ptr %t155 call void @fn_emit(ptr %t156) - call void @fn_emit(ptr @.str10662) + call void @fn_emit(ptr @.str10959) store i32 1, ptr @g_g_term br label %ret ifend31: @@ -113469,13 +120476,13 @@ then58: %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then61, label %ifend63 then61: - call void @fn_perr(ptr @.str10663) + call void @fn_perr(ptr @.str10960) br label %ifend63 ifend63: - call void @fn_emit(ptr @.str10664) + call void @fn_emit(ptr @.str10961) %t227 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t227) - call void @fn_emit(ptr @.str10665) + call void @fn_emit(ptr @.str10962) br label %ret ifend60: %t228 = load ptr, ptr %t0 @@ -113517,7 +120524,7 @@ then70: store ptr %t251, ptr %t252 br label %ret ifend72: - call void @fn_perr(ptr @.str10666) + call void @fn_perr(ptr @.str10963) br label %ret ret: ret void @@ -113548,7 +120555,7 @@ then0: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10667, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10964, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -113565,7 +120572,7 @@ ixok3: br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str10668, i32 %t22, i32 %t24) + call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str10965, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok5: @@ -113676,7 +120683,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10669, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10966, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -113737,7 +120744,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10670, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10967, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -113791,7 +120798,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10671, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10968, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -113811,7 +120818,7 @@ ifend7: store i32 %t23, ptr %t0 br label %wcond0 wend2: - %t24 = call ptr @fn_find_comp(ptr @.str10672) + %t24 = call ptr @fn_find_comp(ptr @.str10969) %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 @@ -113853,7 +120860,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10673, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10970, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -113911,9 +120918,9 @@ entry: %t24 = alloca i32 %t42 = alloca ptr %t94 = alloca i32 - call void @fn_emith(ptr @.str10674) - call void @fn_emith(ptr @.str10675) - call void @fn_emith(ptr @.str10676) + call void @fn_emith(ptr @.str10971) + call void @fn_emith(ptr @.str10972) + call void @fn_emith(ptr @.str10973) %t0 = load ptr, ptr @g_g_scenes %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -113922,31 +120929,31 @@ entry: %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: - call void @fn_emith(ptr @.str10677) + call void @fn_emith(ptr @.str10974) br label %ifend2 ifend2: - call void @fn_emith(ptr @.str10678) + call void @fn_emith(ptr @.str10975) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @lp_str_concat(ptr @.str10679, ptr %t8) - %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10680) + %t9 = call ptr @lp_str_concat(ptr @.str10976, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10977) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 - %t12 = call ptr @lp_str_concat(ptr @.str10681, ptr %t11) - %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10682) + %t12 = call ptr @lp_str_concat(ptr @.str10978, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10979) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 - %t15 = call ptr @lp_str_concat(ptr @.str10683, ptr %t14) - %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10684) + %t15 = call ptr @lp_str_concat(ptr @.str10980, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10981) call void @fn_emith(ptr %t16) - call void @fn_emith(ptr @.str10685) + call void @fn_emith(ptr @.str10982) %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 @.str10686) - call void @fn_emith(ptr @.str10687) + call void @fn_emith(ptr @.str10983) + call void @fn_emith(ptr @.str10984) br label %ifend5 ifend5: %t19 = call i32 @fn_net_has_owned() @@ -113954,8 +120961,8 @@ ifend5: br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t7 - %t22 = call ptr @lp_str_concat(ptr @.str10688, ptr %t21) - %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str10689) + %t22 = call ptr @lp_str_concat(ptr @.str10985, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str10986) call void @fn_emith(ptr %t23) br label %ifend8 ifend8: @@ -113981,7 +120988,7 @@ wbody10: br i1 %t38, label %ixok12, label %ixbad13 ixbad13: %t39 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10690, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10987, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok12: @@ -113999,25 +121006,25 @@ then14: %t49 = load ptr, ptr %t42 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 - %t52 = call ptr @lp_str_concat(ptr @.str10691, ptr %t51) - %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10692) + %t52 = call ptr @lp_str_concat(ptr @.str10988, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10989) %t54 = load ptr, ptr %t7 %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) - %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10693) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10990) %t57 = load ptr, ptr %t42 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr %t56, ptr %t59) - %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10694) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10991) call void @fn_emith(ptr %t61) %t62 = load ptr, ptr %t42 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 - %t65 = call ptr @lp_str_concat(ptr @.str10695, ptr %t64) - %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10696) + %t65 = call ptr @lp_str_concat(ptr @.str10992, ptr %t64) + %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10993) %t67 = load ptr, ptr %t7 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) - %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10697) + %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10994) call void @fn_emith(ptr %t69) br label %ifend16 ifend16: @@ -114032,8 +121039,8 @@ then17: %t76 = load ptr, ptr %t42 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 - %t79 = call ptr @lp_str_concat(ptr @.str10698, ptr %t78) - %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10699) + %t79 = call ptr @lp_str_concat(ptr @.str10995, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10996) call void @fn_emith(ptr %t80) br label %ifend19 ifend19: @@ -114048,8 +121055,8 @@ then20: %t87 = load ptr, ptr %t42 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 - %t90 = call ptr @lp_str_concat(ptr @.str10700, ptr %t89) - %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10701) + %t90 = call ptr @lp_str_concat(ptr @.str10997, ptr %t89) + %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10998) call void @fn_emith(ptr %t91) br label %ifend22 ifend22: @@ -114080,14 +121087,14 @@ wbody24: br i1 %t108, label %ixok26, label %ixbad27 ixbad27: %t109 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str10703, i32 %t105, i32 %t107) + call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str11000, i32 %t105, i32 %t107) call void @exit(i32 1) unreachable ixok26: %t110 = getelementptr inbounds ptr, ptr %t104, i32 %t105 %t111 = load ptr, ptr %t110 - %t112 = call ptr @lp_str_concat(ptr @.str10702, ptr %t111) - %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str10704) + %t112 = call ptr @lp_str_concat(ptr @.str10999, ptr %t111) + %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str11001) call void @fn_emith(ptr %t113) %t114 = load i32, ptr %t94 %t115 = add i32 %t114, 1 @@ -114106,7 +121113,7 @@ entry: %t28 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str10705) + call void @fn_emit(ptr @.str11002) store i32 0, ptr %t2 br label %wcond0 wcond0: @@ -114129,7 +121136,7 @@ wbody1: br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10706, i32 %t13, i32 %t15) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str11003, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: @@ -114144,15 +121151,15 @@ ixok3: then5: %t25 = load i32, ptr %t2 %t26 = call ptr @fn_itoa(i32 %t25) - %t27 = call ptr @lp_str_concat(ptr @.str10707, ptr %t26) + %t27 = call ptr @lp_str_concat(ptr @.str11004, ptr %t26) store ptr %t27, ptr %t28 - call void @fn_emit(ptr @.str10708) + call void @fn_emit(ptr @.str11005) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str10709) + call void @fn_emit(ptr @.str11006) %t30 = load ptr, ptr %t1 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str10710) + call void @fn_emit(ptr @.str11007) %t31 = load ptr, ptr @g_prog %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 @@ -114163,7 +121170,7 @@ then5: br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str10711, i32 %t34, i32 %t36) + call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str11008, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: @@ -114172,11 +121179,11 @@ ixok8: %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str10712) - call void @fn_emit(ptr @.str10713) + call void @fn_emit(ptr @.str11009) + call void @fn_emit(ptr @.str11010) %t43 = load ptr, ptr %t28 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str10714) + call void @fn_emit(ptr @.str11011) br label %ifend7 ifend7: %t44 = load i32, ptr %t2 @@ -114184,66 +121191,66 @@ ifend7: store i32 %t45, ptr %t2 br label %wcond0 wend2: - call void @fn_emit(ptr @.str10715) + call void @fn_emit(ptr @.str11012) %t46 = load ptr, ptr %t1 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str10716) - call void @fn_emit(ptr @.str10717) + call void @fn_emit(ptr @.str11013) + call void @fn_emit(ptr @.str11014) %t47 = call i32 @fn_net_has_owned() %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str10718) + call void @fn_emit(ptr @.str11015) %t49 = load ptr, ptr %t1 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str10719) - call void @fn_emit(ptr @.str10720) + call void @fn_emit(ptr @.str11016) + call void @fn_emit(ptr @.str11017) br label %ifend12 ifend12: - call void @fn_emit(ptr @.str10721) - call void @fn_emit(ptr @.str10722) - call void @fn_emit(ptr @.str10723) - call void @fn_emit(ptr @.str10724) - call void @fn_emit(ptr @.str10725) - call void @fn_emit(ptr @.str10726) - call void @fn_emit(ptr @.str10727) - call void @fn_emit(ptr @.str10728) - call void @fn_emit(ptr @.str10729) + call void @fn_emit(ptr @.str11018) + call void @fn_emit(ptr @.str11019) + call void @fn_emit(ptr @.str11020) + call void @fn_emit(ptr @.str11021) + call void @fn_emit(ptr @.str11022) + call void @fn_emit(ptr @.str11023) + call void @fn_emit(ptr @.str11024) + call void @fn_emit(ptr @.str11025) + call void @fn_emit(ptr @.str11026) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str10730) - call void @fn_emit(ptr @.str10731) - call void @fn_emit(ptr @.str10732) - call void @fn_emit(ptr @.str10733) - call void @fn_emit(ptr @.str10734) - call void @fn_emit(ptr @.str10735) - call void @fn_emit(ptr @.str10736) - call void @fn_emit(ptr @.str10737) - call void @fn_emit(ptr @.str10738) - call void @fn_emit(ptr @.str10739) - call void @fn_emit(ptr @.str10740) - call void @fn_emit(ptr @.str10741) + call void @fn_emit(ptr @.str11027) + call void @fn_emit(ptr @.str11028) + call void @fn_emit(ptr @.str11029) + call void @fn_emit(ptr @.str11030) + call void @fn_emit(ptr @.str11031) + call void @fn_emit(ptr @.str11032) + call void @fn_emit(ptr @.str11033) + call void @fn_emit(ptr @.str11034) + call void @fn_emit(ptr @.str11035) + call void @fn_emit(ptr @.str11036) + call void @fn_emit(ptr @.str11037) + call void @fn_emit(ptr @.str11038) %t51 = load ptr, ptr %t1 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str10742) - call void @fn_emit(ptr @.str10743) - call void @fn_emit(ptr @.str10744) - call void @fn_emit(ptr @.str10745) - call void @fn_emit(ptr @.str10746) + call void @fn_emit(ptr @.str11039) + call void @fn_emit(ptr @.str11040) + call void @fn_emit(ptr @.str11041) + call void @fn_emit(ptr @.str11042) + call void @fn_emit(ptr @.str11043) %t52 = load ptr, ptr %t1 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str10747) - call void @fn_emit(ptr @.str10748) - call void @fn_emit(ptr @.str10749) - call void @fn_emit(ptr @.str10750) - call void @fn_emit(ptr @.str10751) + call void @fn_emit(ptr @.str11044) + call void @fn_emit(ptr @.str11045) + call void @fn_emit(ptr @.str11046) + call void @fn_emit(ptr @.str11047) + call void @fn_emit(ptr @.str11048) %t53 = load ptr, ptr %t1 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str10752) - call void @fn_emit(ptr @.str10753) - call void @fn_emit(ptr @.str10754) - call void @fn_emit(ptr @.str10755) - call void @fn_emit(ptr @.str10756) + call void @fn_emit(ptr @.str11049) + call void @fn_emit(ptr @.str11050) + call void @fn_emit(ptr @.str11051) + call void @fn_emit(ptr @.str11052) + call void @fn_emit(ptr @.str11053) br label %ret ret: ret void @@ -114279,7 +121286,7 @@ wbody1: br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10757, i32 %t13, i32 %t15) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str11054, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: @@ -114302,7 +121309,7 @@ then5: br i1 %t31, label %ixok8, label %ixbad9 ixbad9: %t32 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10758, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str11055, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok8: @@ -114380,10 +121387,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 @.str10759) + %t3 = call ptr @fn_emit_alloca(ptr @.str11056) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - call void @fn_store_at(ptr @.str10760, ptr @.str10761, ptr %t5) + call void @fn_store_at(ptr @.str11057, ptr @.str11058, 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 @@ -114403,7 +121410,7 @@ then0: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10762, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str11059, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -114445,88 +121452,88 @@ ifend2: %t43 = load i32, ptr @g_nself %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_nself - %t45 = call ptr @fn_lbl(ptr @.str10763) + %t45 = call ptr @fn_lbl(ptr @.str11060) store ptr %t45, ptr %t46 - %t47 = call ptr @fn_lbl(ptr @.str10764) + %t47 = call ptr @fn_lbl(ptr @.str11061) store ptr %t47, ptr %t48 - %t49 = call ptr @fn_lbl(ptr @.str10765) + %t49 = call ptr @fn_lbl(ptr @.str11062) store ptr %t49, ptr %t50 - %t51 = call ptr @fn_lbl(ptr @.str10766) + %t51 = call ptr @fn_lbl(ptr @.str11063) store ptr %t51, ptr %t52 - call void @fn_emit(ptr @.str10767) + call void @fn_emit(ptr @.str11064) %t53 = load ptr, ptr %t46 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str10768) + call void @fn_emit(ptr @.str11065) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str10769) + call void @fn_emit(ptr @.str11066) %t55 = load ptr, ptr %t4 - %t56 = call ptr @lp_str_concat(ptr @.str10770, ptr %t55) + %t56 = call ptr @lp_str_concat(ptr @.str11067, ptr %t55) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 - %t59 = call ptr @fn_emit_bind(ptr @.str10771) + %t59 = call ptr @fn_emit_bind(ptr @.str11068) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t58 - %t62 = call ptr @lp_str_concat(ptr @.str10772, ptr %t61) - %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str10773) + %t62 = call ptr @lp_str_concat(ptr @.str11069, ptr %t61) + %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11070) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 - call void @fn_emit(ptr @.str10774) + call void @fn_emit(ptr @.str11071) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str10775) + call void @fn_emit(ptr @.str11072) %t69 = load ptr, ptr %t48 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str10776) + call void @fn_emit(ptr @.str11073) %t70 = load ptr, ptr %t52 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str10777) + call void @fn_emit(ptr @.str11074) %t71 = load ptr, ptr %t48 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str10778) + call void @fn_emit(ptr @.str11075) store i32 0, ptr @g_g_term %t72 = load ptr, ptr %t4 - %t73 = call ptr @lp_str_concat(ptr @.str10779, ptr %t72) + %t73 = call ptr @lp_str_concat(ptr @.str11076, ptr %t72) %t74 = call ptr @fn_emit_bind(ptr %t73) store ptr %t74, ptr %t75 %t76 = call ptr @fn_nreg() store ptr %t76, ptr %t77 - call void @fn_emit(ptr @.str10780) + call void @fn_emit(ptr @.str11077) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str10781) + call void @fn_emit(ptr @.str11078) %t79 = load ptr, ptr %t2 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str10782) + call void @fn_emit(ptr @.str11079) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str10783) + call void @fn_emit(ptr @.str11080) %t81 = load ptr, ptr %t77 - %t82 = call ptr @lp_str_concat(ptr @.str10784, ptr %t81) + %t82 = call ptr @lp_str_concat(ptr @.str11081, ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 - %t86 = call ptr @lp_str_concat(ptr @.str10785, ptr %t85) - %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10786) + %t86 = call ptr @lp_str_concat(ptr @.str11082, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str11083) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 - %t90 = call ptr @fn_lbl(ptr @.str10787) + %t90 = call ptr @fn_lbl(ptr @.str11084) store ptr %t90, ptr %t91 - call void @fn_emit(ptr @.str10788) + call void @fn_emit(ptr @.str11085) %t92 = load ptr, ptr %t89 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str10789) + call void @fn_emit(ptr @.str11086) %t93 = load ptr, ptr %t91 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str10790) + call void @fn_emit(ptr @.str11087) %t94 = load ptr, ptr %t50 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str10791) + call void @fn_emit(ptr @.str11088) %t95 = load ptr, ptr %t91 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str10792) + call void @fn_emit(ptr @.str11089) %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 6 %t98 = load ptr, ptr %t97 @@ -114557,7 +121564,7 @@ wbody8: br i1 %t118, label %ixok10, label %ixbad11 ixbad11: %t119 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str10793, i32 %t115, i32 %t117) + call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str11090, i32 %t115, i32 %t117) call void @exit(i32 1) unreachable ixok10: @@ -114569,7 +121576,7 @@ ixok10: %t125 = load ptr, ptr %t124 %t126 = call i32 @fn_find_arch_id(ptr %t125) store i32 %t126, ptr %t127 - store ptr @.str10794, ptr %t128 + store ptr @.str11091, ptr %t128 %t129 = load i32, ptr %t127 %t130 = icmp sgt i32 %t129, 0 %t131 = zext i1 %t130 to i32 @@ -114578,23 +121585,23 @@ ixok10: then12: %t133 = call ptr @fn_nreg() store ptr %t133, ptr %t134 - call void @fn_emit(ptr @.str10795) + call void @fn_emit(ptr @.str11092) %t135 = load ptr, ptr %t134 call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str10796) + call void @fn_emit(ptr @.str11093) %t136 = load ptr, ptr %t2 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str10797) + call void @fn_emit(ptr @.str11094) %t137 = load ptr, ptr %t75 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str10798) + call void @fn_emit(ptr @.str11095) %t138 = load ptr, ptr %t134 - %t139 = call ptr @lp_str_concat(ptr @.str10799, ptr %t138) + %t139 = call ptr @lp_str_concat(ptr @.str11096, ptr %t138) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t141 - %t143 = call ptr @lp_str_concat(ptr @.str10800, ptr %t142) - %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str10801) + %t143 = call ptr @lp_str_concat(ptr @.str11097, ptr %t142) + %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str11098) %t145 = load i32, ptr %t127 %t146 = call ptr @fn_itoa(i32 %t145) %t147 = call ptr @lp_str_concat(ptr %t144, ptr %t146) @@ -114603,17 +121610,17 @@ then12: %t150 = load ptr, ptr %t122 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 - %t153 = call ptr @lp_str_concat(ptr @.str10802, ptr %t152) + %t153 = call ptr @lp_str_concat(ptr @.str11099, ptr %t152) %t154 = call ptr @fn_emit_bind(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 - %t157 = call ptr @lp_str_concat(ptr @.str10803, ptr %t156) - %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str10804) + %t157 = call ptr @lp_str_concat(ptr @.str11100, ptr %t156) + %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11101) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t149 - %t162 = call ptr @lp_str_concat(ptr @.str10805, ptr %t161) - %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str10806) + %t162 = call ptr @lp_str_concat(ptr @.str11102, ptr %t161) + %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str11103) %t164 = load ptr, ptr %t160 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @fn_emit_bind(ptr %t165) @@ -114622,47 +121629,47 @@ then12: else13: %t167 = call ptr @fn_nreg() store ptr %t167, ptr %t168 - call void @fn_emit(ptr @.str10807) + call void @fn_emit(ptr @.str11104) %t169 = load ptr, ptr %t168 call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str10808) + call void @fn_emit(ptr @.str11105) %t170 = load ptr, ptr %t2 call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str10809) + call void @fn_emit(ptr @.str11106) %t171 = load ptr, ptr %t122 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str10810) + call void @fn_emit(ptr @.str11107) %t174 = load ptr, ptr %t75 call void @fn_emit(ptr %t174) - call void @fn_emit(ptr @.str10811) + call void @fn_emit(ptr @.str11108) %t175 = load ptr, ptr %t168 - %t176 = call ptr @lp_str_concat(ptr @.str10812, ptr %t175) + %t176 = call ptr @lp_str_concat(ptr @.str11109, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t178 - %t180 = call ptr @lp_str_concat(ptr @.str10813, ptr %t179) - %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str10814) + %t180 = call ptr @lp_str_concat(ptr @.str11110, ptr %t179) + %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str11111) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t128 br label %ifend14 ifend14: - %t183 = call ptr @fn_lbl(ptr @.str10815) + %t183 = call ptr @fn_lbl(ptr @.str11112) store ptr %t183, ptr %t184 - call void @fn_emit(ptr @.str10816) + call void @fn_emit(ptr @.str11113) %t185 = load ptr, ptr %t128 call void @fn_emit(ptr %t185) - call void @fn_emit(ptr @.str10817) + call void @fn_emit(ptr @.str11114) %t186 = load ptr, ptr %t184 call void @fn_emit(ptr %t186) - call void @fn_emit(ptr @.str10818) + call void @fn_emit(ptr @.str11115) %t187 = load ptr, ptr %t50 call void @fn_emit(ptr %t187) - call void @fn_emit(ptr @.str10819) + call void @fn_emit(ptr @.str11116) %t188 = load ptr, ptr %t184 call void @fn_emit(ptr %t188) - call void @fn_emit(ptr @.str10820) + call void @fn_emit(ptr @.str11117) %t189 = load i32, ptr %t100 %t190 = add i32 %t189, 1 store i32 %t190, ptr %t100 @@ -114697,7 +121704,7 @@ wbody16: br i1 %t211, label %ixok18, label %ixbad19 ixbad19: %t212 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str10821, i32 %t208, i32 %t210) + call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str11118, i32 %t208, i32 %t210) call void @exit(i32 1) unreachable ixok18: @@ -114742,35 +121749,35 @@ then22: then25: %t243 = call ptr @fn_nreg() store ptr %t243, ptr %t244 - call void @fn_emit(ptr @.str10822) + call void @fn_emit(ptr @.str11119) %t245 = load ptr, ptr %t244 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str10823) + call void @fn_emit(ptr @.str11120) %t246 = load ptr, ptr %t2 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str10824) + call void @fn_emit(ptr @.str11121) %t247 = load ptr, ptr %t215 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1 %t249 = load ptr, ptr %t248 call void @fn_emit(ptr %t249) - call void @fn_emit(ptr @.str10825) + call void @fn_emit(ptr @.str11122) %t250 = load ptr, ptr %t215 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 1 %t252 = load ptr, ptr %t251 call void @fn_emit(ptr %t252) - call void @fn_emit(ptr @.str10826) + call void @fn_emit(ptr @.str11123) %t253 = load ptr, ptr %t75 call void @fn_emit(ptr %t253) - call void @fn_emit(ptr @.str10827) - %t254 = call ptr @fn_emit_alloca(ptr @.str10828) + call void @fn_emit(ptr @.str11124) + %t254 = call ptr @fn_emit_alloca(ptr @.str11125) store ptr %t254, ptr %t255 - call void @fn_emit(ptr @.str10829) + call void @fn_emit(ptr @.str11126) %t256 = load ptr, ptr %t244 call void @fn_emit(ptr %t256) - call void @fn_emit(ptr @.str10830) + call void @fn_emit(ptr @.str11127) %t257 = load ptr, ptr %t255 call void @fn_emit(ptr %t257) - call void @fn_emit(ptr @.str10831) + call void @fn_emit(ptr @.str11128) %t258 = load ptr, ptr %t0 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 7 %t260 = load ptr, ptr %t259 @@ -114783,7 +121790,7 @@ then25: br i1 %t266, label %ixok28, label %ixbad29 ixbad29: %t267 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str10832, i32 %t263, i32 %t265) + call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str11129, i32 %t263, i32 %t265) call void @exit(i32 1) unreachable ixok28: @@ -114824,25 +121831,25 @@ then30: %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %Cmp_Val, ptr %t291, i32 0, i32 0 %t293 = load ptr, ptr %t292 - %t294 = call ptr @lp_str_concat(ptr @.str10833, ptr %t293) - %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str10834) + %t294 = call ptr @lp_str_concat(ptr @.str11130, ptr %t293) + %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str11131) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 - %t298 = call ptr @fn_lbl(ptr @.str10835) + %t298 = call ptr @fn_lbl(ptr @.str11132) store ptr %t298, ptr %t299 - call void @fn_emit(ptr @.str10836) + call void @fn_emit(ptr @.str11133) %t300 = load ptr, ptr %t297 call void @fn_emit(ptr %t300) - call void @fn_emit(ptr @.str10837) + call void @fn_emit(ptr @.str11134) %t301 = load ptr, ptr %t299 call void @fn_emit(ptr %t301) - call void @fn_emit(ptr @.str10838) + call void @fn_emit(ptr @.str11135) %t302 = load ptr, ptr %t50 call void @fn_emit(ptr %t302) - call void @fn_emit(ptr @.str10839) + call void @fn_emit(ptr @.str11136) %t303 = load ptr, ptr %t299 call void @fn_emit(ptr %t303) - call void @fn_emit(ptr @.str10840) + call void @fn_emit(ptr @.str11137) br label %ifend32 ifend32: %t304 = load ptr, ptr %t50 @@ -114861,34 +121868,34 @@ ifend32: %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then33, label %ifend35 then33: - call void @fn_emit(ptr @.str10841) + call void @fn_emit(ptr @.str11138) %t314 = load ptr, ptr %t50 call void @fn_emit(ptr %t314) - call void @fn_emit(ptr @.str10842) + call void @fn_emit(ptr @.str11139) br label %ifend35 ifend35: %t315 = load ptr, ptr %t50 call void @fn_emit(ptr %t315) - call void @fn_emit(ptr @.str10843) + call void @fn_emit(ptr @.str11140) %t316 = load ptr, ptr %t4 - %t317 = call ptr @lp_str_concat(ptr @.str10844, ptr %t316) + %t317 = call ptr @lp_str_concat(ptr @.str11141, ptr %t316) %t318 = call ptr @fn_emit_bind(ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t319 - %t321 = call ptr @lp_str_concat(ptr @.str10845, ptr %t320) - %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str10846) + %t321 = call ptr @lp_str_concat(ptr @.str11142, ptr %t320) + %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str11143) %t323 = call ptr @fn_emit_bind(ptr %t322) store ptr %t323, ptr %t324 %t325 = load ptr, ptr %t324 %t326 = load ptr, ptr %t4 - call void @fn_store_at(ptr @.str10847, ptr %t325, ptr %t326) - call void @fn_emit(ptr @.str10848) + call void @fn_store_at(ptr @.str11144, ptr %t325, ptr %t326) + call void @fn_emit(ptr @.str11145) %t327 = load ptr, ptr %t46 call void @fn_emit(ptr %t327) - call void @fn_emit(ptr @.str10849) + call void @fn_emit(ptr @.str11146) %t328 = load ptr, ptr %t52 call void @fn_emit(ptr %t328) - call void @fn_emit(ptr @.str10850) + call void @fn_emit(ptr @.str11147) store i32 0, ptr @g_g_term %t329 = load i32, ptr @g_nself %t330 = sub i32 %t329, 1 @@ -114905,15 +121912,15 @@ entry: %t3 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_body, ptr %t1 - %t2 = call ptr @fn_emit_alloca(ptr @.str10851) + %t2 = call ptr @fn_emit_alloca(ptr @.str11148) store ptr %t2, ptr %t3 - call void @fn_emit(ptr @.str10852) + call void @fn_emit(ptr @.str11149) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str10853) + call void @fn_emit(ptr @.str11150) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str10854) + call void @fn_emit(ptr @.str11151) %t6 = load i32, ptr @g_nself %t7 = load ptr, ptr @g_self_stk %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 @@ -114933,7 +121940,7 @@ then0: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10855, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str11152, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -115026,47 +122033,47 @@ entry: br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t1 - %t13 = call ptr @lp_str_concat(ptr @.str10856, ptr %t12) + %t13 = call ptr @lp_str_concat(ptr @.str11153, 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 @.str10857) + call void @fn_emit(ptr @.str11154) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str10858) + call void @fn_emit(ptr @.str11155) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str10859) + call void @fn_emit(ptr @.str11156) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str10860) + call void @fn_emit(ptr @.str11157) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) - call void @fn_emit(ptr @.str10861) - call void @fn_emit(ptr @.str10862) + call void @fn_emit(ptr @.str11158) + call void @fn_emit(ptr @.str11159) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str10863) + call void @fn_emit(ptr @.str11160) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str10864) + call void @fn_emit(ptr @.str11161) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str10865) + call void @fn_emit(ptr @.str11162) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str10866) + call void @fn_emit(ptr @.str11163) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str10867) + call void @fn_emit(ptr @.str11164) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str10868) + call void @fn_emit(ptr @.str11165) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str10869) + call void @fn_emit(ptr @.str11166) store i32 0, ptr %t28 br label %wcond3 wcond3: @@ -115093,7 +122100,7 @@ wbody4: br i1 %t46, label %ixok6, label %ixbad7 ixbad7: %t47 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str10870, i32 %t43, i32 %t45) + call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str11167, i32 %t43, i32 %t45) call void @exit(i32 1) unreachable ixok6: @@ -115102,20 +122109,20 @@ ixok6: store ptr %t49, ptr %t50 %t51 = call ptr @fn_nreg() store ptr %t51, ptr %t52 - call void @fn_emit(ptr @.str10871) + call void @fn_emit(ptr @.str11168) %t53 = load ptr, ptr %t52 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str10872) + call void @fn_emit(ptr @.str11169) %t54 = load ptr, ptr %t1 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str10873) + call void @fn_emit(ptr @.str11170) %t55 = load ptr, ptr %t22 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str10874) + call void @fn_emit(ptr @.str11171) %t56 = load i32, ptr %t28 %t57 = call ptr @fn_itoa(i32 %t56) call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str10875) + call void @fn_emit(ptr @.str11172) %t58 = load ptr, ptr %t50 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = load ptr, ptr %t59 @@ -115145,16 +122152,16 @@ then8: store ptr %t81, ptr %t65 br label %ifend10 ifend10: - call void @fn_emit(ptr @.str10876) + call void @fn_emit(ptr @.str11173) %t82 = load ptr, ptr %t62 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str10877) + call void @fn_emit(ptr @.str11174) %t83 = load ptr, ptr %t65 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str10878) + call void @fn_emit(ptr @.str11175) %t84 = load ptr, ptr %t52 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str10879) + call void @fn_emit(ptr @.str11176) %t85 = load i32, ptr %t28 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t28 @@ -115192,7 +122199,7 @@ wbody15: br i1 %t109, label %ixok17, label %ixbad18 ixbad18: %t110 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str10880, i32 %t106, i32 %t108) + call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str11177, i32 %t106, i32 %t108) call void @exit(i32 1) unreachable ixok17: @@ -115213,20 +122220,20 @@ ixok17: then19: %t124 = call ptr @fn_nreg() store ptr %t124, ptr %t125 - call void @fn_emit(ptr @.str10881) + call void @fn_emit(ptr @.str11178) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10882) + call void @fn_emit(ptr @.str11179) %t127 = load ptr, ptr %t1 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str10883) + call void @fn_emit(ptr @.str11180) %t128 = load ptr, ptr %t22 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str10884) + call void @fn_emit(ptr @.str11181) %t129 = load i32, ptr %t119 %t130 = call ptr @fn_itoa(i32 %t129) call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str10885) + call void @fn_emit(ptr @.str11182) %t131 = load ptr, ptr %t113 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 4 %t133 = load ptr, ptr %t132 @@ -115242,17 +122249,17 @@ then19: %t143 = load ptr, ptr %t141 %t144 = call ptr @fn_coerce_code(ptr %t142, ptr %t143) store ptr %t144, ptr %t145 - call void @fn_emit(ptr @.str10886) + call void @fn_emit(ptr @.str11183) %t146 = load ptr, ptr %t141 %t147 = call ptr @fn_llty(ptr %t146) call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str10887) + call void @fn_emit(ptr @.str11184) %t148 = load ptr, ptr %t145 call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str10888) + call void @fn_emit(ptr @.str11185) %t149 = load ptr, ptr %t125 call void @fn_emit(ptr %t149) - call void @fn_emit(ptr @.str10889) + call void @fn_emit(ptr @.str11186) br label %ifend21 ifend21: %t150 = load i32, ptr %t91 @@ -115273,15 +122280,15 @@ ifend13: then22: %t159 = load i32, ptr @g_nloc store i32 %t159, ptr %t160 - %t161 = call ptr @fn_emit_alloca(ptr @.str10890) + %t161 = call ptr @fn_emit_alloca(ptr @.str11187) store ptr %t161, ptr %t162 - call void @fn_emit(ptr @.str10891) + call void @fn_emit(ptr @.str11188) %t163 = load ptr, ptr %t22 call void @fn_emit(ptr %t163) - call void @fn_emit(ptr @.str10892) + call void @fn_emit(ptr @.str11189) %t164 = load ptr, ptr %t162 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str10893) + call void @fn_emit(ptr @.str11190) %t165 = load ptr, ptr %t1 %t166 = load ptr, ptr %t162 %t167 = load ptr, ptr %t1 @@ -115294,8 +122301,8 @@ then22: br label %ifend24 ifend24: %t171 = load ptr, ptr %t1 - %t172 = call ptr @lp_str_concat(ptr @.str10894, ptr %t171) - %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str10895) + %t172 = call ptr @lp_str_concat(ptr @.str11191, ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str11192) store ptr %t173, ptr %t174 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_find_event(ptr %t175) @@ -115304,13 +122311,13 @@ ifend24: %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str10896) + call void @fn_emit(ptr @.str11193) %t180 = load ptr, ptr %t174 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str10897) + call void @fn_emit(ptr @.str11194) %t181 = load ptr, ptr %t0 call void @fn_emit(ptr %t181) - call void @fn_emit(ptr @.str10898) + call void @fn_emit(ptr @.str11195) br label %ifend27 ifend27: br label %ret @@ -115357,7 +122364,7 @@ wbody1: br i1 %t22, label %ixok3, label %ixbad4 ixbad4: %t23 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str10899, i32 %t19, i32 %t21) + call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str11196, i32 %t19, i32 %t21) call void @exit(i32 1) unreachable ixok3: @@ -115368,31 +122375,31 @@ ixok3: store ptr %t27, ptr %t28 %t29 = call ptr @fn_nreg() store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str10900) + call void @fn_emit(ptr @.str11197) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str10901) + call void @fn_emit(ptr @.str11198) %t32 = load ptr, ptr %t3 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str10902) + call void @fn_emit(ptr @.str11199) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str10903) + call void @fn_emit(ptr @.str11200) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str10904) + call void @fn_emit(ptr @.str11201) %t35 = load ptr, ptr %t1 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str10905) - %t36 = call ptr @fn_emit_alloca(ptr @.str10906) + call void @fn_emit(ptr @.str11202) + %t36 = call ptr @fn_emit_alloca(ptr @.str11203) store ptr %t36, ptr %t37 - call void @fn_emit(ptr @.str10907) + call void @fn_emit(ptr @.str11204) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str10908) + call void @fn_emit(ptr @.str11205) %t39 = load ptr, ptr %t37 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str10909) + call void @fn_emit(ptr @.str11206) %t40 = load ptr, ptr %t28 %t41 = load ptr, ptr %t37 %t42 = load ptr, ptr %t28 @@ -115450,7 +122457,7 @@ wbody4: br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str10910, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11207, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: @@ -115475,7 +122482,7 @@ then8: br i1 %t41, label %ixok11, label %ixbad12 ixbad12: %t42 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str10911, i32 %t38, i32 %t40) + call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str11208, i32 %t38, i32 %t40) call void @exit(i32 1) unreachable ixok11: @@ -115558,7 +122565,7 @@ wbody7: br i1 %t35, label %ixok9, label %ixbad10 ixbad10: %t36 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str10912, i32 %t32, i32 %t34) + call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str11209, i32 %t32, i32 %t34) call void @exit(i32 1) unreachable ixok9: @@ -115624,7 +122631,7 @@ wbody14: br i1 %t79, label %ixok16, label %ixbad17 ixbad17: %t80 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str10913, i32 %t76, i32 %t78) + call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str11210, i32 %t76, i32 %t78) call void @exit(i32 1) unreachable ixok16: @@ -115712,8 +122719,8 @@ ifend5: br i1 %t21, label %then6, label %ifend8 then6: %t22 = load ptr, ptr %t0 - %t23 = call ptr @lp_str_concat(ptr @.str10914, ptr %t22) - %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10915) + %t23 = call ptr @lp_str_concat(ptr @.str11211, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11212) call void @fn_perr(ptr %t24) br label %ifend8 ifend8: @@ -115785,58 +122792,58 @@ then0: br label %ret ifend2: store i32 1, ptr @g_g_uses_panic - %t6 = call ptr @fn_emit_bind(ptr @.str10916) + %t6 = call ptr @fn_emit_bind(ptr @.str11213) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @lp_str_concat(ptr @.str10917, ptr %t8) - %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10918) + %t9 = call ptr @lp_str_concat(ptr @.str11214, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str11215) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 - %t13 = call ptr @fn_lbl(ptr @.str10919) + %t13 = call ptr @fn_lbl(ptr @.str11216) store ptr %t13, ptr %t14 - %t15 = call ptr @fn_lbl(ptr @.str10920) + %t15 = call ptr @fn_lbl(ptr @.str11217) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 - %t18 = call ptr @lp_str_concat(ptr @.str10921, ptr %t17) - %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10922) + %t18 = call ptr @lp_str_concat(ptr @.str11218, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str11219) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) - %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10923) + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11220) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) - %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10924) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str11221) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10925) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11222) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name - %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10926) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str11223) %t30 = load i32, ptr %t1 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31) - %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10927) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str11224) %t34 = call ptr @fn_emit_str_const(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t0 - %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10928) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str11225) %t38 = call ptr @fn_emit_str_const(ptr %t37) store ptr %t38, ptr %t39 %t40 = call ptr @fn_stdstream_rhs(i32 2) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 - %t44 = call ptr @lp_str_concat(ptr @.str10929, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10930) + %t44 = call ptr @lp_str_concat(ptr @.str11226, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11227) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) - %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10931) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11228) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10932) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str11229) call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str10933) + call void @fn_emit(ptr @.str11230) %t52 = load ptr, ptr %t14 - %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10934) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str11231) call void @fn_emit(ptr %t53) br label %ret ret: @@ -115864,8 +122871,8 @@ entry: %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 - call void @fn_emit_worker_guard(ptr @.str10935, i32 %t3) - %t4 = call ptr @fn_emit_bind(ptr @.str10936) + call void @fn_emit_worker_guard(ptr @.str11232, i32 %t3) + %t4 = call ptr @fn_emit_bind(ptr @.str11233) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 @@ -115901,8 +122908,8 @@ then2: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 %t32 = load ptr, ptr %t31 - %t33 = call ptr @lp_str_concat(ptr @.str10937, ptr %t32) - %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str10938) + %t33 = call ptr @lp_str_concat(ptr @.str11234, ptr %t32) + %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str11235) %t35 = load ptr, ptr %t10 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) call void @fn_perr(ptr %t36) @@ -115918,24 +122925,24 @@ then5: store ptr %t41, ptr %t42 %t43 = call ptr @fn_nreg() store ptr %t43, ptr %t44 - call void @fn_emit(ptr @.str10939) + call void @fn_emit(ptr @.str11236) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str10940) + call void @fn_emit(ptr @.str11237) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str10941) + call void @fn_emit(ptr @.str11238) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str10942) - call void @fn_emit(ptr @.str10943) + call void @fn_emit(ptr @.str11239) + call void @fn_emit(ptr @.str11240) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str10944) + call void @fn_emit(ptr @.str11241) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str10945) + call void @fn_emit(ptr @.str11242) %t51 = load ptr, ptr %t10 %t52 = call ptr @fn_find_arch(ptr %t51) store ptr %t52, ptr %t53 @@ -115965,7 +122972,7 @@ wbody9: br i1 %t72, label %ixok11, label %ixbad12 ixbad12: %t73 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10946, i32 %t69, i32 %t71) + call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str11243, i32 %t69, i32 %t71) call void @exit(i32 1) unreachable ixok11: @@ -116013,8 +123020,8 @@ then13: br label %ifend15 ifend15: %t106 = load ptr, ptr %t10 - %t107 = call ptr @lp_str_concat(ptr @.str10947, ptr %t106) - %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str10948) + %t107 = call ptr @lp_str_concat(ptr @.str11244, ptr %t106) + %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str11245) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_find_event(ptr %t110) @@ -116023,13 +123030,13 @@ ifend15: %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str10949) + call void @fn_emit(ptr @.str11246) %t115 = load ptr, ptr %t109 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str10950) + call void @fn_emit(ptr @.str11247) %t116 = load ptr, ptr %t5 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str10951) + call void @fn_emit(ptr @.str11248) br label %ifend18 ifend18: br label %ifend7 @@ -116061,7 +123068,7 @@ wbody20: br i1 %t136, label %ixok22, label %ixbad23 ixbad23: %t137 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10952, i32 %t133, i32 %t135) + call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str11249, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok22: @@ -116081,7 +123088,7 @@ ixok22: br i1 %t150, label %ixok24, label %ixbad25 ixbad25: %t151 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str10953, i32 %t147, i32 %t149) + call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str11250, i32 %t147, i32 %t149) call void @exit(i32 1) unreachable ixok24: @@ -116122,7 +123129,7 @@ entry: %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 - call void @fn_emit_worker_guard(ptr @.str10954, i32 %t3) + call void @fn_emit_worker_guard(ptr @.str11251, i32 %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 %t6 = load ptr, ptr %t5 @@ -116140,20 +123147,20 @@ then0: store ptr %t15, ptr %t16 %t17 = call ptr @fn_nreg() store ptr %t17, ptr %t18 - call void @fn_emit(ptr @.str10955) + call void @fn_emit(ptr @.str11252) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) - call void @fn_emit(ptr @.str10956) + call void @fn_emit(ptr @.str11253) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str10957) + call void @fn_emit(ptr @.str11254) %t21 = load ptr, ptr %t8 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str10958) + call void @fn_emit(ptr @.str11255) %t24 = load ptr, ptr %t18 - %t25 = call ptr @lp_str_concat(ptr @.str10959, ptr %t24) + %t25 = call ptr @lp_str_concat(ptr @.str11256, ptr %t24) %t26 = call ptr @fn_emit_bind(ptr %t25) store ptr %t26, ptr %t27 store i32 0, ptr %t28 @@ -116178,7 +123185,7 @@ wbody4: br i1 %t42, label %ixok6, label %ixbad7 ixbad7: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10960, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str11257, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok6: @@ -116188,42 +123195,42 @@ ixok6: %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t27 - %t50 = call ptr @lp_str_concat(ptr @.str10961, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10962) + %t50 = call ptr @lp_str_concat(ptr @.str11258, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str11259) %t52 = load ptr, ptr %t48 %t53 = call i32 @fn_find_arch_id(ptr %t52) %t54 = call ptr @fn_itoa(i32 %t53) %t55 = call ptr @lp_str_concat(ptr %t51, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 - %t58 = call ptr @fn_lbl(ptr @.str10963) + %t58 = call ptr @fn_lbl(ptr @.str11260) store ptr %t58, ptr %t59 - %t60 = call ptr @fn_lbl(ptr @.str10964) + %t60 = call ptr @fn_lbl(ptr @.str11261) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str10965) + call void @fn_emit(ptr @.str11262) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str10966) + call void @fn_emit(ptr @.str11263) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str10967) + call void @fn_emit(ptr @.str11264) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str10968) + call void @fn_emit(ptr @.str11265) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str10969) + call void @fn_emit(ptr @.str11266) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str10970) + call void @fn_emit(ptr @.str11267) %t67 = load ptr, ptr %t8 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str10971) + call void @fn_emit(ptr @.str11268) %t70 = load ptr, ptr %t48 - %t71 = call ptr @lp_str_concat(ptr @.str10972, ptr %t70) - %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10973) + %t71 = call ptr @lp_str_concat(ptr @.str11269, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str11270) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_find_event(ptr %t74) @@ -116232,24 +123239,24 @@ ixok6: %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str10974) + call void @fn_emit(ptr @.str11271) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str10975) + call void @fn_emit(ptr @.str11272) %t80 = load ptr, ptr %t8 %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 @.str10976) + call void @fn_emit(ptr @.str11273) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str10977) + call void @fn_emit(ptr @.str11274) %t83 = load ptr, ptr %t61 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str10978) + call void @fn_emit(ptr @.str11275) %t84 = load ptr, ptr %t61 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str10979) + call void @fn_emit(ptr @.str11276) %t85 = load i32, ptr %t28 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t28 @@ -116265,20 +123272,20 @@ ifend2: %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str10980) + call void @fn_emit(ptr @.str11277) %t93 = load ptr, ptr %t8 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str10981) + call void @fn_emit(ptr @.str11278) br label %ifend13 ifend13: - call void @fn_emit(ptr @.str10982) + call void @fn_emit(ptr @.str11279) %t96 = load ptr, ptr %t8 %t97 = getelementptr inbounds %Cmp_Val, ptr %t96, i32 0, i32 0 %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str10983) + call void @fn_emit(ptr @.str11280) br label %ret ret: ret void @@ -116304,49 +123311,49 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str10984) + call void @fn_emit(ptr @.str11281) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str10985) + call void @fn_emit(ptr @.str11282) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str10986) + call void @fn_emit(ptr @.str11283) %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 @.str10987) + call void @fn_emit(ptr @.str11284) %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 @.str10988) + call void @fn_emit(ptr @.str11285) %t18 = load ptr, ptr %t9 - %t19 = call ptr @lp_str_concat(ptr @.str10989, ptr %t18) + %t19 = call ptr @lp_str_concat(ptr @.str11286, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 - %t23 = call ptr @lp_str_concat(ptr @.str10990, ptr %t22) - %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10991) + %t23 = call ptr @lp_str_concat(ptr @.str11287, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11288) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str10992) + %t27 = call ptr @fn_lbl(ptr @.str11289) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str10993) + %t29 = call ptr @fn_lbl(ptr @.str11290) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str10994) + call void @fn_emit(ptr @.str11291) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str10995) + call void @fn_emit(ptr @.str11292) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str10996) + call void @fn_emit(ptr @.str11293) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str10997) + call void @fn_emit(ptr @.str11294) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str10998) + call void @fn_emit(ptr @.str11295) store i32 0, ptr @g_g_term %t35 = load ptr, ptr %t5 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 @@ -116364,15 +123371,15 @@ entry: %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str10999) + call void @fn_emit(ptr @.str11296) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str11000) + call void @fn_emit(ptr @.str11297) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str11001) + call void @fn_emit(ptr @.str11298) store i32 0, ptr @g_g_term br label %ret ret: @@ -116404,54 +123411,54 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str11002) + call void @fn_emit(ptr @.str11299) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str11003) + call void @fn_emit(ptr @.str11300) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str11004) + call void @fn_emit(ptr @.str11301) %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 @.str11005) + call void @fn_emit(ptr @.str11302) %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 @.str11006) + call void @fn_emit(ptr @.str11303) %t18 = load ptr, ptr %t9 - %t19 = call ptr @lp_str_concat(ptr @.str11007, ptr %t18) + %t19 = call ptr @lp_str_concat(ptr @.str11304, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 - %t23 = call ptr @lp_str_concat(ptr @.str11008, ptr %t22) - %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11009) + %t23 = call ptr @lp_str_concat(ptr @.str11305, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11306) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str11010) + %t27 = call ptr @fn_lbl(ptr @.str11307) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str11011) + %t29 = call ptr @fn_lbl(ptr @.str11308) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str11012) + call void @fn_emit(ptr @.str11309) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str11013) + call void @fn_emit(ptr @.str11310) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str11014) + call void @fn_emit(ptr @.str11311) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11015) + call void @fn_emit(ptr @.str11312) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str11016) + call void @fn_emit(ptr @.str11313) store i32 0, ptr @g_g_term - call void @fn_emit(ptr @.str11017) + call void @fn_emit(ptr @.str11314) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str11018) + call void @fn_emit(ptr @.str11315) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 @@ -116467,37 +123474,37 @@ then0: store i32 %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str11019) + call void @fn_emit(ptr @.str11316) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str11020) + call void @fn_emit(ptr @.str11317) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str11021) + call void @fn_emit(ptr @.str11318) %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 @.str11022) + call void @fn_emit(ptr @.str11319) %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 @.str11023) + call void @fn_emit(ptr @.str11320) %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 @.str11024) - %t60 = call ptr @fn_emit_alloca(ptr @.str11025) + call void @fn_emit(ptr @.str11321) + %t60 = call ptr @fn_emit_alloca(ptr @.str11322) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str11026) + call void @fn_emit(ptr @.str11323) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str11027) + call void @fn_emit(ptr @.str11324) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str11028) + call void @fn_emit(ptr @.str11325) %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 @@ -116515,8 +123522,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 @lp_str_concat(ptr @.str11029, ptr %t75) - %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11030) + %t76 = call ptr @lp_str_concat(ptr @.str11326, ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11327) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_find_event(ptr %t79) @@ -116525,15 +123532,15 @@ ifend2: %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str11031) + call void @fn_emit(ptr @.str11328) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str11032) + call void @fn_emit(ptr @.str11329) %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 @.str11033) + call void @fn_emit(ptr @.str11330) br label %ifend5 ifend5: %t88 = load i32, ptr @g_g_term @@ -116542,15 +123549,15 @@ ifend5: %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str11034) + call void @fn_emit(ptr @.str11331) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str11035) + call void @fn_emit(ptr @.str11332) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str11036) + call void @fn_emit(ptr @.str11333) store i32 0, ptr @g_g_term br label %ret ret: @@ -116587,7 +123594,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11037, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11334, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -116655,7 +123662,7 @@ entry: %t176 = alloca i32 %t203 = alloca ptr store ptr %arg_st, ptr %t0 - store ptr @.str11038, ptr %t1 + store ptr @.str11335, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2 %t4 = load i32, ptr %t3 @@ -116664,7 +123671,7 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: - store ptr @.str11039, ptr %t1 + store ptr @.str11336, ptr %t1 br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 @@ -116680,7 +123687,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 @lp_str_eq(ptr %t18, ptr @.str11040) + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str11337) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t8 @@ -116705,7 +123712,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 @lp_str_eq(ptr %t34, ptr @.str11041) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11338) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t24 @@ -116715,20 +123722,20 @@ scend9: %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str11042) + call void @fn_emit(ptr @.str11339) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11043) + call void @fn_emit(ptr @.str11340) %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 @.str11044) + call void @fn_emit(ptr @.str11341) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 - %t47 = call ptr @lp_str_concat(ptr @.str11045, ptr %t46) - %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11046) + %t47 = call ptr @lp_str_concat(ptr @.str11342, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11343) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2 @@ -116741,8 +123748,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 @lp_str_concat(ptr @.str11047, ptr %t58) - %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11048) + %t59 = call ptr @lp_str_concat(ptr @.str11344, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11345) store ptr %t60, ptr %t49 br label %ifend15 ifend15: @@ -116753,10 +123760,10 @@ ifend15: %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str11049) + call void @fn_emit(ptr @.str11346) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str11050) + call void @fn_emit(ptr @.str11347) br label %ifend18 ifend18: br label %ret @@ -116778,30 +123785,30 @@ then19: store ptr %t78, ptr %t79 %t80 = call ptr @fn_nreg() store ptr %t80, ptr %t81 - call void @fn_emit(ptr @.str11051) + call void @fn_emit(ptr @.str11348) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11052) + call void @fn_emit(ptr @.str11349) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str11053) + call void @fn_emit(ptr @.str11350) %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 @.str11054) + call void @fn_emit(ptr @.str11351) %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 @.str11055) - call void @fn_emit(ptr @.str11056) + call void @fn_emit(ptr @.str11352) + call void @fn_emit(ptr @.str11353) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str11057) + call void @fn_emit(ptr @.str11354) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str11058) + call void @fn_emit(ptr @.str11355) store ptr null, ptr %t92 %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2 @@ -116835,37 +123842,37 @@ then25: store i32 %t111, ptr %t112 %t113 = call ptr @fn_nreg() store ptr %t113, ptr %t114 - call void @fn_emit(ptr @.str11059) + call void @fn_emit(ptr @.str11356) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str11060) + call void @fn_emit(ptr @.str11357) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str11061) + call void @fn_emit(ptr @.str11358) %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 @.str11062) + call void @fn_emit(ptr @.str11359) %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 @.str11063) + call void @fn_emit(ptr @.str11360) %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 @.str11064) - %t126 = call ptr @fn_emit_alloca(ptr @.str11065) + call void @fn_emit(ptr @.str11361) + %t126 = call ptr @fn_emit_alloca(ptr @.str11362) store ptr %t126, ptr %t127 - call void @fn_emit(ptr @.str11066) + call void @fn_emit(ptr @.str11363) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str11067) + call void @fn_emit(ptr @.str11364) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str11068) + call void @fn_emit(ptr @.str11365) %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 @@ -116883,8 +123890,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 @lp_str_concat(ptr @.str11069, ptr %t141) - %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11070) + %t142 = call ptr @lp_str_concat(ptr @.str11366, ptr %t141) + %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11367) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 @@ -116897,8 +123904,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 @lp_str_concat(ptr @.str11071, ptr %t153) - %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str11072) + %t154 = call ptr @lp_str_concat(ptr @.str11368, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str11369) store ptr %t155, ptr %t144 br label %ifend30 ifend30: @@ -116909,20 +123916,20 @@ ifend30: %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then31, label %ifend33 then31: - call void @fn_emit(ptr @.str11073) + call void @fn_emit(ptr @.str11370) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) - call void @fn_emit(ptr @.str11074) + call void @fn_emit(ptr @.str11371) %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 @.str11075) + call void @fn_emit(ptr @.str11372) br label %ifend33 ifend33: br label %ifend21 else20: - store ptr @.str11076, ptr %t165 + store ptr @.str11373, ptr %t165 %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 @@ -116930,7 +123937,7 @@ else20: %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then34, label %ifend36 then34: - store ptr @.str11077, ptr %t165 + store ptr @.str11374, ptr %t165 br label %ifend36 ifend36: %t171 = load ptr, ptr %t0 @@ -116938,7 +123945,7 @@ ifend36: %t173 = load ptr, ptr %t172 store ptr %t173, ptr %t174 %t177 = load ptr, ptr %t165 - %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11078) + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11375) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t176 @@ -116974,7 +123981,7 @@ then41: %t197 = load ptr, ptr @g_g_cur_scene %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 - %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11079) + %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11376) %t201 = load ptr, ptr %t174 %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) store ptr %t202, ptr %t203 @@ -116991,15 +123998,15 @@ then44: ifend46: br label %ifend43 ifend43: - call void @fn_emit(ptr @.str11080) + call void @fn_emit(ptr @.str11377) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) - call void @fn_emit(ptr @.str11081) + call void @fn_emit(ptr @.str11378) %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 @.str11082) + call void @fn_emit(ptr @.str11379) br label %ifend21 ifend21: br label %ret @@ -117027,7 +124034,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11083, ptr @g_ret_ty + store ptr @.str11380, ptr @g_ret_ty %t7 = call ptr @fn_buf_new() store ptr %t7, ptr %t8 %t9 = call ptr @fn_buf_new() @@ -117046,26 +124053,26 @@ entry: %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str11084) + call void @fn_emit(ptr @.str11381) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str11085) + call void @fn_emit(ptr @.str11382) %t20 = load ptr, ptr %t11 store ptr %t20, ptr @g_code - call void @fn_emit(ptr @.str11086) + call void @fn_emit(ptr @.str11383) %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str11087) + call void @fn_emit(ptr @.str11384) %t24 = load ptr, ptr @g_falloc %t25 = call ptr @fn_buf_str(ptr %t24) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t8 %t27 = call ptr @fn_buf_str(ptr %t26) call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str11088) - store ptr @.str11089, ptr @g_g_det_ctx + call void @fn_emit(ptr @.str11385) + store ptr @.str11386, ptr @g_g_det_ctx br label %ret ret: ret void @@ -117087,12 +124094,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 @lp_str_concat(ptr @.str11090, ptr %t3) + %t4 = call ptr @lp_str_concat(ptr @.str11387, ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 - %t8 = call ptr @lp_str_concat(ptr @.str11091, ptr %t7) - %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str11092) + %t8 = call ptr @lp_str_concat(ptr @.str11388, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str11389) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t0 @@ -117125,17 +124132,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 @lp_str_concat(ptr @.str11093, ptr %t34) + %t35 = call ptr @lp_str_concat(ptr @.str11390, ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 - %t39 = call ptr @lp_str_concat(ptr @.str11094, ptr %t38) - %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str11095) + %t39 = call ptr @lp_str_concat(ptr @.str11391, ptr %t38) + %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str11392) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t11 - %t44 = call ptr @lp_str_concat(ptr @.str11096, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11097) + %t44 = call ptr @lp_str_concat(ptr @.str11393, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11394) %t46 = load ptr, ptr %t42 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) @@ -117150,51 +124157,51 @@ ifend4: %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then5, label %ifend7 then5: - %t55 = call ptr @fn_emit_bind(ptr @.str11098) + %t55 = call ptr @fn_emit_bind(ptr @.str11395) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 - %t58 = call ptr @lp_str_concat(ptr @.str11099, ptr %t57) - %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str11100) + %t58 = call ptr @lp_str_concat(ptr @.str11396, ptr %t57) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str11397) %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t11 - %t63 = call ptr @lp_str_concat(ptr @.str11101, ptr %t62) - %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str11102) + %t63 = call ptr @lp_str_concat(ptr @.str11398, ptr %t62) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str11399) %t65 = load ptr, ptr %t61 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t11 br label %ifend7 ifend7: - %t68 = call ptr @fn_lbl(ptr @.str11103) + %t68 = call ptr @fn_lbl(ptr @.str11400) store ptr %t68, ptr %t69 - %t70 = call ptr @fn_lbl(ptr @.str11104) + %t70 = call ptr @fn_lbl(ptr @.str11401) store ptr %t70, ptr %t71 - call void @fn_emit(ptr @.str11105) + call void @fn_emit(ptr @.str11402) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str11106) + call void @fn_emit(ptr @.str11403) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11107) + call void @fn_emit(ptr @.str11404) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11108) + call void @fn_emit(ptr @.str11405) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11109) + call void @fn_emit(ptr @.str11406) %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 @.str11110) - call void @fn_emit(ptr @.str11111) + call void @fn_emit(ptr @.str11407) + call void @fn_emit(ptr @.str11408) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11112) + call void @fn_emit(ptr @.str11409) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11113) + call void @fn_emit(ptr @.str11410) br label %ret ret: ret void @@ -117236,10 +124243,10 @@ scend4: %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: - call void @fn_emit(ptr @.str11114) + call void @fn_emit(ptr @.str11411) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str11115) + call void @fn_emit(ptr @.str11412) br label %ifend7 ifend7: br label %ret @@ -117277,7 +124284,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11116, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11413, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -117298,7 +124305,7 @@ then5: br i1 %t28, label %ixok8, label %ixbad9 ixbad9: %t29 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11117, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11414, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok8: @@ -117314,7 +124321,7 @@ ixok8: br i1 %t38, label %ixok10, label %ixbad11 ixbad11: %t39 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str11118, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str11415, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok10: @@ -117329,7 +124336,7 @@ ifend7: br label %wcond0 wend2: %t44 = load ptr, ptr %t0 - %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str11119) + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str11416) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: @@ -117339,7 +124346,7 @@ then12: store i32 %t50, ptr %t47 br i1 %t49, label %sc15, label %scend16 sc15: - %t51 = call ptr @fn_find_fn(ptr @.str11120) + %t51 = call ptr @fn_find_fn(ptr @.str11417) %t52 = icmp ne ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 @@ -117351,14 +124358,14 @@ scend16: %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then17, label %ifend19 then17: - call void @fn_emit(ptr @.str11121) + call void @fn_emit(ptr @.str11418) br label %ifend19 ifend19: %t58 = call i32 @fn_has_countdowns() %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then20, label %ifend22 then20: - call void @fn_emit(ptr @.str11122) + call void @fn_emit(ptr @.str11419) br label %ifend22 ifend22: %t61 = load i32, ptr @g_g_uses_fx @@ -117367,7 +124374,7 @@ ifend22: store i32 %t63, ptr %t60 br i1 %t62, label %sc23, label %scend24 sc23: - %t64 = call ptr @fn_find_fn(ptr @.str11123) + %t64 = call ptr @fn_find_fn(ptr @.str11420) %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 @@ -117379,13 +124386,13 @@ scend24: %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str11124) + call void @fn_emit(ptr @.str11421) br label %ifend27 ifend27: br label %ifend14 ifend14: %t71 = load ptr, ptr %t0 - %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11125) + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11422) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then28, label %ifend30 then28: @@ -117395,7 +124402,7 @@ then28: store i32 %t77, ptr %t74 br i1 %t76, label %sc31, label %scend32 sc31: - %t78 = call ptr @fn_find_fn(ptr @.str11126) + %t78 = call ptr @fn_find_fn(ptr @.str11423) %t79 = icmp ne ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 @@ -117407,7 +124414,7 @@ scend32: %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then33, label %ifend35 then33: - call void @fn_emit(ptr @.str11127) + call void @fn_emit(ptr @.str11424) br label %ifend35 ifend35: br label %ifend30 @@ -117430,15 +124437,15 @@ entry: %t119 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str11128) - call void @fn_emit(ptr @.str11129) - call void @fn_emit(ptr @.str11130) - call void @fn_emit(ptr @.str11131) - call void @fn_emit(ptr @.str11132) + call void @fn_emit(ptr @.str11425) + call void @fn_emit(ptr @.str11426) + call void @fn_emit(ptr @.str11427) + call void @fn_emit(ptr @.str11428) + call void @fn_emit(ptr @.str11429) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str11133) - call void @fn_emit(ptr @.str11134) + call void @fn_emit(ptr @.str11430) + call void @fn_emit(ptr @.str11431) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 @@ -117462,7 +124469,7 @@ wbody1: br i1 %t18, label %ixok3, label %ixbad4 ixbad4: %t19 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11135, i32 %t15, i32 %t17) + call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11432, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok3: @@ -117504,7 +124511,7 @@ wbody9: br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11136, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11433, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: @@ -117512,7 +124519,7 @@ ixok11: %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 %t53 = load ptr, ptr %t52 - %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str11137) + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str11434) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then13, label %ifend15 then13: @@ -117535,67 +124542,67 @@ then16: %t64 = add i32 %t63, 1 %t65 = call ptr @fn_itoa(i32 %t64) store ptr %t65, ptr %t66 - call void @fn_emit(ptr @.str11138) + call void @fn_emit(ptr @.str11435) %t67 = load ptr, ptr %t62 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str11139) - call void @fn_emit(ptr @.str11140) + call void @fn_emit(ptr @.str11436) + call void @fn_emit(ptr @.str11437) %t68 = load ptr, ptr %t62 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str11141) + call void @fn_emit(ptr @.str11438) %t69 = load ptr, ptr %t1 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str11142) + call void @fn_emit(ptr @.str11439) %t70 = load ptr, ptr %t22 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str11143) - call void @fn_emit(ptr @.str11144) + call void @fn_emit(ptr @.str11440) + call void @fn_emit(ptr @.str11441) %t73 = load ptr, ptr %t62 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11145) + call void @fn_emit(ptr @.str11442) %t74 = load ptr, ptr %t62 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11146) - call void @fn_emit(ptr @.str11147) + call void @fn_emit(ptr @.str11443) + call void @fn_emit(ptr @.str11444) %t75 = load ptr, ptr %t62 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11148) + call void @fn_emit(ptr @.str11445) %t76 = load ptr, ptr %t62 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11149) - call void @fn_emit(ptr @.str11150) + call void @fn_emit(ptr @.str11446) + call void @fn_emit(ptr @.str11447) %t77 = load ptr, ptr %t62 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11151) + call void @fn_emit(ptr @.str11448) %t78 = load ptr, ptr %t62 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11152) + call void @fn_emit(ptr @.str11449) %t79 = load ptr, ptr %t66 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11153) - call void @fn_emit(ptr @.str11154) + call void @fn_emit(ptr @.str11450) + call void @fn_emit(ptr @.str11451) %t80 = load ptr, ptr %t62 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11155) - call void @fn_emit(ptr @.str11156) + call void @fn_emit(ptr @.str11452) + call void @fn_emit(ptr @.str11453) %t81 = load ptr, ptr %t62 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str11157) + call void @fn_emit(ptr @.str11454) %t82 = load ptr, ptr %t1 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11158) + call void @fn_emit(ptr @.str11455) %t83 = load ptr, ptr %t22 %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 @.str11159) + call void @fn_emit(ptr @.str11456) %t86 = load ptr, ptr %t22 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str11160) + call void @fn_emit(ptr @.str11457) store i32 0, ptr %t30 br label %wcond19 wcond19: @@ -117622,7 +124629,7 @@ wbody20: br i1 %t106, label %ixok22, label %ixbad23 ixbad23: %t107 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str11161, i32 %t103, i32 %t105) + call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str11458, i32 %t103, i32 %t105) call void @exit(i32 1) unreachable ixok22: @@ -117630,73 +124637,73 @@ ixok22: %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 3 %t111 = load ptr, ptr %t110 - %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str11162) + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str11459) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then24, label %ifend26 then24: %t114 = load ptr, ptr %t62 - %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str11163) + %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str11460) %t116 = load i32, ptr %t30 %t117 = call ptr @fn_itoa(i32 %t116) %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117) store ptr %t118, ptr %t119 - call void @fn_emit(ptr @.str11164) + call void @fn_emit(ptr @.str11461) %t120 = load ptr, ptr %t119 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str11165) + call void @fn_emit(ptr @.str11462) %t121 = load ptr, ptr %t22 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str11166) + call void @fn_emit(ptr @.str11463) %t124 = load ptr, ptr %t62 call void @fn_emit(ptr %t124) - call void @fn_emit(ptr @.str11167) + call void @fn_emit(ptr @.str11464) %t125 = load i32, ptr %t30 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str11168) - call void @fn_emit(ptr @.str11169) + call void @fn_emit(ptr @.str11465) + call void @fn_emit(ptr @.str11466) %t127 = load ptr, ptr %t119 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str11170) + call void @fn_emit(ptr @.str11467) %t128 = load ptr, ptr %t119 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str11171) - call void @fn_emit(ptr @.str11172) + call void @fn_emit(ptr @.str11468) + call void @fn_emit(ptr @.str11469) %t129 = load ptr, ptr %t119 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str11173) + call void @fn_emit(ptr @.str11470) %t130 = load ptr, ptr %t119 call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str11174) - call void @fn_emit(ptr @.str11175) + call void @fn_emit(ptr @.str11471) + call void @fn_emit(ptr @.str11472) %t131 = load ptr, ptr %t119 call void @fn_emit(ptr %t131) - call void @fn_emit(ptr @.str11176) + call void @fn_emit(ptr @.str11473) %t132 = load ptr, ptr %t119 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str11177) - call void @fn_emit(ptr @.str11178) + call void @fn_emit(ptr @.str11474) + call void @fn_emit(ptr @.str11475) %t133 = load ptr, ptr %t119 call void @fn_emit(ptr %t133) - call void @fn_emit(ptr @.str11179) + call void @fn_emit(ptr @.str11476) %t134 = load ptr, ptr %t119 call void @fn_emit(ptr %t134) - call void @fn_emit(ptr @.str11180) + call void @fn_emit(ptr @.str11477) %t135 = load ptr, ptr %t119 call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str11181) + call void @fn_emit(ptr @.str11478) %t136 = load ptr, ptr %t119 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str11182) - call void @fn_emit(ptr @.str11183) + call void @fn_emit(ptr @.str11479) + call void @fn_emit(ptr @.str11480) %t137 = load ptr, ptr %t119 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str11184) + call void @fn_emit(ptr @.str11481) %t138 = load ptr, ptr %t119 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str11185) + call void @fn_emit(ptr @.str11482) br label %ifend26 ifend26: %t139 = load i32, ptr %t30 @@ -117704,10 +124711,10 @@ ifend26: store i32 %t140, ptr %t30 br label %wcond19 wend21: - call void @fn_emit(ptr @.str11186) + call void @fn_emit(ptr @.str11483) %t141 = load ptr, ptr %t66 call void @fn_emit(ptr %t141) - call void @fn_emit(ptr @.str11187) + call void @fn_emit(ptr @.str11484) %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 @@ -117720,12 +124727,12 @@ ifend7: store i32 %t145, ptr %t4 br label %wcond0 wend2: - call void @fn_emit(ptr @.str11188) + call void @fn_emit(ptr @.str11485) %t146 = load i32, ptr %t3 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str11189) - call void @fn_emit(ptr @.str11190) + call void @fn_emit(ptr @.str11486) + call void @fn_emit(ptr @.str11487) br label %ret ret: ret void @@ -117746,7 +124753,7 @@ entry: store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr null, ptr @g_g_cur_scene - store ptr @.str11191, ptr @g_ret_ty + store ptr @.str11488, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() @@ -117766,25 +124773,25 @@ entry: %t14 = load ptr, ptr %t8 %t15 = call ptr @fn_emit_spawn(ptr %t14) store ptr %t15, ptr %t16 - call void @fn_emit(ptr @.str11192) + call void @fn_emit(ptr @.str11489) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str11193) + call void @fn_emit(ptr @.str11490) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code - call void @fn_emit(ptr @.str11194) + call void @fn_emit(ptr @.str11491) %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 @.str11195) + call void @fn_emit(ptr @.str11492) %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 @.str11196) + call void @fn_emit(ptr @.str11493) br label %ret ret: ret void @@ -117825,7 +124832,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11197, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11494, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -117848,7 +124855,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str11198, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str11495, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -117899,7 +124906,7 @@ wbody11: br i1 %t54, label %ixok13, label %ixbad14 ixbad14: %t55 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str11199, i32 %t51, i32 %t53) + call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str11496, i32 %t51, i32 %t53) call void @exit(i32 1) unreachable ixok13: @@ -117928,46 +124935,46 @@ then15: %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 - %t78 = call ptr @lp_str_concat(ptr @.str11200, ptr %t77) - %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11201) + %t78 = call ptr @lp_str_concat(ptr @.str11497, ptr %t77) + %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11498) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 - %t83 = call ptr @lp_str_concat(ptr @.str11202, ptr %t82) - %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str11203) + %t83 = call ptr @lp_str_concat(ptr @.str11499, ptr %t82) + %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str11500) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 - %t87 = call ptr @fn_lbl(ptr @.str11204) + %t87 = call ptr @fn_lbl(ptr @.str11501) store ptr %t87, ptr %t88 - %t89 = call ptr @fn_lbl(ptr @.str11205) + %t89 = call ptr @fn_lbl(ptr @.str11502) store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str11206) + call void @fn_emit(ptr @.str11503) %t91 = load ptr, ptr %t86 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str11207) + call void @fn_emit(ptr @.str11504) %t92 = load ptr, ptr %t88 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str11208) + call void @fn_emit(ptr @.str11505) %t93 = load ptr, ptr %t90 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str11209) + call void @fn_emit(ptr @.str11506) %t94 = load ptr, ptr %t88 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str11210) + call void @fn_emit(ptr @.str11507) %t95 = load ptr, ptr %t58 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 - %t98 = call ptr @lp_str_concat(ptr @.str11211, ptr %t97) - %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str11212) + %t98 = call ptr @lp_str_concat(ptr @.str11508, ptr %t97) + %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str11509) %t100 = call ptr @fn_emit_bind(ptr %t99) store ptr %t100, ptr %t101 - call void @fn_emit(ptr @.str11213) + call void @fn_emit(ptr @.str11510) %t102 = load ptr, ptr %t101 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str11214) + call void @fn_emit(ptr @.str11511) %t103 = load ptr, ptr %t90 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str11215) + call void @fn_emit(ptr @.str11512) br label %ifend17 ifend17: %t104 = load i32, ptr %t0 @@ -117975,17 +124982,17 @@ ifend17: store i32 %t105, ptr %t0 br label %wcond10 wend12: - call void @fn_emit(ptr @.str11216) + call void @fn_emit(ptr @.str11513) %t106 = load ptr, ptr %t39 store ptr %t106, ptr @g_code - call void @fn_emit(ptr @.str11217) + call void @fn_emit(ptr @.str11514) %t107 = load ptr, ptr @g_falloc %t108 = call ptr @fn_buf_str(ptr %t107) call void @fn_emit(ptr %t108) %t109 = load ptr, ptr %t36 %t110 = call ptr @fn_buf_str(ptr %t109) call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str11218) + call void @fn_emit(ptr @.str11515) br label %ret ret: ret void @@ -117997,7 +125004,7 @@ entry: %t0 = alloca ptr store ptr %arg_phase, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str11219) + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str11516) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -118005,7 +125012,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11220) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11517) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -118013,7 +125020,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str11221) + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str11518) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -118021,7 +125028,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str11222) + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str11519) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -118029,7 +125036,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11223) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11520) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -118037,7 +125044,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11224) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11521) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -118045,7 +125052,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str11225) + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str11522) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -118053,7 +125060,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11226) + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11523) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -118061,8 +125068,8 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call ptr @lp_str_concat(ptr @.str11227, ptr %t25) - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11228) + %t26 = call ptr @lp_str_concat(ptr @.str11524, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11525) call void @fn_perr(ptr %t27) store i32 7, ptr %retval br label %ret @@ -118082,14 +125089,14 @@ entry: %t29 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11229) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11526) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 - %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str11230) + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str11527) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -118102,7 +125109,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11231) + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11528) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -118115,7 +125122,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11232) + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11529) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -118129,14 +125136,14 @@ then6: br label %ret ifend8: %t30 = load ptr, ptr %t0 - %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11233) + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11530) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11234) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11531) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 @@ -118149,7 +125156,7 @@ scend10: br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 - %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str11235) + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str11532) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 @@ -118172,33 +125179,33 @@ ret: define void @fn_emit_module_glue() { entry: %t4 = alloca i32 - call void @fn_emith(ptr @.str11236) - call void @fn_emith(ptr @.str11237) - call void @fn_emith(ptr @.str11238) - call void @fn_emith(ptr @.str11239) - call void @fn_emith(ptr @.str11240) - call void @fn_emith(ptr @.str11241) - call void @fn_emith(ptr @.str11242) - call void @fn_emith(ptr @.str11243) - call void @fn_emith(ptr @.str11244) - call void @fn_emith(ptr @.str11245) - call void @fn_emith(ptr @.str11246) - call void @fn_emith(ptr @.str11247) - call void @fn_emith(ptr @.str11248) - call void @fn_emith(ptr @.str11249) - call void @fn_emith(ptr @.str11250) - call void @fn_emith(ptr @.str11251) - call void @fn_emith(ptr @.str11252) - call void @fn_emith(ptr @.str11253) - call void @fn_emith(ptr @.str11254) - call void @fn_emit(ptr @.str11255) - %t0 = call ptr @fn_find_fn(ptr @.str11256) + call void @fn_emith(ptr @.str11533) + call void @fn_emith(ptr @.str11534) + call void @fn_emith(ptr @.str11535) + call void @fn_emith(ptr @.str11536) + call void @fn_emith(ptr @.str11537) + call void @fn_emith(ptr @.str11538) + call void @fn_emith(ptr @.str11539) + call void @fn_emith(ptr @.str11540) + call void @fn_emith(ptr @.str11541) + call void @fn_emith(ptr @.str11542) + call void @fn_emith(ptr @.str11543) + call void @fn_emith(ptr @.str11544) + call void @fn_emith(ptr @.str11545) + call void @fn_emith(ptr @.str11546) + call void @fn_emith(ptr @.str11547) + call void @fn_emith(ptr @.str11548) + call void @fn_emith(ptr @.str11549) + call void @fn_emith(ptr @.str11550) + call void @fn_emith(ptr @.str11551) + call void @fn_emit(ptr @.str11552) + %t0 = call ptr @fn_find_fn(ptr @.str11553) %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 @.str11257) + call void @fn_emit(ptr @.str11554) br label %ifend2 ifend2: store i32 0, ptr %t4 @@ -118213,7 +125220,7 @@ wcond3: %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody4, label %wend5 wbody4: - call void @fn_emit(ptr @.str11258) + call void @fn_emit(ptr @.str11555) %t12 = load ptr, ptr @g_g_mod_sys_fn %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 @@ -118224,14 +125231,14 @@ wbody4: br i1 %t18, label %ixok6, label %ixbad7 ixbad7: %t19 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11259, i32 %t15, i32 %t17) + call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11556, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok6: %t20 = getelementptr inbounds ptr, ptr %t14, i32 %t15 %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str11260) + call void @fn_emit(ptr @.str11557) %t22 = load ptr, ptr @g_g_mod_sys_phase %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 @@ -118242,7 +125249,7 @@ ixok6: br i1 %t28, label %ixok8, label %ixbad9 ixbad9: %t29 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11261, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11558, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok8: @@ -118251,14 +125258,14 @@ ixok8: %t32 = call i32 @fn_phase_id(ptr %t31) %t33 = call ptr @fn_itoa(i32 %t32) call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11262) + call void @fn_emit(ptr @.str11559) %t34 = load i32, ptr %t4 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t4 br label %wcond3 wend5: - call void @fn_emit(ptr @.str11263) - call void @fn_emith(ptr @.str11264) + call void @fn_emit(ptr @.str11560) + call void @fn_emith(ptr @.str11561) br label %ret ret: ret void @@ -118269,35 +125276,35 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 64) store ptr %t0, ptr %t1 - call void @fn_emith(ptr @.str11265) + call void @fn_emith(ptr @.str11562) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) - call void @fn_emith(ptr @.str11266) - call void @fn_emith(ptr @.str11267) + call void @fn_emith(ptr @.str11563) + call void @fn_emith(ptr @.str11564) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) - call void @fn_emith(ptr @.str11268) - call void @fn_emith(ptr @.str11269) - call void @fn_emit(ptr @.str11270) - call void @fn_emit(ptr @.str11271) - call void @fn_emit(ptr @.str11272) + call void @fn_emith(ptr @.str11565) + call void @fn_emith(ptr @.str11566) + call void @fn_emit(ptr @.str11567) + call void @fn_emit(ptr @.str11568) + call void @fn_emit(ptr @.str11569) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str11273) - call void @fn_emit(ptr @.str11274) - call void @fn_emit(ptr @.str11275) - call void @fn_emit(ptr @.str11276) + call void @fn_emit(ptr @.str11570) + call void @fn_emit(ptr @.str11571) + call void @fn_emit(ptr @.str11572) + call void @fn_emit(ptr @.str11573) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str11277) - call void @fn_emit(ptr @.str11278) - call void @fn_emit(ptr @.str11279) + call void @fn_emit(ptr @.str11574) + call void @fn_emit(ptr @.str11575) + call void @fn_emit(ptr @.str11576) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str11280) - call void @fn_emit(ptr @.str11281) - call void @fn_emit(ptr @.str11282) - call void @fn_emit(ptr @.str11283) + call void @fn_emit(ptr @.str11577) + call void @fn_emit(ptr @.str11578) + call void @fn_emit(ptr @.str11579) + call void @fn_emit(ptr @.str11580) br label %ret ret: ret void @@ -118334,141 +125341,141 @@ entry: store ptr %t7, ptr %t8 %t9 = call ptr @fn_nreg() store ptr %t9, ptr %t10 - %t11 = call ptr @fn_lbl(ptr @.str11284) + %t11 = call ptr @fn_lbl(ptr @.str11581) store ptr %t11, ptr %t12 - %t13 = call ptr @fn_lbl(ptr @.str11285) + %t13 = call ptr @fn_lbl(ptr @.str11582) store ptr %t13, ptr %t14 - %t15 = call ptr @fn_lbl(ptr @.str11286) + %t15 = call ptr @fn_lbl(ptr @.str11583) store ptr %t15, ptr %t16 - %t17 = call ptr @fn_lbl(ptr @.str11287) + %t17 = call ptr @fn_lbl(ptr @.str11584) store ptr %t17, ptr %t18 - %t19 = call ptr @fn_lbl(ptr @.str11288) + %t19 = call ptr @fn_lbl(ptr @.str11585) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str11289) + %t21 = call ptr @fn_lbl(ptr @.str11586) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str11290) + call void @fn_emit(ptr @.str11587) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str11291) + call void @fn_emit(ptr @.str11588) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str11292) + call void @fn_emit(ptr @.str11589) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str11293) + call void @fn_emit(ptr @.str11590) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str11294) - call void @fn_emit(ptr @.str11295) + call void @fn_emit(ptr @.str11591) + call void @fn_emit(ptr @.str11592) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str11296) + call void @fn_emit(ptr @.str11593) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str11297) + call void @fn_emit(ptr @.str11594) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str11298) + call void @fn_emit(ptr @.str11595) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str11299) - %t31 = call ptr @fn_emit_bind(ptr @.str11300) + call void @fn_emit(ptr @.str11596) + %t31 = call ptr @fn_emit_bind(ptr @.str11597) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 - %t34 = call ptr @lp_str_concat(ptr @.str11301, ptr %t33) - %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11302) + %t34 = call ptr @lp_str_concat(ptr @.str11598, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11599) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 - call void @fn_emit(ptr @.str11303) + call void @fn_emit(ptr @.str11600) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11304) + call void @fn_emit(ptr @.str11601) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str11305) + call void @fn_emit(ptr @.str11602) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str11306) + call void @fn_emit(ptr @.str11603) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str11307) + call void @fn_emit(ptr @.str11604) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 - call void @fn_emit(ptr @.str11308) + call void @fn_emit(ptr @.str11605) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str11309) + call void @fn_emit(ptr @.str11606) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str11310) + call void @fn_emit(ptr @.str11607) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str11311) + call void @fn_emit(ptr @.str11608) %t49 = load ptr, ptr %t45 - %t50 = call ptr @lp_str_concat(ptr @.str11312, ptr %t49) + %t50 = call ptr @lp_str_concat(ptr @.str11609, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 - %t54 = call ptr @lp_str_concat(ptr @.str11313, ptr %t53) - %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str11314) + %t54 = call ptr @lp_str_concat(ptr @.str11610, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str11611) %t56 = load ptr, ptr %t6 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 - call void @fn_emit(ptr @.str11315) + call void @fn_emit(ptr @.str11612) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str11316) + call void @fn_emit(ptr @.str11613) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str11317) + call void @fn_emit(ptr @.str11614) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str11318) + call void @fn_emit(ptr @.str11615) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str11319) + call void @fn_emit(ptr @.str11616) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 - call void @fn_emit(ptr @.str11320) + call void @fn_emit(ptr @.str11617) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str11321) + call void @fn_emit(ptr @.str11618) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str11322) + call void @fn_emit(ptr @.str11619) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str11323) + call void @fn_emit(ptr @.str11620) %t69 = load ptr, ptr %t65 - %t70 = call ptr @lp_str_concat(ptr @.str11324, ptr %t69) + %t70 = call ptr @lp_str_concat(ptr @.str11621, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 - call void @fn_emit(ptr @.str11325) + call void @fn_emit(ptr @.str11622) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11326) - call void @fn_emit(ptr @.str11327) + call void @fn_emit(ptr @.str11623) + call void @fn_emit(ptr @.str11624) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11328) + call void @fn_emit(ptr @.str11625) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11329) + call void @fn_emit(ptr @.str11626) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11330) + call void @fn_emit(ptr @.str11627) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11331) + call void @fn_emit(ptr @.str11628) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11332) + call void @fn_emit(ptr @.str11629) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11333) + call void @fn_emit(ptr @.str11630) br label %ret ret: ret void @@ -118515,7 +125522,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11334, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11631, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -118594,7 +125601,7 @@ wbody13: br i1 %t65, label %ixok15, label %ixbad16 ixbad16: %t66 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str11335, i32 %t62, i32 %t64) + call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str11632, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok15: @@ -118653,7 +125660,7 @@ wend14: %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then24, label %ifend26 then24: - %t102 = call ptr @fn_emit_bind(ptr @.str11336) + %t102 = call ptr @fn_emit_bind(ptr @.str11633) store ptr %t102, ptr %t103 store i32 0, ptr %t1 br label %wcond27 @@ -118677,7 +125684,7 @@ wbody28: br i1 %t117, label %ixok30, label %ixbad31 ixbad31: %t118 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11337, i32 %t114, i32 %t116) + call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11634, i32 %t114, i32 %t116) call void @exit(i32 1) unreachable ixok30: @@ -118725,8 +125732,8 @@ scend35: br i1 %t149, label %then36, label %ifend38 then36: %t150 = load ptr, ptr %t103 - %t151 = call ptr @lp_str_concat(ptr @.str11338, ptr %t150) - %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11339) + %t151 = call ptr @lp_str_concat(ptr @.str11635, ptr %t150) + %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11636) %t153 = load ptr, ptr %t121 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 6 %t155 = load ptr, ptr %t154 @@ -118736,32 +125743,32 @@ then36: %t159 = call ptr @lp_str_concat(ptr %t152, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 - %t162 = call ptr @fn_lbl(ptr @.str11340) + %t162 = call ptr @fn_lbl(ptr @.str11637) store ptr %t162, ptr %t163 - %t164 = call ptr @fn_lbl(ptr @.str11341) + %t164 = call ptr @fn_lbl(ptr @.str11638) store ptr %t164, ptr %t165 - call void @fn_emit(ptr @.str11342) + call void @fn_emit(ptr @.str11639) %t166 = load ptr, ptr %t161 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str11343) + call void @fn_emit(ptr @.str11640) %t167 = load ptr, ptr %t163 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str11344) + call void @fn_emit(ptr @.str11641) %t168 = load ptr, ptr %t165 call void @fn_emit(ptr %t168) - call void @fn_emit(ptr @.str11345) + call void @fn_emit(ptr @.str11642) %t169 = load ptr, ptr %t163 call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str11346) + call void @fn_emit(ptr @.str11643) %t170 = load ptr, ptr %t121 call void @fn_emit_call_one(ptr %t170) - call void @fn_emit(ptr @.str11347) + call void @fn_emit(ptr @.str11644) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str11348) + call void @fn_emit(ptr @.str11645) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str11349) + call void @fn_emit(ptr @.str11646) br label %ifend38 ifend38: %t173 = load i32, ptr %t1 @@ -118776,7 +125783,7 @@ ifend26: %t176 = load ptr, ptr %t0 call void @fn_emit_dyn_systems_for_phase(ptr %t176) %t177 = load ptr, ptr %t0 - %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11350) + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11647) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then39, label %ifend41 then39: @@ -118820,7 +125827,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11351, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11648, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -118849,7 +125856,7 @@ wend2: then8: br label %ret ifend10: - %t30 = call ptr @fn_emit_bind(ptr @.str11352) + %t30 = call ptr @fn_emit_bind(ptr @.str11649) store ptr %t30, ptr %t31 store i32 0, ptr %t1 br label %wcond11 @@ -118873,7 +125880,7 @@ wbody12: br i1 %t45, label %ixok14, label %ixbad15 ixbad15: %t46 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str11353, i32 %t42, i32 %t44) + call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str11650, i32 %t42, i32 %t44) call void @exit(i32 1) unreachable ixok14: @@ -118889,8 +125896,8 @@ ixok14: br i1 %t55, label %then16, label %ifend18 then16: %t56 = load ptr, ptr %t31 - %t57 = call ptr @lp_str_concat(ptr @.str11354, ptr %t56) - %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11355) + %t57 = call ptr @lp_str_concat(ptr @.str11651, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11652) %t59 = load ptr, ptr %t49 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 %t61 = load i32, ptr %t60 @@ -118898,30 +125905,30 @@ then16: %t63 = call ptr @lp_str_concat(ptr %t58, ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 - %t66 = call ptr @fn_lbl(ptr @.str11356) + %t66 = call ptr @fn_lbl(ptr @.str11653) store ptr %t66, ptr %t67 - %t68 = call ptr @fn_lbl(ptr @.str11357) + %t68 = call ptr @fn_lbl(ptr @.str11654) store ptr %t68, ptr %t69 - call void @fn_emit(ptr @.str11358) + call void @fn_emit(ptr @.str11655) %t70 = load ptr, ptr %t65 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str11359) + call void @fn_emit(ptr @.str11656) %t71 = load ptr, ptr %t67 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str11360) + call void @fn_emit(ptr @.str11657) %t72 = load ptr, ptr %t69 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str11361) + call void @fn_emit(ptr @.str11658) %t73 = load ptr, ptr %t67 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11362) - call void @fn_emit(ptr @.str11363) + call void @fn_emit(ptr @.str11659) + call void @fn_emit(ptr @.str11660) %t74 = load ptr, ptr %t69 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11364) + call void @fn_emit(ptr @.str11661) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11365) + call void @fn_emit(ptr @.str11662) br label %ifend18 ifend18: %t76 = load i32, ptr %t1 @@ -118956,7 +125963,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11366, ptr @g_ret_ty + store ptr @.str11663, ptr @g_ret_ty %t4 = call ptr @fn_buf_new() store ptr %t4, ptr %t5 %t6 = call ptr @fn_buf_new() @@ -118974,7 +125981,7 @@ entry: br i1 %t14, label %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t1 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11367) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11664) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t10 @@ -118984,22 +125991,22 @@ scend1: %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then2, label %ifend4 then2: - %t22 = call ptr @fn_find_fn(ptr @.str11368) + %t22 = call ptr @fn_find_fn(ptr @.str11665) %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 @.str11369) + call void @fn_emit(ptr @.str11666) br label %ifend7 ifend7: - call void @fn_emit(ptr @.str11370) + call void @fn_emit(ptr @.str11667) %t26 = load ptr, ptr %t3 - %t27 = call ptr @lp_str_concat(ptr @.str11371, ptr %t26) + %t27 = call ptr @lp_str_concat(ptr @.str11668, 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 @.str11372) + call void @fn_emit(ptr @.str11669) br label %ifend4 ifend4: %t31 = load ptr, ptr %t3 @@ -119011,7 +126018,7 @@ ifend4: br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t1 - %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11373) + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11670) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t30 @@ -119021,7 +126028,7 @@ scend9: %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str11374) + call void @fn_emit(ptr @.str11671) br label %ifend12 ifend12: %t42 = load ptr, ptr %t2 @@ -119035,8 +126042,8 @@ then13: br label %ifend15 ifend15: %t47 = load ptr, ptr %t0 - %t48 = call ptr @lp_str_concat(ptr @.str11375, ptr %t47) - %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11376) + %t48 = call ptr @lp_str_concat(ptr @.str11672, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11673) %t50 = load ptr, ptr %t1 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store ptr %t51, ptr %t52 @@ -119061,10 +126068,10 @@ scend17: %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str11377) + call void @fn_emit(ptr @.str11674) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str11378) + call void @fn_emit(ptr @.str11675) br label %ifend20 ifend20: %t68 = load i32, ptr @g_g_term @@ -119073,26 +126080,26 @@ ifend20: %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then21, label %ifend23 then21: - call void @fn_emit(ptr @.str11379) + call void @fn_emit(ptr @.str11676) br label %ifend23 ifend23: - call void @fn_emit(ptr @.str11380) + call void @fn_emit(ptr @.str11677) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code - call void @fn_emit(ptr @.str11381) + call void @fn_emit(ptr @.str11678) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11382) + call void @fn_emit(ptr @.str11679) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11383) + call void @fn_emit(ptr @.str11680) %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 @.str11384) + call void @fn_emit(ptr @.str11681) br label %ret ret: ret void @@ -119124,7 +126131,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11385, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11682, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119142,7 +126149,7 @@ ixok3: %t26 = load ptr, ptr %t18 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 - call void @fn_emit_scene_fn(ptr %t22, ptr @.str11386, ptr %t25, ptr %t28) + call void @fn_emit_scene_fn(ptr %t22, ptr @.str11683, ptr %t25, ptr %t28) %t29 = load ptr, ptr %t18 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 @@ -119152,7 +126159,7 @@ ixok3: %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 - call void @fn_emit_scene_fn(ptr %t31, ptr @.str11387, ptr %t34, ptr %t37) + call void @fn_emit_scene_fn(ptr %t31, ptr @.str11684, ptr %t34, ptr %t37) %t38 = load i32, ptr %t0 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t0 @@ -119180,8 +126187,8 @@ entry: %t0 = alloca i32 %t18 = alloca ptr %t21 = alloca ptr - call void @fn_emit(ptr @.str11388) - call void @fn_emit(ptr @.str11389) + call void @fn_emit(ptr @.str11685) + call void @fn_emit(ptr @.str11686) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -119204,7 +126211,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11390, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11687, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119214,45 +126221,45 @@ ixok3: %t19 = load i32, ptr %t0 %t20 = call ptr @fn_itoa(i32 %t19) store ptr %t20, ptr %t21 - call void @fn_emit(ptr @.str11391) + call void @fn_emit(ptr @.str11688) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str11392) + call void @fn_emit(ptr @.str11689) %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = call ptr @fn_itoa(i32 %t25) call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str11393) - call void @fn_emit(ptr @.str11394) + call void @fn_emit(ptr @.str11690) + call void @fn_emit(ptr @.str11691) %t27 = load ptr, ptr %t21 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str11395) + call void @fn_emit(ptr @.str11692) %t28 = load ptr, ptr %t21 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str11396) + call void @fn_emit(ptr @.str11693) %t29 = load ptr, ptr %t21 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str11397) - call void @fn_emit(ptr @.str11398) + call void @fn_emit(ptr @.str11694) + call void @fn_emit(ptr @.str11695) %t30 = load ptr, ptr %t21 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str11399) + call void @fn_emit(ptr @.str11696) %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11400) - call void @fn_emit(ptr @.str11401) + call void @fn_emit(ptr @.str11697) + call void @fn_emit(ptr @.str11698) %t34 = load ptr, ptr %t21 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str11402) + call void @fn_emit(ptr @.str11699) %t35 = load i32, ptr %t0 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t0 br label %wcond0 wend2: - call void @fn_emit(ptr @.str11403) + call void @fn_emit(ptr @.str11700) br label %ret ret: ret void @@ -119288,7 +126295,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11404, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11701, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119306,7 +126313,7 @@ ixok3: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11405, ptr @g_ret_ty + store ptr @.str11702, ptr @g_ret_ty %t24 = call ptr @fn_buf_new() store ptr %t24, ptr %t25 %t26 = call ptr @fn_buf_new() @@ -119323,21 +126330,21 @@ ixok3: %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then5, label %ifend7 then5: - %t36 = call ptr @fn_emit_alloca(ptr @.str11406) + %t36 = call ptr @fn_emit_alloca(ptr @.str11703) store ptr %t36, ptr %t37 - call void @fn_emit(ptr @.str11407) + call void @fn_emit(ptr @.str11704) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str11408) + call void @fn_emit(ptr @.str11705) %t39 = load ptr, ptr %t18 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t37 - call void @fn_loc_push(ptr %t41, ptr %t42, ptr @.str11409) + call void @fn_loc_push(ptr %t41, ptr %t42, ptr @.str11706) br label %ifend7 ifend7: %t43 = load ptr, ptr %t23 - call void @fn_emit_bind_props(ptr %t43, ptr @.str11410) + call void @fn_emit_bind_props(ptr %t43, ptr @.str11707) %t44 = load ptr, ptr %t18 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 @@ -119348,25 +126355,25 @@ ifend7: %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str11411) + call void @fn_emit(ptr @.str11708) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str11412) + call void @fn_emit(ptr @.str11709) %t51 = load ptr, ptr %t28 store ptr %t51, ptr @g_code - call void @fn_emit(ptr @.str11413) + call void @fn_emit(ptr @.str11710) %t52 = load ptr, ptr %t18 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str11414) + call void @fn_emit(ptr @.str11711) %t55 = load ptr, ptr @g_falloc %t56 = call ptr @fn_buf_str(ptr %t55) call void @fn_emit(ptr %t56) %t57 = load ptr, ptr %t25 %t58 = call ptr @fn_buf_str(ptr %t57) call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str11415) + call void @fn_emit(ptr @.str11712) %t59 = load i32, ptr %t0 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t0 @@ -119385,7 +126392,7 @@ entry: %t29 = alloca ptr %t32 = alloca ptr %t45 = alloca ptr - call void @fn_emit(ptr @.str11416) + call void @fn_emit(ptr @.str11713) %t0 = load ptr, ptr @g_g_ondespawn %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -119396,11 +126403,11 @@ entry: then0: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str11417) + call void @fn_emit(ptr @.str11714) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str11418) - call void @fn_emit(ptr @.str11419) + call void @fn_emit(ptr @.str11715) + call void @fn_emit(ptr @.str11716) store i32 0, ptr %t9 br label %wcond3 wcond3: @@ -119423,7 +126430,7 @@ wbody4: br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str11420, i32 %t20, i32 %t22) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str11717, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: @@ -119435,35 +126442,35 @@ ixok6: %t30 = load i32, ptr %t9 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 - call void @fn_emit(ptr @.str11421) + call void @fn_emit(ptr @.str11718) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11422) + call void @fn_emit(ptr @.str11719) %t34 = load ptr, ptr %t29 %t35 = call i32 @fn_find_arch_id(ptr %t34) %t36 = call ptr @fn_itoa(i32 %t35) call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str11423) - call void @fn_emit(ptr @.str11424) + call void @fn_emit(ptr @.str11720) + call void @fn_emit(ptr @.str11721) %t37 = load ptr, ptr %t32 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str11425) + call void @fn_emit(ptr @.str11722) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str11426) + call void @fn_emit(ptr @.str11723) %t39 = load ptr, ptr %t32 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str11427) - call void @fn_emit(ptr @.str11428) + call void @fn_emit(ptr @.str11724) + call void @fn_emit(ptr @.str11725) %t40 = load ptr, ptr %t32 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11429) + call void @fn_emit(ptr @.str11726) %t41 = load ptr, ptr %t29 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str11430) + call void @fn_emit(ptr @.str11727) %t42 = load ptr, ptr %t29 - %t43 = call ptr @lp_str_concat(ptr @.str11431, ptr %t42) - %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11432) + %t43 = call ptr @lp_str_concat(ptr @.str11728, ptr %t42) + %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11729) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_find_event(ptr %t46) @@ -119472,20 +126479,20 @@ ixok6: %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str11433) + call void @fn_emit(ptr @.str11730) %t51 = load ptr, ptr %t45 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str11434) + call void @fn_emit(ptr @.str11731) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str11435) + call void @fn_emit(ptr @.str11732) %t52 = load ptr, ptr %t32 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str11436) - call void @fn_emit(ptr @.str11437) + call void @fn_emit(ptr @.str11733) + call void @fn_emit(ptr @.str11734) %t53 = load ptr, ptr %t32 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str11438) + call void @fn_emit(ptr @.str11735) %t54 = load i32, ptr %t9 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t9 @@ -119501,11 +126508,11 @@ ifend2: %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str11439) + call void @fn_emit(ptr @.str11736) br label %ifend13 ifend13: - call void @fn_emit(ptr @.str11440) - call void @fn_emit(ptr @.str11441) + call void @fn_emit(ptr @.str11737) + call void @fn_emit(ptr @.str11738) br label %ret ret: ret void @@ -119530,21 +126537,21 @@ then0: ifend2: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str11442) - call void @fn_emit(ptr @.str11443) - call void @fn_emit(ptr @.str11444) - call void @fn_emit(ptr @.str11445) - call void @fn_emit(ptr @.str11446) + call void @fn_emit(ptr @.str11739) + call void @fn_emit(ptr @.str11740) + call void @fn_emit(ptr @.str11741) + call void @fn_emit(ptr @.str11742) + call void @fn_emit(ptr @.str11743) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str11447) - call void @fn_emit(ptr @.str11448) - call void @fn_emit(ptr @.str11449) - call void @fn_emit(ptr @.str11450) + call void @fn_emit(ptr @.str11744) + call void @fn_emit(ptr @.str11745) + call void @fn_emit(ptr @.str11746) + call void @fn_emit(ptr @.str11747) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) - call void @fn_emit(ptr @.str11451) - call void @fn_emit(ptr @.str11452) + call void @fn_emit(ptr @.str11748) + call void @fn_emit(ptr @.str11749) store i32 0, ptr %t10 br label %wcond3 wcond3: @@ -119567,7 +126574,7 @@ wbody4: br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11453, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11750, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: @@ -119579,35 +126586,35 @@ ixok6: %t31 = load i32, ptr %t10 %t32 = call ptr @fn_itoa(i32 %t31) store ptr %t32, ptr %t33 - call void @fn_emit(ptr @.str11454) + call void @fn_emit(ptr @.str11751) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str11455) + call void @fn_emit(ptr @.str11752) %t35 = load ptr, ptr %t30 %t36 = call i32 @fn_find_arch_id(ptr %t35) %t37 = call ptr @fn_itoa(i32 %t36) call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str11456) - call void @fn_emit(ptr @.str11457) + call void @fn_emit(ptr @.str11753) + call void @fn_emit(ptr @.str11754) %t38 = load ptr, ptr %t33 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str11458) + call void @fn_emit(ptr @.str11755) %t39 = load ptr, ptr %t33 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str11459) + call void @fn_emit(ptr @.str11756) %t40 = load ptr, ptr %t33 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11460) - call void @fn_emit(ptr @.str11461) + call void @fn_emit(ptr @.str11757) + call void @fn_emit(ptr @.str11758) %t41 = load ptr, ptr %t33 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str11462) + call void @fn_emit(ptr @.str11759) %t42 = load ptr, ptr %t30 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str11463) + call void @fn_emit(ptr @.str11760) %t43 = load ptr, ptr %t30 - %t44 = call ptr @lp_str_concat(ptr @.str11464, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11465) + %t44 = call ptr @lp_str_concat(ptr @.str11761, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11762) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_find_event(ptr %t47) @@ -119616,28 +126623,28 @@ ixok6: %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str11466) + call void @fn_emit(ptr @.str11763) %t52 = load ptr, ptr %t46 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str11467) + call void @fn_emit(ptr @.str11764) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str11468) + call void @fn_emit(ptr @.str11765) %t53 = load ptr, ptr %t33 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str11469) - call void @fn_emit(ptr @.str11470) + call void @fn_emit(ptr @.str11766) + call void @fn_emit(ptr @.str11767) %t54 = load ptr, ptr %t33 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str11471) + call void @fn_emit(ptr @.str11768) %t55 = load i32, ptr %t10 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t10 br label %wcond3 wend5: - call void @fn_emit(ptr @.str11472) - call void @fn_emit(ptr @.str11473) - call void @fn_emit(ptr @.str11474) + call void @fn_emit(ptr @.str11769) + call void @fn_emit(ptr @.str11770) + call void @fn_emit(ptr @.str11771) br label %ret ret: ret void @@ -119682,7 +126689,7 @@ entry: %t385 = alloca i32 %t405 = alloca ptr %t408 = alloca ptr - call void @fn_emith(ptr @.str11475) + call void @fn_emith(ptr @.str11772) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -119705,7 +126712,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11476, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11773, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119718,10 +126725,10 @@ ixok3: store ptr %t21, ptr %t22 %t23 = call ptr @fn_itoa(i32 16) store ptr %t23, ptr %t24 - call void @fn_emith(ptr @.str11477) + call void @fn_emith(ptr @.str11774) %t25 = load ptr, ptr %t22 call void @fn_emith(ptr %t25) - call void @fn_emith(ptr @.str11478) + call void @fn_emith(ptr @.str11775) store i32 0, ptr %t26 br label %wcond5 wcond5: @@ -119742,7 +126749,7 @@ wbody6: %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: - call void @fn_emith(ptr @.str11479) + call void @fn_emith(ptr @.str11776) br label %ifend10 ifend10: %t40 = load ptr, ptr %t18 @@ -119757,7 +126764,7 @@ ifend10: br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11480, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11777, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: @@ -119790,118 +126797,118 @@ then13: %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then16, label %ifend18 then16: - call void @fn_emith(ptr @.str11481) + call void @fn_emith(ptr @.str11778) br label %ifend18 ifend18: - call void @fn_emith(ptr @.str11482) + call void @fn_emith(ptr @.str11779) br label %ifend15 ifend15: - call void @fn_emith(ptr @.str11483) - call void @fn_emith(ptr @.str11484) + call void @fn_emith(ptr @.str11780) + call void @fn_emith(ptr @.str11781) %t71 = load ptr, ptr %t22 call void @fn_emith(ptr %t71) - call void @fn_emith(ptr @.str11485) + call void @fn_emith(ptr @.str11782) %t72 = load ptr, ptr %t24 call void @fn_emith(ptr %t72) - call void @fn_emith(ptr @.str11486) - call void @fn_emith(ptr @.str11487) + call void @fn_emith(ptr @.str11783) + call void @fn_emith(ptr @.str11784) %t73 = load ptr, ptr %t22 call void @fn_emith(ptr %t73) - call void @fn_emith(ptr @.str11488) - call void @fn_emith(ptr @.str11489) + call void @fn_emith(ptr @.str11785) + call void @fn_emith(ptr @.str11786) %t74 = load ptr, ptr %t22 call void @fn_emith(ptr %t74) - call void @fn_emith(ptr @.str11490) + call void @fn_emith(ptr @.str11787) %t75 = load ptr, ptr %t24 call void @fn_emith(ptr %t75) - call void @fn_emith(ptr @.str11491) - call void @fn_emit(ptr @.str11492) + call void @fn_emith(ptr @.str11788) + call void @fn_emit(ptr @.str11789) %t76 = load ptr, ptr %t22 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11493) - call void @fn_emit(ptr @.str11494) + call void @fn_emit(ptr @.str11790) + call void @fn_emit(ptr @.str11791) %t77 = load ptr, ptr %t22 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11495) - call void @fn_emit(ptr @.str11496) + call void @fn_emit(ptr @.str11792) + call void @fn_emit(ptr @.str11793) %t78 = load ptr, ptr %t24 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11497) - call void @fn_emit(ptr @.str11498) - call void @fn_emit(ptr @.str11499) + call void @fn_emit(ptr @.str11794) + call void @fn_emit(ptr @.str11795) + call void @fn_emit(ptr @.str11796) %t79 = load ptr, ptr %t24 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11500) + call void @fn_emit(ptr @.str11797) %t80 = load ptr, ptr %t22 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11501) - call void @fn_emit(ptr @.str11502) - call void @fn_emit(ptr @.str11503) + call void @fn_emit(ptr @.str11798) + call void @fn_emit(ptr @.str11799) + call void @fn_emit(ptr @.str11800) %t81 = load ptr, ptr %t24 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str11504) + call void @fn_emit(ptr @.str11801) %t82 = load ptr, ptr %t22 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11505) - call void @fn_emit(ptr @.str11506) - call void @fn_emit(ptr @.str11507) + call void @fn_emit(ptr @.str11802) + call void @fn_emit(ptr @.str11803) + call void @fn_emit(ptr @.str11804) %t83 = load ptr, ptr %t22 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str11508) - call void @fn_emit(ptr @.str11509) - call void @fn_emit(ptr @.str11510) + call void @fn_emit(ptr @.str11805) + call void @fn_emit(ptr @.str11806) + call void @fn_emit(ptr @.str11807) %t84 = load ptr, ptr %t22 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str11511) - call void @fn_emit(ptr @.str11512) + call void @fn_emit(ptr @.str11808) + call void @fn_emit(ptr @.str11809) %t85 = load ptr, ptr %t22 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str11513) - call void @fn_emit(ptr @.str11514) + call void @fn_emit(ptr @.str11810) + call void @fn_emit(ptr @.str11811) %t86 = load ptr, ptr %t24 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str11515) - call void @fn_emit(ptr @.str11516) - call void @fn_emit(ptr @.str11517) + call void @fn_emit(ptr @.str11812) + call void @fn_emit(ptr @.str11813) + call void @fn_emit(ptr @.str11814) %t87 = load ptr, ptr %t24 call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str11518) + call void @fn_emit(ptr @.str11815) %t88 = load ptr, ptr %t22 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str11519) - call void @fn_emit(ptr @.str11520) - call void @fn_emit(ptr @.str11521) + call void @fn_emit(ptr @.str11816) + call void @fn_emit(ptr @.str11817) + call void @fn_emit(ptr @.str11818) %t89 = load ptr, ptr %t24 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str11522) + call void @fn_emit(ptr @.str11819) %t90 = load ptr, ptr %t22 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str11523) - call void @fn_emit(ptr @.str11524) - call void @fn_emit(ptr @.str11525) + call void @fn_emit(ptr @.str11820) + call void @fn_emit(ptr @.str11821) + call void @fn_emit(ptr @.str11822) %t91 = load ptr, ptr %t22 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str11526) - call void @fn_emit(ptr @.str11527) - call void @fn_emit(ptr @.str11528) + call void @fn_emit(ptr @.str11823) + call void @fn_emit(ptr @.str11824) + call void @fn_emit(ptr @.str11825) %t92 = load ptr, ptr %t22 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str11529) - call void @fn_emit(ptr @.str11530) + call void @fn_emit(ptr @.str11826) + call void @fn_emit(ptr @.str11827) %t93 = load ptr, ptr %t22 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str11531) - call void @fn_emit(ptr @.str11532) - call void @fn_emit(ptr @.str11533) - call void @fn_emit(ptr @.str11534) + call void @fn_emit(ptr @.str11828) + call void @fn_emit(ptr @.str11829) + call void @fn_emit(ptr @.str11830) + call void @fn_emit(ptr @.str11831) %t94 = load ptr, ptr %t24 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str11535) + call void @fn_emit(ptr @.str11832) %t95 = load ptr, ptr %t22 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str11536) - call void @fn_emit(ptr @.str11537) - call void @fn_emit(ptr @.str11538) + call void @fn_emit(ptr @.str11833) + call void @fn_emit(ptr @.str11834) + call void @fn_emit(ptr @.str11835) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term @@ -119909,7 +126916,7 @@ ifend15: store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr null, ptr @g_g_cur_scene - store ptr @.str11539, ptr @g_ret_ty + store ptr @.str11836, ptr @g_ret_ty %t96 = call ptr @fn_buf_new() store ptr %t96, ptr %t97 %t98 = call ptr @fn_buf_new() @@ -119918,13 +126925,13 @@ ifend15: store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t97 store ptr %t101, ptr @g_code - call void @fn_emit(ptr @.str11540) - call void @fn_emit(ptr @.str11541) + call void @fn_emit(ptr @.str11837) + call void @fn_emit(ptr @.str11838) %t102 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str11542) - call void @fn_emit(ptr @.str11543) - call void @fn_emit(ptr @.str11544) + call void @fn_emit(ptr @.str11839) + call void @fn_emit(ptr @.str11840) + call void @fn_emit(ptr @.str11841) %t103 = load ptr, ptr %t18 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 2 %t105 = load i32, ptr %t104 @@ -119933,16 +126940,16 @@ ifend15: %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then19, label %else20 then19: - call void @fn_emit(ptr @.str11545) + call void @fn_emit(ptr @.str11842) br label %ifend21 else20: - call void @fn_emit(ptr @.str11546) + call void @fn_emit(ptr @.str11843) br label %ifend21 ifend21: - call void @fn_emit(ptr @.str11547) - call void @fn_emit(ptr @.str11548) + call void @fn_emit(ptr @.str11844) + call void @fn_emit(ptr @.str11845) %t109 = load ptr, ptr %t22 - %t110 = call ptr @lp_str_concat(ptr @.str11549, ptr %t109) + %t110 = call ptr @lp_str_concat(ptr @.str11846, ptr %t109) %t111 = call ptr @fn_emit_alloca(ptr %t110) store ptr %t111, ptr %t112 store i32 0, ptr %t113 @@ -119971,7 +126978,7 @@ wbody23: br i1 %t131, label %ixok25, label %ixbad26 ixbad26: %t132 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str11550, i32 %t128, i32 %t130) + call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str11847, i32 %t128, i32 %t130) call void @exit(i32 1) unreachable ixok25: @@ -119985,45 +126992,45 @@ ixok25: store ptr %t139, ptr %t140 %t141 = call ptr @fn_nreg() store ptr %t141, ptr %t142 - call void @fn_emit(ptr @.str11551) + call void @fn_emit(ptr @.str11848) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str11552) + call void @fn_emit(ptr @.str11849) %t144 = load ptr, ptr %t22 call void @fn_emit(ptr %t144) - call void @fn_emit(ptr @.str11553) + call void @fn_emit(ptr @.str11850) %t145 = load ptr, ptr %t112 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str11554) + call void @fn_emit(ptr @.str11851) %t146 = load i32, ptr %t113 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str11555) - call void @fn_emit(ptr @.str11556) + call void @fn_emit(ptr @.str11852) + call void @fn_emit(ptr @.str11853) %t148 = load ptr, ptr %t140 call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str11557) + call void @fn_emit(ptr @.str11854) %t149 = load i32, ptr %t113 %t150 = call ptr @fn_itoa(i32 %t149) call void @fn_emit(ptr %t150) - call void @fn_emit(ptr @.str11558) + call void @fn_emit(ptr @.str11855) %t151 = load ptr, ptr %t142 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str11559) + call void @fn_emit(ptr @.str11856) %t152 = load ptr, ptr %t140 %t153 = call ptr @fn_emit_alloca(ptr %t152) store ptr %t153, ptr %t154 - call void @fn_emit(ptr @.str11560) + call void @fn_emit(ptr @.str11857) %t155 = load ptr, ptr %t140 call void @fn_emit(ptr %t155) - call void @fn_emit(ptr @.str11561) + call void @fn_emit(ptr @.str11858) %t156 = load i32, ptr %t113 %t157 = call ptr @fn_itoa(i32 %t156) call void @fn_emit(ptr %t157) - call void @fn_emit(ptr @.str11562) + call void @fn_emit(ptr @.str11859) %t158 = load ptr, ptr %t154 call void @fn_emit(ptr %t158) - call void @fn_emit(ptr @.str11563) + call void @fn_emit(ptr @.str11860) %t159 = load ptr, ptr %t135 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 @@ -120048,16 +127055,16 @@ wend24: then27: %t175 = call ptr @fn_nreg() store ptr %t175, ptr %t168 - call void @fn_emit(ptr @.str11564) + call void @fn_emit(ptr @.str11861) %t176 = load ptr, ptr %t168 call void @fn_emit(ptr %t176) - call void @fn_emit(ptr @.str11565) + call void @fn_emit(ptr @.str11862) %t177 = load ptr, ptr %t22 call void @fn_emit(ptr %t177) - call void @fn_emit(ptr @.str11566) + call void @fn_emit(ptr @.str11863) %t178 = load ptr, ptr %t112 call void @fn_emit(ptr %t178) - call void @fn_emit(ptr @.str11567) + call void @fn_emit(ptr @.str11864) %t179 = load ptr, ptr %t18 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7 %t181 = load ptr, ptr %t180 @@ -120065,11 +127072,11 @@ then27: %t183 = load i32, ptr %t182 %t184 = call ptr @fn_itoa(i32 %t183) call void @fn_emit(ptr %t184) - call void @fn_emit(ptr @.str11568) - call void @fn_emit(ptr @.str11569) + call void @fn_emit(ptr @.str11865) + call void @fn_emit(ptr @.str11866) %t185 = load ptr, ptr %t168 call void @fn_emit(ptr %t185) - call void @fn_emit(ptr @.str11570) + call void @fn_emit(ptr @.str11867) %t186 = load ptr, ptr %t168 store ptr %t186, ptr @g_g_cancel_addr br label %ifend29 @@ -120098,7 +127105,7 @@ wbody31: br i1 %t203, label %ixok33, label %ixbad34 ixbad34: %t204 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str11571, i32 %t200, i32 %t202) + call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str11868, i32 %t200, i32 %t202) call void @exit(i32 1) unreachable ixok33: @@ -120114,7 +127121,7 @@ then35: %t212 = load i32, ptr %t188 store i32 %t212, ptr @g_nloc store i32 0, ptr @g_g_term - %t213 = call ptr @fn_lbl(ptr @.str11572) + %t213 = call ptr @fn_lbl(ptr @.str11869) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 store ptr %t215, ptr @g_g_ret_label @@ -120128,7 +127135,7 @@ then35: br i1 %t222, label %ixok38, label %ixbad39 ixbad39: %t223 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str11573, i32 %t219, i32 %t221) + call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str11870, i32 %t219, i32 %t221) call void @exit(i32 1) unreachable ixok38: @@ -120150,7 +127157,7 @@ ixok38: br i1 %t236, label %ixok40, label %ixbad41 ixbad41: %t237 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str11574, i32 %t233, i32 %t235) + call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str11871, i32 %t233, i32 %t235) call void @exit(i32 1) unreachable ixok40: @@ -120159,7 +127166,7 @@ ixok40: %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 4 %t241 = load ptr, ptr %t240 call void @fn_emit_block(ptr %t241) - store ptr @.str11575, ptr @g_g_ret_label + store ptr @.str11872, ptr @g_g_ret_label %t242 = load i32, ptr @g_g_term %t243 = icmp eq i32 %t242, 0 %t244 = zext i1 %t243 to i32 @@ -120167,13 +127174,13 @@ ixok40: br i1 %t245, label %then42, label %ifend44 then42: %t246 = load ptr, ptr %t214 - %t247 = call ptr @lp_str_concat(ptr @.str11576, ptr %t246) - %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11577) + %t247 = call ptr @lp_str_concat(ptr @.str11873, ptr %t246) + %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11874) call void @fn_emit(ptr %t248) br label %ifend44 ifend44: %t249 = load ptr, ptr %t214 - %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11578) + %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11875) call void @fn_emit(ptr %t250) store i32 0, ptr @g_g_term br label %ifend37 @@ -120189,132 +127196,132 @@ wend32: %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then45, label %ifend47 then45: - %t257 = call ptr @fn_emit_alloca(ptr @.str11579) + %t257 = call ptr @fn_emit_alloca(ptr @.str11876) store ptr %t257, ptr %t258 - call void @fn_emit(ptr @.str11580) + call void @fn_emit(ptr @.str11877) %t259 = load ptr, ptr %t258 call void @fn_emit(ptr %t259) - call void @fn_emit(ptr @.str11581) - %t260 = call ptr @fn_lbl(ptr @.str11582) + call void @fn_emit(ptr @.str11878) + %t260 = call ptr @fn_lbl(ptr @.str11879) store ptr %t260, ptr %t261 - %t262 = call ptr @fn_lbl(ptr @.str11583) + %t262 = call ptr @fn_lbl(ptr @.str11880) store ptr %t262, ptr %t263 - %t264 = call ptr @fn_lbl(ptr @.str11584) + %t264 = call ptr @fn_lbl(ptr @.str11881) store ptr %t264, ptr %t265 - call void @fn_emit(ptr @.str11585) + call void @fn_emit(ptr @.str11882) %t266 = load ptr, ptr %t261 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str11586) + call void @fn_emit(ptr @.str11883) %t267 = load ptr, ptr %t261 call void @fn_emit(ptr %t267) - call void @fn_emit(ptr @.str11587) + call void @fn_emit(ptr @.str11884) %t268 = load ptr, ptr %t258 - %t269 = call ptr @lp_str_concat(ptr @.str11588, ptr %t268) + %t269 = call ptr @lp_str_concat(ptr @.str11885, ptr %t268) %t270 = call ptr @fn_emit_bind(ptr %t269) store ptr %t270, ptr %t271 %t272 = load ptr, ptr %t22 - %t273 = call ptr @lp_str_concat(ptr @.str11589, ptr %t272) + %t273 = call ptr @lp_str_concat(ptr @.str11886, ptr %t272) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t271 - %t277 = call ptr @lp_str_concat(ptr @.str11590, ptr %t276) - %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11591) + %t277 = call ptr @lp_str_concat(ptr @.str11887, ptr %t276) + %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11888) %t279 = load ptr, ptr %t275 %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 - call void @fn_emit(ptr @.str11592) + call void @fn_emit(ptr @.str11889) %t283 = load ptr, ptr %t282 call void @fn_emit(ptr %t283) - call void @fn_emit(ptr @.str11593) + call void @fn_emit(ptr @.str11890) %t284 = load ptr, ptr %t263 call void @fn_emit(ptr %t284) - call void @fn_emit(ptr @.str11594) + call void @fn_emit(ptr @.str11891) %t285 = load ptr, ptr %t265 call void @fn_emit(ptr %t285) - call void @fn_emit(ptr @.str11595) + call void @fn_emit(ptr @.str11892) %t286 = load ptr, ptr %t263 call void @fn_emit(ptr %t286) - call void @fn_emit(ptr @.str11596) + call void @fn_emit(ptr @.str11893) %t287 = call ptr @fn_nreg() store ptr %t287, ptr %t288 - call void @fn_emit(ptr @.str11597) + call void @fn_emit(ptr @.str11894) %t289 = load ptr, ptr %t288 call void @fn_emit(ptr %t289) - call void @fn_emit(ptr @.str11598) + call void @fn_emit(ptr @.str11895) %t290 = load ptr, ptr %t24 call void @fn_emit(ptr %t290) - call void @fn_emit(ptr @.str11599) + call void @fn_emit(ptr @.str11896) %t291 = load ptr, ptr %t22 call void @fn_emit(ptr %t291) - call void @fn_emit(ptr @.str11600) + call void @fn_emit(ptr @.str11897) %t292 = load ptr, ptr %t271 call void @fn_emit(ptr %t292) - call void @fn_emit(ptr @.str11601) + call void @fn_emit(ptr @.str11898) %t293 = load ptr, ptr %t288 - %t294 = call ptr @lp_str_concat(ptr @.str11602, ptr %t293) + %t294 = call ptr @lp_str_concat(ptr @.str11899, ptr %t293) %t295 = call ptr @fn_emit_bind(ptr %t294) store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t296 - %t298 = call ptr @lp_str_concat(ptr @.str11603, ptr %t297) - %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11604) + %t298 = call ptr @lp_str_concat(ptr @.str11900, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11901) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 - %t302 = call ptr @fn_lbl(ptr @.str11605) + %t302 = call ptr @fn_lbl(ptr @.str11902) store ptr %t302, ptr %t303 - %t304 = call ptr @fn_lbl(ptr @.str11606) + %t304 = call ptr @fn_lbl(ptr @.str11903) store ptr %t304, ptr %t305 - call void @fn_emit(ptr @.str11607) + call void @fn_emit(ptr @.str11904) %t306 = load ptr, ptr %t301 call void @fn_emit(ptr %t306) - call void @fn_emit(ptr @.str11608) + call void @fn_emit(ptr @.str11905) %t307 = load ptr, ptr %t305 call void @fn_emit(ptr %t307) - call void @fn_emit(ptr @.str11609) + call void @fn_emit(ptr @.str11906) %t308 = load ptr, ptr %t303 call void @fn_emit(ptr %t308) - call void @fn_emit(ptr @.str11610) + call void @fn_emit(ptr @.str11907) %t309 = load ptr, ptr %t303 call void @fn_emit(ptr %t309) - call void @fn_emit(ptr @.str11611) - call void @fn_emit(ptr @.str11612) + call void @fn_emit(ptr @.str11908) + call void @fn_emit(ptr @.str11909) %t310 = load ptr, ptr %t296 call void @fn_emit(ptr %t310) - call void @fn_emit(ptr @.str11613) + call void @fn_emit(ptr @.str11910) %t311 = load ptr, ptr %t112 call void @fn_emit(ptr %t311) - call void @fn_emit(ptr @.str11614) - call void @fn_emit(ptr @.str11615) + call void @fn_emit(ptr @.str11911) + call void @fn_emit(ptr @.str11912) %t312 = load ptr, ptr %t305 call void @fn_emit(ptr %t312) - call void @fn_emit(ptr @.str11616) + call void @fn_emit(ptr @.str11913) %t313 = load ptr, ptr %t305 call void @fn_emit(ptr %t313) - call void @fn_emit(ptr @.str11617) + call void @fn_emit(ptr @.str11914) %t314 = load ptr, ptr %t271 - %t315 = call ptr @lp_str_concat(ptr @.str11618, ptr %t314) - %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str11619) + %t315 = call ptr @lp_str_concat(ptr @.str11915, ptr %t314) + %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str11916) %t317 = call ptr @fn_emit_bind(ptr %t316) store ptr %t317, ptr %t318 - call void @fn_emit(ptr @.str11620) + call void @fn_emit(ptr @.str11917) %t319 = load ptr, ptr %t318 call void @fn_emit(ptr %t319) - call void @fn_emit(ptr @.str11621) + call void @fn_emit(ptr @.str11918) %t320 = load ptr, ptr %t258 call void @fn_emit(ptr %t320) - call void @fn_emit(ptr @.str11622) - call void @fn_emit(ptr @.str11623) + call void @fn_emit(ptr @.str11919) + call void @fn_emit(ptr @.str11920) %t321 = load ptr, ptr %t261 call void @fn_emit(ptr %t321) - call void @fn_emit(ptr @.str11624) + call void @fn_emit(ptr @.str11921) %t322 = load ptr, ptr %t265 call void @fn_emit(ptr %t322) - call void @fn_emit(ptr @.str11625) - call void @fn_emit(ptr @.str11626) + call void @fn_emit(ptr @.str11922) + call void @fn_emit(ptr @.str11923) br label %ifend47 ifend47: - call void @fn_emit(ptr @.str11627) - call void @fn_emit(ptr @.str11628) + call void @fn_emit(ptr @.str11924) + call void @fn_emit(ptr @.str11925) %t323 = load ptr, ptr %t18 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 2 %t325 = load i32, ptr %t324 @@ -120324,22 +127331,22 @@ ifend47: br i1 %t328, label %then48, label %else49 then48: %t329 = load ptr, ptr %t168 - %t330 = call ptr @lp_str_concat(ptr @.str11629, ptr %t329) + %t330 = call ptr @lp_str_concat(ptr @.str11926, ptr %t329) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 - call void @fn_emit(ptr @.str11630) + call void @fn_emit(ptr @.str11927) %t333 = load ptr, ptr %t332 call void @fn_emit(ptr %t333) - call void @fn_emit(ptr @.str11631) + call void @fn_emit(ptr @.str11928) br label %ifend50 else49: - call void @fn_emit(ptr @.str11632) + call void @fn_emit(ptr @.str11929) br label %ifend50 ifend50: store ptr null, ptr @g_g_cancel_addr %t334 = load ptr, ptr %t100 store ptr %t334, ptr @g_code - store ptr @.str11633, ptr %t335 + store ptr @.str11930, ptr %t335 %t336 = load ptr, ptr %t18 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 2 %t338 = load i32, ptr %t337 @@ -120348,16 +127355,16 @@ ifend50: %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then51, label %ifend53 then51: - store ptr @.str11634, ptr %t335 + store ptr @.str11931, ptr %t335 br label %ifend53 ifend53: - call void @fn_emit(ptr @.str11635) + call void @fn_emit(ptr @.str11932) %t342 = load ptr, ptr %t335 call void @fn_emit(ptr %t342) - call void @fn_emit(ptr @.str11636) + call void @fn_emit(ptr @.str11933) %t343 = load ptr, ptr %t22 call void @fn_emit(ptr %t343) - call void @fn_emit(ptr @.str11637) + call void @fn_emit(ptr @.str11934) store i32 0, ptr %t344 br label %wcond54 wcond54: @@ -120378,7 +127385,7 @@ wbody55: %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then57, label %ifend59 then57: - call void @fn_emit(ptr @.str11638) + call void @fn_emit(ptr @.str11935) br label %ifend59 ifend59: %t358 = load ptr, ptr %t18 @@ -120393,7 +127400,7 @@ ifend59: br i1 %t366, label %ixok60, label %ixbad61 ixbad61: %t367 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t367, ptr @.fmt_bounds, ptr @.str11639, i32 %t363, i32 %t365) + call i32 (ptr, ptr, ...) @fprintf(ptr %t367, ptr @.fmt_bounds, ptr @.str11936, i32 %t363, i32 %t365) call void @exit(i32 1) unreachable ixok60: @@ -120403,7 +127410,7 @@ ixok60: %t371 = load ptr, ptr %t370 %t372 = call ptr @fn_llty(ptr %t371) call void @fn_emit(ptr %t372) - call void @fn_emit(ptr @.str11640) + call void @fn_emit(ptr @.str11937) %t373 = load i32, ptr %t344 %t374 = call ptr @fn_itoa(i32 %t373) call void @fn_emit(ptr %t374) @@ -120412,14 +127419,14 @@ ixok60: store i32 %t376, ptr %t344 br label %wcond54 wend56: - call void @fn_emit(ptr @.str11641) + call void @fn_emit(ptr @.str11938) %t377 = load ptr, ptr @g_falloc %t378 = call ptr @fn_buf_str(ptr %t377) call void @fn_emit(ptr %t378) %t379 = load ptr, ptr %t97 %t380 = call ptr @fn_buf_str(ptr %t379) call void @fn_emit(ptr %t380) - call void @fn_emit(ptr @.str11642) + call void @fn_emit(ptr @.str11939) %t381 = load i32, ptr %t0 %t382 = add i32 %t381, 1 store i32 %t382, ptr %t0 @@ -120427,7 +127434,7 @@ wend56: wend2: %t383 = call ptr @fn_itoa(i32 16) store ptr %t383, ptr %t384 - call void @fn_emit(ptr @.str11643) + call void @fn_emit(ptr @.str11940) store i32 0, ptr %t385 br label %wcond62 wcond62: @@ -120450,7 +127457,7 @@ wbody63: br i1 %t399, label %ixok65, label %ixbad66 ixbad66: %t400 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str11644, i32 %t396, i32 %t398) + call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str11941, i32 %t396, i32 %t398) call void @exit(i32 1) unreachable ixok65: @@ -120462,127 +127469,127 @@ ixok65: %t406 = load i32, ptr %t385 %t407 = call ptr @fn_itoa(i32 %t406) store ptr %t407, ptr %t408 - call void @fn_emit(ptr @.str11645) + call void @fn_emit(ptr @.str11942) %t409 = load ptr, ptr %t408 call void @fn_emit(ptr %t409) - call void @fn_emit(ptr @.str11646) - call void @fn_emit(ptr @.str11647) + call void @fn_emit(ptr @.str11943) + call void @fn_emit(ptr @.str11944) %t410 = load ptr, ptr %t408 call void @fn_emit(ptr %t410) - call void @fn_emit(ptr @.str11648) - call void @fn_emit(ptr @.str11649) + call void @fn_emit(ptr @.str11945) + call void @fn_emit(ptr @.str11946) %t411 = load ptr, ptr %t408 call void @fn_emit(ptr %t411) - call void @fn_emit(ptr @.str11650) + call void @fn_emit(ptr @.str11947) %t412 = load ptr, ptr %t405 call void @fn_emit(ptr %t412) - call void @fn_emit(ptr @.str11651) - call void @fn_emit(ptr @.str11652) + call void @fn_emit(ptr @.str11948) + call void @fn_emit(ptr @.str11949) %t413 = load ptr, ptr %t408 call void @fn_emit(ptr %t413) - call void @fn_emit(ptr @.str11653) + call void @fn_emit(ptr @.str11950) %t414 = load ptr, ptr %t408 call void @fn_emit(ptr %t414) - call void @fn_emit(ptr @.str11654) + call void @fn_emit(ptr @.str11951) %t415 = load ptr, ptr %t408 call void @fn_emit(ptr %t415) - call void @fn_emit(ptr @.str11655) - call void @fn_emit(ptr @.str11656) + call void @fn_emit(ptr @.str11952) + call void @fn_emit(ptr @.str11953) %t416 = load ptr, ptr %t408 call void @fn_emit(ptr %t416) - call void @fn_emit(ptr @.str11657) + call void @fn_emit(ptr @.str11954) %t417 = load ptr, ptr %t408 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str11658) + call void @fn_emit(ptr @.str11955) %t418 = load ptr, ptr %t408 call void @fn_emit(ptr %t418) - call void @fn_emit(ptr @.str11659) - call void @fn_emit(ptr @.str11660) + call void @fn_emit(ptr @.str11956) + call void @fn_emit(ptr @.str11957) %t419 = load ptr, ptr %t408 call void @fn_emit(ptr %t419) - call void @fn_emit(ptr @.str11661) - call void @fn_emit(ptr @.str11662) + call void @fn_emit(ptr @.str11958) + call void @fn_emit(ptr @.str11959) %t420 = load ptr, ptr %t408 call void @fn_emit(ptr %t420) - call void @fn_emit(ptr @.str11663) + call void @fn_emit(ptr @.str11960) %t421 = load ptr, ptr %t384 call void @fn_emit(ptr %t421) - call void @fn_emit(ptr @.str11664) + call void @fn_emit(ptr @.str11961) %t422 = load ptr, ptr %t405 call void @fn_emit(ptr %t422) - call void @fn_emit(ptr @.str11665) + call void @fn_emit(ptr @.str11962) %t423 = load ptr, ptr %t408 call void @fn_emit(ptr %t423) - call void @fn_emit(ptr @.str11666) - call void @fn_emit(ptr @.str11667) + call void @fn_emit(ptr @.str11963) + call void @fn_emit(ptr @.str11964) %t424 = load ptr, ptr %t408 call void @fn_emit(ptr %t424) - call void @fn_emit(ptr @.str11668) + call void @fn_emit(ptr @.str11965) %t425 = load ptr, ptr %t408 call void @fn_emit(ptr %t425) - call void @fn_emit(ptr @.str11669) - call void @fn_emit(ptr @.str11670) + call void @fn_emit(ptr @.str11966) + call void @fn_emit(ptr @.str11967) %t426 = load ptr, ptr %t408 call void @fn_emit(ptr %t426) - call void @fn_emit(ptr @.str11671) + call void @fn_emit(ptr @.str11968) %t427 = load ptr, ptr %t408 call void @fn_emit(ptr %t427) - call void @fn_emit(ptr @.str11672) - call void @fn_emit(ptr @.str11673) + call void @fn_emit(ptr @.str11969) + call void @fn_emit(ptr @.str11970) %t428 = load ptr, ptr %t408 call void @fn_emit(ptr %t428) - call void @fn_emit(ptr @.str11674) + call void @fn_emit(ptr @.str11971) %t429 = load ptr, ptr %t408 call void @fn_emit(ptr %t429) - call void @fn_emit(ptr @.str11675) + call void @fn_emit(ptr @.str11972) %t430 = load ptr, ptr %t408 call void @fn_emit(ptr %t430) - call void @fn_emit(ptr @.str11676) - call void @fn_emit(ptr @.str11677) + call void @fn_emit(ptr @.str11973) + call void @fn_emit(ptr @.str11974) %t431 = load ptr, ptr %t408 call void @fn_emit(ptr %t431) - call void @fn_emit(ptr @.str11678) - call void @fn_emit(ptr @.str11679) + call void @fn_emit(ptr @.str11975) + call void @fn_emit(ptr @.str11976) %t432 = load ptr, ptr %t408 call void @fn_emit(ptr %t432) - call void @fn_emit(ptr @.str11680) + call void @fn_emit(ptr @.str11977) %t433 = load ptr, ptr %t384 call void @fn_emit(ptr %t433) - call void @fn_emit(ptr @.str11681) + call void @fn_emit(ptr @.str11978) %t434 = load ptr, ptr %t405 call void @fn_emit(ptr %t434) - call void @fn_emit(ptr @.str11682) + call void @fn_emit(ptr @.str11979) %t435 = load ptr, ptr %t408 call void @fn_emit(ptr %t435) - call void @fn_emit(ptr @.str11683) - call void @fn_emit(ptr @.str11684) + call void @fn_emit(ptr @.str11980) + call void @fn_emit(ptr @.str11981) %t436 = load ptr, ptr %t408 call void @fn_emit(ptr %t436) - call void @fn_emit(ptr @.str11685) + call void @fn_emit(ptr @.str11982) %t437 = load ptr, ptr %t408 call void @fn_emit(ptr %t437) - call void @fn_emit(ptr @.str11686) - call void @fn_emit(ptr @.str11687) + call void @fn_emit(ptr @.str11983) + call void @fn_emit(ptr @.str11984) %t438 = load ptr, ptr %t408 call void @fn_emit(ptr %t438) - call void @fn_emit(ptr @.str11688) - call void @fn_emit(ptr @.str11689) + call void @fn_emit(ptr @.str11985) + call void @fn_emit(ptr @.str11986) %t439 = load ptr, ptr %t408 call void @fn_emit(ptr %t439) - call void @fn_emit(ptr @.str11690) + call void @fn_emit(ptr @.str11987) %t440 = load ptr, ptr %t408 call void @fn_emit(ptr %t440) - call void @fn_emit(ptr @.str11691) + call void @fn_emit(ptr @.str11988) %t441 = load ptr, ptr %t408 call void @fn_emit(ptr %t441) - call void @fn_emit(ptr @.str11692) + call void @fn_emit(ptr @.str11989) %t442 = load ptr, ptr %t408 call void @fn_emit(ptr %t442) - call void @fn_emit(ptr @.str11693) - call void @fn_emit(ptr @.str11694) + call void @fn_emit(ptr @.str11990) + call void @fn_emit(ptr @.str11991) %t443 = load ptr, ptr %t408 call void @fn_emit(ptr %t443) - call void @fn_emit(ptr @.str11695) + call void @fn_emit(ptr @.str11992) %t444 = load i32, ptr %t385 %t445 = add i32 %t444, 1 %t446 = load ptr, ptr @g_g_events @@ -120593,15 +127600,15 @@ ixok65: %t451 = icmp ne i32 %t450, 0 br i1 %t451, label %then67, label %else68 then67: - call void @fn_emit(ptr @.str11696) + call void @fn_emit(ptr @.str11993) %t452 = load i32, ptr %t385 %t453 = add i32 %t452, 1 %t454 = call ptr @fn_itoa(i32 %t453) call void @fn_emit(ptr %t454) - call void @fn_emit(ptr @.str11697) + call void @fn_emit(ptr @.str11994) br label %ifend69 else68: - call void @fn_emit(ptr @.str11698) + call void @fn_emit(ptr @.str11995) br label %ifend69 ifend69: %t455 = load i32, ptr %t385 @@ -120609,7 +127616,7 @@ ifend69: store i32 %t456, ptr %t385 br label %wcond62 wend64: - call void @fn_emit(ptr @.str11699) + call void @fn_emit(ptr @.str11996) br label %ret ret: ret void @@ -120678,7 +127685,7 @@ wbody1: br i1 %t17, label %ixok3, label %ixbad4 ixbad4: %t18 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str11700, i32 %t14, i32 %t16) + call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str11997, i32 %t14, i32 %t16) call void @exit(i32 1) unreachable ixok3: @@ -120704,12 +127711,12 @@ wend2: %t30 = load i32, ptr %t2 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 - call void @fn_emith(ptr @.str11701) - call void @fn_emith(ptr @.str11702) - call void @fn_emith(ptr @.str11703) - call void @fn_emith(ptr @.str11704) - call void @fn_emith(ptr @.str11705) - call void @fn_emit(ptr @.str11706) + call void @fn_emith(ptr @.str11998) + call void @fn_emith(ptr @.str11999) + call void @fn_emith(ptr @.str12000) + call void @fn_emith(ptr @.str12001) + call void @fn_emith(ptr @.str12002) + call void @fn_emit(ptr @.str12003) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond8 @@ -120733,7 +127740,7 @@ wbody9: br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11707, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12004, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: @@ -120756,7 +127763,7 @@ then13: br i1 %t63, label %ixok16, label %ixbad17 ixbad17: %t64 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str11708, i32 %t60, i32 %t62) + call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str12005, i32 %t60, i32 %t62) call void @exit(i32 1) unreachable ixok16: @@ -120769,41 +127776,41 @@ ixok16: %t71 = load i32, ptr %t33 %t72 = call ptr @fn_itoa(i32 %t71) store ptr %t72, ptr %t73 - call void @fn_emit(ptr @.str11709) + call void @fn_emit(ptr @.str12006) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11710) + call void @fn_emit(ptr @.str12007) %t75 = load ptr, ptr %t70 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11711) - call void @fn_emit(ptr @.str11712) + call void @fn_emit(ptr @.str12008) + call void @fn_emit(ptr @.str12009) %t76 = load ptr, ptr %t73 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11713) + call void @fn_emit(ptr @.str12010) %t77 = load ptr, ptr %t73 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11714) - call void @fn_emit(ptr @.str11715) + call void @fn_emit(ptr @.str12011) + call void @fn_emit(ptr @.str12012) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11716) + call void @fn_emit(ptr @.str12013) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11717) + call void @fn_emit(ptr @.str12014) %t80 = load ptr, ptr %t73 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11718) - call void @fn_emit(ptr @.str11719) + call void @fn_emit(ptr @.str12015) + call void @fn_emit(ptr @.str12016) %t81 = load ptr, ptr %t73 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str11720) + call void @fn_emit(ptr @.str12017) %t82 = load ptr, ptr %t73 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11721) - call void @fn_emit(ptr @.str11722) + call void @fn_emit(ptr @.str12018) + call void @fn_emit(ptr @.str12019) %t83 = load ptr, ptr %t73 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str11723) + call void @fn_emit(ptr @.str12020) %t84 = load i32, ptr %t33 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t33 @@ -120814,16 +127821,16 @@ ifend15: store i32 %t87, ptr %t34 br label %wcond8 wend10: - call void @fn_emit(ptr @.str11724) - call void @fn_emit(ptr @.str11725) - call void @fn_emit(ptr @.str11726) - call void @fn_emit(ptr @.str11727) + call void @fn_emit(ptr @.str12021) + call void @fn_emit(ptr @.str12022) + call void @fn_emit(ptr @.str12023) + call void @fn_emit(ptr @.str12024) %t88 = load ptr, ptr %t32 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str11728) - call void @fn_emit(ptr @.str11729) - call void @fn_emit(ptr @.str11730) - call void @fn_emit(ptr @.str11731) + call void @fn_emit(ptr @.str12025) + call void @fn_emit(ptr @.str12026) + call void @fn_emit(ptr @.str12027) + call void @fn_emit(ptr @.str12028) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond18 @@ -120847,7 +127854,7 @@ wbody19: br i1 %t102, label %ixok21, label %ixbad22 ixbad22: %t103 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str11732, i32 %t99, i32 %t101) + call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12029, i32 %t99, i32 %t101) call void @exit(i32 1) unreachable ixok21: @@ -120870,7 +127877,7 @@ then23: br i1 %t117, label %ixok26, label %ixbad27 ixbad27: %t118 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11733, i32 %t114, i32 %t116) + call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str12030, i32 %t114, i32 %t116) call void @exit(i32 1) unreachable ixok26: @@ -120880,27 +127887,27 @@ ixok26: %t122 = load i32, ptr %t33 %t123 = call ptr @fn_itoa(i32 %t122) store ptr %t123, ptr %t124 - call void @fn_emit(ptr @.str11734) + call void @fn_emit(ptr @.str12031) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) - call void @fn_emit(ptr @.str11735) + call void @fn_emit(ptr @.str12032) %t126 = load ptr, ptr %t124 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str11736) - call void @fn_emit(ptr @.str11737) + call void @fn_emit(ptr @.str12033) + call void @fn_emit(ptr @.str12034) %t127 = load ptr, ptr %t124 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str11738) + call void @fn_emit(ptr @.str12035) %t128 = load ptr, ptr %t124 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str11739) + call void @fn_emit(ptr @.str12036) %t129 = load ptr, ptr %t124 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str11740) - call void @fn_emit(ptr @.str11741) + call void @fn_emit(ptr @.str12037) + call void @fn_emit(ptr @.str12038) %t130 = load ptr, ptr %t124 call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str11742) + call void @fn_emit(ptr @.str12039) store i32 0, ptr %t131 br label %wcond28 wcond28: @@ -120927,7 +127934,7 @@ wbody29: br i1 %t149, label %ixok31, label %ixbad32 ixbad32: %t150 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str11743, i32 %t146, i32 %t148) + call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str12040, i32 %t146, i32 %t148) call void @exit(i32 1) unreachable ixok31: @@ -120938,57 +127945,57 @@ ixok31: %t155 = call ptr @fn_emit_str_const(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t124 - %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11744) + %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str12041) %t159 = load i32, ptr %t131 %t160 = call ptr @fn_itoa(i32 %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) store ptr %t161, ptr %t162 - call void @fn_emit(ptr @.str11745) + call void @fn_emit(ptr @.str12042) %t163 = load ptr, ptr %t162 call void @fn_emit(ptr %t163) - call void @fn_emit(ptr @.str11746) + call void @fn_emit(ptr @.str12043) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str11747) - call void @fn_emit(ptr @.str11748) + call void @fn_emit(ptr @.str12044) + call void @fn_emit(ptr @.str12045) %t165 = load ptr, ptr %t162 call void @fn_emit(ptr %t165) - call void @fn_emit(ptr @.str11749) + call void @fn_emit(ptr @.str12046) %t166 = load ptr, ptr %t162 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str11750) - call void @fn_emit(ptr @.str11751) + call void @fn_emit(ptr @.str12047) + call void @fn_emit(ptr @.str12048) %t167 = load ptr, ptr %t162 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str11752) + call void @fn_emit(ptr @.str12049) %t168 = load ptr, ptr %t162 call void @fn_emit(ptr %t168) - call void @fn_emit(ptr @.str11753) + call void @fn_emit(ptr @.str12050) %t169 = load ptr, ptr %t162 call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str11754) - call void @fn_emit(ptr @.str11755) + call void @fn_emit(ptr @.str12051) + call void @fn_emit(ptr @.str12052) %t170 = load ptr, ptr %t162 call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str11756) + call void @fn_emit(ptr @.str12053) %t171 = load i32, ptr %t131 %t172 = call ptr @fn_itoa(i32 %t171) call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str11757) - call void @fn_emit(ptr @.str11758) + call void @fn_emit(ptr @.str12054) + call void @fn_emit(ptr @.str12055) %t173 = load ptr, ptr %t162 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str11759) + call void @fn_emit(ptr @.str12056) %t174 = load i32, ptr %t131 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t131 br label %wcond28 wend30: - call void @fn_emit(ptr @.str11760) - call void @fn_emit(ptr @.str11761) + call void @fn_emit(ptr @.str12057) + call void @fn_emit(ptr @.str12058) %t176 = load ptr, ptr %t124 call void @fn_emit(ptr %t176) - call void @fn_emit(ptr @.str11762) + call void @fn_emit(ptr @.str12059) %t177 = load i32, ptr %t33 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t33 @@ -120999,8 +128006,8 @@ ifend25: store i32 %t180, ptr %t34 br label %wcond18 wend20: - call void @fn_emit(ptr @.str11763) - call void @fn_emit(ptr @.str11764) + call void @fn_emit(ptr @.str12060) + call void @fn_emit(ptr @.str12061) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond33 @@ -121024,7 +128031,7 @@ wbody34: br i1 %t194, label %ixok36, label %ixbad37 ixbad37: %t195 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str11765, i32 %t191, i32 %t193) + call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str12062, i32 %t191, i32 %t193) call void @exit(i32 1) unreachable ixok36: @@ -121047,7 +128054,7 @@ then38: br i1 %t209, label %ixok41, label %ixbad42 ixbad42: %t210 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str11766, i32 %t206, i32 %t208) + call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str12063, i32 %t206, i32 %t208) call void @exit(i32 1) unreachable ixok41: @@ -121061,40 +128068,40 @@ ixok41: %t218 = load i32, ptr %t33 %t219 = call ptr @fn_itoa(i32 %t218) store ptr %t219, ptr %t220 - call void @fn_emit(ptr @.str11767) + call void @fn_emit(ptr @.str12064) %t221 = load ptr, ptr %t220 call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str11768) + call void @fn_emit(ptr @.str12065) %t222 = load ptr, ptr %t220 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str11769) - call void @fn_emit(ptr @.str11770) + call void @fn_emit(ptr @.str12066) + call void @fn_emit(ptr @.str12067) %t223 = load ptr, ptr %t220 call void @fn_emit(ptr %t223) - call void @fn_emit(ptr @.str11771) + call void @fn_emit(ptr @.str12068) %t224 = load ptr, ptr %t220 call void @fn_emit(ptr %t224) - call void @fn_emit(ptr @.str11772) + call void @fn_emit(ptr @.str12069) %t225 = load ptr, ptr %t220 call void @fn_emit(ptr %t225) - call void @fn_emit(ptr @.str11773) - call void @fn_emit(ptr @.str11774) + call void @fn_emit(ptr @.str12070) + call void @fn_emit(ptr @.str12071) %t226 = load ptr, ptr %t220 call void @fn_emit(ptr %t226) - call void @fn_emit(ptr @.str11775) - call void @fn_emit(ptr @.str11776) + call void @fn_emit(ptr @.str12072) + call void @fn_emit(ptr @.str12073) %t227 = load ptr, ptr %t220 call void @fn_emit(ptr %t227) - call void @fn_emit(ptr @.str11777) + call void @fn_emit(ptr @.str12074) %t228 = load ptr, ptr %t1 call void @fn_emit(ptr %t228) - call void @fn_emit(ptr @.str11778) + call void @fn_emit(ptr @.str12075) %t229 = load ptr, ptr %t217 call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str11779) + call void @fn_emit(ptr @.str12076) %t230 = load ptr, ptr %t217 call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str11780) + call void @fn_emit(ptr @.str12077) store i32 0, ptr %t231 br label %wcond43 wcond43: @@ -121121,7 +128128,7 @@ wbody44: br i1 %t249, label %ixok46, label %ixbad47 ixbad47: %t250 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str11781, i32 %t246, i32 %t248) + call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12078, i32 %t246, i32 %t248) call void @exit(i32 1) unreachable ixok46: @@ -121132,130 +128139,130 @@ ixok46: %t255 = call ptr @fn_llty(ptr %t254) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t220 - %t258 = call ptr @lp_str_concat(ptr %t257, ptr @.str11782) + %t258 = call ptr @lp_str_concat(ptr %t257, ptr @.str12079) %t259 = load i32, ptr %t231 %t260 = call ptr @fn_itoa(i32 %t259) %t261 = call ptr @lp_str_concat(ptr %t258, ptr %t260) store ptr %t261, ptr %t262 - call void @fn_emit(ptr @.str11783) + call void @fn_emit(ptr @.str12080) %t263 = load ptr, ptr %t262 call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str11784) + call void @fn_emit(ptr @.str12081) %t264 = load i32, ptr %t231 %t265 = call ptr @fn_itoa(i32 %t264) call void @fn_emit(ptr %t265) - call void @fn_emit(ptr @.str11785) - call void @fn_emit(ptr @.str11786) + call void @fn_emit(ptr @.str12082) + call void @fn_emit(ptr @.str12083) %t266 = load ptr, ptr %t262 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str11787) + call void @fn_emit(ptr @.str12084) %t267 = load ptr, ptr %t262 call void @fn_emit(ptr %t267) - call void @fn_emit(ptr @.str11788) + call void @fn_emit(ptr @.str12085) %t268 = load ptr, ptr %t262 call void @fn_emit(ptr %t268) - call void @fn_emit(ptr @.str11789) - call void @fn_emit(ptr @.str11790) + call void @fn_emit(ptr @.str12086) + call void @fn_emit(ptr @.str12087) %t269 = load ptr, ptr %t262 call void @fn_emit(ptr %t269) - call void @fn_emit(ptr @.str11791) - call void @fn_emit(ptr @.str11792) + call void @fn_emit(ptr @.str12088) + call void @fn_emit(ptr @.str12089) %t270 = load ptr, ptr %t262 call void @fn_emit(ptr %t270) - call void @fn_emit(ptr @.str11793) + call void @fn_emit(ptr @.str12090) %t271 = load ptr, ptr %t217 call void @fn_emit(ptr %t271) - call void @fn_emit(ptr @.str11794) + call void @fn_emit(ptr @.str12091) %t272 = load ptr, ptr %t220 call void @fn_emit(ptr %t272) - call void @fn_emit(ptr @.str11795) + call void @fn_emit(ptr @.str12092) %t273 = load i32, ptr %t231 %t274 = call ptr @fn_itoa(i32 %t273) call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str11796) + call void @fn_emit(ptr @.str12093) %t275 = load ptr, ptr %t256 - %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str11797) + %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str12094) %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then48, label %else49 then48: - call void @fn_emit(ptr @.str11798) + call void @fn_emit(ptr @.str12095) %t278 = load ptr, ptr %t262 call void @fn_emit(ptr %t278) - call void @fn_emit(ptr @.str11799) + call void @fn_emit(ptr @.str12096) %t279 = load ptr, ptr %t262 call void @fn_emit(ptr %t279) - call void @fn_emit(ptr @.str11800) - call void @fn_emit(ptr @.str11801) + call void @fn_emit(ptr @.str12097) + call void @fn_emit(ptr @.str12098) %t280 = load ptr, ptr %t262 call void @fn_emit(ptr %t280) - call void @fn_emit(ptr @.str11802) + call void @fn_emit(ptr @.str12099) %t281 = load ptr, ptr %t262 call void @fn_emit(ptr %t281) - call void @fn_emit(ptr @.str11803) + call void @fn_emit(ptr @.str12100) %t282 = load ptr, ptr %t262 call void @fn_emit(ptr %t282) - call void @fn_emit(ptr @.str11804) + call void @fn_emit(ptr @.str12101) br label %ifend50 else49: %t283 = load ptr, ptr %t256 - %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str11805) + %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str12102) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then51, label %else52 then51: - call void @fn_emit(ptr @.str11806) + call void @fn_emit(ptr @.str12103) %t286 = load ptr, ptr %t262 call void @fn_emit(ptr %t286) - call void @fn_emit(ptr @.str11807) + call void @fn_emit(ptr @.str12104) %t287 = load ptr, ptr %t262 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str11808) - call void @fn_emit(ptr @.str11809) + call void @fn_emit(ptr @.str12105) + call void @fn_emit(ptr @.str12106) %t288 = load ptr, ptr %t262 call void @fn_emit(ptr %t288) - call void @fn_emit(ptr @.str11810) + call void @fn_emit(ptr @.str12107) %t289 = load ptr, ptr %t262 call void @fn_emit(ptr %t289) - call void @fn_emit(ptr @.str11811) + call void @fn_emit(ptr @.str12108) %t290 = load ptr, ptr %t262 call void @fn_emit(ptr %t290) - call void @fn_emit(ptr @.str11812) + call void @fn_emit(ptr @.str12109) br label %ifend53 else52: - call void @fn_emit(ptr @.str11813) + call void @fn_emit(ptr @.str12110) %t291 = load ptr, ptr %t262 call void @fn_emit(ptr %t291) - call void @fn_emit(ptr @.str11814) + call void @fn_emit(ptr @.str12111) %t292 = load ptr, ptr %t262 call void @fn_emit(ptr %t292) - call void @fn_emit(ptr @.str11815) - call void @fn_emit(ptr @.str11816) + call void @fn_emit(ptr @.str12112) + call void @fn_emit(ptr @.str12113) %t293 = load ptr, ptr %t262 call void @fn_emit(ptr %t293) - call void @fn_emit(ptr @.str11817) + call void @fn_emit(ptr @.str12114) %t294 = load ptr, ptr %t262 call void @fn_emit(ptr %t294) - call void @fn_emit(ptr @.str11818) + call void @fn_emit(ptr @.str12115) %t295 = load ptr, ptr %t262 call void @fn_emit(ptr %t295) - call void @fn_emit(ptr @.str11819) + call void @fn_emit(ptr @.str12116) br label %ifend53 ifend53: br label %ifend50 ifend50: - call void @fn_emit(ptr @.str11820) + call void @fn_emit(ptr @.str12117) %t296 = load ptr, ptr %t262 call void @fn_emit(ptr %t296) - call void @fn_emit(ptr @.str11821) + call void @fn_emit(ptr @.str12118) %t297 = load i32, ptr %t231 %t298 = add i32 %t297, 1 store i32 %t298, ptr %t231 br label %wcond43 wend45: - call void @fn_emit(ptr @.str11822) - call void @fn_emit(ptr @.str11823) + call void @fn_emit(ptr @.str12119) + call void @fn_emit(ptr @.str12120) %t299 = load ptr, ptr %t220 call void @fn_emit(ptr %t299) - call void @fn_emit(ptr @.str11824) + call void @fn_emit(ptr @.str12121) %t300 = load i32, ptr %t33 %t301 = add i32 %t300, 1 store i32 %t301, ptr %t33 @@ -121266,16 +128273,16 @@ ifend40: store i32 %t303, ptr %t34 br label %wcond33 wend35: - call void @fn_emit(ptr @.str11825) + call void @fn_emit(ptr @.str12122) %t304 = load ptr, ptr %t32 call void @fn_emit(ptr %t304) - call void @fn_emit(ptr @.str11826) - call void @fn_emit(ptr @.str11827) - call void @fn_emit(ptr @.str11828) - call void @fn_emit(ptr @.str11829) - call void @fn_emit(ptr @.str11830) - call void @fn_emit(ptr @.str11831) - call void @fn_emit(ptr @.str11832) + call void @fn_emit(ptr @.str12123) + call void @fn_emit(ptr @.str12124) + call void @fn_emit(ptr @.str12125) + call void @fn_emit(ptr @.str12126) + call void @fn_emit(ptr @.str12127) + call void @fn_emit(ptr @.str12128) + call void @fn_emit(ptr @.str12129) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond54 @@ -121299,7 +128306,7 @@ wbody55: br i1 %t318, label %ixok57, label %ixbad58 ixbad58: %t319 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str11833, i32 %t315, i32 %t317) + call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str12130, i32 %t315, i32 %t317) call void @exit(i32 1) unreachable ixok57: @@ -121322,7 +128329,7 @@ then59: br i1 %t333, label %ixok62, label %ixbad63 ixbad63: %t334 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str11834, i32 %t330, i32 %t332) + call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str12131, i32 %t330, i32 %t332) call void @exit(i32 1) unreachable ixok62: @@ -121336,40 +128343,40 @@ ixok62: %t342 = load i32, ptr %t33 %t343 = call ptr @fn_itoa(i32 %t342) store ptr %t343, ptr %t344 - call void @fn_emit(ptr @.str11835) + call void @fn_emit(ptr @.str12132) %t345 = load ptr, ptr %t344 call void @fn_emit(ptr %t345) - call void @fn_emit(ptr @.str11836) + call void @fn_emit(ptr @.str12133) %t346 = load ptr, ptr %t344 call void @fn_emit(ptr %t346) - call void @fn_emit(ptr @.str11837) - call void @fn_emit(ptr @.str11838) + call void @fn_emit(ptr @.str12134) + call void @fn_emit(ptr @.str12135) %t347 = load ptr, ptr %t344 call void @fn_emit(ptr %t347) - call void @fn_emit(ptr @.str11839) + call void @fn_emit(ptr @.str12136) %t348 = load ptr, ptr %t344 call void @fn_emit(ptr %t348) - call void @fn_emit(ptr @.str11840) + call void @fn_emit(ptr @.str12137) %t349 = load ptr, ptr %t344 call void @fn_emit(ptr %t349) - call void @fn_emit(ptr @.str11841) - call void @fn_emit(ptr @.str11842) + call void @fn_emit(ptr @.str12138) + call void @fn_emit(ptr @.str12139) %t350 = load ptr, ptr %t344 call void @fn_emit(ptr %t350) - call void @fn_emit(ptr @.str11843) - call void @fn_emit(ptr @.str11844) + call void @fn_emit(ptr @.str12140) + call void @fn_emit(ptr @.str12141) %t351 = load ptr, ptr %t344 call void @fn_emit(ptr %t351) - call void @fn_emit(ptr @.str11845) + call void @fn_emit(ptr @.str12142) %t352 = load ptr, ptr %t1 call void @fn_emit(ptr %t352) - call void @fn_emit(ptr @.str11846) + call void @fn_emit(ptr @.str12143) %t353 = load ptr, ptr %t341 call void @fn_emit(ptr %t353) - call void @fn_emit(ptr @.str11847) + call void @fn_emit(ptr @.str12144) %t354 = load ptr, ptr %t341 call void @fn_emit(ptr %t354) - call void @fn_emit(ptr @.str11848) + call void @fn_emit(ptr @.str12145) store i32 0, ptr %t355 br label %wcond64 wcond64: @@ -121396,7 +128403,7 @@ wbody65: br i1 %t373, label %ixok67, label %ixbad68 ixbad68: %t374 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str11849, i32 %t370, i32 %t372) + call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str12146, i32 %t370, i32 %t372) call void @exit(i32 1) unreachable ixok67: @@ -121407,112 +128414,112 @@ ixok67: %t379 = call ptr @fn_llty(ptr %t378) store ptr %t379, ptr %t380 %t381 = load ptr, ptr %t344 - %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str11850) + %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str12147) %t383 = load i32, ptr %t355 %t384 = call ptr @fn_itoa(i32 %t383) %t385 = call ptr @lp_str_concat(ptr %t382, ptr %t384) store ptr %t385, ptr %t386 - call void @fn_emit(ptr @.str11851) + call void @fn_emit(ptr @.str12148) %t387 = load ptr, ptr %t386 call void @fn_emit(ptr %t387) - call void @fn_emit(ptr @.str11852) + call void @fn_emit(ptr @.str12149) %t388 = load i32, ptr %t355 %t389 = call ptr @fn_itoa(i32 %t388) call void @fn_emit(ptr %t389) - call void @fn_emit(ptr @.str11853) - call void @fn_emit(ptr @.str11854) + call void @fn_emit(ptr @.str12150) + call void @fn_emit(ptr @.str12151) %t390 = load ptr, ptr %t386 call void @fn_emit(ptr %t390) - call void @fn_emit(ptr @.str11855) + call void @fn_emit(ptr @.str12152) %t391 = load ptr, ptr %t386 call void @fn_emit(ptr %t391) - call void @fn_emit(ptr @.str11856) + call void @fn_emit(ptr @.str12153) %t392 = load ptr, ptr %t386 call void @fn_emit(ptr %t392) - call void @fn_emit(ptr @.str11857) - call void @fn_emit(ptr @.str11858) + call void @fn_emit(ptr @.str12154) + call void @fn_emit(ptr @.str12155) %t393 = load ptr, ptr %t386 call void @fn_emit(ptr %t393) - call void @fn_emit(ptr @.str11859) - call void @fn_emit(ptr @.str11860) + call void @fn_emit(ptr @.str12156) + call void @fn_emit(ptr @.str12157) %t394 = load ptr, ptr %t386 call void @fn_emit(ptr %t394) - call void @fn_emit(ptr @.str11861) + call void @fn_emit(ptr @.str12158) %t395 = load ptr, ptr %t341 call void @fn_emit(ptr %t395) - call void @fn_emit(ptr @.str11862) + call void @fn_emit(ptr @.str12159) %t396 = load ptr, ptr %t344 call void @fn_emit(ptr %t396) - call void @fn_emit(ptr @.str11863) + call void @fn_emit(ptr @.str12160) %t397 = load i32, ptr %t355 %t398 = call ptr @fn_itoa(i32 %t397) call void @fn_emit(ptr %t398) - call void @fn_emit(ptr @.str11864) + call void @fn_emit(ptr @.str12161) %t399 = load ptr, ptr %t380 - %t400 = call i32 @lp_str_eq(ptr %t399, ptr @.str11865) + %t400 = call i32 @lp_str_eq(ptr %t399, ptr @.str12162) %t401 = icmp ne i32 %t400, 0 br i1 %t401, label %then69, label %else70 then69: - call void @fn_emit(ptr @.str11866) + call void @fn_emit(ptr @.str12163) %t402 = load ptr, ptr %t386 call void @fn_emit(ptr %t402) - call void @fn_emit(ptr @.str11867) - call void @fn_emit(ptr @.str11868) + call void @fn_emit(ptr @.str12164) + call void @fn_emit(ptr @.str12165) %t403 = load ptr, ptr %t386 call void @fn_emit(ptr %t403) - call void @fn_emit(ptr @.str11869) + call void @fn_emit(ptr @.str12166) %t404 = load ptr, ptr %t386 call void @fn_emit(ptr %t404) - call void @fn_emit(ptr @.str11870) + call void @fn_emit(ptr @.str12167) br label %ifend71 else70: %t405 = load ptr, ptr %t380 - %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str11871) + %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str12168) %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then72, label %else73 then72: - call void @fn_emit(ptr @.str11872) + call void @fn_emit(ptr @.str12169) %t408 = load ptr, ptr %t386 call void @fn_emit(ptr %t408) - call void @fn_emit(ptr @.str11873) - call void @fn_emit(ptr @.str11874) + call void @fn_emit(ptr @.str12170) + call void @fn_emit(ptr @.str12171) %t409 = load ptr, ptr %t386 call void @fn_emit(ptr %t409) - call void @fn_emit(ptr @.str11875) + call void @fn_emit(ptr @.str12172) %t410 = load ptr, ptr %t386 call void @fn_emit(ptr %t410) - call void @fn_emit(ptr @.str11876) + call void @fn_emit(ptr @.str12173) br label %ifend74 else73: - call void @fn_emit(ptr @.str11877) + call void @fn_emit(ptr @.str12174) %t411 = load ptr, ptr %t386 call void @fn_emit(ptr %t411) - call void @fn_emit(ptr @.str11878) - call void @fn_emit(ptr @.str11879) + call void @fn_emit(ptr @.str12175) + call void @fn_emit(ptr @.str12176) %t412 = load ptr, ptr %t386 call void @fn_emit(ptr %t412) - call void @fn_emit(ptr @.str11880) + call void @fn_emit(ptr @.str12177) %t413 = load ptr, ptr %t386 call void @fn_emit(ptr %t413) - call void @fn_emit(ptr @.str11881) + call void @fn_emit(ptr @.str12178) br label %ifend74 ifend74: br label %ifend71 ifend71: - call void @fn_emit(ptr @.str11882) + call void @fn_emit(ptr @.str12179) %t414 = load ptr, ptr %t386 call void @fn_emit(ptr %t414) - call void @fn_emit(ptr @.str11883) + call void @fn_emit(ptr @.str12180) %t415 = load i32, ptr %t355 %t416 = add i32 %t415, 1 store i32 %t416, ptr %t355 br label %wcond64 wend66: - call void @fn_emit(ptr @.str11884) - call void @fn_emit(ptr @.str11885) + call void @fn_emit(ptr @.str12181) + call void @fn_emit(ptr @.str12182) %t417 = load ptr, ptr %t344 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str11886) + call void @fn_emit(ptr @.str12183) %t418 = load i32, ptr %t33 %t419 = add i32 %t418, 1 store i32 %t419, ptr %t33 @@ -121523,16 +128530,16 @@ ifend61: store i32 %t421, ptr %t34 br label %wcond54 wend56: - call void @fn_emit(ptr @.str11887) + call void @fn_emit(ptr @.str12184) %t422 = load ptr, ptr %t32 call void @fn_emit(ptr %t422) - call void @fn_emit(ptr @.str11888) - call void @fn_emit(ptr @.str11889) - call void @fn_emit(ptr @.str11890) - call void @fn_emit(ptr @.str11891) - call void @fn_emit(ptr @.str11892) - call void @fn_emit(ptr @.str11893) - call void @fn_emit(ptr @.str11894) + call void @fn_emit(ptr @.str12185) + call void @fn_emit(ptr @.str12186) + call void @fn_emit(ptr @.str12187) + call void @fn_emit(ptr @.str12188) + call void @fn_emit(ptr @.str12189) + call void @fn_emit(ptr @.str12190) + call void @fn_emit(ptr @.str12191) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond75 @@ -121556,7 +128563,7 @@ wbody76: br i1 %t436, label %ixok78, label %ixbad79 ixbad79: %t437 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t437, ptr @.fmt_bounds, ptr @.str11895, i32 %t433, i32 %t435) + call i32 (ptr, ptr, ...) @fprintf(ptr %t437, ptr @.fmt_bounds, ptr @.str12192, i32 %t433, i32 %t435) call void @exit(i32 1) unreachable ixok78: @@ -121579,7 +128586,7 @@ then80: br i1 %t451, label %ixok83, label %ixbad84 ixbad84: %t452 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t452, ptr @.fmt_bounds, ptr @.str11896, i32 %t448, i32 %t450) + call i32 (ptr, ptr, ...) @fprintf(ptr %t452, ptr @.fmt_bounds, ptr @.str12193, i32 %t448, i32 %t450) call void @exit(i32 1) unreachable ixok83: @@ -121591,58 +128598,58 @@ ixok83: %t458 = load i32, ptr %t33 %t459 = call ptr @fn_itoa(i32 %t458) store ptr %t459, ptr %t460 - call void @fn_emit(ptr @.str11897) + call void @fn_emit(ptr @.str12194) %t461 = load ptr, ptr %t460 call void @fn_emit(ptr %t461) - call void @fn_emit(ptr @.str11898) + call void @fn_emit(ptr @.str12195) %t462 = load ptr, ptr %t460 call void @fn_emit(ptr %t462) - call void @fn_emit(ptr @.str11899) - call void @fn_emit(ptr @.str11900) + call void @fn_emit(ptr @.str12196) + call void @fn_emit(ptr @.str12197) %t463 = load ptr, ptr %t460 call void @fn_emit(ptr %t463) - call void @fn_emit(ptr @.str11901) + call void @fn_emit(ptr @.str12198) %t464 = load ptr, ptr %t460 call void @fn_emit(ptr %t464) - call void @fn_emit(ptr @.str11902) + call void @fn_emit(ptr @.str12199) %t465 = load ptr, ptr %t460 call void @fn_emit(ptr %t465) - call void @fn_emit(ptr @.str11903) - call void @fn_emit(ptr @.str11904) + call void @fn_emit(ptr @.str12200) + call void @fn_emit(ptr @.str12201) %t466 = load ptr, ptr %t460 call void @fn_emit(ptr %t466) - call void @fn_emit(ptr @.str11905) - call void @fn_emit(ptr @.str11906) + call void @fn_emit(ptr @.str12202) + call void @fn_emit(ptr @.str12203) %t467 = load ptr, ptr %t460 call void @fn_emit(ptr %t467) - call void @fn_emit(ptr @.str11907) + call void @fn_emit(ptr @.str12204) %t468 = load ptr, ptr %t1 call void @fn_emit(ptr %t468) - call void @fn_emit(ptr @.str11908) + call void @fn_emit(ptr @.str12205) %t469 = load ptr, ptr %t457 call void @fn_emit(ptr %t469) - call void @fn_emit(ptr @.str11909) - call void @fn_emit(ptr @.str11910) + call void @fn_emit(ptr @.str12206) + call void @fn_emit(ptr @.str12207) %t470 = load ptr, ptr %t460 call void @fn_emit(ptr %t470) - call void @fn_emit(ptr @.str11911) + call void @fn_emit(ptr @.str12208) %t471 = load ptr, ptr %t460 call void @fn_emit(ptr %t471) - call void @fn_emit(ptr @.str11912) - call void @fn_emit(ptr @.str11913) + call void @fn_emit(ptr @.str12209) + call void @fn_emit(ptr @.str12210) %t472 = load ptr, ptr %t460 call void @fn_emit(ptr %t472) - call void @fn_emit(ptr @.str11914) + call void @fn_emit(ptr @.str12211) %t473 = load ptr, ptr %t460 call void @fn_emit(ptr %t473) - call void @fn_emit(ptr @.str11915) + call void @fn_emit(ptr @.str12212) %t474 = load ptr, ptr %t460 call void @fn_emit(ptr %t474) - call void @fn_emit(ptr @.str11916) - call void @fn_emit(ptr @.str11917) + call void @fn_emit(ptr @.str12213) + call void @fn_emit(ptr @.str12214) %t475 = load ptr, ptr %t460 call void @fn_emit(ptr %t475) - call void @fn_emit(ptr @.str11918) + call void @fn_emit(ptr @.str12215) %t476 = load i32, ptr %t33 %t477 = add i32 %t476, 1 store i32 %t477, ptr %t33 @@ -121653,54 +128660,54 @@ ifend82: store i32 %t479, ptr %t34 br label %wcond75 wend77: - call void @fn_emit(ptr @.str11919) + call void @fn_emit(ptr @.str12216) %t480 = load ptr, ptr %t32 call void @fn_emit(ptr %t480) - call void @fn_emit(ptr @.str11920) - call void @fn_emit(ptr @.str11921) - call void @fn_emit(ptr @.str11922) - call void @fn_emit(ptr @.str11923) - call void @fn_emit(ptr @.str11924) - call void @fn_emit(ptr @.str11925) - call void @fn_emit(ptr @.str11926) + call void @fn_emit(ptr @.str12217) + call void @fn_emit(ptr @.str12218) + call void @fn_emit(ptr @.str12219) + call void @fn_emit(ptr @.str12220) + call void @fn_emit(ptr @.str12221) + call void @fn_emit(ptr @.str12222) + call void @fn_emit(ptr @.str12223) %t481 = load ptr, ptr %t1 call void @fn_emit(ptr %t481) - call void @fn_emit(ptr @.str11927) - call void @fn_emit(ptr @.str11928) - call void @fn_emit(ptr @.str11929) - call void @fn_emit(ptr @.str11930) + call void @fn_emit(ptr @.str12224) + call void @fn_emit(ptr @.str12225) + call void @fn_emit(ptr @.str12226) + call void @fn_emit(ptr @.str12227) %t482 = load ptr, ptr %t1 call void @fn_emit(ptr %t482) - call void @fn_emit(ptr @.str11931) + call void @fn_emit(ptr @.str12228) %t483 = load ptr, ptr %t1 call void @fn_emit(ptr %t483) - call void @fn_emit(ptr @.str11932) - call void @fn_emit(ptr @.str11933) - call void @fn_emit(ptr @.str11934) - call void @fn_emit(ptr @.str11935) - call void @fn_emit(ptr @.str11936) + call void @fn_emit(ptr @.str12229) + call void @fn_emit(ptr @.str12230) + call void @fn_emit(ptr @.str12231) + call void @fn_emit(ptr @.str12232) + call void @fn_emit(ptr @.str12233) %t484 = load ptr, ptr %t32 call void @fn_emit(ptr %t484) - call void @fn_emit(ptr @.str11937) - call void @fn_emit(ptr @.str11938) - call void @fn_emit(ptr @.str11939) - call void @fn_emit(ptr @.str11940) + call void @fn_emit(ptr @.str12234) + call void @fn_emit(ptr @.str12235) + call void @fn_emit(ptr @.str12236) + call void @fn_emit(ptr @.str12237) %t485 = load ptr, ptr %t32 call void @fn_emit(ptr %t485) - call void @fn_emit(ptr @.str11941) - call void @fn_emit(ptr @.str11942) - call void @fn_emit(ptr @.str11943) + call void @fn_emit(ptr @.str12238) + call void @fn_emit(ptr @.str12239) + call void @fn_emit(ptr @.str12240) %t486 = load ptr, ptr %t32 call void @fn_emit(ptr %t486) - call void @fn_emit(ptr @.str11944) - call void @fn_emit(ptr @.str11945) - call void @fn_emit(ptr @.str11946) - call void @fn_emit(ptr @.str11947) + call void @fn_emit(ptr @.str12241) + call void @fn_emit(ptr @.str12242) + call void @fn_emit(ptr @.str12243) + call void @fn_emit(ptr @.str12244) %t487 = load ptr, ptr %t1 call void @fn_emit(ptr %t487) - call void @fn_emit(ptr @.str11948) - call void @fn_emit(ptr @.str11949) - call void @fn_emit(ptr @.str11950) + call void @fn_emit(ptr @.str12245) + call void @fn_emit(ptr @.str12246) + call void @fn_emit(ptr @.str12247) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond85 @@ -121724,7 +128731,7 @@ wbody86: br i1 %t501, label %ixok88, label %ixbad89 ixbad89: %t502 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str11951, i32 %t498, i32 %t500) + call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str12248, i32 %t498, i32 %t500) call void @exit(i32 1) unreachable ixok88: @@ -121747,7 +128754,7 @@ then90: br i1 %t516, label %ixok93, label %ixbad94 ixbad94: %t517 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t517, ptr @.fmt_bounds, ptr @.str11952, i32 %t513, i32 %t515) + call i32 (ptr, ptr, ...) @fprintf(ptr %t517, ptr @.fmt_bounds, ptr @.str12249, i32 %t513, i32 %t515) call void @exit(i32 1) unreachable ixok93: @@ -121760,34 +128767,34 @@ ixok93: %t524 = load i32, ptr %t33 %t525 = call ptr @fn_itoa(i32 %t524) store ptr %t525, ptr %t526 - call void @fn_emit(ptr @.str11953) + call void @fn_emit(ptr @.str12250) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) - call void @fn_emit(ptr @.str11954) + call void @fn_emit(ptr @.str12251) %t528 = load ptr, ptr %t523 call void @fn_emit(ptr %t528) - call void @fn_emit(ptr @.str11955) - call void @fn_emit(ptr @.str11956) + call void @fn_emit(ptr @.str12252) + call void @fn_emit(ptr @.str12253) %t529 = load ptr, ptr %t526 call void @fn_emit(ptr %t529) - call void @fn_emit(ptr @.str11957) + call void @fn_emit(ptr @.str12254) %t530 = load ptr, ptr %t526 call void @fn_emit(ptr %t530) - call void @fn_emit(ptr @.str11958) - call void @fn_emit(ptr @.str11959) + call void @fn_emit(ptr @.str12255) + call void @fn_emit(ptr @.str12256) %t531 = load ptr, ptr %t526 call void @fn_emit(ptr %t531) - call void @fn_emit(ptr @.str11960) + call void @fn_emit(ptr @.str12257) %t532 = load ptr, ptr %t526 call void @fn_emit(ptr %t532) - call void @fn_emit(ptr @.str11961) + call void @fn_emit(ptr @.str12258) %t533 = load ptr, ptr %t526 call void @fn_emit(ptr %t533) - call void @fn_emit(ptr @.str11962) - call void @fn_emit(ptr @.str11963) + call void @fn_emit(ptr @.str12259) + call void @fn_emit(ptr @.str12260) %t534 = load ptr, ptr %t526 call void @fn_emit(ptr %t534) - call void @fn_emit(ptr @.str11964) + call void @fn_emit(ptr @.str12261) %t535 = load ptr, ptr @g_prog %t536 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 0 %t537 = load ptr, ptr %t536 @@ -121798,7 +128805,7 @@ ixok93: br i1 %t541, label %ixok95, label %ixbad96 ixbad96: %t542 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t542, ptr @.fmt_bounds, ptr @.str11965, i32 %t538, i32 %t540) + call i32 (ptr, ptr, ...) @fprintf(ptr %t542, ptr @.fmt_bounds, ptr @.str12262, i32 %t538, i32 %t540) call void @exit(i32 1) unreachable ixok95: @@ -121809,11 +128816,11 @@ ixok95: %t547 = call i32 @fn_find_arch_id(ptr %t546) %t548 = call ptr @fn_itoa(i32 %t547) call void @fn_emit(ptr %t548) - call void @fn_emit(ptr @.str11966) - call void @fn_emit(ptr @.str11967) + call void @fn_emit(ptr @.str12263) + call void @fn_emit(ptr @.str12264) %t549 = load ptr, ptr %t526 call void @fn_emit(ptr %t549) - call void @fn_emit(ptr @.str11968) + call void @fn_emit(ptr @.str12265) %t550 = load i32, ptr %t33 %t551 = add i32 %t550, 1 store i32 %t551, ptr %t33 @@ -121824,7 +128831,7 @@ ifend92: store i32 %t553, ptr %t34 br label %wcond85 wend87: - call void @fn_emit(ptr @.str11969) + call void @fn_emit(ptr @.str12266) store i32 0, ptr %t34 br label %wcond97 wcond97: @@ -121847,7 +128854,7 @@ wbody98: br i1 %t567, label %ixok100, label %ixbad101 ixbad101: %t568 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t568, ptr @.fmt_bounds, ptr @.str11970, i32 %t564, i32 %t566) + call i32 (ptr, ptr, ...) @fprintf(ptr %t568, ptr @.fmt_bounds, ptr @.str12267, i32 %t564, i32 %t566) call void @exit(i32 1) unreachable ixok100: @@ -121870,7 +128877,7 @@ then102: br i1 %t582, label %ixok105, label %ixbad106 ixbad106: %t583 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str11971, i32 %t579, i32 %t581) + call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str12268, i32 %t579, i32 %t581) call void @exit(i32 1) unreachable ixok105: @@ -121885,7 +128892,7 @@ ixok105: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11972, ptr @g_ret_ty + store ptr @.str12269, ptr @g_ret_ty %t589 = call ptr @fn_buf_new() store ptr %t589, ptr %t590 %t591 = call ptr @fn_buf_new() @@ -121903,23 +128910,23 @@ ixok105: %t600 = load ptr, ptr %t596 %t601 = call ptr @fn_emit_spawn(ptr %t600) store ptr %t601, ptr %t602 - call void @fn_emit(ptr @.str11973) + call void @fn_emit(ptr @.str12270) %t603 = load ptr, ptr %t602 call void @fn_emit(ptr %t603) - call void @fn_emit(ptr @.str11974) + call void @fn_emit(ptr @.str12271) %t604 = load ptr, ptr %t593 store ptr %t604, ptr @g_code - call void @fn_emit(ptr @.str11975) + call void @fn_emit(ptr @.str12272) %t605 = load ptr, ptr %t588 call void @fn_emit(ptr %t605) - call void @fn_emit(ptr @.str11976) + call void @fn_emit(ptr @.str12273) %t606 = load ptr, ptr @g_falloc %t607 = call ptr @fn_buf_str(ptr %t606) call void @fn_emit(ptr %t607) %t608 = load ptr, ptr %t590 %t609 = call ptr @fn_buf_str(ptr %t608) call void @fn_emit(ptr %t609) - call void @fn_emit(ptr @.str11977) + call void @fn_emit(ptr @.str12274) br label %ifend104 ifend104: %t610 = load i32, ptr %t34 @@ -121927,7 +128934,7 @@ ifend104: store i32 %t611, ptr %t34 br label %wcond97 wend99: - call void @fn_emit(ptr @.str11978) + call void @fn_emit(ptr @.str12275) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond107 @@ -121951,7 +128958,7 @@ wbody108: br i1 %t625, label %ixok110, label %ixbad111 ixbad111: %t626 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t626, ptr @.fmt_bounds, ptr @.str11979, i32 %t622, i32 %t624) + call i32 (ptr, ptr, ...) @fprintf(ptr %t626, ptr @.fmt_bounds, ptr @.str12276, i32 %t622, i32 %t624) call void @exit(i32 1) unreachable ixok110: @@ -121974,7 +128981,7 @@ then112: br i1 %t640, label %ixok115, label %ixbad116 ixbad116: %t641 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str11980, i32 %t637, i32 %t639) + call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str12277, i32 %t637, i32 %t639) call void @exit(i32 1) unreachable ixok115: @@ -121986,42 +128993,42 @@ ixok115: %t647 = load i32, ptr %t33 %t648 = call ptr @fn_itoa(i32 %t647) store ptr %t648, ptr %t649 - call void @fn_emit(ptr @.str11981) + call void @fn_emit(ptr @.str12278) %t650 = load ptr, ptr %t649 call void @fn_emit(ptr %t650) - call void @fn_emit(ptr @.str11982) + call void @fn_emit(ptr @.str12279) %t651 = load ptr, ptr %t646 %t652 = call i32 @fn_find_arch_id(ptr %t651) %t653 = call ptr @fn_itoa(i32 %t652) call void @fn_emit(ptr %t653) - call void @fn_emit(ptr @.str11983) - call void @fn_emit(ptr @.str11984) + call void @fn_emit(ptr @.str12280) + call void @fn_emit(ptr @.str12281) %t654 = load ptr, ptr %t649 call void @fn_emit(ptr %t654) - call void @fn_emit(ptr @.str11985) + call void @fn_emit(ptr @.str12282) %t655 = load ptr, ptr %t649 call void @fn_emit(ptr %t655) - call void @fn_emit(ptr @.str11986) + call void @fn_emit(ptr @.str12283) %t656 = load ptr, ptr %t649 call void @fn_emit(ptr %t656) - call void @fn_emit(ptr @.str11987) - call void @fn_emit(ptr @.str11988) + call void @fn_emit(ptr @.str12284) + call void @fn_emit(ptr @.str12285) %t657 = load ptr, ptr %t649 call void @fn_emit(ptr %t657) - call void @fn_emit(ptr @.str11989) + call void @fn_emit(ptr @.str12286) %t658 = load ptr, ptr %t649 call void @fn_emit(ptr %t658) - call void @fn_emit(ptr @.str11990) + call void @fn_emit(ptr @.str12287) %t659 = load ptr, ptr %t646 call void @fn_emit(ptr %t659) - call void @fn_emit(ptr @.str11991) + call void @fn_emit(ptr @.str12288) %t660 = load ptr, ptr %t649 call void @fn_emit(ptr %t660) - call void @fn_emit(ptr @.str11992) - call void @fn_emit(ptr @.str11993) + call void @fn_emit(ptr @.str12289) + call void @fn_emit(ptr @.str12290) %t661 = load ptr, ptr %t649 call void @fn_emit(ptr %t661) - call void @fn_emit(ptr @.str11994) + call void @fn_emit(ptr @.str12291) %t662 = load i32, ptr %t33 %t663 = add i32 %t662, 1 store i32 %t663, ptr %t33 @@ -122032,20 +129039,20 @@ ifend114: store i32 %t665, ptr %t34 br label %wcond107 wend109: - call void @fn_emit(ptr @.str11995) - call void @fn_emit(ptr @.str11996) - call void @fn_emit(ptr @.str11997) - call void @fn_emit(ptr @.str11998) - call void @fn_emit(ptr @.str11999) - call void @fn_emit(ptr @.str12000) + call void @fn_emit(ptr @.str12292) + call void @fn_emit(ptr @.str12293) + call void @fn_emit(ptr @.str12294) + call void @fn_emit(ptr @.str12295) + call void @fn_emit(ptr @.str12296) + call void @fn_emit(ptr @.str12297) %t666 = load ptr, ptr %t1 call void @fn_emit(ptr %t666) - call void @fn_emit(ptr @.str12001) - call void @fn_emit(ptr @.str12002) - call void @fn_emit(ptr @.str12003) - call void @fn_emit(ptr @.str12004) - call void @fn_emit(ptr @.str12005) - call void @fn_emit(ptr @.str12006) + call void @fn_emit(ptr @.str12298) + call void @fn_emit(ptr @.str12299) + call void @fn_emit(ptr @.str12300) + call void @fn_emit(ptr @.str12301) + call void @fn_emit(ptr @.str12302) + call void @fn_emit(ptr @.str12303) call void @fn_emit_world_reflect_enum() br label %ret ret: @@ -122074,9 +129081,9 @@ entry: %t278 = alloca i32 %t303 = alloca ptr %t309 = alloca ptr - %t0 = call ptr @fn_emit_str_const(ptr @.str12007) + %t0 = call ptr @fn_emit_str_const(ptr @.str12304) store ptr %t0, ptr %t1 - %t2 = call ptr @fn_emit_str_const(ptr @.str12008) + %t2 = call ptr @fn_emit_str_const(ptr @.str12305) store ptr %t2, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 @@ -122101,7 +129108,7 @@ wbody1: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12009, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12306, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -122127,12 +129134,12 @@ wend2: %t32 = load i32, ptr %t4 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 - call void @fn_emit(ptr @.str12010) - call void @fn_emit(ptr @.str12011) + call void @fn_emit(ptr @.str12307) + call void @fn_emit(ptr @.str12308) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str12012) - call void @fn_emit(ptr @.str12013) + call void @fn_emit(ptr @.str12309) + call void @fn_emit(ptr @.str12310) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond8 @@ -122156,7 +129163,7 @@ wbody9: br i1 %t50, label %ixok11, label %ixbad12 ixbad12: %t51 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12014, i32 %t47, i32 %t49) + call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12311, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok11: @@ -122179,7 +129186,7 @@ then13: br i1 %t65, label %ixok16, label %ixbad17 ixbad17: %t66 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12015, i32 %t62, i32 %t64) + call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12312, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok16: @@ -122192,34 +129199,34 @@ ixok16: %t73 = load i32, ptr %t36 %t74 = call ptr @fn_itoa(i32 %t73) store ptr %t74, ptr %t75 - call void @fn_emit(ptr @.str12016) + call void @fn_emit(ptr @.str12313) %t76 = load ptr, ptr %t75 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str12017) + call void @fn_emit(ptr @.str12314) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str12018) - call void @fn_emit(ptr @.str12019) + call void @fn_emit(ptr @.str12315) + call void @fn_emit(ptr @.str12316) %t78 = load ptr, ptr %t75 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str12020) + call void @fn_emit(ptr @.str12317) %t79 = load ptr, ptr %t75 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str12021) + call void @fn_emit(ptr @.str12318) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str12022) - call void @fn_emit(ptr @.str12023) + call void @fn_emit(ptr @.str12319) + call void @fn_emit(ptr @.str12320) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str12024) + call void @fn_emit(ptr @.str12321) %t82 = load ptr, ptr %t72 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str12025) - call void @fn_emit(ptr @.str12026) + call void @fn_emit(ptr @.str12322) + call void @fn_emit(ptr @.str12323) %t83 = load ptr, ptr %t75 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str12027) + call void @fn_emit(ptr @.str12324) %t84 = load i32, ptr %t36 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t36 @@ -122230,17 +129237,17 @@ ifend15: store i32 %t87, ptr %t5 br label %wcond8 wend10: - call void @fn_emit(ptr @.str12028) + call void @fn_emit(ptr @.str12325) %t88 = load ptr, ptr %t34 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str12029) - call void @fn_emit(ptr @.str12030) - call void @fn_emit(ptr @.str12031) - call void @fn_emit(ptr @.str12032) + call void @fn_emit(ptr @.str12326) + call void @fn_emit(ptr @.str12327) + call void @fn_emit(ptr @.str12328) + call void @fn_emit(ptr @.str12329) %t89 = load ptr, ptr %t1 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str12033) - call void @fn_emit(ptr @.str12034) + call void @fn_emit(ptr @.str12330) + call void @fn_emit(ptr @.str12331) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond18 @@ -122264,7 +129271,7 @@ wbody19: br i1 %t103, label %ixok21, label %ixbad22 ixbad22: %t104 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12035, i32 %t100, i32 %t102) + call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12332, i32 %t100, i32 %t102) call void @exit(i32 1) unreachable ixok21: @@ -122287,7 +129294,7 @@ then23: br i1 %t118, label %ixok26, label %ixbad27 ixbad27: %t119 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str12036, i32 %t115, i32 %t117) + call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str12333, i32 %t115, i32 %t117) call void @exit(i32 1) unreachable ixok26: @@ -122297,27 +129304,27 @@ ixok26: %t123 = load i32, ptr %t36 %t124 = call ptr @fn_itoa(i32 %t123) store ptr %t124, ptr %t125 - call void @fn_emit(ptr @.str12037) + call void @fn_emit(ptr @.str12334) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str12038) + call void @fn_emit(ptr @.str12335) %t127 = load ptr, ptr %t125 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str12039) - call void @fn_emit(ptr @.str12040) + call void @fn_emit(ptr @.str12336) + call void @fn_emit(ptr @.str12337) %t128 = load ptr, ptr %t125 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str12041) + call void @fn_emit(ptr @.str12338) %t129 = load ptr, ptr %t125 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str12042) + call void @fn_emit(ptr @.str12339) %t130 = load ptr, ptr %t125 call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str12043) - call void @fn_emit(ptr @.str12044) + call void @fn_emit(ptr @.str12340) + call void @fn_emit(ptr @.str12341) %t131 = load ptr, ptr %t125 call void @fn_emit(ptr %t131) - call void @fn_emit(ptr @.str12045) + call void @fn_emit(ptr @.str12342) %t132 = load ptr, ptr %t122 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t133 @@ -122325,11 +129332,11 @@ ixok26: %t136 = load i32, ptr %t135 %t137 = call ptr @fn_itoa(i32 %t136) call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str12046) - call void @fn_emit(ptr @.str12047) + call void @fn_emit(ptr @.str12343) + call void @fn_emit(ptr @.str12344) %t138 = load ptr, ptr %t125 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str12048) + call void @fn_emit(ptr @.str12345) %t139 = load i32, ptr %t36 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t36 @@ -122340,14 +129347,14 @@ ifend25: store i32 %t142, ptr %t5 br label %wcond18 wend20: - call void @fn_emit(ptr @.str12049) + call void @fn_emit(ptr @.str12346) %t143 = load ptr, ptr %t34 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str12050) - call void @fn_emit(ptr @.str12051) - call void @fn_emit(ptr @.str12052) - call void @fn_emit(ptr @.str12053) - call void @fn_emit(ptr @.str12054) + call void @fn_emit(ptr @.str12347) + call void @fn_emit(ptr @.str12348) + call void @fn_emit(ptr @.str12349) + call void @fn_emit(ptr @.str12350) + call void @fn_emit(ptr @.str12351) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond28 @@ -122371,7 +129378,7 @@ wbody29: br i1 %t157, label %ixok31, label %ixbad32 ixbad32: %t158 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str12055, i32 %t154, i32 %t156) + call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str12352, i32 %t154, i32 %t156) call void @exit(i32 1) unreachable ixok31: @@ -122394,7 +129401,7 @@ then33: br i1 %t172, label %ixok36, label %ixbad37 ixbad37: %t173 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str12056, i32 %t169, i32 %t171) + call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str12353, i32 %t169, i32 %t171) call void @exit(i32 1) unreachable ixok36: @@ -122404,27 +129411,27 @@ ixok36: %t177 = load i32, ptr %t36 %t178 = call ptr @fn_itoa(i32 %t177) store ptr %t178, ptr %t179 - call void @fn_emit(ptr @.str12057) + call void @fn_emit(ptr @.str12354) %t180 = load ptr, ptr %t179 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str12058) + call void @fn_emit(ptr @.str12355) %t181 = load ptr, ptr %t179 call void @fn_emit(ptr %t181) - call void @fn_emit(ptr @.str12059) - call void @fn_emit(ptr @.str12060) + call void @fn_emit(ptr @.str12356) + call void @fn_emit(ptr @.str12357) %t182 = load ptr, ptr %t179 call void @fn_emit(ptr %t182) - call void @fn_emit(ptr @.str12061) + call void @fn_emit(ptr @.str12358) %t183 = load ptr, ptr %t179 call void @fn_emit(ptr %t183) - call void @fn_emit(ptr @.str12062) + call void @fn_emit(ptr @.str12359) %t184 = load ptr, ptr %t179 call void @fn_emit(ptr %t184) - call void @fn_emit(ptr @.str12063) - call void @fn_emit(ptr @.str12064) + call void @fn_emit(ptr @.str12360) + call void @fn_emit(ptr @.str12361) %t185 = load ptr, ptr %t179 call void @fn_emit(ptr %t185) - call void @fn_emit(ptr @.str12065) + call void @fn_emit(ptr @.str12362) store i32 0, ptr %t186 br label %wcond38 wcond38: @@ -122451,7 +129458,7 @@ wbody39: br i1 %t204, label %ixok41, label %ixbad42 ixbad42: %t205 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12066, i32 %t201, i32 %t203) + call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12363, i32 %t201, i32 %t203) call void @exit(i32 1) unreachable ixok41: @@ -122462,53 +129469,53 @@ ixok41: %t210 = call ptr @fn_emit_str_const(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t179 - %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12067) + %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12364) %t214 = load i32, ptr %t186 %t215 = call ptr @fn_itoa(i32 %t214) %t216 = call ptr @lp_str_concat(ptr %t213, ptr %t215) store ptr %t216, ptr %t217 - call void @fn_emit(ptr @.str12068) + call void @fn_emit(ptr @.str12365) %t218 = load ptr, ptr %t217 call void @fn_emit(ptr %t218) - call void @fn_emit(ptr @.str12069) + call void @fn_emit(ptr @.str12366) %t219 = load i32, ptr %t186 %t220 = call ptr @fn_itoa(i32 %t219) call void @fn_emit(ptr %t220) - call void @fn_emit(ptr @.str12070) - call void @fn_emit(ptr @.str12071) + call void @fn_emit(ptr @.str12367) + call void @fn_emit(ptr @.str12368) %t221 = load ptr, ptr %t217 call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str12072) + call void @fn_emit(ptr @.str12369) %t222 = load ptr, ptr %t217 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str12073) + call void @fn_emit(ptr @.str12370) %t223 = load ptr, ptr %t217 call void @fn_emit(ptr %t223) - call void @fn_emit(ptr @.str12074) - call void @fn_emit(ptr @.str12075) + call void @fn_emit(ptr @.str12371) + call void @fn_emit(ptr @.str12372) %t224 = load ptr, ptr %t217 call void @fn_emit(ptr %t224) - call void @fn_emit(ptr @.str12076) + call void @fn_emit(ptr @.str12373) %t225 = load ptr, ptr %t211 call void @fn_emit(ptr %t225) - call void @fn_emit(ptr @.str12077) - call void @fn_emit(ptr @.str12078) + call void @fn_emit(ptr @.str12374) + call void @fn_emit(ptr @.str12375) %t226 = load ptr, ptr %t217 call void @fn_emit(ptr %t226) - call void @fn_emit(ptr @.str12079) + call void @fn_emit(ptr @.str12376) %t227 = load i32, ptr %t186 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t186 br label %wcond38 wend40: - call void @fn_emit(ptr @.str12080) + call void @fn_emit(ptr @.str12377) %t229 = load ptr, ptr %t1 call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str12081) - call void @fn_emit(ptr @.str12082) + call void @fn_emit(ptr @.str12378) + call void @fn_emit(ptr @.str12379) %t230 = load ptr, ptr %t179 call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str12083) + call void @fn_emit(ptr @.str12380) %t231 = load i32, ptr %t36 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t36 @@ -122519,11 +129526,11 @@ ifend35: store i32 %t234, ptr %t5 br label %wcond28 wend30: - call void @fn_emit(ptr @.str12084) + call void @fn_emit(ptr @.str12381) %t235 = load ptr, ptr %t1 call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str12085) - call void @fn_emit(ptr @.str12086) + call void @fn_emit(ptr @.str12382) + call void @fn_emit(ptr @.str12383) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond43 @@ -122547,7 +129554,7 @@ wbody44: br i1 %t249, label %ixok46, label %ixbad47 ixbad47: %t250 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12087, i32 %t246, i32 %t248) + call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12384, i32 %t246, i32 %t248) call void @exit(i32 1) unreachable ixok46: @@ -122570,7 +129577,7 @@ then48: br i1 %t264, label %ixok51, label %ixbad52 ixbad52: %t265 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str12088, i32 %t261, i32 %t263) + call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str12385, i32 %t261, i32 %t263) call void @exit(i32 1) unreachable ixok51: @@ -122580,27 +129587,27 @@ ixok51: %t269 = load i32, ptr %t36 %t270 = call ptr @fn_itoa(i32 %t269) store ptr %t270, ptr %t271 - call void @fn_emit(ptr @.str12089) + call void @fn_emit(ptr @.str12386) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) - call void @fn_emit(ptr @.str12090) + call void @fn_emit(ptr @.str12387) %t273 = load ptr, ptr %t271 call void @fn_emit(ptr %t273) - call void @fn_emit(ptr @.str12091) - call void @fn_emit(ptr @.str12092) + call void @fn_emit(ptr @.str12388) + call void @fn_emit(ptr @.str12389) %t274 = load ptr, ptr %t271 call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str12093) + call void @fn_emit(ptr @.str12390) %t275 = load ptr, ptr %t271 call void @fn_emit(ptr %t275) - call void @fn_emit(ptr @.str12094) + call void @fn_emit(ptr @.str12391) %t276 = load ptr, ptr %t271 call void @fn_emit(ptr %t276) - call void @fn_emit(ptr @.str12095) - call void @fn_emit(ptr @.str12096) + call void @fn_emit(ptr @.str12392) + call void @fn_emit(ptr @.str12393) %t277 = load ptr, ptr %t271 call void @fn_emit(ptr %t277) - call void @fn_emit(ptr @.str12097) + call void @fn_emit(ptr @.str12394) store i32 0, ptr %t278 br label %wcond53 wcond53: @@ -122627,7 +129634,7 @@ wbody54: br i1 %t296, label %ixok56, label %ixbad57 ixbad57: %t297 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str12098, i32 %t293, i32 %t295) + call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str12395, i32 %t293, i32 %t295) call void @exit(i32 1) unreachable ixok56: @@ -122638,53 +129645,53 @@ ixok56: %t302 = call ptr @fn_emit_str_const(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t271 - %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str12099) + %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str12396) %t306 = load i32, ptr %t278 %t307 = call ptr @fn_itoa(i32 %t306) %t308 = call ptr @lp_str_concat(ptr %t305, ptr %t307) store ptr %t308, ptr %t309 - call void @fn_emit(ptr @.str12100) + call void @fn_emit(ptr @.str12397) %t310 = load ptr, ptr %t309 call void @fn_emit(ptr %t310) - call void @fn_emit(ptr @.str12101) + call void @fn_emit(ptr @.str12398) %t311 = load i32, ptr %t278 %t312 = call ptr @fn_itoa(i32 %t311) call void @fn_emit(ptr %t312) - call void @fn_emit(ptr @.str12102) - call void @fn_emit(ptr @.str12103) + call void @fn_emit(ptr @.str12399) + call void @fn_emit(ptr @.str12400) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) - call void @fn_emit(ptr @.str12104) + call void @fn_emit(ptr @.str12401) %t314 = load ptr, ptr %t309 call void @fn_emit(ptr %t314) - call void @fn_emit(ptr @.str12105) + call void @fn_emit(ptr @.str12402) %t315 = load ptr, ptr %t309 call void @fn_emit(ptr %t315) - call void @fn_emit(ptr @.str12106) - call void @fn_emit(ptr @.str12107) + call void @fn_emit(ptr @.str12403) + call void @fn_emit(ptr @.str12404) %t316 = load ptr, ptr %t309 call void @fn_emit(ptr %t316) - call void @fn_emit(ptr @.str12108) + call void @fn_emit(ptr @.str12405) %t317 = load ptr, ptr %t303 call void @fn_emit(ptr %t317) - call void @fn_emit(ptr @.str12109) - call void @fn_emit(ptr @.str12110) + call void @fn_emit(ptr @.str12406) + call void @fn_emit(ptr @.str12407) %t318 = load ptr, ptr %t309 call void @fn_emit(ptr %t318) - call void @fn_emit(ptr @.str12111) + call void @fn_emit(ptr @.str12408) %t319 = load i32, ptr %t278 %t320 = add i32 %t319, 1 store i32 %t320, ptr %t278 br label %wcond53 wend55: - call void @fn_emit(ptr @.str12112) + call void @fn_emit(ptr @.str12409) %t321 = load ptr, ptr %t3 call void @fn_emit(ptr %t321) - call void @fn_emit(ptr @.str12113) - call void @fn_emit(ptr @.str12114) + call void @fn_emit(ptr @.str12410) + call void @fn_emit(ptr @.str12411) %t322 = load ptr, ptr %t271 call void @fn_emit(ptr %t322) - call void @fn_emit(ptr @.str12115) + call void @fn_emit(ptr @.str12412) %t323 = load i32, ptr %t36 %t324 = add i32 %t323, 1 store i32 %t324, ptr %t36 @@ -122695,10 +129702,10 @@ ifend50: store i32 %t326, ptr %t5 br label %wcond43 wend45: - call void @fn_emit(ptr @.str12116) + call void @fn_emit(ptr @.str12413) %t327 = load ptr, ptr %t3 call void @fn_emit(ptr %t327) - call void @fn_emit(ptr @.str12117) + call void @fn_emit(ptr @.str12414) br label %ret ret: ret void @@ -122706,20 +129713,20 @@ ret: define void @fn_emit_tick_helpers() { entry: - call void @fn_emit(ptr @.str12118) + call void @fn_emit(ptr @.str12415) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str12119) - call void @fn_emit_calls_for_phase(ptr @.str12120) - call void @fn_emit_calls_for_phase(ptr @.str12121) - call void @fn_emit_calls_for_phase(ptr @.str12122) - call void @fn_emit(ptr @.str12123) - call void @fn_emit(ptr @.str12124) + call void @fn_emit_calls_for_phase(ptr @.str12416) + call void @fn_emit_calls_for_phase(ptr @.str12417) + call void @fn_emit_calls_for_phase(ptr @.str12418) + call void @fn_emit_calls_for_phase(ptr @.str12419) + call void @fn_emit(ptr @.str12420) + call void @fn_emit(ptr @.str12421) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str12125) - call void @fn_emit_calls_for_phase(ptr @.str12126) - call void @fn_emit(ptr @.str12127) + call void @fn_emit_calls_for_phase(ptr @.str12422) + call void @fn_emit_calls_for_phase(ptr @.str12423) + call void @fn_emit(ptr @.str12424) br label %ret ret: ret void @@ -122751,7 +129758,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12128, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12425, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -122774,7 +129781,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12129, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12426, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -122829,20 +129836,20 @@ entry: %t145 = alloca ptr %t150 = alloca ptr call void @fn_emit_game_defs() - call void @fn_emit(ptr @.str12130) - call void @fn_emit(ptr @.str12131) - call void @fn_emit(ptr @.str12132) - %t0 = call ptr @fn_find_fn(ptr @.str12133) + call void @fn_emit(ptr @.str12427) + call void @fn_emit(ptr @.str12428) + call void @fn_emit(ptr @.str12429) + %t0 = call ptr @fn_find_fn(ptr @.str12430) %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 @.str12134) + call void @fn_emit(ptr @.str12431) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12135) - call void @fn_emit_calls_for_phase(ptr @.str12136) + call void @fn_emit(ptr @.str12432) + call void @fn_emit_calls_for_phase(ptr @.str12433) %t4 = load ptr, ptr @g_g_scenes %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 @@ -122851,11 +129858,11 @@ ifend2: %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12137) + call void @fn_emit(ptr @.str12434) %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 @.str12138) + call void @fn_emit(ptr @.str12435) store i32 0, ptr %t12 br label %wcond6 wcond6: @@ -122878,7 +129885,7 @@ wbody7: br i1 %t26, label %ixok9, label %ixbad10 ixbad10: %t27 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12139, i32 %t23, i32 %t25) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12436, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok9: @@ -122892,7 +129899,7 @@ ixok9: %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str12140) + call void @fn_emit(ptr @.str12437) %t36 = load ptr, ptr @g_g_scenes %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 @@ -122903,7 +129910,7 @@ then11: br i1 %t42, label %ixok14, label %ixbad15 ixbad15: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12141, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12438, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok14: @@ -122912,7 +129919,7 @@ ixok14: %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str12142) + call void @fn_emit(ptr @.str12439) br label %ifend13 ifend13: %t48 = load i32, ptr %t12 @@ -122922,64 +129929,64 @@ ifend13: wend8: br label %ifend5 ifend5: - %t50 = call ptr @fn_find_event(ptr @.str12143) + %t50 = call ptr @fn_find_event(ptr @.str12440) %t51 = icmp ne ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str12144) + call void @fn_emit(ptr @.str12441) br label %ifend18 ifend18: - call void @fn_emit(ptr @.str12145) - call void @fn_emit(ptr @.str12146) - %t54 = call ptr @fn_emit_bind(ptr @.str12147) + call void @fn_emit(ptr @.str12442) + call void @fn_emit(ptr @.str12443) + %t54 = call ptr @fn_emit_bind(ptr @.str12444) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 - %t57 = call ptr @lp_str_concat(ptr @.str12148, ptr %t56) - %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12149) + %t57 = call ptr @lp_str_concat(ptr @.str12445, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12446) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 - %t61 = call ptr @fn_find_fn(ptr @.str12150) + %t61 = call ptr @fn_find_fn(ptr @.str12447) %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then19, label %else20 then19: - %t65 = call ptr @fn_emit_bind(ptr @.str12151) + %t65 = call ptr @fn_emit_bind(ptr @.str12448) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 - %t68 = call ptr @lp_str_concat(ptr @.str12152, ptr %t67) - %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str12153) + %t68 = call ptr @lp_str_concat(ptr @.str12449, ptr %t67) + %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str12450) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t60 - %t73 = call ptr @lp_str_concat(ptr @.str12154, ptr %t72) - %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str12155) + %t73 = call ptr @lp_str_concat(ptr @.str12451, ptr %t72) + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str12452) %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 - call void @fn_emit(ptr @.str12156) + call void @fn_emit(ptr @.str12453) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str12157) + call void @fn_emit(ptr @.str12454) br label %ifend21 else20: - call void @fn_emit(ptr @.str12158) + call void @fn_emit(ptr @.str12455) %t80 = load ptr, ptr %t60 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str12159) + call void @fn_emit(ptr @.str12456) br label %ifend21 ifend21: - call void @fn_emit(ptr @.str12160) + call void @fn_emit(ptr @.str12457) %t82 = load i32, ptr @g_g_uses_input %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t81 br i1 %t83, label %sc22, label %scend23 sc22: - %t85 = call ptr @fn_find_fn(ptr @.str12161) + %t85 = call ptr @fn_find_fn(ptr @.str12458) %t86 = icmp ne ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 @@ -122991,26 +129998,26 @@ scend23: %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then24, label %else25 then24: - %t92 = call ptr @fn_emit_bind(ptr @.str12162) + %t92 = call ptr @fn_emit_bind(ptr @.str12459) store ptr %t92, ptr %t93 - call void @fn_emit(ptr @.str12163) + call void @fn_emit(ptr @.str12460) %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str12164) + call void @fn_emit(ptr @.str12461) br label %ifend26 else25: - %t95 = call ptr @fn_find_fn(ptr @.str12165) + %t95 = call ptr @fn_find_fn(ptr @.str12462) %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then27, label %ifend29 then27: - %t99 = call ptr @fn_emit_bind(ptr @.str12166) + %t99 = call ptr @fn_emit_bind(ptr @.str12463) store ptr %t99, ptr %t100 - call void @fn_emit(ptr @.str12167) + call void @fn_emit(ptr @.str12464) %t101 = load ptr, ptr %t100 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str12168) + call void @fn_emit(ptr @.str12465) br label %ifend29 ifend29: br label %ifend26 @@ -123021,7 +130028,7 @@ ifend26: store i32 %t105, ptr %t102 br i1 %t104, label %sc30, label %scend31 sc30: - %t106 = call ptr @fn_find_fn(ptr @.str12169) + %t106 = call ptr @fn_find_fn(ptr @.str12466) %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 @@ -123033,25 +130040,25 @@ scend31: %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then32, label %ifend34 then32: - %t113 = call ptr @fn_emit_bind(ptr @.str12170) + %t113 = call ptr @fn_emit_bind(ptr @.str12467) store ptr %t113, ptr %t114 - call void @fn_emit(ptr @.str12171) + call void @fn_emit(ptr @.str12468) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str12172) + call void @fn_emit(ptr @.str12469) br label %ifend34 ifend34: - call void @fn_emit_calls_for_phase(ptr @.str12173) - call void @fn_emit_calls_for_phase(ptr @.str12174) - call void @fn_emit_calls_for_phase(ptr @.str12175) - call void @fn_emit_calls_for_phase(ptr @.str12176) + call void @fn_emit_calls_for_phase(ptr @.str12470) + call void @fn_emit_calls_for_phase(ptr @.str12471) + call void @fn_emit_calls_for_phase(ptr @.str12472) + call void @fn_emit_calls_for_phase(ptr @.str12473) %t117 = load i32, ptr @g_g_has_clear_color %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t116 br i1 %t118, label %sc35, label %scend36 sc35: - %t120 = call ptr @fn_find_fn(ptr @.str12177) + %t120 = call ptr @fn_find_fn(ptr @.str12474) %t121 = icmp ne ptr %t120, null %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 @@ -123066,23 +130073,23 @@ then37: %t127 = load ptr, ptr @g_g_clear_color %t128 = call ptr @fn_emit_expr(ptr %t127) store ptr %t128, ptr %t129 - call void @fn_emit(ptr @.str12178) + call void @fn_emit(ptr @.str12475) %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str12179) + call void @fn_emit(ptr @.str12476) br label %ifend39 ifend39: - call void @fn_emit_calls_for_phase(ptr @.str12180) - call void @fn_emit_calls_for_phase(ptr @.str12181) + call void @fn_emit_calls_for_phase(ptr @.str12477) + call void @fn_emit_calls_for_phase(ptr @.str12478) %t134 = load i32, ptr @g_g_has_clear_color %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t133 br i1 %t135, label %sc40, label %scend41 sc40: - %t137 = call ptr @fn_find_fn(ptr @.str12182) + %t137 = call ptr @fn_find_fn(ptr @.str12479) %t138 = icmp ne ptr %t137, null %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 @@ -123094,22 +130101,22 @@ scend41: %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then42, label %ifend44 then42: - call void @fn_emit(ptr @.str12183) + call void @fn_emit(ptr @.str12480) br label %ifend44 ifend44: - %t144 = call ptr @fn_emit_bind(ptr @.str12184) + %t144 = call ptr @fn_emit_bind(ptr @.str12481) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t145 - %t147 = call ptr @lp_str_concat(ptr @.str12185, ptr %t146) - %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str12186) + %t147 = call ptr @lp_str_concat(ptr @.str12482, ptr %t146) + %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str12483) %t149 = call ptr @fn_emit_bind(ptr %t148) store ptr %t149, ptr %t150 - call void @fn_emit(ptr @.str12187) + call void @fn_emit(ptr @.str12484) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str12188) - call void @fn_emit(ptr @.str12189) - call void @fn_emit(ptr @.str12190) + call void @fn_emit(ptr @.str12485) + call void @fn_emit(ptr @.str12486) + call void @fn_emit(ptr @.str12487) %t152 = load ptr, ptr @g_g_ondespawn %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t154 = load i32, ptr %t153 @@ -123118,29 +130125,29 @@ ifend44: %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then45, label %ifend47 then45: - call void @fn_emit(ptr @.str12191) + call void @fn_emit(ptr @.str12488) br label %ifend47 ifend47: - call void @fn_emit_calls_for_phase(ptr @.str12192) - %t158 = call ptr @fn_find_event(ptr @.str12193) + call void @fn_emit_calls_for_phase(ptr @.str12489) + %t158 = call ptr @fn_find_event(ptr @.str12490) %t159 = icmp ne ptr %t158, null %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then48, label %ifend50 then48: - call void @fn_emit(ptr @.str12194) + call void @fn_emit(ptr @.str12491) br label %ifend50 ifend50: - %t162 = call ptr @fn_find_fn(ptr @.str12195) + %t162 = call ptr @fn_find_fn(ptr @.str12492) %t163 = icmp ne ptr %t162, null %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then51, label %ifend53 then51: - call void @fn_emit(ptr @.str12196) + call void @fn_emit(ptr @.str12493) br label %ifend53 ifend53: - call void @fn_emit(ptr @.str12197) + call void @fn_emit(ptr @.str12494) br label %ret ret: ret void @@ -123270,8 +130277,8 @@ then12: %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 - %t53 = call ptr @lp_str_concat(ptr @.str12198, ptr %t52) - %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str12199) + %t53 = call ptr @lp_str_concat(ptr @.str12495, ptr %t52) + %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str12496) %t55 = load ptr, ptr %t18 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 %t57 = load ptr, ptr %t56 @@ -123313,7 +130320,7 @@ entry: %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_machine_var(ptr %t3) store ptr %t4, ptr %t5 - store ptr @.str12200, ptr %t6 + store ptr @.str12497, ptr %t6 %t7 = load ptr, ptr %t5 %t8 = icmp ne ptr %t7, null %t9 = zext i1 %t8 to i32 @@ -123325,7 +130332,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 @lp_str_concat(ptr @.str12201, ptr %t15) + %t16 = call ptr @lp_str_concat(ptr @.str12498, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t6 br label %ifend2 @@ -123338,8 +130345,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 @lp_str_concat(ptr @.str12202, ptr %t25) - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12203) + %t26 = call ptr @lp_str_concat(ptr @.str12499, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12500) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t6 br label %ifend2 @@ -123363,7 +130370,7 @@ then3: br i1 %t42, label %ixok6, label %ixbad7 ixbad7: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12204, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12501, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok6: @@ -123405,7 +130412,7 @@ ifend5: %t66 = load i32, ptr @g_nmach %t67 = add i32 %t66, 1 store i32 %t67, ptr @g_nmach - %t68 = call ptr @fn_lbl(ptr @.str12205) + %t68 = call ptr @fn_lbl(ptr @.str12502) store ptr %t68, ptr %t69 store i32 0, ptr %t70 br label %wcond10 @@ -123433,7 +130440,7 @@ wbody11: br i1 %t88, label %ixok13, label %ixbad14 ixbad14: %t89 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str12206, i32 %t85, i32 %t87) + call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str12503, i32 %t85, i32 %t87) call void @exit(i32 1) unreachable ixok13: @@ -123445,29 +130452,29 @@ ixok13: %t95 = call ptr @fn_machine_state_value(ptr %t93, ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t6 - %t98 = call ptr @lp_str_concat(ptr @.str12207, ptr %t97) - %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str12208) + %t98 = call ptr @lp_str_concat(ptr @.str12504, ptr %t97) + %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str12505) %t100 = load ptr, ptr %t96 %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @fn_emit_bind(ptr %t101) store ptr %t102, ptr %t103 - %t104 = call ptr @fn_lbl(ptr @.str12209) + %t104 = call ptr @fn_lbl(ptr @.str12506) store ptr %t104, ptr %t105 - %t106 = call ptr @fn_lbl(ptr @.str12210) + %t106 = call ptr @fn_lbl(ptr @.str12507) store ptr %t106, ptr %t107 - call void @fn_emit(ptr @.str12211) + call void @fn_emit(ptr @.str12508) %t108 = load ptr, ptr %t103 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str12212) + call void @fn_emit(ptr @.str12509) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str12213) + call void @fn_emit(ptr @.str12510) %t110 = load ptr, ptr %t107 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str12214) + call void @fn_emit(ptr @.str12511) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12215) + call void @fn_emit(ptr @.str12512) store i32 0, ptr @g_g_term %t112 = load ptr, ptr %t92 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 @@ -123479,15 +130486,15 @@ ixok13: %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then15, label %ifend17 then15: - call void @fn_emit(ptr @.str12216) + call void @fn_emit(ptr @.str12513) %t119 = load ptr, ptr %t69 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12217) + call void @fn_emit(ptr @.str12514) br label %ifend17 ifend17: %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str12218) + call void @fn_emit(ptr @.str12515) store i32 0, ptr @g_g_term %t121 = load i32, ptr %t70 %t122 = add i32 %t121, 1 @@ -123500,15 +130507,15 @@ wend12: %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str12219) + call void @fn_emit(ptr @.str12516) %t127 = load ptr, ptr %t69 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str12220) + call void @fn_emit(ptr @.str12517) br label %ifend20 ifend20: %t128 = load ptr, ptr %t69 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str12221) + call void @fn_emit(ptr @.str12518) store i32 0, ptr @g_g_term %t129 = load i32, ptr @g_nmach %t130 = sub i32 %t129, 1 @@ -123546,7 +130553,7 @@ then0: br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12222, i32 %t9, i32 %t11) + call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12519, i32 %t9, i32 %t11) call void @exit(i32 1) unreachable ixok3: @@ -123580,7 +130587,7 @@ wbody6: br i1 %t36, label %ixok8, label %ixbad9 ixbad9: %t37 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str12223, i32 %t33, i32 %t35) + call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str12520, i32 %t33, i32 %t35) call void @exit(i32 1) unreachable ixok8: @@ -123607,7 +130614,7 @@ then10: br i1 %t55, label %ixok13, label %ixbad14 ixbad14: %t56 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str12224, i32 %t52, i32 %t54) + call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str12521, i32 %t52, i32 %t54) call void @exit(i32 1) unreachable ixok13: @@ -123642,17 +130649,17 @@ then15: %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then18, label %else19 then18: - call void @fn_emit(ptr @.str12225) + call void @fn_emit(ptr @.str12522) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str12226) + call void @fn_emit(ptr @.str12523) %t79 = load ptr, ptr %t16 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str12227) + call void @fn_emit(ptr @.str12524) br label %ifend20 else19: %t84 = load ptr, ptr %t16 @@ -123660,15 +130667,15 @@ else19: %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 - call void @fn_emit(ptr @.str12228) + call void @fn_emit(ptr @.str12525) %t89 = load ptr, ptr %t88 %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 @.str12229) + call void @fn_emit(ptr @.str12526) %t92 = load ptr, ptr %t73 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str12230) + call void @fn_emit(ptr @.str12527) br label %ifend20 ifend20: br label %ret @@ -123689,7 +130696,7 @@ then21: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 - %t105 = call ptr @lp_str_concat(ptr @.str12231, ptr %t104) + %t105 = call ptr @lp_str_concat(ptr @.str12528, ptr %t104) call void @fn_perr(ptr %t105) br label %ifend23 ifend23: @@ -123699,30 +130706,30 @@ ifend23: %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %else25 then24: - call void @fn_emit(ptr @.str12232) + call void @fn_emit(ptr @.str12529) %t110 = load ptr, ptr @g_g_cur_scene %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 @.str12233) + call void @fn_emit(ptr @.str12530) br label %ifend26 else25: - call void @fn_emit(ptr @.str12234) + call void @fn_emit(ptr @.str12531) br label %ifend26 ifend26: - call void @fn_emit(ptr @.str12235) + call void @fn_emit(ptr @.str12532) %t113 = load ptr, ptr %t97 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 2 %t115 = load i32, ptr %t114 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12236) - call void @fn_emit(ptr @.str12237) + call void @fn_emit(ptr @.str12533) + call void @fn_emit(ptr @.str12534) %t117 = load ptr, ptr %t97 %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 @.str12238) + call void @fn_emit(ptr @.str12535) br label %ret ret: ret void @@ -123741,51 +130748,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 @lp_str_eq(ptr %t3, ptr @.str12239) + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str12536) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load i32, ptr @g_g_iok %t7 = call ptr @fn_itoa(i32 %t6) - %t8 = call ptr @lp_str_concat(ptr @.str12240, ptr %t7) + %t8 = call ptr @lp_str_concat(ptr @.str12537, 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 @.str12241) + call void @fn_emit(ptr @.str12538) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) - call void @fn_emit(ptr @.str12242) + call void @fn_emit(ptr @.str12539) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) - call void @fn_emit(ptr @.str12243) + call void @fn_emit(ptr @.str12540) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) - call void @fn_emit(ptr @.str12244) + call void @fn_emit(ptr @.str12541) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) - call void @fn_emit(ptr @.str12245) + call void @fn_emit(ptr @.str12542) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12246) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12543) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) - %t21 = call ptr @lp_str_concat(ptr @.str12247, ptr %t20) + %t21 = call ptr @lp_str_concat(ptr @.str12544, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str12248) + call void @fn_emit(ptr @.str12545) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str12249) + call void @fn_emit(ptr @.str12546) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str12250) + call void @fn_emit(ptr @.str12547) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str12251) + call void @fn_emit(ptr @.str12548) %t26 = load ptr, ptr %t22 store ptr %t26, ptr @g_g_off %t27 = load i32, ptr @g_g_iok @@ -123795,58 +130802,58 @@ then3: ifend5: %t29 = load i32, ptr @g_g_iok %t30 = call ptr @fn_itoa(i32 %t29) - %t31 = call ptr @lp_str_concat(ptr @.str12252, ptr %t30) + %t31 = call ptr @lp_str_concat(ptr @.str12549, ptr %t30) store ptr %t31, ptr %t32 - call void @fn_emit(ptr @.str12253) + call void @fn_emit(ptr @.str12550) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str12254) + call void @fn_emit(ptr @.str12551) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str12255) + call void @fn_emit(ptr @.str12552) %t35 = load ptr, ptr @g_g_snap_mode - %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str12256) + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str12553) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: - call void @fn_emit(ptr @.str12257) + call void @fn_emit(ptr @.str12554) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str12258) + call void @fn_emit(ptr @.str12555) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str12259) + call void @fn_emit(ptr @.str12556) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str12260) + call void @fn_emit(ptr @.str12557) br label %ifend8 else7: - call void @fn_emit(ptr @.str12261) + call void @fn_emit(ptr @.str12558) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str12262) + call void @fn_emit(ptr @.str12559) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str12263) + call void @fn_emit(ptr @.str12560) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str12264) + call void @fn_emit(ptr @.str12561) br label %ifend8 ifend8: %t44 = load i32, ptr @g_g_iok %t45 = call ptr @fn_itoa(i32 %t44) - %t46 = call ptr @lp_str_concat(ptr @.str12265, ptr %t45) + %t46 = call ptr @lp_str_concat(ptr @.str12562, ptr %t45) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str12266) + call void @fn_emit(ptr @.str12563) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str12267) + call void @fn_emit(ptr @.str12564) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str12268) + call void @fn_emit(ptr @.str12565) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str12269) + call void @fn_emit(ptr @.str12566) %t51 = load ptr, ptr %t47 store ptr %t51, ptr @g_g_off %t52 = load i32, ptr @g_g_iok @@ -123867,29 +130874,29 @@ entry: %t90 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok - store ptr @.str12270, ptr @g_g_off + store ptr @.str12567, 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 @.str12271, ptr @.str12272) + call void @fn_emit_io(ptr %t3, ptr @.str12568, ptr @.str12569) %t4 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t4, ptr @.str12273, ptr @.str12274) - call void @fn_emit(ptr @.str12275) + call void @fn_emit_io(ptr %t4, ptr @.str12570, ptr @.str12571) + call void @fn_emit(ptr @.str12572) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str12276) + call void @fn_emit(ptr @.str12573) %t6 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t6, ptr @.str12277, ptr @.str12278) + call void @fn_emit_io(ptr %t6, ptr @.str12574, ptr @.str12575) %t7 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t7, ptr @.str12279, ptr @.str12280) + call void @fn_emit_io(ptr %t7, ptr @.str12576, ptr @.str12577) %t8 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t8, ptr @.str12281, ptr @.str12282) + call void @fn_emit_io(ptr %t8, ptr @.str12578, ptr @.str12579) %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 @.str12283, ptr @.str12284) + call void @fn_emit_io(ptr %t11, ptr @.str12580, ptr @.str12581) br label %ifend2 ifend2: store i32 0, ptr %t12 @@ -123914,7 +130921,7 @@ wbody4: br i1 %t26, label %ixok6, label %ixbad7 ixbad7: %t27 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12285, i32 %t23, i32 %t25) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12582, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok6: @@ -123938,7 +130945,7 @@ then8: br i1 %t42, label %ixok11, label %ixbad12 ixbad12: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12287, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12584, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok11: @@ -123946,8 +130953,8 @@ ixok11: %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 - %t48 = call ptr @lp_str_concat(ptr @.str12286, ptr %t47) - call void @fn_emit_io(ptr %t35, ptr %t48, ptr @.str12288) + %t48 = call ptr @lp_str_concat(ptr @.str12583, ptr %t47) + call void @fn_emit_io(ptr %t35, ptr %t48, ptr @.str12585) br label %ifend10 ifend10: %t49 = load i32, ptr %t12 @@ -123978,7 +130985,7 @@ wbody14: br i1 %t65, label %ixok16, label %ixbad17 ixbad17: %t66 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12289, i32 %t62, i32 %t64) + call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12586, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok16: @@ -124001,7 +131008,7 @@ then18: br i1 %t80, label %ixok21, label %ixbad22 ixbad22: %t81 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12290, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12587, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok21: @@ -124012,26 +131019,26 @@ ixok21: store ptr %t85, ptr %t86 %t87 = load i32, ptr %t51 %t88 = call ptr @fn_itoa(i32 %t87) - %t89 = call ptr @lp_str_concat(ptr @.str12291, ptr %t88) + %t89 = call ptr @lp_str_concat(ptr @.str12588, ptr %t88) store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str12292) + call void @fn_emit(ptr @.str12589) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str12293) + call void @fn_emit(ptr @.str12590) %t92 = load ptr, ptr %t86 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str12294) + call void @fn_emit(ptr @.str12591) %t93 = load ptr, ptr %t2 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str12295) + call void @fn_emit(ptr @.str12592) %t94 = load ptr, ptr %t0 %t95 = load ptr, ptr %t86 - %t96 = call ptr @lp_str_concat(ptr @.str12296, ptr %t95) + %t96 = call ptr @lp_str_concat(ptr @.str12593, ptr %t95) %t97 = load ptr, ptr %t90 call void @fn_emit_io(ptr %t94, ptr %t96, ptr %t97) %t98 = load ptr, ptr %t0 %t99 = load ptr, ptr %t86 - %t100 = call ptr @lp_str_concat(ptr @.str12297, ptr %t99) + %t100 = call ptr @lp_str_concat(ptr @.str12594, ptr %t99) %t101 = load ptr, ptr %t2 call void @fn_emit_io(ptr %t98, ptr %t100, ptr %t101) %t102 = load i32, ptr %t51 @@ -124055,85 +131062,85 @@ entry: %t7 = alloca i32 %t15 = alloca ptr %t22 = alloca ptr - store ptr @.str12298, ptr @g_g_snap_mode - call void @fn_emith(ptr @.str12299) - call void @fn_emith(ptr @.str12300) - call void @fn_emith(ptr @.str12301) - %t0 = call ptr @fn_find_fn(ptr @.str12302) + store ptr @.str12595, ptr @g_g_snap_mode + call void @fn_emith(ptr @.str12596) + call void @fn_emith(ptr @.str12597) + call void @fn_emith(ptr @.str12598) + %t0 = call ptr @fn_find_fn(ptr @.str12599) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 - %t4 = call ptr @fn_find_fn(ptr @.str12303) + %t4 = call ptr @fn_find_fn(ptr @.str12600) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 - call void @fn_emit(ptr @.str12304) - call void @fn_emit(ptr @.str12305) - call void @fn_emit(ptr @.str12306) - call void @fn_emit(ptr @.str12307) - call void @fn_emit_snapshot_blocks(ptr @.str12308) + call void @fn_emit(ptr @.str12601) + call void @fn_emit(ptr @.str12602) + call void @fn_emit(ptr @.str12603) + call void @fn_emit(ptr @.str12604) + call void @fn_emit_snapshot_blocks(ptr @.str12605) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str12309) + call void @fn_emit(ptr @.str12606) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12310) - call void @fn_emit(ptr @.str12311) - call void @fn_emit(ptr @.str12312) - call void @fn_emit(ptr @.str12313) - call void @fn_emit(ptr @.str12314) - call void @fn_emit_snapshot_blocks(ptr @.str12315) + call void @fn_emit(ptr @.str12607) + call void @fn_emit(ptr @.str12608) + call void @fn_emit(ptr @.str12609) + call void @fn_emit(ptr @.str12610) + call void @fn_emit(ptr @.str12611) + call void @fn_emit_snapshot_blocks(ptr @.str12612) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12316) + call void @fn_emit(ptr @.str12613) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str12317) - call void @fn_emit(ptr @.str12318) - store ptr @.str12319, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str12320) + call void @fn_emit(ptr @.str12614) + call void @fn_emit(ptr @.str12615) + store ptr @.str12616, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str12617) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) - %t14 = call ptr @lp_str_concat(ptr @.str12321, ptr %t13) + %t14 = call ptr @lp_str_concat(ptr @.str12618, ptr %t13) store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str12322) + call void @fn_emit(ptr @.str12619) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str12323) + call void @fn_emit(ptr @.str12620) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str12324) - call void @fn_emit(ptr @.str12325) + call void @fn_emit(ptr @.str12621) + call void @fn_emit(ptr @.str12622) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str12326) - call void @fn_emit(ptr @.str12327) - store ptr @.str12328, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str12329) - call void @fn_emit(ptr @.str12330) - call void @fn_emit(ptr @.str12331) - store ptr @.str12332, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str12333) + call void @fn_emit(ptr @.str12623) + call void @fn_emit(ptr @.str12624) + store ptr @.str12625, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str12626) + call void @fn_emit(ptr @.str12627) + call void @fn_emit(ptr @.str12628) + store ptr @.str12629, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str12630) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) - %t21 = call ptr @lp_str_concat(ptr @.str12334, ptr %t20) + %t21 = call ptr @lp_str_concat(ptr @.str12631, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str12335) + call void @fn_emit(ptr @.str12632) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str12336) + call void @fn_emit(ptr @.str12633) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str12337) - call void @fn_emit(ptr @.str12338) + call void @fn_emit(ptr @.str12634) + call void @fn_emit(ptr @.str12635) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str12339) - store ptr @.str12340, ptr @g_g_snap_mode + call void @fn_emit(ptr @.str12636) + store ptr @.str12637, ptr @g_g_snap_mode br label %ret ret: ret void @@ -124146,7 +131153,7 @@ entry: store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_llty(ptr %t1) - %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12341) + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12638) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -124167,14 +131174,14 @@ entry: store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_llty(ptr %t1) - %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12342) + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12639) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - store ptr @.str12343, ptr %retval + store ptr @.str12640, ptr %retval br label %ret ifend2: - store ptr @.str12344, ptr %retval + store ptr @.str12641, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval @@ -124217,7 +131224,7 @@ wbody1: br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str12345, i32 %t17, i32 %t19) + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str12642, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: @@ -124242,7 +131249,7 @@ then5: br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str12346, i32 %t34, i32 %t36) + call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str12643, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: @@ -124284,7 +131291,7 @@ wbody14: br i1 %t67, label %ixok16, label %ixbad17 ixbad17: %t68 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12347, i32 %t64, i32 %t66) + call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12644, i32 %t64, i32 %t66) call void @exit(i32 1) unreachable ixok16: @@ -124309,7 +131316,7 @@ then18: br i1 %t84, label %ixok21, label %ixbad22 ixbad22: %t85 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12348, i32 %t81, i32 %t83) + call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12645, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok21: @@ -124387,7 +131394,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12349, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12646, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -124410,7 +131417,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12350, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12647, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -124464,7 +131471,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12351, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12648, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -124489,7 +131496,7 @@ sc5: br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12352, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12649, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: @@ -124550,7 +131557,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12353, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12650, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -124575,7 +131582,7 @@ sc5: br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12354, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12651, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: @@ -124655,7 +131662,7 @@ entry: store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 - %t5 = call i64 @fwrite(ptr @.str12355, i64 1, i64 %t4, ptr %t3) + %t5 = call i64 @fwrite(ptr @.str12652, i64 1, i64 %t4, ptr %t3) %t6 = trunc i64 %t5 to i32 %t7 = load ptr, ptr %t2 %t8 = load ptr, ptr %t0 @@ -124667,7 +131674,7 @@ entry: %t14 = trunc i64 %t13 to i32 %t15 = load ptr, ptr %t2 %t16 = zext i32 1 to i64 - %t17 = call i64 @fwrite(ptr @.str12356, i64 1, i64 %t16, ptr %t15) + %t17 = call i64 @fwrite(ptr @.str12653, i64 1, i64 %t16, ptr %t15) %t18 = trunc i64 %t17 to i32 br label %ret ret: @@ -124705,7 +131712,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12357, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12654, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -124728,7 +131735,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12358, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12655, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -124761,7 +131768,7 @@ wbody11: br i1 %t52, label %ixok13, label %ixbad14 ixbad14: %t53 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str12359, i32 %t49, i32 %t51) + call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str12656, i32 %t49, i32 %t51) call void @exit(i32 1) unreachable ixok13: @@ -124786,7 +131793,7 @@ then15: br i1 %t69, label %ixok18, label %ixbad19 ixbad19: %t70 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12360, i32 %t66, i32 %t68) + call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12657, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok18: @@ -124831,7 +131838,7 @@ wbody24: br i1 %t102, label %ixok26, label %ixbad27 ixbad27: %t103 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12361, i32 %t99, i32 %t101) + call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12658, i32 %t99, i32 %t101) call void @exit(i32 1) unreachable ixok26: @@ -124857,7 +131864,7 @@ then28: br i1 %t119, label %ixok31, label %ixbad32 ixbad32: %t120 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str12362, i32 %t116, i32 %t118) + call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str12659, i32 %t116, i32 %t118) call void @exit(i32 1) unreachable ixok31: @@ -124866,13 +131873,13 @@ ixok31: %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_llty(ptr %t124) - %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str12363) + %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str12660) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then33, label %ifend35 then33: %t128 = load ptr, ptr %t75 - %t129 = call ptr @lp_str_concat(ptr @.str12364, ptr %t128) - %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12365) + %t129 = call ptr @lp_str_concat(ptr @.str12661, ptr %t128) + %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12662) %t131 = load ptr, ptr %t78 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 @@ -124885,7 +131892,7 @@ then33: br i1 %t139, label %ixok36, label %ixbad37 ixbad37: %t140 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str12366, i32 %t136, i32 %t138) + call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str12663, i32 %t136, i32 %t138) call void @exit(i32 1) unreachable ixok36: @@ -124894,7 +131901,7 @@ ixok36: %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call ptr @lp_str_concat(ptr %t130, ptr %t144) - %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12367) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12664) call void @fn_perr(ptr %t146) br label %ifend35 ifend35: @@ -124914,11 +131921,11 @@ then38: %t153 = load ptr, ptr %t33 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 - %t156 = call ptr @lp_str_concat(ptr @.str12368, ptr %t155) - %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str12369) + %t156 = call ptr @lp_str_concat(ptr @.str12665, ptr %t155) + %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str12666) %t158 = load ptr, ptr %t75 %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) - %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str12370) + %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str12667) call void @fn_net_warn(ptr %t160) br label %ifend40 ifend40: @@ -124960,12 +131967,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 @.str12371) + call void @fn_emit(ptr @.str12668) %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 @.str12372) + call void @fn_emit(ptr @.str12669) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -124993,7 +132000,7 @@ wbody1: br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12373, i32 %t22, i32 %t24) + call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12670, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: @@ -125018,7 +132025,7 @@ then5: br i1 %t42, label %ixok8, label %ixbad9 ixbad9: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12374, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12671, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok8: @@ -125038,19 +132045,19 @@ ixok8: then10: %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 - call void @fn_emit(ptr @.str12375) + call void @fn_emit(ptr @.str12672) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str12376) + call void @fn_emit(ptr @.str12673) %t59 = load ptr, ptr %t2 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str12377) + call void @fn_emit(ptr @.str12674) %t60 = load ptr, ptr %t48 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12378) + call void @fn_emit(ptr @.str12675) %t61 = load ptr, ptr %t48 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str12379) + call void @fn_emit(ptr @.str12676) store i32 0, ptr %t62 br label %wcond13 wcond13: @@ -125077,7 +132084,7 @@ wbody14: br i1 %t80, label %ixok16, label %ixbad17 ixbad17: %t81 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12380, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12677, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok16: @@ -125102,7 +132109,7 @@ then18: br i1 %t97, label %ixok21, label %ixbad22 ixbad22: %t98 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12381, i32 %t94, i32 %t96) + call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12678, i32 %t94, i32 %t96) call void @exit(i32 1) unreachable ixok21: @@ -125114,40 +132121,40 @@ ixok21: store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 - call void @fn_emit(ptr @.str12382) + call void @fn_emit(ptr @.str12679) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str12383) + call void @fn_emit(ptr @.str12680) %t108 = load ptr, ptr %t48 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str12384) + call void @fn_emit(ptr @.str12681) %t109 = load ptr, ptr %t57 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str12385) + call void @fn_emit(ptr @.str12682) %t110 = load i32, ptr %t62 %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12386) + call void @fn_emit(ptr @.str12683) %t112 = call ptr @fn_nreg() store ptr %t112, ptr %t113 - call void @fn_emit(ptr @.str12387) + call void @fn_emit(ptr @.str12684) %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str12388) + call void @fn_emit(ptr @.str12685) %t115 = load i32, ptr %t6 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12389) - call void @fn_emit(ptr @.str12390) + call void @fn_emit(ptr @.str12686) + call void @fn_emit(ptr @.str12687) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str12391) + call void @fn_emit(ptr @.str12688) %t118 = load ptr, ptr %t106 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str12392) + call void @fn_emit(ptr @.str12689) %t119 = load ptr, ptr %t104 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12393) + call void @fn_emit(ptr @.str12690) %t120 = load ptr, ptr %t51 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 @@ -125160,7 +132167,7 @@ ixok21: br i1 %t128, label %ixok23, label %ixbad24 ixbad24: %t129 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12394, i32 %t125, i32 %t127) + call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12691, i32 %t125, i32 %t127) call void @exit(i32 1) unreachable ixok23: @@ -125188,11 +132195,11 @@ ifend7: store i32 %t140, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str12395) + call void @fn_emit(ptr @.str12692) %t141 = load i32, ptr %t6 %t142 = call ptr @fn_itoa(i32 %t141) call void @fn_emit(ptr %t142) - call void @fn_emit(ptr @.str12396) + call void @fn_emit(ptr @.str12693) br label %ret ret: ret void @@ -125215,12 +132222,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 @.str12397) + call void @fn_emit(ptr @.str12694) %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 @.str12398) + call void @fn_emit(ptr @.str12695) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -125248,7 +132255,7 @@ wbody1: br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12399, i32 %t22, i32 %t24) + call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12696, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: @@ -125273,7 +132280,7 @@ then5: br i1 %t42, label %ixok8, label %ixbad9 ixbad9: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12400, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12697, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok8: @@ -125293,19 +132300,19 @@ ixok8: then10: %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 - call void @fn_emit(ptr @.str12401) + call void @fn_emit(ptr @.str12698) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str12402) + call void @fn_emit(ptr @.str12699) %t59 = load ptr, ptr %t2 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str12403) + call void @fn_emit(ptr @.str12700) %t60 = load ptr, ptr %t48 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12404) + call void @fn_emit(ptr @.str12701) %t61 = load ptr, ptr %t48 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str12405) + call void @fn_emit(ptr @.str12702) store i32 0, ptr %t62 br label %wcond13 wcond13: @@ -125332,7 +132339,7 @@ wbody14: br i1 %t80, label %ixok16, label %ixbad17 ixbad17: %t81 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12406, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12703, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok16: @@ -125357,7 +132364,7 @@ then18: br i1 %t97, label %ixok21, label %ixbad22 ixbad22: %t98 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12407, i32 %t94, i32 %t96) + call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12704, i32 %t94, i32 %t96) call void @exit(i32 1) unreachable ixok21: @@ -125369,40 +132376,40 @@ ixok21: store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 - call void @fn_emit(ptr @.str12408) + call void @fn_emit(ptr @.str12705) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str12409) + call void @fn_emit(ptr @.str12706) %t108 = load ptr, ptr %t48 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str12410) + call void @fn_emit(ptr @.str12707) %t109 = load ptr, ptr %t57 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str12411) + call void @fn_emit(ptr @.str12708) %t110 = load i32, ptr %t62 %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12412) + call void @fn_emit(ptr @.str12709) %t112 = call ptr @fn_nreg() store ptr %t112, ptr %t113 - call void @fn_emit(ptr @.str12413) + call void @fn_emit(ptr @.str12710) %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str12414) + call void @fn_emit(ptr @.str12711) %t115 = load i32, ptr %t6 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12415) - call void @fn_emit(ptr @.str12416) + call void @fn_emit(ptr @.str12712) + call void @fn_emit(ptr @.str12713) %t117 = load ptr, ptr %t106 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str12417) + call void @fn_emit(ptr @.str12714) %t118 = load ptr, ptr %t113 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str12418) + call void @fn_emit(ptr @.str12715) %t119 = load ptr, ptr %t104 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12419) + call void @fn_emit(ptr @.str12716) %t120 = load ptr, ptr %t51 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 @@ -125415,7 +132422,7 @@ ixok21: br i1 %t128, label %ixok23, label %ixbad24 ixbad24: %t129 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12420, i32 %t125, i32 %t127) + call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12717, i32 %t125, i32 %t127) call void @exit(i32 1) unreachable ixok23: @@ -125443,7 +132450,7 @@ ifend7: store i32 %t140, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str12421) + call void @fn_emit(ptr @.str12718) br label %ret ret: ret void @@ -125465,11 +132472,11 @@ entry: %t201 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str12422) - call void @fn_emit(ptr @.str12423) + call void @fn_emit(ptr @.str12719) + call void @fn_emit(ptr @.str12720) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str12424) + call void @fn_emit(ptr @.str12721) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 @@ -125493,7 +132500,7 @@ wbody1: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12425, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12722, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -125518,7 +132525,7 @@ sc5: br i1 %t35, label %ixok7, label %ixbad8 ixbad8: %t36 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str12426, i32 %t32, i32 %t34) + call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str12723, i32 %t32, i32 %t34) call void @exit(i32 1) unreachable ixok7: @@ -125544,7 +132551,7 @@ then9: br i1 %t50, label %ixok12, label %ixbad13 ixbad13: %t51 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12427, i32 %t47, i32 %t49) + call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12724, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok12: @@ -125556,42 +132563,42 @@ ixok12: %t57 = load i32, ptr %t3 %t58 = call ptr @fn_itoa(i32 %t57) store ptr %t58, ptr %t59 - call void @fn_emit(ptr @.str12428) + call void @fn_emit(ptr @.str12725) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12429) + call void @fn_emit(ptr @.str12726) %t61 = load ptr, ptr %t56 %t62 = call i32 @fn_find_arch_id(ptr %t61) %t63 = call ptr @fn_itoa(i32 %t62) call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str12430) - call void @fn_emit(ptr @.str12431) + call void @fn_emit(ptr @.str12727) + call void @fn_emit(ptr @.str12728) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str12432) + call void @fn_emit(ptr @.str12729) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str12433) + call void @fn_emit(ptr @.str12730) %t66 = load ptr, ptr %t59 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str12434) - call void @fn_emit(ptr @.str12435) + call void @fn_emit(ptr @.str12731) + call void @fn_emit(ptr @.str12732) %t67 = load ptr, ptr %t59 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str12436) + call void @fn_emit(ptr @.str12733) %t68 = load ptr, ptr %t59 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str12437) + call void @fn_emit(ptr @.str12734) %t69 = load ptr, ptr %t56 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str12438) + call void @fn_emit(ptr @.str12735) %t70 = load ptr, ptr %t59 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str12439) - call void @fn_emit(ptr @.str12440) + call void @fn_emit(ptr @.str12736) + call void @fn_emit(ptr @.str12737) %t71 = load ptr, ptr %t59 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str12441) + call void @fn_emit(ptr @.str12738) %t72 = load i32, ptr %t3 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t3 @@ -125602,12 +132609,12 @@ ifend11: store i32 %t75, ptr %t4 br label %wcond0 wend2: - call void @fn_emit(ptr @.str12442) - call void @fn_emit(ptr @.str12443) - call void @fn_emit(ptr @.str12444) + call void @fn_emit(ptr @.str12739) + call void @fn_emit(ptr @.str12740) + call void @fn_emit(ptr @.str12741) %t76 = load ptr, ptr %t1 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str12445) + call void @fn_emit(ptr @.str12742) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond14 @@ -125631,7 +132638,7 @@ wbody15: br i1 %t91, label %ixok17, label %ixbad18 ixbad18: %t92 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str12446, i32 %t88, i32 %t90) + call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str12743, i32 %t88, i32 %t90) call void @exit(i32 1) unreachable ixok17: @@ -125656,7 +132663,7 @@ sc19: br i1 %t107, label %ixok21, label %ixbad22 ixbad22: %t108 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str12447, i32 %t104, i32 %t106) + call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str12744, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok21: @@ -125682,7 +132689,7 @@ then23: br i1 %t122, label %ixok26, label %ixbad27 ixbad27: %t123 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str12448, i32 %t119, i32 %t121) + call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str12745, i32 %t119, i32 %t121) call void @exit(i32 1) unreachable ixok26: @@ -125694,36 +132701,36 @@ ixok26: %t129 = load i32, ptr %t3 %t130 = call ptr @fn_itoa(i32 %t129) store ptr %t130, ptr %t131 - call void @fn_emit(ptr @.str12449) + call void @fn_emit(ptr @.str12746) %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str12450) + call void @fn_emit(ptr @.str12747) %t133 = load ptr, ptr %t128 %t134 = call i32 @fn_find_arch_id(ptr %t133) %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str12451) - call void @fn_emit(ptr @.str12452) + call void @fn_emit(ptr @.str12748) + call void @fn_emit(ptr @.str12749) %t136 = load ptr, ptr %t131 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str12453) + call void @fn_emit(ptr @.str12750) %t137 = load ptr, ptr %t131 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str12454) + call void @fn_emit(ptr @.str12751) %t138 = load ptr, ptr %t131 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str12455) - call void @fn_emit(ptr @.str12456) + call void @fn_emit(ptr @.str12752) + call void @fn_emit(ptr @.str12753) %t139 = load ptr, ptr %t131 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str12457) + call void @fn_emit(ptr @.str12754) %t140 = load ptr, ptr %t128 call void @fn_emit(ptr %t140) - call void @fn_emit(ptr @.str12458) - call void @fn_emit(ptr @.str12459) + call void @fn_emit(ptr @.str12755) + call void @fn_emit(ptr @.str12756) %t141 = load ptr, ptr %t131 call void @fn_emit(ptr %t141) - call void @fn_emit(ptr @.str12460) + call void @fn_emit(ptr @.str12757) %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 @@ -125734,12 +132741,12 @@ ifend25: store i32 %t145, ptr %t4 br label %wcond14 wend16: - call void @fn_emit(ptr @.str12461) - call void @fn_emit(ptr @.str12462) - call void @fn_emit(ptr @.str12463) + call void @fn_emit(ptr @.str12758) + call void @fn_emit(ptr @.str12759) + call void @fn_emit(ptr @.str12760) %t146 = load ptr, ptr %t1 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str12464) + call void @fn_emit(ptr @.str12761) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond28 @@ -125763,7 +132770,7 @@ wbody29: br i1 %t161, label %ixok31, label %ixbad32 ixbad32: %t162 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str12465, i32 %t158, i32 %t160) + call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str12762, i32 %t158, i32 %t160) call void @exit(i32 1) unreachable ixok31: @@ -125788,7 +132795,7 @@ sc33: br i1 %t177, label %ixok35, label %ixbad36 ixbad36: %t178 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str12466, i32 %t174, i32 %t176) + call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str12763, i32 %t174, i32 %t176) call void @exit(i32 1) unreachable ixok35: @@ -125814,7 +132821,7 @@ then37: br i1 %t192, label %ixok40, label %ixbad41 ixbad41: %t193 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str12467, i32 %t189, i32 %t191) + call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str12764, i32 %t189, i32 %t191) call void @exit(i32 1) unreachable ixok40: @@ -125826,29 +132833,29 @@ ixok40: %t199 = load i32, ptr %t3 %t200 = call ptr @fn_itoa(i32 %t199) store ptr %t200, ptr %t201 - call void @fn_emit(ptr @.str12468) + call void @fn_emit(ptr @.str12765) %t202 = load ptr, ptr %t201 call void @fn_emit(ptr %t202) - call void @fn_emit(ptr @.str12469) + call void @fn_emit(ptr @.str12766) %t203 = load ptr, ptr %t198 %t204 = call i32 @fn_find_arch_id(ptr %t203) %t205 = call ptr @fn_itoa(i32 %t204) call void @fn_emit(ptr %t205) - call void @fn_emit(ptr @.str12470) - call void @fn_emit(ptr @.str12471) + call void @fn_emit(ptr @.str12767) + call void @fn_emit(ptr @.str12768) %t206 = load ptr, ptr %t201 call void @fn_emit(ptr %t206) - call void @fn_emit(ptr @.str12472) + call void @fn_emit(ptr @.str12769) %t207 = load ptr, ptr %t201 call void @fn_emit(ptr %t207) - call void @fn_emit(ptr @.str12473) + call void @fn_emit(ptr @.str12770) %t208 = load ptr, ptr %t201 call void @fn_emit(ptr %t208) - call void @fn_emit(ptr @.str12474) - call void @fn_emit(ptr @.str12475) + call void @fn_emit(ptr @.str12771) + call void @fn_emit(ptr @.str12772) %t209 = load ptr, ptr %t201 call void @fn_emit(ptr %t209) - call void @fn_emit(ptr @.str12476) + call void @fn_emit(ptr @.str12773) %t210 = load ptr, ptr @g_prog %t211 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t212 = load ptr, ptr %t211 @@ -125859,7 +132866,7 @@ ixok40: br i1 %t216, label %ixok42, label %ixbad43 ixbad43: %t217 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str12477, i32 %t213, i32 %t215) + call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str12774, i32 %t213, i32 %t215) call void @exit(i32 1) unreachable ixok42: @@ -125868,11 +132875,11 @@ ixok42: %t220 = call i32 @fn_net_model_bytes(ptr %t219) %t221 = call ptr @fn_itoa(i32 %t220) call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str12478) - call void @fn_emit(ptr @.str12479) + call void @fn_emit(ptr @.str12775) + call void @fn_emit(ptr @.str12776) %t222 = load ptr, ptr %t201 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str12480) + call void @fn_emit(ptr @.str12777) %t223 = load i32, ptr %t3 %t224 = add i32 %t223, 1 store i32 %t224, ptr %t3 @@ -125883,7 +132890,7 @@ ifend39: store i32 %t226, ptr %t4 br label %wcond28 wend30: - call void @fn_emit(ptr @.str12481) + call void @fn_emit(ptr @.str12778) br label %ret ret: ret void @@ -125894,22 +132901,22 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str12482) - call void @fn_emit(ptr @.str12483) + call void @fn_emit(ptr @.str12779) + call void @fn_emit(ptr @.str12780) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str12484) - call void @fn_emit(ptr @.str12485) - call void @fn_emit(ptr @.str12486) + call void @fn_emit(ptr @.str12781) + call void @fn_emit(ptr @.str12782) + call void @fn_emit(ptr @.str12783) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str12487) - call void @fn_emit(ptr @.str12488) - call void @fn_emit(ptr @.str12489) + call void @fn_emit(ptr @.str12784) + call void @fn_emit(ptr @.str12785) + call void @fn_emit(ptr @.str12786) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str12490) - call void @fn_emit(ptr @.str12491) + call void @fn_emit(ptr @.str12787) + call void @fn_emit(ptr @.str12788) br label %ret ret: ret void @@ -125917,32 +132924,32 @@ ret: define void @fn_emit_loopback() { entry: - call void @fn_emith(ptr @.str12492) - call void @fn_emith(ptr @.str12493) - call void @fn_emith(ptr @.str12494) - call void @fn_emith(ptr @.str12495) - call void @fn_emit(ptr @.str12496) - call void @fn_emit(ptr @.str12497) - call void @fn_emit(ptr @.str12498) - call void @fn_emit(ptr @.str12499) - call void @fn_emit(ptr @.str12500) - call void @fn_emit(ptr @.str12501) - call void @fn_emit(ptr @.str12502) - call void @fn_emit(ptr @.str12503) - call void @fn_emit(ptr @.str12504) - call void @fn_emit(ptr @.str12505) - call void @fn_emit(ptr @.str12506) - call void @fn_emit(ptr @.str12507) - call void @fn_emit(ptr @.str12508) - call void @fn_emit(ptr @.str12509) - call void @fn_emit(ptr @.str12510) - call void @fn_emit(ptr @.str12511) - call void @fn_emit(ptr @.str12512) - call void @fn_emit(ptr @.str12513) - call void @fn_emit(ptr @.str12514) - call void @fn_emit(ptr @.str12515) - call void @fn_emit(ptr @.str12516) - call void @fn_emit(ptr @.str12517) + call void @fn_emith(ptr @.str12789) + call void @fn_emith(ptr @.str12790) + call void @fn_emith(ptr @.str12791) + call void @fn_emith(ptr @.str12792) + call void @fn_emit(ptr @.str12793) + call void @fn_emit(ptr @.str12794) + call void @fn_emit(ptr @.str12795) + call void @fn_emit(ptr @.str12796) + call void @fn_emit(ptr @.str12797) + call void @fn_emit(ptr @.str12798) + call void @fn_emit(ptr @.str12799) + call void @fn_emit(ptr @.str12800) + call void @fn_emit(ptr @.str12801) + call void @fn_emit(ptr @.str12802) + call void @fn_emit(ptr @.str12803) + call void @fn_emit(ptr @.str12804) + call void @fn_emit(ptr @.str12805) + call void @fn_emit(ptr @.str12806) + call void @fn_emit(ptr @.str12807) + call void @fn_emit(ptr @.str12808) + call void @fn_emit(ptr @.str12809) + call void @fn_emit(ptr @.str12810) + call void @fn_emit(ptr @.str12811) + call void @fn_emit(ptr @.str12812) + call void @fn_emit(ptr @.str12813) + call void @fn_emit(ptr @.str12814) br label %ret ret: ret void @@ -125974,7 +132981,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12518, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12815, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -126030,7 +133037,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12519, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12816, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -126064,7 +133071,7 @@ define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str12520) + %t0 = call ptr @fn_find_extern(ptr @.str12817) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -126080,7 +133087,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str12521, ptr %retval + store ptr @.str12818, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -126091,7 +133098,7 @@ define ptr @fn_net_poll_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str12522) + %t0 = call ptr @fn_find_extern(ptr @.str12819) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -126107,7 +133114,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str12523, ptr %retval + store ptr @.str12820, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -126125,8 +133132,8 @@ entry: %t48 = alloca ptr %t73 = alloca ptr %t79 = alloca ptr - call void @fn_emith(ptr @.str12524) - %t0 = call ptr @fn_find_extern(ptr @.str12525) + call void @fn_emith(ptr @.str12821) + %t0 = call ptr @fn_find_extern(ptr @.str12822) %t1 = icmp eq ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 @@ -126137,13 +133144,13 @@ then0: ifend2: %t4 = call ptr @fn_net_poll_sym() store ptr %t4, ptr %t5 - call void @fn_emit(ptr @.str12526) - call void @fn_emit(ptr @.str12527) + call void @fn_emit(ptr @.str12823) + call void @fn_emit(ptr @.str12824) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str12528) - call void @fn_emit(ptr @.str12529) - call void @fn_emit(ptr @.str12530) + call void @fn_emit(ptr @.str12825) + call void @fn_emit(ptr @.str12826) + call void @fn_emit(ptr @.str12827) store i32 0, ptr %t7 br label %wcond3 wcond3: @@ -126166,7 +133173,7 @@ wbody4: br i1 %t21, label %ixok6, label %ixbad7 ixbad7: %t22 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str12531, i32 %t18, i32 %t20) + call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str12828, i32 %t18, i32 %t20) call void @exit(i32 1) unreachable ixok6: @@ -126184,31 +133191,31 @@ then8: %t32 = load i32, ptr %t7 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 - call void @fn_emit(ptr @.str12532) + call void @fn_emit(ptr @.str12829) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str12533) + call void @fn_emit(ptr @.str12830) %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_net_event_id(ptr %t38) %t40 = call ptr @fn_itoa(i32 %t39) call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str12534) - call void @fn_emit(ptr @.str12535) + call void @fn_emit(ptr @.str12831) + call void @fn_emit(ptr @.str12832) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str12536) + call void @fn_emit(ptr @.str12833) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str12537) + call void @fn_emit(ptr @.str12834) %t43 = load ptr, ptr %t34 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str12538) - call void @fn_emit(ptr @.str12539) + call void @fn_emit(ptr @.str12835) + call void @fn_emit(ptr @.str12836) %t44 = load ptr, ptr %t34 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str12540) + call void @fn_emit(ptr @.str12837) store i32 4, ptr %t45 store i32 0, ptr %t46 %t47 = call ptr @fn_buf_new() @@ -126238,7 +133245,7 @@ wbody12: br i1 %t66, label %ixok14, label %ixbad15 ixbad15: %t67 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12541, i32 %t63, i32 %t65) + call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12838, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok14: @@ -126249,29 +133256,29 @@ ixok14: %t72 = call ptr @fn_llty(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t34 - %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12542) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12839) %t76 = load i32, ptr %t46 %t77 = call ptr @fn_itoa(i32 %t76) %t78 = call ptr @lp_str_concat(ptr %t75, ptr %t77) store ptr %t78, ptr %t79 - call void @fn_emit(ptr @.str12543) + call void @fn_emit(ptr @.str12840) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str12544) + call void @fn_emit(ptr @.str12841) %t81 = load i32, ptr %t45 %t82 = call ptr @fn_itoa(i32 %t81) call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str12545) - call void @fn_emit(ptr @.str12546) + call void @fn_emit(ptr @.str12842) + call void @fn_emit(ptr @.str12843) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str12547) + call void @fn_emit(ptr @.str12844) %t84 = load ptr, ptr %t73 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str12548) + call void @fn_emit(ptr @.str12845) %t85 = load ptr, ptr %t79 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str12549) + call void @fn_emit(ptr @.str12846) %t86 = load i32, ptr %t46 %t87 = icmp sgt i32 %t86, 0 %t88 = zext i1 %t87 to i32 @@ -126279,14 +133286,14 @@ ixok14: br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t48 - call void @fn_buf_puts(ptr %t90, ptr @.str12550) + call void @fn_buf_puts(ptr %t90, ptr @.str12847) br label %ifend18 ifend18: %t91 = load ptr, ptr %t48 %t92 = load ptr, ptr %t73 call void @fn_buf_puts(ptr %t91, ptr %t92) %t93 = load ptr, ptr %t48 - call void @fn_buf_puts(ptr %t93, ptr @.str12551) + call void @fn_buf_puts(ptr %t93, ptr @.str12848) %t94 = load ptr, ptr %t48 %t95 = load ptr, ptr %t79 call void @fn_buf_puts(ptr %t94, ptr %t95) @@ -126302,7 +133309,7 @@ ifend18: br i1 %t104, label %ixok19, label %ixbad20 ixbad20: %t105 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str12552, i32 %t101, i32 %t103) + call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str12849, i32 %t101, i32 %t103) call void @exit(i32 1) unreachable ixok19: @@ -126319,21 +133326,21 @@ ixok19: store i32 %t114, ptr %t46 br label %wcond11 wend13: - call void @fn_emit(ptr @.str12553) + call void @fn_emit(ptr @.str12850) %t115 = load ptr, ptr %t25 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str12554) + call void @fn_emit(ptr @.str12851) %t118 = load ptr, ptr %t48 %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12555) - call void @fn_emit(ptr @.str12556) - call void @fn_emit(ptr @.str12557) + call void @fn_emit(ptr @.str12852) + call void @fn_emit(ptr @.str12853) + call void @fn_emit(ptr @.str12854) %t120 = load ptr, ptr %t34 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str12558) + call void @fn_emit(ptr @.str12855) br label %ifend10 ifend10: %t121 = load i32, ptr %t7 @@ -126341,8 +133348,8 @@ ifend10: store i32 %t122, ptr %t7 br label %wcond3 wend5: - call void @fn_emit(ptr @.str12559) - call void @fn_emit(ptr @.str12560) + call void @fn_emit(ptr @.str12856) + call void @fn_emit(ptr @.str12857) br label %ret ret: ret void @@ -126379,7 +133386,7 @@ wbody4: br i1 %t17, label %ixok6, label %ixbad7 ixbad7: %t18 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str12561, i32 %t14, i32 %t16) + call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str12858, i32 %t14, i32 %t16) call void @exit(i32 1) unreachable ixok6: @@ -126404,7 +133411,7 @@ sc8: br i1 %t33, label %ixok10, label %ixbad11 ixbad11: %t34 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12562, i32 %t30, i32 %t32) + call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12859, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok10: @@ -126430,7 +133437,7 @@ then12: br i1 %t48, label %ixok15, label %ixbad16 ixbad16: %t49 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12563, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12860, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok15: @@ -126447,7 +133454,7 @@ ixok15: br i1 %t58, label %ixok17, label %ixbad18 ixbad18: %t59 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str12564, i32 %t55, i32 %t57) + call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str12861, i32 %t55, i32 %t57) call void @exit(i32 1) unreachable ixok17: @@ -126475,7 +133482,7 @@ ifend21: %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then22, label %ifend24 then22: - call void @fn_emith(ptr @.str12565) + call void @fn_emith(ptr @.str12862) call void @fn_emit_net_pump() br label %ifend24 ifend24: @@ -126495,7 +133502,7 @@ entry: %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str12566) + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str12863) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: @@ -126503,7 +133510,7 @@ then0: br label %ret ifend2: %t8 = load ptr, ptr %t4 - %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str12567) + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str12864) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: @@ -126511,7 +133518,7 @@ then3: br label %ret ifend5: %t11 = load ptr, ptr %t4 - %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str12568) + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str12865) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -126519,7 +133526,7 @@ then6: br label %ret ifend8: %t14 = load ptr, ptr %t4 - %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str12569) + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str12866) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: @@ -126527,7 +133534,7 @@ then9: br label %ret ifend11: %t17 = load ptr, ptr %t4 - %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str12570) + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str12867) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then12, label %ifend14 then12: @@ -126535,7 +133542,7 @@ then12: br label %ret ifend14: %t20 = load ptr, ptr %t4 - %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str12571) + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str12868) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then15, label %ifend17 then15: @@ -126543,7 +133550,7 @@ then15: br label %ret ifend17: %t23 = load ptr, ptr %t4 - %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str12572) + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str12869) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then18, label %ifend20 then18: @@ -126595,7 +133602,7 @@ wbody1: br i1 %t24, label %ixok3, label %ixbad4 ixbad4: %t25 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12573, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12870, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok3: @@ -126622,7 +133629,7 @@ then5: br i1 %t43, label %ixok8, label %ixbad9 ixbad9: %t44 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12574, i32 %t40, i32 %t42) + call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12871, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok8: @@ -126668,7 +133675,7 @@ entry: br i1 %t7, label %ixok0, label %ixbad1 ixbad1: %t8 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str12575, i32 %t4, i32 %t6) + call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str12872, i32 %t4, i32 %t6) call void @exit(i32 1) unreachable ixok0: @@ -126716,7 +133723,7 @@ wbody3: br i1 %t42, label %ixok5, label %ixbad6 ixbad6: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12576, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12873, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok5: @@ -126787,7 +133794,7 @@ grow9: put10: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds ptr, ptr %t89, i32 %t77 - store ptr @.str12577, ptr %t90 + store ptr @.str12874, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load ptr, ptr %t72 @@ -126814,7 +133821,7 @@ grow11: put12: %t108 = load ptr, ptr %t95 %t109 = getelementptr inbounds ptr, ptr %t108, i32 %t96 - store ptr @.str12578, ptr %t109 + store ptr @.str12875, ptr %t109 %t110 = add i32 %t96, 1 store i32 %t110, ptr %t93 %t111 = load ptr, ptr %t72 @@ -126841,7 +133848,7 @@ grow13: put14: %t127 = load ptr, ptr %t114 %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 - store ptr @.str12579, ptr %t128 + store ptr @.str12876, ptr %t128 %t129 = add i32 %t115, 1 store i32 %t129, ptr %t112 %t130 = load ptr, ptr %t72 @@ -126868,7 +133875,7 @@ grow15: put16: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds ptr, ptr %t146, i32 %t134 - store ptr @.str12580, ptr %t147 + store ptr @.str12877, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 store i32 0, ptr %t149 @@ -126894,7 +133901,7 @@ wbody18: br i1 %t164, label %ixok20, label %ixbad21 ixbad21: %t165 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str12581, i32 %t161, i32 %t163) + call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str12878, i32 %t161, i32 %t163) call void @exit(i32 1) unreachable ixok20: @@ -126916,7 +133923,7 @@ then22: br i1 %t178, label %ixok25, label %ixbad26 ixbad26: %t179 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str12582, i32 %t175, i32 %t177) + call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str12879, i32 %t175, i32 %t177) call void @exit(i32 1) unreachable ixok25: @@ -126941,7 +133948,7 @@ wbody28: br i1 %t193, label %ixok30, label %ixbad31 ixbad31: %t194 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str12583, i32 %t190, i32 %t192) + call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str12880, i32 %t190, i32 %t192) call void @exit(i32 1) unreachable ixok30: @@ -126957,7 +133964,7 @@ ixok30: br i1 %t203, label %ixok32, label %ixbad33 ixbad33: %t204 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str12584, i32 %t200, i32 %t202) + call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str12881, i32 %t200, i32 %t202) call void @exit(i32 1) unreachable ixok32: @@ -126985,7 +133992,7 @@ then34: br i1 %t223, label %ixok37, label %ixbad38 ixbad38: %t224 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str12585, i32 %t220, i32 %t222) + call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str12882, i32 %t220, i32 %t222) call void @exit(i32 1) unreachable ixok37: @@ -127038,7 +134045,7 @@ else35: br i1 %t257, label %ixok41, label %ixbad42 ixbad42: %t258 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str12586, i32 %t254, i32 %t256) + call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str12883, i32 %t254, i32 %t256) call void @exit(i32 1) unreachable ixok41: @@ -127158,7 +134165,7 @@ wbody5: br i1 %t64, label %ixok7, label %ixbad8 ixbad8: %t65 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str12587, i32 %t61, i32 %t63) + call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str12884, i32 %t61, i32 %t63) call void @exit(i32 1) unreachable ixok7: @@ -127232,7 +134239,7 @@ wbody1: br i1 %t33, label %ixok3, label %ixbad4 ixbad4: %t34 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12588, i32 %t30, i32 %t32) + call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12885, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok3: @@ -127257,7 +134264,7 @@ sc5: br i1 %t49, label %ixok7, label %ixbad8 ixbad8: %t50 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str12589, i32 %t46, i32 %t48) + call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str12886, i32 %t46, i32 %t48) call void @exit(i32 1) unreachable ixok7: @@ -127316,7 +134323,7 @@ put13: br i1 %t89, label %ixok14, label %ixbad15 ixbad15: %t90 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str12590, i32 %t86, i32 %t88) + call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str12887, i32 %t86, i32 %t88) call void @exit(i32 1) unreachable ixok14: @@ -127365,7 +134372,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12591, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12888, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -127390,7 +134397,7 @@ sc5: br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12592, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12889, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: @@ -127475,7 +134482,7 @@ wbody4: br i1 %t28, label %ixok6, label %ixbad7 ixbad7: %t29 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str12593, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str12890, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok6: @@ -127500,7 +134507,7 @@ sc8: br i1 %t44, label %ixok10, label %ixbad11 ixbad11: %t45 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str12594, i32 %t41, i32 %t43) + call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str12891, i32 %t41, i32 %t43) call void @exit(i32 1) unreachable ixok10: @@ -127529,7 +134536,7 @@ then12: br i1 %t62, label %ixok15, label %ixbad16 ixbad16: %t63 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str12595, i32 %t59, i32 %t61) + call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str12892, i32 %t59, i32 %t61) call void @exit(i32 1) unreachable ixok15: @@ -127552,7 +134559,7 @@ then17: br i1 %t77, label %ixok20, label %ixbad21 ixbad21: %t78 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str12596, i32 %t74, i32 %t76) + call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str12893, i32 %t74, i32 %t76) call void @exit(i32 1) unreachable ixok20: @@ -127593,13 +134600,13 @@ wbody23: br i1 %t98, label %ixok25, label %ixbad26 ixbad26: %t99 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str12597, i32 %t95, i32 %t97) + call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str12894, i32 %t95, i32 %t97) call void @exit(i32 1) unreachable ixok25: %t100 = getelementptr inbounds ptr, ptr %t94, i32 %t95 %t101 = load ptr, ptr %t100 - %t102 = call ptr @fn_ui_prop(ptr %t101, ptr @.str12598) + %t102 = call ptr @fn_ui_prop(ptr %t101, ptr @.str12895) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = icmp ne ptr %t104, null @@ -127728,18 +134735,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 @.str12599) + call void @fn_emit(ptr @.str12896) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str12600) + call void @fn_emit(ptr @.str12897) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str12601) + call void @fn_emit(ptr @.str12898) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str12602) + call void @fn_emit(ptr @.str12899) br label %ret ret: ret void @@ -127751,7 +134758,7 @@ entry: %t0 = alloca ptr store ptr %arg_k, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str12603) + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str12900) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -127759,7 +134766,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str12604) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str12901) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -127767,7 +134774,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str12605) + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str12902) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -127775,7 +134782,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str12606) + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str12903) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -127783,7 +134790,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12607) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12904) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -127791,7 +134798,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12608) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12905) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -127799,7 +134806,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str12609) + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str12906) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -127807,7 +134814,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str12610) + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str12907) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -127815,7 +134822,7 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str12611) + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str12908) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: @@ -127823,7 +134830,7 @@ then24: br label %ret ifend26: %t28 = load ptr, ptr %t0 - %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12612) + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12909) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: @@ -127831,7 +134838,7 @@ then27: br label %ret ifend29: %t31 = load ptr, ptr %t0 - %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12613) + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12910) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: @@ -127839,7 +134846,7 @@ then30: br label %ret ifend32: %t34 = load ptr, ptr %t0 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12614) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12911) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: @@ -127847,7 +134854,7 @@ then33: br label %ret ifend35: %t37 = load ptr, ptr %t0 - %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12615) + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12912) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: @@ -127855,7 +134862,7 @@ then36: br label %ret ifend38: %t40 = load ptr, ptr %t0 - %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12616) + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12913) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: @@ -127906,13 +134913,13 @@ entry: store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 store ptr %t5, ptr @g_code - call void @fn_emit(ptr @.str12617) + call void @fn_emit(ptr @.str12914) %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 @.str12618) + call void @fn_emit(ptr @.str12915) store i32 0, ptr %t10 br label %wcond0 wcond0: @@ -127935,7 +134942,7 @@ wbody1: br i1 %t24, label %ixok3, label %ixbad4 ixbad4: %t25 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12619, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12916, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok3: @@ -127960,7 +134967,7 @@ ixok3: br i1 %t42, label %ixok5, label %ixbad6 ixbad6: %t43 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12620, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12917, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok5: @@ -127975,7 +134982,7 @@ ixok5: br i1 %t50, label %then7, label %ifend9 then7: %t51 = load i32, ptr %t10 - call void @fn_ll_ui_set(i32 %t51, i32 17, ptr @.str12621) + call void @fn_ll_ui_set(i32 %t51, i32 17, ptr @.str12918) br label %ifend9 ifend9: %t52 = load i32, ptr %t10 @@ -128003,7 +135010,7 @@ wbody11: br i1 %t69, label %ixok13, label %ixbad14 ixbad14: %t70 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12622, i32 %t66, i32 %t68) + call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12919, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok13: @@ -128019,14 +135026,14 @@ ixok13: %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t81 %t83 = load ptr, ptr %t77 - %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str12623) + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str12920) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t82 br i1 %t85, label %scend16, label %sc15 sc15: %t87 = load ptr, ptr %t77 - %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str12624) + %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str12921) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t82 @@ -128042,34 +135049,34 @@ then17: br label %wcond10 ifend19: %t95 = load ptr, ptr %t77 - %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str12625) + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str12922) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then20, label %else21 then20: %t98 = load ptr, ptr %t81 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 - call void @fn_emit(ptr @.str12626) + call void @fn_emit(ptr @.str12923) %t101 = load i32, ptr %t10 %t102 = call ptr @fn_itoa(i32 %t101) call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str12627) + call void @fn_emit(ptr @.str12924) %t103 = load ptr, ptr %t100 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) - call void @fn_emit(ptr @.str12628) + call void @fn_emit(ptr @.str12925) br label %ifend22 else21: %t107 = load ptr, ptr %t77 - %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str12629) + %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str12926) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t106 br i1 %t109, label %scend24, label %sc23 sc23: %t111 = load ptr, ptr %t77 - %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str12630) + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str12927) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t106 @@ -128085,12 +135092,12 @@ then25: %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 - %t123 = call ptr @lp_str_concat(ptr @.str12631, ptr %t122) - %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str12632) + %t123 = call ptr @lp_str_concat(ptr @.str12928, ptr %t122) + %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str12929) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t77 - %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str12633) + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str12930) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %else29 then28: @@ -128107,7 +135114,7 @@ ifend30: br label %ifend27 else26: %t134 = load ptr, ptr %t77 - %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str12634) + %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str12931) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then31, label %else32 then31: @@ -128123,7 +135130,7 @@ then34: %t144 = load ptr, ptr %t81 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 1 %t146 = load ptr, ptr %t145 - %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str12635) + %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str12932) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then37, label %ifend39 then37: @@ -128133,7 +135140,7 @@ ifend39: %t149 = load ptr, ptr %t81 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 - %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str12636) + %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str12933) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then40, label %ifend42 then40: @@ -128197,7 +135204,7 @@ scend47: br i1 %t191, label %then48, label %ifend50 then48: %t192 = load i32, ptr %t10 - call void @fn_ll_ui_set(i32 %t192, i32 6, ptr @.str12637) + call void @fn_ll_ui_set(i32 %t192, i32 6, ptr @.str12934) br label %ifend50 ifend50: br label %ifend45 @@ -128220,14 +135227,14 @@ wend12: wend2: %t197 = load ptr, ptr %t4 store ptr %t197, ptr @g_code - call void @fn_emit(ptr @.str12638) + call void @fn_emit(ptr @.str12935) %t198 = load ptr, ptr @g_falloc %t199 = call ptr @fn_buf_str(ptr %t198) call void @fn_emit(ptr %t199) %t200 = load ptr, ptr %t1 %t201 = call ptr @fn_buf_str(ptr %t200) call void @fn_emit(ptr %t201) - call void @fn_emit(ptr @.str12639) + call void @fn_emit(ptr @.str12936) br label %ret ret: ret void @@ -128258,7 +135265,7 @@ wbody1: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12640) + call void @fn_emit(ptr @.str12937) br label %ifend5 ifend5: %t15 = load ptr, ptr %t0 @@ -128273,7 +135280,7 @@ ifend5: br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str12641, i32 %t20, i32 %t22) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str12938, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: @@ -128283,7 +135290,7 @@ ixok6: %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_llty(ptr %t28) call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str12642) + call void @fn_emit(ptr @.str12939) %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 @@ -128296,7 +135303,7 @@ ixok6: br i1 %t38, label %ixok8, label %ixbad9 ixbad9: %t39 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str12643, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str12940, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok8: @@ -128353,19 +135360,19 @@ entry: %t14 = call ptr @fn_llty(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12644) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12941) %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then0, label %ifend2 then0: %t21 = load ptr, ptr @g_falloc - call void @fn_buf_puts(ptr %t21, ptr @.str12645) + call void @fn_buf_puts(ptr %t21, ptr @.str12942) %t22 = load ptr, ptr @g_falloc %t23 = load ptr, ptr %t15 call void @fn_buf_puts(ptr %t22, ptr %t23) %t24 = load ptr, ptr @g_falloc - call void @fn_buf_puts(ptr %t24, ptr @.str12646) + call void @fn_buf_puts(ptr %t24, ptr @.str12943) br label %ifend2 ifend2: store i32 0, ptr %t25 @@ -128394,7 +135401,7 @@ wbody4: br i1 %t43, label %ixok6, label %ixbad7 ixbad7: %t44 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12647, i32 %t40, i32 %t42) + call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12944, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok6: @@ -128407,21 +135414,21 @@ ixok6: %t51 = call ptr @fn_llty(ptr %t50) %t52 = call ptr @fn_emit_alloca(ptr %t51) store ptr %t52, ptr %t53 - call void @fn_emit(ptr @.str12648) + call void @fn_emit(ptr @.str12945) %t54 = load ptr, ptr %t47 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_llty(ptr %t56) call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str12649) + call void @fn_emit(ptr @.str12946) %t58 = load ptr, ptr %t47 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12650) + call void @fn_emit(ptr @.str12947) %t61 = load ptr, ptr %t53 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str12651) + call void @fn_emit(ptr @.str12948) %t62 = load ptr, ptr %t47 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 @@ -128440,7 +135447,7 @@ wend5: %t73 = load ptr, ptr %t72 call void @fn_emit_block(ptr %t73) %t75 = load ptr, ptr %t15 - %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str12652) + %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str12949) %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 @@ -128466,8 +135473,8 @@ then10: %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 %t93 = load ptr, ptr %t92 - %t94 = call ptr @lp_str_concat(ptr @.str12653, ptr %t93) - %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str12654) + %t94 = call ptr @lp_str_concat(ptr @.str12950, ptr %t93) + %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str12951) %t96 = load ptr, ptr @g_ret_ty %t97 = call ptr @lp_str_concat(ptr %t95, ptr %t96) call void @fn_perr(ptr %t97) @@ -128479,54 +135486,54 @@ ifend12: %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then13, label %ifend15 then13: - call void @fn_emit(ptr @.str12655) + call void @fn_emit(ptr @.str12952) br label %ifend15 ifend15: - call void @fn_emit(ptr @.str12656) + call void @fn_emit(ptr @.str12953) %t102 = load ptr, ptr %t15 - %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str12657) + %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str12954) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then16, label %else17 then16: - call void @fn_emit(ptr @.str12658) + call void @fn_emit(ptr @.str12955) br label %ifend18 else17: %t105 = load ptr, ptr %t15 - %t106 = call ptr @lp_str_concat(ptr @.str12659, ptr %t105) - %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12660) + %t106 = call ptr @lp_str_concat(ptr @.str12956, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12957) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 - call void @fn_emit(ptr @.str12661) + call void @fn_emit(ptr @.str12958) %t110 = load ptr, ptr %t15 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str12662) + call void @fn_emit(ptr @.str12959) %t111 = load ptr, ptr %t109 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12663) + call void @fn_emit(ptr @.str12960) br label %ifend18 ifend18: %t112 = load ptr, ptr %t11 store ptr %t112, ptr @g_code - call void @fn_emit(ptr @.str12664) + call void @fn_emit(ptr @.str12961) %t113 = load ptr, ptr %t15 call void @fn_emit(ptr %t113) - call void @fn_emit(ptr @.str12665) + call void @fn_emit(ptr @.str12962) %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12666) + call void @fn_emit(ptr @.str12963) %t117 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t117) - call void @fn_emit(ptr @.str12667) + call void @fn_emit(ptr @.str12964) %t118 = load ptr, ptr @g_falloc %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) %t120 = load ptr, ptr %t8 %t121 = call ptr @fn_buf_str(ptr %t120) call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str12668) - store ptr @.str12669, ptr @g_g_det_ctx + call void @fn_emit(ptr @.str12965) + store ptr @.str12966, ptr @g_g_det_ctx br label %ret ret: ret void @@ -128544,7 +135551,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str12670, ptr @g_ret_ty + store ptr @.str12967, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() @@ -128554,20 +135561,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 @.str12671) - call void @fn_emit(ptr @.str12672) - call void @fn_emit(ptr @.str12673) - call void @fn_emit(ptr @.str12674) - %t8 = call ptr @fn_find_fn(ptr @.str12675) + call void @fn_buf_puts(ptr %t7, ptr @.str12968) + call void @fn_emit(ptr @.str12969) + call void @fn_emit(ptr @.str12970) + call void @fn_emit(ptr @.str12971) + %t8 = call ptr @fn_find_fn(ptr @.str12972) %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 @.str12676) + call void @fn_emit(ptr @.str12973) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12677) + call void @fn_emit(ptr @.str12974) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 @@ -128578,26 +135585,26 @@ ifend2: %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12678) + call void @fn_emit(ptr @.str12975) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str12679) - %t19 = call ptr @fn_emit_bind(ptr @.str12680) + call void @fn_emit(ptr @.str12976) + %t19 = call ptr @fn_emit_bind(ptr @.str12977) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str12681) + call void @fn_emit(ptr @.str12978) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str12682) + call void @fn_emit(ptr @.str12979) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code - call void @fn_emit(ptr @.str12683) + call void @fn_emit(ptr @.str12980) %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 @.str12684) + call void @fn_emit(ptr @.str12981) br label %ret ret: ret void @@ -128616,7 +135623,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str12685, ptr @g_ret_ty + store ptr @.str12982, ptr @g_ret_ty %t2 = call ptr @fn_buf_new() store ptr %t2, ptr %t3 %t4 = call ptr @fn_buf_new() @@ -128635,24 +135642,24 @@ entry: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str12686) + call void @fn_emit(ptr @.str12983) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12687) + call void @fn_emit(ptr @.str12984) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code - call void @fn_emit(ptr @.str12688) + call void @fn_emit(ptr @.str12985) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str12689) + call void @fn_emit(ptr @.str12986) %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 @.str12690) + call void @fn_emit(ptr @.str12987) br label %ret ret: ret void @@ -128696,9 +135703,9 @@ entry: %t275 = alloca ptr %t286 = alloca ptr %t291 = alloca ptr - call void @fn_emith(ptr @.str12691) - call void @fn_emith(ptr @.str12692) - call void @fn_emith(ptr @.str12693) + call void @fn_emith(ptr @.str12988) + call void @fn_emith(ptr @.str12989) + call void @fn_emith(ptr @.str12990) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -128721,7 +135728,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12694, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12991, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -128738,61 +135745,61 @@ wend2: %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: - call void @fn_emith(ptr @.str12695) + call void @fn_emith(ptr @.str12992) br label %ifend7 ifend7: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit(ptr @.str12696) - call void @fn_emit(ptr @.str12697) - call void @fn_emit(ptr @.str12698) - call void @fn_emit(ptr @.str12699) - call void @fn_emit(ptr @.str12700) - call void @fn_emit(ptr @.str12701) - %t23 = call ptr @fn_lbl(ptr @.str12702) + call void @fn_emit(ptr @.str12993) + call void @fn_emit(ptr @.str12994) + call void @fn_emit(ptr @.str12995) + call void @fn_emit(ptr @.str12996) + call void @fn_emit(ptr @.str12997) + call void @fn_emit(ptr @.str12998) + %t23 = call ptr @fn_lbl(ptr @.str12999) store ptr %t23, ptr %t24 - %t25 = call ptr @fn_lbl(ptr @.str12703) + %t25 = call ptr @fn_lbl(ptr @.str13000) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_emit_bind(ptr @.str12704) + %t27 = call ptr @fn_emit_bind(ptr @.str13001) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 - %t30 = call ptr @lp_str_concat(ptr @.str12705, ptr %t29) - %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str12706) + %t30 = call ptr @lp_str_concat(ptr @.str13002, ptr %t29) + %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str13003) %t32 = load ptr, ptr %t24 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) - %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str12707) + %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str13004) %t35 = load ptr, ptr %t26 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) - %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str12708) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str13005) call void @fn_emit(ptr %t37) %t38 = load ptr, ptr %t24 - %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str12709) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str13006) call void @fn_emit(ptr %t39) - %t40 = call ptr @fn_emit_bind(ptr @.str12710) + %t40 = call ptr @fn_emit_bind(ptr @.str13007) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 - %t43 = call ptr @lp_str_concat(ptr @.str12711, ptr %t42) + %t43 = call ptr @lp_str_concat(ptr @.str13008, ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 - %t47 = call ptr @lp_str_concat(ptr @.str12712, ptr %t46) - %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str12713) + %t47 = call ptr @lp_str_concat(ptr @.str13009, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str13010) call void @fn_emit(ptr %t48) %t49 = load ptr, ptr %t26 - %t50 = call ptr @lp_str_concat(ptr @.str12714, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str12715) + %t50 = call ptr @lp_str_concat(ptr @.str13011, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str13012) call void @fn_emit(ptr %t51) %t52 = load ptr, ptr %t26 - %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str12716) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str13013) call void @fn_emit(ptr %t53) %t54 = call i32 @fn_has_ecs() %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str12717) + call void @fn_emit(ptr @.str13014) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str12718) + call void @fn_emit(ptr @.str13015) store i32 0, ptr %t0 br label %wcond11 wcond11: @@ -128815,7 +135822,7 @@ wbody12: br i1 %t69, label %ixok14, label %ixbad15 ixbad15: %t70 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12720, i32 %t66, i32 %t68) + call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str13017, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok14: @@ -128823,7 +135830,7 @@ ixok14: %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 - %t75 = call ptr @lp_str_concat(ptr @.str12719, ptr %t74) + %t75 = call ptr @lp_str_concat(ptr @.str13016, ptr %t74) %t76 = call ptr @fn_emit_str_const(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr @g_g_tests @@ -128836,7 +135843,7 @@ ixok14: br i1 %t84, label %ixok16, label %ixbad17 ixbad17: %t85 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12722, i32 %t81, i32 %t83) + call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str13019, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok16: @@ -128844,7 +135851,7 @@ ixok16: %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 - %t90 = call ptr @lp_str_concat(ptr @.str12721, ptr %t89) + %t90 = call ptr @lp_str_concat(ptr @.str13018, ptr %t89) %t91 = call ptr @fn_emit_str_const(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr @g_g_tests @@ -128857,7 +135864,7 @@ ixok16: br i1 %t99, label %ixok18, label %ixbad19 ixbad19: %t100 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str12723, i32 %t96, i32 %t98) + call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str13020, i32 %t96, i32 %t98) call void @exit(i32 1) unreachable ixok18: @@ -128867,221 +135874,221 @@ ixok18: %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_emit_str_const(ptr %t104) store ptr %t105, ptr %t106 - %t107 = call ptr @fn_lbl(ptr @.str12724) + %t107 = call ptr @fn_lbl(ptr @.str13021) store ptr %t107, ptr %t108 - %t109 = call ptr @fn_lbl(ptr @.str12725) + %t109 = call ptr @fn_lbl(ptr @.str13022) store ptr %t109, ptr %t110 - %t111 = call ptr @fn_lbl(ptr @.str12726) + %t111 = call ptr @fn_lbl(ptr @.str13023) store ptr %t111, ptr %t112 - %t113 = call ptr @fn_emit_bind(ptr @.str12727) + %t113 = call ptr @fn_emit_bind(ptr @.str13024) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 - %t116 = call ptr @lp_str_concat(ptr @.str12728, ptr %t115) - %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str12729) + %t116 = call ptr @lp_str_concat(ptr @.str13025, ptr %t115) + %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str13026) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 - %t121 = call ptr @lp_str_concat(ptr @.str12730, ptr %t120) - %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str12731) + %t121 = call ptr @lp_str_concat(ptr @.str13027, ptr %t120) + %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str13028) %t123 = load ptr, ptr %t110 %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) - %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str12732) + %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str13029) %t126 = load ptr, ptr %t108 %t127 = call ptr @lp_str_concat(ptr %t125, ptr %t126) - %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str12733) + %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str13030) call void @fn_emit(ptr %t128) %t129 = load ptr, ptr %t108 - %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12734) + %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str13031) call void @fn_emit(ptr %t130) %t131 = load ptr, ptr %t114 - %t132 = call ptr @lp_str_concat(ptr @.str12735, ptr %t131) - %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str12736) + %t132 = call ptr @lp_str_concat(ptr @.str13032, ptr %t131) + %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str13033) %t134 = load ptr, ptr %t106 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) - %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str12737) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str13034) %t137 = call ptr @fn_emit_bind(ptr %t136) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t138 - %t140 = call ptr @lp_str_concat(ptr @.str12738, ptr %t139) - %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str12739) + %t140 = call ptr @lp_str_concat(ptr @.str13035, ptr %t139) + %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str13036) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 - %t145 = call ptr @lp_str_concat(ptr @.str12740, ptr %t144) - %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12741) + %t145 = call ptr @lp_str_concat(ptr @.str13037, ptr %t144) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str13038) %t147 = load ptr, ptr %t110 %t148 = call ptr @lp_str_concat(ptr %t146, ptr %t147) - %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str12742) + %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str13039) %t150 = load ptr, ptr %t112 %t151 = call ptr @lp_str_concat(ptr %t149, ptr %t150) - %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str12743) + %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str13040) call void @fn_emit(ptr %t152) %t153 = load ptr, ptr %t110 - %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str12744) + %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str13041) call void @fn_emit(ptr %t154) - %t155 = call ptr @fn_emit_bind(ptr @.str12745) + %t155 = call ptr @fn_emit_bind(ptr @.str13042) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t156 - %t158 = call ptr @lp_str_concat(ptr @.str12746, ptr %t157) - %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str12747) + %t158 = call ptr @lp_str_concat(ptr @.str13043, ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str13044) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 - %t163 = call ptr @lp_str_concat(ptr @.str12748, ptr %t162) - %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str12749) + %t163 = call ptr @lp_str_concat(ptr @.str13045, ptr %t162) + %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str13046) call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str12750) + call void @fn_emit(ptr @.str13047) %t165 = load i32, ptr %t0 %t166 = call ptr @fn_itoa(i32 %t165) - %t167 = call ptr @lp_str_concat(ptr @.str12751, ptr %t166) - %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str12752) + %t167 = call ptr @lp_str_concat(ptr @.str13048, ptr %t166) + %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str13049) call void @fn_emit(ptr %t168) - %t169 = call ptr @fn_emit_bind(ptr @.str12753) + %t169 = call ptr @fn_emit_bind(ptr @.str13050) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 - %t172 = call ptr @lp_str_concat(ptr @.str12754, ptr %t171) - %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str12755) + %t172 = call ptr @lp_str_concat(ptr @.str13051, ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str13052) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 - %t176 = call ptr @fn_lbl(ptr @.str12756) + %t176 = call ptr @fn_lbl(ptr @.str13053) store ptr %t176, ptr %t177 - %t178 = call ptr @fn_lbl(ptr @.str12757) + %t178 = call ptr @fn_lbl(ptr @.str13054) store ptr %t178, ptr %t179 - %t180 = call ptr @fn_lbl(ptr @.str12758) + %t180 = call ptr @fn_lbl(ptr @.str13055) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t175 - %t183 = call ptr @lp_str_concat(ptr @.str12759, ptr %t182) - %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str12760) + %t183 = call ptr @lp_str_concat(ptr @.str13056, ptr %t182) + %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str13057) %t185 = load ptr, ptr %t179 %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) - %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str12761) + %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str13058) %t188 = load ptr, ptr %t177 %t189 = call ptr @lp_str_concat(ptr %t187, ptr %t188) - %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str12762) + %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str13059) call void @fn_emit(ptr %t190) %t191 = load ptr, ptr %t177 - %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str12763) + %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str13060) call void @fn_emit(ptr %t192) %t193 = load ptr, ptr %t77 - %t194 = call ptr @lp_str_concat(ptr @.str12764, ptr %t193) - %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str12765) + %t194 = call ptr @lp_str_concat(ptr @.str13061, ptr %t193) + %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str13062) call void @fn_emit(ptr %t195) %t196 = load ptr, ptr %t181 - %t197 = call ptr @lp_str_concat(ptr @.str12766, ptr %t196) - %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str12767) + %t197 = call ptr @lp_str_concat(ptr @.str13063, ptr %t196) + %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str13064) call void @fn_emit(ptr %t198) %t199 = load ptr, ptr %t179 - %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str12768) + %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str13065) call void @fn_emit(ptr %t200) - %t201 = call ptr @fn_emit_bind(ptr @.str12769) + %t201 = call ptr @fn_emit_bind(ptr @.str13066) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t202 - %t204 = call ptr @lp_str_concat(ptr @.str12770, ptr %t203) - %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str12771) + %t204 = call ptr @lp_str_concat(ptr @.str13067, ptr %t203) + %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str13068) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t207 - %t209 = call ptr @lp_str_concat(ptr @.str12772, ptr %t208) - %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str12773) + %t209 = call ptr @lp_str_concat(ptr @.str13069, ptr %t208) + %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str13070) call void @fn_emit(ptr %t210) %t211 = load ptr, ptr %t92 - %t212 = call ptr @lp_str_concat(ptr @.str12774, ptr %t211) - %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12775) + %t212 = call ptr @lp_str_concat(ptr @.str13071, ptr %t211) + %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str13072) call void @fn_emit(ptr %t213) %t214 = load ptr, ptr %t181 - %t215 = call ptr @lp_str_concat(ptr @.str12776, ptr %t214) - %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str12777) + %t215 = call ptr @lp_str_concat(ptr @.str13073, ptr %t214) + %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str13074) call void @fn_emit(ptr %t216) %t217 = load ptr, ptr %t181 - %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str12778) + %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str13075) call void @fn_emit(ptr %t218) %t219 = load ptr, ptr %t112 - %t220 = call ptr @lp_str_concat(ptr @.str12779, ptr %t219) - %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str12780) + %t220 = call ptr @lp_str_concat(ptr @.str13076, ptr %t219) + %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str13077) call void @fn_emit(ptr %t221) %t222 = load ptr, ptr %t112 - %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str12781) + %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str13078) call void @fn_emit(ptr %t223) %t224 = load i32, ptr %t0 %t225 = add i32 %t224, 1 store i32 %t225, ptr %t0 br label %wcond11 wend13: - %t226 = call ptr @fn_lbl(ptr @.str12782) + %t226 = call ptr @fn_lbl(ptr @.str13079) store ptr %t226, ptr %t227 - %t228 = call ptr @fn_lbl(ptr @.str12783) + %t228 = call ptr @fn_lbl(ptr @.str13080) store ptr %t228, ptr %t229 - %t230 = call ptr @fn_emit_bind(ptr @.str12784) + %t230 = call ptr @fn_emit_bind(ptr @.str13081) store ptr %t230, ptr %t231 - %t232 = call ptr @fn_emit_bind(ptr @.str12785) + %t232 = call ptr @fn_emit_bind(ptr @.str13082) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t233 - %t235 = call ptr @lp_str_concat(ptr @.str12786, ptr %t234) - %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str12787) + %t235 = call ptr @lp_str_concat(ptr @.str13083, ptr %t234) + %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str13084) %t237 = call ptr @fn_emit_bind(ptr %t236) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t231 - %t240 = call ptr @lp_str_concat(ptr @.str12788, ptr %t239) - %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str12789) + %t240 = call ptr @lp_str_concat(ptr @.str13085, ptr %t239) + %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str13086) %t242 = call ptr @fn_emit_bind(ptr %t241) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t238 - %t245 = call ptr @lp_str_concat(ptr @.str12790, ptr %t244) - %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str12791) + %t245 = call ptr @lp_str_concat(ptr @.str13087, ptr %t244) + %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str13088) %t247 = load ptr, ptr %t243 %t248 = call ptr @lp_str_concat(ptr %t246, ptr %t247) %t249 = call ptr @fn_emit_bind(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t250 - %t252 = call ptr @lp_str_concat(ptr @.str12792, ptr %t251) - %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str12793) + %t252 = call ptr @lp_str_concat(ptr @.str13089, ptr %t251) + %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str13090) %t254 = load ptr, ptr %t227 %t255 = call ptr @lp_str_concat(ptr %t253, ptr %t254) - %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str12794) + %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str13091) %t257 = load ptr, ptr %t229 %t258 = call ptr @lp_str_concat(ptr %t256, ptr %t257) - %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str12795) + %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str13092) call void @fn_emit(ptr %t259) %t260 = load ptr, ptr %t227 - %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str12796) + %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str13093) call void @fn_emit(ptr %t261) %t262 = load ptr, ptr %t233 - %t263 = call ptr @lp_str_concat(ptr @.str12797, ptr %t262) - %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str12798) + %t263 = call ptr @lp_str_concat(ptr @.str13094, ptr %t262) + %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str13095) call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str12799) + call void @fn_emit(ptr @.str13096) %t265 = load ptr, ptr %t229 - %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str12800) + %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str13097) call void @fn_emit(ptr %t266) - %t267 = call ptr @fn_emit_bind(ptr @.str12801) + %t267 = call ptr @fn_emit_bind(ptr @.str13098) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t231 - %t270 = call ptr @lp_str_concat(ptr @.str12802, ptr %t269) - %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str12803) + %t270 = call ptr @lp_str_concat(ptr @.str13099, ptr %t269) + %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str13100) %t272 = load ptr, ptr %t268 %t273 = call ptr @lp_str_concat(ptr %t271, ptr %t272) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t275 - %t277 = call ptr @lp_str_concat(ptr @.str12804, ptr %t276) - %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str12805) + %t277 = call ptr @lp_str_concat(ptr @.str13101, ptr %t276) + %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str13102) %t279 = load ptr, ptr %t268 %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) - %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str12806) + %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str13103) call void @fn_emit(ptr %t281) %t282 = load ptr, ptr %t268 - %t283 = call ptr @lp_str_concat(ptr @.str12807, ptr %t282) - %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str12808) + %t283 = call ptr @lp_str_concat(ptr @.str13104, ptr %t282) + %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str13105) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 %t287 = load ptr, ptr %t286 - %t288 = call ptr @lp_str_concat(ptr @.str12809, ptr %t287) - %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str12810) + %t288 = call ptr @lp_str_concat(ptr @.str13106, ptr %t287) + %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str13107) %t290 = call ptr @fn_emit_bind(ptr %t289) store ptr %t290, ptr %t291 %t292 = load ptr, ptr %t291 - %t293 = call ptr @lp_str_concat(ptr @.str12811, ptr %t292) - %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str12812) + %t293 = call ptr @lp_str_concat(ptr @.str13108, ptr %t292) + %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str13109) call void @fn_emit(ptr %t294) br label %ret ret: @@ -129117,7 +136124,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12813, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str13110, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -129156,7 +136163,7 @@ wbody9: br i1 %t41, label %ixok11, label %ixbad12 ixbad12: %t42 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str12814, i32 %t38, i32 %t40) + call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str13111, i32 %t38, i32 %t40) call void @exit(i32 1) unreachable ixok11: @@ -129200,19 +136207,19 @@ then15: %t71 = load ptr, ptr %t18 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 - %t74 = call ptr @lp_str_concat(ptr @.str12815, ptr %t73) - %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12816) + %t74 = call ptr @lp_str_concat(ptr @.str13112, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str13113) %t76 = load ptr, ptr %t18 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 9 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr %t75, ptr %t78) - %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str12817) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str13114) %t81 = load ptr, ptr %t18 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 8 %t83 = load i32, ptr %t82 %t84 = call ptr @fn_itoa(i32 %t83) %t85 = call ptr @lp_str_concat(ptr %t80, ptr %t84) - %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str12818) + %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str13115) call void @fn_perr(ptr %t86) br label %ifend17 ifend17: @@ -129373,7 +136380,7 @@ wbody1: br i1 %t26, label %ixok5, label %ixbad6 ixbad6: %t27 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12819, i32 %t23, i32 %t25) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str13116, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok5: @@ -129430,7 +136437,7 @@ wbody11: br i1 %t66, label %ixok15, label %ixbad16 ixbad16: %t67 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12820, i32 %t63, i32 %t65) + call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str13117, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok15: @@ -129476,19 +136483,19 @@ then19: %t98 = load ptr, ptr %t30 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 - %t101 = call ptr @lp_str_concat(ptr @.str12821, ptr %t100) - %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str12822) + %t101 = call ptr @lp_str_concat(ptr @.str13118, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str13119) %t103 = load ptr, ptr %t30 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 9 %t105 = load ptr, ptr %t104 %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) - %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12823) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str13120) %t108 = load ptr, ptr %t30 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 8 %t110 = load i32, ptr %t109 %t111 = call ptr @fn_itoa(i32 %t110) %t112 = call ptr @lp_str_concat(ptr %t107, ptr %t111) - %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str12824) + %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str13121) call void @fn_perr(ptr %t113) br label %ifend21 ifend21: @@ -129673,7 +136680,7 @@ wbody4: br i1 %t84, label %ixok6, label %ixbad7 ixbad7: %t85 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12825, i32 %t81, i32 %t83) + call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str13122, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok6: @@ -129701,7 +136708,7 @@ then8: br i1 %t103, label %ixok11, label %ixbad12 ixbad12: %t104 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12826, i32 %t100, i32 %t102) + call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str13123, i32 %t100, i32 %t102) call void @exit(i32 1) unreachable ixok11: @@ -129814,7 +136821,7 @@ wbody40: br i1 %t153, label %ixok42, label %ixbad43 ixbad43: %t154 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str12827, i32 %t150, i32 %t152) + call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str13124, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok42: @@ -129837,7 +136844,7 @@ then44: br i1 %t168, label %ixok47, label %ixbad48 ixbad48: %t169 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str12828, i32 %t165, i32 %t167) + call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str13125, i32 %t165, i32 %t167) call void @exit(i32 1) unreachable ixok47: @@ -129882,7 +136889,7 @@ wbody53: br i1 %t189, label %ixok55, label %ixbad56 ixbad56: %t190 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str12829, i32 %t186, i32 %t188) + call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str13126, i32 %t186, i32 %t188) call void @exit(i32 1) unreachable ixok55: @@ -129905,7 +136912,7 @@ then57: br i1 %t204, label %ixok60, label %ixbad61 ixbad61: %t205 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12830, i32 %t201, i32 %t203) + call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str13127, i32 %t201, i32 %t203) call void @exit(i32 1) unreachable ixok60: @@ -130055,7 +137062,7 @@ scend111: %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then112, label %ifend114 then112: - call void @fn_emith(ptr @.str12831) + call void @fn_emith(ptr @.str13128) br label %ifend114 ifend114: %t253 = load i32, ptr @g_g_uses_unicodert @@ -130090,9 +137097,9 @@ ifend126: %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then127, label %ifend129 then127: - call void @fn_emith(ptr @.str12832) + call void @fn_emith(ptr @.str13129) store i32 1, ptr @g_g_fprintf_declared - call void @fn_emith(ptr @.str12833) + call void @fn_emith(ptr @.str13130) br label %ifend129 ifend129: %t263 = load i32, ptr @g_g_uses_bounds @@ -130105,25 +137112,25 @@ then130: %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then133, label %ifend135 then133: - call void @fn_emith(ptr @.str12834) + call void @fn_emith(ptr @.str13131) store i32 1, ptr @g_g_fprintf_declared br label %ifend135 ifend135: - call void @fn_emith(ptr @.str12835) + call void @fn_emith(ptr @.str13132) br label %ifend132 ifend132: %t269 = load i32, ptr @g_g_uses_result %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then136, label %ifend138 then136: - call void @fn_emith(ptr @.str12836) + call void @fn_emith(ptr @.str13133) br label %ifend138 ifend138: %t271 = load i32, ptr @g_g_uses_option %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then139, label %ifend141 then139: - call void @fn_emith(ptr @.str12837) + call void @fn_emith(ptr @.str13134) br label %ifend141 ifend141: call void @fn_emit_cov_runtime() @@ -130171,10 +137178,10 @@ ifend5: %t12 = load i32, ptr %t7 %t13 = call ptr @fn_itoa(i32 %t12) store ptr %t13, ptr %t14 - call void @fn_emith(ptr @.str12838) + call void @fn_emith(ptr @.str13135) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) - call void @fn_emith(ptr @.str12839) + call void @fn_emith(ptr @.str13136) store i32 0, ptr %t16 br label %wcond6 wcond6: @@ -130191,10 +137198,10 @@ wbody7: %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: - call void @fn_emith(ptr @.str12840) + call void @fn_emith(ptr @.str13137) br label %ifend11 ifend11: - call void @fn_emith(ptr @.str12841) + call void @fn_emith(ptr @.str13138) %t26 = load ptr, ptr @g_g_cov_lines %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 @@ -130205,7 +137212,7 @@ ifend11: br i1 %t32, label %ixok12, label %ixbad13 ixbad13: %t33 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str12842, i32 %t29, i32 %t31) + call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str13139, i32 %t29, i32 %t31) call void @exit(i32 1) unreachable ixok12: @@ -130218,88 +137225,88 @@ ixok12: store i32 %t38, ptr %t16 br label %wcond6 wend8: - call void @fn_emith(ptr @.str12843) - call void @fn_emith(ptr @.str12844) + call void @fn_emith(ptr @.str13140) + call void @fn_emith(ptr @.str13141) %t39 = load ptr, ptr %t14 call void @fn_emith(ptr %t39) - call void @fn_emith(ptr @.str12845) + call void @fn_emith(ptr @.str13142) %t40 = load ptr, ptr %t14 - %t41 = call ptr @lp_str_concat(ptr @.str12846, ptr %t40) - %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str12847) + %t41 = call ptr @lp_str_concat(ptr @.str13143, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str13144) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr @g_g_src_name %t44 = call ptr @fn_emit_str_const(ptr %t43) store ptr %t44, ptr %t45 - %t46 = call ptr @fn_emit_str_const(ptr @.str12848) + %t46 = call ptr @fn_emit_str_const(ptr @.str13145) store ptr %t46, ptr %t47 - %t48 = call ptr @fn_emit_str_const(ptr @.str12849) + %t48 = call ptr @fn_emit_str_const(ptr @.str13146) store ptr %t48, ptr %t49 - %t50 = call ptr @fn_emit_str_const(ptr @.str12850) + %t50 = call ptr @fn_emit_str_const(ptr @.str13147) store ptr %t50, ptr %t51 - call void @fn_emith(ptr @.str12851) - call void @fn_emith(ptr @.str12852) + call void @fn_emith(ptr @.str13148) + call void @fn_emith(ptr @.str13149) %t52 = load i32, ptr @g_g_fprintf_declared %t53 = icmp eq i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: - call void @fn_emith(ptr @.str12853) + call void @fn_emith(ptr @.str13150) store i32 1, ptr @g_g_fprintf_declared br label %ifend16 ifend16: - call void @fn_emith(ptr @.str12854) - call void @fn_emit(ptr @.str12855) + call void @fn_emith(ptr @.str13151) + call void @fn_emit(ptr @.str13152) %t56 = load ptr, ptr %t47 - %t57 = call ptr @lp_str_concat(ptr @.str12856, ptr %t56) - %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12857) + %t57 = call ptr @lp_str_concat(ptr @.str13153, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str13154) call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str12858) + call void @fn_emit(ptr @.str13155) %t59 = load ptr, ptr %t49 - %t60 = call ptr @lp_str_concat(ptr @.str12859, ptr %t59) - %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str12860) + %t60 = call ptr @lp_str_concat(ptr @.str13156, ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str13157) call void @fn_emit(ptr %t61) %t62 = load ptr, ptr %t51 - %t63 = call ptr @lp_str_concat(ptr @.str12861, ptr %t62) - %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str12862) + %t63 = call ptr @lp_str_concat(ptr @.str13158, ptr %t62) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str13159) call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str12863) - call void @fn_emit(ptr @.str12864) - call void @fn_emit(ptr @.str12865) + call void @fn_emit(ptr @.str13160) + call void @fn_emit(ptr @.str13161) + call void @fn_emit(ptr @.str13162) %t65 = load ptr, ptr %t45 - %t66 = call ptr @lp_str_concat(ptr @.str12866, ptr %t65) - %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str12867) + %t66 = call ptr @lp_str_concat(ptr @.str13163, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str13164) call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str12868) - call void @fn_emit(ptr @.str12869) - call void @fn_emit(ptr @.str12870) + call void @fn_emit(ptr @.str13165) + call void @fn_emit(ptr @.str13166) + call void @fn_emit(ptr @.str13167) %t68 = load ptr, ptr %t14 - %t69 = call ptr @lp_str_concat(ptr @.str12871, ptr %t68) - %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str12872) + %t69 = call ptr @lp_str_concat(ptr @.str13168, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str13169) call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str12873) - call void @fn_emit(ptr @.str12874) - call void @fn_emit(ptr @.str12875) + call void @fn_emit(ptr @.str13170) + call void @fn_emit(ptr @.str13171) + call void @fn_emit(ptr @.str13172) %t71 = load ptr, ptr %t14 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str12876) - call void @fn_emit(ptr @.str12877) - call void @fn_emit(ptr @.str12878) + call void @fn_emit(ptr @.str13173) + call void @fn_emit(ptr @.str13174) + call void @fn_emit(ptr @.str13175) %t72 = load ptr, ptr %t14 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str12879) - call void @fn_emit(ptr @.str12880) - call void @fn_emit(ptr @.str12881) - call void @fn_emit(ptr @.str12882) - call void @fn_emit(ptr @.str12883) - call void @fn_emit(ptr @.str12884) - call void @fn_emit(ptr @.str12885) - call void @fn_emit(ptr @.str12886) - call void @fn_emit(ptr @.str12887) - call void @fn_emit(ptr @.str12888) - call void @fn_emit(ptr @.str12889) - call void @fn_emit(ptr @.str12890) - call void @fn_emith(ptr @.str12891) + call void @fn_emit(ptr @.str13176) + call void @fn_emit(ptr @.str13177) + call void @fn_emit(ptr @.str13178) + call void @fn_emit(ptr @.str13179) + call void @fn_emit(ptr @.str13180) + call void @fn_emit(ptr @.str13181) + call void @fn_emit(ptr @.str13182) + call void @fn_emit(ptr @.str13183) + call void @fn_emit(ptr @.str13184) + call void @fn_emit(ptr @.str13185) + call void @fn_emit(ptr @.str13186) + call void @fn_emit(ptr @.str13187) + call void @fn_emith(ptr @.str13188) br label %ret ret: ret void @@ -130348,7 +137355,7 @@ then0: br label %ret ifend2: %t29 = load ptr, ptr %t0 - %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str12892) + %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str13189) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = icmp eq ptr %t32, null @@ -130457,7 +137464,7 @@ then0: %t11 = sub i32 %t10, 6 %t12 = load i32, ptr %t4 %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12) - %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12893) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str13190) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: @@ -130543,7 +137550,7 @@ then3: br label %ret ifend5: %t20 = load ptr, ptr %t0 - %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str12894) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str13191) store ptr %t21, ptr %retval br label %ret ret: @@ -130805,16 +137812,16 @@ then0: %t4 = call ptr @fn_win_path(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 - %t7 = call ptr @lp_str_concat(ptr @.str12895, ptr %t6) - %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str12896) + %t7 = call ptr @lp_str_concat(ptr @.str13192, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str13193) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) - %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str12897) + %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str13194) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 - %t14 = call ptr @lp_str_concat(ptr @.str12898, ptr %t13) + %t14 = call ptr @lp_str_concat(ptr @.str13195, ptr %t13) %t15 = call i32 @system(ptr %t14) br label %ifend2 ifend2: @@ -130833,13 +137840,13 @@ entry: then0: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_win_path(ptr %t3) - %t5 = call ptr @lp_str_concat(ptr @.str12899, ptr %t4) - %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str12900) + %t5 = call ptr @lp_str_concat(ptr @.str13196, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str13197) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 - %t9 = call ptr @lp_str_concat(ptr @.str12901, ptr %t8) + %t9 = call ptr @lp_str_concat(ptr @.str13198, ptr %t8) %t10 = call i32 @system(ptr %t9) br label %ifend2 ifend2: @@ -130854,7 +137861,7 @@ entry: %t1 = alloca ptr %t9 = alloca ptr %t12 = alloca ptr - %t0 = call ptr @getenv(ptr @.str12902) + %t0 = call ptr @getenv(ptr @.str13199) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -130870,9 +137877,9 @@ ifend2: %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: - store ptr @.str12903, ptr %t9 + store ptr @.str13200, ptr %t9 %t10 = load ptr, ptr %t9 - %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str12904) + %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str13201) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = icmp ne ptr %t13, null @@ -130883,14 +137890,14 @@ then6: %t17 = load ptr, ptr %t12 call i32 @fclose(ptr %t17) %t18 = load ptr, ptr %t9 - %t19 = call ptr @lp_str_concat(ptr @.str12905, ptr %t18) - %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str12906) + %t19 = call ptr @lp_str_concat(ptr @.str13202, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str13203) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: - store ptr @.str12907, ptr %retval + store ptr @.str13204, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval @@ -130901,7 +137908,7 @@ define void @fn_show_version() { entry: %t3 = alloca ptr %t0 = call ptr @fn_ludic_home() - %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str12908) + %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str13205) %t2 = call ptr @fn_read_file(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 @@ -130910,12 +137917,12 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %else1 then0: - call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str12909) + call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str13206) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) - %t10 = call ptr @lp_str_concat(ptr @.str12910, ptr %t9) + %t10 = call ptr @lp_str_concat(ptr @.str13207, ptr %t9) call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t10) br label %ifend2 ifend2: @@ -130927,7 +137934,7 @@ ret: define void @L_init_globals() { entry: - store ptr @.str12911, ptr @g_g_parse_file + store ptr @.str13208, ptr @g_g_parse_file %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) @@ -130968,9 +137975,9 @@ entry: %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 store i32 0, ptr %t23 store ptr %t20, ptr @g_g_mod_friends - store ptr @.str12912, ptr @g_g_err_file - store ptr @.str12913, ptr @g_g_src_name - store ptr @.str12914, ptr @g_g_ret_label + store ptr @.str13209, ptr @g_g_err_file + store ptr @.str13210, ptr @g_g_src_name + store ptr @.str13211, ptr @g_g_ret_label %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 %t26 = call ptr @malloc(i64 %t25) @@ -130981,7 +137988,128 @@ entry: %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 store i32 0, ptr %t29 store ptr %t26, ptr @g_g_det_names - store ptr @.str12915, ptr @g_g_det_ctx + store ptr @.str13212, ptr @g_g_det_ctx + %t30 = getelementptr %LSlice, ptr null, i32 1 + %t31 = ptrtoint ptr %t30 to i64 + %t32 = call ptr @malloc(i64 %t31) + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + store ptr null, ptr %t33 + %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 + store i32 0, ptr %t34 + %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 + store i32 0, ptr %t35 + store ptr %t32, ptr @g_ck_fn_k + %t36 = getelementptr %LSlice, ptr null, i32 1 + %t37 = ptrtoint ptr %t36 to i64 + %t38 = call ptr @malloc(i64 %t37) + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + store ptr null, ptr %t39 + %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 + store i32 0, ptr %t40 + %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 + store i32 0, ptr %t41 + store ptr %t38, ptr @g_ck_fn_v + %t42 = getelementptr %LSlice, ptr null, i32 1 + %t43 = ptrtoint ptr %t42 to i64 + %t44 = call ptr @malloc(i64 %t43) + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 + store i32 0, ptr %t46 + %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 + store i32 0, ptr %t47 + store ptr %t44, ptr @g_ck_gl_k + %t48 = getelementptr %LSlice, ptr null, i32 1 + %t49 = ptrtoint ptr %t48 to i64 + %t50 = call ptr @malloc(i64 %t49) + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 + store ptr null, ptr %t51 + %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + store i32 0, ptr %t52 + %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 + store i32 0, ptr %t53 + store ptr %t50, ptr @g_ck_gl_v + %t54 = getelementptr %LSlice, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = call ptr @malloc(i64 %t55) + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + store ptr null, ptr %t57 + %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 + store i32 0, ptr %t58 + %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 + store i32 0, ptr %t59 + store ptr %t56, ptr @g_ck_rec_k + %t60 = getelementptr %LSlice, ptr null, i32 1 + %t61 = ptrtoint ptr %t60 to i64 + %t62 = call ptr @malloc(i64 %t61) + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 + store i32 0, ptr %t64 + %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 + store i32 0, ptr %t65 + store ptr %t62, ptr @g_ck_rec_v + %t66 = getelementptr %LSlice, ptr null, i32 1 + %t67 = ptrtoint ptr %t66 to i64 + %t68 = call ptr @malloc(i64 %t67) + %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 + store ptr null, ptr %t69 + %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 + store i32 0, ptr %t70 + %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 + store i32 0, ptr %t71 + store ptr %t68, ptr @g_ck_en_k + %t72 = getelementptr %LSlice, ptr null, i32 1 + %t73 = ptrtoint ptr %t72 to i64 + %t74 = call ptr @malloc(i64 %t73) + %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + store ptr null, ptr %t75 + %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 + store i32 0, ptr %t76 + %t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2 + store i32 0, ptr %t77 + store ptr %t74, ptr @g_ck_en_v + %t78 = getelementptr %LSlice, ptr null, i32 1 + %t79 = ptrtoint ptr %t78 to i64 + %t80 = call ptr @malloc(i64 %t79) + %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 + store ptr null, ptr %t81 + %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 + store i32 0, ptr %t82 + %t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2 + store i32 0, ptr %t83 + store ptr %t80, ptr @g_ck_ex_k + %t84 = getelementptr %LSlice, ptr null, i32 1 + %t85 = ptrtoint ptr %t84 to i64 + %t86 = call ptr @malloc(i64 %t85) + %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 + store ptr null, ptr %t87 + %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 + store i32 0, ptr %t88 + %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 + store i32 0, ptr %t89 + store ptr %t86, ptr @g_ck_ex_v + %t90 = getelementptr %LSlice, ptr null, i32 1 + %t91 = ptrtoint ptr %t90 to i64 + %t92 = call ptr @malloc(i64 %t91) + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 + store ptr null, ptr %t93 + %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 + store i32 0, ptr %t94 + %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 + store i32 0, ptr %t95 + store ptr %t92, ptr @g_ck_names + %t96 = getelementptr %LSlice, ptr null, i32 1 + %t97 = ptrtoint ptr %t96 to i64 + %t98 = call ptr @malloc(i64 %t97) + %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 + store ptr null, ptr %t99 + %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 + store i32 0, ptr %t100 + %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 + store i32 0, ptr %t101 + store ptr %t98, ptr @g_ck_tys + store ptr @.str13213, ptr @g_ck_ret ret void } @@ -131075,7 +138203,7 @@ wbody1: %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t27 - %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12916) + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str13214) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then3, label %else4 then3: @@ -131083,7 +138211,7 @@ then3: br label %ifend5 else4: %t31 = load ptr, ptr %t27 - %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12917) + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str13215) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %else7 then6: @@ -131091,7 +138219,7 @@ then6: br label %ifend8 else7: %t34 = load ptr, ptr %t27 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12918) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str13216) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %else10 then9: @@ -131099,7 +138227,7 @@ then9: br label %ifend11 else10: %t37 = load ptr, ptr %t27 - %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12919) + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str13217) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then12, label %else13 then12: @@ -131107,7 +138235,7 @@ then12: br label %ifend14 else13: %t40 = load ptr, ptr %t27 - %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12920) + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str13218) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %else16 then15: @@ -131116,7 +138244,7 @@ then15: br label %ifend17 else16: %t43 = load ptr, ptr %t27 - %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str12921) + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str13219) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then18, label %else19 then18: @@ -131124,7 +138252,7 @@ then18: br label %ifend20 else19: %t46 = load ptr, ptr %t27 - %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str12922) + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str13220) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then21, label %else22 then21: @@ -131132,7 +138260,7 @@ then21: br label %ifend23 else22: %t49 = load ptr, ptr %t27 - %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str12923) + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str13221) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then24, label %else25 then24: @@ -131140,7 +138268,7 @@ then24: br label %ifend26 else25: %t52 = load ptr, ptr %t27 - %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str12924) + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str13222) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then27, label %else28 then27: @@ -131148,7 +138276,7 @@ then27: br label %ifend29 else28: %t55 = load ptr, ptr %t27 - %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str12925) + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str13223) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then30, label %else31 then30: @@ -131172,7 +138300,7 @@ ifend35: br label %ifend32 else31: %t69 = load ptr, ptr %t27 - %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str12926) + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str13224) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then36, label %else37 then36: @@ -131180,7 +138308,7 @@ then36: br label %ifend38 else37: %t72 = load ptr, ptr %t27 - %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str12927) + %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str13225) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then39, label %else40 then39: @@ -131204,7 +138332,7 @@ ifend44: br label %ifend41 else40: %t86 = load ptr, ptr %t27 - %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str12928) + %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str13226) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then45, label %else46 then45: @@ -131254,7 +138382,7 @@ ifend50: br label %ifend47 else46: %t119 = load ptr, ptr %t27 - %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str12929) + %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str13227) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then53, label %else54 then53: @@ -131287,8 +138415,8 @@ else54: br i1 %t139, label %then59, label %else60 then59: %t140 = load ptr, ptr %t27 - %t141 = call ptr @lp_str_concat(ptr @.str12930, ptr %t140) - %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str12931) + %t141 = call ptr @lp_str_concat(ptr @.str13228, ptr %t140) + %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str13229) store ptr %t142, ptr %t143 %t144 = load ptr, ptr @__stderrp %t145 = load ptr, ptr %t143 @@ -131343,7 +138471,7 @@ wend2: %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then62, label %ifend64 then62: - call void @fn_die(ptr @.str12932) + call void @fn_die(ptr @.str13230) br label %ifend64 ifend64: %t159 = load ptr, ptr %t7 @@ -131353,7 +138481,7 @@ ifend64: br i1 %t162, label %then65, label %else66 then65: %t163 = load ptr, ptr %t7 - %t164 = call i32 @fn_has_sub(ptr %t163, ptr @.str12933) + %t164 = call i32 @fn_has_sub(ptr %t163, ptr @.str13231) store i32 %t164, ptr @g_g_target_win br label %ifend67 else66: @@ -131370,7 +138498,7 @@ ifend67: %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then68, label %ifend70 then68: - call void @fn_die(ptr @.str12934) + call void @fn_die(ptr @.str13232) br label %ifend70 ifend70: %t173 = load ptr, ptr %t0 @@ -131476,6 +138604,7 @@ ifend86: br label %ifend83 ifend83: store i32 0, ptr @g_g_parsing + call void @fn_check_program() call void @fn_emit_program() %t227 = load i32, ptr %t3 %t228 = icmp ne i32 %t227, 0 @@ -131516,9 +138645,9 @@ then97: %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then100, label %else101 then100: - %t249 = call ptr @fn_getenv_or(ptr @.str12935, ptr @.str12936) + %t249 = call ptr @fn_getenv_or(ptr @.str13233, ptr @.str13234) %t250 = call ptr @fn_fwd_slashes(ptr %t249) - %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str12937) + %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str13235) %t252 = load ptr, ptr %t0 %t253 = call ptr @fn_base_name(ptr %t252) %t254 = call ptr @fn_strip_ludic(ptr %t253) @@ -131529,7 +138658,7 @@ else101: %t256 = load ptr, ptr %t0 %t257 = call ptr @fn_base_name(ptr %t256) %t258 = call ptr @fn_strip_ludic(ptr %t257) - %t259 = call ptr @lp_str_concat(ptr @.str12938, ptr %t258) + %t259 = call ptr @lp_str_concat(ptr @.str13236, ptr %t258) store ptr %t259, ptr %t1 br label %ifend102 ifend102: @@ -131555,7 +138684,7 @@ then106: %t273 = sub i32 %t272, 4 %t274 = load i32, ptr %t265 %t275 = call ptr @lp_str_slice(ptr %t271, i32 %t273, i32 %t274) - %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str12939) + %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str13237) store i32 %t276, ptr %t266 br label %ifend108 ifend108: @@ -131566,7 +138695,7 @@ ifend108: br i1 %t280, label %then109, label %ifend111 then109: %t281 = load ptr, ptr %t1 - %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str12940) + %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str13238) store ptr %t282, ptr %t1 br label %ifend111 ifend111: @@ -131588,7 +138717,7 @@ then112: br label %ifend114 ifend114: %t293 = load ptr, ptr %t1 - %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str12941) + %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str13239) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 %t297 = call i32 @fn_ir_flush(ptr %t296) @@ -131597,7 +138726,7 @@ ifend114: %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then115, label %ifend117 then115: - call void @fn_die(ptr @.str12942) + call void @fn_die(ptr @.str13240) br label %ifend117 ifend117: %t301 = call ptr @fn_find_cc() @@ -131605,7 +138734,7 @@ ifend117: %t303 = call ptr @fn_ludic_home() store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t302 - %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str12943) + %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str13241) %t307 = load ptr, ptr %t295 %t308 = call ptr @lp_str_concat(ptr %t306, ptr %t307) store ptr %t308, ptr %t309 @@ -131618,26 +138747,26 @@ then118: br i1 %t313, label %then121, label %ifend123 then121: %t314 = load ptr, ptr %t304 - %t315 = call ptr @fn_join_path(ptr %t314, ptr @.str12944) + %t315 = call ptr @fn_join_path(ptr %t314, ptr @.str13242) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t309 - %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str12945) + %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str13243) %t319 = load ptr, ptr %t316 %t320 = call ptr @lp_str_concat(ptr %t318, ptr %t319) - %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str12946) + %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str13244) store ptr %t321, ptr %t309 %t322 = load i32, ptr @g_g_uses_audio %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then124, label %ifend126 then124: %t324 = load ptr, ptr %t304 - %t325 = call ptr @fn_join_path(ptr %t324, ptr @.str12947) + %t325 = call ptr @fn_join_path(ptr %t324, ptr @.str13245) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t309 - %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str12948) + %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str13246) %t329 = load ptr, ptr %t326 %t330 = call ptr @lp_str_concat(ptr %t328, ptr %t329) - %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str12949) + %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str13247) store ptr %t331, ptr %t309 br label %ifend126 ifend126: @@ -131650,26 +138779,26 @@ else119: br i1 %t333, label %then127, label %ifend129 then127: %t334 = load ptr, ptr %t304 - %t335 = call ptr @fn_join_path(ptr %t334, ptr @.str12950) + %t335 = call ptr @fn_join_path(ptr %t334, ptr @.str13248) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t309 - %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str12951) + %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str13249) %t339 = load ptr, ptr %t336 %t340 = call ptr @lp_str_concat(ptr %t338, ptr %t339) - %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str12952) + %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str13250) store ptr %t341, ptr %t309 %t342 = load i32, ptr @g_g_uses_audio %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then130, label %ifend132 then130: %t344 = load ptr, ptr %t304 - %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str12953) + %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str13251) store ptr %t345, ptr %t346 %t347 = load ptr, ptr %t309 - %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str12954) + %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str13252) %t349 = load ptr, ptr %t346 %t350 = call ptr @lp_str_concat(ptr %t348, ptr %t349) - %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str12955) + %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str13253) store ptr %t351, ptr %t309 br label %ifend132 ifend132: @@ -131686,17 +138815,17 @@ then133: br i1 %t355, label %then136, label %else137 then136: %t356 = load ptr, ptr %t309 - %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str12956) + %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str13254) %t358 = load ptr, ptr %t304 - %t359 = call ptr @fn_join_path(ptr %t358, ptr @.str12957) + %t359 = call ptr @fn_join_path(ptr %t358, ptr @.str13255) %t360 = call ptr @lp_str_concat(ptr %t357, ptr %t359) store ptr %t360, ptr %t309 br label %ifend138 else137: %t361 = load ptr, ptr %t309 - %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str12958) + %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str13256) %t363 = load ptr, ptr %t304 - %t364 = call ptr @fn_join_path(ptr %t363, ptr @.str12959) + %t364 = call ptr @fn_join_path(ptr %t363, ptr @.str13257) %t365 = call ptr @lp_str_concat(ptr %t362, ptr %t364) store ptr %t365, ptr %t309 br label %ifend138 @@ -131712,18 +138841,18 @@ then139: br i1 %t369, label %then142, label %else143 then142: %t370 = load ptr, ptr %t309 - %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str12960) + %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str13258) %t372 = load ptr, ptr %t304 - %t373 = call ptr @fn_join_path(ptr %t372, ptr @.str12961) + %t373 = call ptr @fn_join_path(ptr %t372, ptr @.str13259) %t374 = call ptr @lp_str_concat(ptr %t371, ptr %t373) - %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str12962) + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str13260) store ptr %t375, ptr %t309 br label %ifend144 else143: %t376 = load ptr, ptr %t309 - %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str12963) + %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str13261) %t378 = load ptr, ptr %t304 - %t379 = call ptr @fn_join_path(ptr %t378, ptr @.str12964) + %t379 = call ptr @fn_join_path(ptr %t378, ptr @.str13262) %t380 = call ptr @lp_str_concat(ptr %t377, ptr %t379) store ptr %t380, ptr %t309 br label %ifend144 @@ -131747,7 +138876,7 @@ scend146: br i1 %t389, label %then147, label %ifend149 then147: %t390 = load ptr, ptr %t309 - %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str12965) + %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str13263) store ptr %t391, ptr %t309 br label %ifend149 ifend149: @@ -131760,17 +138889,17 @@ then150: br i1 %t395, label %then153, label %else154 then153: %t396 = load ptr, ptr %t309 - %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str12966) + %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str13264) %t398 = load ptr, ptr %t304 - %t399 = call ptr @fn_join_path(ptr %t398, ptr @.str12967) + %t399 = call ptr @fn_join_path(ptr %t398, ptr @.str13265) %t400 = call ptr @lp_str_concat(ptr %t397, ptr %t399) store ptr %t400, ptr %t309 br label %ifend155 else154: %t401 = load ptr, ptr %t309 - %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str12968) + %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str13266) %t403 = load ptr, ptr %t304 - %t404 = call ptr @fn_join_path(ptr %t403, ptr @.str12969) + %t404 = call ptr @fn_join_path(ptr %t403, ptr @.str13267) %t405 = call ptr @lp_str_concat(ptr %t402, ptr %t404) store ptr %t405, ptr %t309 br label %ifend155 @@ -131786,24 +138915,24 @@ then156: br i1 %t409, label %then159, label %else160 then159: %t410 = load ptr, ptr %t304 - %t411 = call ptr @fn_join_path(ptr %t410, ptr @.str12970) + %t411 = call ptr @fn_join_path(ptr %t410, ptr @.str13268) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t309 - %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str12971) + %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str13269) %t415 = load ptr, ptr %t412 %t416 = call ptr @lp_str_concat(ptr %t414, ptr %t415) - %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str12972) + %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str13270) store ptr %t417, ptr %t309 br label %ifend161 else160: %t418 = load ptr, ptr %t304 - %t419 = call ptr @fn_join_path(ptr %t418, ptr @.str12973) + %t419 = call ptr @fn_join_path(ptr %t418, ptr @.str13271) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t309 - %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str12974) + %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str13272) %t423 = load ptr, ptr %t420 %t424 = call ptr @lp_str_concat(ptr %t422, ptr %t423) - %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str12975) + %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str13273) store ptr %t425, ptr %t309 br label %ifend161 ifend161: @@ -131818,51 +138947,51 @@ then162: br i1 %t429, label %then165, label %else166 then165: %t430 = load ptr, ptr %t304 - %t431 = call ptr @fn_join_path(ptr %t430, ptr @.str12976) + %t431 = call ptr @fn_join_path(ptr %t430, ptr @.str13274) store ptr %t431, ptr %t432 %t433 = load ptr, ptr %t304 - %t434 = call ptr @fn_join_path(ptr %t433, ptr @.str12977) + %t434 = call ptr @fn_join_path(ptr %t433, ptr @.str13275) store ptr %t434, ptr %t435 %t436 = load ptr, ptr %t304 - %t437 = call ptr @fn_join_path(ptr %t436, ptr @.str12978) + %t437 = call ptr @fn_join_path(ptr %t436, ptr @.str13276) store ptr %t437, ptr %t438 %t439 = load i32, ptr @g_g_windowed %t440 = icmp ne i32 %t439, 0 br i1 %t440, label %then168, label %ifend170 then168: %t441 = load ptr, ptr %t304 - %t442 = call ptr @fn_join_path(ptr %t441, ptr @.str12979) + %t442 = call ptr @fn_join_path(ptr %t441, ptr @.str13277) store ptr %t442, ptr %t438 br label %ifend170 ifend170: %t443 = load ptr, ptr %t309 - %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str12980) + %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str13278) %t445 = load ptr, ptr %t432 %t446 = call ptr @lp_str_concat(ptr %t444, ptr %t445) - %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str12981) + %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str13279) %t448 = load ptr, ptr %t435 %t449 = call ptr @lp_str_concat(ptr %t447, ptr %t448) - %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str12982) + %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str13280) %t451 = load ptr, ptr %t438 %t452 = call ptr @lp_str_concat(ptr %t450, ptr %t451) - %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str12983) + %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str13281) store ptr %t453, ptr %t309 br label %ifend167 else166: %t454 = load ptr, ptr %t304 - %t455 = call ptr @fn_join_path(ptr %t454, ptr @.str12984) + %t455 = call ptr @fn_join_path(ptr %t454, ptr @.str13282) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t304 - %t458 = call ptr @fn_join_path(ptr %t457, ptr @.str12985) + %t458 = call ptr @fn_join_path(ptr %t457, ptr @.str13283) store ptr %t458, ptr %t459 %t460 = load ptr, ptr %t309 - %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str12986) + %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str13284) %t462 = load ptr, ptr %t456 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) - %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str12987) + %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str13285) %t465 = load ptr, ptr %t459 %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) - %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str12988) + %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str13286) store ptr %t467, ptr %t309 br label %ifend167 ifend167: @@ -131873,25 +139002,25 @@ ifend164: br i1 %t469, label %then171, label %ifend173 then171: %t470 = load ptr, ptr %t304 - %t471 = call ptr @fn_join_path(ptr %t470, ptr @.str12989) + %t471 = call ptr @fn_join_path(ptr %t470, ptr @.str13287) store ptr %t471, ptr %t472 %t473 = load ptr, ptr %t304 - %t474 = call ptr @fn_join_path(ptr %t473, ptr @.str12990) + %t474 = call ptr @fn_join_path(ptr %t473, ptr @.str13288) store ptr %t474, ptr %t475 %t476 = load i32, ptr @g_g_target_win %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then174, label %ifend176 then174: %t478 = load ptr, ptr %t304 - %t479 = call ptr @fn_join_path(ptr %t478, ptr @.str12991) + %t479 = call ptr @fn_join_path(ptr %t478, ptr @.str13289) store ptr %t479, ptr %t475 br label %ifend176 ifend176: %t480 = load ptr, ptr %t309 - %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str12992) + %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str13290) %t482 = load ptr, ptr %t472 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) - %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str12993) + %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str13291) %t485 = load ptr, ptr %t475 %t486 = call ptr @lp_str_concat(ptr %t484, ptr %t485) store ptr %t486, ptr %t309 @@ -131914,7 +139043,7 @@ scend178: br i1 %t495, label %then179, label %ifend181 then179: %t496 = load ptr, ptr %t309 - %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str12994) + %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str13292) store ptr %t497, ptr %t309 br label %ifend181 ifend181: @@ -131931,7 +139060,7 @@ wcond182: br i1 %t505, label %wbody183, label %wend184 wbody183: %t506 = load ptr, ptr %t309 - %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str12995) + %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str13293) %t508 = load ptr, ptr %t16 %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t510 = load ptr, ptr %t509 @@ -131942,14 +139071,14 @@ wbody183: br i1 %t514, label %ixok185, label %ixbad186 ixbad186: %t515 = load ptr, ptr @__stderrp - call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str12996, i32 %t511, i32 %t513) + call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str13294, i32 %t511, i32 %t513) call void @exit(i32 1) unreachable ixok185: %t516 = getelementptr inbounds ptr, ptr %t510, i32 %t511 %t517 = load ptr, ptr %t516 %t518 = call ptr @lp_str_concat(ptr %t507, ptr %t517) - %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str12997) + %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str13295) store ptr %t519, ptr %t309 %t520 = load i32, ptr %t498 %t521 = add i32 %t520, 1 @@ -131957,7 +139086,7 @@ ixok185: br label %wcond182 wend184: %t522 = load ptr, ptr %t309 - %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str12998) + %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str13296) %t524 = load ptr, ptr %t1 %t525 = call ptr @lp_str_concat(ptr %t523, ptr %t524) store ptr %t525, ptr %t309 @@ -131968,8 +139097,8 @@ wend184: br i1 %t529, label %then187, label %ifend189 then187: %t530 = load ptr, ptr %t309 - %t531 = call ptr @lp_str_concat(ptr @.str12999, ptr %t530) - %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str13000) + %t531 = call ptr @lp_str_concat(ptr @.str13297, ptr %t530) + %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str13298) store ptr %t532, ptr %t527 br label %ifend189 ifend189: @@ -131992,7 +139121,7 @@ ifend192: %t544 = icmp ne i32 %t543, 0 br i1 %t544, label %then193, label %ifend195 then193: - call void @fn_die(ptr @.str13001) + call void @fn_die(ptr @.str13299) br label %ifend195 ifend195: %t545 = load i32, ptr %t6 @@ -132005,8 +139134,8 @@ then196: then199: %t549 = load ptr, ptr %t1 %t550 = call ptr @fn_win_path(ptr %t549) - %t551 = call ptr @lp_str_concat(ptr @.str13002, ptr %t550) - %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str13003) + %t551 = call ptr @lp_str_concat(ptr @.str13300, ptr %t550) + %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str13301) %t553 = call i32 @system(ptr %t552) call void @exit(i32 %t553) unreachable diff --git a/selfhost/ludicc.win.seed.ll b/selfhost/ludicc.win.seed.ll index fff38c32..ff569720 100644 --- a/selfhost/ludicc.win.seed.ll +++ b/selfhost/ludicc.win.seed.ll @@ -518,6 +518,22 @@ entry: @g_g_fp_decls = internal global ptr null @g_g_prevals = internal global ptr null @g_g_vis_report = internal global i32 -1 +@g_ck_fn_k = internal global ptr null +@g_ck_fn_v = internal global ptr null +@g_ck_gl_k = internal global ptr null +@g_ck_gl_v = internal global ptr null +@g_ck_rec_k = internal global ptr null +@g_ck_rec_v = internal global ptr null +@g_ck_en_k = internal global ptr null +@g_ck_en_v = internal global ptr null +@g_ck_ex_k = internal global ptr null +@g_ck_ex_v = internal global ptr null +@g_ck_names = internal global ptr null +@g_ck_tys = internal global ptr null +@g_ck_ret = internal global ptr null +@g_ck_errors = internal global i32 0 +@g_ck_report = internal global i32 -1 +@g_ck_top = internal global i32 0 @g_g_iok = internal global i32 0 @g_g_snap_mode = internal global ptr null @g_g_off = internal global ptr null @@ -10829,2706 +10845,3004 @@ entry: @.str10301 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10302 = private unnamed_addr constant [2 x i8] c")\00" @.str10303 = private unnamed_addr constant [7 x i8] c"string\00" -@.str10304 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11473: index out of range: \00" -@.str10305 = private unnamed_addr constant [3 x i8] c" \00" -@.str10306 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10307 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10308 = private unnamed_addr constant [4 x i8] c" = \00" -@.str10309 = private unnamed_addr constant [6 x i8] c"call \00" -@.str10310 = private unnamed_addr constant [3 x i8] c" @\00" -@.str10311 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10312 = private unnamed_addr constant [3 x i8] c", \00" -@.str10313 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11482: index out of range: \00" -@.str10314 = private unnamed_addr constant [2 x i8] c" \00" -@.str10315 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11482: index out of range: \00" -@.str10316 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10317 = private unnamed_addr constant [4 x i8] c"rt_\00" -@.str10318 = private unnamed_addr constant [18 x i8] c"unknown function \00" -@.str10319 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11511: index out of range: \00" -@.str10320 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11513: index out of range: \00" -@.str10321 = private unnamed_addr constant [3 x i8] c" \00" -@.str10322 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10323 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10324 = private unnamed_addr constant [4 x i8] c" = \00" -@.str10325 = private unnamed_addr constant [6 x i8] c"call \00" -@.str10326 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str10327 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10328 = private unnamed_addr constant [3 x i8] c", \00" -@.str10329 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11524: index out of range: \00" -@.str10330 = private unnamed_addr constant [2 x i8] c" \00" -@.str10331 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11524: index out of range: \00" -@.str10332 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10333 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10334 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10304 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11478: index out of range: \00" +@.str10305 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11480: index out of range: \00" +@.str10306 = private unnamed_addr constant [3 x i8] c" \00" +@.str10307 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10308 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10309 = private unnamed_addr constant [4 x i8] c" = \00" +@.str10310 = private unnamed_addr constant [6 x i8] c"call \00" +@.str10311 = private unnamed_addr constant [3 x i8] c" @\00" +@.str10312 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10313 = private unnamed_addr constant [3 x i8] c", \00" +@.str10314 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11493: index out of range: \00" +@.str10315 = private unnamed_addr constant [2 x i8] c" \00" +@.str10316 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11493: index out of range: \00" +@.str10317 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10318 = private unnamed_addr constant [4 x i8] c"rt_\00" +@.str10319 = private unnamed_addr constant [18 x i8] c"unknown function \00" +@.str10320 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11522: index out of range: \00" +@.str10321 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11524: index out of range: \00" +@.str10322 = private unnamed_addr constant [3 x i8] c" \00" +@.str10323 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10324 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10325 = private unnamed_addr constant [4 x i8] c" = \00" +@.str10326 = private unnamed_addr constant [6 x i8] c"call \00" +@.str10327 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str10328 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10329 = private unnamed_addr constant [3 x i8] c", \00" +@.str10330 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11535: index out of range: \00" +@.str10331 = private unnamed_addr constant [2 x i8] c" \00" +@.str10332 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11535: index out of range: \00" +@.str10333 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10334 = private unnamed_addr constant [2 x i8] c"0\00" @.str10335 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10336 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10336 = private unnamed_addr constant [4 x i8] c"int\00" @.str10337 = private unnamed_addr constant [6 x i8] c"float\00" -@.str10338 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str10339 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11540: index out of range: \00" -@.str10340 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str10341 = private unnamed_addr constant [5 x i8] c"null\00" -@.str10342 = private unnamed_addr constant [8 x i8] c"pointer\00" -@.str10343 = private unnamed_addr constant [7 x i8] c"entity\00" -@.str10344 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" -@.str10345 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10338 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10339 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10340 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11551: index out of range: \00" +@.str10341 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10342 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10343 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10344 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str10345 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str10346 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str10347 = private unnamed_addr constant [2 x i8] c")\00" -@.str10348 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10347 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10348 = private unnamed_addr constant [2 x i8] c")\00" @.str10349 = private unnamed_addr constant [7 x i8] c"string\00" -@.str10350 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11562: index out of range: \00" -@.str10351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11562: index out of range: \00" -@.str10352 = private unnamed_addr constant [7 x i8] c"const \00" -@.str10353 = private unnamed_addr constant [6 x i8] c"load \00" -@.str10354 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str10355 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10356 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" -@.str10357 = private unnamed_addr constant [6 x i8] c"Color\00" -@.str10358 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" -@.str10359 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10360 = private unnamed_addr constant [4 x i8] c"Key\00" -@.str10361 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" -@.str10362 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10350 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11573: index out of range: \00" +@.str10352 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11573: index out of range: \00" +@.str10353 = private unnamed_addr constant [7 x i8] c"const \00" +@.str10354 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10355 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str10356 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10357 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" +@.str10358 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str10359 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" +@.str10360 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10361 = private unnamed_addr constant [4 x i8] c"Key\00" +@.str10362 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str10363 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10364 = private unnamed_addr constant [6 x i8] c"IVec2\00" -@.str10365 = private unnamed_addr constant [2 x i8] c"x\00" -@.str10366 = private unnamed_addr constant [2 x i8] c"y\00" -@.str10367 = private unnamed_addr constant [2 x i8] c"x\00" -@.str10368 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10364 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10365 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str10366 = private unnamed_addr constant [2 x i8] c"x\00" +@.str10367 = private unnamed_addr constant [2 x i8] c"y\00" +@.str10368 = private unnamed_addr constant [2 x i8] c"x\00" @.str10369 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10370 = private unnamed_addr constant [5 x i8] c"byte\00" -@.str10371 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str10372 = private unnamed_addr constant [9 x i8] c"zext i8 \00" -@.str10373 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str10374 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10375 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10376 = private unnamed_addr constant [6 x i8] c"fneg \00" -@.str10377 = private unnamed_addr constant [2 x i8] c" \00" -@.str10378 = private unnamed_addr constant [10 x i8] c"operator \00" -@.str10379 = private unnamed_addr constant [20 x i8] c" does not apply to \00" -@.str10380 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10381 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str10382 = private unnamed_addr constant [6 x i8] c"fixed\00" -@.str10383 = private unnamed_addr constant [4 x i8] c"i64\00" -@.str10384 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10385 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" -@.str10386 = private unnamed_addr constant [5 x i8] c"long\00" -@.str10387 = private unnamed_addr constant [2 x i8] c"~\00" -@.str10388 = private unnamed_addr constant [9 x i8] c"xor i64 \00" -@.str10389 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str10390 = private unnamed_addr constant [5 x i8] c"long\00" -@.str10391 = private unnamed_addr constant [2 x i8] c"-\00" -@.str10392 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" -@.str10393 = private unnamed_addr constant [2 x i8] c"~\00" -@.str10394 = private unnamed_addr constant [9 x i8] c"xor i32 \00" -@.str10395 = private unnamed_addr constant [5 x i8] c", -1\00" -@.str10396 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10397 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10398 = private unnamed_addr constant [9 x i8] c"zext i1 \00" -@.str10399 = private unnamed_addr constant [8 x i8] c" to i32\00" -@.str10400 = private unnamed_addr constant [5 x i8] c"bool\00" -@.str10401 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" -@.str10402 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10403 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10404 = private unnamed_addr constant [4 x i8] c"fn(\00" -@.str10405 = private unnamed_addr constant [2 x i8] c",\00" -@.str10406 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11669: index out of range: \00" -@.str10407 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10408 = private unnamed_addr constant [4 x i8] c")->\00" -@.str10409 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10410 = private unnamed_addr constant [4 x i8] c"fn \00" -@.str10411 = private unnamed_addr constant [22 x i8] c": no function called \00" -@.str10412 = private unnamed_addr constant [5 x i8] c"@fn_\00" -@.str10413 = private unnamed_addr constant [3 x i8] c"a \00" -@.str10414 = private unnamed_addr constant [8 x i8] c" takes \00" -@.str10415 = private unnamed_addr constant [35 x i8] c" argument(s), and this call gives \00" -@.str10416 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11730: index out of range: \00" -@.str10417 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11731: index out of range: \00" -@.str10418 = private unnamed_addr constant [3 x i8] c" \00" -@.str10419 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10420 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10421 = private unnamed_addr constant [4 x i8] c" = \00" -@.str10422 = private unnamed_addr constant [6 x i8] c"call \00" -@.str10423 = private unnamed_addr constant [2 x i8] c" \00" -@.str10424 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10425 = private unnamed_addr constant [3 x i8] c", \00" -@.str10426 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11746: index out of range: \00" -@.str10427 = private unnamed_addr constant [2 x i8] c" \00" -@.str10428 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11746: index out of range: \00" -@.str10429 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10430 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11758: index out of range: \00" -@.str10431 = private unnamed_addr constant [3 x i8] c"a \00" -@.str10432 = private unnamed_addr constant [40 x i8] c" is not a function and cannot be called\00" -@.str10433 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10434 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11784: index out of range: \00" -@.str10435 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10436 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11784: index out of range: \00" -@.str10437 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10438 = private unnamed_addr constant [4 x i8] c"fn \00" -@.str10439 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" -@.str10440 = private unnamed_addr constant [17 x i8] c"LUDIC_VIS_REPORT\00" -@.str10441 = private unnamed_addr constant [1 x i8] c"\00" -@.str10442 = private unnamed_addr constant [6 x i8] c"vis: \00" -@.str10443 = private unnamed_addr constant [2 x i8] c":\00" -@.str10444 = private unnamed_addr constant [3 x i8] c": \00" -@.str10445 = private unnamed_addr constant [2 x i8] c".\00" -@.str10446 = private unnamed_addr constant [12 x i8] c" used from \00" -@.str10447 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10448 = private unnamed_addr constant [23 x i8] c" is private to module \00" -@.str10449 = private unnamed_addr constant [42 x i8] c"; mark it 'export' where it is declared (\00" -@.str10450 = private unnamed_addr constant [2 x i8] c")\00" -@.str10451 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11837: index out of range: \00" -@.str10452 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10453 = private unnamed_addr constant [2 x i8] c" \00" -@.str10454 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10455 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10456 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10457 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10458 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11863: index out of range: \00" -@.str10459 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" -@.str10460 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" -@.str10461 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11864: index out of range: \00" -@.str10462 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11864: index out of range: \00" -@.str10463 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" -@.str10464 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str10465 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" -@.str10466 = private unnamed_addr constant [2 x i8] c"=\00" -@.str10467 = private unnamed_addr constant [6 x i8] c"load \00" -@.str10468 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10469 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str10470 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" -@.str10471 = private unnamed_addr constant [7 x i8] c" to i8\00" -@.str10472 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10473 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10474 = private unnamed_addr constant [5 x i8] c"then\00" -@.str10475 = private unnamed_addr constant [5 x i8] c"else\00" -@.str10476 = private unnamed_addr constant [6 x i8] c"ifend\00" -@.str10477 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10478 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10479 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10480 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10481 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10482 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10483 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10484 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10485 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10486 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10487 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10488 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10489 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10490 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10491 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10492 = private unnamed_addr constant [6 x i8] c"wcond\00" -@.str10493 = private unnamed_addr constant [6 x i8] c"wbody\00" -@.str10494 = private unnamed_addr constant [5 x i8] c"wend\00" -@.str10495 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10496 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10497 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10498 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10499 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10500 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10501 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10502 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10503 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10504 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10505 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10506 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10507 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10508 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10509 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10510 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10511 = private unnamed_addr constant [6 x i8] c"fcond\00" -@.str10512 = private unnamed_addr constant [6 x i8] c"fbody\00" -@.str10513 = private unnamed_addr constant [6 x i8] c"fcont\00" -@.str10514 = private unnamed_addr constant [5 x i8] c"fend\00" -@.str10515 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10516 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10517 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10518 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10519 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str10520 = private unnamed_addr constant [3 x i8] c", \00" -@.str10521 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10522 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10523 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10524 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10525 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10526 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10527 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10528 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10529 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10530 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str10531 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str10532 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10533 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10534 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10535 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10536 = private unnamed_addr constant [5 x i8] c"void\00" -@.str10537 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" -@.str10538 = private unnamed_addr constant [8 x i8] c"%retval\00" -@.str10539 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10540 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10541 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11967: index out of range: \00" -@.str10542 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11983: index out of range: \00" -@.str10543 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11995: index out of range: \00" -@.str10544 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11995: index out of range: \00" -@.str10545 = private unnamed_addr constant [2 x i8] c"_\00" -@.str10546 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12005: index out of range: \00" -@.str10547 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str10548 = private unnamed_addr constant [8 x i8] c" binds \00" -@.str10549 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" -@.str10550 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12011: index out of range: \00" -@.str10551 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str10552 = private unnamed_addr constant [10 x i8] c" payload \00" -@.str10553 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" -@.str10554 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12012: index out of range: \00" -@.str10555 = private unnamed_addr constant [3 x i8] c" \00" -@.str10556 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" -@.str10557 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str10558 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10559 = private unnamed_addr constant [6 x i8] c"load \00" -@.str10560 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10561 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12018: index out of range: \00" -@.str10562 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10563 = private unnamed_addr constant [5 x i8] c"mend\00" -@.str10564 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12034: index out of range: \00" -@.str10565 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10566 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12042: index out of range: \00" -@.str10567 = private unnamed_addr constant [8 x i8] c"match: \00" -@.str10568 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" -@.str10569 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10570 = private unnamed_addr constant [3 x i8] c", \00" -@.str10571 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str10572 = private unnamed_addr constant [3 x i8] c", \00" -@.str10573 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str10574 = private unnamed_addr constant [5 x i8] c"marm\00" -@.str10575 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10576 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10577 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10578 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10579 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10580 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10581 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10582 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10583 = private unnamed_addr constant [10 x i8] c"match on \00" -@.str10584 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" -@.str10585 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12070: index out of range: \00" -@.str10586 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" -@.str10587 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10588 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10589 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10590 = private unnamed_addr constant [5 x i8] c"mend\00" -@.str10591 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12087: index out of range: \00" -@.str10592 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10593 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12094: index out of range: \00" -@.str10594 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10595 = private unnamed_addr constant [3 x i8] c", \00" -@.str10596 = private unnamed_addr constant [7 x i8] c"or i1 \00" -@.str10597 = private unnamed_addr constant [3 x i8] c", \00" -@.str10598 = private unnamed_addr constant [6 x i8] c"mbody\00" -@.str10599 = private unnamed_addr constant [5 x i8] c"marm\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 [13 x i8] c" br label %\00" -@.str10606 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10607 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10608 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10609 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10610 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10611 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" -@.str10612 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12126: index out of range: \00" -@.str10613 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12129: index out of range: \00" -@.str10614 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12129: index out of range: \00" -@.str10615 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10616 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10617 = private unnamed_addr constant [5 x i8] c"null\00" -@.str10618 = private unnamed_addr constant [3 x i8] c" \00" -@.str10619 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" -@.str10620 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str10621 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10622 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10623 = private unnamed_addr constant [3 x i8] c" \00" -@.str10624 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" -@.str10625 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10626 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10627 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12148: index out of range: \00" -@.str10628 = private unnamed_addr constant [2 x i8] c" \00" -@.str10629 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12148: index out of range: \00" -@.str10630 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10631 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10632 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12149: index out of range: \00" -@.str10633 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10634 = private unnamed_addr constant [10 x i8] c"toclients\00" -@.str10635 = private unnamed_addr constant [3 x i8] c"-1\00" -@.str10636 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str10637 = private unnamed_addr constant [14 x i8] c" call void @\00" -@.str10638 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10639 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" -@.str10640 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10641 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10642 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10643 = private unnamed_addr constant [3 x i8] c", \00" -@.str10644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12164: index out of range: \00" -@.str10645 = private unnamed_addr constant [2 x i8] c" \00" -@.str10646 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12164: index out of range: \00" -@.str10647 = private unnamed_addr constant [3 x i8] c" \00" -@.str10648 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" -@.str10649 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10650 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10651 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10652 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10653 = private unnamed_addr constant [2 x i8] c"(\00" -@.str10654 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10655 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10656 = private unnamed_addr constant [4 x i8] c"int\00" -@.str10657 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10658 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12198: index out of range: \00" -@.str10659 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10660 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10661 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12199: index out of range: \00" -@.str10662 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10663 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" -@.str10664 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" -@.str10665 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10666 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" -@.str10667 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12219: index out of range: \00" -@.str10668 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12219: index out of range: \00" -@.str10669 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12234: index out of range: \00" -@.str10670 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12243: index out of range: \00" -@.str10671 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12257: index out of range: \00" -@.str10672 = private unnamed_addr constant [9 x i8] c"Occluder\00" -@.str10673 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12266: index out of range: \00" -@.str10674 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" -@.str10675 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" -@.str10676 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" -@.str10677 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" -@.str10678 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" -@.str10679 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" -@.str10680 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10681 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" -@.str10682 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10683 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" -@.str10684 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10685 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" -@.str10686 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" -@.str10687 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" -@.str10688 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" -@.str10689 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str10690 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12298: index out of range: \00" -@.str10691 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str10692 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str10693 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10694 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" -@.str10695 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str10696 = private unnamed_addr constant [21 x i8] c" = internal global [\00" -@.str10697 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" -@.str10698 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str10699 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str10700 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str10701 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str10702 = private unnamed_addr constant [5 x i8] c"@LE_\00" -@.str10703 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12313: index out of range: \00" -@.str10704 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" -@.str10705 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" -@.str10706 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12322: index out of range: \00" -@.str10707 = private unnamed_addr constant [3 x i8] c"%h\00" -@.str10708 = private unnamed_addr constant [3 x i8] c" \00" -@.str10709 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10710 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10711 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12324: index out of range: \00" -@.str10712 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str10713 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str10714 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10715 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" -@.str10716 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str10717 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" -@.str10718 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" -@.str10719 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" -@.str10720 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" -@.str10721 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str10722 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" -@.str10723 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str10724 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" -@.str10725 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" -@.str10726 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" -@.str10727 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" -@.str10728 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str10729 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str10730 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" -@.str10731 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" -@.str10732 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str10733 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" -@.str10734 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" -@.str10735 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" -@.str10736 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" -@.str10737 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str10738 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str10739 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" -@.str10740 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str10741 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str10742 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str10743 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" -@.str10744 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" -@.str10745 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" -@.str10746 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str10747 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str10748 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" -@.str10749 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" -@.str10750 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" -@.str10751 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str10752 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" -@.str10753 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" -@.str10754 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" -@.str10755 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" -@.str10756 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str10757 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12378: index out of range: \00" -@.str10758 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12378: index out of range: \00" -@.str10759 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10760 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10761 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10762 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12386: index out of range: \00" -@.str10763 = private unnamed_addr constant [6 x i8] c"qcond\00" -@.str10764 = private unnamed_addr constant [6 x i8] c"qbody\00" -@.str10765 = private unnamed_addr constant [6 x i8] c"qnext\00" -@.str10766 = private unnamed_addr constant [5 x i8] c"qend\00" -@.str10767 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10768 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10769 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10770 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10771 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" -@.str10772 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str10773 = private unnamed_addr constant [3 x i8] c", \00" +@.str10370 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10371 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str10372 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str10373 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str10374 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str10375 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10376 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10377 = private unnamed_addr constant [6 x i8] c"fneg \00" +@.str10378 = private unnamed_addr constant [2 x i8] c" \00" +@.str10379 = private unnamed_addr constant [10 x i8] c"operator \00" +@.str10380 = private unnamed_addr constant [20 x i8] c" does not apply to \00" +@.str10381 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10382 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str10383 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10384 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str10385 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10386 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" +@.str10387 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10388 = private unnamed_addr constant [2 x i8] c"~\00" +@.str10389 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str10390 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str10391 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10392 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10393 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str10394 = private unnamed_addr constant [2 x i8] c"~\00" +@.str10395 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str10396 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str10397 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10398 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10399 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str10400 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str10401 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10402 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" +@.str10403 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10404 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10405 = private unnamed_addr constant [4 x i8] c"fn(\00" +@.str10406 = private unnamed_addr constant [2 x i8] c",\00" +@.str10407 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11680: index out of range: \00" +@.str10408 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10409 = private unnamed_addr constant [4 x i8] c")->\00" +@.str10410 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10411 = private unnamed_addr constant [4 x i8] c"fn \00" +@.str10412 = private unnamed_addr constant [22 x i8] c": no function called \00" +@.str10413 = private unnamed_addr constant [5 x i8] c"@fn_\00" +@.str10414 = private unnamed_addr constant [3 x i8] c"a \00" +@.str10415 = private unnamed_addr constant [8 x i8] c" takes \00" +@.str10416 = private unnamed_addr constant [35 x i8] c" argument(s), and this call gives \00" +@.str10417 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11741: index out of range: \00" +@.str10418 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11742: index out of range: \00" +@.str10419 = private unnamed_addr constant [3 x i8] c" \00" +@.str10420 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10421 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10422 = private unnamed_addr constant [4 x i8] c" = \00" +@.str10423 = private unnamed_addr constant [6 x i8] c"call \00" +@.str10424 = private unnamed_addr constant [2 x i8] c" \00" +@.str10425 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10426 = private unnamed_addr constant [3 x i8] c", \00" +@.str10427 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11757: index out of range: \00" +@.str10428 = private unnamed_addr constant [2 x i8] c" \00" +@.str10429 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11757: index out of range: \00" +@.str10430 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10431 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11769: index out of range: \00" +@.str10432 = private unnamed_addr constant [3 x i8] c"a \00" +@.str10433 = private unnamed_addr constant [40 x i8] c" is not a function and cannot be called\00" +@.str10434 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10435 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11795: index out of range: \00" +@.str10436 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10437 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11795: index out of range: \00" +@.str10438 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10439 = private unnamed_addr constant [4 x i8] c"fn \00" +@.str10440 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" +@.str10441 = private unnamed_addr constant [17 x i8] c"LUDIC_VIS_REPORT\00" +@.str10442 = private unnamed_addr constant [1 x i8] c"\00" +@.str10443 = private unnamed_addr constant [6 x i8] c"vis: \00" +@.str10444 = private unnamed_addr constant [2 x i8] c":\00" +@.str10445 = private unnamed_addr constant [3 x i8] c": \00" +@.str10446 = private unnamed_addr constant [2 x i8] c".\00" +@.str10447 = private unnamed_addr constant [12 x i8] c" used from \00" +@.str10448 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10449 = private unnamed_addr constant [23 x i8] c" is private to module \00" +@.str10450 = private unnamed_addr constant [42 x i8] c"; mark it 'export' where it is declared (\00" +@.str10451 = private unnamed_addr constant [2 x i8] c")\00" +@.str10452 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11873: index out of range: \00" +@.str10453 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11874: index out of range: \00" +@.str10454 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11877: index out of range: \00" +@.str10455 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11878: index out of range: \00" +@.str10456 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11883: index out of range: \00" +@.str10457 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11884: index out of range: \00" +@.str10458 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11884: index out of range: \00" +@.str10459 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11897: index out of range: \00" +@.str10460 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10461 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10462 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10463 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str10464 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str10465 = private unnamed_addr constant [3 x i8] c"u8\00" +@.str10466 = private unnamed_addr constant [4 x i8] c"an \00" +@.str10467 = private unnamed_addr constant [3 x i8] c"a \00" +@.str10468 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10469 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10470 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10471 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10472 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10473 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10474 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10475 = private unnamed_addr constant [7 x i8] c"number\00" +@.str10476 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10477 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10478 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10479 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10480 = private unnamed_addr constant [10 x i8] c"reference\00" +@.str10481 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10482 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10483 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10484 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10485 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10486 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10487 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10488 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10489 = private unnamed_addr constant [10 x i8] c"narrowing\00" +@.str10490 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10491 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10492 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10493 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10494 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10495 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10496 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10497 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10498 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10499 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10500 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10501 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10502 = private unnamed_addr constant [7 x i8] c"record\00" +@.str10503 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10504 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10505 = private unnamed_addr constant [10 x i8] c"[]pointer\00" +@.str10506 = private unnamed_addr constant [10 x i8] c"[]pointer\00" +@.str10507 = private unnamed_addr constant [6 x i8] c"slice\00" +@.str10508 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str10509 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10510 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10511 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10512 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10513 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12010: index out of range: \00" +@.str10514 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12011: index out of range: \00" +@.str10515 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12023: index out of range: \00" +@.str10516 = private unnamed_addr constant [19 x i8] c"LUDIC_CHECK_REPORT\00" +@.str10517 = private unnamed_addr constant [1 x i8] c"\00" +@.str10518 = private unnamed_addr constant [2 x i8] c":\00" +@.str10519 = private unnamed_addr constant [10 x i8] c": error: \00" +@.str10520 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10521 = private unnamed_addr constant [7 x i8] c"check[\00" +@.str10522 = private unnamed_addr constant [4 x i8] c"]: \00" +@.str10523 = private unnamed_addr constant [2 x i8] c":\00" +@.str10524 = private unnamed_addr constant [3 x i8] c": \00" +@.str10525 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10526 = private unnamed_addr constant [8 x i8] c" wants \00" +@.str10527 = private unnamed_addr constant [14 x i8] c" and this is \00" +@.str10528 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12060: index out of range: \00" +@.str10529 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12060: index out of range: \00" +@.str10530 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12073: index out of range: \00" +@.str10531 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10532 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10533 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10534 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10535 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10536 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10537 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10538 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10539 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10540 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10541 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10542 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12115: index out of range: \00" +@.str10543 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10544 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12125: index out of range: \00" +@.str10545 = private unnamed_addr constant [7 x i8] c"field \00" +@.str10546 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10547 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10548 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12140: index out of range: \00" +@.str10549 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12142: index out of range: \00" +@.str10550 = private unnamed_addr constant [19 x i8] c"an element of a []\00" +@.str10551 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10552 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10553 = private unnamed_addr constant [3 x i8] c"[]\00" +@.str10554 = private unnamed_addr constant [4 x i8] c"not\00" +@.str10555 = private unnamed_addr constant [2 x i8] c"!\00" +@.str10556 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10557 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10558 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10559 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10560 = private unnamed_addr constant [12 x i8] c"- on a bool\00" +@.str10561 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10562 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10563 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10564 = private unnamed_addr constant [6 x i8] c"index\00" +@.str10565 = private unnamed_addr constant [35 x i8] c"an index wants an int and this is \00" +@.str10566 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10567 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10568 = private unnamed_addr constant [6 x i8] c"words\00" +@.str10569 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10570 = private unnamed_addr constant [7 x i8] c"floats\00" +@.str10571 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10572 = private unnamed_addr constant [8 x i8] c"doubles\00" +@.str10573 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10574 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str10575 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10576 = private unnamed_addr constant [9 x i8] c"pointers\00" +@.str10577 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10578 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10579 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10580 = private unnamed_addr constant [5 x i8] c"cond\00" +@.str10581 = private unnamed_addr constant [38 x i8] c"a condition wants a bool and this is \00" +@.str10582 = private unnamed_addr constant [4 x i8] c"and\00" +@.str10583 = private unnamed_addr constant [3 x i8] c"or\00" +@.str10584 = private unnamed_addr constant [3 x i8] c"&&\00" +@.str10585 = private unnamed_addr constant [3 x i8] c"||\00" +@.str10586 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10587 = private unnamed_addr constant [3 x i8] c"==\00" +@.str10588 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str10589 = private unnamed_addr constant [2 x i8] c"<\00" +@.str10590 = private unnamed_addr constant [2 x i8] c">\00" +@.str10591 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str10592 = private unnamed_addr constant [3 x i8] c">=\00" +@.str10593 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10594 = private unnamed_addr constant [2 x i8] c"+\00" +@.str10595 = private unnamed_addr constant [2 x i8] c"-\00" +@.str10596 = private unnamed_addr constant [2 x i8] c"*\00" +@.str10597 = private unnamed_addr constant [2 x i8] c"/\00" +@.str10598 = private unnamed_addr constant [2 x i8] c"%\00" +@.str10599 = private unnamed_addr constant [2 x i8] c"&\00" +@.str10600 = private unnamed_addr constant [2 x i8] c"|\00" +@.str10601 = private unnamed_addr constant [2 x i8] c"^\00" +@.str10602 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str10603 = private unnamed_addr constant [3 x i8] c">>\00" +@.str10604 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10605 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10606 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10607 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10608 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10609 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10610 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10611 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10612 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10613 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10614 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10615 = private unnamed_addr constant [8 x i8] c"compare\00" +@.str10616 = private unnamed_addr constant [10 x i8] c" between \00" +@.str10617 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10618 = private unnamed_addr constant [8 x i8] c"compare\00" +@.str10619 = private unnamed_addr constant [10 x i8] c" between \00" +@.str10620 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10621 = private unnamed_addr constant [19 x i8] c" can never be true\00" +@.str10622 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10623 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10624 = private unnamed_addr constant [22 x i8] c" between a fixed and \00" +@.str10625 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10626 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10627 = private unnamed_addr constant [10 x i8] c" between \00" +@.str10628 = private unnamed_addr constant [13 x i8] c" and a fixed\00" +@.str10629 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10630 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str10631 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10632 = private unnamed_addr constant [2 x i8] c"+\00" +@.str10633 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10634 = private unnamed_addr constant [5 x i8] c"text\00" +@.str10635 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10636 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10637 = private unnamed_addr constant [54 x i8] c": text joins text only - write string(x) for a number\00" +@.str10638 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10639 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10640 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10641 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10642 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str10643 = private unnamed_addr constant [11 x i8] c" on a bool\00" +@.str10644 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10645 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str10646 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10647 = private unnamed_addr constant [6 x i8] c" and \00" +@.str10648 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10649 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10650 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10651 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10652 = private unnamed_addr constant [17 x i8] c" of a fixed and \00" +@.str10653 = private unnamed_addr constant [40 x i8] c": convert one with float(x) or fixed(x)\00" +@.str10654 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10655 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10656 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10657 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10658 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10659 = private unnamed_addr constant [52 x i8] c" and a fixed: convert one with float(x) or fixed(x)\00" +@.str10660 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10661 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10662 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10663 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10664 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10665 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10666 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10667 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10668 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10669 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10670 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10671 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12280: index out of range: \00" +@.str10672 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12281: index out of range: \00" +@.str10673 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12282: index out of range: \00" +@.str10674 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10675 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12302: index out of range: \00" +@.str10676 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12309: index out of range: \00" +@.str10677 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12312: index out of range: \00" +@.str10678 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12315: index out of range: \00" +@.str10679 = private unnamed_addr constant [10 x i8] c"argument \00" +@.str10680 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10681 = private unnamed_addr constant [6 x i8] c"arity\00" +@.str10682 = private unnamed_addr constant [8 x i8] c" takes \00" +@.str10683 = private unnamed_addr constant [34 x i8] c" argument(s) and this call gives \00" +@.str10684 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12323: index out of range: \00" +@.str10685 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12324: index out of range: \00" +@.str10686 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12324: index out of range: \00" +@.str10687 = private unnamed_addr constant [10 x i8] c"argument \00" +@.str10688 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10689 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12331: index out of range: \00" +@.str10690 = private unnamed_addr constant [7 x i8] c"string\00" +@.str10691 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10692 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10693 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str10694 = private unnamed_addr constant [5 x i8] c"long\00" +@.str10695 = private unnamed_addr constant [7 x i8] c"double\00" +@.str10696 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str10697 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str10698 = private unnamed_addr constant [4 x i8] c"len\00" +@.str10699 = private unnamed_addr constant [11 x i8] c"float_bits\00" +@.str10700 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10701 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" +@.str10702 = private unnamed_addr constant [6 x i8] c"float\00" +@.str10703 = private unnamed_addr constant [6 x i8] c"print\00" +@.str10704 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10705 = private unnamed_addr constant [5 x i8] c"push\00" +@.str10706 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12358: index out of range: \00" +@.str10707 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12359: index out of range: \00" +@.str10708 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12360: index out of range: \00" +@.str10709 = private unnamed_addr constant [11 x i8] c"push onto \00" +@.str10710 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10711 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10712 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10713 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10714 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10715 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12393: index out of range: \00" +@.str10716 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12393: index out of range: \00" +@.str10717 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10718 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10719 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12414: index out of range: \00" +@.str10720 = private unnamed_addr constant [7 x i8] c"field \00" +@.str10721 = private unnamed_addr constant [5 x i8] c" of \00" +@.str10722 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12438: index out of range: \00" +@.str10723 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10724 = private unnamed_addr constant [16 x i8] c"this assignment\00" +@.str10725 = private unnamed_addr constant [7 x i8] c"field \00" +@.str10726 = private unnamed_addr constant [2 x i8] c"=\00" +@.str10727 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12475: index out of range: \00" +@.str10728 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12479: index out of range: \00" +@.str10729 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12484: index out of range: \00" +@.str10730 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12484: index out of range: \00" +@.str10731 = private unnamed_addr constant [2 x i8] c"?\00" +@.str10732 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10733 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10734 = private unnamed_addr constant [11 x i8] c"the result\00" +@.str10735 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12535: index out of range: \00" +@.str10736 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12535: index out of range: \00" +@.str10737 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12535: index out of range: \00" +@.str10738 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10739 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10740 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12550: index out of range: \00" +@.str10741 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12550: index out of range: \00" +@.str10742 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10743 = private unnamed_addr constant [12 x i8] c"LUDIC_CHECK\00" +@.str10744 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10745 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12565: index out of range: \00" +@.str10746 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12573: index out of range: \00" +@.str10747 = private unnamed_addr constant [16 x i8] c" type error(s)\0A\00" +@.str10748 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12594: index out of range: \00" +@.str10749 = private unnamed_addr constant [9 x i8] c" store \00" +@.str10750 = private unnamed_addr constant [2 x i8] c" \00" +@.str10751 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10752 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10753 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10754 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10755 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12620: index out of range: \00" +@.str10756 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" +@.str10757 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" +@.str10758 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12621: index out of range: \00" +@.str10759 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12621: index out of range: \00" +@.str10760 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" +@.str10761 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str10762 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" +@.str10763 = private unnamed_addr constant [2 x i8] c"=\00" +@.str10764 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10765 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10766 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10767 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str10768 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str10769 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10770 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10771 = private unnamed_addr constant [5 x i8] c"then\00" +@.str10772 = private unnamed_addr constant [5 x i8] c"else\00" +@.str10773 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str10774 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10775 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10776 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10777 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10778 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10779 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10780 = private unnamed_addr constant [3 x i8] c" \00" -@.str10781 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10782 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" -@.str10783 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10784 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10785 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10786 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10787 = private unnamed_addr constant [3 x i8] c"qa\00" -@.str10788 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10789 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10790 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10791 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10792 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10793 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12410: index out of range: \00" -@.str10794 = private unnamed_addr constant [2 x i8] c"0\00" -@.str10795 = private unnamed_addr constant [3 x i8] c" \00" -@.str10796 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10797 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str10798 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10799 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10800 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10801 = private unnamed_addr constant [3 x i8] c", \00" -@.str10802 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" -@.str10803 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10804 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10805 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str10806 = private unnamed_addr constant [3 x i8] c", \00" -@.str10807 = private unnamed_addr constant [3 x i8] c" \00" -@.str10808 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10809 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10810 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10811 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10812 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str10813 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str10814 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10815 = private unnamed_addr constant [3 x i8] c"qt\00" -@.str10816 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10817 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10818 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10819 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10820 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10821 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12436: index out of range: \00" -@.str10822 = private unnamed_addr constant [3 x i8] c" \00" -@.str10823 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10824 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10825 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str10826 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10827 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10828 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10829 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str10830 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10778 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10779 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10780 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10781 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10782 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10783 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10784 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10785 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10786 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10787 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10788 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10789 = private unnamed_addr constant [6 x i8] c"wcond\00" +@.str10790 = private unnamed_addr constant [6 x i8] c"wbody\00" +@.str10791 = private unnamed_addr constant [5 x i8] c"wend\00" +@.str10792 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10793 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10794 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10795 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10796 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10797 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10798 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10799 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10800 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10801 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10802 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10803 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10804 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10805 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10806 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10807 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10808 = private unnamed_addr constant [6 x i8] c"fcond\00" +@.str10809 = private unnamed_addr constant [6 x i8] c"fbody\00" +@.str10810 = private unnamed_addr constant [6 x i8] c"fcont\00" +@.str10811 = private unnamed_addr constant [5 x i8] c"fend\00" +@.str10812 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10813 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10814 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10815 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10816 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str10817 = private unnamed_addr constant [3 x i8] c", \00" +@.str10818 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10819 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10820 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10821 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10822 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10823 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10824 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10825 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10826 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10827 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str10828 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str10829 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10830 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10831 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10832 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12443: index out of range: \00" -@.str10833 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10834 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10835 = private unnamed_addr constant [3 x i8] c"qw\00" -@.str10836 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10837 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10838 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10839 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10840 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10841 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10842 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10843 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10844 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10845 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str10846 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str10847 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10848 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10849 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10850 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10851 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str10852 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str10853 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10854 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10855 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12481: index out of range: \00" -@.str10856 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" -@.str10857 = private unnamed_addr constant [3 x i8] c" \00" -@.str10858 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10859 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10860 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10861 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10862 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" -@.str10863 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10864 = private unnamed_addr constant [3 x i8] c" \00" -@.str10865 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10866 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10867 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str10868 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10869 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12498: index out of range: \00" -@.str10871 = private unnamed_addr constant [3 x i8] c" \00" -@.str10872 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str10873 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10874 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10832 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10833 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10834 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" +@.str10835 = private unnamed_addr constant [8 x i8] c"%retval\00" +@.str10836 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10837 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10838 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12724: index out of range: \00" +@.str10839 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12740: index out of range: \00" +@.str10840 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12752: index out of range: \00" +@.str10841 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12752: index out of range: \00" +@.str10842 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10843 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12762: index out of range: \00" +@.str10844 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str10845 = private unnamed_addr constant [8 x i8] c" binds \00" +@.str10846 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" +@.str10847 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12768: index out of range: \00" +@.str10848 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str10849 = private unnamed_addr constant [10 x i8] c" payload \00" +@.str10850 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" +@.str10851 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12769: index out of range: \00" +@.str10852 = private unnamed_addr constant [3 x i8] c" \00" +@.str10853 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str10854 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10855 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10856 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10857 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10858 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12775: index out of range: \00" +@.str10859 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10860 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str10861 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12791: index out of range: \00" +@.str10862 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10863 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12799: index out of range: \00" +@.str10864 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str10865 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str10866 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10867 = private unnamed_addr constant [3 x i8] c", \00" +@.str10868 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str10869 = private unnamed_addr constant [3 x i8] c", \00" +@.str10870 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str10871 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str10872 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10873 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10874 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10875 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10876 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10877 = private unnamed_addr constant [2 x i8] c" \00" -@.str10878 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10879 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10880 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12511: index out of range: \00" -@.str10881 = private unnamed_addr constant [3 x i8] c" \00" -@.str10882 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str10883 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10884 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10876 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10877 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10878 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10879 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10880 = private unnamed_addr constant [10 x i8] c"match on \00" +@.str10881 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" +@.str10882 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12827: index out of range: \00" +@.str10883 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" +@.str10884 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10885 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10886 = private unnamed_addr constant [9 x i8] c" store \00" -@.str10887 = private unnamed_addr constant [2 x i8] c" \00" -@.str10888 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10889 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10890 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10891 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str10892 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10893 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10894 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str10895 = private unnamed_addr constant [8 x i8] c"_attach\00" -@.str10896 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10897 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10898 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10899 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12545: index out of range: \00" -@.str10900 = private unnamed_addr constant [3 x i8] c" \00" -@.str10901 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10902 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str10903 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str10904 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10905 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10906 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str10907 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str10908 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10909 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10910 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12559: index out of range: \00" -@.str10911 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12559: index out of range: \00" -@.str10912 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12568: index out of range: \00" -@.str10913 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12570: index out of range: \00" -@.str10914 = private unnamed_addr constant [8 x i8] c"prefab \00" -@.str10915 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" -@.str10916 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" -@.str10917 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str10918 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10919 = private unnamed_addr constant [5 x i8] c"wgok\00" -@.str10920 = private unnamed_addr constant [6 x i8] c"wgbad\00" -@.str10921 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10922 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10923 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10924 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10925 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10926 = private unnamed_addr constant [2 x i8] c":\00" -@.str10927 = private unnamed_addr constant [10 x i8] c": panic: \00" -@.str10928 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" -@.str10929 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" -@.str10930 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" -@.str10931 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10932 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10933 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" -@.str10934 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10935 = private unnamed_addr constant [6 x i8] c"spawn\00" -@.str10936 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" -@.str10937 = private unnamed_addr constant [8 x i8] c"prefab \00" -@.str10938 = private unnamed_addr constant [17 x i8] c": unknown model \00" -@.str10939 = private unnamed_addr constant [3 x i8] c" \00" -@.str10940 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10941 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str10942 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10943 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str10944 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str10945 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10946 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12627: index out of range: \00" -@.str10947 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str10948 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str10886 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10887 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str10888 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12844: index out of range: \00" +@.str10889 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10890 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12851: index out of range: \00" +@.str10891 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10892 = private unnamed_addr constant [3 x i8] c", \00" +@.str10893 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str10894 = private unnamed_addr constant [3 x i8] c", \00" +@.str10895 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str10896 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str10897 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10898 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10899 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10900 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10901 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10902 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10903 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10904 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10905 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10906 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10907 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10908 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" +@.str10909 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12883: index out of range: \00" +@.str10910 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12886: index out of range: \00" +@.str10911 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12886: index out of range: \00" +@.str10912 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10913 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10914 = private unnamed_addr constant [5 x i8] c"null\00" +@.str10915 = private unnamed_addr constant [3 x i8] c" \00" +@.str10916 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" +@.str10917 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10918 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10919 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10920 = private unnamed_addr constant [3 x i8] c" \00" +@.str10921 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" +@.str10922 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10923 = private unnamed_addr constant [9 x i8] c" store \00" +@.str10924 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12905: index out of range: \00" +@.str10925 = private unnamed_addr constant [2 x i8] c" \00" +@.str10926 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12905: index out of range: \00" +@.str10927 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10928 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10929 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12906: index out of range: \00" +@.str10930 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10931 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str10932 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str10933 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str10934 = private unnamed_addr constant [14 x i8] c" call void @\00" +@.str10935 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str10936 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" +@.str10937 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10938 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10939 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10940 = private unnamed_addr constant [3 x i8] c", \00" +@.str10941 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12921: index out of range: \00" +@.str10942 = private unnamed_addr constant [2 x i8] c" \00" +@.str10943 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12921: index out of range: \00" +@.str10944 = private unnamed_addr constant [3 x i8] c" \00" +@.str10945 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" +@.str10946 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10947 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10948 = private unnamed_addr constant [4 x i8] c"int\00" @.str10949 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10950 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str10950 = private unnamed_addr constant [2 x i8] c"(\00" @.str10951 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10952 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12644: index out of range: \00" -@.str10953 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12644: index out of range: \00" -@.str10954 = private unnamed_addr constant [8 x i8] c"despawn\00" -@.str10955 = private unnamed_addr constant [3 x i8] c" \00" -@.str10956 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10957 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" -@.str10958 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10959 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str10960 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12659: index out of range: \00" -@.str10961 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str10962 = private unnamed_addr constant [3 x i8] c", \00" -@.str10963 = private unnamed_addr constant [3 x i8] c"dh\00" -@.str10964 = private unnamed_addr constant [4 x i8] c"dhn\00" -@.str10965 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10966 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10967 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10968 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10969 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str10970 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10971 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str10972 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str10973 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str10974 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str10975 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str10976 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" -@.str10977 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str10978 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10979 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10980 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" -@.str10981 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10982 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" -@.str10983 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str10984 = private unnamed_addr constant [3 x i8] c" \00" -@.str10985 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str10986 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str10987 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str10988 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10989 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str10990 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" -@.str10991 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str10992 = private unnamed_addr constant [7 x i8] c"attach\00" -@.str10993 = private unnamed_addr constant [8 x i8] c"attdone\00" -@.str10994 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str10995 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10996 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str10997 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str10998 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str10999 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11000 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11001 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11002 = private unnamed_addr constant [3 x i8] c" \00" -@.str11003 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11004 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11005 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11006 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11007 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" -@.str11008 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" -@.str11009 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11010 = private unnamed_addr constant [7 x i8] c"detach\00" -@.str11011 = private unnamed_addr constant [8 x i8] c"detdone\00" -@.str11012 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11013 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11014 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11015 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11016 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11017 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" -@.str11018 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11019 = private unnamed_addr constant [3 x i8] c" \00" -@.str11020 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11021 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11022 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11023 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11024 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11025 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11026 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str11027 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11028 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11029 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str11030 = private unnamed_addr constant [8 x i8] c"_detach\00" -@.str11031 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11032 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str11033 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11034 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11035 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11036 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11037 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12727: index out of range: \00" -@.str11038 = private unnamed_addr constant [2 x i8] c"0\00" -@.str11039 = private unnamed_addr constant [2 x i8] c"1\00" -@.str11040 = private unnamed_addr constant [7 x i8] c"system\00" -@.str11041 = private unnamed_addr constant [6 x i8] c"layer\00" -@.str11042 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str11043 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" -@.str11044 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11045 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str11046 = private unnamed_addr constant [6 x i8] c"_hide\00" -@.str11047 = private unnamed_addr constant [7 x i8] c"layer_\00" -@.str11048 = private unnamed_addr constant [6 x i8] c"_show\00" -@.str11049 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11050 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11051 = private unnamed_addr constant [3 x i8] c" \00" -@.str11052 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11053 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11054 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11055 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11056 = private unnamed_addr constant [12 x i8] c" store i8 \00" -@.str11057 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11058 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11059 = private unnamed_addr constant [3 x i8] c" \00" -@.str11060 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11061 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11062 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11063 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11064 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11065 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11066 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str11067 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11068 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11069 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str11070 = private unnamed_addr constant [9 x i8] c"_disable\00" -@.str11071 = private unnamed_addr constant [6 x i8] c"prop_\00" -@.str11072 = private unnamed_addr constant [8 x i8] c"_enable\00" -@.str11073 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11074 = private unnamed_addr constant [6 x i8] c"(i32 \00" -@.str11075 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11076 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str11077 = private unnamed_addr constant [5 x i8] c"@ME_\00" -@.str11078 = private unnamed_addr constant [5 x i8] c"@HE_\00" -@.str11079 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11080 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str11081 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11082 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11083 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11084 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11085 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str11086 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" -@.str11087 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11088 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11089 = private unnamed_addr constant [1 x i8] c"\00" -@.str11090 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" -@.str11091 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str11092 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11093 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" -@.str11094 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str11095 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11096 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str11097 = private unnamed_addr constant [3 x i8] c", \00" -@.str11098 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" -@.str11099 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11100 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str11101 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str11102 = private unnamed_addr constant [3 x i8] c", \00" -@.str11103 = private unnamed_addr constant [5 x i8] c"hrun\00" -@.str11104 = private unnamed_addr constant [6 x i8] c"hskip\00" -@.str11105 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11106 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11107 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10952 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10953 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10954 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10955 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12955: index out of range: \00" +@.str10956 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10957 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10958 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12956: index out of range: \00" +@.str10959 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10960 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" +@.str10961 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str10962 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10963 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" +@.str10964 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12976: index out of range: \00" +@.str10965 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12976: index out of range: \00" +@.str10966 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12991: index out of range: \00" +@.str10967 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13000: index out of range: \00" +@.str10968 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13014: index out of range: \00" +@.str10969 = private unnamed_addr constant [9 x i8] c"Occluder\00" +@.str10970 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13023: index out of range: \00" +@.str10971 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" +@.str10972 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" +@.str10973 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" +@.str10974 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" +@.str10975 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" +@.str10976 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" +@.str10977 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10978 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" +@.str10979 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10980 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" +@.str10981 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10982 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" +@.str10983 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" +@.str10984 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" +@.str10985 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" +@.str10986 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str10987 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13055: index out of range: \00" +@.str10988 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str10989 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str10990 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10991 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" +@.str10992 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str10993 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str10994 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" +@.str10995 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str10996 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str10997 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str10998 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str10999 = private unnamed_addr constant [5 x i8] c"@LE_\00" +@.str11000 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13070: index out of range: \00" +@.str11001 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str11002 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" +@.str11003 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13079: index out of range: \00" +@.str11004 = private unnamed_addr constant [3 x i8] c"%h\00" +@.str11005 = private unnamed_addr constant [3 x i8] c" \00" +@.str11006 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11007 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11008 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13081: index out of range: \00" +@.str11009 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str11010 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str11011 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11012 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" +@.str11013 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str11014 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" +@.str11015 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" +@.str11016 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" +@.str11017 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" +@.str11018 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11019 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" +@.str11020 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str11021 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" +@.str11022 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" +@.str11023 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" +@.str11024 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" +@.str11025 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str11026 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str11027 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" +@.str11028 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" +@.str11029 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str11030 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" +@.str11031 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" +@.str11032 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" +@.str11033 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" +@.str11034 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str11035 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str11036 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" +@.str11037 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str11038 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str11039 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str11040 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" +@.str11041 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" +@.str11042 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" +@.str11043 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str11044 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str11045 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" +@.str11046 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str11047 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str11048 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str11049 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" +@.str11050 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" +@.str11051 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" +@.str11052 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str11053 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11054 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13135: index out of range: \00" +@.str11055 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13135: index out of range: \00" +@.str11056 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11057 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11058 = private unnamed_addr constant [2 x i8] c"0\00" +@.str11059 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13143: index out of range: \00" +@.str11060 = private unnamed_addr constant [6 x i8] c"qcond\00" +@.str11061 = private unnamed_addr constant [6 x i8] c"qbody\00" +@.str11062 = private unnamed_addr constant [6 x i8] c"qnext\00" +@.str11063 = private unnamed_addr constant [5 x i8] c"qend\00" +@.str11064 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11065 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11066 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11067 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11068 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str11069 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str11070 = private unnamed_addr constant [3 x i8] c", \00" +@.str11071 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11072 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11073 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11075 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11076 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11077 = private unnamed_addr constant [3 x i8] c" \00" +@.str11078 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11079 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str11080 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11081 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11082 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11083 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11084 = private unnamed_addr constant [3 x i8] c"qa\00" +@.str11085 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11086 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11087 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11088 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11089 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11090 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13167: index out of range: \00" +@.str11091 = private unnamed_addr constant [2 x i8] c"0\00" +@.str11092 = private unnamed_addr constant [3 x i8] c" \00" +@.str11093 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11094 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str11095 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11096 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11097 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11098 = private unnamed_addr constant [3 x i8] c", \00" +@.str11099 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" +@.str11100 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11101 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11102 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str11103 = private unnamed_addr constant [3 x i8] c", \00" +@.str11104 = private unnamed_addr constant [3 x i8] c" \00" +@.str11105 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11106 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11107 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11108 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11109 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" -@.str11110 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11111 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11112 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11113 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11114 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" -@.str11115 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11116 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12840: index out of range: \00" -@.str11117 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12840: index out of range: \00" -@.str11118 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12840: index out of range: \00" -@.str11119 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str11120 = private unnamed_addr constant [11 x i8] c"esys_tween\00" -@.str11121 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" -@.str11122 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" -@.str11123 = private unnamed_addr constant [8 x i8] c"fx_tick\00" -@.str11124 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" -@.str11125 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str11126 = private unnamed_addr constant [8 x i8] c"fx_draw\00" -@.str11127 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" -@.str11128 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" -@.str11129 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" -@.str11130 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" -@.str11131 = 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" -@.str11132 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" -@.str11133 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" -@.str11134 = 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" -@.str11135 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12869: index out of range: \00" -@.str11136 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12873: index out of range: \00" -@.str11137 = private unnamed_addr constant [10 x i8] c"countdown\00" -@.str11138 = private unnamed_addr constant [2 x i8] c"c\00" -@.str11139 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11140 = private unnamed_addr constant [5 x i8] c" %h\00" -@.str11141 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11142 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11143 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" -@.str11144 = private unnamed_addr constant [6 x i8] c" %hv\00" -@.str11145 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" +@.str11109 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str11110 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str11111 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11112 = private unnamed_addr constant [3 x i8] c"qt\00" +@.str11113 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11114 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11115 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11116 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11117 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11118 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13193: index out of range: \00" +@.str11119 = private unnamed_addr constant [3 x i8] c" \00" +@.str11120 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11121 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11122 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11123 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11124 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11125 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11126 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11127 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11128 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11129 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13200: index out of range: \00" +@.str11130 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11131 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11132 = private unnamed_addr constant [3 x i8] c"qw\00" +@.str11133 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11134 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11135 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11136 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11137 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11138 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11139 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11140 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11141 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11142 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str11143 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11144 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11145 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11146 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11147 = private unnamed_addr constant [7 x i8] c" %has\00" -@.str11148 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" -@.str11149 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11150 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" -@.str11151 = private unnamed_addr constant [11 x i8] c", label %t\00" -@.str11152 = private unnamed_addr constant [11 x i8] c", label %c\00" -@.str11153 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11154 = private unnamed_addr constant [2 x i8] c"t\00" -@.str11155 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11156 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str11157 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11158 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11159 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11160 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" -@.str11161 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12885: index out of range: \00" -@.str11162 = private unnamed_addr constant [10 x i8] c"countdown\00" -@.str11163 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11164 = private unnamed_addr constant [6 x i8] c" %fa\00" -@.str11165 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str11166 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str11167 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11168 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11169 = private unnamed_addr constant [6 x i8] c" %fv\00" -@.str11170 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" -@.str11171 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11172 = private unnamed_addr constant [6 x i8] c" %fp\00" -@.str11173 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" -@.str11174 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11175 = private unnamed_addr constant [6 x i8] c" %fd\00" -@.str11176 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" -@.str11177 = private unnamed_addr constant [5 x i8] c", 1\0A\00" -@.str11178 = private unnamed_addr constant [6 x i8] c" %fn\00" -@.str11179 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" -@.str11180 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" -@.str11181 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" +@.str11147 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11148 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11149 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11150 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11151 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11152 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13238: index out of range: \00" +@.str11153 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" +@.str11154 = private unnamed_addr constant [3 x i8] c" \00" +@.str11155 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11156 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11157 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11158 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11159 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" +@.str11160 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11161 = private unnamed_addr constant [3 x i8] c" \00" +@.str11162 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11163 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11164 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11165 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11166 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11167 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13255: index out of range: \00" +@.str11168 = private unnamed_addr constant [3 x i8] c" \00" +@.str11169 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str11170 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11171 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11172 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11173 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11174 = private unnamed_addr constant [2 x i8] c" \00" +@.str11175 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11176 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11177 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13268: index out of range: \00" +@.str11178 = private unnamed_addr constant [3 x i8] c" \00" +@.str11179 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str11180 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11181 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11182 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11183 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" -@.str11184 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" -@.str11185 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11186 = private unnamed_addr constant [14 x i8] c" br label %c\00" -@.str11187 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11188 = private unnamed_addr constant [2 x i8] c"c\00" -@.str11189 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" -@.str11190 = 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" -@.str11191 = private unnamed_addr constant [4 x i8] c"int\00" -@.str11192 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11193 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11194 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" -@.str11195 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11196 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11197 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12927: index out of range: \00" -@.str11198 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12927: index out of range: \00" -@.str11199 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12936: index out of range: \00" -@.str11200 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" -@.str11201 = private unnamed_addr constant [2 x i8] c")\00" -@.str11202 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str11203 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str11204 = private unnamed_addr constant [3 x i8] c"pf\00" -@.str11205 = private unnamed_addr constant [4 x i8] c"pfn\00" -@.str11206 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11207 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11208 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11209 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11210 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11211 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" -@.str11212 = private unnamed_addr constant [3 x i8] c"()\00" -@.str11213 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11214 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11215 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11216 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" -@.str11217 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" -@.str11218 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11219 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str11220 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str11221 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str11222 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str11223 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str11224 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str11225 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str11226 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str11227 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" -@.str11228 = private unnamed_addr constant [2 x i8] c"'\00" -@.str11229 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str11230 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str11231 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str11232 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str11233 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str11234 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str11235 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str11236 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" -@.str11237 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" -@.str11238 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" -@.str11239 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" -@.str11240 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" -@.str11241 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" -@.str11242 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" -@.str11243 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" -@.str11244 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" -@.str11245 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" -@.str11246 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" -@.str11247 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" -@.str11248 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" -@.str11249 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" -@.str11250 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" -@.str11251 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" -@.str11252 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" -@.str11253 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" -@.str11254 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" -@.str11255 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" -@.str11256 = private unnamed_addr constant [12 x i8] c"module_init\00" -@.str11257 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" -@.str11258 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" -@.str11259 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13029: index out of range: \00" -@.str11260 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str11261 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13029: index out of range: \00" -@.str11262 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11263 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str11264 = 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" -@.str11265 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" -@.str11266 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str11267 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" -@.str11268 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str11269 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" -@.str11270 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" -@.str11271 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" -@.str11272 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" -@.str11273 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11274 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" -@.str11275 = private unnamed_addr constant [6 x i8] c"add:\0A\00" -@.str11276 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" -@.str11277 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" -@.str11278 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" -@.str11279 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" -@.str11280 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" -@.str11281 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" -@.str11282 = 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" -@.str11283 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str11284 = private unnamed_addr constant [4 x i8] c"dsp\00" -@.str11285 = private unnamed_addr constant [4 x i8] c"dsh\00" -@.str11286 = private unnamed_addr constant [4 x i8] c"dsb\00" -@.str11287 = private unnamed_addr constant [5 x i8] c"dsdo\00" -@.str11288 = private unnamed_addr constant [4 x i8] c"dsc\00" -@.str11289 = private unnamed_addr constant [4 x i8] c"dsn\00" -@.str11290 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11291 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11292 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" -@.str11293 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11294 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11295 = private unnamed_addr constant [3 x i8] c" \00" -@.str11296 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" -@.str11297 = private unnamed_addr constant [7 x i8] c" ], [ \00" -@.str11298 = private unnamed_addr constant [4 x i8] c", %\00" -@.str11299 = private unnamed_addr constant [4 x i8] c" ]\0A\00" -@.str11300 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" -@.str11301 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str11302 = private unnamed_addr constant [3 x i8] c", \00" -@.str11303 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11304 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11305 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11306 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11307 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11308 = private unnamed_addr constant [3 x i8] c" \00" -@.str11309 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11310 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" -@.str11311 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11312 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str11313 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11314 = private unnamed_addr constant [3 x i8] c", \00" -@.str11315 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11316 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11317 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11318 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11319 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11320 = private unnamed_addr constant [3 x i8] c" \00" -@.str11321 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11322 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" -@.str11323 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11324 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str11325 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str11326 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11327 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11328 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11329 = private unnamed_addr constant [5 x i8] c":\0A \00" -@.str11330 = private unnamed_addr constant [12 x i8] c" = add i32 \00" -@.str11331 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" +@.str11183 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11184 = private unnamed_addr constant [2 x i8] c" \00" +@.str11185 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11186 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11187 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11188 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11189 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11190 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11191 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11192 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str11193 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11194 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11195 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11196 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13302: index out of range: \00" +@.str11197 = private unnamed_addr constant [3 x i8] c" \00" +@.str11198 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11199 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11200 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11201 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11202 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11203 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11204 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11205 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11206 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11207 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13316: index out of range: \00" +@.str11208 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13316: index out of range: \00" +@.str11209 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13325: index out of range: \00" +@.str11210 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13327: index out of range: \00" +@.str11211 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str11212 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" +@.str11213 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" +@.str11214 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11215 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11216 = private unnamed_addr constant [5 x i8] c"wgok\00" +@.str11217 = private unnamed_addr constant [6 x i8] c"wgbad\00" +@.str11218 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11219 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11220 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11221 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11222 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11223 = private unnamed_addr constant [2 x i8] c":\00" +@.str11224 = private unnamed_addr constant [10 x i8] c": panic: \00" +@.str11225 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" +@.str11226 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" +@.str11227 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" +@.str11228 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11229 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11230 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" +@.str11231 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11232 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str11233 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" +@.str11234 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str11235 = private unnamed_addr constant [17 x i8] c": unknown model \00" +@.str11236 = private unnamed_addr constant [3 x i8] c" \00" +@.str11237 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11238 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str11239 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11240 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11241 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11242 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11243 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13384: index out of range: \00" +@.str11244 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11245 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str11246 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11247 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11248 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11249 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13401: index out of range: \00" +@.str11250 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13401: index out of range: \00" +@.str11251 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str11252 = private unnamed_addr constant [3 x i8] c" \00" +@.str11253 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11254 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str11255 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11256 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11257 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13416: index out of range: \00" +@.str11258 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11259 = private unnamed_addr constant [3 x i8] c", \00" +@.str11260 = private unnamed_addr constant [3 x i8] c"dh\00" +@.str11261 = private unnamed_addr constant [4 x i8] c"dhn\00" +@.str11262 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11263 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11264 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11265 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11266 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str11267 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11268 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str11269 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11270 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str11271 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11272 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11273 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str11274 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11275 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11276 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11277 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" +@.str11278 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11279 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" +@.str11280 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11281 = private unnamed_addr constant [3 x i8] c" \00" +@.str11282 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11283 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11284 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11285 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11286 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str11287 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" +@.str11288 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11289 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str11290 = private unnamed_addr constant [8 x i8] c"attdone\00" +@.str11291 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11292 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11293 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11294 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11295 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11296 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11297 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11298 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11299 = private unnamed_addr constant [3 x i8] c" \00" +@.str11300 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11301 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11302 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11303 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11304 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str11305 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str11306 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11307 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str11308 = private unnamed_addr constant [8 x i8] c"detdone\00" +@.str11309 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11310 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11311 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11312 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11313 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11314 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str11315 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11316 = private unnamed_addr constant [3 x i8] c" \00" +@.str11317 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11318 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11319 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11320 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11321 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11322 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11323 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11324 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11325 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11326 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11327 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str11328 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11329 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str11330 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11331 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11332 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11333 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11334 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13089: index out of range: \00" -@.str11335 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13096: index out of range: \00" -@.str11336 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" -@.str11337 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13101: index out of range: \00" -@.str11338 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11339 = private unnamed_addr constant [3 x i8] c", \00" -@.str11340 = private unnamed_addr constant [6 x i8] c"scrun\00" -@.str11341 = private unnamed_addr constant [7 x i8] c"scskip\00" -@.str11342 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11343 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11344 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11345 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11346 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11347 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11348 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11349 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11350 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str11351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13122: index out of range: \00" -@.str11352 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" -@.str11353 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13127: index out of range: \00" -@.str11354 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str11355 = private unnamed_addr constant [3 x i8] c", \00" -@.str11356 = private unnamed_addr constant [5 x i8] c"mrun\00" -@.str11357 = private unnamed_addr constant [6 x i8] c"mskip\00" -@.str11358 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11359 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11360 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11334 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13484: index out of range: \00" +@.str11335 = private unnamed_addr constant [2 x i8] c"0\00" +@.str11336 = private unnamed_addr constant [2 x i8] c"1\00" +@.str11337 = private unnamed_addr constant [7 x i8] c"system\00" +@.str11338 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str11339 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11340 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" +@.str11341 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11342 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str11343 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str11344 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str11345 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str11346 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11347 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11348 = private unnamed_addr constant [3 x i8] c" \00" +@.str11349 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11350 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11351 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11352 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11353 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str11354 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11355 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11356 = private unnamed_addr constant [3 x i8] c" \00" +@.str11357 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11358 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11359 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11360 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11361 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11362 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" -@.str11363 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11364 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11365 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11366 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11367 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str11368 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" -@.str11369 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" -@.str11370 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" -@.str11371 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str11362 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str11363 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str11364 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11365 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11366 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11367 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str11368 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str11369 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str11370 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11371 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str11372 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11373 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str11374 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" -@.str11375 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str11373 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str11374 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str11375 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str11376 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11377 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11378 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str11379 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11380 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str11381 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" -@.str11382 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11383 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11384 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11385 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13171: index out of range: \00" -@.str11386 = private unnamed_addr constant [6 x i8] c"enter\00" -@.str11387 = private unnamed_addr constant [5 x i8] c"exit\00" -@.str11388 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" -@.str11389 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" -@.str11390 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13189: index out of range: \00" -@.str11391 = private unnamed_addr constant [6 x i8] c" %is\00" -@.str11392 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" -@.str11393 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11394 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" -@.str11395 = private unnamed_addr constant [15 x i8] c", label %leave\00" -@.str11396 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str11397 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11398 = private unnamed_addr constant [6 x i8] c"leave\00" -@.str11399 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" -@.str11400 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" -@.str11401 = private unnamed_addr constant [5 x i8] c"next\00" -@.str11402 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11403 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str11404 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13207: index out of range: \00" -@.str11405 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11406 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11407 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" -@.str11408 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11409 = private unnamed_addr constant [4 x i8] c"int\00" -@.str11410 = private unnamed_addr constant [3 x i8] c"%e\00" -@.str11411 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11412 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str11413 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" -@.str11414 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" -@.str11415 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11416 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" -@.str11417 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str11418 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str11419 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str11420 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13248: index out of range: \00" -@.str11421 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str11422 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str11423 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11424 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str11425 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str11426 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str11427 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11428 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str11429 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str11430 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" -@.str11431 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str11432 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str11433 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11434 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" -@.str11435 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str11436 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11437 = private unnamed_addr constant [5 x i8] c"next\00" -@.str11438 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11439 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" -@.str11440 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" -@.str11441 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str11442 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" -@.str11443 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" -@.str11444 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" -@.str11445 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" -@.str11446 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str11447 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" -@.str11448 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" -@.str11449 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" -@.str11450 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" -@.str11451 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" -@.str11452 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" -@.str11453 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13285: index out of range: \00" -@.str11454 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str11455 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str11456 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11457 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str11458 = private unnamed_addr constant [13 x i8] c", label %hit\00" -@.str11459 = private unnamed_addr constant [14 x i8] c", label %next\00" -@.str11460 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11461 = private unnamed_addr constant [4 x i8] c"hit\00" -@.str11462 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" -@.str11463 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str11464 = private unnamed_addr constant [7 x i8] c"model_\00" -@.str11465 = private unnamed_addr constant [9 x i8] c"_despawn\00" -@.str11466 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str11467 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" -@.str11468 = private unnamed_addr constant [17 x i8] c" br label %next\00" -@.str11469 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11470 = private unnamed_addr constant [5 x i8] c"next\00" -@.str11471 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11472 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" -@.str11473 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" -@.str11474 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str11475 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" -@.str11476 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13327: index out of range: \00" -@.str11477 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str11478 = private unnamed_addr constant [11 x i8] c" = type { \00" -@.str11479 = private unnamed_addr constant [3 x i8] c", \00" -@.str11480 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13338: index out of range: \00" -@.str11481 = private unnamed_addr constant [3 x i8] c", \00" -@.str11482 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11483 = private unnamed_addr constant [4 x i8] c" }\0A\00" -@.str11484 = private unnamed_addr constant [6 x i8] c"@evL_\00" -@.str11485 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str11486 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" -@.str11487 = private unnamed_addr constant [6 x i8] c"@evN_\00" -@.str11488 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" -@.str11489 = private unnamed_addr constant [6 x i8] c"@evO_\00" -@.str11490 = private unnamed_addr constant [12 x i8] c" = global [\00" -@.str11491 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str11492 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" -@.str11493 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" -@.str11494 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str11495 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11496 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str11497 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11498 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str11499 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str11500 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11501 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11502 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str11503 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str11504 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str11505 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11506 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" -@.str11507 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str11508 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str11509 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str11510 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" -@.str11511 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" -@.str11512 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str11513 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11514 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" -@.str11515 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11516 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" -@.str11517 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" -@.str11518 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11519 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11520 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" -@.str11521 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" -@.str11522 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str11523 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" -@.str11524 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" -@.str11525 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" -@.str11526 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" -@.str11527 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" -@.str11528 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" -@.str11529 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" -@.str11530 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" -@.str11531 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11532 = 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" -@.str11533 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" -@.str11534 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" -@.str11535 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11536 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" -@.str11537 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" -@.str11538 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" -@.str11539 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11540 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" -@.str11541 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" -@.str11542 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11543 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" -@.str11544 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" -@.str11545 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" -@.str11546 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11547 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" -@.str11548 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" -@.str11549 = private unnamed_addr constant [5 x i8] c"%Ev_\00" -@.str11550 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13404: index out of range: \00" -@.str11551 = private unnamed_addr constant [3 x i8] c" \00" -@.str11552 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str11553 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11554 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11555 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11556 = private unnamed_addr constant [9 x i8] c" store \00" -@.str11557 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str11558 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11559 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11560 = private unnamed_addr constant [9 x i8] c" store \00" -@.str11561 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str11562 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11563 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11564 = private unnamed_addr constant [3 x i8] c" \00" -@.str11565 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" -@.str11566 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11567 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11568 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11569 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str11377 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11378 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11379 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11380 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11381 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11382 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str11383 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" +@.str11384 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str11385 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11386 = private unnamed_addr constant [1 x i8] c"\00" +@.str11387 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" +@.str11388 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11389 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11390 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" +@.str11391 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11392 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11393 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str11394 = private unnamed_addr constant [3 x i8] c", \00" +@.str11395 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str11396 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11397 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11398 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str11399 = private unnamed_addr constant [3 x i8] c", \00" +@.str11400 = private unnamed_addr constant [5 x i8] c"hrun\00" +@.str11401 = private unnamed_addr constant [6 x i8] c"hskip\00" +@.str11402 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11403 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11404 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11405 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11406 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" +@.str11407 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11408 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11409 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11410 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11411 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" +@.str11412 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11413 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13597: index out of range: \00" +@.str11414 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13597: index out of range: \00" +@.str11415 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13597: index out of range: \00" +@.str11416 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str11417 = private unnamed_addr constant [11 x i8] c"esys_tween\00" +@.str11418 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" +@.str11419 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" +@.str11420 = private unnamed_addr constant [8 x i8] c"fx_tick\00" +@.str11421 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" +@.str11422 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str11423 = private unnamed_addr constant [8 x i8] c"fx_draw\00" +@.str11424 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" +@.str11425 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" +@.str11426 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" +@.str11427 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" +@.str11428 = 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" +@.str11429 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str11430 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str11431 = 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" +@.str11432 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13626: index out of range: \00" +@.str11433 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13630: index out of range: \00" +@.str11434 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str11435 = private unnamed_addr constant [2 x i8] c"c\00" +@.str11436 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11437 = private unnamed_addr constant [5 x i8] c" %h\00" +@.str11438 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11439 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str11440 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str11441 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str11442 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" +@.str11443 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11444 = private unnamed_addr constant [7 x i8] c" %has\00" +@.str11445 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" +@.str11446 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str11447 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" +@.str11448 = private unnamed_addr constant [11 x i8] c", label %t\00" +@.str11449 = private unnamed_addr constant [11 x i8] c", label %c\00" +@.str11450 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11451 = private unnamed_addr constant [2 x i8] c"t\00" +@.str11452 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11453 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str11454 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11455 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str11456 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str11457 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str11458 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13642: index out of range: \00" +@.str11459 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str11460 = private unnamed_addr constant [2 x i8] c"_\00" +@.str11461 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str11462 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str11463 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str11464 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11465 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11466 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str11467 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" +@.str11468 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11469 = private unnamed_addr constant [6 x i8] c" %fp\00" +@.str11470 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" +@.str11471 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str11472 = private unnamed_addr constant [6 x i8] c" %fd\00" +@.str11473 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" +@.str11474 = private unnamed_addr constant [5 x i8] c", 1\0A\00" +@.str11475 = private unnamed_addr constant [6 x i8] c" %fn\00" +@.str11476 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" +@.str11477 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" +@.str11478 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" +@.str11479 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11480 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" +@.str11481 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str11482 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11483 = private unnamed_addr constant [14 x i8] c" br label %c\00" +@.str11484 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11485 = private unnamed_addr constant [2 x i8] c"c\00" +@.str11486 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" +@.str11487 = 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" +@.str11488 = private unnamed_addr constant [4 x i8] c"int\00" +@.str11489 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11490 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11491 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" +@.str11492 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str11493 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11494 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13684: index out of range: \00" +@.str11495 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13684: index out of range: \00" +@.str11496 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13693: index out of range: \00" +@.str11497 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" +@.str11498 = private unnamed_addr constant [2 x i8] c")\00" +@.str11499 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str11500 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11501 = private unnamed_addr constant [3 x i8] c"pf\00" +@.str11502 = private unnamed_addr constant [4 x i8] c"pfn\00" +@.str11503 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11504 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11505 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11506 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11507 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11508 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" +@.str11509 = private unnamed_addr constant [3 x i8] c"()\00" +@.str11510 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11511 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11512 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11513 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str11514 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" +@.str11515 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11516 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str11517 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str11518 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str11519 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str11520 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str11521 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str11522 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str11523 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str11524 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" +@.str11525 = private unnamed_addr constant [2 x i8] c"'\00" +@.str11526 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str11527 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str11528 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str11529 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str11530 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str11531 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str11532 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str11533 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" +@.str11534 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" +@.str11535 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" +@.str11536 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" +@.str11537 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" +@.str11538 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" +@.str11539 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" +@.str11540 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" +@.str11541 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" +@.str11542 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" +@.str11543 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" +@.str11544 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" +@.str11545 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" +@.str11546 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" +@.str11547 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" +@.str11548 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" +@.str11549 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" +@.str11550 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" +@.str11551 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" +@.str11552 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" +@.str11553 = private unnamed_addr constant [12 x i8] c"module_init\00" +@.str11554 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" +@.str11555 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" +@.str11556 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13786: index out of range: \00" +@.str11557 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str11558 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13786: index out of range: \00" +@.str11559 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11560 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11561 = 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" +@.str11562 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" +@.str11563 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str11564 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" +@.str11565 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str11566 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" +@.str11567 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" +@.str11568 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" +@.str11569 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str11570 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11571 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13423: index out of range: \00" -@.str11572 = private unnamed_addr constant [7 x i8] c"evnext\00" -@.str11573 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13429: index out of range: \00" -@.str11574 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13431: index out of range: \00" -@.str11575 = private unnamed_addr constant [4 x i8] c"ret\00" -@.str11576 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11577 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11578 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11579 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11580 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" -@.str11581 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11582 = private unnamed_addr constant [4 x i8] c"evl\00" -@.str11583 = private unnamed_addr constant [4 x i8] c"evb\00" -@.str11584 = private unnamed_addr constant [4 x i8] c"evd\00" -@.str11585 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11586 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11587 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11588 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str11589 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" -@.str11590 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" -@.str11591 = private unnamed_addr constant [3 x i8] c", \00" -@.str11592 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11593 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11594 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11595 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11596 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11597 = private unnamed_addr constant [3 x i8] c" \00" -@.str11598 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11599 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11600 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11601 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11602 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str11603 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str11604 = private unnamed_addr constant [7 x i8] c", null\00" -@.str11605 = private unnamed_addr constant [5 x i8] c"evdo\00" -@.str11606 = private unnamed_addr constant [5 x i8] c"evsk\00" -@.str11607 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str11608 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11609 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str11610 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11611 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11612 = private unnamed_addr constant [13 x i8] c" call void \00" -@.str11613 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str11614 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11615 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11616 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11617 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11618 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str11619 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str11620 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str11621 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str11622 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11623 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str11624 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11625 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11626 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str11627 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str11628 = 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" -@.str11629 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" -@.str11630 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11631 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11632 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11633 = private unnamed_addr constant [5 x i8] c"void\00" -@.str11634 = private unnamed_addr constant [4 x i8] c"i32\00" -@.str11635 = private unnamed_addr constant [8 x i8] c"define \00" -@.str11636 = private unnamed_addr constant [6 x i8] c" @ev_\00" -@.str11637 = private unnamed_addr constant [2 x i8] c"(\00" -@.str11638 = private unnamed_addr constant [3 x i8] c", \00" -@.str11639 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13478: index out of range: \00" -@.str11640 = private unnamed_addr constant [4 x i8] c" %p\00" -@.str11641 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str11642 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11643 = 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" -@.str11644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13495: index out of range: \00" -@.str11645 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str11571 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" +@.str11572 = private unnamed_addr constant [6 x i8] c"add:\0A\00" +@.str11573 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str11574 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" +@.str11575 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" +@.str11576 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" +@.str11577 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" +@.str11578 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" +@.str11579 = 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" +@.str11580 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str11581 = private unnamed_addr constant [4 x i8] c"dsp\00" +@.str11582 = private unnamed_addr constant [4 x i8] c"dsh\00" +@.str11583 = private unnamed_addr constant [4 x i8] c"dsb\00" +@.str11584 = private unnamed_addr constant [5 x i8] c"dsdo\00" +@.str11585 = private unnamed_addr constant [4 x i8] c"dsc\00" +@.str11586 = private unnamed_addr constant [4 x i8] c"dsn\00" +@.str11587 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11588 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11589 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" +@.str11590 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11591 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11592 = private unnamed_addr constant [3 x i8] c" \00" +@.str11593 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" +@.str11594 = private unnamed_addr constant [7 x i8] c" ], [ \00" +@.str11595 = private unnamed_addr constant [4 x i8] c", %\00" +@.str11596 = private unnamed_addr constant [4 x i8] c" ]\0A\00" +@.str11597 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" +@.str11598 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str11599 = private unnamed_addr constant [3 x i8] c", \00" +@.str11600 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11601 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11602 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11603 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11604 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11605 = private unnamed_addr constant [3 x i8] c" \00" +@.str11606 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11607 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" +@.str11608 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11609 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11610 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11611 = private unnamed_addr constant [3 x i8] c", \00" +@.str11612 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11613 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11614 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11615 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11616 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11617 = private unnamed_addr constant [3 x i8] c" \00" +@.str11618 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11619 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" +@.str11620 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11621 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str11622 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str11623 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11624 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11625 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11626 = private unnamed_addr constant [5 x i8] c":\0A \00" +@.str11627 = private unnamed_addr constant [12 x i8] c" = add i32 \00" +@.str11628 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" +@.str11629 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11630 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11631 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13846: index out of range: \00" +@.str11632 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13853: index out of range: \00" +@.str11633 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str11634 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13858: index out of range: \00" +@.str11635 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11636 = private unnamed_addr constant [3 x i8] c", \00" +@.str11637 = private unnamed_addr constant [6 x i8] c"scrun\00" +@.str11638 = private unnamed_addr constant [7 x i8] c"scskip\00" +@.str11639 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11640 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11641 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11642 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11643 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11644 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11645 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11646 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11647 = private unnamed_addr constant [7 x i8] c" %swi\00" -@.str11648 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" -@.str11649 = private unnamed_addr constant [7 x i8] c" %swn\00" -@.str11650 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" -@.str11651 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11652 = private unnamed_addr constant [7 x i8] c" %swg\00" -@.str11653 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" -@.str11654 = private unnamed_addr constant [7 x i8] c", %swn\00" -@.str11655 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11656 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" -@.str11657 = private unnamed_addr constant [13 x i8] c", label %swb\00" -@.str11658 = private unnamed_addr constant [13 x i8] c", label %swd\00" -@.str11659 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11660 = private unnamed_addr constant [4 x i8] c"swb\00" -@.str11661 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11662 = private unnamed_addr constant [8 x i8] c" %swop\00" -@.str11663 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11664 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" -@.str11665 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str11666 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11667 = private unnamed_addr constant [8 x i8] c" %swov\00" -@.str11668 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" -@.str11669 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11670 = private unnamed_addr constant [7 x i8] c" %swm\00" -@.str11671 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" -@.str11672 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" -@.str11673 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" -@.str11674 = private unnamed_addr constant [13 x i8] c", label %swh\00" -@.str11675 = private unnamed_addr constant [13 x i8] c", label %swx\00" -@.str11676 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11677 = private unnamed_addr constant [4 x i8] c"swh\00" -@.str11678 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11679 = private unnamed_addr constant [8 x i8] c" %swlp\00" -@.str11680 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11681 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" -@.str11682 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" -@.str11683 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11684 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" -@.str11685 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" -@.str11686 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11687 = private unnamed_addr constant [4 x i8] c"swx\00" -@.str11688 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11689 = private unnamed_addr constant [9 x i8] c" %swinc\00" -@.str11690 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" -@.str11691 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" -@.str11692 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" -@.str11693 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11694 = private unnamed_addr constant [4 x i8] c"swd\00" -@.str11695 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" -@.str11696 = private unnamed_addr constant [15 x i8] c" br label %sw\00" -@.str11697 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11698 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11699 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11700 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13544: index out of range: \00" -@.str11701 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" -@.str11702 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" -@.str11703 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" -@.str11704 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" -@.str11705 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" -@.str11706 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" -@.str11707 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13557: index out of range: \00" -@.str11708 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13558: index out of range: \00" -@.str11709 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str11710 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str11711 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11712 = private unnamed_addr constant [5 x i8] c" %e\00" -@.str11713 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" -@.str11714 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11715 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" -@.str11716 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str11717 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str11718 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11719 = private unnamed_addr constant [2 x i8] c"h\00" -@.str11720 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str11721 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11722 = private unnamed_addr constant [2 x i8] c"n\00" -@.str11723 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11724 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" -@.str11725 = 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" -@.str11726 = 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" -@.str11727 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" -@.str11728 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" -@.str11729 = 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" -@.str11730 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" -@.str11731 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" -@.str11732 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13580: index out of range: \00" -@.str11733 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13581: index out of range: \00" -@.str11734 = private unnamed_addr constant [6 x i8] c" %pm\00" -@.str11735 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11736 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11737 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" -@.str11738 = private unnamed_addr constant [12 x i8] c", label %pk\00" -@.str11739 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str11740 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11741 = private unnamed_addr constant [3 x i8] c"pk\00" -@.str11742 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11743 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13587: index out of range: \00" -@.str11744 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11745 = private unnamed_addr constant [6 x i8] c" %fc\00" -@.str11746 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str11747 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11748 = private unnamed_addr constant [6 x i8] c" %fe\00" -@.str11749 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" -@.str11750 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11751 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" -@.str11752 = private unnamed_addr constant [12 x i8] c", label %fh\00" -@.str11753 = private unnamed_addr constant [12 x i8] c", label %fn\00" -@.str11754 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11755 = private unnamed_addr constant [3 x i8] c"fh\00" -@.str11756 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str11647 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str11648 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13879: index out of range: \00" +@.str11649 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str11650 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13884: index out of range: \00" +@.str11651 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11652 = private unnamed_addr constant [3 x i8] c", \00" +@.str11653 = private unnamed_addr constant [5 x i8] c"mrun\00" +@.str11654 = private unnamed_addr constant [6 x i8] c"mskip\00" +@.str11655 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11656 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11657 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11658 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11659 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" +@.str11660 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11661 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11662 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11663 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11664 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str11665 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" +@.str11666 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" +@.str11667 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" +@.str11668 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str11669 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11670 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str11671 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" +@.str11672 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str11673 = private unnamed_addr constant [2 x i8] c"_\00" +@.str11674 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11675 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str11676 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11677 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str11678 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" +@.str11679 = private unnamed_addr constant [2 x i8] c"_\00" +@.str11680 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str11681 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11682 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13928: index out of range: \00" +@.str11683 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str11684 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str11685 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" +@.str11686 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" +@.str11687 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13946: index out of range: \00" +@.str11688 = private unnamed_addr constant [6 x i8] c" %is\00" +@.str11689 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" +@.str11690 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11691 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" +@.str11692 = private unnamed_addr constant [15 x i8] c", label %leave\00" +@.str11693 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str11694 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11695 = private unnamed_addr constant [6 x i8] c"leave\00" +@.str11696 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" +@.str11697 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" +@.str11698 = private unnamed_addr constant [5 x i8] c"next\00" +@.str11699 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11700 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11701 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13964: index out of range: \00" +@.str11702 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11703 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11704 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" +@.str11705 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11706 = private unnamed_addr constant [4 x i8] c"int\00" +@.str11707 = private unnamed_addr constant [3 x i8] c"%e\00" +@.str11708 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11709 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str11710 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" +@.str11711 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" +@.str11712 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11713 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" +@.str11714 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str11715 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str11716 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str11717 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14005: index out of range: \00" +@.str11718 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str11719 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str11720 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11721 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str11722 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str11723 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str11724 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11725 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str11726 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str11727 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str11728 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11729 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str11730 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11731 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str11732 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str11733 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11734 = private unnamed_addr constant [5 x i8] c"next\00" +@.str11735 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11736 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" +@.str11737 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" +@.str11738 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11739 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" +@.str11740 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str11741 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" +@.str11742 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" +@.str11743 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str11744 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str11745 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" +@.str11746 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" +@.str11747 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" +@.str11748 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" +@.str11749 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str11750 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14042: index out of range: \00" +@.str11751 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str11752 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str11753 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11754 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str11755 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str11756 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str11757 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11758 = private unnamed_addr constant [3 x i8] c"fn\00" -@.str11759 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11760 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" -@.str11761 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str11762 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11763 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str11764 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str11765 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13612: index out of range: \00" -@.str11766 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13613: index out of range: \00" -@.str11767 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str11768 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11769 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11770 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str11771 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str11772 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str11773 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11774 = private unnamed_addr constant [2 x i8] c"g\00" -@.str11775 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11776 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str11777 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11778 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11779 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11780 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str11781 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13620: index out of range: \00" -@.str11782 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11783 = private unnamed_addr constant [6 x i8] c" %gm\00" -@.str11784 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str11785 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11786 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" -@.str11787 = private unnamed_addr constant [12 x i8] c", label %gf\00" -@.str11788 = private unnamed_addr constant [12 x i8] c", label %gk\00" -@.str11789 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11790 = private unnamed_addr constant [3 x i8] c"gf\00" -@.str11791 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11792 = private unnamed_addr constant [6 x i8] c" %ga\00" -@.str11793 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str11794 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str11795 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11796 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11797 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11798 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str11799 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" -@.str11800 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11801 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str11802 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" -@.str11803 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str11804 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11805 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str11806 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str11807 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" -@.str11808 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11809 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str11810 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" -@.str11811 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str11758 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str11759 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str11760 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str11761 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str11762 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str11763 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str11764 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str11765 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str11766 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11767 = private unnamed_addr constant [5 x i8] c"next\00" +@.str11768 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11769 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" +@.str11770 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str11771 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str11772 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" +@.str11773 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14084: index out of range: \00" +@.str11774 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str11775 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str11776 = private unnamed_addr constant [3 x i8] c", \00" +@.str11777 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14095: index out of range: \00" +@.str11778 = private unnamed_addr constant [3 x i8] c", \00" +@.str11779 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11780 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str11781 = private unnamed_addr constant [6 x i8] c"@evL_\00" +@.str11782 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str11783 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str11784 = private unnamed_addr constant [6 x i8] c"@evN_\00" +@.str11785 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" +@.str11786 = private unnamed_addr constant [6 x i8] c"@evO_\00" +@.str11787 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str11788 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str11789 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" +@.str11790 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" +@.str11791 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str11792 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11793 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str11794 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11795 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str11796 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str11797 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11798 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11799 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str11800 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str11801 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str11802 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11803 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" +@.str11804 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str11805 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str11806 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str11807 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" +@.str11808 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" +@.str11809 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str11810 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11811 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str11812 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11813 = private unnamed_addr constant [6 x i8] c" %gl\00" -@.str11814 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" -@.str11815 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11816 = private unnamed_addr constant [6 x i8] c" %gr\00" -@.str11817 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" -@.str11818 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" -@.str11819 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11820 = private unnamed_addr constant [3 x i8] c"gk\00" -@.str11821 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11822 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" -@.str11823 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str11824 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11825 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" -@.str11826 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11827 = 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" -@.str11828 = 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" -@.str11829 = 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" -@.str11830 = 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" -@.str11831 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" -@.str11832 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" -@.str11833 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13655: index out of range: \00" -@.str11834 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13656: index out of range: \00" -@.str11835 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str11836 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11837 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11838 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str11839 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str11840 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str11841 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11842 = private unnamed_addr constant [2 x i8] c"g\00" -@.str11843 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11844 = private unnamed_addr constant [5 x i8] c" %s\00" -@.str11845 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11846 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str11847 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str11848 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str11849 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13663: index out of range: \00" -@.str11850 = private unnamed_addr constant [2 x i8] c"_\00" -@.str11851 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str11852 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str11853 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11854 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str11855 = private unnamed_addr constant [12 x i8] c", label %sf\00" -@.str11856 = private unnamed_addr constant [12 x i8] c", label %sk\00" -@.str11857 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11858 = private unnamed_addr constant [3 x i8] c"sf\00" -@.str11859 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11860 = private unnamed_addr constant [6 x i8] c" %sa\00" -@.str11861 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str11862 = private unnamed_addr constant [9 x i8] c", ptr %s\00" -@.str11863 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str11864 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11865 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str11866 = private unnamed_addr constant [6 x i8] c" %sp\00" -@.str11867 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" -@.str11868 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" -@.str11869 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str11870 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str11871 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str11872 = private unnamed_addr constant [6 x i8] c" %sb\00" -@.str11873 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" -@.str11874 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" -@.str11875 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str11876 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str11877 = private unnamed_addr constant [6 x i8] c" %sw\00" -@.str11878 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" -@.str11879 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" -@.str11880 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" -@.str11881 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" -@.str11882 = private unnamed_addr constant [3 x i8] c"sk\00" -@.str11883 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11884 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str11885 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str11886 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11887 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" -@.str11888 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11889 = 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" -@.str11890 = 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" -@.str11891 = 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" -@.str11892 = 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" -@.str11893 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" -@.str11894 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str11895 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13698: index out of range: \00" -@.str11896 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13699: index out of range: \00" -@.str11897 = private unnamed_addr constant [5 x i8] c" %m\00" -@.str11898 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str11899 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11900 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" -@.str11901 = private unnamed_addr constant [11 x i8] c", label %g\00" -@.str11902 = private unnamed_addr constant [12 x i8] c", label %gn\00" -@.str11903 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11904 = private unnamed_addr constant [2 x i8] c"g\00" -@.str11905 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11906 = private unnamed_addr constant [6 x i8] c" %hp\00" -@.str11907 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str11908 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" -@.str11909 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str11910 = private unnamed_addr constant [6 x i8] c" %hv\00" -@.str11911 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" -@.str11912 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11913 = private unnamed_addr constant [6 x i8] c" %hr\00" -@.str11914 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" -@.str11915 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" -@.str11916 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11917 = private unnamed_addr constant [3 x i8] c"gn\00" -@.str11918 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11919 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" -@.str11920 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11921 = 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" -@.str11922 = 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" -@.str11923 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" -@.str11924 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" -@.str11925 = 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" -@.str11926 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" -@.str11927 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" -@.str11928 = 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" -@.str11929 = 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" -@.str11930 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" -@.str11931 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" -@.str11932 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11933 = 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" -@.str11934 = 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" -@.str11935 = 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" -@.str11936 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" -@.str11937 = 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" -@.str11938 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" -@.str11939 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str11940 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str11941 = 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" -@.str11942 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" -@.str11943 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str11944 = 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" -@.str11945 = 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" -@.str11946 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" -@.str11947 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str11948 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" -@.str11949 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" -@.str11950 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" -@.str11951 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13748: index out of range: \00" -@.str11952 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13749: index out of range: \00" -@.str11953 = private unnamed_addr constant [7 x i8] c" %mdc\00" -@.str11954 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" -@.str11955 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str11956 = private unnamed_addr constant [7 x i8] c" %mde\00" -@.str11957 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" -@.str11958 = private unnamed_addr constant [5 x i8] c", 0\0A\00" -@.str11959 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" -@.str11960 = private unnamed_addr constant [13 x i8] c", label %mdh\00" -@.str11961 = private unnamed_addr constant [13 x i8] c", label %mdn\00" -@.str11962 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11963 = private unnamed_addr constant [4 x i8] c"mdh\00" -@.str11964 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str11965 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13753: index out of range: \00" +@.str11813 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str11814 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str11815 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11816 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11817 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str11818 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str11819 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str11820 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str11821 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" +@.str11822 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str11823 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str11824 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str11825 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" +@.str11826 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" +@.str11827 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str11828 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11829 = 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" +@.str11830 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" +@.str11831 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" +@.str11832 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11833 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" +@.str11834 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" +@.str11835 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" +@.str11836 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11837 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" +@.str11838 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" +@.str11839 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11840 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" +@.str11841 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" +@.str11842 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str11843 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str11844 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" +@.str11845 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" +@.str11846 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str11847 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14161: index out of range: \00" +@.str11848 = private unnamed_addr constant [3 x i8] c" \00" +@.str11849 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str11850 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11851 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11852 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11853 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11854 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str11855 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11856 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11857 = private unnamed_addr constant [9 x i8] c" store \00" +@.str11858 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str11859 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11860 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11861 = private unnamed_addr constant [3 x i8] c" \00" +@.str11862 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str11863 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11864 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11865 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11866 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str11867 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11868 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14180: index out of range: \00" +@.str11869 = private unnamed_addr constant [7 x i8] c"evnext\00" +@.str11870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14186: index out of range: \00" +@.str11871 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14188: index out of range: \00" +@.str11872 = private unnamed_addr constant [4 x i8] c"ret\00" +@.str11873 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11874 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11875 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11876 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11877 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str11878 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11879 = private unnamed_addr constant [4 x i8] c"evl\00" +@.str11880 = private unnamed_addr constant [4 x i8] c"evb\00" +@.str11881 = private unnamed_addr constant [4 x i8] c"evd\00" +@.str11882 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11883 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11884 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11885 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11886 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" +@.str11887 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str11888 = private unnamed_addr constant [3 x i8] c", \00" +@.str11889 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11890 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11891 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11892 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11893 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11894 = private unnamed_addr constant [3 x i8] c" \00" +@.str11895 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11896 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11897 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str11898 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11899 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str11900 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str11901 = private unnamed_addr constant [7 x i8] c", null\00" +@.str11902 = private unnamed_addr constant [5 x i8] c"evdo\00" +@.str11903 = private unnamed_addr constant [5 x i8] c"evsk\00" +@.str11904 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str11905 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11906 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11907 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11908 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11909 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str11910 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str11911 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11912 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11913 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11914 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11915 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str11916 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11917 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11918 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str11919 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11920 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11921 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11922 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11923 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str11924 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str11925 = 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" +@.str11926 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str11927 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11928 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11929 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str11930 = private unnamed_addr constant [5 x i8] c"void\00" +@.str11931 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str11932 = private unnamed_addr constant [8 x i8] c"define \00" +@.str11933 = private unnamed_addr constant [6 x i8] c" @ev_\00" +@.str11934 = private unnamed_addr constant [2 x i8] c"(\00" +@.str11935 = private unnamed_addr constant [3 x i8] c", \00" +@.str11936 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14235: index out of range: \00" +@.str11937 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str11938 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str11939 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11940 = 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" +@.str11941 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14252: index out of range: \00" +@.str11942 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str11943 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11944 = private unnamed_addr constant [7 x i8] c" %swi\00" +@.str11945 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" +@.str11946 = private unnamed_addr constant [7 x i8] c" %swn\00" +@.str11947 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" +@.str11948 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11949 = private unnamed_addr constant [7 x i8] c" %swg\00" +@.str11950 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" +@.str11951 = private unnamed_addr constant [7 x i8] c", %swn\00" +@.str11952 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11953 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" +@.str11954 = private unnamed_addr constant [13 x i8] c", label %swb\00" +@.str11955 = private unnamed_addr constant [13 x i8] c", label %swd\00" +@.str11956 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11957 = private unnamed_addr constant [4 x i8] c"swb\00" +@.str11958 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11959 = private unnamed_addr constant [8 x i8] c" %swop\00" +@.str11960 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11961 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str11962 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str11963 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11964 = private unnamed_addr constant [8 x i8] c" %swov\00" +@.str11965 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str11966 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11967 = private unnamed_addr constant [4 x i8] c"mdn\00" -@.str11968 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11969 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str11970 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13767: index out of range: \00" -@.str11971 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13768: index out of range: \00" -@.str11972 = private unnamed_addr constant [4 x i8] c"int\00" -@.str11973 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str11974 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11975 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" -@.str11976 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str11977 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str11978 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" -@.str11979 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13789: index out of range: \00" -@.str11980 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13790: index out of range: \00" -@.str11981 = private unnamed_addr constant [6 x i8] c" %sm\00" -@.str11982 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" +@.str11967 = private unnamed_addr constant [7 x i8] c" %swm\00" +@.str11968 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" +@.str11969 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" +@.str11970 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" +@.str11971 = private unnamed_addr constant [13 x i8] c", label %swh\00" +@.str11972 = private unnamed_addr constant [13 x i8] c", label %swx\00" +@.str11973 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11974 = private unnamed_addr constant [4 x i8] c"swh\00" +@.str11975 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11976 = private unnamed_addr constant [8 x i8] c" %swlp\00" +@.str11977 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str11978 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str11979 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str11980 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11981 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" +@.str11982 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str11983 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11984 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" -@.str11985 = private unnamed_addr constant [12 x i8] c", label %sh\00" -@.str11986 = private unnamed_addr constant [12 x i8] c", label %sn\00" -@.str11987 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11988 = private unnamed_addr constant [3 x i8] c"sh\00" -@.str11989 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" -@.str11990 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" -@.str11991 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" -@.str11992 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11993 = private unnamed_addr constant [3 x i8] c"sn\00" -@.str11994 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str11995 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" -@.str11996 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" -@.str11997 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" -@.str11998 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" -@.str11999 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" -@.str12000 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" -@.str12001 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" -@.str12002 = 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" -@.str12003 = 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" -@.str12004 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" -@.str12005 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" -@.str12006 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" -@.str12007 = private unnamed_addr constant [1 x i8] c"\00" -@.str12008 = private unnamed_addr constant [4 x i8] c"int\00" -@.str12009 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13830: index out of range: \00" -@.str12010 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" -@.str12011 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" -@.str12012 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" -@.str12013 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" -@.str12014 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13841: index out of range: \00" -@.str12015 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13842: index out of range: \00" -@.str12016 = private unnamed_addr constant [6 x i8] c" %pe\00" -@.str12017 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" +@.str11984 = private unnamed_addr constant [4 x i8] c"swx\00" +@.str11985 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11986 = private unnamed_addr constant [9 x i8] c" %swinc\00" +@.str11987 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" +@.str11988 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" +@.str11989 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" +@.str11990 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11991 = private unnamed_addr constant [4 x i8] c"swd\00" +@.str11992 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" +@.str11993 = private unnamed_addr constant [15 x i8] c" br label %sw\00" +@.str11994 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11995 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str11996 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str11997 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14301: index out of range: \00" +@.str11998 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" +@.str11999 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" +@.str12000 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" +@.str12001 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" +@.str12002 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" +@.str12003 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" +@.str12004 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14314: index out of range: \00" +@.str12005 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14315: index out of range: \00" +@.str12006 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12007 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str12008 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12009 = private unnamed_addr constant [5 x i8] c" %e\00" +@.str12010 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" +@.str12011 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str12012 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" +@.str12013 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12014 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12015 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12016 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12017 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str12018 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12019 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" -@.str12020 = private unnamed_addr constant [12 x i8] c", label %ph\00" -@.str12021 = private unnamed_addr constant [12 x i8] c", label %pn\00" -@.str12022 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12023 = private unnamed_addr constant [3 x i8] c"ph\00" -@.str12024 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" -@.str12025 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12026 = private unnamed_addr constant [3 x i8] c"pn\00" -@.str12027 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12028 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" -@.str12029 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" -@.str12030 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" -@.str12031 = 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" -@.str12032 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" -@.str12033 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12034 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" -@.str12035 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13860: index out of range: \00" -@.str12036 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13861: index out of range: \00" -@.str12037 = private unnamed_addr constant [7 x i8] c" %fce\00" -@.str12038 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str12039 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12040 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" -@.str12041 = private unnamed_addr constant [13 x i8] c", label %fch\00" -@.str12042 = private unnamed_addr constant [13 x i8] c", label %fcn\00" -@.str12043 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12044 = private unnamed_addr constant [4 x i8] c"fch\00" -@.str12045 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str12046 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12047 = private unnamed_addr constant [4 x i8] c"fcn\00" -@.str12048 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12049 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" -@.str12050 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" -@.str12051 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" -@.str12052 = 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" -@.str12053 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" -@.str12054 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str12055 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13879: index out of range: \00" -@.str12056 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13880: index out of range: \00" -@.str12057 = private unnamed_addr constant [7 x i8] c" %fne\00" -@.str12058 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str12059 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12060 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" -@.str12061 = private unnamed_addr constant [13 x i8] c", label %fnk\00" -@.str12062 = private unnamed_addr constant [13 x i8] c", label %fnn\00" -@.str12063 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12064 = private unnamed_addr constant [4 x i8] c"fnk\00" -@.str12065 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12066 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13886: index out of range: \00" -@.str12067 = private unnamed_addr constant [2 x i8] c"_\00" -@.str12068 = private unnamed_addr constant [8 x i8] c" %fnfe\00" -@.str12069 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12019 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12020 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12021 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" +@.str12022 = 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" +@.str12023 = 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" +@.str12024 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" +@.str12025 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" +@.str12026 = 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" +@.str12027 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" +@.str12028 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" +@.str12029 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14337: index out of range: \00" +@.str12030 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14338: index out of range: \00" +@.str12031 = private unnamed_addr constant [6 x i8] c" %pm\00" +@.str12032 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12033 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12034 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" +@.str12035 = private unnamed_addr constant [12 x i8] c", label %pk\00" +@.str12036 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str12037 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12038 = private unnamed_addr constant [3 x i8] c"pk\00" +@.str12039 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12040 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14344: index out of range: \00" +@.str12041 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12042 = private unnamed_addr constant [6 x i8] c" %fc\00" +@.str12043 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str12044 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12045 = private unnamed_addr constant [6 x i8] c" %fe\00" +@.str12046 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" +@.str12047 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str12048 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" +@.str12049 = private unnamed_addr constant [12 x i8] c", label %fh\00" +@.str12050 = private unnamed_addr constant [12 x i8] c", label %fn\00" +@.str12051 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12052 = private unnamed_addr constant [3 x i8] c"fh\00" +@.str12053 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12054 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12055 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str12056 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12057 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str12058 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str12059 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12060 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str12061 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str12062 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14369: index out of range: \00" +@.str12063 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14370: index out of range: \00" +@.str12064 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str12065 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12066 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12067 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str12068 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str12069 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str12070 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12071 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" -@.str12072 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" -@.str12073 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" -@.str12074 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12075 = private unnamed_addr constant [5 x i8] c"fnfh\00" -@.str12076 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" -@.str12077 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12078 = private unnamed_addr constant [5 x i8] c"fnfn\00" -@.str12079 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12080 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12081 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12082 = private unnamed_addr constant [4 x i8] c"fnn\00" -@.str12083 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12084 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12085 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12086 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" -@.str12087 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13905: index out of range: \00" -@.str12088 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13906: index out of range: \00" -@.str12089 = private unnamed_addr constant [7 x i8] c" %fte\00" -@.str12090 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" -@.str12091 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12092 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" -@.str12093 = private unnamed_addr constant [13 x i8] c", label %ftk\00" -@.str12094 = private unnamed_addr constant [13 x i8] c", label %ftn\00" -@.str12095 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12096 = private unnamed_addr constant [4 x i8] c"ftk\00" -@.str12097 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12098 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13912: index out of range: \00" -@.str12099 = private unnamed_addr constant [2 x i8] c"_\00" -@.str12100 = private unnamed_addr constant [8 x i8] c" %ftfe\00" -@.str12101 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" -@.str12102 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12103 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" -@.str12104 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" -@.str12105 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" -@.str12106 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12107 = private unnamed_addr constant [5 x i8] c"ftfh\00" -@.str12108 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12071 = private unnamed_addr constant [2 x i8] c"g\00" +@.str12072 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12073 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str12074 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12075 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12076 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12077 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12078 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14377: index out of range: \00" +@.str12079 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12080 = private unnamed_addr constant [6 x i8] c" %gm\00" +@.str12081 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12082 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12083 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" +@.str12084 = private unnamed_addr constant [12 x i8] c", label %gf\00" +@.str12085 = private unnamed_addr constant [12 x i8] c", label %gk\00" +@.str12086 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12087 = private unnamed_addr constant [3 x i8] c"gf\00" +@.str12088 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12089 = private unnamed_addr constant [6 x i8] c" %ga\00" +@.str12090 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12091 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str12092 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12093 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12094 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str12095 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str12096 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" +@.str12097 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12098 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str12099 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" +@.str12100 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str12101 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12102 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12103 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str12104 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" +@.str12105 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12106 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str12107 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" +@.str12108 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str12109 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12110 = private unnamed_addr constant [5 x i8] c"ftfn\00" -@.str12111 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12112 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12113 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12114 = private unnamed_addr constant [4 x i8] c"ftn\00" -@.str12115 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12116 = private unnamed_addr constant [11 x i8] c" ret ptr \00" -@.str12117 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12118 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" -@.str12119 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str12120 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str12121 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str12122 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str12123 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12124 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" -@.str12125 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str12126 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str12127 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12128 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13952: index out of range: \00" -@.str12129 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13952: index out of range: \00" -@.str12130 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str12131 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str12132 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str12133 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str12134 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str12135 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" -@.str12136 = private unnamed_addr constant [6 x i8] c"Start\00" -@.str12137 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12138 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str12139 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13974: index out of range: \00" -@.str12140 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str12141 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13974: index out of range: \00" -@.str12142 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12143 = private unnamed_addr constant [14 x i8] c"program_start\00" -@.str12144 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" -@.str12145 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12146 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str12147 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" -@.str12148 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str12149 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12150 = private unnamed_addr constant [11 x i8] c"rt_running\00" -@.str12151 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" -@.str12152 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str12153 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12154 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str12155 = private unnamed_addr constant [3 x i8] c", \00" -@.str12156 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12157 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str12158 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12159 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" -@.str12160 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str12161 = private unnamed_addr constant [12 x i8] c"input_drive\00" -@.str12162 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" -@.str12163 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12164 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str12165 = private unnamed_addr constant [8 x i8] c"rt_poll\00" -@.str12166 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" -@.str12167 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12168 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" -@.str12169 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" -@.str12170 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" -@.str12171 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" -@.str12172 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12173 = private unnamed_addr constant [6 x i8] c"Input\00" -@.str12174 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" -@.str12175 = private unnamed_addr constant [7 x i8] c"Update\00" -@.str12176 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" -@.str12177 = private unnamed_addr constant [9 x i8] c"rt_clear\00" -@.str12178 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" -@.str12179 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12180 = private unnamed_addr constant [7 x i8] c"Render\00" -@.str12181 = private unnamed_addr constant [8 x i8] c"Overlay\00" -@.str12182 = private unnamed_addr constant [11 x i8] c"rt_present\00" -@.str12183 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" -@.str12184 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" -@.str12185 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str12186 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str12187 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12188 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" -@.str12189 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12190 = private unnamed_addr constant [7 x i8] c"done:\0A\00" -@.str12191 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" -@.str12192 = private unnamed_addr constant [7 x i8] c"OnQuit\00" -@.str12193 = private unnamed_addr constant [13 x i8] c"program_quit\00" -@.str12194 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" -@.str12195 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" -@.str12196 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" -@.str12197 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" -@.str12198 = private unnamed_addr constant [15 x i8] c"machine state \00" -@.str12199 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" -@.str12200 = private unnamed_addr constant [1 x i8] c"\00" -@.str12201 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" -@.str12202 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" -@.str12203 = private unnamed_addr constant [2 x i8] c")\00" -@.str12204 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14083: index out of range: \00" -@.str12205 = private unnamed_addr constant [6 x i8] c"smend\00" -@.str12206 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14088: index out of range: \00" -@.str12207 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12208 = private unnamed_addr constant [3 x i8] c", \00" -@.str12209 = private unnamed_addr constant [6 x i8] c"sbody\00" -@.str12210 = private unnamed_addr constant [5 x i8] c"sarm\00" -@.str12211 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12212 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12213 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12214 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12110 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str12111 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" +@.str12112 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12113 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str12114 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" +@.str12115 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str12116 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12117 = private unnamed_addr constant [3 x i8] c"gk\00" +@.str12118 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12119 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" +@.str12120 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str12121 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12122 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" +@.str12123 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12124 = 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" +@.str12125 = 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" +@.str12126 = 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" +@.str12127 = 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" +@.str12128 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" +@.str12129 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" +@.str12130 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14412: index out of range: \00" +@.str12131 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14413: index out of range: \00" +@.str12132 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str12133 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12134 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12135 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str12136 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str12137 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str12138 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12139 = private unnamed_addr constant [2 x i8] c"g\00" +@.str12140 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12141 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str12142 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12143 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12144 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12145 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12146 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14420: index out of range: \00" +@.str12147 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12148 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str12149 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12150 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12151 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str12152 = private unnamed_addr constant [12 x i8] c", label %sf\00" +@.str12153 = private unnamed_addr constant [12 x i8] c", label %sk\00" +@.str12154 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12155 = private unnamed_addr constant [3 x i8] c"sf\00" +@.str12156 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12157 = private unnamed_addr constant [6 x i8] c" %sa\00" +@.str12158 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12159 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str12160 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12161 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12162 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str12163 = private unnamed_addr constant [6 x i8] c" %sp\00" +@.str12164 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" +@.str12165 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" +@.str12166 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str12167 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str12168 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12169 = private unnamed_addr constant [6 x i8] c" %sb\00" +@.str12170 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" +@.str12171 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" +@.str12172 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str12173 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str12174 = private unnamed_addr constant [6 x i8] c" %sw\00" +@.str12175 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" +@.str12176 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" +@.str12177 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str12178 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str12179 = private unnamed_addr constant [3 x i8] c"sk\00" +@.str12180 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12181 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str12182 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str12183 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12184 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" +@.str12185 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12186 = 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" +@.str12187 = 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" +@.str12188 = 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" +@.str12189 = 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" +@.str12190 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" +@.str12191 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str12192 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14455: index out of range: \00" +@.str12193 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14456: index out of range: \00" +@.str12194 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str12195 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12196 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12197 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str12198 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str12199 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str12200 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12201 = private unnamed_addr constant [2 x i8] c"g\00" +@.str12202 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12203 = private unnamed_addr constant [6 x i8] c" %hp\00" +@.str12204 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12205 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str12206 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12207 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str12208 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" +@.str12209 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12210 = private unnamed_addr constant [6 x i8] c" %hr\00" +@.str12211 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" +@.str12212 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" +@.str12213 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12214 = private unnamed_addr constant [3 x i8] c"gn\00" @.str12215 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12216 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12216 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str12217 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12218 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12219 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12220 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12221 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12222 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14110: index out of range: \00" -@.str12223 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14113: index out of range: \00" -@.str12224 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14113: index out of range: \00" -@.str12225 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12226 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" -@.str12227 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12228 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" -@.str12229 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12230 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12231 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" -@.str12232 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" -@.str12233 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12234 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" -@.str12235 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12236 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" -@.str12237 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" -@.str12238 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12239 = private unnamed_addr constant [5 x i8] c"file\00" -@.str12240 = private unnamed_addr constant [4 x i8] c"%io\00" -@.str12241 = private unnamed_addr constant [3 x i8] c" \00" -@.str12242 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" -@.str12243 = private unnamed_addr constant [6 x i8] c"(ptr \00" -@.str12244 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" -@.str12245 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" -@.str12246 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12247 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str12248 = private unnamed_addr constant [3 x i8] c" \00" -@.str12249 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str12250 = private unnamed_addr constant [3 x i8] c", \00" -@.str12251 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12252 = private unnamed_addr constant [5 x i8] c"%ioa\00" -@.str12253 = private unnamed_addr constant [3 x i8] c" \00" -@.str12254 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" -@.str12255 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12256 = private unnamed_addr constant [5 x i8] c"save\00" -@.str12257 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12258 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12259 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12260 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12261 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12262 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12263 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12264 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12265 = private unnamed_addr constant [6 x i8] c"%ioff\00" -@.str12266 = private unnamed_addr constant [3 x i8] c" \00" -@.str12267 = private unnamed_addr constant [12 x i8] c" = add i64 \00" -@.str12268 = private unnamed_addr constant [3 x i8] c", \00" -@.str12269 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12270 = private unnamed_addr constant [2 x i8] c"0\00" -@.str12271 = private unnamed_addr constant [8 x i8] c"@L_entc\00" -@.str12272 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12273 = private unnamed_addr constant [9 x i8] c"@L_freen\00" -@.str12274 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12275 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" -@.str12276 = private unnamed_addr constant [5 x i8] c", 4\0A\00" -@.str12277 = private unnamed_addr constant [9 x i8] c"@L_alive\00" -@.str12278 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12279 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" -@.str12280 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12281 = private unnamed_addr constant [8 x i8] c"@L_kind\00" -@.str12282 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12283 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" -@.str12284 = private unnamed_addr constant [8 x i8] c"%nalive\00" -@.str12285 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14195: index out of range: \00" -@.str12286 = private unnamed_addr constant [4 x i8] c"@g_\00" -@.str12287 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14195: index out of range: \00" -@.str12288 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12289 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14199: index out of range: \00" -@.str12290 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14200: index out of range: \00" -@.str12291 = private unnamed_addr constant [5 x i8] c"%csz\00" -@.str12292 = private unnamed_addr constant [3 x i8] c" \00" -@.str12293 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" -@.str12294 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" -@.str12295 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" -@.str12296 = private unnamed_addr constant [4 x i8] c"@S_\00" -@.str12297 = private unnamed_addr constant [4 x i8] c"@H_\00" -@.str12298 = private unnamed_addr constant [5 x i8] c"file\00" -@.str12299 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" -@.str12300 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" -@.str12301 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" -@.str12302 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" -@.str12303 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" -@.str12304 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" -@.str12305 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" -@.str12306 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str12307 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" -@.str12308 = private unnamed_addr constant [7 x i8] c"fwrite\00" -@.str12309 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" -@.str12310 = 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" -@.str12311 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" -@.str12312 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" -@.str12313 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str12314 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" -@.str12315 = private unnamed_addr constant [6 x i8] c"fread\00" -@.str12316 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" -@.str12317 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" -@.str12318 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" -@.str12319 = private unnamed_addr constant [5 x i8] c"save\00" -@.str12320 = private unnamed_addr constant [1 x i8] c"\00" -@.str12321 = private unnamed_addr constant [5 x i8] c"%wsn\00" -@.str12322 = private unnamed_addr constant [3 x i8] c" \00" -@.str12323 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str12324 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str12325 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12326 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12327 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12328 = private unnamed_addr constant [5 x i8] c"load\00" -@.str12329 = private unnamed_addr constant [1 x i8] c"\00" -@.str12330 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12331 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" -@.str12332 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12333 = private unnamed_addr constant [1 x i8] c"\00" -@.str12334 = private unnamed_addr constant [5 x i8] c"%wzn\00" -@.str12335 = private unnamed_addr constant [3 x i8] c" \00" -@.str12336 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" -@.str12337 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" -@.str12338 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12339 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12340 = private unnamed_addr constant [5 x i8] c"file\00" -@.str12341 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str12342 = private unnamed_addr constant [3 x i8] c"i8\00" -@.str12343 = private unnamed_addr constant [2 x i8] c"1\00" -@.str12344 = private unnamed_addr constant [2 x i8] c"4\00" -@.str12345 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14293: index out of range: \00" -@.str12346 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14294: index out of range: \00" -@.str12347 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14297: index out of range: \00" -@.str12348 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14297: index out of range: \00" -@.str12349 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14309: index out of range: \00" -@.str12350 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14309: index out of range: \00" -@.str12351 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14316: index out of range: \00" -@.str12352 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14316: index out of range: \00" -@.str12353 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14324: index out of range: \00" -@.str12354 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14324: index out of range: \00" -@.str12355 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str12218 = 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" +@.str12219 = 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" +@.str12220 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" +@.str12221 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" +@.str12222 = 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" +@.str12223 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" +@.str12224 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" +@.str12225 = 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" +@.str12226 = 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" +@.str12227 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" +@.str12228 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" +@.str12229 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12230 = 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" +@.str12231 = 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" +@.str12232 = 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" +@.str12233 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" +@.str12234 = 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" +@.str12235 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" +@.str12236 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str12237 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str12238 = 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" +@.str12239 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str12240 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str12241 = 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" +@.str12242 = 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" +@.str12243 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" +@.str12244 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12245 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str12246 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" +@.str12247 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" +@.str12248 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14505: index out of range: \00" +@.str12249 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14506: index out of range: \00" +@.str12250 = private unnamed_addr constant [7 x i8] c" %mdc\00" +@.str12251 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str12252 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12253 = private unnamed_addr constant [7 x i8] c" %mde\00" +@.str12254 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" +@.str12255 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str12256 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" +@.str12257 = private unnamed_addr constant [13 x i8] c", label %mdh\00" +@.str12258 = private unnamed_addr constant [13 x i8] c", label %mdn\00" +@.str12259 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12260 = private unnamed_addr constant [4 x i8] c"mdh\00" +@.str12261 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12262 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14510: index out of range: \00" +@.str12263 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12264 = private unnamed_addr constant [4 x i8] c"mdn\00" +@.str12265 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12266 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str12267 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14524: index out of range: \00" +@.str12268 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14525: index out of range: \00" +@.str12269 = private unnamed_addr constant [4 x i8] c"int\00" +@.str12270 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12271 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12272 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" +@.str12273 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str12274 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str12275 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" +@.str12276 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14546: index out of range: \00" +@.str12277 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14547: index out of range: \00" +@.str12278 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str12279 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" +@.str12280 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12281 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str12282 = private unnamed_addr constant [12 x i8] c", label %sh\00" +@.str12283 = private unnamed_addr constant [12 x i8] c", label %sn\00" +@.str12284 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12285 = private unnamed_addr constant [3 x i8] c"sh\00" +@.str12286 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" +@.str12287 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" +@.str12288 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" +@.str12289 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12290 = private unnamed_addr constant [3 x i8] c"sn\00" +@.str12291 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12292 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str12293 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" +@.str12294 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" +@.str12295 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" +@.str12296 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" +@.str12297 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str12298 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str12299 = 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" +@.str12300 = 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" +@.str12301 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" +@.str12302 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" +@.str12303 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" +@.str12304 = private unnamed_addr constant [1 x i8] c"\00" +@.str12305 = private unnamed_addr constant [4 x i8] c"int\00" +@.str12306 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14587: index out of range: \00" +@.str12307 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" +@.str12308 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" +@.str12309 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" +@.str12310 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" +@.str12311 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14598: index out of range: \00" +@.str12312 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14599: index out of range: \00" +@.str12313 = private unnamed_addr constant [6 x i8] c" %pe\00" +@.str12314 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" +@.str12315 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12316 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" +@.str12317 = private unnamed_addr constant [12 x i8] c", label %ph\00" +@.str12318 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str12319 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12320 = private unnamed_addr constant [3 x i8] c"ph\00" +@.str12321 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12322 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12323 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str12324 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12325 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" +@.str12326 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str12327 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" +@.str12328 = 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" +@.str12329 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" +@.str12330 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12331 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" +@.str12332 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14617: index out of range: \00" +@.str12333 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14618: index out of range: \00" +@.str12334 = private unnamed_addr constant [7 x i8] c" %fce\00" +@.str12335 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12336 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12337 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" +@.str12338 = private unnamed_addr constant [13 x i8] c", label %fch\00" +@.str12339 = private unnamed_addr constant [13 x i8] c", label %fcn\00" +@.str12340 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12341 = private unnamed_addr constant [4 x i8] c"fch\00" +@.str12342 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12343 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12344 = private unnamed_addr constant [4 x i8] c"fcn\00" +@.str12345 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12346 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str12347 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str12348 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" +@.str12349 = 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" +@.str12350 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" +@.str12351 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str12352 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14636: index out of range: \00" +@.str12353 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14637: index out of range: \00" +@.str12354 = private unnamed_addr constant [7 x i8] c" %fne\00" +@.str12355 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str12356 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12357 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14346: index out of range: \00" -@.str12358 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14347: index out of range: \00" -@.str12359 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14350: index out of range: \00" -@.str12360 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14351: index out of range: \00" -@.str12361 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14357: index out of range: \00" -@.str12362 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14359: index out of range: \00" -@.str12363 = private unnamed_addr constant [4 x i8] c"ptr\00" -@.str12364 = private unnamed_addr constant [13 x i8] c"@Sync field \00" -@.str12365 = private unnamed_addr constant [2 x i8] c".\00" -@.str12366 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14359: index out of range: \00" -@.str12367 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" -@.str12368 = private unnamed_addr constant [7 x i8] c"model \00" -@.str12369 = private unnamed_addr constant [9 x i8] c" @Syncs \00" -@.str12370 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" -@.str12371 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" -@.str12372 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str12373 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14383: index out of range: \00" -@.str12374 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14384: index out of range: \00" -@.str12375 = private unnamed_addr constant [3 x i8] c" \00" -@.str12376 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str12377 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str12378 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str12379 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str12380 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14390: index out of range: \00" -@.str12381 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14391: index out of range: \00" -@.str12382 = private unnamed_addr constant [3 x i8] c" \00" -@.str12383 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str12384 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12385 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str12386 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12387 = private unnamed_addr constant [3 x i8] c" \00" -@.str12388 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str12389 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12390 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12391 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12392 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12393 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12394 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14395: index out of range: \00" -@.str12395 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12396 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" -@.str12397 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" -@.str12398 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12399 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14416: index out of range: \00" -@.str12400 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14417: index out of range: \00" -@.str12401 = private unnamed_addr constant [3 x i8] c" \00" -@.str12402 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" -@.str12403 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" -@.str12404 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" -@.str12405 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" -@.str12406 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14423: index out of range: \00" -@.str12407 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14424: index out of range: \00" -@.str12408 = private unnamed_addr constant [3 x i8] c" \00" -@.str12409 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" -@.str12410 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12411 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" -@.str12412 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12413 = private unnamed_addr constant [3 x i8] c" \00" -@.str12414 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" -@.str12415 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12416 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" -@.str12417 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12418 = private unnamed_addr constant [7 x i8] c", i64 \00" -@.str12419 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12420 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14428: index out of range: \00" -@.str12421 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12422 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" -@.str12423 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str12424 = 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" -@.str12425 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14451: index out of range: \00" -@.str12426 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14451: index out of range: \00" -@.str12427 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14452: index out of range: \00" -@.str12428 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12429 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str12430 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12431 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12432 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12433 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str12434 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12435 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12436 = private unnamed_addr constant [7 x i8] c":\0A %r\00" -@.str12437 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" -@.str12438 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" -@.str12439 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12440 = private unnamed_addr constant [2 x i8] c"n\00" -@.str12441 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12442 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str12443 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12444 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str12445 = 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" -@.str12446 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14467: index out of range: \00" -@.str12447 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14467: index out of range: \00" -@.str12448 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14468: index out of range: \00" -@.str12449 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12450 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str12451 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12452 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12453 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12454 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str12455 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12456 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12457 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" -@.str12458 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" -@.str12459 = private unnamed_addr constant [2 x i8] c"n\00" -@.str12460 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12461 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12462 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" -@.str12463 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" -@.str12464 = 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" -@.str12465 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14485: index out of range: \00" -@.str12466 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14485: index out of range: \00" -@.str12467 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14486: index out of range: \00" -@.str12468 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12469 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" -@.str12470 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12471 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12472 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12473 = private unnamed_addr constant [11 x i8] c", label %n\00" -@.str12474 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12475 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12476 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" -@.str12477 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14489: index out of range: \00" -@.str12478 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12479 = private unnamed_addr constant [2 x i8] c"n\00" -@.str12480 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12481 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" -@.str12482 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" -@.str12483 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str12484 = 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" -@.str12485 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" -@.str12486 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str12487 = 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" -@.str12488 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" -@.str12489 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" -@.str12490 = 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" -@.str12491 = 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" -@.str12492 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" -@.str12493 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" -@.str12494 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" -@.str12495 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" -@.str12496 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" -@.str12497 = 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" -@.str12498 = 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" -@.str12499 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" -@.str12500 = 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" -@.str12501 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" -@.str12502 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str12503 = 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" -@.str12504 = 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" -@.str12505 = 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" -@.str12506 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" -@.str12507 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" -@.str12508 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" -@.str12509 = 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" -@.str12510 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" -@.str12511 = private unnamed_addr constant [5 x i8] c"go:\0A\00" -@.str12512 = 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" -@.str12513 = 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" -@.str12514 = 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" -@.str12515 = 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" -@.str12516 = 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" -@.str12517 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" -@.str12518 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14562: index out of range: \00" -@.str12519 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14568: index out of range: \00" -@.str12520 = private unnamed_addr constant [9 x i8] c"net_send\00" -@.str12521 = private unnamed_addr constant [11 x i8] c"L_net_send\00" -@.str12522 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str12523 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" -@.str12524 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str12525 = private unnamed_addr constant [9 x i8] c"net_poll\00" -@.str12526 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" -@.str12527 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" -@.str12528 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" -@.str12529 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" -@.str12530 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" -@.str12531 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14587: index out of range: \00" -@.str12532 = private unnamed_addr constant [5 x i8] c" %c\00" -@.str12533 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" -@.str12534 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12535 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" -@.str12536 = private unnamed_addr constant [11 x i8] c", label %h\00" -@.str12537 = private unnamed_addr constant [11 x i8] c", label %x\00" -@.str12538 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12539 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12540 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12541 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14598: index out of range: \00" -@.str12542 = private unnamed_addr constant [2 x i8] c"_\00" -@.str12543 = private unnamed_addr constant [6 x i8] c" %fa\00" -@.str12544 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" -@.str12545 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12546 = private unnamed_addr constant [6 x i8] c" %fv\00" -@.str12547 = private unnamed_addr constant [9 x i8] c" = load \00" -@.str12548 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" -@.str12549 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12550 = private unnamed_addr constant [3 x i8] c", \00" -@.str12551 = private unnamed_addr constant [5 x i8] c" %fv\00" -@.str12552 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14604: index out of range: \00" -@.str12553 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" -@.str12554 = private unnamed_addr constant [2 x i8] c"(\00" -@.str12555 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12556 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12557 = private unnamed_addr constant [2 x i8] c"x\00" -@.str12558 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12559 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12560 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" -@.str12561 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14623: index out of range: \00" -@.str12562 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14623: index out of range: \00" -@.str12563 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14624: index out of range: \00" -@.str12564 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14625: index out of range: \00" -@.str12565 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" -@.str12566 = private unnamed_addr constant [6 x i8] c"panel\00" -@.str12567 = private unnamed_addr constant [4 x i8] c"col\00" -@.str12568 = private unnamed_addr constant [4 x i8] c"row\00" -@.str12569 = private unnamed_addr constant [6 x i8] c"label\00" -@.str12570 = private unnamed_addr constant [7 x i8] c"button\00" -@.str12571 = private unnamed_addr constant [6 x i8] c"image\00" -@.str12572 = private unnamed_addr constant [7 x i8] c"spacer\00" -@.str12573 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14656: index out of range: \00" -@.str12574 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14656: index out of range: \00" -@.str12575 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14662: index out of range: \00" -@.str12576 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14665: index out of range: \00" -@.str12577 = private unnamed_addr constant [5 x i8] c"font\00" -@.str12578 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12579 = private unnamed_addr constant [3 x i8] c"fg\00" -@.str12580 = private unnamed_addr constant [6 x i8] c"align\00" -@.str12581 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14670: index out of range: \00" -@.str12582 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14671: index out of range: \00" -@.str12583 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14673: index out of range: \00" -@.str12584 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14673: index out of range: \00" -@.str12585 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14674: index out of range: \00" -@.str12586 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14675: index out of range: \00" -@.str12587 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14686: index out of range: \00" -@.str12588 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14692: index out of range: \00" -@.str12589 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14692: index out of range: \00" -@.str12590 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14692: index out of range: \00" -@.str12591 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14698: index out of range: \00" -@.str12592 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14698: index out of range: \00" -@.str12593 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12594 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12595 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12596 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" -@.str12597 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14714: index out of range: \00" -@.str12598 = private unnamed_addr constant [3 x i8] c"id\00" -@.str12599 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" -@.str12600 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12601 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12602 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12603 = private unnamed_addr constant [2 x i8] c"w\00" -@.str12604 = private unnamed_addr constant [2 x i8] c"h\00" -@.str12605 = private unnamed_addr constant [2 x i8] c"x\00" -@.str12606 = private unnamed_addr constant [2 x i8] c"y\00" -@.str12607 = private unnamed_addr constant [4 x i8] c"pad\00" -@.str12608 = private unnamed_addr constant [4 x i8] c"gap\00" -@.str12609 = private unnamed_addr constant [3 x i8] c"bg\00" -@.str12610 = private unnamed_addr constant [3 x i8] c"fg\00" -@.str12611 = private unnamed_addr constant [7 x i8] c"border\00" -@.str12612 = private unnamed_addr constant [5 x i8] c"grow\00" -@.str12613 = private unnamed_addr constant [5 x i8] c"font\00" -@.str12614 = private unnamed_addr constant [5 x i8] c"size\00" -@.str12615 = private unnamed_addr constant [6 x i8] c"inset\00" -@.str12616 = private unnamed_addr constant [6 x i8] c"focus\00" -@.str12617 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" -@.str12618 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12619 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14745: index out of range: \00" -@.str12620 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14748: index out of range: \00" -@.str12621 = private unnamed_addr constant [2 x i8] c"1\00" -@.str12622 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14753: index out of range: \00" -@.str12623 = private unnamed_addr constant [3 x i8] c"id\00" -@.str12624 = private unnamed_addr constant [5 x i8] c"goto\00" -@.str12625 = private unnamed_addr constant [5 x i8] c"text\00" -@.str12626 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" -@.str12627 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12628 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12629 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str12630 = private unnamed_addr constant [6 x i8] c"image\00" -@.str12631 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" -@.str12632 = private unnamed_addr constant [2 x i8] c")\00" -@.str12633 = private unnamed_addr constant [5 x i8] c"skin\00" -@.str12634 = private unnamed_addr constant [6 x i8] c"align\00" -@.str12635 = private unnamed_addr constant [7 x i8] c"center\00" -@.str12636 = private unnamed_addr constant [4 x i8] c"end\00" -@.str12637 = private unnamed_addr constant [2 x i8] c"1\00" -@.str12638 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" -@.str12639 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12640 = private unnamed_addr constant [3 x i8] c", \00" -@.str12641 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14797: index out of range: \00" -@.str12642 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str12643 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14797: index out of range: \00" -@.str12644 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12645 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" -@.str12646 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12647 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14816: index out of range: \00" -@.str12648 = private unnamed_addr constant [9 x i8] c" store \00" -@.str12649 = private unnamed_addr constant [7 x i8] c" %arg_\00" -@.str12650 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12651 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12652 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12653 = private unnamed_addr constant [11 x i8] c"function '\00" -@.str12654 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" -@.str12655 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str12656 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str12657 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12658 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" -@.str12659 = private unnamed_addr constant [6 x i8] c"load \00" -@.str12660 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" -@.str12661 = private unnamed_addr constant [7 x i8] c" ret \00" -@.str12662 = private unnamed_addr constant [2 x i8] c" \00" -@.str12663 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12664 = private unnamed_addr constant [8 x i8] c"define \00" -@.str12665 = private unnamed_addr constant [6 x i8] c" @fn_\00" -@.str12666 = private unnamed_addr constant [2 x i8] c"(\00" -@.str12667 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" -@.str12668 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str12669 = private unnamed_addr constant [1 x i8] c"\00" -@.str12670 = private unnamed_addr constant [4 x i8] c"int\00" -@.str12671 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" -@.str12672 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str12673 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str12674 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" -@.str12675 = private unnamed_addr constant [8 x i8] c"rt_init\00" -@.str12676 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" -@.str12677 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" -@.str12678 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str12679 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" -@.str12680 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" -@.str12681 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12682 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12683 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str12684 = private unnamed_addr constant [3 x i8] c"}\0A\00" -@.str12685 = private unnamed_addr constant [5 x i8] c"void\00" -@.str12686 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" -@.str12687 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" -@.str12688 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" -@.str12689 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" -@.str12690 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" -@.str12691 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" -@.str12692 = 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" -@.str12693 = private unnamed_addr constant [91 x i8] c"@.fmt_test_none = private unnamed_addr constant [20 x i8] c\22no test named \5C22%s\5C22\5C0A\5C00\22\0A\00" -@.str12694 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14896: index out of range: \00" -@.str12695 = 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" -@.str12696 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" -@.str12697 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" -@.str12698 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" -@.str12699 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" -@.str12700 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" -@.str12701 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" -@.str12702 = private unnamed_addr constant [6 x i8] c"tfilt\00" -@.str12703 = private unnamed_addr constant [7 x i8] c"tbegin\00" -@.str12704 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" -@.str12705 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12706 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12707 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12708 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12709 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12710 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" -@.str12711 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" -@.str12712 = private unnamed_addr constant [13 x i8] c" store ptr \00" -@.str12713 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" -@.str12714 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12715 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12716 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12717 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" -@.str12718 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" -@.str12719 = private unnamed_addr constant [8 x i8] c"ok - \00" -@.str12720 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14920: index out of range: \00" -@.str12721 = private unnamed_addr constant [8 x i8] c"FAIL - \00" -@.str12722 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14921: index out of range: \00" -@.str12723 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14922: index out of range: \00" -@.str12724 = private unnamed_addr constant [5 x i8] c"tcmp\00" -@.str12725 = private unnamed_addr constant [5 x i8] c"trun\00" -@.str12726 = private unnamed_addr constant [6 x i8] c"tskip\00" -@.str12727 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" -@.str12728 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" -@.str12729 = private unnamed_addr constant [7 x i8] c", null\00" -@.str12730 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12731 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12732 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12733 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12734 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12735 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" -@.str12736 = private unnamed_addr constant [7 x i8] c", ptr \00" -@.str12737 = private unnamed_addr constant [2 x i8] c")\00" -@.str12738 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12739 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12740 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12741 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12742 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12743 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12744 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12745 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" -@.str12746 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str12747 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str12748 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12749 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" -@.str12750 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" -@.str12751 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" -@.str12752 = private unnamed_addr constant [4 x i8] c"()\0A\00" -@.str12753 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" -@.str12754 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" -@.str12755 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12756 = private unnamed_addr constant [6 x i8] c"tpass\00" -@.str12757 = private unnamed_addr constant [6 x i8] c"tfail\00" -@.str12758 = private unnamed_addr constant [6 x i8] c"tdone\00" -@.str12759 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12760 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12761 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12762 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12763 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12764 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str12765 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12766 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12357 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" +@.str12358 = private unnamed_addr constant [13 x i8] c", label %fnk\00" +@.str12359 = private unnamed_addr constant [13 x i8] c", label %fnn\00" +@.str12360 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12361 = private unnamed_addr constant [4 x i8] c"fnk\00" +@.str12362 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12363 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14643: index out of range: \00" +@.str12364 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12365 = private unnamed_addr constant [8 x i8] c" %fnfe\00" +@.str12366 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12367 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12368 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" +@.str12369 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" +@.str12370 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" +@.str12371 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12372 = private unnamed_addr constant [5 x i8] c"fnfh\00" +@.str12373 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12374 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12375 = private unnamed_addr constant [5 x i8] c"fnfn\00" +@.str12376 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12377 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12378 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12379 = private unnamed_addr constant [4 x i8] c"fnn\00" +@.str12380 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12381 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12382 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12383 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str12384 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14662: index out of range: \00" +@.str12385 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14663: index out of range: \00" +@.str12386 = private unnamed_addr constant [7 x i8] c" %fte\00" +@.str12387 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str12388 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12389 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" +@.str12390 = private unnamed_addr constant [13 x i8] c", label %ftk\00" +@.str12391 = private unnamed_addr constant [13 x i8] c", label %ftn\00" +@.str12392 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12393 = private unnamed_addr constant [4 x i8] c"ftk\00" +@.str12394 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12395 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14669: index out of range: \00" +@.str12396 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12397 = private unnamed_addr constant [8 x i8] c" %ftfe\00" +@.str12398 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str12399 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12400 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" +@.str12401 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" +@.str12402 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" +@.str12403 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12404 = private unnamed_addr constant [5 x i8] c"ftfh\00" +@.str12405 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str12406 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12407 = private unnamed_addr constant [5 x i8] c"ftfn\00" +@.str12408 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12409 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12410 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12411 = private unnamed_addr constant [4 x i8] c"ftn\00" +@.str12412 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12413 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str12414 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12415 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" +@.str12416 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str12417 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str12418 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str12419 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str12420 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12421 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" +@.str12422 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str12423 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str12424 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12425 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" +@.str12426 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14709: index out of range: \00" +@.str12427 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str12428 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str12429 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str12430 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str12431 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str12432 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str12433 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str12434 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12435 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str12436 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14731: index out of range: \00" +@.str12437 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str12438 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14731: index out of range: \00" +@.str12439 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str12440 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str12441 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" +@.str12442 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12443 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str12444 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" +@.str12445 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str12446 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str12447 = private unnamed_addr constant [11 x i8] c"rt_running\00" +@.str12448 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" +@.str12449 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str12450 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str12451 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str12452 = private unnamed_addr constant [3 x i8] c", \00" +@.str12453 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str12454 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str12455 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str12456 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str12457 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str12458 = private unnamed_addr constant [12 x i8] c"input_drive\00" +@.str12459 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" +@.str12460 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12461 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str12462 = private unnamed_addr constant [8 x i8] c"rt_poll\00" +@.str12463 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" +@.str12464 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12465 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str12466 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" +@.str12467 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str12468 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" +@.str12469 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12470 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str12471 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str12472 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str12473 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str12474 = private unnamed_addr constant [9 x i8] c"rt_clear\00" +@.str12475 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" +@.str12476 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12477 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str12478 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str12479 = private unnamed_addr constant [11 x i8] c"rt_present\00" +@.str12480 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" +@.str12481 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str12482 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str12483 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str12484 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12485 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" +@.str12486 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12487 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str12488 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" +@.str12489 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str12490 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str12491 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" +@.str12492 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" +@.str12493 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" +@.str12494 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" +@.str12495 = private unnamed_addr constant [15 x i8] c"machine state \00" +@.str12496 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str12497 = private unnamed_addr constant [1 x i8] c"\00" +@.str12498 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" +@.str12499 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" +@.str12500 = private unnamed_addr constant [2 x i8] c")\00" +@.str12501 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14840: index out of range: \00" +@.str12502 = private unnamed_addr constant [6 x i8] c"smend\00" +@.str12503 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14845: index out of range: \00" +@.str12504 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str12505 = private unnamed_addr constant [3 x i8] c", \00" +@.str12506 = private unnamed_addr constant [6 x i8] c"sbody\00" +@.str12507 = private unnamed_addr constant [5 x i8] c"sarm\00" +@.str12508 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str12509 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str12510 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str12511 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12512 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12513 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12514 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12515 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12516 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str12517 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12518 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12519 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14867: index out of range: \00" +@.str12520 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14870: index out of range: \00" +@.str12521 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14870: index out of range: \00" +@.str12522 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12523 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str12524 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12525 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" +@.str12526 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str12527 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12528 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" +@.str12529 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" +@.str12530 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str12531 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" +@.str12532 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str12533 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str12534 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str12535 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str12536 = private unnamed_addr constant [5 x i8] c"file\00" +@.str12537 = private unnamed_addr constant [4 x i8] c"%io\00" +@.str12538 = private unnamed_addr constant [3 x i8] c" \00" +@.str12539 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" +@.str12540 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str12541 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str12542 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" +@.str12543 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12544 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str12545 = private unnamed_addr constant [3 x i8] c" \00" +@.str12546 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str12547 = private unnamed_addr constant [3 x i8] c", \00" +@.str12548 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12549 = private unnamed_addr constant [5 x i8] c"%ioa\00" +@.str12550 = private unnamed_addr constant [3 x i8] c" \00" +@.str12551 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" +@.str12552 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12553 = private unnamed_addr constant [5 x i8] c"save\00" +@.str12554 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12555 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12556 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12557 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12558 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12559 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12560 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12561 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12562 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str12563 = private unnamed_addr constant [3 x i8] c" \00" +@.str12564 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str12565 = private unnamed_addr constant [3 x i8] c", \00" +@.str12566 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12567 = private unnamed_addr constant [2 x i8] c"0\00" +@.str12568 = private unnamed_addr constant [8 x i8] c"@L_entc\00" +@.str12569 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12570 = private unnamed_addr constant [9 x i8] c"@L_freen\00" +@.str12571 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12572 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" +@.str12573 = private unnamed_addr constant [5 x i8] c", 4\0A\00" +@.str12574 = private unnamed_addr constant [9 x i8] c"@L_alive\00" +@.str12575 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12576 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" +@.str12577 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12578 = private unnamed_addr constant [8 x i8] c"@L_kind\00" +@.str12579 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12580 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" +@.str12581 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str12582 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14952: index out of range: \00" +@.str12583 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str12584 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14952: index out of range: \00" +@.str12585 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12586 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14956: index out of range: \00" +@.str12587 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14957: index out of range: \00" +@.str12588 = private unnamed_addr constant [5 x i8] c"%csz\00" +@.str12589 = private unnamed_addr constant [3 x i8] c" \00" +@.str12590 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" +@.str12591 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" +@.str12592 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" +@.str12593 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str12594 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str12595 = private unnamed_addr constant [5 x i8] c"file\00" +@.str12596 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" +@.str12597 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str12598 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str12599 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" +@.str12600 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" +@.str12601 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" +@.str12602 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" +@.str12603 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str12604 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" +@.str12605 = private unnamed_addr constant [7 x i8] c"fwrite\00" +@.str12606 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" +@.str12607 = 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" +@.str12608 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" +@.str12609 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" +@.str12610 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str12611 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" +@.str12612 = private unnamed_addr constant [6 x i8] c"fread\00" +@.str12613 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" +@.str12614 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" +@.str12615 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" +@.str12616 = private unnamed_addr constant [5 x i8] c"save\00" +@.str12617 = private unnamed_addr constant [1 x i8] c"\00" +@.str12618 = private unnamed_addr constant [5 x i8] c"%wsn\00" +@.str12619 = private unnamed_addr constant [3 x i8] c" \00" +@.str12620 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str12621 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str12622 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12623 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12624 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12625 = private unnamed_addr constant [5 x i8] c"load\00" +@.str12626 = private unnamed_addr constant [1 x i8] c"\00" +@.str12627 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12628 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" +@.str12629 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12630 = private unnamed_addr constant [1 x i8] c"\00" +@.str12631 = private unnamed_addr constant [5 x i8] c"%wzn\00" +@.str12632 = private unnamed_addr constant [3 x i8] c" \00" +@.str12633 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str12634 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str12635 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12636 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12637 = private unnamed_addr constant [5 x i8] c"file\00" +@.str12638 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12639 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str12640 = private unnamed_addr constant [2 x i8] c"1\00" +@.str12641 = private unnamed_addr constant [2 x i8] c"4\00" +@.str12642 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15050: index out of range: \00" +@.str12643 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15051: index out of range: \00" +@.str12644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15054: index out of range: \00" +@.str12645 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15054: index out of range: \00" +@.str12646 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15066: index out of range: \00" +@.str12647 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15066: index out of range: \00" +@.str12648 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15073: index out of range: \00" +@.str12649 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15073: index out of range: \00" +@.str12650 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15081: index out of range: \00" +@.str12651 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15081: index out of range: \00" +@.str12652 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str12653 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12654 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15103: index out of range: \00" +@.str12655 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15104: index out of range: \00" +@.str12656 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15107: index out of range: \00" +@.str12657 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15108: index out of range: \00" +@.str12658 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15114: index out of range: \00" +@.str12659 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15116: index out of range: \00" +@.str12660 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str12661 = private unnamed_addr constant [13 x i8] c"@Sync field \00" +@.str12662 = private unnamed_addr constant [2 x i8] c".\00" +@.str12663 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15116: index out of range: \00" +@.str12664 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" +@.str12665 = private unnamed_addr constant [7 x i8] c"model \00" +@.str12666 = private unnamed_addr constant [9 x i8] c" @Syncs \00" +@.str12667 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" +@.str12668 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" +@.str12669 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str12670 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15140: index out of range: \00" +@.str12671 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15141: index out of range: \00" +@.str12672 = private unnamed_addr constant [3 x i8] c" \00" +@.str12673 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12674 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12675 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12676 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12677 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15147: index out of range: \00" +@.str12678 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15148: index out of range: \00" +@.str12679 = private unnamed_addr constant [3 x i8] c" \00" +@.str12680 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12681 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12682 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12683 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12684 = private unnamed_addr constant [3 x i8] c" \00" +@.str12685 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str12686 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12687 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12688 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12689 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12690 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12691 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15152: index out of range: \00" +@.str12692 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12693 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str12694 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" +@.str12695 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12696 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15173: index out of range: \00" +@.str12697 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15174: index out of range: \00" +@.str12698 = private unnamed_addr constant [3 x i8] c" \00" +@.str12699 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str12700 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str12701 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str12702 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str12703 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15180: index out of range: \00" +@.str12704 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15181: index out of range: \00" +@.str12705 = private unnamed_addr constant [3 x i8] c" \00" +@.str12706 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str12707 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12708 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str12709 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12710 = private unnamed_addr constant [3 x i8] c" \00" +@.str12711 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str12712 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12713 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str12714 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12715 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str12716 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12717 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15185: index out of range: \00" +@.str12718 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12719 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str12720 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12721 = 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" +@.str12722 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15208: index out of range: \00" +@.str12723 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15208: index out of range: \00" +@.str12724 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15209: index out of range: \00" +@.str12725 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12726 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str12727 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12728 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12729 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12730 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12731 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12732 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12733 = private unnamed_addr constant [7 x i8] c":\0A %r\00" +@.str12734 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" +@.str12735 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" +@.str12736 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12737 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12738 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12739 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str12740 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12741 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12742 = 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" +@.str12743 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15224: index out of range: \00" +@.str12744 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15224: index out of range: \00" +@.str12745 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15225: index out of range: \00" +@.str12746 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12747 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str12748 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12749 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12750 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12751 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12752 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12753 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12754 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" +@.str12755 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" +@.str12756 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12757 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12758 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12759 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" +@.str12760 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str12761 = 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" +@.str12762 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15242: index out of range: \00" +@.str12763 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15242: index out of range: \00" +@.str12764 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15243: index out of range: \00" +@.str12765 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12766 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str12767 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12768 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12769 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" -@.str12770 = private unnamed_addr constant [9 x i8] c"add i32 \00" -@.str12771 = private unnamed_addr constant [4 x i8] c", 1\00" -@.str12772 = private unnamed_addr constant [13 x i8] c" store i32 \00" -@.str12773 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" -@.str12774 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" -@.str12775 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12776 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12777 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12778 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12779 = private unnamed_addr constant [13 x i8] c" br label %\00" -@.str12780 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12781 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12782 = private unnamed_addr constant [6 x i8] c"tnone\00" -@.str12783 = private unnamed_addr constant [5 x i8] c"tsum\00" -@.str12784 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" -@.str12785 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" -@.str12786 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" -@.str12787 = private unnamed_addr constant [7 x i8] c", null\00" -@.str12788 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12789 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12790 = private unnamed_addr constant [8 x i8] c"and i1 \00" -@.str12791 = private unnamed_addr constant [3 x i8] c", \00" -@.str12792 = private unnamed_addr constant [9 x i8] c" br i1 \00" -@.str12793 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12794 = private unnamed_addr constant [10 x i8] c", label %\00" -@.str12795 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12796 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12797 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" -@.str12798 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12799 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" -@.str12800 = private unnamed_addr constant [3 x i8] c":\0A\00" -@.str12801 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" -@.str12802 = private unnamed_addr constant [9 x i8] c"sub i32 \00" -@.str12803 = private unnamed_addr constant [3 x i8] c", \00" -@.str12804 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" -@.str12805 = private unnamed_addr constant [7 x i8] c", i32 \00" -@.str12806 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12807 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" -@.str12808 = private unnamed_addr constant [4 x i8] c", 0\00" -@.str12809 = private unnamed_addr constant [11 x i8] c"select i1 \00" -@.str12810 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" -@.str12811 = private unnamed_addr constant [11 x i8] c" ret i32 \00" -@.str12812 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" -@.str12813 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14980: index out of range: \00" -@.str12814 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14984: index out of range: \00" -@.str12815 = private unnamed_addr constant [11 x i8] c"function '\00" -@.str12816 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" -@.str12817 = private unnamed_addr constant [2 x i8] c":\00" -@.str12818 = private unnamed_addr constant [2 x i8] c")\00" -@.str12819 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15008: index out of range: \00" -@.str12820 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15013: index out of range: \00" -@.str12821 = private unnamed_addr constant [2 x i8] c"'\00" -@.str12822 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" -@.str12823 = private unnamed_addr constant [2 x i8] c":\00" -@.str12824 = private unnamed_addr constant [2 x i8] c")\00" -@.str12825 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15055: index out of range: \00" -@.str12826 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15057: index out of range: \00" -@.str12827 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15075: index out of range: \00" -@.str12828 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15075: index out of range: \00" -@.str12829 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15080: index out of range: \00" -@.str12830 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15080: index out of range: \00" -@.str12831 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" -@.str12832 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str12833 = 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" -@.str12834 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str12835 = private unnamed_addr constant [78 x i8] c"@.fmt_bounds = private unnamed_addr constant [14 x i8] c\22%s%d, len %d\5C0A\5C00\22\0A\00" -@.str12836 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" -@.str12837 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" -@.str12838 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" -@.str12839 = private unnamed_addr constant [10 x i8] c" x i32] [\00" -@.str12840 = private unnamed_addr constant [3 x i8] c", \00" -@.str12841 = private unnamed_addr constant [5 x i8] c"i32 \00" -@.str12842 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15134: index out of range: \00" -@.str12843 = private unnamed_addr constant [3 x i8] c"]\0A\00" -@.str12844 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" -@.str12845 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" -@.str12846 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" -@.str12847 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12848 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" -@.str12849 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" -@.str12850 = private unnamed_addr constant [2 x i8] c"w\00" -@.str12851 = 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" -@.str12852 = 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" -@.str12853 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" -@.str12854 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" -@.str12855 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" -@.str12856 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" -@.str12857 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12858 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" -@.str12859 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" -@.str12860 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" -@.str12861 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" -@.str12862 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12863 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" -@.str12864 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" -@.str12865 = private unnamed_addr constant [8 x i8] c"write:\0A\00" -@.str12866 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" -@.str12867 = private unnamed_addr constant [3 x i8] c")\0A\00" -@.str12868 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12869 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" -@.str12870 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" -@.str12871 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" -@.str12872 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12873 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" -@.str12874 = private unnamed_addr constant [7 x i8] c"body:\0A\00" -@.str12875 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" -@.str12876 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" -@.str12877 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" -@.str12878 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" -@.str12879 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" -@.str12880 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" -@.str12881 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" -@.str12882 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" -@.str12883 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" -@.str12884 = private unnamed_addr constant [8 x i8] c"close:\0A\00" -@.str12885 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" -@.str12886 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" -@.str12887 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" -@.str12888 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" -@.str12889 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" -@.str12890 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" -@.str12891 = 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" -@.str12892 = private unnamed_addr constant [3 x i8] c"wb\00" -@.str12893 = private unnamed_addr constant [7 x i8] c".ludic\00" -@.str12894 = private unnamed_addr constant [2 x i8] c"/\00" -@.str12895 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" -@.str12896 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" -@.str12897 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12898 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" -@.str12899 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" -@.str12900 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" -@.str12901 = private unnamed_addr constant [7 x i8] c"rm -f \00" -@.str12902 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" -@.str12903 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" -@.str12904 = private unnamed_addr constant [3 x i8] c"rb\00" -@.str12905 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12906 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12907 = private unnamed_addr constant [6 x i8] c"clang\00" -@.str12908 = private unnamed_addr constant [8 x i8] c"VERSION\00" -@.str12909 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" -@.str12910 = private unnamed_addr constant [7 x i8] c"ludic \00" -@.str12911 = private unnamed_addr constant [1 x i8] c"\00" -@.str12912 = private unnamed_addr constant [1 x i8] c"\00" -@.str12913 = private unnamed_addr constant [2 x i8] c"?\00" -@.str12914 = private unnamed_addr constant [4 x i8] c"ret\00" -@.str12915 = private unnamed_addr constant [1 x i8] c"\00" -@.str12916 = private unnamed_addr constant [10 x i8] c"--version\00" -@.str12917 = private unnamed_addr constant [11 x i8] c"--windowed\00" -@.str12918 = private unnamed_addr constant [11 x i8] c"--headless\00" -@.str12919 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" -@.str12920 = private unnamed_addr constant [14 x i8] c"--emit-module\00" -@.str12921 = private unnamed_addr constant [6 x i8] c"--fmt\00" -@.str12922 = private unnamed_addr constant [13 x i8] c"--save-temps\00" -@.str12923 = private unnamed_addr constant [6 x i8] c"--run\00" -@.str12924 = private unnamed_addr constant [11 x i8] c"--coverage\00" -@.str12925 = private unnamed_addr constant [9 x i8] c"--target\00" -@.str12926 = private unnamed_addr constant [6 x i8] c"--gui\00" -@.str12927 = private unnamed_addr constant [8 x i8] c"--title\00" -@.str12928 = private unnamed_addr constant [7 x i8] c"--link\00" -@.str12929 = private unnamed_addr constant [3 x i8] c"-o\00" -@.str12930 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" -@.str12931 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str12932 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" -@.str12933 = private unnamed_addr constant [8 x i8] c"windows\00" -@.str12934 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" -@.str12935 = private unnamed_addr constant [5 x i8] c"TEMP\00" -@.str12936 = private unnamed_addr constant [2 x i8] c".\00" -@.str12937 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" -@.str12938 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" -@.str12939 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str12940 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str12941 = private unnamed_addr constant [4 x i8] c".ll\00" -@.str12942 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" -@.str12943 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" -@.str12944 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" -@.str12945 = private unnamed_addr constant [2 x i8] c" \00" -@.str12946 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" -@.str12947 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" -@.str12948 = private unnamed_addr constant [2 x i8] c" \00" -@.str12949 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" -@.str12950 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" -@.str12951 = private unnamed_addr constant [2 x i8] c" \00" -@.str12952 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" -@.str12953 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" -@.str12954 = private unnamed_addr constant [2 x i8] c" \00" -@.str12955 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" -@.str12956 = private unnamed_addr constant [2 x i8] c" \00" -@.str12957 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" -@.str12958 = private unnamed_addr constant [2 x i8] c" \00" -@.str12959 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" -@.str12960 = private unnamed_addr constant [2 x i8] c" \00" -@.str12961 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" -@.str12962 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" -@.str12963 = private unnamed_addr constant [2 x i8] c" \00" -@.str12964 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" -@.str12965 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" -@.str12966 = private unnamed_addr constant [2 x i8] c" \00" -@.str12967 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" -@.str12968 = private unnamed_addr constant [2 x i8] c" \00" -@.str12969 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" -@.str12970 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" -@.str12971 = private unnamed_addr constant [2 x i8] c" \00" -@.str12972 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" -@.str12973 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" -@.str12974 = private unnamed_addr constant [2 x i8] c" \00" -@.str12975 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" -@.str12976 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" -@.str12977 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" -@.str12978 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" -@.str12979 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" -@.str12980 = private unnamed_addr constant [2 x i8] c" \00" -@.str12981 = private unnamed_addr constant [2 x i8] c" \00" -@.str12982 = private unnamed_addr constant [2 x i8] c" \00" -@.str12983 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" -@.str12984 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" -@.str12985 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" -@.str12986 = private unnamed_addr constant [2 x i8] c" \00" -@.str12987 = private unnamed_addr constant [2 x i8] c" \00" -@.str12988 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" -@.str12989 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" -@.str12990 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" -@.str12991 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" -@.str12992 = private unnamed_addr constant [2 x i8] c" \00" -@.str12993 = private unnamed_addr constant [2 x i8] c" \00" -@.str12994 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" -@.str12995 = private unnamed_addr constant [3 x i8] c" \22\00" -@.str12996 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15541: index out of range: \00" -@.str12997 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str12998 = private unnamed_addr constant [5 x i8] c" -o \00" -@.str12999 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str13000 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str13001 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" -@.str13002 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str13003 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str12768 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12769 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12770 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str12771 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12772 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12773 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str12774 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15246: index out of range: \00" +@.str12775 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12776 = private unnamed_addr constant [2 x i8] c"n\00" +@.str12777 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12778 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str12779 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" +@.str12780 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str12781 = 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" +@.str12782 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" +@.str12783 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str12784 = 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" +@.str12785 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" +@.str12786 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str12787 = 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" +@.str12788 = 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" +@.str12789 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" +@.str12790 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" +@.str12791 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" +@.str12792 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" +@.str12793 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str12794 = 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" +@.str12795 = 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" +@.str12796 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" +@.str12797 = 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" +@.str12798 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" +@.str12799 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str12800 = 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" +@.str12801 = 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" +@.str12802 = 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" +@.str12803 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" +@.str12804 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" +@.str12805 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" +@.str12806 = 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" +@.str12807 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" +@.str12808 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str12809 = 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" +@.str12810 = 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" +@.str12811 = 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" +@.str12812 = 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" +@.str12813 = 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" +@.str12814 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" +@.str12815 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15319: index out of range: \00" +@.str12816 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15325: index out of range: \00" +@.str12817 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str12818 = private unnamed_addr constant [11 x i8] c"L_net_send\00" +@.str12819 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str12820 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" +@.str12821 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str12822 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str12823 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" +@.str12824 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" +@.str12825 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" +@.str12826 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" +@.str12827 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" +@.str12828 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15344: index out of range: \00" +@.str12829 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str12830 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" +@.str12831 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12832 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str12833 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str12834 = private unnamed_addr constant [11 x i8] c", label %x\00" +@.str12835 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12836 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12837 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12838 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15355: index out of range: \00" +@.str12839 = private unnamed_addr constant [2 x i8] c"_\00" +@.str12840 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str12841 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" +@.str12842 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12843 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str12844 = private unnamed_addr constant [9 x i8] c" = load \00" +@.str12845 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str12846 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12847 = private unnamed_addr constant [3 x i8] c", \00" +@.str12848 = private unnamed_addr constant [5 x i8] c" %fv\00" +@.str12849 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15361: index out of range: \00" +@.str12850 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str12851 = private unnamed_addr constant [2 x i8] c"(\00" +@.str12852 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12853 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12854 = private unnamed_addr constant [2 x i8] c"x\00" +@.str12855 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str12856 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str12857 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str12858 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15380: index out of range: \00" +@.str12859 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15380: index out of range: \00" +@.str12860 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15381: index out of range: \00" +@.str12861 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15382: index out of range: \00" +@.str12862 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str12863 = private unnamed_addr constant [6 x i8] c"panel\00" +@.str12864 = private unnamed_addr constant [4 x i8] c"col\00" +@.str12865 = private unnamed_addr constant [4 x i8] c"row\00" +@.str12866 = private unnamed_addr constant [6 x i8] c"label\00" +@.str12867 = private unnamed_addr constant [7 x i8] c"button\00" +@.str12868 = private unnamed_addr constant [6 x i8] c"image\00" +@.str12869 = private unnamed_addr constant [7 x i8] c"spacer\00" +@.str12870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15413: index out of range: \00" +@.str12871 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15413: index out of range: \00" +@.str12872 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15419: index out of range: \00" +@.str12873 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15422: index out of range: \00" +@.str12874 = private unnamed_addr constant [5 x i8] c"font\00" +@.str12875 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12876 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str12877 = private unnamed_addr constant [6 x i8] c"align\00" +@.str12878 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15427: index out of range: \00" +@.str12879 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15428: index out of range: \00" +@.str12880 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15430: index out of range: \00" +@.str12881 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15430: index out of range: \00" +@.str12882 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15431: index out of range: \00" +@.str12883 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15432: index out of range: \00" +@.str12884 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15443: index out of range: \00" +@.str12885 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15449: index out of range: \00" +@.str12886 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15449: index out of range: \00" +@.str12887 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15449: index out of range: \00" +@.str12888 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15455: index out of range: \00" +@.str12889 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15455: index out of range: \00" +@.str12890 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12891 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12892 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12893 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15466: index out of range: \00" +@.str12894 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15471: index out of range: \00" +@.str12895 = private unnamed_addr constant [3 x i8] c"id\00" +@.str12896 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" +@.str12897 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str12898 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str12899 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12900 = private unnamed_addr constant [2 x i8] c"w\00" +@.str12901 = private unnamed_addr constant [2 x i8] c"h\00" +@.str12902 = private unnamed_addr constant [2 x i8] c"x\00" +@.str12903 = private unnamed_addr constant [2 x i8] c"y\00" +@.str12904 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str12905 = private unnamed_addr constant [4 x i8] c"gap\00" +@.str12906 = private unnamed_addr constant [3 x i8] c"bg\00" +@.str12907 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str12908 = private unnamed_addr constant [7 x i8] c"border\00" +@.str12909 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str12910 = private unnamed_addr constant [5 x i8] c"font\00" +@.str12911 = private unnamed_addr constant [5 x i8] c"size\00" +@.str12912 = private unnamed_addr constant [6 x i8] c"inset\00" +@.str12913 = private unnamed_addr constant [6 x i8] c"focus\00" +@.str12914 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" +@.str12915 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12916 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15502: index out of range: \00" +@.str12917 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15505: index out of range: \00" +@.str12918 = private unnamed_addr constant [2 x i8] c"1\00" +@.str12919 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15510: index out of range: \00" +@.str12920 = private unnamed_addr constant [3 x i8] c"id\00" +@.str12921 = private unnamed_addr constant [5 x i8] c"goto\00" +@.str12922 = private unnamed_addr constant [5 x i8] c"text\00" +@.str12923 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" +@.str12924 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12925 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str12926 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str12927 = private unnamed_addr constant [6 x i8] c"image\00" +@.str12928 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" +@.str12929 = private unnamed_addr constant [2 x i8] c")\00" +@.str12930 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str12931 = private unnamed_addr constant [6 x i8] c"align\00" +@.str12932 = private unnamed_addr constant [7 x i8] c"center\00" +@.str12933 = private unnamed_addr constant [4 x i8] c"end\00" +@.str12934 = private unnamed_addr constant [2 x i8] c"1\00" +@.str12935 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" +@.str12936 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str12937 = private unnamed_addr constant [3 x i8] c", \00" +@.str12938 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15554: index out of range: \00" +@.str12939 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str12940 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15554: index out of range: \00" +@.str12941 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12942 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" +@.str12943 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12944 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15573: index out of range: \00" +@.str12945 = private unnamed_addr constant [9 x i8] c" store \00" +@.str12946 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str12947 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str12948 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12949 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12950 = private unnamed_addr constant [11 x i8] c"function '\00" +@.str12951 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" +@.str12952 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str12953 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str12954 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12955 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str12956 = private unnamed_addr constant [6 x i8] c"load \00" +@.str12957 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" +@.str12958 = private unnamed_addr constant [7 x i8] c" ret \00" +@.str12959 = private unnamed_addr constant [2 x i8] c" \00" +@.str12960 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12961 = private unnamed_addr constant [8 x i8] c"define \00" +@.str12962 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str12963 = private unnamed_addr constant [2 x i8] c"(\00" +@.str12964 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str12965 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str12966 = private unnamed_addr constant [1 x i8] c"\00" +@.str12967 = private unnamed_addr constant [4 x i8] c"int\00" +@.str12968 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" +@.str12969 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str12970 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str12971 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" +@.str12972 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str12973 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str12974 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str12975 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str12976 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str12977 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" +@.str12978 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str12979 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12980 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str12981 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str12982 = private unnamed_addr constant [5 x i8] c"void\00" +@.str12983 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str12984 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str12985 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" +@.str12986 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str12987 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str12988 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" +@.str12989 = 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" +@.str12990 = private unnamed_addr constant [91 x i8] c"@.fmt_test_none = private unnamed_addr constant [20 x i8] c\22no test named \5C22%s\5C22\5C0A\5C00\22\0A\00" +@.str12991 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15653: index out of range: \00" +@.str12992 = 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" +@.str12993 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str12994 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str12995 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str12996 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" +@.str12997 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" +@.str12998 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" +@.str12999 = private unnamed_addr constant [6 x i8] c"tfilt\00" +@.str13000 = private unnamed_addr constant [7 x i8] c"tbegin\00" +@.str13001 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" +@.str13002 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13003 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13004 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13005 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13006 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13007 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" +@.str13008 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str13009 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str13010 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" +@.str13011 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13012 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13013 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13014 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" +@.str13015 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str13016 = private unnamed_addr constant [8 x i8] c"ok - \00" +@.str13017 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15677: index out of range: \00" +@.str13018 = private unnamed_addr constant [8 x i8] c"FAIL - \00" +@.str13019 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15678: index out of range: \00" +@.str13020 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15679: index out of range: \00" +@.str13021 = private unnamed_addr constant [5 x i8] c"tcmp\00" +@.str13022 = private unnamed_addr constant [5 x i8] c"trun\00" +@.str13023 = private unnamed_addr constant [6 x i8] c"tskip\00" +@.str13024 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" +@.str13025 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str13026 = private unnamed_addr constant [7 x i8] c", null\00" +@.str13027 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13028 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13029 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13030 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13031 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13032 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" +@.str13033 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str13034 = private unnamed_addr constant [2 x i8] c")\00" +@.str13035 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str13036 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13037 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13038 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13039 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13040 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13041 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13042 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" +@.str13043 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str13044 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str13045 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str13046 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" +@.str13047 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" +@.str13048 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" +@.str13049 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str13050 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" +@.str13051 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str13052 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13053 = private unnamed_addr constant [6 x i8] c"tpass\00" +@.str13054 = private unnamed_addr constant [6 x i8] c"tfail\00" +@.str13055 = private unnamed_addr constant [6 x i8] c"tdone\00" +@.str13056 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13057 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13058 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13059 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13060 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13061 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str13062 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13063 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13064 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13065 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13066 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str13067 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str13068 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str13069 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str13070 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" +@.str13071 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str13072 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13073 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13075 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13076 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str13077 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13078 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13079 = private unnamed_addr constant [6 x i8] c"tnone\00" +@.str13080 = private unnamed_addr constant [5 x i8] c"tsum\00" +@.str13081 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" +@.str13082 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" +@.str13083 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" +@.str13084 = private unnamed_addr constant [7 x i8] c", null\00" +@.str13085 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str13086 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13087 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str13088 = private unnamed_addr constant [3 x i8] c", \00" +@.str13089 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str13090 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13091 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str13092 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13093 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13094 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" +@.str13095 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13096 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" +@.str13097 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str13098 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str13099 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str13100 = private unnamed_addr constant [3 x i8] c", \00" +@.str13101 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" +@.str13102 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str13103 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13104 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str13105 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str13106 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str13107 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str13108 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str13109 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" +@.str13110 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15737: index out of range: \00" +@.str13111 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15741: index out of range: \00" +@.str13112 = private unnamed_addr constant [11 x i8] c"function '\00" +@.str13113 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" +@.str13114 = private unnamed_addr constant [2 x i8] c":\00" +@.str13115 = private unnamed_addr constant [2 x i8] c")\00" +@.str13116 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15765: index out of range: \00" +@.str13117 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15770: index out of range: \00" +@.str13118 = private unnamed_addr constant [2 x i8] c"'\00" +@.str13119 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" +@.str13120 = private unnamed_addr constant [2 x i8] c":\00" +@.str13121 = private unnamed_addr constant [2 x i8] c")\00" +@.str13122 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15812: index out of range: \00" +@.str13123 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15814: index out of range: \00" +@.str13124 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15832: index out of range: \00" +@.str13125 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15832: index out of range: \00" +@.str13126 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15837: index out of range: \00" +@.str13127 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15837: index out of range: \00" +@.str13128 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" +@.str13129 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str13130 = 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" +@.str13131 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str13132 = private unnamed_addr constant [78 x i8] c"@.fmt_bounds = private unnamed_addr constant [14 x i8] c\22%s%d, len %d\5C0A\5C00\22\0A\00" +@.str13133 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" +@.str13134 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" +@.str13135 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" +@.str13136 = private unnamed_addr constant [10 x i8] c" x i32] [\00" +@.str13137 = private unnamed_addr constant [3 x i8] c", \00" +@.str13138 = private unnamed_addr constant [5 x i8] c"i32 \00" +@.str13139 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15891: index out of range: \00" +@.str13140 = private unnamed_addr constant [3 x i8] c"]\0A\00" +@.str13141 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" +@.str13142 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str13143 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" +@.str13144 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13145 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" +@.str13146 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" +@.str13147 = private unnamed_addr constant [2 x i8] c"w\00" +@.str13148 = 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" +@.str13149 = 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" +@.str13150 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str13151 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" +@.str13152 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" +@.str13153 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" +@.str13154 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13155 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" +@.str13156 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" +@.str13157 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" +@.str13158 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" +@.str13159 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13160 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str13161 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" +@.str13162 = private unnamed_addr constant [8 x i8] c"write:\0A\00" +@.str13163 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" +@.str13164 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str13165 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str13166 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str13167 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" +@.str13168 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" +@.str13169 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13170 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" +@.str13171 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str13172 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" +@.str13173 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" +@.str13174 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" +@.str13175 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" +@.str13176 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" +@.str13177 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" +@.str13178 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" +@.str13179 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" +@.str13180 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str13181 = private unnamed_addr constant [8 x i8] c"close:\0A\00" +@.str13182 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" +@.str13183 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str13184 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" +@.str13185 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" +@.str13186 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" +@.str13187 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str13188 = 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" +@.str13189 = private unnamed_addr constant [3 x i8] c"wb\00" +@.str13190 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str13191 = private unnamed_addr constant [2 x i8] c"/\00" +@.str13192 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" +@.str13193 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" +@.str13194 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13195 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" +@.str13196 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" +@.str13197 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" +@.str13198 = private unnamed_addr constant [7 x i8] c"rm -f \00" +@.str13199 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" +@.str13200 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" +@.str13201 = private unnamed_addr constant [3 x i8] c"rb\00" +@.str13202 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13203 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13204 = private unnamed_addr constant [6 x i8] c"clang\00" +@.str13205 = private unnamed_addr constant [8 x i8] c"VERSION\00" +@.str13206 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" +@.str13207 = private unnamed_addr constant [7 x i8] c"ludic \00" +@.str13208 = private unnamed_addr constant [1 x i8] c"\00" +@.str13209 = private unnamed_addr constant [1 x i8] c"\00" +@.str13210 = private unnamed_addr constant [2 x i8] c"?\00" +@.str13211 = private unnamed_addr constant [4 x i8] c"ret\00" +@.str13212 = private unnamed_addr constant [1 x i8] c"\00" +@.str13213 = private unnamed_addr constant [5 x i8] c"void\00" +@.str13214 = private unnamed_addr constant [10 x i8] c"--version\00" +@.str13215 = private unnamed_addr constant [11 x i8] c"--windowed\00" +@.str13216 = private unnamed_addr constant [11 x i8] c"--headless\00" +@.str13217 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" +@.str13218 = private unnamed_addr constant [14 x i8] c"--emit-module\00" +@.str13219 = private unnamed_addr constant [6 x i8] c"--fmt\00" +@.str13220 = private unnamed_addr constant [13 x i8] c"--save-temps\00" +@.str13221 = private unnamed_addr constant [6 x i8] c"--run\00" +@.str13222 = private unnamed_addr constant [11 x i8] c"--coverage\00" +@.str13223 = private unnamed_addr constant [9 x i8] c"--target\00" +@.str13224 = private unnamed_addr constant [6 x i8] c"--gui\00" +@.str13225 = private unnamed_addr constant [8 x i8] c"--title\00" +@.str13226 = private unnamed_addr constant [7 x i8] c"--link\00" +@.str13227 = private unnamed_addr constant [3 x i8] c"-o\00" +@.str13228 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str13229 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str13230 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" +@.str13231 = private unnamed_addr constant [8 x i8] c"windows\00" +@.str13232 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" +@.str13233 = private unnamed_addr constant [5 x i8] c"TEMP\00" +@.str13234 = private unnamed_addr constant [2 x i8] c".\00" +@.str13235 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" +@.str13236 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str13237 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str13238 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str13239 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str13240 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str13241 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str13242 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" +@.str13243 = private unnamed_addr constant [2 x i8] c" \00" +@.str13244 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" +@.str13245 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" +@.str13246 = private unnamed_addr constant [2 x i8] c" \00" +@.str13247 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" +@.str13248 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str13249 = private unnamed_addr constant [2 x i8] c" \00" +@.str13250 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" +@.str13251 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" +@.str13252 = private unnamed_addr constant [2 x i8] c" \00" +@.str13253 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" +@.str13254 = private unnamed_addr constant [2 x i8] c" \00" +@.str13255 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" +@.str13256 = private unnamed_addr constant [2 x i8] c" \00" +@.str13257 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" +@.str13258 = private unnamed_addr constant [2 x i8] c" \00" +@.str13259 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" +@.str13260 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" +@.str13261 = private unnamed_addr constant [2 x i8] c" \00" +@.str13262 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" +@.str13263 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" +@.str13264 = private unnamed_addr constant [2 x i8] c" \00" +@.str13265 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" +@.str13266 = private unnamed_addr constant [2 x i8] c" \00" +@.str13267 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" +@.str13268 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" +@.str13269 = private unnamed_addr constant [2 x i8] c" \00" +@.str13270 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" +@.str13271 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" +@.str13272 = private unnamed_addr constant [2 x i8] c" \00" +@.str13273 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" +@.str13274 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" +@.str13275 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" +@.str13276 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" +@.str13277 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" +@.str13278 = private unnamed_addr constant [2 x i8] c" \00" +@.str13279 = private unnamed_addr constant [2 x i8] c" \00" +@.str13280 = private unnamed_addr constant [2 x i8] c" \00" +@.str13281 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" +@.str13282 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" +@.str13283 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" +@.str13284 = private unnamed_addr constant [2 x i8] c" \00" +@.str13285 = private unnamed_addr constant [2 x i8] c" \00" +@.str13286 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" +@.str13287 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" +@.str13288 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" +@.str13289 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" +@.str13290 = private unnamed_addr constant [2 x i8] c" \00" +@.str13291 = private unnamed_addr constant [2 x i8] c" \00" +@.str13292 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" +@.str13293 = private unnamed_addr constant [3 x i8] c" \22\00" +@.str13294 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:16299: index out of range: \00" +@.str13295 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13296 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str13297 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13298 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13299 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str13300 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str13301 = private unnamed_addr constant [2 x i8] c"\22\00" define i32 @lp_str_eq(ptr %a, ptr %b) { entry: br label %loop @@ -14326,56 +14640,56 @@ sod: store i32 %fcnt, ptr %d2 ret ptr %h } -@.str13004 = private unnamed_addr constant [4 x i8] c"png\00" -@.str13005 = private unnamed_addr constant [10 x i8] c"image/png\00" -@.str13006 = private unnamed_addr constant [4 x i8] c"jpg\00" -@.str13007 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str13008 = private unnamed_addr constant [5 x i8] c"jpeg\00" -@.str13009 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str13010 = private unnamed_addr constant [4 x i8] c"gif\00" -@.str13011 = private unnamed_addr constant [10 x i8] c"image/gif\00" -@.str13012 = private unnamed_addr constant [4 x i8] c"bmp\00" -@.str13013 = private unnamed_addr constant [10 x i8] c"image/bmp\00" -@.str13014 = private unnamed_addr constant [5 x i8] c"webp\00" -@.str13015 = private unnamed_addr constant [11 x i8] c"image/webp\00" -@.str13016 = private unnamed_addr constant [4 x i8] c"svg\00" -@.str13017 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" -@.str13018 = private unnamed_addr constant [4 x i8] c"txt\00" -@.str13019 = private unnamed_addr constant [11 x i8] c"text/plain\00" -@.str13020 = private unnamed_addr constant [3 x i8] c"md\00" -@.str13021 = private unnamed_addr constant [14 x i8] c"text/markdown\00" -@.str13022 = private unnamed_addr constant [4 x i8] c"csv\00" -@.str13023 = private unnamed_addr constant [9 x i8] c"text/csv\00" -@.str13024 = private unnamed_addr constant [5 x i8] c"html\00" -@.str13025 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str13026 = private unnamed_addr constant [4 x i8] c"htm\00" -@.str13027 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str13028 = private unnamed_addr constant [4 x i8] c"css\00" -@.str13029 = private unnamed_addr constant [9 x i8] c"text/css\00" -@.str13030 = private unnamed_addr constant [3 x i8] c"js\00" -@.str13031 = private unnamed_addr constant [16 x i8] c"text/javascript\00" -@.str13032 = private unnamed_addr constant [5 x i8] c"json\00" -@.str13033 = private unnamed_addr constant [17 x i8] c"application/json\00" -@.str13034 = private unnamed_addr constant [4 x i8] c"xml\00" -@.str13035 = private unnamed_addr constant [16 x i8] c"application/xml\00" -@.str13036 = private unnamed_addr constant [4 x i8] c"zip\00" -@.str13037 = private unnamed_addr constant [16 x i8] c"application/zip\00" -@.str13038 = private unnamed_addr constant [4 x i8] c"pdf\00" -@.str13039 = private unnamed_addr constant [16 x i8] c"application/pdf\00" -@.str13040 = private unnamed_addr constant [4 x i8] c"wav\00" -@.str13041 = private unnamed_addr constant [10 x i8] c"audio/wav\00" -@.str13042 = private unnamed_addr constant [4 x i8] c"ogg\00" -@.str13043 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" -@.str13044 = private unnamed_addr constant [4 x i8] c"mp3\00" -@.str13045 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" -@.str13046 = private unnamed_addr constant [4 x i8] c"ttf\00" -@.str13047 = private unnamed_addr constant [9 x i8] c"font/ttf\00" -@.str13048 = private unnamed_addr constant [4 x i8] c"otf\00" -@.str13049 = private unnamed_addr constant [9 x i8] c"font/otf\00" -@.str13050 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str13051 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" -@.str13052 = 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 @.str13004, ptr @.str13005 }, { ptr, ptr } { ptr @.str13006, ptr @.str13007 }, { ptr, ptr } { ptr @.str13008, ptr @.str13009 }, { ptr, ptr } { ptr @.str13010, ptr @.str13011 }, { ptr, ptr } { ptr @.str13012, ptr @.str13013 }, { ptr, ptr } { ptr @.str13014, ptr @.str13015 }, { ptr, ptr } { ptr @.str13016, ptr @.str13017 }, { ptr, ptr } { ptr @.str13018, ptr @.str13019 }, { ptr, ptr } { ptr @.str13020, ptr @.str13021 }, { ptr, ptr } { ptr @.str13022, ptr @.str13023 }, { ptr, ptr } { ptr @.str13024, ptr @.str13025 }, { ptr, ptr } { ptr @.str13026, ptr @.str13027 }, { ptr, ptr } { ptr @.str13028, ptr @.str13029 }, { ptr, ptr } { ptr @.str13030, ptr @.str13031 }, { ptr, ptr } { ptr @.str13032, ptr @.str13033 }, { ptr, ptr } { ptr @.str13034, ptr @.str13035 }, { ptr, ptr } { ptr @.str13036, ptr @.str13037 }, { ptr, ptr } { ptr @.str13038, ptr @.str13039 }, { ptr, ptr } { ptr @.str13040, ptr @.str13041 }, { ptr, ptr } { ptr @.str13042, ptr @.str13043 }, { ptr, ptr } { ptr @.str13044, ptr @.str13045 }, { ptr, ptr } { ptr @.str13046, ptr @.str13047 }, { ptr, ptr } { ptr @.str13048, ptr @.str13049 }, { ptr, ptr } { ptr @.str13050, ptr @.str13051 }] +@.str13302 = private unnamed_addr constant [4 x i8] c"png\00" +@.str13303 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str13304 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str13305 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str13306 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str13307 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str13308 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str13309 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str13310 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str13311 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str13312 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str13313 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str13314 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str13315 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str13316 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str13317 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str13318 = private unnamed_addr constant [3 x i8] c"md\00" +@.str13319 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str13320 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str13321 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str13322 = private unnamed_addr constant [5 x i8] c"html\00" +@.str13323 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str13324 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str13325 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str13326 = private unnamed_addr constant [4 x i8] c"css\00" +@.str13327 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str13328 = private unnamed_addr constant [3 x i8] c"js\00" +@.str13329 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str13330 = private unnamed_addr constant [5 x i8] c"json\00" +@.str13331 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str13332 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str13333 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str13334 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str13335 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str13336 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str13337 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str13338 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str13339 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str13340 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str13341 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str13342 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str13343 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str13344 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str13345 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str13346 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str13347 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str13348 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str13349 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str13350 = 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 @.str13302, ptr @.str13303 }, { ptr, ptr } { ptr @.str13304, ptr @.str13305 }, { ptr, ptr } { ptr @.str13306, ptr @.str13307 }, { ptr, ptr } { ptr @.str13308, ptr @.str13309 }, { ptr, ptr } { ptr @.str13310, ptr @.str13311 }, { ptr, ptr } { ptr @.str13312, ptr @.str13313 }, { ptr, ptr } { ptr @.str13314, ptr @.str13315 }, { ptr, ptr } { ptr @.str13316, ptr @.str13317 }, { ptr, ptr } { ptr @.str13318, ptr @.str13319 }, { ptr, ptr } { ptr @.str13320, ptr @.str13321 }, { ptr, ptr } { ptr @.str13322, ptr @.str13323 }, { ptr, ptr } { ptr @.str13324, ptr @.str13325 }, { ptr, ptr } { ptr @.str13326, ptr @.str13327 }, { ptr, ptr } { ptr @.str13328, ptr @.str13329 }, { ptr, ptr } { ptr @.str13330, ptr @.str13331 }, { ptr, ptr } { ptr @.str13332, ptr @.str13333 }, { ptr, ptr } { ptr @.str13334, ptr @.str13335 }, { ptr, ptr } { ptr @.str13336, ptr @.str13337 }, { ptr, ptr } { ptr @.str13338, ptr @.str13339 }, { ptr, ptr } { ptr @.str13340, ptr @.str13341 }, { ptr, ptr } { ptr @.str13342, ptr @.str13343 }, { ptr, ptr } { ptr @.str13344, ptr @.str13345 }, { ptr, ptr } { ptr @.str13346, ptr @.str13347 }, { ptr, ptr } { ptr @.str13348, ptr @.str13349 }] define ptr @lp_mime_of(ptr %path) { entry: %ext = call ptr @lp_path_ext(ptr %path) @@ -14403,7 +14717,7 @@ nx: store i32 %i1, ptr %ip br label %lp def: - %d = call ptr @lp_fs_strdup(ptr @.str13052) + %d = call ptr @lp_fs_strdup(ptr @.str13350) ret ptr %d } define ptr @lp_mime_lc(ptr %s) { @@ -104484,24 +104798,26 @@ entry: %t2435 = alloca ptr %t2448 = alloca ptr %t2481 = alloca ptr - %t2495 = alloca ptr - %t2502 = alloca ptr - %t2503 = alloca i32 - %t2526 = alloca ptr - %t2577 = alloca ptr - %t2578 = alloca ptr - %t2633 = alloca ptr - %t2646 = alloca ptr - %t2648 = alloca ptr + %t2491 = alloca ptr + %t2498 = alloca ptr + %t2505 = alloca ptr + %t2506 = alloca i32 + %t2529 = alloca ptr + %t2533 = alloca ptr + %t2599 = alloca ptr + %t2600 = alloca ptr %t2655 = alloca ptr - %t2672 = alloca ptr - %t2679 = alloca ptr - %t2686 = alloca ptr - %t2687 = alloca i32 - %t2710 = alloca ptr - %t2714 = alloca ptr - %t2780 = alloca ptr - %t2781 = alloca ptr + %t2668 = alloca ptr + %t2670 = alloca ptr + %t2677 = alloca ptr + %t2694 = alloca ptr + %t2701 = alloca ptr + %t2708 = alloca ptr + %t2709 = alloca i32 + %t2732 = alloca ptr + %t2736 = alloca ptr + %t2802 = alloca ptr + %t2803 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_callee_value(ptr %t1) @@ -108160,538 +108476,571 @@ then488: %t2487 = load ptr, ptr %t2481 %t2488 = call ptr @fn_param_labels(ptr %t2487) call void @fn_reorder_named(ptr %t2486, ptr %t2488) - %t2489 = getelementptr %LSlice, ptr null, i32 1 - %t2490 = ptrtoint ptr %t2489 to i64 - %t2491 = call ptr @malloc(i64 %t2490) - %t2492 = getelementptr inbounds %LSlice, ptr %t2491, i32 0, i32 0 - store ptr null, ptr %t2492 - %t2493 = getelementptr inbounds %LSlice, ptr %t2491, i32 0, i32 1 - store i32 0, ptr %t2493 - %t2494 = getelementptr inbounds %LSlice, ptr %t2491, i32 0, i32 2 - store i32 0, ptr %t2494 - store ptr %t2491, ptr %t2495 - %t2496 = getelementptr %LSlice, ptr null, i32 1 - %t2497 = ptrtoint ptr %t2496 to i64 - %t2498 = call ptr @malloc(i64 %t2497) - %t2499 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 0 - store ptr null, ptr %t2499 - %t2500 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 1 - store i32 0, ptr %t2500 - %t2501 = getelementptr inbounds %LSlice, ptr %t2498, i32 0, i32 2 - store i32 0, ptr %t2501 - store ptr %t2498, ptr %t2502 + %t2489 = load ptr, ptr %t2481 + %t2490 = call ptr @fn_param_types(ptr %t2489) + store ptr %t2490, ptr %t2491 + %t2492 = getelementptr %LSlice, ptr null, i32 1 + %t2493 = ptrtoint ptr %t2492 to i64 + %t2494 = call ptr @malloc(i64 %t2493) + %t2495 = getelementptr inbounds %LSlice, ptr %t2494, i32 0, i32 0 + store ptr null, ptr %t2495 + %t2496 = getelementptr inbounds %LSlice, ptr %t2494, i32 0, i32 1 + store i32 0, ptr %t2496 + %t2497 = getelementptr inbounds %LSlice, ptr %t2494, i32 0, i32 2 + store i32 0, ptr %t2497 + store ptr %t2494, ptr %t2498 + %t2499 = getelementptr %LSlice, ptr null, i32 1 + %t2500 = ptrtoint ptr %t2499 to i64 + %t2501 = call ptr @malloc(i64 %t2500) + %t2502 = getelementptr inbounds %LSlice, ptr %t2501, i32 0, i32 0 + store ptr null, ptr %t2502 + %t2503 = getelementptr inbounds %LSlice, ptr %t2501, i32 0, i32 1 store i32 0, ptr %t2503 + %t2504 = getelementptr inbounds %LSlice, ptr %t2501, i32 0, i32 2 + store i32 0, ptr %t2504 + store ptr %t2501, ptr %t2505 + store i32 0, ptr %t2506 br label %wcond491 wcond491: - %t2504 = load i32, ptr %t2503 - %t2505 = load ptr, ptr %t0 - %t2506 = getelementptr inbounds %Cmp_Node, ptr %t2505, i32 0, i32 7 - %t2507 = load ptr, ptr %t2506 - %t2508 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 1 - %t2509 = load i32, ptr %t2508 - %t2510 = icmp slt i32 %t2504, %t2509 - %t2511 = zext i1 %t2510 to i32 - %t2512 = icmp ne i32 %t2511, 0 - br i1 %t2512, label %wbody492, label %wend493 + %t2507 = load i32, ptr %t2506 + %t2508 = load ptr, ptr %t0 + %t2509 = getelementptr inbounds %Cmp_Node, ptr %t2508, i32 0, i32 7 + %t2510 = load ptr, ptr %t2509 + %t2511 = getelementptr inbounds %LSlice, ptr %t2510, i32 0, i32 1 + %t2512 = load i32, ptr %t2511 + %t2513 = icmp slt i32 %t2507, %t2512 + %t2514 = zext i1 %t2513 to i32 + %t2515 = icmp ne i32 %t2514, 0 + br i1 %t2515, label %wbody492, label %wend493 wbody492: - %t2513 = load ptr, ptr %t0 - %t2514 = getelementptr inbounds %Cmp_Node, ptr %t2513, i32 0, i32 7 - %t2515 = load ptr, ptr %t2514 - %t2516 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 0 - %t2517 = load ptr, ptr %t2516 - %t2518 = load i32, ptr %t2503 - %t2519 = getelementptr inbounds %LSlice, ptr %t2515, i32 0, i32 1 - %t2520 = load i32, ptr %t2519 - %t2521 = icmp ult i32 %t2518, %t2520 - br i1 %t2521, label %ixok494, label %ixbad495 + %t2516 = load ptr, ptr %t0 + %t2517 = getelementptr inbounds %Cmp_Node, ptr %t2516, i32 0, i32 7 + %t2518 = load ptr, ptr %t2517 + %t2519 = getelementptr inbounds %LSlice, ptr %t2518, i32 0, i32 0 + %t2520 = load ptr, ptr %t2519 + %t2521 = load i32, ptr %t2506 + %t2522 = getelementptr inbounds %LSlice, ptr %t2518, i32 0, i32 1 + %t2523 = load i32, ptr %t2522 + %t2524 = icmp ult i32 %t2521, %t2523 + br i1 %t2524, label %ixok494, label %ixbad495 ixbad495: - %t2522 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2522, ptr @.fmt_bounds, ptr @.str10304, i32 %t2518, i32 %t2520) + %t2525 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2525, ptr @.fmt_bounds, ptr @.str10304, i32 %t2521, i32 %t2523) call void @exit(i32 1) unreachable ixok494: - %t2523 = getelementptr inbounds ptr, ptr %t2517, i32 %t2518 - %t2524 = load ptr, ptr %t2523 - %t2525 = call ptr @fn_emit_expr(ptr %t2524) - store ptr %t2525, ptr %t2526 - %t2527 = load ptr, ptr %t2495 - %t2528 = load ptr, ptr %t2526 - %t2529 = getelementptr inbounds %Cmp_Val, ptr %t2528, i32 0, i32 0 + %t2526 = getelementptr inbounds ptr, ptr %t2520, i32 %t2521 + %t2527 = load ptr, ptr %t2526 + %t2528 = call ptr @fn_emit_expr(ptr %t2527) + store ptr %t2528, ptr %t2529 %t2530 = load ptr, ptr %t2529 - %t2531 = getelementptr inbounds %LSlice, ptr %t2527, i32 0, i32 1 - %t2532 = getelementptr inbounds %LSlice, ptr %t2527, i32 0, i32 2 - %t2533 = getelementptr inbounds %LSlice, ptr %t2527, i32 0, i32 0 - %t2534 = load i32, ptr %t2531 - %t2535 = load i32, ptr %t2532 - %t2536 = icmp sge i32 %t2534, %t2535 - br i1 %t2536, label %grow496, label %put497 -grow496: - %t2537 = mul i32 %t2535, 2 - %t2538 = icmp eq i32 %t2535, 0 - %t2539 = select i1 %t2538, i32 8, i32 %t2537 - %t2540 = getelementptr ptr, ptr null, i32 1 - %t2541 = ptrtoint ptr %t2540 to i64 - %t2542 = zext i32 %t2539 to i64 - %t2543 = mul i64 %t2542, %t2541 - %t2544 = load ptr, ptr %t2533 - %t2545 = call ptr @realloc(ptr %t2544, i64 %t2543) - store ptr %t2545, ptr %t2533 - store i32 %t2539, ptr %t2532 - br label %put497 -put497: - %t2546 = load ptr, ptr %t2533 - %t2547 = getelementptr inbounds ptr, ptr %t2546, i32 %t2534 - store ptr %t2530, ptr %t2547 - %t2548 = add i32 %t2534, 1 - store i32 %t2548, ptr %t2531 - %t2549 = load ptr, ptr %t2502 - %t2550 = load ptr, ptr %t2526 - %t2551 = getelementptr inbounds %Cmp_Val, ptr %t2550, i32 0, i32 1 - %t2552 = load ptr, ptr %t2551 - %t2553 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 1 - %t2554 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 2 - %t2555 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 0 - %t2556 = load i32, ptr %t2553 - %t2557 = load i32, ptr %t2554 - %t2558 = icmp sge i32 %t2556, %t2557 - br i1 %t2558, label %grow498, label %put499 -grow498: - %t2559 = mul i32 %t2557, 2 - %t2560 = icmp eq i32 %t2557, 0 - %t2561 = select i1 %t2560, i32 8, i32 %t2559 - %t2562 = getelementptr ptr, ptr null, i32 1 - %t2563 = ptrtoint ptr %t2562 to i64 - %t2564 = zext i32 %t2561 to i64 - %t2565 = mul i64 %t2564, %t2563 - %t2566 = load ptr, ptr %t2555 - %t2567 = call ptr @realloc(ptr %t2566, i64 %t2565) - store ptr %t2567, ptr %t2555 - store i32 %t2561, ptr %t2554 - br label %put499 -put499: - %t2568 = load ptr, ptr %t2555 - %t2569 = getelementptr inbounds ptr, ptr %t2568, i32 %t2556 - store ptr %t2552, ptr %t2569 - %t2570 = add i32 %t2556, 1 - store i32 %t2570, ptr %t2553 - %t2571 = load i32, ptr %t2503 - %t2572 = add i32 %t2571, 1 - store i32 %t2572, ptr %t2503 + %t2531 = getelementptr inbounds %Cmp_Val, ptr %t2530, i32 0, i32 1 + %t2532 = load ptr, ptr %t2531 + store ptr %t2532, ptr %t2533 + %t2534 = load i32, ptr %t2506 + %t2535 = load ptr, ptr %t2491 + %t2536 = getelementptr inbounds %LSlice, ptr %t2535, i32 0, i32 1 + %t2537 = load i32, ptr %t2536 + %t2538 = icmp slt i32 %t2534, %t2537 + %t2539 = zext i1 %t2538 to i32 + %t2540 = icmp ne i32 %t2539, 0 + br i1 %t2540, label %then496, label %ifend498 +then496: + %t2541 = load ptr, ptr %t2491 + %t2542 = getelementptr inbounds %LSlice, ptr %t2541, i32 0, i32 0 + %t2543 = load ptr, ptr %t2542 + %t2544 = load i32, ptr %t2506 + %t2545 = getelementptr inbounds %LSlice, ptr %t2541, i32 0, i32 1 + %t2546 = load i32, ptr %t2545 + %t2547 = icmp ult i32 %t2544, %t2546 + br i1 %t2547, label %ixok499, label %ixbad500 +ixbad500: + %t2548 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2548, ptr @.fmt_bounds, ptr @.str10305, i32 %t2544, i32 %t2546) + call void @exit(i32 1) + unreachable +ixok499: + %t2549 = getelementptr inbounds ptr, ptr %t2543, i32 %t2544 + %t2550 = load ptr, ptr %t2549 + store ptr %t2550, ptr %t2533 + br label %ifend498 +ifend498: + %t2551 = load ptr, ptr %t2498 + %t2552 = load ptr, ptr %t2529 + %t2553 = load ptr, ptr %t2533 + %t2554 = call ptr @fn_coerce_code(ptr %t2552, ptr %t2553) + %t2555 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 1 + %t2556 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 2 + %t2557 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 0 + %t2558 = load i32, ptr %t2555 + %t2559 = load i32, ptr %t2556 + %t2560 = icmp sge i32 %t2558, %t2559 + br i1 %t2560, label %grow501, label %put502 +grow501: + %t2561 = mul i32 %t2559, 2 + %t2562 = icmp eq i32 %t2559, 0 + %t2563 = select i1 %t2562, i32 8, i32 %t2561 + %t2564 = getelementptr ptr, ptr null, i32 1 + %t2565 = ptrtoint ptr %t2564 to i64 + %t2566 = zext i32 %t2563 to i64 + %t2567 = mul i64 %t2566, %t2565 + %t2568 = load ptr, ptr %t2557 + %t2569 = call ptr @realloc(ptr %t2568, i64 %t2567) + store ptr %t2569, ptr %t2557 + store i32 %t2563, ptr %t2556 + br label %put502 +put502: + %t2570 = load ptr, ptr %t2557 + %t2571 = getelementptr inbounds ptr, ptr %t2570, i32 %t2558 + store ptr %t2554, ptr %t2571 + %t2572 = add i32 %t2558, 1 + store i32 %t2572, ptr %t2555 + %t2573 = load ptr, ptr %t2505 + %t2574 = load ptr, ptr %t2533 + %t2575 = getelementptr inbounds %LSlice, ptr %t2573, i32 0, i32 1 + %t2576 = getelementptr inbounds %LSlice, ptr %t2573, i32 0, i32 2 + %t2577 = getelementptr inbounds %LSlice, ptr %t2573, i32 0, i32 0 + %t2578 = load i32, ptr %t2575 + %t2579 = load i32, ptr %t2576 + %t2580 = icmp sge i32 %t2578, %t2579 + br i1 %t2580, label %grow503, label %put504 +grow503: + %t2581 = mul i32 %t2579, 2 + %t2582 = icmp eq i32 %t2579, 0 + %t2583 = select i1 %t2582, i32 8, i32 %t2581 + %t2584 = getelementptr ptr, ptr null, i32 1 + %t2585 = ptrtoint ptr %t2584 to i64 + %t2586 = zext i32 %t2583 to i64 + %t2587 = mul i64 %t2586, %t2585 + %t2588 = load ptr, ptr %t2577 + %t2589 = call ptr @realloc(ptr %t2588, i64 %t2587) + store ptr %t2589, ptr %t2577 + store i32 %t2583, ptr %t2576 + br label %put504 +put504: + %t2590 = load ptr, ptr %t2577 + %t2591 = getelementptr inbounds ptr, ptr %t2590, i32 %t2578 + store ptr %t2574, ptr %t2591 + %t2592 = add i32 %t2578, 1 + store i32 %t2592, ptr %t2575 + %t2593 = load i32, ptr %t2506 + %t2594 = add i32 %t2593, 1 + store i32 %t2594, ptr %t2506 br label %wcond491 wend493: - %t2573 = load ptr, ptr %t2481 - %t2574 = getelementptr inbounds %Cmp_Node, ptr %t2573, i32 0, i32 3 - %t2575 = load ptr, ptr %t2574 - %t2576 = call ptr @fn_llty(ptr %t2575) - store ptr %t2576, ptr %t2577 - call void @fn_emit(ptr @.str10305) - store ptr @.str10306, ptr %t2578 - %t2579 = load ptr, ptr %t2577 - %t2580 = call i32 @lp_str_eq(ptr %t2579, ptr @.str10307) - %t2581 = icmp eq i32 %t2580, 0 - %t2582 = zext i1 %t2581 to i32 - %t2583 = icmp ne i32 %t2582, 0 - br i1 %t2583, label %then500, label %ifend502 -then500: - %t2584 = call ptr @fn_nreg() - store ptr %t2584, ptr %t2578 - %t2585 = load ptr, ptr %t2578 - call void @fn_emit(ptr %t2585) - call void @fn_emit(ptr @.str10308) - br label %ifend502 -ifend502: + %t2595 = load ptr, ptr %t2481 + %t2596 = getelementptr inbounds %Cmp_Node, ptr %t2595, i32 0, i32 3 + %t2597 = load ptr, ptr %t2596 + %t2598 = call ptr @fn_llty(ptr %t2597) + store ptr %t2598, ptr %t2599 + call void @fn_emit(ptr @.str10306) + store ptr @.str10307, ptr %t2600 + %t2601 = load ptr, ptr %t2599 + %t2602 = call i32 @lp_str_eq(ptr %t2601, ptr @.str10308) + %t2603 = icmp eq i32 %t2602, 0 + %t2604 = zext i1 %t2603 to i32 + %t2605 = icmp ne i32 %t2604, 0 + br i1 %t2605, label %then505, label %ifend507 +then505: + %t2606 = call ptr @fn_nreg() + store ptr %t2606, ptr %t2600 + %t2607 = load ptr, ptr %t2600 + call void @fn_emit(ptr %t2607) call void @fn_emit(ptr @.str10309) - %t2586 = load ptr, ptr %t2577 - call void @fn_emit(ptr %t2586) + br label %ifend507 +ifend507: call void @fn_emit(ptr @.str10310) - %t2587 = load ptr, ptr %t2481 - %t2588 = getelementptr inbounds %Cmp_Node, ptr %t2587, i32 0, i32 4 - %t2589 = load ptr, ptr %t2588 - %t2590 = getelementptr inbounds %Cmp_Node, ptr %t2589, i32 0, i32 1 - %t2591 = load ptr, ptr %t2590 - call void @fn_emit(ptr %t2591) + %t2608 = load ptr, ptr %t2599 + call void @fn_emit(ptr %t2608) call void @fn_emit(ptr @.str10311) - store i32 0, ptr %t2503 - br label %wcond503 -wcond503: - %t2592 = load i32, ptr %t2503 - %t2593 = load ptr, ptr %t2495 - %t2594 = getelementptr inbounds %LSlice, ptr %t2593, i32 0, i32 1 - %t2595 = load i32, ptr %t2594 - %t2596 = icmp slt i32 %t2592, %t2595 - %t2597 = zext i1 %t2596 to i32 - %t2598 = icmp ne i32 %t2597, 0 - br i1 %t2598, label %wbody504, label %wend505 -wbody504: - %t2599 = load i32, ptr %t2503 - %t2600 = icmp sgt i32 %t2599, 0 - %t2601 = zext i1 %t2600 to i32 - %t2602 = icmp ne i32 %t2601, 0 - br i1 %t2602, label %then506, label %ifend508 -then506: - call void @fn_emit(ptr @.str10312) - br label %ifend508 -ifend508: - %t2603 = load ptr, ptr %t2502 - %t2604 = getelementptr inbounds %LSlice, ptr %t2603, i32 0, i32 0 - %t2605 = load ptr, ptr %t2604 - %t2606 = load i32, ptr %t2503 - %t2607 = getelementptr inbounds %LSlice, ptr %t2603, i32 0, i32 1 - %t2608 = load i32, ptr %t2607 - %t2609 = icmp ult i32 %t2606, %t2608 - br i1 %t2609, label %ixok509, label %ixbad510 -ixbad510: - %t2610 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2610, ptr @.fmt_bounds, ptr @.str10313, i32 %t2606, i32 %t2608) - call void @exit(i32 1) - unreachable -ixok509: - %t2611 = getelementptr inbounds ptr, ptr %t2605, i32 %t2606 - %t2612 = load ptr, ptr %t2611 - %t2613 = call ptr @fn_llty(ptr %t2612) + %t2609 = load ptr, ptr %t2481 + %t2610 = getelementptr inbounds %Cmp_Node, ptr %t2609, i32 0, i32 4 + %t2611 = load ptr, ptr %t2610 + %t2612 = getelementptr inbounds %Cmp_Node, ptr %t2611, i32 0, i32 1 + %t2613 = load ptr, ptr %t2612 call void @fn_emit(ptr %t2613) - call void @fn_emit(ptr @.str10314) - %t2614 = load ptr, ptr %t2495 - %t2615 = getelementptr inbounds %LSlice, ptr %t2614, i32 0, i32 0 - %t2616 = load ptr, ptr %t2615 - %t2617 = load i32, ptr %t2503 - %t2618 = getelementptr inbounds %LSlice, ptr %t2614, i32 0, i32 1 - %t2619 = load i32, ptr %t2618 - %t2620 = icmp ult i32 %t2617, %t2619 - br i1 %t2620, label %ixok511, label %ixbad512 -ixbad512: - %t2621 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2621, ptr @.fmt_bounds, ptr @.str10315, i32 %t2617, i32 %t2619) + call void @fn_emit(ptr @.str10312) + store i32 0, ptr %t2506 + br label %wcond508 +wcond508: + %t2614 = load i32, ptr %t2506 + %t2615 = load ptr, ptr %t2498 + %t2616 = getelementptr inbounds %LSlice, ptr %t2615, i32 0, i32 1 + %t2617 = load i32, ptr %t2616 + %t2618 = icmp slt i32 %t2614, %t2617 + %t2619 = zext i1 %t2618 to i32 + %t2620 = icmp ne i32 %t2619, 0 + br i1 %t2620, label %wbody509, label %wend510 +wbody509: + %t2621 = load i32, ptr %t2506 + %t2622 = icmp sgt i32 %t2621, 0 + %t2623 = zext i1 %t2622 to i32 + %t2624 = icmp ne i32 %t2623, 0 + br i1 %t2624, label %then511, label %ifend513 +then511: + call void @fn_emit(ptr @.str10313) + br label %ifend513 +ifend513: + %t2625 = load ptr, ptr %t2505 + %t2626 = getelementptr inbounds %LSlice, ptr %t2625, i32 0, i32 0 + %t2627 = load ptr, ptr %t2626 + %t2628 = load i32, ptr %t2506 + %t2629 = getelementptr inbounds %LSlice, ptr %t2625, i32 0, i32 1 + %t2630 = load i32, ptr %t2629 + %t2631 = icmp ult i32 %t2628, %t2630 + br i1 %t2631, label %ixok514, label %ixbad515 +ixbad515: + %t2632 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2632, ptr @.fmt_bounds, ptr @.str10314, i32 %t2628, i32 %t2630) call void @exit(i32 1) unreachable -ixok511: - %t2622 = getelementptr inbounds ptr, ptr %t2616, i32 %t2617 - %t2623 = load ptr, ptr %t2622 - call void @fn_emit(ptr %t2623) - %t2624 = load i32, ptr %t2503 - %t2625 = add i32 %t2624, 1 - store i32 %t2625, ptr %t2503 - br label %wcond503 -wend505: - call void @fn_emit(ptr @.str10316) - %t2626 = load ptr, ptr %t2578 - %t2627 = load ptr, ptr %t2481 - %t2628 = getelementptr inbounds %Cmp_Node, ptr %t2627, i32 0, i32 3 - %t2629 = load ptr, ptr %t2628 - %t2630 = call ptr @fn_val(ptr %t2626, ptr %t2629) - store ptr %t2630, ptr %retval +ixok514: + %t2633 = getelementptr inbounds ptr, ptr %t2627, i32 %t2628 + %t2634 = load ptr, ptr %t2633 + %t2635 = call ptr @fn_llty(ptr %t2634) + call void @fn_emit(ptr %t2635) + call void @fn_emit(ptr @.str10315) + %t2636 = load ptr, ptr %t2498 + %t2637 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 0 + %t2638 = load ptr, ptr %t2637 + %t2639 = load i32, ptr %t2506 + %t2640 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 1 + %t2641 = load i32, ptr %t2640 + %t2642 = icmp ult i32 %t2639, %t2641 + br i1 %t2642, label %ixok516, label %ixbad517 +ixbad517: + %t2643 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2643, ptr @.fmt_bounds, ptr @.str10316, i32 %t2639, i32 %t2641) + call void @exit(i32 1) + unreachable +ixok516: + %t2644 = getelementptr inbounds ptr, ptr %t2638, i32 %t2639 + %t2645 = load ptr, ptr %t2644 + call void @fn_emit(ptr %t2645) + %t2646 = load i32, ptr %t2506 + %t2647 = add i32 %t2646, 1 + store i32 %t2647, ptr %t2506 + br label %wcond508 +wend510: + call void @fn_emit(ptr @.str10317) + %t2648 = load ptr, ptr %t2600 + %t2649 = load ptr, ptr %t2481 + %t2650 = getelementptr inbounds %Cmp_Node, ptr %t2649, i32 0, i32 3 + %t2651 = load ptr, ptr %t2650 + %t2652 = call ptr @fn_val(ptr %t2648, ptr %t2651) + store ptr %t2652, ptr %retval br label %ret ifend490: - %t2631 = load ptr, ptr %t48 - %t2632 = call ptr @fn_variant_enum(ptr %t2631) - store ptr %t2632, ptr %t2633 - %t2634 = load ptr, ptr %t2633 - %t2635 = icmp ne ptr %t2634, null - %t2636 = zext i1 %t2635 to i32 - %t2637 = icmp ne i32 %t2636, 0 - br i1 %t2637, label %then513, label %ifend515 -then513: - %t2638 = load ptr, ptr %t2633 - %t2639 = load i32, ptr @g_g_var_ord - %t2640 = load ptr, ptr %t0 - %t2641 = getelementptr inbounds %Cmp_Node, ptr %t2640, i32 0, i32 7 - %t2642 = load ptr, ptr %t2641 - %t2643 = call ptr @fn_emit_variant_new(ptr %t2638, i32 %t2639, ptr %t2642) - store ptr %t2643, ptr %retval - br label %ret -ifend515: - %t2644 = load ptr, ptr %t48 - %t2645 = call ptr @fn_find_fn(ptr %t2644) - store ptr %t2645, ptr %t2646 - %t2647 = load ptr, ptr %t48 - store ptr %t2647, ptr %t2648 - %t2649 = load ptr, ptr %t2646 - %t2650 = icmp eq ptr %t2649, null - %t2651 = zext i1 %t2650 to i32 - %t2652 = icmp ne i32 %t2651, 0 - br i1 %t2652, label %then516, label %ifend518 -then516: %t2653 = load ptr, ptr %t48 - %t2654 = call ptr @lp_str_concat(ptr @.str10317, ptr %t2653) + %t2654 = call ptr @fn_variant_enum(ptr %t2653) store ptr %t2654, ptr %t2655 %t2656 = load ptr, ptr %t2655 - %t2657 = call ptr @fn_find_fn(ptr %t2656) - store ptr %t2657, ptr %t2646 - %t2658 = load ptr, ptr %t2646 - %t2659 = icmp eq ptr %t2658, null - %t2660 = zext i1 %t2659 to i32 - %t2661 = icmp ne i32 %t2660, 0 - br i1 %t2661, label %then519, label %ifend521 -then519: - %t2662 = load ptr, ptr %t48 - %t2663 = call ptr @lp_str_concat(ptr @.str10318, ptr %t2662) - call void @fn_perr(ptr %t2663) - br label %ifend521 -ifend521: - %t2664 = load ptr, ptr %t2655 - store ptr %t2664, ptr %t2648 - br label %ifend518 -ifend518: - %t2665 = load ptr, ptr %t2646 + %t2657 = icmp ne ptr %t2656, null + %t2658 = zext i1 %t2657 to i32 + %t2659 = icmp ne i32 %t2658, 0 + br i1 %t2659, label %then518, label %ifend520 +then518: + %t2660 = load ptr, ptr %t2655 + %t2661 = load i32, ptr @g_g_var_ord + %t2662 = load ptr, ptr %t0 + %t2663 = getelementptr inbounds %Cmp_Node, ptr %t2662, i32 0, i32 7 + %t2664 = load ptr, ptr %t2663 + %t2665 = call ptr @fn_emit_variant_new(ptr %t2660, i32 %t2661, ptr %t2664) + store ptr %t2665, ptr %retval + br label %ret +ifend520: %t2666 = load ptr, ptr %t48 - call void @fn_vis_check(ptr %t2665, ptr %t2666) - %t2667 = load ptr, ptr %t0 - %t2668 = load ptr, ptr %t2646 - %t2669 = call ptr @fn_param_labels(ptr %t2668) - call void @fn_reorder_named(ptr %t2667, ptr %t2669) - %t2670 = load ptr, ptr %t2646 - %t2671 = call ptr @fn_param_types(ptr %t2670) - store ptr %t2671, ptr %t2672 - %t2673 = getelementptr %LSlice, ptr null, i32 1 - %t2674 = ptrtoint ptr %t2673 to i64 - %t2675 = call ptr @malloc(i64 %t2674) - %t2676 = getelementptr inbounds %LSlice, ptr %t2675, i32 0, i32 0 - store ptr null, ptr %t2676 - %t2677 = getelementptr inbounds %LSlice, ptr %t2675, i32 0, i32 1 - store i32 0, ptr %t2677 - %t2678 = getelementptr inbounds %LSlice, ptr %t2675, i32 0, i32 2 - store i32 0, ptr %t2678 - store ptr %t2675, ptr %t2679 - %t2680 = getelementptr %LSlice, ptr null, i32 1 - %t2681 = ptrtoint ptr %t2680 to i64 - %t2682 = call ptr @malloc(i64 %t2681) - %t2683 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 0 - store ptr null, ptr %t2683 - %t2684 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 1 - store i32 0, ptr %t2684 - %t2685 = getelementptr inbounds %LSlice, ptr %t2682, i32 0, i32 2 - store i32 0, ptr %t2685 - store ptr %t2682, ptr %t2686 - store i32 0, ptr %t2687 - br label %wcond522 -wcond522: - %t2688 = load i32, ptr %t2687 + %t2667 = call ptr @fn_find_fn(ptr %t2666) + store ptr %t2667, ptr %t2668 + %t2669 = load ptr, ptr %t48 + store ptr %t2669, ptr %t2670 + %t2671 = load ptr, ptr %t2668 + %t2672 = icmp eq ptr %t2671, null + %t2673 = zext i1 %t2672 to i32 + %t2674 = icmp ne i32 %t2673, 0 + br i1 %t2674, label %then521, label %ifend523 +then521: + %t2675 = load ptr, ptr %t48 + %t2676 = call ptr @lp_str_concat(ptr @.str10318, ptr %t2675) + store ptr %t2676, ptr %t2677 + %t2678 = load ptr, ptr %t2677 + %t2679 = call ptr @fn_find_fn(ptr %t2678) + store ptr %t2679, ptr %t2668 + %t2680 = load ptr, ptr %t2668 + %t2681 = icmp eq ptr %t2680, null + %t2682 = zext i1 %t2681 to i32 + %t2683 = icmp ne i32 %t2682, 0 + br i1 %t2683, label %then524, label %ifend526 +then524: + %t2684 = load ptr, ptr %t48 + %t2685 = call ptr @lp_str_concat(ptr @.str10319, ptr %t2684) + call void @fn_perr(ptr %t2685) + br label %ifend526 +ifend526: + %t2686 = load ptr, ptr %t2677 + store ptr %t2686, ptr %t2670 + br label %ifend523 +ifend523: + %t2687 = load ptr, ptr %t2668 + %t2688 = load ptr, ptr %t48 + call void @fn_vis_check(ptr %t2687, ptr %t2688) %t2689 = load ptr, ptr %t0 - %t2690 = getelementptr inbounds %Cmp_Node, ptr %t2689, i32 0, i32 7 - %t2691 = load ptr, ptr %t2690 - %t2692 = getelementptr inbounds %LSlice, ptr %t2691, i32 0, i32 1 - %t2693 = load i32, ptr %t2692 - %t2694 = icmp slt i32 %t2688, %t2693 - %t2695 = zext i1 %t2694 to i32 - %t2696 = icmp ne i32 %t2695, 0 - br i1 %t2696, label %wbody523, label %wend524 -wbody523: - %t2697 = load ptr, ptr %t0 - %t2698 = getelementptr inbounds %Cmp_Node, ptr %t2697, i32 0, i32 7 - %t2699 = load ptr, ptr %t2698 - %t2700 = getelementptr inbounds %LSlice, ptr %t2699, i32 0, i32 0 - %t2701 = load ptr, ptr %t2700 - %t2702 = load i32, ptr %t2687 - %t2703 = getelementptr inbounds %LSlice, ptr %t2699, i32 0, i32 1 - %t2704 = load i32, ptr %t2703 - %t2705 = icmp ult i32 %t2702, %t2704 - br i1 %t2705, label %ixok525, label %ixbad526 -ixbad526: - %t2706 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2706, ptr @.fmt_bounds, ptr @.str10319, i32 %t2702, i32 %t2704) - call void @exit(i32 1) - unreachable -ixok525: - %t2707 = getelementptr inbounds ptr, ptr %t2701, i32 %t2702 - %t2708 = load ptr, ptr %t2707 - %t2709 = call ptr @fn_emit_expr(ptr %t2708) - store ptr %t2709, ptr %t2710 - %t2711 = load ptr, ptr %t2710 - %t2712 = getelementptr inbounds %Cmp_Val, ptr %t2711, i32 0, i32 1 + %t2690 = load ptr, ptr %t2668 + %t2691 = call ptr @fn_param_labels(ptr %t2690) + call void @fn_reorder_named(ptr %t2689, ptr %t2691) + %t2692 = load ptr, ptr %t2668 + %t2693 = call ptr @fn_param_types(ptr %t2692) + store ptr %t2693, ptr %t2694 + %t2695 = getelementptr %LSlice, ptr null, i32 1 + %t2696 = ptrtoint ptr %t2695 to i64 + %t2697 = call ptr @malloc(i64 %t2696) + %t2698 = getelementptr inbounds %LSlice, ptr %t2697, i32 0, i32 0 + store ptr null, ptr %t2698 + %t2699 = getelementptr inbounds %LSlice, ptr %t2697, i32 0, i32 1 + store i32 0, ptr %t2699 + %t2700 = getelementptr inbounds %LSlice, ptr %t2697, i32 0, i32 2 + store i32 0, ptr %t2700 + store ptr %t2697, ptr %t2701 + %t2702 = getelementptr %LSlice, ptr null, i32 1 + %t2703 = ptrtoint ptr %t2702 to i64 + %t2704 = call ptr @malloc(i64 %t2703) + %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 + store ptr null, ptr %t2705 + %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 + store i32 0, ptr %t2706 + %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 + store i32 0, ptr %t2707 + store ptr %t2704, ptr %t2708 + store i32 0, ptr %t2709 + br label %wcond527 +wcond527: + %t2710 = load i32, ptr %t2709 + %t2711 = load ptr, ptr %t0 + %t2712 = getelementptr inbounds %Cmp_Node, ptr %t2711, i32 0, i32 7 %t2713 = load ptr, ptr %t2712 - store ptr %t2713, ptr %t2714 - %t2715 = load i32, ptr %t2687 - %t2716 = load ptr, ptr %t2672 - %t2717 = getelementptr inbounds %LSlice, ptr %t2716, i32 0, i32 1 - %t2718 = load i32, ptr %t2717 - %t2719 = icmp slt i32 %t2715, %t2718 - %t2720 = zext i1 %t2719 to i32 - %t2721 = icmp ne i32 %t2720, 0 - br i1 %t2721, label %then527, label %ifend529 -then527: - %t2722 = load ptr, ptr %t2672 - %t2723 = getelementptr inbounds %LSlice, ptr %t2722, i32 0, i32 0 - %t2724 = load ptr, ptr %t2723 - %t2725 = load i32, ptr %t2687 - %t2726 = getelementptr inbounds %LSlice, ptr %t2722, i32 0, i32 1 - %t2727 = load i32, ptr %t2726 - %t2728 = icmp ult i32 %t2725, %t2727 - br i1 %t2728, label %ixok530, label %ixbad531 + %t2714 = getelementptr inbounds %LSlice, ptr %t2713, i32 0, i32 1 + %t2715 = load i32, ptr %t2714 + %t2716 = icmp slt i32 %t2710, %t2715 + %t2717 = zext i1 %t2716 to i32 + %t2718 = icmp ne i32 %t2717, 0 + br i1 %t2718, label %wbody528, label %wend529 +wbody528: + %t2719 = load ptr, ptr %t0 + %t2720 = getelementptr inbounds %Cmp_Node, ptr %t2719, i32 0, i32 7 + %t2721 = load ptr, ptr %t2720 + %t2722 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 0 + %t2723 = load ptr, ptr %t2722 + %t2724 = load i32, ptr %t2709 + %t2725 = getelementptr inbounds %LSlice, ptr %t2721, i32 0, i32 1 + %t2726 = load i32, ptr %t2725 + %t2727 = icmp ult i32 %t2724, %t2726 + br i1 %t2727, label %ixok530, label %ixbad531 ixbad531: - %t2729 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2729, ptr @.fmt_bounds, ptr @.str10320, i32 %t2725, i32 %t2727) + %t2728 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2728, ptr @.fmt_bounds, ptr @.str10320, i32 %t2724, i32 %t2726) call void @exit(i32 1) unreachable ixok530: - %t2730 = getelementptr inbounds ptr, ptr %t2724, i32 %t2725 - %t2731 = load ptr, ptr %t2730 - store ptr %t2731, ptr %t2714 - br label %ifend529 -ifend529: - %t2732 = load ptr, ptr %t2679 - %t2733 = load ptr, ptr %t2710 - %t2734 = load ptr, ptr %t2714 - %t2735 = call ptr @fn_coerce_code(ptr %t2733, ptr %t2734) - %t2736 = getelementptr inbounds %LSlice, ptr %t2732, i32 0, i32 1 - %t2737 = getelementptr inbounds %LSlice, ptr %t2732, i32 0, i32 2 - %t2738 = getelementptr inbounds %LSlice, ptr %t2732, i32 0, i32 0 - %t2739 = load i32, ptr %t2736 - %t2740 = load i32, ptr %t2737 - %t2741 = icmp sge i32 %t2739, %t2740 - br i1 %t2741, label %grow532, label %put533 -grow532: - %t2742 = mul i32 %t2740, 2 - %t2743 = icmp eq i32 %t2740, 0 - %t2744 = select i1 %t2743, i32 8, i32 %t2742 - %t2745 = getelementptr ptr, ptr null, i32 1 - %t2746 = ptrtoint ptr %t2745 to i64 - %t2747 = zext i32 %t2744 to i64 - %t2748 = mul i64 %t2747, %t2746 - %t2749 = load ptr, ptr %t2738 - %t2750 = call ptr @realloc(ptr %t2749, i64 %t2748) - store ptr %t2750, ptr %t2738 - store i32 %t2744, ptr %t2737 - br label %put533 -put533: - %t2751 = load ptr, ptr %t2738 - %t2752 = getelementptr inbounds ptr, ptr %t2751, i32 %t2739 - store ptr %t2735, ptr %t2752 - %t2753 = add i32 %t2739, 1 - store i32 %t2753, ptr %t2736 - %t2754 = load ptr, ptr %t2686 - %t2755 = load ptr, ptr %t2714 - %t2756 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 1 - %t2757 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 2 - %t2758 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 0 - %t2759 = load i32, ptr %t2756 - %t2760 = load i32, ptr %t2757 - %t2761 = icmp sge i32 %t2759, %t2760 - br i1 %t2761, label %grow534, label %put535 -grow534: - %t2762 = mul i32 %t2760, 2 - %t2763 = icmp eq i32 %t2760, 0 - %t2764 = select i1 %t2763, i32 8, i32 %t2762 - %t2765 = getelementptr ptr, ptr null, i32 1 - %t2766 = ptrtoint ptr %t2765 to i64 - %t2767 = zext i32 %t2764 to i64 - %t2768 = mul i64 %t2767, %t2766 - %t2769 = load ptr, ptr %t2758 - %t2770 = call ptr @realloc(ptr %t2769, i64 %t2768) - store ptr %t2770, ptr %t2758 - store i32 %t2764, ptr %t2757 - br label %put535 -put535: - %t2771 = load ptr, ptr %t2758 - %t2772 = getelementptr inbounds ptr, ptr %t2771, i32 %t2759 - store ptr %t2755, ptr %t2772 - %t2773 = add i32 %t2759, 1 - store i32 %t2773, ptr %t2756 - %t2774 = load i32, ptr %t2687 - %t2775 = add i32 %t2774, 1 - store i32 %t2775, ptr %t2687 - br label %wcond522 -wend524: - %t2776 = load ptr, ptr %t2646 - %t2777 = getelementptr inbounds %Cmp_Node, ptr %t2776, i32 0, i32 3 - %t2778 = load ptr, ptr %t2777 - %t2779 = call ptr @fn_llty(ptr %t2778) - store ptr %t2779, ptr %t2780 - call void @fn_emit(ptr @.str10321) - store ptr @.str10322, ptr %t2781 - %t2782 = load ptr, ptr %t2780 - %t2783 = call i32 @lp_str_eq(ptr %t2782, ptr @.str10323) - %t2784 = icmp eq i32 %t2783, 0 - %t2785 = zext i1 %t2784 to i32 - %t2786 = icmp ne i32 %t2785, 0 - br i1 %t2786, label %then536, label %ifend538 -then536: - %t2787 = call ptr @fn_nreg() - store ptr %t2787, ptr %t2781 - %t2788 = load ptr, ptr %t2781 - call void @fn_emit(ptr %t2788) - call void @fn_emit(ptr @.str10324) - br label %ifend538 -ifend538: + %t2729 = getelementptr inbounds ptr, ptr %t2723, i32 %t2724 + %t2730 = load ptr, ptr %t2729 + %t2731 = call ptr @fn_emit_expr(ptr %t2730) + store ptr %t2731, ptr %t2732 + %t2733 = load ptr, ptr %t2732 + %t2734 = getelementptr inbounds %Cmp_Val, ptr %t2733, i32 0, i32 1 + %t2735 = load ptr, ptr %t2734 + store ptr %t2735, ptr %t2736 + %t2737 = load i32, ptr %t2709 + %t2738 = load ptr, ptr %t2694 + %t2739 = getelementptr inbounds %LSlice, ptr %t2738, i32 0, i32 1 + %t2740 = load i32, ptr %t2739 + %t2741 = icmp slt i32 %t2737, %t2740 + %t2742 = zext i1 %t2741 to i32 + %t2743 = icmp ne i32 %t2742, 0 + br i1 %t2743, label %then532, label %ifend534 +then532: + %t2744 = load ptr, ptr %t2694 + %t2745 = getelementptr inbounds %LSlice, ptr %t2744, i32 0, i32 0 + %t2746 = load ptr, ptr %t2745 + %t2747 = load i32, ptr %t2709 + %t2748 = getelementptr inbounds %LSlice, ptr %t2744, i32 0, i32 1 + %t2749 = load i32, ptr %t2748 + %t2750 = icmp ult i32 %t2747, %t2749 + br i1 %t2750, label %ixok535, label %ixbad536 +ixbad536: + %t2751 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2751, ptr @.fmt_bounds, ptr @.str10321, i32 %t2747, i32 %t2749) + call void @exit(i32 1) + unreachable +ixok535: + %t2752 = getelementptr inbounds ptr, ptr %t2746, i32 %t2747 + %t2753 = load ptr, ptr %t2752 + store ptr %t2753, ptr %t2736 + br label %ifend534 +ifend534: + %t2754 = load ptr, ptr %t2701 + %t2755 = load ptr, ptr %t2732 + %t2756 = load ptr, ptr %t2736 + %t2757 = call ptr @fn_coerce_code(ptr %t2755, ptr %t2756) + %t2758 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 1 + %t2759 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 2 + %t2760 = getelementptr inbounds %LSlice, ptr %t2754, i32 0, i32 0 + %t2761 = load i32, ptr %t2758 + %t2762 = load i32, ptr %t2759 + %t2763 = icmp sge i32 %t2761, %t2762 + br i1 %t2763, label %grow537, label %put538 +grow537: + %t2764 = mul i32 %t2762, 2 + %t2765 = icmp eq i32 %t2762, 0 + %t2766 = select i1 %t2765, i32 8, i32 %t2764 + %t2767 = getelementptr ptr, ptr null, i32 1 + %t2768 = ptrtoint ptr %t2767 to i64 + %t2769 = zext i32 %t2766 to i64 + %t2770 = mul i64 %t2769, %t2768 + %t2771 = load ptr, ptr %t2760 + %t2772 = call ptr @realloc(ptr %t2771, i64 %t2770) + store ptr %t2772, ptr %t2760 + store i32 %t2766, ptr %t2759 + br label %put538 +put538: + %t2773 = load ptr, ptr %t2760 + %t2774 = getelementptr inbounds ptr, ptr %t2773, i32 %t2761 + store ptr %t2757, ptr %t2774 + %t2775 = add i32 %t2761, 1 + store i32 %t2775, ptr %t2758 + %t2776 = load ptr, ptr %t2708 + %t2777 = load ptr, ptr %t2736 + %t2778 = getelementptr inbounds %LSlice, ptr %t2776, i32 0, i32 1 + %t2779 = getelementptr inbounds %LSlice, ptr %t2776, i32 0, i32 2 + %t2780 = getelementptr inbounds %LSlice, ptr %t2776, i32 0, i32 0 + %t2781 = load i32, ptr %t2778 + %t2782 = load i32, ptr %t2779 + %t2783 = icmp sge i32 %t2781, %t2782 + br i1 %t2783, label %grow539, label %put540 +grow539: + %t2784 = mul i32 %t2782, 2 + %t2785 = icmp eq i32 %t2782, 0 + %t2786 = select i1 %t2785, i32 8, i32 %t2784 + %t2787 = getelementptr ptr, ptr null, i32 1 + %t2788 = ptrtoint ptr %t2787 to i64 + %t2789 = zext i32 %t2786 to i64 + %t2790 = mul i64 %t2789, %t2788 + %t2791 = load ptr, ptr %t2780 + %t2792 = call ptr @realloc(ptr %t2791, i64 %t2790) + store ptr %t2792, ptr %t2780 + store i32 %t2786, ptr %t2779 + br label %put540 +put540: + %t2793 = load ptr, ptr %t2780 + %t2794 = getelementptr inbounds ptr, ptr %t2793, i32 %t2781 + store ptr %t2777, ptr %t2794 + %t2795 = add i32 %t2781, 1 + store i32 %t2795, ptr %t2778 + %t2796 = load i32, ptr %t2709 + %t2797 = add i32 %t2796, 1 + store i32 %t2797, ptr %t2709 + br label %wcond527 +wend529: + %t2798 = load ptr, ptr %t2668 + %t2799 = getelementptr inbounds %Cmp_Node, ptr %t2798, i32 0, i32 3 + %t2800 = load ptr, ptr %t2799 + %t2801 = call ptr @fn_llty(ptr %t2800) + store ptr %t2801, ptr %t2802 + call void @fn_emit(ptr @.str10322) + store ptr @.str10323, ptr %t2803 + %t2804 = load ptr, ptr %t2802 + %t2805 = call i32 @lp_str_eq(ptr %t2804, ptr @.str10324) + %t2806 = icmp eq i32 %t2805, 0 + %t2807 = zext i1 %t2806 to i32 + %t2808 = icmp ne i32 %t2807, 0 + br i1 %t2808, label %then541, label %ifend543 +then541: + %t2809 = call ptr @fn_nreg() + store ptr %t2809, ptr %t2803 + %t2810 = load ptr, ptr %t2803 + call void @fn_emit(ptr %t2810) call void @fn_emit(ptr @.str10325) - %t2789 = load ptr, ptr %t2780 - call void @fn_emit(ptr %t2789) + br label %ifend543 +ifend543: call void @fn_emit(ptr @.str10326) - %t2790 = load ptr, ptr %t2648 - call void @fn_emit(ptr %t2790) + %t2811 = load ptr, ptr %t2802 + call void @fn_emit(ptr %t2811) call void @fn_emit(ptr @.str10327) - store i32 0, ptr %t2687 - br label %wcond539 -wcond539: - %t2791 = load i32, ptr %t2687 - %t2792 = load ptr, ptr %t2679 - %t2793 = getelementptr inbounds %LSlice, ptr %t2792, i32 0, i32 1 - %t2794 = load i32, ptr %t2793 - %t2795 = icmp slt i32 %t2791, %t2794 - %t2796 = zext i1 %t2795 to i32 - %t2797 = icmp ne i32 %t2796, 0 - br i1 %t2797, label %wbody540, label %wend541 -wbody540: - %t2798 = load i32, ptr %t2687 - %t2799 = icmp sgt i32 %t2798, 0 - %t2800 = zext i1 %t2799 to i32 - %t2801 = icmp ne i32 %t2800, 0 - br i1 %t2801, label %then542, label %ifend544 -then542: - call void @fn_emit(ptr @.str10328) - br label %ifend544 -ifend544: - %t2802 = load ptr, ptr %t2686 - %t2803 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 0 - %t2804 = load ptr, ptr %t2803 - %t2805 = load i32, ptr %t2687 - %t2806 = getelementptr inbounds %LSlice, ptr %t2802, i32 0, i32 1 - %t2807 = load i32, ptr %t2806 - %t2808 = icmp ult i32 %t2805, %t2807 - br i1 %t2808, label %ixok545, label %ixbad546 -ixbad546: - %t2809 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2809, ptr @.fmt_bounds, ptr @.str10329, i32 %t2805, i32 %t2807) - call void @exit(i32 1) - unreachable -ixok545: - %t2810 = getelementptr inbounds ptr, ptr %t2804, i32 %t2805 - %t2811 = load ptr, ptr %t2810 - %t2812 = call ptr @fn_llty(ptr %t2811) + %t2812 = load ptr, ptr %t2670 call void @fn_emit(ptr %t2812) - call void @fn_emit(ptr @.str10330) - %t2813 = load ptr, ptr %t2679 - %t2814 = getelementptr inbounds %LSlice, ptr %t2813, i32 0, i32 0 - %t2815 = load ptr, ptr %t2814 - %t2816 = load i32, ptr %t2687 - %t2817 = getelementptr inbounds %LSlice, ptr %t2813, i32 0, i32 1 - %t2818 = load i32, ptr %t2817 - %t2819 = icmp ult i32 %t2816, %t2818 - br i1 %t2819, label %ixok547, label %ixbad548 -ixbad548: - %t2820 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t2820, ptr @.fmt_bounds, ptr @.str10331, i32 %t2816, i32 %t2818) + call void @fn_emit(ptr @.str10328) + store i32 0, ptr %t2709 + br label %wcond544 +wcond544: + %t2813 = load i32, ptr %t2709 + %t2814 = load ptr, ptr %t2701 + %t2815 = getelementptr inbounds %LSlice, ptr %t2814, i32 0, i32 1 + %t2816 = load i32, ptr %t2815 + %t2817 = icmp slt i32 %t2813, %t2816 + %t2818 = zext i1 %t2817 to i32 + %t2819 = icmp ne i32 %t2818, 0 + br i1 %t2819, label %wbody545, label %wend546 +wbody545: + %t2820 = load i32, ptr %t2709 + %t2821 = icmp sgt i32 %t2820, 0 + %t2822 = zext i1 %t2821 to i32 + %t2823 = icmp ne i32 %t2822, 0 + br i1 %t2823, label %then547, label %ifend549 +then547: + call void @fn_emit(ptr @.str10329) + br label %ifend549 +ifend549: + %t2824 = load ptr, ptr %t2708 + %t2825 = getelementptr inbounds %LSlice, ptr %t2824, i32 0, i32 0 + %t2826 = load ptr, ptr %t2825 + %t2827 = load i32, ptr %t2709 + %t2828 = getelementptr inbounds %LSlice, ptr %t2824, i32 0, i32 1 + %t2829 = load i32, ptr %t2828 + %t2830 = icmp ult i32 %t2827, %t2829 + br i1 %t2830, label %ixok550, label %ixbad551 +ixbad551: + %t2831 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2831, ptr @.fmt_bounds, ptr @.str10330, i32 %t2827, i32 %t2829) call void @exit(i32 1) unreachable -ixok547: - %t2821 = getelementptr inbounds ptr, ptr %t2815, i32 %t2816 - %t2822 = load ptr, ptr %t2821 - call void @fn_emit(ptr %t2822) - %t2823 = load i32, ptr %t2687 - %t2824 = add i32 %t2823, 1 - store i32 %t2824, ptr %t2687 - br label %wcond539 -wend541: - call void @fn_emit(ptr @.str10332) - %t2825 = load ptr, ptr %t2781 - %t2826 = load ptr, ptr %t2646 - %t2827 = getelementptr inbounds %Cmp_Node, ptr %t2826, i32 0, i32 3 - %t2828 = load ptr, ptr %t2827 - %t2829 = call ptr @fn_val(ptr %t2825, ptr %t2828) - store ptr %t2829, ptr %retval +ixok550: + %t2832 = getelementptr inbounds ptr, ptr %t2826, i32 %t2827 + %t2833 = load ptr, ptr %t2832 + %t2834 = call ptr @fn_llty(ptr %t2833) + call void @fn_emit(ptr %t2834) + call void @fn_emit(ptr @.str10331) + %t2835 = load ptr, ptr %t2701 + %t2836 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 0 + %t2837 = load ptr, ptr %t2836 + %t2838 = load i32, ptr %t2709 + %t2839 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 1 + %t2840 = load i32, ptr %t2839 + %t2841 = icmp ult i32 %t2838, %t2840 + br i1 %t2841, label %ixok552, label %ixbad553 +ixbad553: + %t2842 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t2842, ptr @.fmt_bounds, ptr @.str10332, i32 %t2838, i32 %t2840) + call void @exit(i32 1) + unreachable +ixok552: + %t2843 = getelementptr inbounds ptr, ptr %t2837, i32 %t2838 + %t2844 = load ptr, ptr %t2843 + call void @fn_emit(ptr %t2844) + %t2845 = load i32, ptr %t2709 + %t2846 = add i32 %t2845, 1 + store i32 %t2846, ptr %t2709 + br label %wcond544 +wend546: + call void @fn_emit(ptr @.str10333) + %t2847 = load ptr, ptr %t2803 + %t2848 = load ptr, ptr %t2668 + %t2849 = getelementptr inbounds %Cmp_Node, ptr %t2848, i32 0, i32 3 + %t2850 = load ptr, ptr %t2849 + %t2851 = call ptr @fn_val(ptr %t2847, ptr %t2850) + store ptr %t2851, ptr %retval br label %ret ret: - %t2830 = load ptr, ptr %retval - ret ptr %t2830 + %t2852 = load ptr, ptr %retval + ret ptr %t2852 } define ptr @fn_emit_expr(ptr %arg_e) { @@ -108732,7 +109081,7 @@ entry: %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - %t5 = call ptr @fn_val(ptr @.str10333, ptr @.str10334) + %t5 = call ptr @fn_val(ptr @.str10334, ptr @.str10335) store ptr %t5, ptr %retval br label %ret ifend2: @@ -108748,7 +109097,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 @.str10335) + %t16 = call ptr @fn_val(ptr %t15, ptr @.str10336) store ptr %t16, ptr %retval br label %ret ifend5: @@ -108778,8 +109127,8 @@ then8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 - %t36 = call ptr @fn_fp_lit_code(ptr %t35, ptr @.str10336) - %t37 = call ptr @fn_val(ptr %t36, ptr @.str10337) + %t36 = call ptr @fn_fp_lit_code(ptr %t35, ptr @.str10337) + %t37 = call ptr @fn_val(ptr %t36, ptr @.str10338) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 2 @@ -108801,7 +109150,7 @@ then11: %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2 %t51 = load i32, ptr %t50 %t52 = call ptr @fn_itoa(i32 %t51) - %t53 = call ptr @fn_val(ptr %t52, ptr @.str10338) + %t53 = call ptr @fn_val(ptr %t52, ptr @.str10339) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 2 @@ -108831,7 +109180,7 @@ then14: br i1 %t73, label %ixok17, label %ixbad18 ixbad18: %t74 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str10339, i32 %t70, i32 %t72) + call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str10340, i32 %t70, i32 %t72) call void @exit(i32 1) unreachable ixok17: @@ -108852,7 +109201,7 @@ then19: %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 %t85 = load i32, ptr %t84 %t86 = call ptr @fn_itoa(i32 %t85) - %t87 = call ptr @fn_val(ptr %t86, ptr @.str10340) + %t87 = call ptr @fn_val(ptr %t86, ptr @.str10341) store ptr %t87, ptr %retval br label %ret ifend21: @@ -108864,7 +109213,7 @@ ifend21: %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then22, label %ifend24 then22: - %t94 = call ptr @fn_val(ptr @.str10341, ptr @.str10342) + %t94 = call ptr @fn_val(ptr @.str10342, ptr @.str10343) store ptr %t94, ptr %retval br label %ret ifend24: @@ -108878,7 +109227,7 @@ ifend24: then25: %t101 = load ptr, ptr %t0 %t102 = call ptr @fn_emit_spawn(ptr %t101) - %t103 = call ptr @fn_val(ptr %t102, ptr @.str10343) + %t103 = call ptr @fn_val(ptr %t102, ptr @.str10344) store ptr %t103, ptr %retval br label %ret ifend27: @@ -108909,20 +109258,20 @@ then28: %t125 = load ptr, ptr %t114 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 - %t128 = call ptr @lp_str_concat(ptr @.str10344, ptr %t127) - %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10345) + %t128 = call ptr @lp_str_concat(ptr @.str10345, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10346) %t130 = load ptr, ptr %t119 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = call ptr @lp_str_concat(ptr %t129, ptr %t132) - %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10346) + %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10347) %t135 = load ptr, ptr %t124 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @lp_str_concat(ptr %t134, ptr %t137) - %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10347) + %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10348) %t140 = call ptr @fn_emit_bind(ptr %t139) - %t141 = call ptr @fn_val(ptr %t140, ptr @.str10348) + %t141 = call ptr @fn_val(ptr %t140, ptr @.str10349) store ptr %t141, ptr %retval br label %ret ifend30: @@ -108938,7 +109287,7 @@ then31: %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_emit_str_const(ptr %t150) - %t152 = call ptr @fn_val(ptr %t151, ptr @.str10349) + %t152 = call ptr @fn_val(ptr %t151, ptr @.str10350) store ptr %t152, ptr %retval br label %ret ifend33: @@ -109029,7 +109378,7 @@ then49: br i1 %t212, label %ixok52, label %ixbad53 ixbad53: %t213 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t213, ptr @.fmt_bounds, ptr @.str10350, i32 %t209, i32 %t211) + call i32 (ptr, ptr, ...) @fprintf(ptr %t213, ptr @.fmt_bounds, ptr @.str10351, i32 %t209, i32 %t211) call void @exit(i32 1) unreachable ixok52: @@ -109045,7 +109394,7 @@ ixok52: br i1 %t222, label %ixok54, label %ixbad55 ixbad55: %t223 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str10351, i32 %t219, i32 %t221) + call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str10352, i32 %t219, i32 %t221) call void @exit(i32 1) unreachable ixok54: @@ -109098,7 +109447,7 @@ then62: %t260 = load ptr, ptr %t0 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 1 %t262 = load ptr, ptr %t261 - %t263 = call ptr @lp_str_concat(ptr @.str10352, ptr %t262) + %t263 = call ptr @lp_str_concat(ptr @.str10353, ptr %t262) %t264 = call ptr @fn_to_fp(ptr %t256, ptr %t259, ptr %t263) %t265 = load ptr, ptr %t231 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 3 @@ -109115,8 +109464,8 @@ ifend61: %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 3 %t272 = load ptr, ptr %t271 %t273 = call ptr @fn_llty(ptr %t272) - %t274 = call ptr @lp_str_concat(ptr @.str10353, ptr %t273) - %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str10354) + %t274 = call ptr @lp_str_concat(ptr @.str10354, ptr %t273) + %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str10355) %t276 = load ptr, ptr %t0 %t277 = getelementptr inbounds %Cmp_Node, ptr %t276, i32 0, i32 1 %t278 = load ptr, ptr %t277 @@ -109143,7 +109492,7 @@ then65: %t294 = load ptr, ptr %t293 %t295 = call i32 @fn_ui_index_of(ptr %t294) %t296 = call ptr @fn_itoa(i32 %t295) - %t297 = call ptr @fn_val(ptr %t296, ptr @.str10355) + %t297 = call ptr @fn_val(ptr %t296, ptr @.str10356) store ptr %t297, ptr %retval br label %ret ifend67: @@ -109176,7 +109525,7 @@ ifend70: %t316 = load ptr, ptr %t0 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 1 %t318 = load ptr, ptr %t317 - %t319 = call ptr @lp_str_concat(ptr @.str10356, ptr %t318) + %t319 = call ptr @lp_str_concat(ptr @.str10357, ptr %t318) call void @fn_perr(ptr %t319) br label %ifend48 ifend48: @@ -109203,7 +109552,7 @@ then74: %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 1 %t338 = load ptr, ptr %t337 - %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str10357) + %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str10358) %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then77, label %ifend79 then77: @@ -109221,13 +109570,13 @@ then80: %t350 = load ptr, ptr %t0 %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 1 %t352 = load ptr, ptr %t351 - %t353 = call ptr @lp_str_concat(ptr @.str10358, ptr %t352) + %t353 = call ptr @lp_str_concat(ptr @.str10359, ptr %t352) call void @fn_perr(ptr %t353) br label %ifend82 ifend82: %t354 = load i32, ptr %t345 %t355 = call ptr @fn_itoa(i32 %t354) - %t356 = call ptr @fn_val(ptr %t355, ptr @.str10359) + %t356 = call ptr @fn_val(ptr %t355, ptr @.str10360) store ptr %t356, ptr %retval br label %ret ifend79: @@ -109236,7 +109585,7 @@ ifend79: %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 1 %t361 = load ptr, ptr %t360 - %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str10360) + %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str10361) %t363 = icmp ne i32 %t362, 0 br i1 %t363, label %then83, label %ifend85 then83: @@ -109254,13 +109603,13 @@ then86: %t373 = load ptr, ptr %t0 %t374 = getelementptr inbounds %Cmp_Node, ptr %t373, i32 0, i32 1 %t375 = load ptr, ptr %t374 - %t376 = call ptr @lp_str_concat(ptr @.str10361, ptr %t375) + %t376 = call ptr @lp_str_concat(ptr @.str10362, ptr %t375) call void @fn_perr(ptr %t376) br label %ifend88 ifend88: %t377 = load i32, ptr %t368 %t378 = call ptr @fn_itoa(i32 %t377) - %t379 = call ptr @fn_val(ptr %t378, ptr @.str10362) + %t379 = call ptr @fn_val(ptr %t378, ptr @.str10363) store ptr %t379, ptr %retval br label %ret ifend85: @@ -109282,7 +109631,7 @@ ifend85: then89: %t394 = load i32, ptr %t389 %t395 = call ptr @fn_itoa(i32 %t394) - %t396 = call ptr @fn_val(ptr %t395, ptr @.str10363) + %t396 = call ptr @fn_val(ptr %t395, ptr @.str10364) store ptr %t396, ptr %retval br label %ret ifend91: @@ -109300,7 +109649,7 @@ ifend76: br i1 %t405, label %then92, label %ifend94 then92: %t407 = load ptr, ptr %t401 - %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str10364) + %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str10365) %t409 = icmp ne i32 %t408, 0 %t410 = zext i1 %t409 to i32 store i32 %t410, ptr %t406 @@ -109309,7 +109658,7 @@ sc95: %t412 = load ptr, ptr %t0 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 1 %t414 = load ptr, ptr %t413 - %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str10365) + %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str10366) %t416 = icmp ne i32 %t415, 0 %t417 = zext i1 %t416 to i32 store i32 %t417, ptr %t411 @@ -109318,7 +109667,7 @@ sc97: %t418 = load ptr, ptr %t0 %t419 = getelementptr inbounds %Cmp_Node, ptr %t418, i32 0, i32 1 %t420 = load ptr, ptr %t419 - %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str10366) + %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str10367) %t422 = icmp ne i32 %t421, 0 %t423 = zext i1 %t422 to i32 store i32 %t423, ptr %t411 @@ -109342,7 +109691,7 @@ then99: %t434 = load ptr, ptr %t0 %t435 = getelementptr inbounds %Cmp_Node, ptr %t434, i32 0, i32 1 %t436 = load ptr, ptr %t435 - %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str10367) + %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str10368) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then102, label %ifend104 then102: @@ -109350,7 +109699,7 @@ then102: %t440 = getelementptr inbounds %Cmp_Val, ptr %t439, i32 0, i32 0 %t441 = load ptr, ptr %t440 %t442 = call ptr @fn_vec_x(ptr %t441) - %t443 = call ptr @fn_val(ptr %t442, ptr @.str10368) + %t443 = call ptr @fn_val(ptr %t442, ptr @.str10369) store ptr %t443, ptr %retval br label %ret ifend104: @@ -109358,7 +109707,7 @@ ifend104: %t445 = getelementptr inbounds %Cmp_Val, ptr %t444, i32 0, i32 0 %t446 = load ptr, ptr %t445 %t447 = call ptr @fn_vec_y(ptr %t446) - %t448 = call ptr @fn_val(ptr %t447, ptr @.str10369) + %t448 = call ptr @fn_val(ptr %t447, ptr @.str10370) store ptr %t448, ptr %retval br label %ret ifend101: @@ -109406,19 +109755,19 @@ then108: %t478 = call ptr @fn_emit_index_addr(ptr %t477) store ptr %t478, ptr %t479 %t480 = load ptr, ptr @g_g_addr_ty - %t481 = call i32 @lp_str_eq(ptr %t480, ptr @.str10370) + %t481 = call i32 @lp_str_eq(ptr %t480, ptr @.str10371) %t482 = icmp ne i32 %t481, 0 br i1 %t482, label %then111, label %ifend113 then111: %t483 = load ptr, ptr %t479 - %t484 = call ptr @lp_str_concat(ptr @.str10371, ptr %t483) + %t484 = call ptr @lp_str_concat(ptr @.str10372, ptr %t483) %t485 = call ptr @fn_emit_bind(ptr %t484) store ptr %t485, ptr %t486 %t487 = load ptr, ptr %t486 - %t488 = call ptr @lp_str_concat(ptr @.str10372, ptr %t487) - %t489 = call ptr @lp_str_concat(ptr %t488, ptr @.str10373) + %t488 = call ptr @lp_str_concat(ptr @.str10373, ptr %t487) + %t489 = call ptr @lp_str_concat(ptr %t488, ptr @.str10374) %t490 = call ptr @fn_emit_bind(ptr %t489) - %t491 = call ptr @fn_val(ptr %t490, ptr @.str10374) + %t491 = call ptr @fn_val(ptr %t490, ptr @.str10375) store ptr %t491, ptr %retval br label %ret ifend113: @@ -109503,15 +109852,15 @@ then129: %t543 = load ptr, ptr %t0 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 1 %t545 = load ptr, ptr %t544 - %t546 = call i32 @lp_str_eq(ptr %t545, ptr @.str10375) + %t546 = call i32 @lp_str_eq(ptr %t545, ptr @.str10376) %t547 = icmp ne i32 %t546, 0 br i1 %t547, label %then132, label %ifend134 then132: %t548 = load ptr, ptr %t537 %t549 = getelementptr inbounds %Cmp_Val, ptr %t548, i32 0, i32 1 %t550 = load ptr, ptr %t549 - %t551 = call ptr @lp_str_concat(ptr @.str10376, ptr %t550) - %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str10377) + %t551 = call ptr @lp_str_concat(ptr @.str10377, ptr %t550) + %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str10378) %t553 = load ptr, ptr %t537 %t554 = getelementptr inbounds %Cmp_Val, ptr %t553, i32 0, i32 0 %t555 = load ptr, ptr %t554 @@ -109543,8 +109892,8 @@ ifend134: %t573 = load ptr, ptr %t0 %t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 1 %t575 = load ptr, ptr %t574 - %t576 = call ptr @lp_str_concat(ptr @.str10378, ptr %t575) - %t577 = call ptr @lp_str_concat(ptr %t576, ptr @.str10379) + %t576 = call ptr @lp_str_concat(ptr @.str10379, ptr %t575) + %t577 = call ptr @lp_str_concat(ptr %t576, ptr @.str10380) %t578 = load ptr, ptr %t537 %t579 = getelementptr inbounds %Cmp_Val, ptr %t578, i32 0, i32 1 %t580 = load ptr, ptr %t579 @@ -109555,7 +109904,7 @@ ifend131: %t583 = load ptr, ptr %t0 %t584 = getelementptr inbounds %Cmp_Node, ptr %t583, i32 0, i32 1 %t585 = load ptr, ptr %t584 - %t586 = call i32 @lp_str_eq(ptr %t585, ptr @.str10380) + %t586 = call i32 @lp_str_eq(ptr %t585, ptr @.str10381) %t587 = icmp ne i32 %t586, 0 %t588 = zext i1 %t587 to i32 store i32 %t588, ptr %t582 @@ -109578,9 +109927,9 @@ then140: %t598 = load ptr, ptr %t537 %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0 %t600 = load ptr, ptr %t599 - %t601 = call ptr @lp_str_concat(ptr @.str10381, ptr %t600) + %t601 = call ptr @lp_str_concat(ptr @.str10382, ptr %t600) %t602 = call ptr @fn_emit_bind(ptr %t601) - %t603 = call ptr @fn_val(ptr %t602, ptr @.str10382) + %t603 = call ptr @fn_val(ptr %t602, ptr @.str10383) store ptr %t603, ptr %t604 %t605 = load ptr, ptr %t604 %t606 = getelementptr inbounds %Cmp_Val, ptr %t605, i32 0, i32 2 @@ -109594,40 +109943,40 @@ ifend142: %t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 1 %t611 = load ptr, ptr %t610 %t612 = call ptr @fn_llty(ptr %t611) - %t613 = call i32 @lp_str_eq(ptr %t612, ptr @.str10383) + %t613 = call i32 @lp_str_eq(ptr %t612, ptr @.str10384) %t614 = icmp ne i32 %t613, 0 br i1 %t614, label %then143, label %ifend145 then143: %t615 = load ptr, ptr %t0 %t616 = getelementptr inbounds %Cmp_Node, ptr %t615, i32 0, i32 1 %t617 = load ptr, ptr %t616 - %t618 = call i32 @lp_str_eq(ptr %t617, ptr @.str10384) + %t618 = call i32 @lp_str_eq(ptr %t617, ptr @.str10385) %t619 = icmp ne i32 %t618, 0 br i1 %t619, label %then146, label %ifend148 then146: %t620 = load ptr, ptr %t537 %t621 = getelementptr inbounds %Cmp_Val, ptr %t620, i32 0, i32 0 %t622 = load ptr, ptr %t621 - %t623 = call ptr @lp_str_concat(ptr @.str10385, ptr %t622) + %t623 = call ptr @lp_str_concat(ptr @.str10386, ptr %t622) %t624 = call ptr @fn_emit_bind(ptr %t623) - %t625 = call ptr @fn_val(ptr %t624, ptr @.str10386) + %t625 = call ptr @fn_val(ptr %t624, ptr @.str10387) store ptr %t625, ptr %retval br label %ret ifend148: %t626 = load ptr, ptr %t0 %t627 = getelementptr inbounds %Cmp_Node, ptr %t626, i32 0, i32 1 %t628 = load ptr, ptr %t627 - %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str10387) + %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str10388) %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then149, label %ifend151 then149: %t631 = load ptr, ptr %t537 %t632 = getelementptr inbounds %Cmp_Val, ptr %t631, i32 0, i32 0 %t633 = load ptr, ptr %t632 - %t634 = call ptr @lp_str_concat(ptr @.str10388, ptr %t633) - %t635 = call ptr @lp_str_concat(ptr %t634, ptr @.str10389) + %t634 = call ptr @lp_str_concat(ptr @.str10389, ptr %t633) + %t635 = call ptr @lp_str_concat(ptr %t634, ptr @.str10390) %t636 = call ptr @fn_emit_bind(ptr %t635) - %t637 = call ptr @fn_val(ptr %t636, ptr @.str10390) + %t637 = call ptr @fn_val(ptr %t636, ptr @.str10391) store ptr %t637, ptr %retval br label %ret ifend151: @@ -109636,14 +109985,14 @@ ifend145: %t638 = load ptr, ptr %t0 %t639 = getelementptr inbounds %Cmp_Node, ptr %t638, i32 0, i32 1 %t640 = load ptr, ptr %t639 - %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str10391) + %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str10392) %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then152, label %ifend154 then152: %t643 = load ptr, ptr %t537 %t644 = getelementptr inbounds %Cmp_Val, ptr %t643, i32 0, i32 0 %t645 = load ptr, ptr %t644 - %t646 = call ptr @lp_str_concat(ptr @.str10392, ptr %t645) + %t646 = call ptr @lp_str_concat(ptr @.str10393, ptr %t645) %t647 = call ptr @fn_emit_bind(ptr %t646) %t648 = load ptr, ptr %t537 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 1 @@ -109656,15 +110005,15 @@ ifend154: %t653 = load ptr, ptr %t0 %t654 = getelementptr inbounds %Cmp_Node, ptr %t653, i32 0, i32 1 %t655 = load ptr, ptr %t654 - %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str10393) + %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str10394) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then155, label %ifend157 then155: %t658 = load ptr, ptr %t537 %t659 = getelementptr inbounds %Cmp_Val, ptr %t658, i32 0, i32 0 %t660 = load ptr, ptr %t659 - %t661 = call ptr @lp_str_concat(ptr @.str10394, ptr %t660) - %t662 = call ptr @lp_str_concat(ptr %t661, ptr @.str10395) + %t661 = call ptr @lp_str_concat(ptr @.str10395, ptr %t660) + %t662 = call ptr @lp_str_concat(ptr %t661, ptr @.str10396) %t663 = call ptr @fn_emit_bind(ptr %t662) %t664 = load ptr, ptr %t537 %t665 = getelementptr inbounds %Cmp_Val, ptr %t664, i32 0, i32 1 @@ -109677,20 +110026,20 @@ ifend157: %t669 = load ptr, ptr %t537 %t670 = getelementptr inbounds %Cmp_Val, ptr %t669, i32 0, i32 0 %t671 = load ptr, ptr %t670 - %t672 = call ptr @lp_str_concat(ptr @.str10396, ptr %t671) - %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str10397) + %t672 = call ptr @lp_str_concat(ptr @.str10397, ptr %t671) + %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str10398) %t674 = call ptr @fn_emit_bind(ptr %t673) store ptr %t674, ptr %t675 %t676 = load ptr, ptr %t675 - %t677 = call ptr @lp_str_concat(ptr @.str10398, ptr %t676) - %t678 = call ptr @lp_str_concat(ptr %t677, ptr @.str10399) + %t677 = call ptr @lp_str_concat(ptr @.str10399, ptr %t676) + %t678 = call ptr @lp_str_concat(ptr %t677, ptr @.str10400) %t679 = call ptr @fn_emit_bind(ptr %t678) - %t680 = call ptr @fn_val(ptr %t679, ptr @.str10400) + %t680 = call ptr @fn_val(ptr %t679, ptr @.str10401) store ptr %t680, ptr %retval br label %ret ifend128: - call void @fn_perr(ptr @.str10401) - %t681 = call ptr @fn_val(ptr @.str10402, ptr @.str10403) + call void @fn_perr(ptr @.str10402) + %t681 = call ptr @fn_val(ptr @.str10403, ptr @.str10404) store ptr %t681, ptr %retval br label %ret ret: @@ -109786,7 +110135,7 @@ entry: %t2 = alloca i32 %t39 = alloca ptr store ptr %arg_d, ptr %t0 - store ptr @.str10404, ptr %t1 + store ptr @.str10405, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: @@ -109808,7 +110157,7 @@ wbody1: br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t1 - %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str10405) + %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str10406) store ptr %t17, ptr %t1 br label %ifend5 ifend5: @@ -109825,7 +110174,7 @@ ifend5: br i1 %t27, label %ixok6, label %ixbad7 ixbad7: %t28 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str10406, i32 %t24, i32 %t26) + call i32 (ptr, ptr, ...) @fprintf(ptr %t28, ptr @.fmt_bounds, ptr @.str10407, i32 %t24, i32 %t26) call void @exit(i32 1) unreachable ixok6: @@ -109850,11 +110199,11 @@ wend2: %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then8, label %ifend10 then8: - store ptr @.str10407, ptr %t39 + store ptr @.str10408, ptr %t39 br label %ifend10 ifend10: %t44 = load ptr, ptr %t1 - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10408) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10409) %t46 = load ptr, ptr %t39 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) store ptr %t47, ptr %retval @@ -110119,7 +110468,7 @@ ifend8: store i32 %t43, ptr %t2 br label %wcond0 wend2: - store ptr @.str10409, ptr %retval + store ptr @.str10410, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval @@ -110146,8 +110495,8 @@ then0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 - %t13 = call ptr @lp_str_concat(ptr @.str10410, ptr %t12) - %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10411) + %t13 = call ptr @lp_str_concat(ptr @.str10411, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str10412) %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 @@ -110163,7 +110512,7 @@ ifend2: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 - %t26 = call ptr @lp_str_concat(ptr @.str10412, ptr %t25) + %t26 = call ptr @lp_str_concat(ptr @.str10413, ptr %t25) %t27 = load ptr, ptr %t5 %t28 = call ptr @fn_fn_sig_of(ptr %t27) %t29 = call ptr @fn_val(ptr %t26, ptr %t28) @@ -110214,14 +110563,14 @@ then0: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 - %t26 = call ptr @lp_str_concat(ptr @.str10413, ptr %t25) - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10414) + %t26 = call ptr @lp_str_concat(ptr @.str10414, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10415) %t28 = load ptr, ptr %t6 %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @lp_str_concat(ptr %t27, ptr %t31) - %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10415) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10416) %t34 = load ptr, ptr %t1 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 @@ -110268,7 +110617,7 @@ wbody4: br i1 %t66, label %ixok6, label %ixbad7 ixbad7: %t67 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str10416, i32 %t63, i32 %t65) + call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str10417, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok6: @@ -110288,7 +110637,7 @@ ixok6: br i1 %t80, label %ixok8, label %ixbad9 ixbad9: %t81 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str10417, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str10418, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok8: @@ -110329,10 +110678,10 @@ wend5: %t105 = load ptr, ptr %t11 %t106 = call ptr @fn_llty(ptr %t105) store ptr %t106, ptr %t107 - call void @fn_emit(ptr @.str10418) - store ptr @.str10419, ptr %t108 + call void @fn_emit(ptr @.str10419) + store ptr @.str10420, ptr %t108 %t109 = load ptr, ptr %t107 - %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str10420) + %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str10421) %t111 = icmp eq i32 %t110, 0 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 @@ -110342,17 +110691,17 @@ then12: store ptr %t114, ptr %t108 %t115 = load ptr, ptr %t108 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str10421) + call void @fn_emit(ptr @.str10422) br label %ifend14 ifend14: %t116 = load ptr, ptr %t107 - %t117 = call ptr @lp_str_concat(ptr @.str10422, ptr %t116) - %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str10423) + %t117 = call ptr @lp_str_concat(ptr @.str10423, ptr %t116) + %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str10424) %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = call ptr @lp_str_concat(ptr %t118, ptr %t121) - %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str10424) + %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str10425) call void @fn_emit(ptr %t123) store i32 0, ptr %t48 br label %wcond15 @@ -110372,7 +110721,7 @@ wbody16: %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str10425) + call void @fn_emit(ptr @.str10426) br label %ifend20 ifend20: %t135 = load ptr, ptr %t6 @@ -110385,14 +110734,14 @@ ifend20: br i1 %t141, label %ixok21, label %ixbad22 ixbad22: %t142 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str10426, i32 %t138, i32 %t140) + call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str10427, i32 %t138, i32 %t140) call void @exit(i32 1) unreachable ixok21: %t143 = getelementptr inbounds ptr, ptr %t137, i32 %t138 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_llty(ptr %t144) - %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str10427) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str10428) %t147 = load ptr, ptr %t47 %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 @@ -110403,7 +110752,7 @@ ixok21: br i1 %t153, label %ixok23, label %ixbad24 ixbad24: %t154 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10428, i32 %t150, i32 %t152) + call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10429, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok23: @@ -110416,7 +110765,7 @@ ixok23: store i32 %t159, ptr %t48 br label %wcond15 wend17: - call void @fn_emit(ptr @.str10429) + call void @fn_emit(ptr @.str10430) %t160 = load ptr, ptr %t108 %t161 = load ptr, ptr %t11 %t162 = call ptr @fn_val(ptr %t160, ptr %t161) @@ -110476,7 +110825,7 @@ sc3: br i1 %t28, label %ixok5, label %ixbad6 ixbad6: %t29 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10430, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10431, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok5: @@ -110630,8 +110979,8 @@ then31: %t125 = load ptr, ptr %t117 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 - %t128 = call ptr @lp_str_concat(ptr @.str10431, ptr %t127) - %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10432) + %t128 = call ptr @lp_str_concat(ptr @.str10432, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10433) call void @fn_perr(ptr %t129) br label %ifend33 ifend33: @@ -110690,7 +111039,7 @@ sc6: %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_llty(ptr %t28) - %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str10433) + %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str10434) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t16 @@ -110713,7 +111062,7 @@ then8: br i1 %t45, label %ixok11, label %ixbad12 ixbad12: %t46 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str10434, i32 0, i32 %t44) + call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str10435, i32 0, i32 %t44) call void @exit(i32 1) unreachable ixok11: @@ -110722,7 +111071,7 @@ ixok11: %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 3 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_llty(ptr %t50) - %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10435) + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10436) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t37 @@ -110739,7 +111088,7 @@ sc13: br i1 %t62, label %ixok15, label %ixbad16 ixbad16: %t63 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str10436, i32 1, i32 %t61) + call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str10437, i32 1, i32 %t61) call void @exit(i32 1) unreachable ixok15: @@ -110748,7 +111097,7 @@ ixok15: %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 3 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_llty(ptr %t67) - %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str10437) + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str10438) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t37 @@ -110767,8 +111116,8 @@ then17: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 - %t80 = call ptr @lp_str_concat(ptr @.str10438, ptr %t79) - %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str10439) + %t80 = call ptr @lp_str_concat(ptr @.str10439, ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str10440) call void @fn_perr(ptr %t81) br label %ifend19 ifend19: @@ -110787,7 +111136,7 @@ entry: br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_vis_report - %t4 = call ptr @getenv(ptr @.str10440) + %t4 = call ptr @getenv(ptr @.str10441) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 @@ -110844,7 +111193,7 @@ ifend5: %t17 = call ptr @fn_module_of(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str10441) + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str10442) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: @@ -110920,23 +111269,23 @@ then9: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 9 %t28 = load ptr, ptr %t27 - %t29 = call ptr @lp_str_concat(ptr @.str10442, ptr %t28) - %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10443) + %t29 = call ptr @lp_str_concat(ptr @.str10443, ptr %t28) + %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10444) %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 8 %t33 = load i32, ptr %t32 %t34 = call ptr @fn_itoa(i32 %t33) %t35 = call ptr @lp_str_concat(ptr %t30, ptr %t34) - %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str10444) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str10445) %t37 = load ptr, ptr %t23 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) - %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10445) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10446) %t40 = load ptr, ptr %t1 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) - %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10446) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10447) %t43 = load ptr, ptr %t7 %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10447) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10448) store ptr %t45, ptr %t46 %t47 = call ptr @lp_win_stdio(i32 2) %t48 = load ptr, ptr %t46 @@ -110949,21 +111298,6679 @@ then9: br label %ret ifend11: %t55 = load ptr, ptr %t1 - %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10448) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10449) %t57 = load ptr, ptr %t23 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) - %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10449) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str10450) %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 9 %t62 = load ptr, ptr %t61 %t63 = call ptr @lp_str_concat(ptr %t59, ptr %t62) - %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10450) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str10451) call void @fn_perr(ptr %t64) br label %ret ret: ret void } +define i32 @fn_ck_hash(ptr %arg_s) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t6 = alloca i32 + store ptr %arg_s, ptr %t0 + store i32 5381, ptr %t1 + store i32 0, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call i64 @strlen(ptr %t3) + %t5 = trunc i64 %t4 to i32 + store i32 %t5, ptr %t6 + br label %wcond0 +wcond0: + %t7 = load i32, ptr %t2 + %t8 = load i32, ptr %t6 + %t9 = icmp slt i32 %t7, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load i32, ptr %t1 + %t13 = mul i32 %t12, 33 + %t14 = load ptr, ptr %t0 + %t15 = load i32, ptr %t2 + %t16 = getelementptr inbounds i8, ptr %t14, i32 %t15 + %t17 = load i8, ptr %t16 + %t18 = zext i8 %t17 to i32 + %t19 = add i32 %t13, %t18 + %t20 = srem i32 %t19, 1000003 + store i32 %t20, ptr %t1 + %t21 = load i32, ptr %t2 + %t22 = add i32 %t21, 1 + store i32 %t22, ptr %t2 + br label %wcond0 +wend2: + %t23 = load i32, ptr %t1 + %t24 = srem i32 %t23, 65536 + store i32 %t24, ptr %retval + br label %ret +ret: + %t25 = load i32, ptr %retval + ret i32 %t25 +} + +define void @fn_ck_tab_init(ptr %arg_k, ptr %arg_v) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_k, ptr %t0 + store ptr %arg_v, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = icmp slt i32 %t3, 65536 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %wbody1, label %wend2 +wbody1: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 + %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t11 = load i32, ptr %t8 + %t12 = load i32, ptr %t9 + %t13 = icmp sge i32 %t11, %t12 + br i1 %t13, label %grow3, label %put4 +grow3: + %t14 = mul i32 %t12, 2 + %t15 = icmp eq i32 %t12, 0 + %t16 = select i1 %t15, i32 8, i32 %t14 + %t17 = getelementptr ptr, ptr null, i32 1 + %t18 = ptrtoint ptr %t17 to i64 + %t19 = zext i32 %t16 to i64 + %t20 = mul i64 %t19, %t18 + %t21 = load ptr, ptr %t10 + %t22 = call ptr @realloc(ptr %t21, i64 %t20) + store ptr %t22, ptr %t10 + store i32 %t16, ptr %t9 + br label %put4 +put4: + %t23 = load ptr, ptr %t10 + %t24 = getelementptr inbounds ptr, ptr %t23, i32 %t11 + store ptr null, ptr %t24 + %t25 = add i32 %t11, 1 + store i32 %t25, ptr %t8 + %t26 = load ptr, ptr %t1 + %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 %grow5, label %put6 +grow5: + %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 %put6 +put6: + %t42 = load ptr, ptr %t29 + %t43 = getelementptr inbounds ptr, ptr %t42, i32 %t30 + store ptr null, ptr %t43 + %t44 = add i32 %t30, 1 + store i32 %t44, ptr %t27 + %t45 = load i32, ptr %t2 + %t46 = add i32 %t45, 1 + store i32 %t46, ptr %t2 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_ck_tab_put(ptr %arg_k, ptr %arg_v, ptr %arg_name, ptr %arg_d) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t6 = alloca i32 + store ptr %arg_k, ptr %t0 + store ptr %arg_v, ptr %t1 + store ptr %arg_name, ptr %t2 + store ptr %arg_d, ptr %t3 + %t4 = load ptr, ptr %t2 + %t5 = call i32 @fn_ck_hash(ptr %t4) + store i32 %t5, ptr %t6 + br label %wcond0 +wcond0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = load i32, ptr %t6 + %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp ult i32 %t10, %t12 + br i1 %t13, label %ixok3, label %ixbad4 +ixbad4: + %t14 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t14, ptr @.fmt_bounds, ptr @.str10452, i32 %t10, i32 %t12) + call void @exit(i32 1) + unreachable +ixok3: + %t15 = getelementptr inbounds ptr, ptr %t9, i32 %t10 + %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 %wbody1, label %wend2 +wbody1: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t6 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t25 = load i32, ptr %t24 + %t26 = icmp ult i32 %t23, %t25 + br i1 %t26, label %ixok5, label %ixbad6 +ixbad6: + %t27 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str10453, i32 %t23, i32 %t25) + call void @exit(i32 1) + unreachable +ixok5: + %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t29 = load ptr, ptr %t28 + %t30 = load ptr, ptr %t2 + %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then7, label %ifend9 +then7: + br label %ret +ifend9: + %t33 = load i32, ptr %t6 + %t34 = add i32 %t33, 1 + %t35 = srem i32 %t34, 65536 + store i32 %t35, ptr %t6 + br label %wcond0 +wend2: + %t36 = load ptr, ptr %t0 + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 + %t38 = load ptr, ptr %t37 + %t39 = load i32, ptr %t6 + %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 + %t41 = load i32, ptr %t40 + %t42 = icmp ult i32 %t39, %t41 + br i1 %t42, label %ixok10, label %ixbad11 +ixbad11: + %t43 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10454, i32 %t39, i32 %t41) + call void @exit(i32 1) + unreachable +ixok10: + %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 + %t45 = load ptr, ptr %t2 + store ptr %t45, ptr %t44 + %t46 = load ptr, ptr %t1 + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = load i32, ptr %t6 + %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp ult i32 %t49, %t51 + br i1 %t52, label %ixok12, label %ixbad13 +ixbad13: + %t53 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str10455, i32 %t49, i32 %t51) + call void @exit(i32 1) + unreachable +ixok12: + %t54 = getelementptr inbounds ptr, ptr %t48, i32 %t49 + %t55 = load ptr, ptr %t3 + store ptr %t55, ptr %t54 + br label %ret +ret: + ret void +} + +define ptr @fn_ck_tab_get(ptr %arg_k, ptr %arg_v, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca i32 + store ptr %arg_k, ptr %t0 + store ptr %arg_v, ptr %t1 + store ptr %arg_name, ptr %t2 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t2 + %t8 = call i32 @fn_ck_hash(ptr %t7) + store i32 %t8, ptr %t9 + br label %wcond3 +wcond3: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t9 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp ult i32 %t13, %t15 + br i1 %t16, label %ixok6, label %ixbad7 +ixbad7: + %t17 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10456, i32 %t13, i32 %t15) + call void @exit(i32 1) + unreachable +ixok6: + %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %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 %wbody4, label %wend5 +wbody4: + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = load i32, ptr %t9 + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp ult i32 %t26, %t28 + br i1 %t29, label %ixok8, label %ixbad9 +ixbad9: + %t30 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10457, i32 %t26, i32 %t28) + call void @exit(i32 1) + unreachable +ixok8: + %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 + %t32 = load ptr, ptr %t31 + %t33 = load ptr, ptr %t2 + %t34 = call i32 @lp_str_eq(ptr %t32, ptr %t33) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then10, label %ifend12 +then10: + %t36 = load ptr, ptr %t1 + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 + %t38 = load ptr, ptr %t37 + %t39 = load i32, ptr %t9 + %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 + %t41 = load i32, ptr %t40 + %t42 = icmp ult i32 %t39, %t41 + br i1 %t42, label %ixok13, label %ixbad14 +ixbad14: + %t43 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10458, i32 %t39, i32 %t41) + call void @exit(i32 1) + unreachable +ixok13: + %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 + %t45 = load ptr, ptr %t44 + store ptr %t45, ptr %retval + br label %ret +ifend12: + %t46 = load i32, ptr %t9 + %t47 = add i32 %t46, 1 + %t48 = srem i32 %t47, 65536 + store i32 %t48, ptr %t9 + br label %wcond3 +wend5: + store ptr null, ptr %retval + br label %ret +ret: + %t49 = load ptr, ptr %retval + ret ptr %t49 +} + +define void @fn_ck_index() { +entry: + %t10 = alloca i32 + %t28 = alloca ptr + %t41 = alloca i32 + %t0 = load ptr, ptr @g_ck_fn_k + %t1 = load ptr, ptr @g_ck_fn_v + call void @fn_ck_tab_init(ptr %t0, ptr %t1) + %t2 = load ptr, ptr @g_ck_gl_k + %t3 = load ptr, ptr @g_ck_gl_v + call void @fn_ck_tab_init(ptr %t2, ptr %t3) + %t4 = load ptr, ptr @g_ck_rec_k + %t5 = load ptr, ptr @g_ck_rec_v + call void @fn_ck_tab_init(ptr %t4, ptr %t5) + %t6 = load ptr, ptr @g_ck_en_k + %t7 = load ptr, ptr @g_ck_en_v + call void @fn_ck_tab_init(ptr %t6, ptr %t7) + %t8 = load ptr, ptr @g_ck_ex_k + %t9 = load ptr, ptr @g_ck_ex_v + call void @fn_ck_tab_init(ptr %t8, ptr %t9) + store i32 0, ptr %t10 + br label %wcond0 +wcond0: + %t11 = load i32, ptr %t10 + %t12 = load ptr, ptr @g_prog + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t11, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr @g_prog + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t10 + %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t23 = load i32, ptr %t22 + %t24 = icmp ult i32 %t21, %t23 + br i1 %t24, label %ixok3, label %ixbad4 +ixbad4: + %t25 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str10459, i32 %t21, i32 %t23) + call void @exit(i32 1) + unreachable +ixok3: + %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %t28 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + %t35 = load ptr, ptr @g_ck_fn_k + %t36 = load ptr, ptr @g_ck_fn_v + %t37 = load ptr, ptr %t28 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 + %t39 = load ptr, ptr %t38 + %t40 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t35, ptr %t36, ptr %t39, ptr %t40) + br label %ifend7 +ifend7: + %t42 = load ptr, ptr %t28 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 + %t44 = load i32, ptr %t43 + %t45 = icmp eq i32 %t44, 2 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t41 + br i1 %t47, label %scend9, label %sc8 +sc8: + %t49 = load ptr, ptr %t28 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 0 + %t51 = load i32, ptr %t50 + %t52 = icmp eq i32 %t51, 3 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t41 + br label %scend9 +scend9: + %t56 = load i32, ptr %t41 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then10, label %ifend12 +then10: + %t58 = load ptr, ptr @g_ck_gl_k + %t59 = load ptr, ptr @g_ck_gl_v + %t60 = load ptr, ptr %t28 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t58, ptr %t59, ptr %t62, ptr %t63) + br label %ifend12 +ifend12: + %t64 = load ptr, ptr %t28 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 + %t66 = load i32, ptr %t65 + %t67 = icmp eq i32 %t66, 8 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then13, label %ifend15 +then13: + %t70 = load ptr, ptr @g_ck_rec_k + %t71 = load ptr, ptr @g_ck_rec_v + %t72 = load ptr, ptr %t28 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 + %t74 = load ptr, ptr %t73 + %t75 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t70, ptr %t71, ptr %t74, ptr %t75) + br label %ifend15 +ifend15: + %t76 = load ptr, ptr %t28 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 0 + %t78 = load i32, ptr %t77 + %t79 = icmp eq i32 %t78, 27 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then16, label %ifend18 +then16: + %t82 = load ptr, ptr @g_ck_en_k + %t83 = load ptr, ptr @g_ck_en_v + %t84 = load ptr, ptr %t28 + %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 + %t86 = load ptr, ptr %t85 + %t87 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t82, ptr %t83, ptr %t86, ptr %t87) + br label %ifend18 +ifend18: + %t88 = load ptr, ptr %t28 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 + %t90 = load i32, ptr %t89 + %t91 = icmp eq i32 %t90, 11 + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then19, label %ifend21 +then19: + %t94 = load ptr, ptr @g_ck_ex_k + %t95 = load ptr, ptr @g_ck_ex_v + %t96 = load ptr, ptr %t28 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 + %t98 = load ptr, ptr %t97 + %t99 = load ptr, ptr %t28 + call void @fn_ck_tab_put(ptr %t94, ptr %t95, ptr %t98, ptr %t99) + br label %ifend21 +ifend21: + %t100 = load i32, ptr %t10 + %t101 = add i32 %t100, 1 + store i32 %t101, ptr %t10 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ck_fn(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_fn_k + %t2 = load ptr, ptr @g_ck_fn_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_global(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_gl_k + %t2 = load ptr, ptr @g_ck_gl_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_record(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_rec_k + %t2 = load ptr, ptr @g_ck_rec_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_enum(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_en_k + %t2 = load ptr, ptr @g_ck_en_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define ptr @fn_ck_extern(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr @g_ck_ex_k + %t2 = load ptr, ptr @g_ck_ex_v + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_ck_tab_get(ptr %t1, ptr %t2, ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define i32 @fn_ck_unknown(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t1 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10460) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t1 + br label %scend1 +scend1: + %t11 = load i32, ptr %t1 + store i32 %t11, ptr %retval + br label %ret +ret: + %t12 = load i32, ptr %retval + ret i32 %t12 +} + +define i32 @fn_ck_is_int(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t38 = alloca ptr + store ptr %arg_t, ptr %t0 + %t5 = load ptr, ptr %t0 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10461) + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + store i32 %t8, ptr %t4 + br i1 %t7, label %scend1, label %sc0 +sc0: + %t9 = load ptr, ptr %t0 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10462) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t4 + br label %scend1 +scend1: + %t13 = load i32, ptr %t4 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t3 + br i1 %t14, label %scend3, label %sc2 +sc2: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10463) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t3 + br label %scend3 +scend3: + %t20 = load i32, ptr %t3 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t2 + br i1 %t21, label %scend5, label %sc4 +sc4: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str10464) + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t2 + br label %scend5 +scend5: + %t27 = load i32, ptr %t2 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t1 + br i1 %t28, label %scend7, label %sc6 +sc6: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str10465) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t1 + br label %scend7 +scend7: + %t34 = load i32, ptr %t1 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 +then8: + store i32 1, ptr %retval + br label %ret +ifend10: + %t36 = load ptr, ptr %t0 + %t37 = call ptr @fn_ck_enum(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = icmp ne ptr %t39, null + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then11, label %ifend13 +then11: + %t43 = load ptr, ptr %t38 + %t44 = call i32 @fn_enum_is_tagged(ptr %t43) + %t45 = icmp eq i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + store i32 %t46, ptr %retval + br label %ret +ifend13: + store i32 0, ptr %retval + br label %ret +ret: + %t47 = load i32, ptr %retval + ret i32 %t47 +} + +define ptr @fn_ck_a(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca i32 + %t6 = alloca i32 + %t7 = alloca i32 + %t8 = alloca i32 + %t9 = alloca i32 + %t10 = alloca i32 + %t11 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t14 = alloca i32 + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds i8, ptr %t1, i32 0 + %t3 = load i8, ptr %t2 + %t4 = zext i8 %t3 to i32 + store i32 %t4, ptr %t5 + %t15 = load i32, ptr %t5 + %t16 = icmp eq i32 %t15, 97 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t14 + br i1 %t18, label %scend1, label %sc0 +sc0: + %t20 = load i32, ptr %t5 + %t21 = icmp eq i32 %t20, 101 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t14 + br label %scend1 +scend1: + %t25 = load i32, ptr %t14 + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t13 + br i1 %t26, label %scend3, label %sc2 +sc2: + %t28 = load i32, ptr %t5 + %t29 = icmp eq i32 %t28, 105 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t13 + br label %scend3 +scend3: + %t33 = load i32, ptr %t13 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t12 + br i1 %t34, label %scend5, label %sc4 +sc4: + %t36 = load i32, ptr %t5 + %t37 = icmp eq i32 %t36, 111 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t12 + br label %scend5 +scend5: + %t41 = load i32, ptr %t12 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t11 + br i1 %t42, label %scend7, label %sc6 +sc6: + %t44 = load i32, ptr %t5 + %t45 = icmp eq i32 %t44, 117 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t11 + br label %scend7 +scend7: + %t49 = load i32, ptr %t11 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t10 + br i1 %t50, label %scend9, label %sc8 +sc8: + %t52 = load i32, ptr %t5 + %t53 = icmp eq i32 %t52, 65 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t10 + br label %scend9 +scend9: + %t57 = load i32, ptr %t10 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t9 + br i1 %t58, label %scend11, label %sc10 +sc10: + %t60 = load i32, ptr %t5 + %t61 = icmp eq i32 %t60, 69 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t9 + br label %scend11 +scend11: + %t65 = load i32, ptr %t9 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t8 + br i1 %t66, label %scend13, label %sc12 +sc12: + %t68 = load i32, ptr %t5 + %t69 = icmp eq i32 %t68, 73 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t8 + br label %scend13 +scend13: + %t73 = load i32, ptr %t8 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t7 + br i1 %t74, label %scend15, label %sc14 +sc14: + %t76 = load i32, ptr %t5 + %t77 = icmp eq i32 %t76, 79 + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t7 + br label %scend15 +scend15: + %t81 = load i32, ptr %t7 + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t6 + br i1 %t82, label %scend17, label %sc16 +sc16: + %t84 = load i32, ptr %t5 + %t85 = icmp eq i32 %t84, 85 + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t6 + br label %scend17 +scend17: + %t89 = load i32, ptr %t6 + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then18, label %ifend20 +then18: + %t91 = load ptr, ptr %t0 + %t92 = call ptr @lp_str_concat(ptr @.str10466, ptr %t91) + store ptr %t92, ptr %retval + br label %ret +ifend20: + %t93 = load ptr, ptr %t0 + %t94 = call ptr @lp_str_concat(ptr @.str10467, ptr %t93) + store ptr %t94, ptr %retval + br label %ret +ret: + %t95 = load ptr, ptr %retval + ret ptr %t95 +} + +define i32 @fn_ck_is_float(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10468) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str10469) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define i32 @fn_ck_is_num(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + store ptr %arg_t, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @fn_ck_is_int(ptr %t3) + %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_ck_is_float(ptr %t7) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str10470) + %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 + store i32 %t18, ptr %retval + br label %ret +ret: + %t19 = load i32, ptr %retval + ret i32 %t19 +} + +define i32 @fn_ck_is_rec(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_ck_record(ptr %t1) + %t3 = icmp ne ptr %t2, null + %t4 = zext i1 %t3 to i32 + store i32 %t4, ptr %retval + br label %ret +ret: + %t5 = load i32, ptr %retval + ret i32 %t5 +} + +define i32 @fn_ck_is_ref(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_t, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_ck_is_num(ptr %t4) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str10471) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str10472) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str10473) + %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 0, ptr %retval + br label %ret +ifend8: + store i32 1, ptr %retval + br label %ret +ret: + %t28 = load i32, ptr %retval + ret i32 %t28 +} + +define i32 @fn_ck_is_lit(ptr %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t5 = alloca i32 + %t22 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0 + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 30 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t5 + br i1 %t11, label %scend4, label %sc3 +sc3: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 40 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t5 + br label %scend4 +scend4: + %t20 = load i32, ptr %t5 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then5, label %ifend7 +then5: + store i32 1, ptr %retval + br label %ret +ifend7: + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 + %t25 = load i32, ptr %t24 + %t26 = icmp eq i32 %t25, 38 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t22 + br i1 %t28, label %sc8, label %scend9 +sc8: + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 + %t32 = load ptr, ptr %t31 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10474) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t22 + br label %scend9 +scend9: + %t36 = load i32, ptr %t22 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then10, label %ifend12 +then10: + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 + %t40 = load ptr, ptr %t39 + %t41 = call i32 @fn_ck_is_lit(ptr %t40) + store i32 %t41, ptr %retval + br label %ret +ifend12: + store i32 0, ptr %retval + br label %ret +ret: + %t42 = load i32, ptr %retval + ret i32 %t42 +} + +define ptr @fn_ck_class(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_ck_is_num(ptr %t1) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store ptr @.str10475, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str10476) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store ptr @.str10477, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10478) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store ptr @.str10479, ptr %retval + br label %ret +ifend8: + store ptr @.str10480, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_ck_mismatch(ptr %arg_to, ptr %arg_from, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t14 = alloca i32 + %t32 = alloca i32 + %t43 = alloca i32 + %t44 = alloca i32 + %t49 = alloca i32 + %t64 = alloca i32 + %t90 = alloca i32 + %t110 = alloca i32 + %t127 = alloca i32 + %t141 = alloca i32 + %t152 = alloca i32 + %t157 = alloca i32 + %t171 = alloca i32 + %t182 = alloca i32 + %t193 = alloca i32 + %t204 = alloca i32 + %t209 = alloca i32 + %t210 = alloca i32 + store ptr %arg_to, ptr %t0 + store ptr %arg_from, ptr %t1 + store ptr %arg_e, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @fn_ck_unknown(ptr %t4) + %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 %t1 + %t9 = call i32 @fn_ck_unknown(ptr %t8) + %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 + br i1 %t13, label %then2, label %ifend4 +then2: + store ptr null, ptr %retval + br label %ret +ifend4: + %t15 = load ptr, ptr %t0 + %t16 = load ptr, ptr %t1 + %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t14 + br i1 %t18, label %scend6, label %sc5 +sc5: + %t20 = load ptr, ptr %t0 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10481) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t14 + br label %scend6 +scend6: + %t24 = load i32, ptr %t14 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then7, label %ifend9 +then7: + store ptr null, ptr %retval + br label %ret +ifend9: + %t26 = load ptr, ptr %t1 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str10482) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then10, label %ifend12 +then10: + %t29 = load ptr, ptr %t0 + %t30 = call i32 @fn_ck_is_ref(ptr %t29) + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %then13, label %ifend15 +then13: + store ptr null, ptr %retval + br label %ret +ifend15: + store ptr @.str10483, ptr %retval + br label %ret +ifend12: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str10484) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t32 + br i1 %t35, label %scend17, label %sc16 +sc16: + %t37 = load ptr, ptr %t1 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str10485) + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t32 + br label %scend17 +scend17: + %t41 = load i32, ptr %t32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then18, label %ifend20 +then18: + store ptr @.str10486, ptr %retval + br label %ret +ifend20: + %t45 = load ptr, ptr %t2 + %t46 = call i32 @fn_ck_is_lit(ptr %t45) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t44 + br i1 %t47, label %sc21, label %scend22 +sc21: + %t50 = load ptr, ptr %t1 + %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str10487) + %t52 = icmp ne i32 %t51, 0 + %t53 = zext i1 %t52 to i32 + store i32 %t53, ptr %t49 + br i1 %t52, label %scend24, label %sc23 +sc23: + %t54 = load ptr, ptr %t1 + %t55 = call i32 @fn_ck_is_float(ptr %t54) + %t56 = icmp ne i32 %t55, 0 + %t57 = zext i1 %t56 to i32 + store i32 %t57, ptr %t49 + br label %scend24 +scend24: + %t58 = load i32, ptr %t49 + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t44 + br label %scend22 +scend22: + %t61 = load i32, ptr %t44 + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t43 + br i1 %t62, label %sc25, label %scend26 +sc25: + %t65 = load ptr, ptr %t0 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str10488) + %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_ck_is_float(ptr %t69) + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t64 + br label %scend28 +scend28: + %t73 = load i32, ptr %t64 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t43 + br label %scend26 +scend26: + %t76 = load i32, ptr %t43 + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then29, label %ifend31 +then29: + store ptr null, ptr %retval + br label %ret +ifend31: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @fn_ck_is_int(ptr %t78) + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then32, label %ifend34 +then32: + %t81 = load ptr, ptr %t1 + %t82 = call i32 @fn_ck_is_int(ptr %t81) + %t83 = icmp ne i32 %t82, 0 + br i1 %t83, label %then35, label %ifend37 +then35: + store ptr null, ptr %retval + br label %ret +ifend37: + %t84 = load ptr, ptr %t1 + %t85 = call i32 @fn_ck_is_num(ptr %t84) + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then38, label %ifend40 +then38: + store ptr @.str10489, ptr %retval + br label %ret +ifend40: + store ptr @.str10490, ptr %retval + br label %ret +ifend34: + %t87 = load ptr, ptr %t0 + %t88 = call i32 @fn_ck_is_float(ptr %t87) + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %then41, label %ifend43 +then41: + %t91 = load ptr, ptr %t1 + %t92 = call i32 @fn_ck_is_int(ptr %t91) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t90 + br i1 %t93, label %scend45, label %sc44 +sc44: + %t95 = load ptr, ptr %t1 + %t96 = call i32 @fn_ck_is_float(ptr %t95) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t90 + br label %scend45 +scend45: + %t99 = load i32, ptr %t90 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then46, label %ifend48 +then46: + store ptr null, ptr %retval + br label %ret +ifend48: + %t101 = load ptr, ptr %t1 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str10491) + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then49, label %ifend51 +then49: + store ptr @.str10492, ptr %retval + br label %ret +ifend51: + store ptr @.str10493, ptr %retval + br label %ret +ifend43: + %t104 = load ptr, ptr %t0 + %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str10494) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then52, label %ifend54 +then52: + %t107 = load ptr, ptr %t1 + %t108 = call i32 @fn_ck_is_int(ptr %t107) + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then55, label %ifend57 +then55: + store ptr null, ptr %retval + br label %ret +ifend57: + %t111 = load ptr, ptr %t1 + %t112 = call i32 @fn_ck_is_float(ptr %t111) + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t110 + br i1 %t113, label %sc58, label %scend59 +sc58: + %t115 = load ptr, ptr %t2 + %t116 = call i32 @fn_ck_is_lit(ptr %t115) + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t110 + br label %scend59 +scend59: + %t119 = load i32, ptr %t110 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then60, label %ifend62 +then60: + store ptr null, ptr %retval + br label %ret +ifend62: + %t121 = load ptr, ptr %t1 + %t122 = call i32 @fn_ck_is_float(ptr %t121) + %t123 = icmp ne i32 %t122, 0 + br i1 %t123, label %then63, label %ifend65 +then63: + store ptr @.str10495, ptr %retval + br label %ret +ifend65: + store ptr @.str10496, ptr %retval + br label %ret +ifend54: + %t124 = load ptr, ptr %t1 + %t125 = call i32 @fn_ck_is_num(ptr %t124) + %t126 = icmp ne i32 %t125, 0 + br i1 %t126, label %then66, label %ifend68 +then66: + store ptr @.str10497, ptr %retval + br label %ret +ifend68: + %t128 = load ptr, ptr %t0 + %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str10498) + %t130 = icmp ne i32 %t129, 0 + %t131 = zext i1 %t130 to i32 + store i32 %t131, ptr %t127 + br i1 %t130, label %scend70, label %sc69 +sc69: + %t132 = load ptr, ptr %t1 + %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str10499) + %t134 = icmp ne i32 %t133, 0 + %t135 = zext i1 %t134 to i32 + store i32 %t135, ptr %t127 + br label %scend70 +scend70: + %t136 = load i32, ptr %t127 + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then71, label %ifend73 +then71: + store ptr null, ptr %retval + br label %ret +ifend73: + %t138 = load ptr, ptr %t0 + %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str10500) + %t140 = icmp ne i32 %t139, 0 + br i1 %t140, label %then74, label %ifend76 +then74: + store ptr @.str10501, ptr %retval + br label %ret +ifend76: + %t142 = load ptr, ptr %t0 + %t143 = call i32 @fn_ck_is_rec(ptr %t142) + %t144 = icmp ne i32 %t143, 0 + %t145 = zext i1 %t144 to i32 + store i32 %t145, ptr %t141 + br i1 %t144, label %sc77, label %scend78 +sc77: + %t146 = load ptr, ptr %t1 + %t147 = call i32 @fn_ck_is_rec(ptr %t146) + %t148 = icmp ne i32 %t147, 0 + %t149 = zext i1 %t148 to i32 + store i32 %t149, ptr %t141 + br label %scend78 +scend78: + %t150 = load i32, ptr %t141 + %t151 = icmp ne i32 %t150, 0 + br i1 %t151, label %then79, label %ifend81 +then79: + store ptr @.str10502, ptr %retval + br label %ret +ifend81: + %t153 = load ptr, ptr %t0 + %t154 = call i32 @fn_ck_is_rec(ptr %t153) + %t155 = icmp ne i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + store i32 %t156, ptr %t152 + br i1 %t155, label %sc82, label %scend83 +sc82: + %t158 = load ptr, ptr %t1 + %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str10503) + %t160 = icmp ne i32 %t159, 0 + %t161 = zext i1 %t160 to i32 + store i32 %t161, ptr %t157 + br i1 %t160, label %scend85, label %sc84 +sc84: + %t162 = load ptr, ptr %t1 + %t163 = call i32 @fn_is_slice_ty(ptr %t162) + %t164 = icmp ne i32 %t163, 0 + %t165 = zext i1 %t164 to i32 + store i32 %t165, ptr %t157 + br label %scend85 +scend85: + %t166 = load i32, ptr %t157 + %t167 = icmp ne i32 %t166, 0 + %t168 = zext i1 %t167 to i32 + store i32 %t168, ptr %t152 + br label %scend83 +scend83: + %t169 = load i32, ptr %t152 + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %then86, label %ifend88 +then86: + store ptr @.str10504, ptr %retval + br label %ret +ifend88: + %t172 = load ptr, ptr %t0 + %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str10505) + %t174 = icmp ne i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + store i32 %t175, ptr %t171 + br i1 %t174, label %scend90, label %sc89 +sc89: + %t176 = load ptr, ptr %t1 + %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str10506) + %t178 = icmp ne i32 %t177, 0 + %t179 = zext i1 %t178 to i32 + store i32 %t179, ptr %t171 + br label %scend90 +scend90: + %t180 = load i32, ptr %t171 + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %then91, label %ifend93 +then91: + store ptr null, ptr %retval + br label %ret +ifend93: + %t183 = load ptr, ptr %t0 + %t184 = call i32 @fn_is_slice_ty(ptr %t183) + %t185 = icmp ne i32 %t184, 0 + %t186 = zext i1 %t185 to i32 + store i32 %t186, ptr %t182 + br i1 %t185, label %sc94, label %scend95 +sc94: + %t187 = load ptr, ptr %t1 + %t188 = call i32 @fn_is_slice_ty(ptr %t187) + %t189 = icmp ne i32 %t188, 0 + %t190 = zext i1 %t189 to i32 + store i32 %t190, ptr %t182 + br label %scend95 +scend95: + %t191 = load i32, ptr %t182 + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then96, label %ifend98 +then96: + store ptr @.str10507, ptr %retval + br label %ret +ifend98: + %t194 = load ptr, ptr %t0 + %t195 = call i32 @fn_is_fn_type(ptr %t194) + %t196 = icmp ne i32 %t195, 0 + %t197 = zext i1 %t196 to i32 + store i32 %t197, ptr %t193 + br i1 %t196, label %sc99, label %scend100 +sc99: + %t198 = load ptr, ptr %t1 + %t199 = call i32 @fn_is_fn_type(ptr %t198) + %t200 = icmp ne i32 %t199, 0 + %t201 = zext i1 %t200 to i32 + store i32 %t201, ptr %t193 + br label %scend100 +scend100: + %t202 = load i32, ptr %t193 + %t203 = icmp ne i32 %t202, 0 + br i1 %t203, label %then101, label %ifend103 +then101: + store ptr @.str10508, ptr %retval + br label %ret +ifend103: + %t205 = load ptr, ptr %t1 + %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str10509) + %t207 = icmp ne i32 %t206, 0 + %t208 = zext i1 %t207 to i32 + store i32 %t208, ptr %t204 + br i1 %t207, label %sc104, label %scend105 +sc104: + %t211 = load ptr, ptr %t0 + %t212 = call i32 @fn_ck_is_rec(ptr %t211) + %t213 = icmp ne i32 %t212, 0 + %t214 = zext i1 %t213 to i32 + store i32 %t214, ptr %t210 + br i1 %t213, label %scend107, label %sc106 +sc106: + %t215 = load ptr, ptr %t0 + %t216 = call i32 @fn_is_slice_ty(ptr %t215) + %t217 = icmp ne i32 %t216, 0 + %t218 = zext i1 %t217 to i32 + store i32 %t218, ptr %t210 + br label %scend107 +scend107: + %t219 = load i32, ptr %t210 + %t220 = icmp ne i32 %t219, 0 + %t221 = zext i1 %t220 to i32 + store i32 %t221, ptr %t209 + br i1 %t220, label %scend109, label %sc108 +sc108: + %t222 = load ptr, ptr %t0 + %t223 = call i32 @fn_is_fn_type(ptr %t222) + %t224 = icmp ne i32 %t223, 0 + %t225 = zext i1 %t224 to i32 + store i32 %t225, ptr %t209 + br label %scend109 +scend109: + %t226 = load i32, ptr %t209 + %t227 = icmp ne i32 %t226, 0 + %t228 = zext i1 %t227 to i32 + store i32 %t228, ptr %t204 + br label %scend105 +scend105: + %t229 = load i32, ptr %t204 + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then110, label %ifend112 +then110: + store ptr @.str10510, ptr %retval + br label %ret +ifend112: + store ptr null, ptr %retval + br label %ret +ret: + %t231 = load ptr, ptr %retval + ret ptr %t231 +} + +define void @fn_ck_bind(ptr %arg_name, ptr %arg_ty) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + %t4 = alloca i32 + store ptr %arg_name, ptr %t0 + store ptr %arg_ty, ptr %t1 + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %t3 + %t5 = load ptr, ptr %t3 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10511) + %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 %t3 + %t10 = icmp eq ptr %t9, null + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t4 + br label %scend1 +scend1: + %t14 = load i32, ptr %t4 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then2, label %ifend4 +then2: + store ptr @.str10512, ptr %t3 + br label %ifend4 +ifend4: + %t16 = load i32, ptr @g_ck_top + %t17 = load ptr, ptr @g_ck_names + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp slt i32 %t16, %t19 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then5, label %else6 +then5: + %t23 = load ptr, ptr @g_ck_names + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = load i32, ptr @g_ck_top + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp ult i32 %t26, %t28 + br i1 %t29, label %ixok8, label %ixbad9 +ixbad9: + %t30 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10513, i32 %t26, i32 %t28) + call void @exit(i32 1) + unreachable +ixok8: + %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 + %t32 = load ptr, ptr %t0 + store ptr %t32, ptr %t31 + %t33 = load ptr, ptr @g_ck_tys + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr @g_ck_top + %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t38 = load i32, ptr %t37 + %t39 = icmp ult i32 %t36, %t38 + br i1 %t39, label %ixok10, label %ixbad11 +ixbad11: + %t40 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10514, i32 %t36, i32 %t38) + call void @exit(i32 1) + unreachable +ixok10: + %t41 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t42 = load ptr, ptr %t3 + store ptr %t42, ptr %t41 + br label %ifend7 +else6: + %t43 = load ptr, ptr @g_ck_names + %t44 = load ptr, ptr %t0 + %t45 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 + %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 2 + %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t48 = load i32, ptr %t45 + %t49 = load i32, ptr %t46 + %t50 = icmp sge i32 %t48, %t49 + br i1 %t50, label %grow12, label %put13 +grow12: + %t51 = mul i32 %t49, 2 + %t52 = icmp eq i32 %t49, 0 + %t53 = select i1 %t52, i32 8, i32 %t51 + %t54 = getelementptr ptr, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = zext i32 %t53 to i64 + %t57 = mul i64 %t56, %t55 + %t58 = load ptr, ptr %t47 + %t59 = call ptr @realloc(ptr %t58, i64 %t57) + store ptr %t59, ptr %t47 + store i32 %t53, ptr %t46 + br label %put13 +put13: + %t60 = load ptr, ptr %t47 + %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 + store ptr %t44, ptr %t61 + %t62 = add i32 %t48, 1 + store i32 %t62, ptr %t45 + %t63 = load ptr, ptr @g_ck_tys + %t64 = load ptr, ptr %t3 + %t65 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t66 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 + %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t68 = load i32, ptr %t65 + %t69 = load i32, ptr %t66 + %t70 = icmp sge i32 %t68, %t69 + br i1 %t70, label %grow14, label %put15 +grow14: + %t71 = mul i32 %t69, 2 + %t72 = icmp eq i32 %t69, 0 + %t73 = select i1 %t72, i32 8, i32 %t71 + %t74 = getelementptr ptr, ptr null, i32 1 + %t75 = ptrtoint ptr %t74 to i64 + %t76 = zext i32 %t73 to i64 + %t77 = mul i64 %t76, %t75 + %t78 = load ptr, ptr %t67 + %t79 = call ptr @realloc(ptr %t78, i64 %t77) + store ptr %t79, ptr %t67 + store i32 %t73, ptr %t66 + br label %put15 +put15: + %t80 = load ptr, ptr %t67 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 %t68 + store ptr %t64, ptr %t81 + %t82 = add i32 %t68, 1 + store i32 %t82, ptr %t65 + br label %ifend7 +ifend7: + %t83 = load i32, ptr @g_ck_top + %t84 = add i32 %t83, 1 + store i32 %t84, ptr @g_ck_top + br label %ret +ret: + ret void +} + +define i32 @fn_ck_mark() { +entry: + %retval = alloca i32 + %t0 = load i32, ptr @g_ck_top + store i32 %t0, ptr %retval + br label %ret +ret: + %t1 = load i32, ptr %retval + ret i32 %t1 +} + +define void @fn_ck_pop(i32 %arg_m) { +entry: + %t0 = alloca i32 + store i32 %arg_m, ptr %t0 + %t1 = load i32, ptr %t0 + store i32 %t1, ptr @g_ck_top + br label %ret +ret: + ret void +} + +define i32 @fn_ck_local(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t3 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load i32, ptr @g_ck_top + %t2 = sub i32 %t1, 1 + store i32 %t2, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load i32, ptr %t3 + %t5 = icmp sge i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_ck_names + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + %t13 = load i32, ptr %t12 + %t14 = icmp ult i32 %t11, %t13 + br i1 %t14, label %ixok3, label %ixbad4 +ixbad4: + %t15 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10515, i32 %t11, i32 %t13) + call void @exit(i32 1) + unreachable +ixok3: + %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t17 = load ptr, ptr %t16 + %t18 = load ptr, ptr %t0 + %t19 = call i32 @lp_str_eq(ptr %t17, ptr %t18) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then5, label %ifend7 +then5: + %t21 = load i32, ptr %t3 + store i32 %t21, ptr %retval + br label %ret +ifend7: + %t22 = load i32, ptr %t3 + %t23 = sub i32 %t22, 1 + store i32 %t23, ptr %t3 + br label %wcond0 +wend2: + %t24 = sub i32 0, 1 + store i32 %t24, ptr %retval + br label %ret +ret: + %t25 = load i32, ptr %retval + ret i32 %t25 +} + +define i32 @fn_ck_reporting() { +entry: + %retval = alloca i32 + %t0 = load i32, ptr @g_ck_report + %t1 = icmp slt i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 0, ptr @g_ck_report + %t4 = call ptr @getenv(ptr @.str10516) + %t5 = icmp ne ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then3, label %ifend5 +then3: + store i32 1, ptr @g_ck_report + br label %ifend5 +ifend5: + br label %ifend2 +ifend2: + %t8 = load i32, ptr @g_ck_report + %t9 = icmp eq i32 %t8, 1 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define void @fn_ck_err(ptr %arg_cat, ptr %arg_n, ptr %arg_msg) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca i32 + %t30 = alloca ptr + store ptr %arg_cat, ptr %t0 + store ptr %arg_n, ptr %t1 + store ptr %arg_msg, ptr %t2 + store ptr @.str10517, ptr %t3 + store i32 0, ptr %t4 + %t5 = load ptr, ptr %t1 + %t6 = icmp ne ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr %t1 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 9 + %t11 = load ptr, ptr %t10 + %t12 = icmp ne ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then3, label %ifend5 +then3: + %t15 = load ptr, ptr %t1 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 9 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %t3 + br label %ifend5 +ifend5: + %t18 = load ptr, ptr %t1 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8 + %t20 = load i32, ptr %t19 + store i32 %t20, ptr %t4 + br label %ifend2 +ifend2: + %t21 = load ptr, ptr %t3 + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10518) + %t23 = load i32, ptr %t4 + %t24 = call ptr @fn_itoa(i32 %t23) + %t25 = call ptr @lp_str_concat(ptr %t22, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10519) + %t27 = load ptr, ptr %t2 + %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10520) + store ptr %t29, ptr %t30 + %t31 = call i32 @fn_ck_reporting() + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + %t33 = load ptr, ptr %t0 + %t34 = call ptr @lp_str_concat(ptr @.str10521, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str10522) + %t36 = load ptr, ptr %t3 + %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str10523) + %t39 = load i32, ptr %t4 + %t40 = call ptr @fn_itoa(i32 %t39) + %t41 = call ptr @lp_str_concat(ptr %t38, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str10524) + %t43 = load ptr, ptr %t2 + %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10525) + store ptr %t45, ptr %t30 + br label %ifend8 +ifend8: + %t46 = call ptr @lp_win_stdio(i32 2) + %t47 = load ptr, ptr %t30 + %t48 = load ptr, ptr %t30 + %t49 = call i64 @strlen(ptr %t48) + %t50 = trunc i64 %t49 to i32 + %t51 = zext i32 %t50 to i64 + %t52 = call i64 @fwrite(ptr %t47, i64 1, i64 %t51, ptr %t46) + %t53 = trunc i64 %t52 to i32 + %t54 = load i32, ptr @g_ck_errors + %t55 = add i32 %t54, 1 + store i32 %t55, ptr @g_ck_errors + br label %ret +ret: + ret void +} + +define void @fn_ck_give(ptr %arg_to, ptr %arg_from, ptr %arg_e, ptr %arg_what) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t8 = alloca ptr + store ptr %arg_to, ptr %t0 + store ptr %arg_from, ptr %t1 + store ptr %arg_e, ptr %t2 + store ptr %arg_what, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = load ptr, ptr %t1 + %t6 = load ptr, ptr %t2 + %t7 = call ptr @fn_ck_mismatch(ptr %t4, ptr %t5, ptr %t6) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, null + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t13 = load ptr, ptr %t8 + %t14 = load ptr, ptr %t2 + %t15 = load ptr, ptr %t3 + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10526) + %t17 = load ptr, ptr %t0 + %t18 = call ptr @fn_ck_a(ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t16, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str10527) + %t21 = load ptr, ptr %t1 + %t22 = call ptr @fn_ck_a(ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t20, ptr %t22) + call void @fn_ck_err(ptr %t13, ptr %t14, ptr %t23) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_field(ptr %arg_r, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_r, ptr %t0 + store ptr %arg_name, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp ult i32 %t17, %t19 + br i1 %t20, label %ixok3, label %ixbad4 +ixbad4: + %t21 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10528, i32 %t17, i32 %t19) + call void @exit(i32 1) + unreachable +ixok3: + %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then5, label %ifend7 +then5: + %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 %t2 + %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp ult i32 %t34, %t36 + br i1 %t37, label %ixok8, label %ixbad9 +ixbad9: + %t38 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str10529, i32 %t34, i32 %t36) + call void @exit(i32 1) + unreachable +ixok8: + %t39 = getelementptr inbounds ptr, ptr %t33, i32 %t34 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 + %t42 = load ptr, ptr %t41 + store ptr %t42, ptr %retval + br label %ret +ifend7: + %t43 = load i32, ptr %t2 + %t44 = add i32 %t43, 1 + store i32 %t44, ptr %t2 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t45 = load ptr, ptr %retval + ret ptr %t45 +} + +define void @fn_ck_walk(ptr %arg_e) { +entry: + %t0 = alloca ptr + %t14 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 + %t7 = load ptr, ptr %t6 + call void @fn_ck_any(ptr %t7) + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 5 + %t10 = load ptr, ptr %t9 + call void @fn_ck_any(ptr %t10) + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 6 + %t13 = load ptr, ptr %t12 + call void @fn_ck_any(ptr %t13) + store i32 0, ptr %t14 + br label %wcond3 +wcond3: + %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 %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = load i32, ptr %t14 + %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t31 = load i32, ptr %t30 + %t32 = icmp ult i32 %t29, %t31 + br i1 %t32, label %ixok6, label %ixbad7 +ixbad7: + %t33 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str10530, i32 %t29, i32 %t31) + call void @exit(i32 1) + unreachable +ixok6: + %t34 = getelementptr inbounds ptr, ptr %t28, i32 %t29 + %t35 = load ptr, ptr %t34 + call void @fn_ck_any(ptr %t35) + %t36 = load i32, ptr %t14 + %t37 = add i32 %t36, 1 + store i32 %t37, ptr %t14 + br label %wcond3 +wend5: + br label %ret +ret: + ret void +} + +define void @fn_ck_any(ptr %arg_n) { +entry: + %t0 = alloca ptr + %t22 = alloca i32 + %t23 = alloca i32 + store ptr %arg_n, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 7 + %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 + call void @fn_ck_block(ptr %t11) + br label %ret +ifend5: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 0 + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 42 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then6, label %ifend8 +then6: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_ck_expr(ptr %t20) + br label %ret +ifend8: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp sge i32 %t26, 10 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t23 + br i1 %t29, label %sc9, label %scend10 +sc9: + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp sle i32 %t33, 26 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t23 + br label %scend10 +scend10: + %t38 = load i32, ptr %t23 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t22 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 + %t43 = load i32, ptr %t42 + %t44 = icmp eq i32 %t43, 49 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t22 + br label %scend12 +scend12: + %t48 = load i32, ptr %t22 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then13, label %ifend15 +then13: + %t50 = load ptr, ptr %t0 + call void @fn_ck_stmt(ptr %t50) + br label %ret +ifend15: + %t51 = load ptr, ptr %t0 + %t52 = call ptr @fn_ck_expr(ptr %t51) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_expr(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t8 = alloca i32 + %t53 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store ptr @.str10531, ptr %retval + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + store i32 %t7, ptr %t8 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 30 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + store ptr @.str10532, ptr %retval + br label %ret +ifend5: + %t13 = load i32, ptr %t8 + %t14 = icmp eq i32 %t13, 40 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then6, label %ifend8 +then6: + %t17 = load ptr, ptr %t0 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 9 + %t19 = load ptr, ptr %t18 + %t20 = call i32 @fn_is_float_file(ptr %t19) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then9, label %ifend11 +then9: + store ptr @.str10533, ptr %retval + br label %ret +ifend11: + store ptr @.str10534, ptr %retval + br label %ret +ifend8: + %t22 = load i32, ptr %t8 + %t23 = icmp eq i32 %t22, 31 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then12, label %ifend14 +then12: + store ptr @.str10535, ptr %retval + br label %ret +ifend14: + %t26 = load i32, ptr %t8 + %t27 = icmp eq i32 %t26, 44 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then15, label %ifend17 +then15: + %t30 = load ptr, ptr %t0 + call void @fn_ck_walk(ptr %t30) + store ptr @.str10536, ptr %retval + br label %ret +ifend17: + %t31 = load i32, ptr %t8 + %t32 = icmp eq i32 %t31, 32 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then18, label %ifend20 +then18: + store ptr @.str10537, ptr %retval + br label %ret +ifend20: + %t35 = load i32, ptr %t8 + %t36 = icmp eq i32 %t35, 43 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then21, label %ifend23 +then21: + store ptr @.str10538, ptr %retval + br label %ret +ifend23: + %t39 = load i32, ptr %t8 + %t40 = icmp eq i32 %t39, 33 + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then24, label %ifend26 +then24: + %t43 = load ptr, ptr %t0 + %t44 = call ptr @fn_ck_id(ptr %t43) + store ptr %t44, ptr %retval + br label %ret +ifend26: + %t45 = load i32, ptr %t8 + %t46 = icmp eq i32 %t45, 55 + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then27, label %ifend29 +then27: + %t49 = load ptr, ptr %t0 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @fn_ck_fn(ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = icmp ne ptr %t54, null + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then30, label %ifend32 +then30: + %t58 = load ptr, ptr %t53 + %t59 = call ptr @fn_fn_sig_of(ptr %t58) + store ptr %t59, ptr %retval + br label %ret +ifend32: + store ptr @.str10539, ptr %retval + br label %ret +ifend29: + %t60 = load i32, ptr %t8 + %t61 = icmp eq i32 %t60, 39 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then33, label %ifend35 +then33: + %t64 = load ptr, ptr %t0 + %t65 = call ptr @fn_ck_new(ptr %t64) + store ptr %t65, ptr %retval + br label %ret +ifend35: + %t66 = load i32, ptr %t8 + %t67 = icmp eq i32 %t66, 54 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then36, label %ifend38 +then36: + %t70 = load ptr, ptr %t0 + %t71 = call ptr @fn_ck_list(ptr %t70) + store ptr %t71, ptr %retval + br label %ret +ifend38: + %t72 = load i32, ptr %t8 + %t73 = icmp eq i32 %t72, 37 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then39, label %ifend41 +then39: + %t76 = load ptr, ptr %t0 + %t77 = call ptr @fn_ck_bin(ptr %t76) + store ptr %t77, ptr %retval + br label %ret +ifend41: + %t78 = load i32, ptr %t8 + %t79 = icmp eq i32 %t78, 38 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then42, label %ifend44 +then42: + %t82 = load ptr, ptr %t0 + %t83 = call ptr @fn_ck_un(ptr %t82) + store ptr %t83, ptr %retval + br label %ret +ifend44: + %t84 = load i32, ptr %t8 + %t85 = icmp eq i32 %t84, 35 + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then45, label %ifend47 +then45: + %t88 = load ptr, ptr %t0 + %t89 = call ptr @fn_ck_member(ptr %t88) + store ptr %t89, ptr %retval + br label %ret +ifend47: + %t90 = load i32, ptr %t8 + %t91 = icmp eq i32 %t90, 36 + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then48, label %ifend50 +then48: + %t94 = load ptr, ptr %t0 + %t95 = call ptr @fn_ck_index_of(ptr %t94) + store ptr %t95, ptr %retval + br label %ret +ifend50: + %t96 = load i32, ptr %t8 + %t97 = icmp eq i32 %t96, 34 + %t98 = zext i1 %t97 to i32 + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then51, label %ifend53 +then51: + %t100 = load ptr, ptr %t0 + %t101 = call ptr @fn_ck_call(ptr %t100) + store ptr %t101, ptr %retval + br label %ret +ifend53: + %t102 = load i32, ptr %t8 + %t103 = icmp eq i32 %t102, 49 + %t104 = zext i1 %t103 to i32 + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then54, label %ifend56 +then54: + %t106 = load ptr, ptr %t0 + call void @fn_ck_emit(ptr %t106) + store ptr @.str10540, ptr %retval + br label %ret +ifend56: + %t107 = load ptr, ptr %t0 + call void @fn_ck_walk(ptr %t107) + store ptr @.str10541, ptr %retval + br label %ret +ret: + %t108 = load ptr, ptr %retval + ret ptr %t108 +} + +define ptr @fn_ck_id(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca i32 + %t24 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call i32 @fn_ck_local(ptr %t3) + store i32 %t4, ptr %t5 + %t6 = load i32, ptr %t5 + %t7 = icmp sge i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %ifend2 +then0: + %t10 = load ptr, ptr @g_ck_tys + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t5 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp ult i32 %t13, %t15 + br i1 %t16, label %ixok3, label %ixbad4 +ixbad4: + %t17 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10542, i32 %t13, i32 %t15) + call void @exit(i32 1) + unreachable +ixok3: + %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %retval + br label %ret +ifend2: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 + %t22 = load ptr, ptr %t21 + %t23 = call ptr @fn_ck_global(ptr %t22) + store ptr %t23, ptr %t24 + %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 %then5, label %ifend7 +then5: + %t29 = load ptr, ptr %t24 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 + %t31 = load ptr, ptr %t30 + store ptr %t31, ptr %retval + br label %ret +ifend7: + store ptr @.str10543, ptr %retval + br label %ret +ret: + %t32 = load ptr, ptr %retval + ret ptr %t32 +} + +define ptr @fn_ck_new(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca i32 + %t38 = alloca ptr + %t43 = alloca ptr + %t44 = alloca i32 + %t64 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_ck_record(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 + %t8 = load ptr, ptr %t7 + %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: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t13, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t12 + %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 + %t33 = load i32, ptr %t32 + %t34 = icmp ult i32 %t31, %t33 + br i1 %t34, label %ixok6, label %ixbad7 +ixbad7: + %t35 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str10544, i32 %t31, i32 %t33) + call void @exit(i32 1) + unreachable +ixok6: + %t36 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @fn_ck_expr(ptr %t41) + store ptr %t42, ptr %t43 + %t45 = load ptr, ptr %t5 + %t46 = icmp ne ptr %t45, null + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t44 + br i1 %t48, label %sc8, label %scend9 +sc8: + %t50 = load ptr, ptr %t38 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 0 + %t52 = load i32, ptr %t51 + %t53 = icmp eq i32 %t52, 42 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t44 + br label %scend9 +scend9: + %t57 = load i32, ptr %t44 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then10, label %ifend12 +then10: + %t59 = load ptr, ptr %t5 + %t60 = load ptr, ptr %t38 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = call ptr @fn_ck_field(ptr %t59, ptr %t62) + store ptr %t63, ptr %t64 + %t65 = load ptr, ptr %t64 + %t66 = icmp ne ptr %t65, null + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then13, label %ifend15 +then13: + %t69 = load ptr, ptr %t64 + %t70 = load ptr, ptr %t43 + %t71 = load ptr, ptr %t38 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 + %t73 = load ptr, ptr %t72 + %t74 = load ptr, ptr %t38 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 + %t76 = load ptr, ptr %t75 + %t77 = call ptr @lp_str_concat(ptr @.str10545, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10546) + %t79 = load ptr, ptr %t0 + %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 1 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) + call void @fn_ck_give(ptr %t69, ptr %t70, ptr %t73, ptr %t82) + br label %ifend15 +ifend15: + br label %ifend12 +ifend12: + %t83 = load i32, ptr %t12 + %t84 = add i32 %t83, 1 + store i32 %t84, ptr %t12 + br label %wcond3 +wend5: + br label %ifend2 +ifend2: + %t85 = load ptr, ptr %t0 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 + %t87 = load ptr, ptr %t86 + store ptr %t87, ptr %retval + br label %ret +ret: + %t88 = load ptr, ptr %retval + ret ptr %t88 +} + +define ptr @fn_ck_list(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t25 = alloca ptr + %t48 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr @.str10547, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp ult i32 %t17, %t19 + br i1 %t20, label %ixok3, label %ixbad4 +ixbad4: + %t21 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10548, i32 %t17, i32 %t19) + call void @exit(i32 1) + unreachable +ixok3: + %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @fn_ck_expr(ptr %t23) + store ptr %t24, ptr %t25 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @fn_ck_unknown(ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then5, label %else6 +then5: + %t29 = load ptr, ptr %t25 + store ptr %t29, ptr %t1 + br label %ifend7 +else6: + %t30 = load ptr, ptr %t1 + %t31 = load ptr, ptr %t25 + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t2 + %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t39 = load i32, ptr %t38 + %t40 = icmp ult i32 %t37, %t39 + br i1 %t40, label %ixok8, label %ixbad9 +ixbad9: + %t41 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str10549, i32 %t37, i32 %t39) + call void @exit(i32 1) + unreachable +ixok8: + %t42 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t43 = load ptr, ptr %t42 + %t44 = load ptr, ptr %t1 + %t45 = call ptr @lp_str_concat(ptr @.str10550, ptr %t44) + call void @fn_ck_give(ptr %t30, ptr %t31, ptr %t43, ptr %t45) + br label %ifend7 +ifend7: + %t46 = load i32, ptr %t2 + %t47 = add i32 %t46, 1 + store i32 %t47, ptr %t2 + br label %wcond0 +wend2: + %t49 = load ptr, ptr %t1 + %t50 = call i32 @fn_ck_unknown(ptr %t49) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t48 + br i1 %t51, label %scend11, label %sc10 +sc10: + %t53 = load ptr, ptr %t1 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str10551) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend11 +scend11: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then12, label %ifend14 +then12: + store ptr @.str10552, ptr %retval + br label %ret +ifend14: + %t59 = load ptr, ptr %t1 + %t60 = call ptr @lp_str_concat(ptr @.str10553, ptr %t59) + store ptr %t60, ptr %retval + br label %ret +ret: + %t61 = load ptr, ptr %retval + ret ptr %t61 +} + +define ptr @fn_ck_un(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t25 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_ck_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10554) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t6 + br i1 %t11, label %scend1, label %sc0 +sc0: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str10555) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t6 + br label %scend1 +scend1: + %t19 = load i32, ptr %t6 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then2, label %ifend4 +then2: + %t21 = load ptr, ptr %t0 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 + %t23 = load ptr, ptr %t22 + %t24 = load ptr, ptr %t5 + call void @fn_ck_cond(ptr %t23, ptr %t24) + store ptr @.str10556, ptr %retval + br label %ret +ifend4: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 + %t28 = load ptr, ptr %t27 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str10557) + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t25 + br i1 %t30, label %sc5, label %scend6 +sc5: + %t32 = load ptr, ptr %t5 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10558) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t25 + br label %scend6 +scend6: + %t36 = load i32, ptr %t25 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then7, label %ifend9 +then7: + %t38 = load ptr, ptr %t0 + call void @fn_ck_err(ptr @.str10559, ptr %t38, ptr @.str10560) + br label %ifend9 +ifend9: + %t39 = load ptr, ptr %t5 + store ptr %t39, ptr %retval + br label %ret +ret: + %t40 = load ptr, ptr %retval + ret ptr %t40 +} + +define ptr @fn_ck_member(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t5 = alloca i32 + %t6 = alloca i32 + %t39 = alloca ptr + %t40 = alloca i32 + %t59 = alloca ptr + %t65 = alloca ptr + %t75 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t7 = load ptr, ptr %t4 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 33 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t6 + br i1 %t12, label %sc0, label %scend1 +sc0: + %t14 = load ptr, ptr %t4 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = call i32 @fn_ck_local(ptr %t16) + %t18 = icmp slt i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t6 + br label %scend1 +scend1: + %t22 = load i32, ptr %t6 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t5 + br i1 %t23, label %sc2, label %scend3 +sc2: + %t25 = load ptr, ptr %t4 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + %t27 = load ptr, ptr %t26 + %t28 = call ptr @fn_ck_global(ptr %t27) + %t29 = icmp eq ptr %t28, null + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t5 + br label %scend3 +scend3: + %t33 = load i32, ptr %t5 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then4, label %ifend6 +then4: + %t35 = load ptr, ptr %t4 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @fn_ck_enum(ptr %t37) + store ptr %t38, ptr %t39 + %t41 = load ptr, ptr %t39 + %t42 = icmp ne ptr %t41, null + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t40 + br i1 %t44, label %sc7, label %scend8 +sc7: + %t46 = load ptr, ptr %t39 + %t47 = call i32 @fn_enum_is_tagged(ptr %t46) + %t48 = icmp eq i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t40 + br label %scend8 +scend8: + %t52 = load i32, ptr %t40 + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then9, label %ifend11 +then9: + %t54 = load ptr, ptr %t4 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 + %t56 = load ptr, ptr %t55 + store ptr %t56, ptr %retval + br label %ret +ifend11: + store ptr @.str10561, ptr %retval + br label %ret +ifend6: + %t57 = load ptr, ptr %t4 + %t58 = call ptr @fn_ck_expr(ptr %t57) + store ptr %t58, ptr %t59 + %t60 = load ptr, ptr %t59 + %t61 = call i32 @fn_ck_unknown(ptr %t60) + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then12, label %ifend14 +then12: + store ptr @.str10562, ptr %retval + br label %ret +ifend14: + %t63 = load ptr, ptr %t59 + %t64 = call ptr @fn_ck_record(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t65 + %t67 = icmp ne ptr %t66, null + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then15, label %ifend17 +then15: + %t70 = load ptr, ptr %t65 + %t71 = load ptr, ptr %t0 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_ck_field(ptr %t70, 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 %then18, label %ifend20 +then18: + %t80 = load ptr, ptr %t75 + store ptr %t80, ptr %retval + br label %ret +ifend20: + br label %ifend17 +ifend17: + store ptr @.str10563, ptr %retval + br label %ret +ret: + %t81 = load ptr, ptr %retval + ret ptr %t81 +} + +define ptr @fn_ck_index_of(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + %t40 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_ck_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_ck_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t12 = load ptr, ptr %t10 + %t13 = call i32 @fn_ck_unknown(ptr %t12) + %t14 = icmp eq i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t11 + br i1 %t16, label %sc0, label %scend1 +sc0: + %t18 = load ptr, ptr %t10 + %t19 = call i32 @fn_ck_is_int(ptr %t18) + %t20 = icmp eq i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t11 + br label %scend1 +scend1: + %t24 = load i32, ptr %t11 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then2, label %ifend4 +then2: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 5 + %t28 = load ptr, ptr %t27 + %t29 = load ptr, ptr %t10 + %t30 = call ptr @fn_ck_a(ptr %t29) + %t31 = call ptr @lp_str_concat(ptr @.str10565, ptr %t30) + call void @fn_ck_err(ptr @.str10564, ptr %t28, ptr %t31) + br label %ifend4 +ifend4: + %t32 = load ptr, ptr %t5 + %t33 = call i32 @fn_ck_unknown(ptr %t32) + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + store ptr @.str10566, ptr %retval + br label %ret +ifend7: + %t35 = load ptr, ptr %t5 + %t36 = call i32 @fn_is_slice_ty(ptr %t35) + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then8, label %ifend10 +then8: + %t38 = load ptr, ptr %t5 + %t39 = call ptr @fn_slice_elem(ptr %t38) + store ptr %t39, ptr %retval + br label %ret +ifend10: + %t41 = load ptr, ptr %t5 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10567) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t40 + br i1 %t43, label %scend12, label %sc11 +sc11: + %t45 = load ptr, ptr %t5 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10568) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t40 + br label %scend12 +scend12: + %t49 = load i32, ptr %t40 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then13, label %ifend15 +then13: + store ptr @.str10569, ptr %retval + br label %ret +ifend15: + %t51 = load ptr, ptr %t5 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str10570) + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then16, label %ifend18 +then16: + store ptr @.str10571, ptr %retval + br label %ret +ifend18: + %t54 = load ptr, ptr %t5 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str10572) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then19, label %ifend21 +then19: + store ptr @.str10573, ptr %retval + br label %ret +ifend21: + %t57 = load ptr, ptr %t5 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str10574) + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then22, label %ifend24 +then22: + store ptr @.str10575, ptr %retval + br label %ret +ifend24: + %t60 = load ptr, ptr %t5 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str10576) + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then25, label %ifend27 +then25: + store ptr @.str10577, ptr %retval + br label %ret +ifend27: + store ptr @.str10578, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define void @fn_ck_cond(ptr %arg_e, ptr %arg_t) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_t, ptr %t1 + %t3 = load ptr, ptr %t1 + %t4 = call i32 @fn_ck_unknown(ptr %t3) + %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 %t1 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10579) + %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: + br label %ret +ifend4: + %t13 = load ptr, ptr %t0 + %t14 = load ptr, ptr %t1 + %t15 = call ptr @fn_ck_a(ptr %t14) + %t16 = call ptr @lp_str_concat(ptr @.str10581, ptr %t15) + call void @fn_ck_err(ptr @.str10580, ptr %t13, ptr %t16) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_bin(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t9 = alloca ptr + %t14 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 4 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_ck_expr(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @fn_ck_expr(ptr %t12) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t0 + %t16 = load ptr, ptr %t4 + %t17 = load ptr, ptr %t9 + %t18 = load ptr, ptr %t14 + %t19 = load ptr, ptr %t0 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 + %t21 = load ptr, ptr %t20 + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 5 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @fn_ck_binop(ptr %t15, ptr %t16, ptr %t17, ptr %t18, ptr %t21, ptr %t24) + store ptr %t25, ptr %retval + br label %ret +ret: + %t26 = load ptr, ptr %retval + ret ptr %t26 +} + +define ptr @fn_ck_binop(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t7 = alloca i32 + %t8 = alloca i32 + %t37 = alloca i32 + %t38 = alloca i32 + %t39 = alloca i32 + %t40 = alloca i32 + %t41 = alloca i32 + %t86 = alloca i32 + %t87 = alloca i32 + %t88 = alloca i32 + %t89 = alloca i32 + %t128 = alloca i32 + %t129 = alloca i32 + %t130 = alloca i32 + %t131 = alloca i32 + %t163 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t9 = load ptr, ptr %t1 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10582) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t8 + br i1 %t11, label %scend1, label %sc0 +sc0: + %t13 = load ptr, ptr %t1 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10583) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t8 + br label %scend1 +scend1: + %t17 = load i32, ptr %t8 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t7 + br i1 %t18, label %scend3, label %sc2 +sc2: + %t20 = load ptr, ptr %t1 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10584) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t7 + br label %scend3 +scend3: + %t24 = load i32, ptr %t7 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t6 + br i1 %t25, label %scend5, label %sc4 +sc4: + %t27 = load ptr, ptr %t1 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str10585) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t6 + br label %scend5 +scend5: + %t31 = load i32, ptr %t6 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + %t33 = load ptr, ptr %t4 + %t34 = load ptr, ptr %t2 + call void @fn_ck_cond(ptr %t33, ptr %t34) + %t35 = load ptr, ptr %t5 + %t36 = load ptr, ptr %t3 + call void @fn_ck_cond(ptr %t35, ptr %t36) + store ptr @.str10586, ptr %retval + br label %ret +ifend8: + %t42 = load ptr, ptr %t1 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str10587) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t41 + br i1 %t44, label %scend10, label %sc9 +sc9: + %t46 = load ptr, ptr %t1 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str10588) + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t41 + br label %scend10 +scend10: + %t50 = load i32, ptr %t41 + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t40 + br i1 %t51, label %scend12, label %sc11 +sc11: + %t53 = load ptr, ptr %t1 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str10589) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t40 + br label %scend12 +scend12: + %t57 = load i32, ptr %t40 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t39 + br i1 %t58, label %scend14, label %sc13 +sc13: + %t60 = load ptr, ptr %t1 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str10590) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t39 + br label %scend14 +scend14: + %t64 = load i32, ptr %t39 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t38 + br i1 %t65, label %scend16, label %sc15 +sc15: + %t67 = load ptr, ptr %t1 + %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str10591) + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t38 + br label %scend16 +scend16: + %t71 = load i32, ptr %t38 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t37 + br i1 %t72, label %scend18, label %sc17 +sc17: + %t74 = load ptr, ptr %t1 + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str10592) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t37 + br label %scend18 +scend18: + %t78 = load i32, ptr %t37 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then19, label %ifend21 +then19: + %t80 = load ptr, ptr %t0 + %t81 = load ptr, ptr %t1 + %t82 = load ptr, ptr %t2 + %t83 = load ptr, ptr %t3 + %t84 = load ptr, ptr %t4 + %t85 = load ptr, ptr %t5 + call void @fn_ck_compare(ptr %t80, ptr %t81, ptr %t82, ptr %t83, ptr %t84, ptr %t85) + store ptr @.str10593, ptr %retval + br label %ret +ifend21: + %t90 = load ptr, ptr %t1 + %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str10594) + %t92 = icmp ne i32 %t91, 0 + %t93 = zext i1 %t92 to i32 + store i32 %t93, ptr %t89 + br i1 %t92, label %scend23, label %sc22 +sc22: + %t94 = load ptr, ptr %t1 + %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str10595) + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t89 + br label %scend23 +scend23: + %t98 = load i32, ptr %t89 + %t99 = icmp ne i32 %t98, 0 + %t100 = zext i1 %t99 to i32 + store i32 %t100, ptr %t88 + br i1 %t99, label %scend25, label %sc24 +sc24: + %t101 = load ptr, ptr %t1 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str10596) + %t103 = icmp ne i32 %t102, 0 + %t104 = zext i1 %t103 to i32 + store i32 %t104, ptr %t88 + br label %scend25 +scend25: + %t105 = load i32, ptr %t88 + %t106 = icmp ne i32 %t105, 0 + %t107 = zext i1 %t106 to i32 + store i32 %t107, ptr %t87 + br i1 %t106, label %scend27, label %sc26 +sc26: + %t108 = load ptr, ptr %t1 + %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str10597) + %t110 = icmp ne i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + store i32 %t111, ptr %t87 + br label %scend27 +scend27: + %t112 = load i32, ptr %t87 + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t86 + br i1 %t113, label %scend29, label %sc28 +sc28: + %t115 = load ptr, ptr %t1 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str10598) + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t86 + br label %scend29 +scend29: + %t119 = load i32, ptr %t86 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then30, label %ifend32 +then30: + %t121 = load ptr, ptr %t0 + %t122 = load ptr, ptr %t1 + %t123 = load ptr, ptr %t2 + %t124 = load ptr, ptr %t3 + %t125 = load ptr, ptr %t4 + %t126 = load ptr, ptr %t5 + %t127 = call ptr @fn_ck_arith(ptr %t121, ptr %t122, ptr %t123, ptr %t124, ptr %t125, ptr %t126) + store ptr %t127, ptr %retval + br label %ret +ifend32: + %t132 = load ptr, ptr %t1 + %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str10599) + %t134 = icmp ne i32 %t133, 0 + %t135 = zext i1 %t134 to i32 + store i32 %t135, ptr %t131 + br i1 %t134, label %scend34, label %sc33 +sc33: + %t136 = load ptr, ptr %t1 + %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str10600) + %t138 = icmp ne i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + store i32 %t139, ptr %t131 + br label %scend34 +scend34: + %t140 = load i32, ptr %t131 + %t141 = icmp ne i32 %t140, 0 + %t142 = zext i1 %t141 to i32 + store i32 %t142, ptr %t130 + br i1 %t141, label %scend36, label %sc35 +sc35: + %t143 = load ptr, ptr %t1 + %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str10601) + %t145 = icmp ne i32 %t144, 0 + %t146 = zext i1 %t145 to i32 + store i32 %t146, ptr %t130 + br label %scend36 +scend36: + %t147 = load i32, ptr %t130 + %t148 = icmp ne i32 %t147, 0 + %t149 = zext i1 %t148 to i32 + store i32 %t149, ptr %t129 + br i1 %t148, label %scend38, label %sc37 +sc37: + %t150 = load ptr, ptr %t1 + %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str10602) + %t152 = icmp ne i32 %t151, 0 + %t153 = zext i1 %t152 to i32 + store i32 %t153, ptr %t129 + br label %scend38 +scend38: + %t154 = load i32, ptr %t129 + %t155 = icmp ne i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + store i32 %t156, ptr %t128 + br i1 %t155, label %scend40, label %sc39 +sc39: + %t157 = load ptr, ptr %t1 + %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str10603) + %t159 = icmp ne i32 %t158, 0 + %t160 = zext i1 %t159 to i32 + store i32 %t160, ptr %t128 + br label %scend40 +scend40: + %t161 = load i32, ptr %t128 + %t162 = icmp ne i32 %t161, 0 + br i1 %t162, label %then41, label %ifend43 +then41: + %t164 = load ptr, ptr %t2 + %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str10604) + %t166 = icmp ne i32 %t165, 0 + %t167 = zext i1 %t166 to i32 + store i32 %t167, ptr %t163 + br i1 %t166, label %scend45, label %sc44 +sc44: + %t168 = load ptr, ptr %t3 + %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str10605) + %t170 = icmp ne i32 %t169, 0 + %t171 = zext i1 %t170 to i32 + store i32 %t171, ptr %t163 + br label %scend45 +scend45: + %t172 = load i32, ptr %t163 + %t173 = icmp ne i32 %t172, 0 + br i1 %t173, label %then46, label %ifend48 +then46: + store ptr @.str10606, ptr %retval + br label %ret +ifend48: + store ptr @.str10607, ptr %retval + br label %ret +ifend43: + store ptr @.str10608, ptr %retval + br label %ret +ret: + %t174 = load ptr, ptr %retval + ret ptr %t174 +} + +define void @fn_ck_compare(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t7 = alloca i32 + %t8 = alloca i32 + %t35 = alloca ptr + %t38 = alloca ptr + %t39 = alloca i32 + %t40 = alloca i32 + %t52 = alloca i32 + %t82 = alloca i32 + %t83 = alloca i32 + %t115 = alloca i32 + %t126 = alloca i32 + %t143 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t9 = load ptr, ptr %t2 + %t10 = call i32 @fn_ck_unknown(ptr %t9) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t8 + br i1 %t11, label %scend1, label %sc0 +sc0: + %t13 = load ptr, ptr %t3 + %t14 = call i32 @fn_ck_unknown(ptr %t13) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t8 + br label %scend1 +scend1: + %t17 = load i32, ptr %t8 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t7 + br i1 %t18, label %scend3, label %sc2 +sc2: + %t20 = load ptr, ptr %t2 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10609) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t7 + br label %scend3 +scend3: + %t24 = load i32, ptr %t7 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t6 + br i1 %t25, label %scend5, label %sc4 +sc4: + %t27 = load ptr, ptr %t3 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str10610) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t6 + br label %scend5 +scend5: + %t31 = load i32, ptr %t6 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + br label %ret +ifend8: + %t33 = load ptr, ptr %t2 + %t34 = call ptr @fn_ck_class(ptr %t33) + store ptr %t34, ptr %t35 + %t36 = load ptr, ptr %t3 + %t37 = call ptr @fn_ck_class(ptr %t36) + store ptr %t37, ptr %t38 + %t41 = load ptr, ptr %t2 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10611) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t40 + br i1 %t43, label %sc9, label %scend10 +sc9: + %t45 = load ptr, ptr %t38 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str10612) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t40 + br label %scend10 +scend10: + %t49 = load i32, ptr %t40 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t39 + br i1 %t50, label %scend12, label %sc11 +sc11: + %t53 = load ptr, ptr %t3 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str10613) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t52 + br i1 %t55, label %sc13, label %scend14 +sc13: + %t57 = load ptr, ptr %t35 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str10614) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t52 + br label %scend14 +scend14: + %t61 = load i32, ptr %t52 + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t39 + br label %scend12 +scend12: + %t64 = load i32, ptr %t39 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then15, label %ifend17 +then15: + br label %ret +ifend17: + %t66 = load ptr, ptr %t35 + %t67 = load ptr, ptr %t38 + %t68 = call i32 @lp_str_eq(ptr %t66, ptr %t67) + %t69 = icmp eq i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then18, label %ifend20 +then18: + %t72 = load ptr, ptr %t0 + %t73 = load ptr, ptr %t1 + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str10616) + %t75 = load ptr, ptr %t2 + %t76 = call ptr @fn_ck_a(ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t74, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10617) + %t79 = load ptr, ptr %t3 + %t80 = call ptr @fn_ck_a(ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t78, ptr %t80) + call void @fn_ck_err(ptr @.str10615, ptr %t72, ptr %t81) + br label %ret +ifend20: + %t84 = load ptr, ptr %t2 + %t85 = call i32 @fn_ck_is_rec(ptr %t84) + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t83 + br i1 %t86, label %sc21, label %scend22 +sc21: + %t88 = load ptr, ptr %t3 + %t89 = call i32 @fn_ck_is_rec(ptr %t88) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t83 + br label %scend22 +scend22: + %t92 = load i32, ptr %t83 + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t82 + br i1 %t93, label %sc23, label %scend24 +sc23: + %t95 = load ptr, ptr %t2 + %t96 = load ptr, ptr %t3 + %t97 = call i32 @lp_str_eq(ptr %t95, ptr %t96) + %t98 = icmp eq i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + %t101 = zext i1 %t100 to i32 + store i32 %t101, ptr %t82 + br label %scend24 +scend24: + %t102 = load i32, ptr %t82 + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then25, label %ifend27 +then25: + %t104 = load ptr, ptr %t0 + %t105 = load ptr, ptr %t1 + %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str10619) + %t107 = load ptr, ptr %t2 + %t108 = call ptr @fn_ck_a(ptr %t107) + %t109 = call ptr @lp_str_concat(ptr %t106, ptr %t108) + %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str10620) + %t111 = load ptr, ptr %t3 + %t112 = call ptr @fn_ck_a(ptr %t111) + %t113 = call ptr @lp_str_concat(ptr %t110, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10621) + call void @fn_ck_err(ptr @.str10618, ptr %t104, ptr %t114) + br label %ifend27 +ifend27: + %t116 = load ptr, ptr %t4 + %t117 = call i32 @fn_ck_is_lit(ptr %t116) + %t118 = icmp ne i32 %t117, 0 + %t119 = zext i1 %t118 to i32 + store i32 %t119, ptr %t115 + br i1 %t118, label %scend29, label %sc28 +sc28: + %t120 = load ptr, ptr %t5 + %t121 = call i32 @fn_ck_is_lit(ptr %t120) + %t122 = icmp ne i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + store i32 %t123, ptr %t115 + br label %scend29 +scend29: + %t124 = load i32, ptr %t115 + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then30, label %ifend32 +then30: + br label %ret +ifend32: + %t127 = load ptr, ptr %t2 + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str10622) + %t129 = icmp ne i32 %t128, 0 + %t130 = zext i1 %t129 to i32 + store i32 %t130, ptr %t126 + br i1 %t129, label %sc33, label %scend34 +sc33: + %t131 = load ptr, ptr %t3 + %t132 = call i32 @fn_ck_is_float(ptr %t131) + %t133 = icmp ne i32 %t132, 0 + %t134 = zext i1 %t133 to i32 + store i32 %t134, ptr %t126 + br label %scend34 +scend34: + %t135 = load i32, ptr %t126 + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then35, label %ifend37 +then35: + %t137 = load ptr, ptr %t0 + %t138 = load ptr, ptr %t1 + %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10624) + %t140 = load ptr, ptr %t3 + %t141 = call ptr @fn_ck_a(ptr %t140) + %t142 = call ptr @lp_str_concat(ptr %t139, ptr %t141) + call void @fn_ck_err(ptr @.str10623, ptr %t137, ptr %t142) + br label %ifend37 +ifend37: + %t144 = load ptr, ptr %t3 + %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str10625) + %t146 = icmp ne i32 %t145, 0 + %t147 = zext i1 %t146 to i32 + store i32 %t147, ptr %t143 + br i1 %t146, label %sc38, label %scend39 +sc38: + %t148 = load ptr, ptr %t2 + %t149 = call i32 @fn_ck_is_float(ptr %t148) + %t150 = icmp ne i32 %t149, 0 + %t151 = zext i1 %t150 to i32 + store i32 %t151, ptr %t143 + br label %scend39 +scend39: + %t152 = load i32, ptr %t143 + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then40, label %ifend42 +then40: + %t154 = load ptr, ptr %t0 + %t155 = load ptr, ptr %t1 + %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str10627) + %t157 = load ptr, ptr %t2 + %t158 = call ptr @fn_ck_a(ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t156, ptr %t158) + %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str10628) + call void @fn_ck_err(ptr @.str10626, ptr %t154, ptr %t160) + br label %ifend42 +ifend42: + br label %ret +ret: + ret void +} + +define i32 @fn_ck_is_text(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10629) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str10630) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define ptr @fn_ck_arith(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t17 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t58 = alloca i32 + %t69 = alloca i32 + %t83 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t7 = load ptr, ptr %t2 + %t8 = call i32 @fn_ck_is_text(ptr %t7) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t6 + br i1 %t9, label %scend1, label %sc0 +sc0: + %t11 = load ptr, ptr %t3 + %t12 = call i32 @fn_ck_is_text(ptr %t11) + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t6 + br label %scend1 +scend1: + %t15 = load i32, ptr %t6 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then2, label %ifend4 +then2: + %t18 = load ptr, ptr %t2 + %t19 = call i32 @fn_ck_unknown(ptr %t18) + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t17 + br i1 %t20, label %scend6, label %sc5 +sc5: + %t22 = load ptr, ptr %t3 + %t23 = call i32 @fn_ck_unknown(ptr %t22) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t17 + br label %scend6 +scend6: + %t26 = load i32, ptr %t17 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then7, label %ifend9 +then7: + store ptr @.str10631, ptr %retval + br label %ret +ifend9: + %t30 = load ptr, ptr %t2 + %t31 = call i32 @fn_ck_is_text(ptr %t30) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %sc10, label %scend11 +sc10: + %t34 = load ptr, ptr %t3 + %t35 = call i32 @fn_ck_is_text(ptr %t34) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend11 +scend11: + %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 %sc12, label %scend13 +sc12: + %t41 = load ptr, ptr %t1 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10632) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend13 +scend13: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then14, label %ifend16 +then14: + store ptr @.str10633, ptr %retval + br label %ret +ifend16: + %t47 = load ptr, ptr %t0 + %t48 = load ptr, ptr %t1 + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str10635) + %t50 = load ptr, ptr %t2 + %t51 = call ptr @fn_ck_a(ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t49, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10636) + %t54 = load ptr, ptr %t3 + %t55 = call ptr @fn_ck_a(ptr %t54) + %t56 = call ptr @lp_str_concat(ptr %t53, ptr %t55) + %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str10637) + call void @fn_ck_err(ptr @.str10634, ptr %t47, ptr %t57) + store ptr @.str10638, ptr %retval + br label %ret +ifend4: + %t59 = load ptr, ptr %t2 + %t60 = call i32 @fn_ck_unknown(ptr %t59) + %t61 = icmp ne i32 %t60, 0 + %t62 = zext i1 %t61 to i32 + store i32 %t62, ptr %t58 + br i1 %t61, label %scend18, label %sc17 +sc17: + %t63 = load ptr, ptr %t3 + %t64 = call i32 @fn_ck_unknown(ptr %t63) + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t58 + br label %scend18 +scend18: + %t67 = load i32, ptr %t58 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then19, label %ifend21 +then19: + store ptr @.str10639, ptr %retval + br label %ret +ifend21: + %t70 = load ptr, ptr %t2 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str10640) + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t69 + br i1 %t72, label %scend23, label %sc22 +sc22: + %t74 = load ptr, ptr %t3 + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str10641) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t69 + br label %scend23 +scend23: + %t78 = load i32, ptr %t69 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then24, label %ifend26 +then24: + %t80 = load ptr, ptr %t0 + %t81 = load ptr, ptr %t1 + %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str10643) + call void @fn_ck_err(ptr @.str10642, ptr %t80, ptr %t82) + store ptr @.str10644, ptr %retval + br label %ret +ifend26: + %t84 = load ptr, ptr %t2 + %t85 = call i32 @fn_ck_is_num(ptr %t84) + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t83 + br i1 %t86, label %sc27, label %scend28 +sc27: + %t88 = load ptr, ptr %t3 + %t89 = call i32 @fn_ck_is_num(ptr %t88) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t83 + br label %scend28 +scend28: + %t92 = load i32, ptr %t83 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then29, label %ifend31 +then29: + %t94 = load ptr, ptr %t0 + %t95 = load ptr, ptr %t1 + %t96 = load ptr, ptr %t2 + %t97 = load ptr, ptr %t3 + %t98 = load ptr, ptr %t4 + %t99 = load ptr, ptr %t5 + %t100 = call ptr @fn_ck_num_result(ptr %t94, ptr %t95, ptr %t96, ptr %t97, ptr %t98, ptr %t99) + store ptr %t100, ptr %retval + br label %ret +ifend31: + %t101 = load ptr, ptr %t0 + %t102 = load ptr, ptr %t1 + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10646) + %t104 = load ptr, ptr %t2 + %t105 = call ptr @fn_ck_a(ptr %t104) + %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str10647) + %t108 = load ptr, ptr %t3 + %t109 = call ptr @fn_ck_a(ptr %t108) + %t110 = call ptr @lp_str_concat(ptr %t107, ptr %t109) + call void @fn_ck_err(ptr @.str10645, ptr %t101, ptr %t110) + store ptr @.str10648, ptr %retval + br label %ret +ret: + %t111 = load ptr, ptr %retval + ret ptr %t111 +} + +define ptr @fn_ck_num_result(ptr %arg_e, ptr %arg_op, ptr %arg_l, ptr %arg_r, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca i32 + %t31 = alloca i32 + %t56 = alloca i32 + %t75 = alloca i32 + %t86 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_op, ptr %t1 + store ptr %arg_l, ptr %t2 + store ptr %arg_r, ptr %t3 + store ptr %arg_a, ptr %t4 + store ptr %arg_b, ptr %t5 + %t7 = load ptr, ptr %t2 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10649) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t6 + br i1 %t9, label %sc0, label %scend1 +sc0: + %t11 = load ptr, ptr %t3 + %t12 = call i32 @fn_ck_is_float(ptr %t11) + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t6 + br label %scend1 +scend1: + %t15 = load i32, ptr %t6 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then2, label %ifend4 +then2: + %t17 = load ptr, ptr %t5 + %t18 = call i32 @fn_ck_is_lit(ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then5, label %ifend7 +then5: + store ptr @.str10650, ptr %retval + br label %ret +ifend7: + %t20 = load ptr, ptr %t4 + %t21 = call i32 @fn_ck_is_lit(ptr %t20) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then8, label %ifend10 +then8: + %t23 = load ptr, ptr %t3 + store ptr %t23, ptr %retval + br label %ret +ifend10: + %t24 = load ptr, ptr %t0 + %t25 = load ptr, ptr %t1 + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str10652) + %t27 = load ptr, ptr %t3 + %t28 = call ptr @fn_ck_a(ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t26, ptr %t28) + %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str10653) + call void @fn_ck_err(ptr @.str10651, ptr %t24, ptr %t30) + store ptr @.str10654, ptr %retval + br label %ret +ifend4: + %t32 = load ptr, ptr %t3 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10655) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t31 + br i1 %t34, label %sc11, label %scend12 +sc11: + %t36 = load ptr, ptr %t2 + %t37 = call i32 @fn_ck_is_float(ptr %t36) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t31 + br label %scend12 +scend12: + %t40 = load i32, ptr %t31 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then13, label %ifend15 +then13: + %t42 = load ptr, ptr %t4 + %t43 = call i32 @fn_ck_is_lit(ptr %t42) + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then16, label %ifend18 +then16: + store ptr @.str10656, ptr %retval + br label %ret +ifend18: + %t45 = load ptr, ptr %t5 + %t46 = call i32 @fn_ck_is_lit(ptr %t45) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then19, label %ifend21 +then19: + %t48 = load ptr, ptr %t2 + store ptr %t48, ptr %retval + br label %ret +ifend21: + %t49 = load ptr, ptr %t0 + %t50 = load ptr, ptr %t1 + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10658) + %t52 = load ptr, ptr %t2 + %t53 = call ptr @fn_ck_a(ptr %t52) + %t54 = call ptr @lp_str_concat(ptr %t51, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str10659) + call void @fn_ck_err(ptr @.str10657, ptr %t49, ptr %t55) + store ptr @.str10660, ptr %retval + br label %ret +ifend15: + %t57 = load ptr, ptr %t2 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str10661) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t56 + br i1 %t59, label %scend23, label %sc22 +sc22: + %t61 = load ptr, ptr %t3 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str10662) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t56 + br label %scend23 +scend23: + %t65 = load i32, ptr %t56 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then24, label %ifend26 +then24: + store ptr @.str10663, ptr %retval + br label %ret +ifend26: + %t67 = load ptr, ptr %t2 + %t68 = call i32 @fn_ck_is_float(ptr %t67) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then27, label %ifend29 +then27: + %t70 = load ptr, ptr %t2 + store ptr %t70, ptr %retval + br label %ret +ifend29: + %t71 = load ptr, ptr %t3 + %t72 = call i32 @fn_ck_is_float(ptr %t71) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then30, label %ifend32 +then30: + %t74 = load ptr, ptr %t3 + store ptr %t74, ptr %retval + br label %ret +ifend32: + %t76 = load ptr, ptr %t2 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str10664) + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t75 + br i1 %t78, label %scend34, label %sc33 +sc33: + %t80 = load ptr, ptr %t3 + %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str10665) + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t75 + br label %scend34 +scend34: + %t84 = load i32, ptr %t75 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then35, label %ifend37 +then35: + store ptr @.str10666, ptr %retval + br label %ret +ifend37: + %t87 = load ptr, ptr %t2 + %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str10667) + %t89 = icmp ne i32 %t88, 0 + %t90 = zext i1 %t89 to i32 + store i32 %t90, ptr %t86 + br i1 %t89, label %scend39, label %sc38 +sc38: + %t91 = load ptr, ptr %t3 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str10668) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t86 + br label %scend39 +scend39: + %t95 = load i32, ptr %t86 + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then40, label %ifend42 +then40: + store ptr @.str10669, ptr %retval + br label %ret +ifend42: + store ptr @.str10670, ptr %retval + br label %ret +ret: + %t97 = load ptr, ptr %retval + ret ptr %t97 +} + +define void @fn_ck_params(ptr %arg_f, ptr %arg_labels, ptr %arg_tys) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + store ptr %arg_f, ptr %t0 + store ptr %arg_labels, ptr %t1 + store ptr %arg_tys, 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 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t4, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %wbody1, label %wend2 +wbody1: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr %t3 + %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp ult i32 %t18, %t20 + br i1 %t21, label %ixok3, label %ixbad4 +ixbad4: + %t22 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str10671, i32 %t18, i32 %t20) + call void @exit(i32 1) + unreachable +ixok3: + %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 5 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then5, label %ifend7 +then5: + %t30 = load ptr, ptr %t1 + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t3 + %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t38 = load i32, ptr %t37 + %t39 = icmp ult i32 %t36, %t38 + br i1 %t39, label %ixok8, label %ixbad9 +ixbad9: + %t40 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10672, i32 %t36, i32 %t38) + call void @exit(i32 1) + unreachable +ixok8: + %t41 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t46 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 + %t47 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 + %t48 = load i32, ptr %t45 + %t49 = load i32, ptr %t46 + %t50 = icmp sge i32 %t48, %t49 + br i1 %t50, label %grow10, label %put11 +grow10: + %t51 = mul i32 %t49, 2 + %t52 = icmp eq i32 %t49, 0 + %t53 = select i1 %t52, i32 8, i32 %t51 + %t54 = getelementptr ptr, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = zext i32 %t53 to i64 + %t57 = mul i64 %t56, %t55 + %t58 = load ptr, ptr %t47 + %t59 = call ptr @realloc(ptr %t58, i64 %t57) + store ptr %t59, ptr %t47 + store i32 %t53, ptr %t46 + br label %put11 +put11: + %t60 = load ptr, ptr %t47 + %t61 = getelementptr inbounds ptr, ptr %t60, i32 %t48 + store ptr %t44, ptr %t61 + %t62 = add i32 %t48, 1 + store i32 %t62, ptr %t45 + %t63 = load ptr, ptr %t2 + %t64 = load ptr, ptr %t0 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = load i32, ptr %t3 + %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t71 = load i32, ptr %t70 + %t72 = icmp ult i32 %t69, %t71 + br i1 %t72, label %ixok12, label %ixbad13 +ixbad13: + %t73 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10673, i32 %t69, i32 %t71) + call void @exit(i32 1) + unreachable +ixok12: + %t74 = getelementptr inbounds ptr, ptr %t68, i32 %t69 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 3 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t79 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 2 + %t80 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t81 = load i32, ptr %t78 + %t82 = load i32, ptr %t79 + %t83 = icmp sge i32 %t81, %t82 + br i1 %t83, label %grow14, label %put15 +grow14: + %t84 = mul i32 %t82, 2 + %t85 = icmp eq i32 %t82, 0 + %t86 = select i1 %t85, i32 8, i32 %t84 + %t87 = getelementptr ptr, ptr null, i32 1 + %t88 = ptrtoint ptr %t87 to i64 + %t89 = zext i32 %t86 to i64 + %t90 = mul i64 %t89, %t88 + %t91 = load ptr, ptr %t80 + %t92 = call ptr @realloc(ptr %t91, i64 %t90) + store ptr %t92, ptr %t80 + store i32 %t86, ptr %t79 + br label %put15 +put15: + %t93 = load ptr, ptr %t80 + %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 + store ptr %t77, ptr %t94 + %t95 = add i32 %t81, 1 + store i32 %t95, ptr %t78 + br label %ifend7 +ifend7: + %t96 = load i32, ptr %t3 + %t97 = add i32 %t96, 1 + store i32 %t97, ptr %t3 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ck_call_fn(ptr %arg_e, ptr %arg_name, ptr %arg_f) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t16 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + store ptr %arg_f, ptr %t2 + %t3 = getelementptr %LSlice, ptr null, i32 1 + %t4 = ptrtoint ptr %t3 to i64 + %t5 = call ptr @malloc(i64 %t4) + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 + store ptr null, ptr %t6 + %t7 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + store i32 0, ptr %t7 + %t8 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 2 + store i32 0, ptr %t8 + store ptr %t5, ptr %t9 + %t10 = getelementptr %LSlice, ptr null, i32 1 + %t11 = ptrtoint ptr %t10 to i64 + %t12 = call ptr @malloc(i64 %t11) + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + store ptr null, ptr %t13 + %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + store i32 0, ptr %t14 + %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 + store i32 0, ptr %t15 + store ptr %t12, ptr %t16 + %t17 = load ptr, ptr %t2 + %t18 = load ptr, ptr %t9 + %t19 = load ptr, ptr %t16 + call void @fn_ck_params(ptr %t17, ptr %t18, ptr %t19) + %t20 = load ptr, ptr %t0 + %t21 = load ptr, ptr %t1 + %t22 = load ptr, ptr %t9 + %t23 = load ptr, ptr %t16 + call void @fn_ck_args(ptr %t20, ptr %t21, ptr %t22, ptr %t23) + %t24 = load ptr, ptr %t2 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 + %t26 = load ptr, ptr %t25 + %t27 = icmp eq ptr %t26, null + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then0, label %ifend2 +then0: + store ptr @.str10674, ptr %retval + br label %ret +ifend2: + %t30 = load ptr, ptr %t2 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 + %t32 = load ptr, ptr %t31 + store ptr %t32, ptr %retval + br label %ret +ret: + %t33 = load ptr, ptr %retval + ret ptr %t33 +} + +define ptr @fn_ck_call_sig(ptr %arg_e, ptr %arg_name, ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + store ptr %arg_t, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = load ptr, ptr %t1 + %t5 = getelementptr %LSlice, ptr null, i32 1 + %t6 = ptrtoint ptr %t5 to i64 + %t7 = call ptr @malloc(i64 %t6) + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + store i32 0, ptr %t9 + %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 + store i32 0, ptr %t10 + %t11 = load ptr, ptr %t2 + %t12 = call ptr @fn_fn_ty_params(ptr %t11) + call void @fn_ck_args(ptr %t3, ptr %t4, ptr %t7, ptr %t12) + %t13 = load ptr, ptr %t2 + %t14 = call ptr @fn_fn_ty_ret(ptr %t13) + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define i32 @fn_ck_label_at(ptr %arg_labels, ptr %arg_s) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_labels, ptr %t0 + store ptr %arg_s, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp ult i32 %t13, %t15 + br i1 %t16, label %ixok3, label %ixbad4 +ixbad4: + %t17 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10675, i32 %t13, i32 %t15) + call void @exit(i32 1) + unreachable +ixok3: + %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t19 = load ptr, ptr %t18 + %t20 = load ptr, ptr %t1 + %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then5, label %ifend7 +then5: + %t23 = load i32, ptr %t2 + store i32 %t23, ptr %retval + br label %ret +ifend7: + %t24 = load i32, ptr %t2 + %t25 = add i32 %t24, 1 + store i32 %t25, ptr %t2 + br label %wcond0 +wend2: + %t26 = sub i32 0, 1 + store i32 %t26, ptr %retval + br label %ret +ret: + %t27 = load i32, ptr %retval + ret i32 %t27 +} + +define void @fn_ck_args(ptr %arg_e, ptr %arg_name, ptr %arg_labels, ptr %arg_tys) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t9 = alloca i32 + %t10 = alloca i32 + %t35 = alloca i32 + %t53 = alloca ptr + %t58 = alloca ptr + %t64 = alloca i32 + %t111 = alloca i32 + %t130 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + store ptr %arg_labels, ptr %t2 + store ptr %arg_tys, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + store i32 %t8, ptr %t9 + %t11 = load i32, ptr %t9 + %t12 = icmp sgt i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t10 + br i1 %t14, label %sc0, label %scend1 +sc0: + %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 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t22 = load i32, ptr %t21 + %t23 = icmp ult i32 0, %t22 + br i1 %t23, label %ixok2, label %ixbad3 +ixbad3: + %t24 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10676, i32 0, i32 %t22) + call void @exit(i32 1) + unreachable +ixok2: + %t25 = getelementptr inbounds ptr, ptr %t20, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 42 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t10 + br label %scend1 +scend1: + %t33 = load i32, ptr %t10 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then4, label %ifend6 +then4: + store i32 0, ptr %t35 + br label %wcond7 +wcond7: + %t36 = load i32, ptr %t35 + %t37 = load i32, ptr %t9 + %t38 = icmp slt i32 %t36, %t37 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %wbody8, label %wend9 +wbody8: + %t41 = load ptr, ptr %t0 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = load i32, ptr %t35 + %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 + %t48 = load i32, ptr %t47 + %t49 = icmp ult i32 %t46, %t48 + br i1 %t49, label %ixok10, label %ixbad11 +ixbad11: + %t50 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str10677, i32 %t46, i32 %t48) + call void @exit(i32 1) + unreachable +ixok10: + %t51 = getelementptr inbounds ptr, ptr %t45, i32 %t46 + %t52 = load ptr, ptr %t51 + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @fn_ck_expr(ptr %t56) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t2 + %t60 = load ptr, ptr %t53 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = call i32 @fn_ck_label_at(ptr %t59, ptr %t62) + store i32 %t63, ptr %t64 + %t65 = load i32, ptr %t64 + %t66 = icmp sge i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then12, label %ifend14 +then12: + %t69 = load ptr, ptr %t3 + %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = load i32, ptr %t64 + %t73 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 + %t74 = load i32, ptr %t73 + %t75 = icmp ult i32 %t72, %t74 + br i1 %t75, label %ixok15, label %ixbad16 +ixbad16: + %t76 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str10678, i32 %t72, i32 %t74) + call void @exit(i32 1) + unreachable +ixok15: + %t77 = getelementptr inbounds ptr, ptr %t71, i32 %t72 + %t78 = load ptr, ptr %t77 + %t79 = load ptr, ptr %t58 + %t80 = load ptr, ptr %t53 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 + %t82 = load ptr, ptr %t81 + %t83 = load ptr, ptr %t53 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str10679, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10680) + %t88 = load ptr, ptr %t1 + %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) + call void @fn_ck_give(ptr %t78, ptr %t79, ptr %t82, ptr %t89) + br label %ifend14 +ifend14: + %t90 = load i32, ptr %t35 + %t91 = add i32 %t90, 1 + store i32 %t91, ptr %t35 + br label %wcond7 +wend9: + br label %ret +ifend6: + %t92 = load i32, ptr %t9 + %t93 = load ptr, ptr %t3 + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 + %t95 = load i32, ptr %t94 + %t96 = icmp ne i32 %t92, %t95 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then17, label %ifend19 +then17: + %t99 = load ptr, ptr %t0 + %t100 = load ptr, ptr %t1 + %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str10682) + %t102 = load ptr, ptr %t3 + %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 + %t104 = load i32, ptr %t103 + %t105 = call ptr @fn_itoa(i32 %t104) + %t106 = call ptr @lp_str_concat(ptr %t101, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str10683) + %t108 = load i32, ptr %t9 + %t109 = call ptr @fn_itoa(i32 %t108) + %t110 = call ptr @lp_str_concat(ptr %t107, ptr %t109) + call void @fn_ck_err(ptr @.str10681, ptr %t99, ptr %t110) + br label %ifend19 +ifend19: + store i32 0, ptr %t111 + br label %wcond20 +wcond20: + %t112 = load i32, ptr %t111 + %t113 = load i32, ptr %t9 + %t114 = icmp slt i32 %t112, %t113 + %t115 = zext i1 %t114 to i32 + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %wbody21, label %wend22 +wbody21: + %t117 = load ptr, ptr %t0 + %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 %t111 + %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 + %t124 = load i32, ptr %t123 + %t125 = icmp ult i32 %t122, %t124 + br i1 %t125, label %ixok23, label %ixbad24 +ixbad24: + %t126 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str10684, i32 %t122, i32 %t124) + call void @exit(i32 1) + unreachable +ixok23: + %t127 = getelementptr inbounds ptr, ptr %t121, i32 %t122 + %t128 = load ptr, ptr %t127 + %t129 = call ptr @fn_ck_expr(ptr %t128) + store ptr %t129, ptr %t130 + %t131 = load i32, ptr %t111 + %t132 = load ptr, ptr %t3 + %t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 1 + %t134 = load i32, ptr %t133 + %t135 = icmp slt i32 %t131, %t134 + %t136 = zext i1 %t135 to i32 + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then25, label %ifend27 +then25: + %t138 = load ptr, ptr %t3 + %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = load i32, ptr %t111 + %t142 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 + %t143 = load i32, ptr %t142 + %t144 = icmp ult i32 %t141, %t143 + br i1 %t144, label %ixok28, label %ixbad29 +ixbad29: + %t145 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str10685, i32 %t141, i32 %t143) + call void @exit(i32 1) + unreachable +ixok28: + %t146 = getelementptr inbounds ptr, ptr %t140, i32 %t141 + %t147 = load ptr, ptr %t146 + %t148 = load ptr, ptr %t130 + %t149 = load ptr, ptr %t0 + %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 7 + %t151 = load ptr, ptr %t150 + %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 + %t153 = load ptr, ptr %t152 + %t154 = load i32, ptr %t111 + %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 + %t156 = load i32, ptr %t155 + %t157 = icmp ult i32 %t154, %t156 + br i1 %t157, label %ixok30, label %ixbad31 +ixbad31: + %t158 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str10686, i32 %t154, i32 %t156) + call void @exit(i32 1) + unreachable +ixok30: + %t159 = getelementptr inbounds ptr, ptr %t153, i32 %t154 + %t160 = load ptr, ptr %t159 + %t161 = load i32, ptr %t111 + %t162 = add i32 %t161, 1 + %t163 = call ptr @fn_itoa(i32 %t162) + %t164 = call ptr @lp_str_concat(ptr @.str10687, ptr %t163) + %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str10688) + %t166 = load ptr, ptr %t1 + %t167 = call ptr @lp_str_concat(ptr %t165, ptr %t166) + call void @fn_ck_give(ptr %t147, ptr %t148, ptr %t160, ptr %t167) + br label %ifend27 +ifend27: + %t168 = load i32, ptr %t111 + %t169 = add i32 %t168, 1 + store i32 %t169, ptr %t111 + br label %wcond20 +wend22: + br label %ret +ret: + ret void +} + +define void @fn_ck_walk_args(ptr %arg_e) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_e, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr %t1 + %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 + %t18 = load i32, ptr %t17 + %t19 = icmp ult i32 %t16, %t18 + br i1 %t19, label %ixok3, label %ixbad4 +ixbad4: + %t20 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10689, i32 %t16, i32 %t18) + call void @exit(i32 1) + unreachable +ixok3: + %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t22 = load ptr, ptr %t21 + call void @fn_ck_any(ptr %t22) + %t23 = load i32, ptr %t1 + %t24 = add i32 %t23, 1 + store i32 %t24, ptr %t1 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ck_builtin(ptr %arg_e, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t6 = alloca i32 + %t47 = alloca i32 + %t64 = alloca i32 + %t84 = alloca i32 + %t112 = alloca ptr + %t125 = alloca ptr + %t126 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + %t7 = load ptr, ptr %t1 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10690) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t6 + br i1 %t9, label %scend1, label %sc0 +sc0: + %t11 = load ptr, ptr %t1 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str10691) + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t6 + br label %scend1 +scend1: + %t15 = load i32, ptr %t6 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t5 + br i1 %t16, label %scend3, label %sc2 +sc2: + %t18 = load ptr, ptr %t1 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str10692) + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t5 + br label %scend3 +scend3: + %t22 = load i32, ptr %t5 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t4 + br i1 %t23, label %scend5, label %sc4 +sc4: + %t25 = load ptr, ptr %t1 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str10693) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t4 + br label %scend5 +scend5: + %t29 = load i32, ptr %t4 + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t3 + br i1 %t30, label %scend7, label %sc6 +sc6: + %t32 = load ptr, ptr %t1 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str10694) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t3 + br label %scend7 +scend7: + %t36 = load i32, ptr %t3 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t2 + br i1 %t37, label %scend9, label %sc8 +sc8: + %t39 = load ptr, ptr %t1 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str10695) + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t2 + br label %scend9 +scend9: + %t43 = load i32, ptr %t2 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then10, label %ifend12 +then10: + %t45 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t45) + %t46 = load ptr, ptr %t1 + store ptr %t46, ptr %retval + br label %ret +ifend12: + %t48 = load ptr, ptr %t1 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str10696) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t47 + br i1 %t50, label %scend14, label %sc13 +sc13: + %t52 = load ptr, ptr %t1 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str10697) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t47 + br label %scend14 +scend14: + %t56 = load i32, ptr %t47 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then15, label %ifend17 +then15: + %t58 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t58) + %t59 = load ptr, ptr %t1 + %t60 = load ptr, ptr %t1 + %t61 = call i64 @strlen(ptr %t60) + %t62 = trunc i64 %t61 to i32 + %t63 = call ptr @lp_str_slice(ptr %t59, i32 3, i32 %t62) + store ptr %t63, ptr %retval + br label %ret +ifend17: + %t65 = load ptr, ptr %t1 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str10698) + %t67 = icmp ne i32 %t66, 0 + %t68 = zext i1 %t67 to i32 + store i32 %t68, ptr %t64 + br i1 %t67, label %scend19, label %sc18 +sc18: + %t69 = load ptr, ptr %t1 + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str10699) + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t64 + br label %scend19 +scend19: + %t73 = load i32, ptr %t64 + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then20, label %ifend22 +then20: + %t75 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t75) + store ptr @.str10700, ptr %retval + br label %ret +ifend22: + %t76 = load ptr, ptr %t1 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str10701) + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then23, label %ifend25 +then23: + %t79 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t79) + store ptr @.str10702, ptr %retval + br label %ret +ifend25: + %t80 = load ptr, ptr %t1 + %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str10703) + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then26, label %ifend28 +then26: + %t83 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t83) + store ptr @.str10704, ptr %retval + br label %ret +ifend28: + %t85 = load ptr, ptr %t1 + %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str10705) + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t84 + br i1 %t87, label %sc29, label %scend30 +sc29: + %t89 = load ptr, ptr %t0 + %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 1 + %t93 = load i32, ptr %t92 + %t94 = icmp eq i32 %t93, 2 + %t95 = zext i1 %t94 to i32 + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t84 + br label %scend30 +scend30: + %t98 = load i32, ptr %t84 + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then31, label %ifend33 +then31: + %t100 = load ptr, ptr %t0 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7 + %t102 = load ptr, ptr %t101 + %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 + %t104 = load ptr, ptr %t103 + %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 + %t106 = load i32, ptr %t105 + %t107 = icmp ult i32 0, %t106 + br i1 %t107, label %ixok34, label %ixbad35 +ixbad35: + %t108 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10706, i32 0, i32 %t106) + call void @exit(i32 1) + unreachable +ixok34: + %t109 = getelementptr inbounds ptr, ptr %t104, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @fn_ck_expr(ptr %t110) + store ptr %t111, ptr %t112 + %t113 = load ptr, ptr %t0 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7 + %t115 = load ptr, ptr %t114 + %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 + %t119 = load i32, ptr %t118 + %t120 = icmp ult i32 1, %t119 + br i1 %t120, label %ixok36, label %ixbad37 +ixbad37: + %t121 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t121, ptr @.fmt_bounds, ptr @.str10707, i32 1, i32 %t119) + call void @exit(i32 1) + unreachable +ixok36: + %t122 = getelementptr inbounds ptr, ptr %t117, i32 1 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @fn_ck_expr(ptr %t123) + store ptr %t124, ptr %t125 + %t127 = load ptr, ptr %t112 + %t128 = call i32 @fn_ck_unknown(ptr %t127) + %t129 = icmp eq i32 %t128, 0 + %t130 = zext i1 %t129 to i32 + %t131 = icmp ne i32 %t130, 0 + %t132 = zext i1 %t131 to i32 + store i32 %t132, ptr %t126 + br i1 %t131, label %sc38, label %scend39 +sc38: + %t133 = load ptr, ptr %t112 + %t134 = call i32 @fn_is_slice_ty(ptr %t133) + %t135 = icmp ne i32 %t134, 0 + %t136 = zext i1 %t135 to i32 + store i32 %t136, ptr %t126 + br label %scend39 +scend39: + %t137 = load i32, ptr %t126 + %t138 = icmp ne i32 %t137, 0 + br i1 %t138, label %then40, label %ifend42 +then40: + %t139 = load ptr, ptr %t112 + %t140 = call ptr @fn_slice_elem(ptr %t139) + %t141 = load ptr, ptr %t125 + %t142 = load ptr, ptr %t0 + %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 7 + %t144 = load ptr, ptr %t143 + %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 + %t146 = load ptr, ptr %t145 + %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 + %t148 = load i32, ptr %t147 + %t149 = icmp ult i32 1, %t148 + br i1 %t149, label %ixok43, label %ixbad44 +ixbad44: + %t150 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str10708, i32 1, i32 %t148) + call void @exit(i32 1) + unreachable +ixok43: + %t151 = getelementptr inbounds ptr, ptr %t146, i32 1 + %t152 = load ptr, ptr %t151 + %t153 = load ptr, ptr %t112 + %t154 = call ptr @fn_ck_a(ptr %t153) + %t155 = call ptr @lp_str_concat(ptr @.str10709, ptr %t154) + call void @fn_ck_give(ptr %t140, ptr %t141, ptr %t152, ptr %t155) + br label %ifend42 +ifend42: + store ptr @.str10710, ptr %retval + br label %ret +ifend33: + store ptr null, ptr %retval + br label %ret +ret: + %t156 = load ptr, ptr %retval + ret ptr %t156 +} + +define ptr @fn_ck_call(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t25 = alloca ptr + %t26 = alloca i32 + %t27 = alloca i32 + %t67 = alloca ptr + %t68 = alloca i32 + %t89 = alloca ptr + %t99 = alloca ptr + %t100 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 33 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then0, label %ifend2 +then0: + %t11 = load ptr, ptr %t0 + %t12 = load ptr, ptr %t4 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @fn_ck_call_named(ptr %t11, ptr %t14) + store ptr %t15, ptr %retval + br label %ret +ifend2: + %t16 = load ptr, ptr %t4 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 35 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then3, label %ifend5 +then3: + %t22 = load ptr, ptr %t4 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t25 + %t28 = load ptr, ptr %t25 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 + %t30 = load i32, ptr %t29 + %t31 = icmp eq i32 %t30, 33 + %t32 = zext i1 %t31 to i32 + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t27 + br i1 %t33, label %sc6, label %scend7 +sc6: + %t35 = load ptr, ptr %t25 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call i32 @fn_ck_local(ptr %t37) + %t39 = icmp slt i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t27 + br label %scend7 +scend7: + %t43 = load i32, ptr %t27 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t26 + br i1 %t44, label %sc8, label %scend9 +sc8: + %t46 = load ptr, ptr %t25 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @fn_ck_global(ptr %t48) + %t50 = icmp eq ptr %t49, null + %t51 = zext i1 %t50 to i32 + %t52 = icmp ne i32 %t51, 0 + %t53 = zext i1 %t52 to i32 + store i32 %t53, ptr %t26 + br label %scend9 +scend9: + %t54 = load i32, ptr %t26 + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %then10, label %ifend12 +then10: + %t56 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t56) + %t57 = load ptr, ptr %t25 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @fn_ns_lower(ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10711) + %t62 = load ptr, ptr %t4 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @lp_str_concat(ptr %t61, ptr %t64) + %t66 = call ptr @fn_ck_fn(ptr %t65) + store ptr %t66, ptr %t67 + %t69 = load ptr, ptr %t67 + %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 %t68 + br i1 %t72, label %sc13, label %scend14 +sc13: + %t74 = load ptr, ptr %t67 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 3 + %t76 = load ptr, ptr %t75 + %t77 = icmp ne 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 %t68 + br label %scend14 +scend14: + %t81 = load i32, ptr %t68 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then15, label %ifend17 +then15: + %t83 = load ptr, ptr %t67 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 3 + %t85 = load ptr, ptr %t84 + store ptr %t85, ptr %retval + br label %ret +ifend17: + store ptr @.str10712, ptr %retval + br label %ret +ifend12: + %t86 = load ptr, ptr %t25 + %t87 = call ptr @fn_ck_expr(ptr %t86) + %t88 = call ptr @fn_ck_record(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t89 + %t91 = icmp ne ptr %t90, null + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then18, label %ifend20 +then18: + %t94 = load ptr, ptr %t89 + %t95 = load ptr, ptr %t4 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + %t97 = load ptr, ptr %t96 + %t98 = call ptr @fn_ck_field(ptr %t94, ptr %t97) + store ptr %t98, ptr %t99 + %t101 = load ptr, ptr %t99 + %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 %t100 + br i1 %t104, label %sc21, label %scend22 +sc21: + %t106 = load ptr, ptr %t99 + %t107 = call i32 @fn_is_fn_type(ptr %t106) + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t100 + br label %scend22 +scend22: + %t110 = load i32, ptr %t100 + %t111 = icmp ne i32 %t110, 0 + br i1 %t111, label %then23, label %ifend25 +then23: + %t112 = load ptr, ptr %t0 + %t113 = load ptr, ptr %t4 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 1 + %t115 = load ptr, ptr %t114 + %t116 = load ptr, ptr %t99 + %t117 = call ptr @fn_ck_call_sig(ptr %t112, ptr %t115, ptr %t116) + store ptr %t117, ptr %retval + br label %ret +ifend25: + br label %ifend20 +ifend20: + %t118 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t118) + store ptr @.str10713, ptr %retval + br label %ret +ifend5: + %t119 = load ptr, ptr %t4 + %t120 = call ptr @fn_ck_expr(ptr %t119) + %t121 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t121) + store ptr @.str10714, ptr %retval + br label %ret +ret: + %t122 = load ptr, ptr %retval + ret ptr %t122 +} + +define ptr @fn_ck_call_named(ptr %arg_e, ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca i32 + %t38 = alloca ptr + %t46 = alloca ptr + %t57 = alloca ptr + %t68 = alloca ptr + %t69 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_name, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = call i32 @fn_ck_local(ptr %t2) + store i32 %t3, ptr %t4 + %t5 = load i32, ptr %t4 + %t6 = icmp sge i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr @g_ck_tys + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t4 + %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp ult i32 %t12, %t14 + br i1 %t15, label %ixok3, label %ixbad4 +ixbad4: + %t16 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10715, i32 %t12, i32 %t14) + call void @exit(i32 1) + unreachable +ixok3: + %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t18 = load ptr, ptr %t17 + %t19 = call i32 @fn_is_fn_type(ptr %t18) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then5, label %ifend7 +then5: + %t21 = load ptr, ptr %t0 + %t22 = load ptr, ptr %t1 + %t23 = load ptr, ptr @g_ck_tys + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = load i32, ptr %t4 + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp ult i32 %t26, %t28 + br i1 %t29, label %ixok8, label %ixbad9 +ixbad9: + %t30 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str10716, i32 %t26, i32 %t28) + call void @exit(i32 1) + unreachable +ixok8: + %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 + %t32 = load ptr, ptr %t31 + %t33 = call ptr @fn_ck_call_sig(ptr %t21, ptr %t22, ptr %t32) + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t34) + store ptr @.str10717, ptr %retval + br label %ret +ifend2: + %t35 = load ptr, ptr %t0 + %t36 = load ptr, ptr %t1 + %t37 = call ptr @fn_ck_builtin(ptr %t35, ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = icmp ne ptr %t39, null + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then10, label %ifend12 +then10: + %t43 = load ptr, ptr %t38 + store ptr %t43, ptr %retval + br label %ret +ifend12: + %t44 = load ptr, ptr %t1 + %t45 = call ptr @fn_ck_fn(ptr %t44) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + %t48 = icmp ne ptr %t47, null + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then13, label %ifend15 +then13: + %t51 = load ptr, ptr %t0 + %t52 = load ptr, ptr %t1 + %t53 = load ptr, ptr %t46 + %t54 = call ptr @fn_ck_call_fn(ptr %t51, ptr %t52, ptr %t53) + store ptr %t54, ptr %retval + br label %ret +ifend15: + %t55 = load ptr, ptr %t1 + %t56 = call ptr @fn_ck_extern(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = icmp ne ptr %t58, null + %t60 = zext i1 %t59 to i32 + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then16, label %ifend18 +then16: + %t62 = load ptr, ptr %t0 + %t63 = load ptr, ptr %t1 + %t64 = load ptr, ptr %t57 + %t65 = call ptr @fn_ck_call_fn(ptr %t62, ptr %t63, ptr %t64) + store ptr %t65, ptr %retval + br label %ret +ifend18: + %t66 = load ptr, ptr %t1 + %t67 = call ptr @fn_ck_global(ptr %t66) + store ptr %t67, ptr %t68 + %t70 = load ptr, ptr %t68 + %t71 = icmp ne ptr %t70, null + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t69 + br i1 %t73, label %sc19, label %scend20 +sc19: + %t75 = load ptr, ptr %t68 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 3 + %t77 = load ptr, ptr %t76 + %t78 = call i32 @fn_is_fn_type(ptr %t77) + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t69 + br label %scend20 +scend20: + %t81 = load i32, ptr %t69 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then21, label %ifend23 +then21: + %t83 = load ptr, ptr %t0 + %t84 = load ptr, ptr %t1 + %t85 = load ptr, ptr %t68 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_ck_call_sig(ptr %t83, ptr %t84, ptr %t87) + store ptr %t88, ptr %retval + br label %ret +ifend23: + %t89 = load ptr, ptr %t0 + call void @fn_ck_walk_args(ptr %t89) + store ptr @.str10718, ptr %retval + br label %ret +ret: + %t90 = load ptr, ptr %retval + ret ptr %t90 +} + +define void @fn_ck_emit(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca i32 + %t38 = alloca ptr + %t43 = alloca ptr + %t53 = alloca ptr + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_find_event(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 + %t8 = load ptr, ptr %t7 + %t9 = icmp eq ptr %t8, null + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t13, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t12 + %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 + %t33 = load i32, ptr %t32 + %t34 = icmp ult i32 %t31, %t33 + br i1 %t34, label %ixok6, label %ixbad7 +ixbad7: + %t35 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t35, ptr @.fmt_bounds, ptr @.str10719, i32 %t31, i32 %t33) + call void @exit(i32 1) + unreachable +ixok6: + %t36 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @fn_ck_expr(ptr %t41) + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t5 + %t45 = icmp ne ptr %t44, null + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then8, label %ifend10 +then8: + %t48 = load ptr, ptr %t5 + %t49 = load ptr, ptr %t38 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @fn_ck_field(ptr %t48, ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = icmp ne ptr %t54, null + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then11, label %ifend13 +then11: + %t58 = load ptr, ptr %t53 + %t59 = load ptr, ptr %t43 + %t60 = load ptr, ptr %t38 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 + %t62 = load ptr, ptr %t61 + %t63 = load ptr, ptr %t38 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @lp_str_concat(ptr @.str10720, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10721) + %t68 = load ptr, ptr %t0 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @lp_str_concat(ptr %t67, ptr %t70) + call void @fn_ck_give(ptr %t58, ptr %t59, ptr %t62, ptr %t71) + br label %ifend13 +ifend13: + br label %ifend10 +ifend10: + %t72 = load i32, ptr %t12 + %t73 = add i32 %t72, 1 + store i32 %t73, ptr %t12 + br label %wcond3 +wend5: + br label %ret +ret: + ret void +} + +define void @fn_ck_block(ptr %arg_b) { +entry: + %t0 = alloca ptr + %t13 = alloca i32 + %t14 = alloca i32 + store ptr %arg_b, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp ne i32 %t7, 7 + %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 + call void @fn_ck_stmt(ptr %t11) + br label %ret +ifend5: + %t12 = call i32 @fn_ck_mark() + store i32 %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 %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = load i32, ptr %t14 + %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t31 = load i32, ptr %t30 + %t32 = icmp ult i32 %t29, %t31 + br i1 %t32, label %ixok9, label %ixbad10 +ixbad10: + %t33 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str10722, i32 %t29, i32 %t31) + call void @exit(i32 1) + unreachable +ixok9: + %t34 = getelementptr inbounds ptr, ptr %t28, i32 %t29 + %t35 = load ptr, ptr %t34 + call void @fn_ck_stmt(ptr %t35) + %t36 = load i32, ptr %t14 + %t37 = add i32 %t36, 1 + store i32 %t37, ptr %t14 + br label %wcond6 +wend8: + %t38 = load i32, ptr %t13 + call void @fn_ck_pop(i32 %t38) + br label %ret +ret: + ret void +} + +define ptr @fn_ck_target(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 33 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = call ptr @fn_ck_id(ptr %t7) + store ptr %t8, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = call ptr @fn_ck_expr(ptr %t9) + store ptr %t10, ptr %retval + br label %ret +ret: + %t11 = load ptr, ptr %retval + ret ptr %t11 +} + +define void @fn_ck_let(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + store ptr %arg_s, ptr %t0 + store ptr @.str10723, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 + %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 %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @fn_ck_expr(ptr %t10) + store ptr %t11, ptr %t1 + br label %ifend2 +ifend2: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 + %t14 = load ptr, ptr %t13 + %t15 = icmp ne ptr %t14, null + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = icmp ne ptr %t20, null + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then6, label %ifend8 +then6: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 3 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t1 + %t28 = load ptr, ptr %t0 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 + %t33 = load ptr, ptr %t32 + call void @fn_ck_give(ptr %t26, ptr %t27, ptr %t30, ptr %t33) + br label %ifend8 +ifend8: + %t34 = load ptr, ptr %t0 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 + %t36 = load ptr, ptr %t35 + %t37 = load ptr, ptr %t0 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 3 + %t39 = load ptr, ptr %t38 + call void @fn_ck_bind(ptr %t36, ptr %t39) + br label %ret +ifend5: + %t40 = load ptr, ptr %t0 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 + %t42 = load ptr, ptr %t41 + %t43 = load ptr, ptr %t1 + call void @fn_ck_bind(ptr %t42, ptr %t43) + br label %ret +ret: + ret void +} + +define void @fn_ck_assign(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + %t11 = alloca ptr + %t54 = alloca ptr + %t66 = alloca ptr + store ptr %arg_s, 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_ck_target(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_ck_expr(ptr %t8) + store ptr %t9, ptr %t10 + store ptr @.str10724, ptr %t11 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 + %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, 33 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then0, label %ifend2 +then0: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t11 + br label %ifend2 +ifend2: + %t25 = load ptr, ptr %t0 + %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 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 35 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then3, label %ifend5 +then3: + %t33 = load ptr, ptr %t0 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @lp_str_concat(ptr @.str10725, ptr %t37) + store ptr %t38, ptr %t11 + br label %ifend5 +ifend5: + %t39 = load ptr, ptr %t0 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 + %t41 = load ptr, ptr %t40 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str10726) + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then6, label %ifend8 +then6: + %t44 = load ptr, ptr %t5 + %t45 = load ptr, ptr %t10 + %t46 = load ptr, ptr %t0 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5 + %t48 = load ptr, ptr %t47 + %t49 = load ptr, ptr %t11 + call void @fn_ck_give(ptr %t44, ptr %t45, ptr %t48, ptr %t49) + br label %ret +ifend8: + %t50 = load ptr, ptr %t0 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @lp_str_slice(ptr %t52, i32 0, i32 1) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t0 + %t56 = load ptr, ptr %t54 + %t57 = load ptr, ptr %t5 + %t58 = load ptr, ptr %t10 + %t59 = load ptr, ptr %t0 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 + %t61 = load ptr, ptr %t60 + %t62 = load ptr, ptr %t0 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 5 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @fn_ck_binop(ptr %t55, ptr %t56, ptr %t57, ptr %t58, ptr %t61, ptr %t64) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t5 + %t68 = load ptr, ptr %t66 + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 5 + %t71 = load ptr, ptr %t70 + %t72 = load ptr, ptr %t11 + call void @fn_ck_give(ptr %t67, ptr %t68, ptr %t71, ptr %t72) + br label %ret +ret: + ret void +} + +define void @fn_ck_match(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t5 = alloca i32 + %t27 = alloca ptr + %t29 = alloca i32 + %t30 = alloca i32 + %t52 = alloca ptr + %t59 = alloca i32 + store ptr %arg_s, 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_ck_expr(ptr %t3) + store i32 0, ptr %t5 + br label %wcond0 +wcond0: + %t6 = load i32, ptr %t5 + %t7 = load ptr, ptr %t0 + %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 %t6, %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 7 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = load i32, ptr %t5 + %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 + %t22 = load i32, ptr %t21 + %t23 = icmp ult i32 %t20, %t22 + br i1 %t23, label %ixok3, label %ixbad4 +ixbad4: + %t24 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10727, i32 %t20, i32 %t22) + call void @exit(i32 1) + unreachable +ixok3: + %t25 = getelementptr inbounds ptr, ptr %t19, i32 %t20 + %t26 = load ptr, ptr %t25 + store ptr %t26, ptr %t27 + %t28 = call i32 @fn_ck_mark() + store i32 %t28, ptr %t29 + store i32 0, ptr %t30 + br label %wcond5 +wcond5: + %t31 = load i32, ptr %t30 + %t32 = load ptr, ptr %t27 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp slt i32 %t31, %t36 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %wbody6, label %wend7 +wbody6: + %t40 = load ptr, ptr %t27 + %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 = load i32, ptr %t30 + %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 + %t47 = load i32, ptr %t46 + %t48 = icmp ult i32 %t45, %t47 + br i1 %t48, label %ixok8, label %ixbad9 +ixbad9: + %t49 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str10728, i32 %t45, i32 %t47) + call void @exit(i32 1) + unreachable +ixok8: + %t50 = getelementptr inbounds ptr, ptr %t44, i32 %t45 + %t51 = load ptr, ptr %t50 + store ptr %t51, ptr %t52 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 + %t55 = load i32, ptr %t54 + %t56 = icmp eq i32 %t55, 34 + %t57 = zext i1 %t56 to i32 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then10, label %ifend12 +then10: + store i32 0, ptr %t59 + br label %wcond13 +wcond13: + %t60 = load i32, ptr %t59 + %t61 = load ptr, ptr %t52 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t65 = load i32, ptr %t64 + %t66 = icmp slt i32 %t60, %t65 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %wbody14, label %wend15 +wbody14: + %t69 = load ptr, ptr %t52 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = load i32, ptr %t59 + %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 + %t76 = load i32, ptr %t75 + %t77 = icmp ult i32 %t74, %t76 + br i1 %t77, label %ixok16, label %ixbad17 +ixbad17: + %t78 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10729, i32 %t74, i32 %t76) + call void @exit(i32 1) + unreachable +ixok16: + %t79 = getelementptr inbounds ptr, ptr %t73, i32 %t74 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 33 + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then18, label %ifend20 +then18: + %t86 = load ptr, ptr %t52 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 + %t88 = load ptr, ptr %t87 + %t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0 + %t90 = load ptr, ptr %t89 + %t91 = load i32, ptr %t59 + %t92 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 + %t93 = load i32, ptr %t92 + %t94 = icmp ult i32 %t91, %t93 + br i1 %t94, label %ixok21, label %ixbad22 +ixbad22: + %t95 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str10730, i32 %t91, i32 %t93) + call void @exit(i32 1) + unreachable +ixok21: + %t96 = getelementptr inbounds ptr, ptr %t90, i32 %t91 + %t97 = load ptr, ptr %t96 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 1 + %t99 = load ptr, ptr %t98 + call void @fn_ck_bind(ptr %t99, ptr @.str10731) + br label %ifend20 +ifend20: + %t100 = load i32, ptr %t59 + %t101 = add i32 %t100, 1 + store i32 %t101, ptr %t59 + br label %wcond13 +wend15: + br label %ifend12 +ifend12: + %t102 = load i32, ptr %t30 + %t103 = add i32 %t102, 1 + store i32 %t103, ptr %t30 + br label %wcond5 +wend7: + %t104 = load ptr, ptr %t27 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t105 + call void @fn_ck_block(ptr %t106) + %t107 = load i32, ptr %t29 + call void @fn_ck_pop(i32 %t107) + %t108 = load i32, ptr %t5 + %t109 = add i32 %t108, 1 + store i32 %t109, ptr %t5 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_ck_stmt(ptr %arg_s) { +entry: + %t0 = alloca ptr + %t8 = alloca i32 + %t68 = alloca i32 + %t90 = alloca ptr + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + store i32 %t7, ptr %t8 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 7 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + %t13 = load ptr, ptr %t0 + call void @fn_ck_block(ptr %t13) + br label %ret +ifend5: + %t14 = load i32, ptr %t8 + %t15 = icmp eq i32 %t14, 10 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then6, label %ifend8 +then6: + %t18 = load ptr, ptr %t0 + call void @fn_ck_let(ptr %t18) + br label %ret +ifend8: + %t19 = load i32, ptr %t8 + %t20 = icmp eq i32 %t19, 11 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then9, label %ifend11 +then9: + %t23 = load ptr, ptr %t0 + call void @fn_ck_assign(ptr %t23) + br label %ret +ifend11: + %t24 = load i32, ptr %t8 + %t25 = icmp eq i32 %t24, 12 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then12, label %ifend14 +then12: + %t28 = load ptr, ptr %t0 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 + %t33 = load ptr, ptr %t32 + %t34 = call ptr @fn_ck_expr(ptr %t33) + call void @fn_ck_cond(ptr %t30, ptr %t34) + %t35 = load ptr, ptr %t0 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 5 + %t37 = load ptr, ptr %t36 + call void @fn_ck_block(ptr %t37) + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 6 + %t40 = load ptr, ptr %t39 + call void @fn_ck_block(ptr %t40) + br label %ret +ifend14: + %t41 = load i32, ptr %t8 + %t42 = icmp eq i32 %t41, 13 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then15, label %ifend17 +then15: + %t45 = load ptr, ptr %t0 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4 + %t47 = load ptr, ptr %t46 + %t48 = load ptr, ptr %t0 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @fn_ck_expr(ptr %t50) + call void @fn_ck_cond(ptr %t47, ptr %t51) + %t52 = load ptr, ptr %t0 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 5 + %t54 = load ptr, ptr %t53 + call void @fn_ck_block(ptr %t54) + br label %ret +ifend17: + %t55 = load i32, ptr %t8 + %t56 = icmp eq i32 %t55, 14 + %t57 = zext i1 %t56 to i32 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then18, label %ifend20 +then18: + %t59 = load ptr, ptr %t0 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 4 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @fn_ck_expr(ptr %t61) + %t63 = load ptr, ptr %t0 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 5 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @fn_ck_expr(ptr %t65) + %t67 = call i32 @fn_ck_mark() + store i32 %t67, ptr %t68 + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + call void @fn_ck_bind(ptr %t71, ptr @.str10732) + %t72 = load ptr, ptr %t0 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 6 + %t74 = load ptr, ptr %t73 + call void @fn_ck_block(ptr %t74) + %t75 = load i32, ptr %t68 + call void @fn_ck_pop(i32 %t75) + br label %ret +ifend20: + %t76 = load i32, ptr %t8 + %t77 = icmp eq i32 %t76, 15 + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then21, label %ifend23 +then21: + %t80 = load ptr, ptr %t0 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 + %t82 = load ptr, ptr %t81 + %t83 = icmp eq ptr %t82, null + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then24, label %ifend26 +then24: + br label %ret +ifend26: + %t86 = load ptr, ptr %t0 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = load ptr, ptr %t87 + %t89 = call ptr @fn_ck_expr(ptr %t88) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr @g_ck_ret + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str10733) + %t93 = icmp eq i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + %t95 = icmp ne i32 %t94, 0 + br i1 %t95, label %then27, label %ifend29 +then27: + %t96 = load ptr, ptr @g_ck_ret + %t97 = load ptr, ptr %t90 + %t98 = load ptr, ptr %t0 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = load ptr, ptr %t99 + call void @fn_ck_give(ptr %t96, ptr %t97, ptr %t100, ptr @.str10734) + br label %ifend29 +ifend29: + br label %ret +ifend23: + %t101 = load i32, ptr %t8 + %t102 = icmp eq i32 %t101, 16 + %t103 = zext i1 %t102 to i32 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then30, label %ifend32 +then30: + %t105 = load ptr, ptr %t0 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 4 + %t107 = load ptr, ptr %t106 + %t108 = call ptr @fn_ck_expr(ptr %t107) + br label %ret +ifend32: + %t109 = load i32, ptr %t8 + %t110 = icmp eq i32 %t109, 19 + %t111 = zext i1 %t110 to i32 + %t112 = icmp ne i32 %t111, 0 + br i1 %t112, label %then33, label %ifend35 +then33: + %t113 = load ptr, ptr %t0 + call void @fn_ck_match(ptr %t113) + br label %ret +ifend35: + %t114 = load i32, ptr %t8 + %t115 = icmp eq i32 %t114, 49 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then36, label %ifend38 +then36: + %t118 = load ptr, ptr %t0 + call void @fn_ck_emit(ptr %t118) + br label %ret +ifend38: + br label %ret +ret: + ret void +} + +define void @fn_ck_fn_body(ptr %arg_d) { +entry: + %t0 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_d, ptr %t0 + %t1 = call i32 @fn_ck_mark() + store i32 %t1, 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 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t4, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %wbody1, label %wend2 +wbody1: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr %t3 + %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp ult i32 %t18, %t20 + br i1 %t21, label %ixok3, label %ixbad4 +ixbad4: + %t22 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str10735, i32 %t18, i32 %t20) + call void @exit(i32 1) + unreachable +ixok3: + %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 5 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then5, label %ifend7 +then5: + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load i32, ptr %t3 + %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 + %t37 = load i32, ptr %t36 + %t38 = icmp ult i32 %t35, %t37 + br i1 %t38, label %ixok8, label %ixbad9 +ixbad9: + %t39 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10736, i32 %t35, i32 %t37) + call void @exit(i32 1) + unreachable +ixok8: + %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 + %t43 = load ptr, ptr %t42 + %t44 = load ptr, ptr %t0 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = load i32, ptr %t3 + %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp ult i32 %t49, %t51 + br i1 %t52, label %ixok10, label %ixbad11 +ixbad11: + %t53 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str10737, i32 %t49, i32 %t51) + call void @exit(i32 1) + unreachable +ixok10: + %t54 = getelementptr inbounds ptr, ptr %t48, i32 %t49 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 + %t57 = load ptr, ptr %t56 + call void @fn_ck_bind(ptr %t43, ptr %t57) + br label %ifend7 +ifend7: + %t58 = load i32, ptr %t3 + %t59 = add i32 %t58, 1 + store i32 %t59, ptr %t3 + br label %wcond0 +wend2: + %t60 = load ptr, ptr %t0 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 3 + %t62 = load ptr, ptr %t61 + store ptr %t62, ptr @g_ck_ret + %t63 = load ptr, ptr @g_ck_ret + %t64 = icmp eq ptr %t63, null + %t65 = zext i1 %t64 to i32 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then12, label %ifend14 +then12: + store ptr @.str10738, ptr @g_ck_ret + br label %ifend14 +ifend14: + %t67 = load ptr, ptr %t0 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + call void @fn_ck_block(ptr %t69) + store ptr @.str10739, ptr @g_ck_ret + %t70 = load i32, ptr %t2 + call void @fn_ck_pop(i32 %t70) + br label %ret +ret: + ret void +} + +define void @fn_ck_listener(ptr %arg_l) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t7 = alloca i32 + %t12 = alloca i32 + store ptr %arg_l, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_find_event(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = call i32 @fn_ck_mark() + store i32 %t6, ptr %t7 + %t8 = load ptr, ptr %t5 + %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: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr %t5 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 + %t18 = load i32, ptr %t17 + %t19 = icmp slt i32 %t13, %t18 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %wbody4, label %wend5 +wbody4: + %t22 = load ptr, ptr %t5 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = load i32, ptr %t12 + %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp ult i32 %t27, %t29 + br i1 %t30, label %ixok6, label %ixbad7 +ixbad7: + %t31 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str10740, i32 %t27, i32 %t29) + call void @exit(i32 1) + unreachable +ixok6: + %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t34 + %t36 = load ptr, ptr %t5 + %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 %t12 + %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 + %t43 = load i32, ptr %t42 + %t44 = icmp ult i32 %t41, %t43 + br i1 %t44, label %ixok8, label %ixbad9 +ixbad9: + %t45 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str10741, i32 %t41, i32 %t43) + call void @exit(i32 1) + unreachable +ixok8: + %t46 = getelementptr inbounds ptr, ptr %t40, i32 %t41 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 + %t49 = load ptr, ptr %t48 + call void @fn_ck_bind(ptr %t35, ptr %t49) + %t50 = load i32, ptr %t12 + %t51 = add i32 %t50, 1 + store i32 %t51, ptr %t12 + br label %wcond3 +wend5: + br label %ifend2 +ifend2: + store ptr @.str10742, ptr @g_ck_ret + %t52 = load ptr, ptr %t0 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 + %t54 = load ptr, ptr %t53 + call void @fn_ck_block(ptr %t54) + %t55 = load i32, ptr %t7 + call void @fn_ck_pop(i32 %t55) + br label %ret +ret: + ret void +} + +define void @fn_check_program() { +entry: + %t1 = alloca ptr + %t2 = alloca i32 + %t14 = alloca i32 + %t30 = alloca ptr + %t38 = alloca i32 + %t58 = alloca i32 + %t59 = alloca i32 + %t101 = alloca i32 + %t121 = alloca i32 + %t137 = alloca ptr + %t0 = call ptr @getenv(ptr @.str10743) + store ptr %t0, ptr %t1 + %t3 = load ptr, ptr %t1 + %t4 = icmp ne ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t2 + br i1 %t6, label %sc0, label %scend1 +sc0: + %t8 = load ptr, ptr %t1 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str10744) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t2 + br label %scend1 +scend1: + %t12 = load i32, ptr %t2 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then2, label %ifend4 +then2: + br label %ret +ifend4: + call void @fn_ck_index() + store i32 0, ptr %t14 + br label %wcond5 +wcond5: + %t15 = load i32, ptr %t14 + %t16 = load i32, ptr @g_g_prog_user_end + %t17 = icmp slt i32 %t15, %t16 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %wbody6, label %wend7 +wbody6: + %t20 = load ptr, ptr @g_prog + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t14 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t25 = load i32, ptr %t24 + %t26 = icmp ult i32 %t23, %t25 + br i1 %t26, label %ixok8, label %ixbad9 +ixbad9: + %t27 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str10745, i32 %t23, i32 %t25) + call void @exit(i32 1) + unreachable +ixok8: + %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t29 = load ptr, ptr %t28 + store ptr %t29, ptr %t30 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 4 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then10, label %ifend12 +then10: + %t37 = load ptr, ptr %t30 + call void @fn_ck_fn_body(ptr %t37) + br label %ifend12 +ifend12: + %t39 = load ptr, ptr %t30 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 6 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t38 + br i1 %t44, label %scend14, label %sc13 +sc13: + %t46 = load ptr, ptr %t30 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 51 + %t50 = zext i1 %t49 to i32 + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t38 + br label %scend14 +scend14: + %t53 = load i32, ptr %t38 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + %t55 = load ptr, ptr %t30 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 + %t57 = load ptr, ptr %t56 + call void @fn_ck_block(ptr %t57) + br label %ifend17 +ifend17: + %t60 = load ptr, ptr %t30 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 + %t62 = load i32, ptr %t61 + %t63 = icmp eq i32 %t62, 2 + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t59 + br i1 %t65, label %scend19, label %sc18 +sc18: + %t67 = load ptr, ptr %t30 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 0 + %t69 = load i32, ptr %t68 + %t70 = icmp eq i32 %t69, 3 + %t71 = zext i1 %t70 to i32 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t59 + br label %scend19 +scend19: + %t74 = load i32, ptr %t59 + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t58 + br i1 %t75, label %sc20, label %scend21 +sc20: + %t77 = load ptr, ptr %t30 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4 + %t79 = load ptr, ptr %t78 + %t80 = icmp ne ptr %t79, null + %t81 = zext i1 %t80 to i32 + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t58 + br label %scend21 +scend21: + %t84 = load i32, ptr %t58 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then22, label %ifend24 +then22: + %t86 = load ptr, ptr %t30 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 3 + %t88 = load ptr, ptr %t87 + %t89 = load ptr, ptr %t30 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 4 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_ck_expr(ptr %t91) + %t93 = load ptr, ptr %t30 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 + %t95 = load ptr, ptr %t94 + %t96 = load ptr, ptr %t30 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 + %t98 = load ptr, ptr %t97 + call void @fn_ck_give(ptr %t88, ptr %t92, ptr %t95, ptr %t98) + br label %ifend24 +ifend24: + %t99 = load i32, ptr %t14 + %t100 = add i32 %t99, 1 + store i32 %t100, ptr %t14 + br label %wcond5 +wend7: + store i32 0, ptr %t101 + br label %wcond25 +wcond25: + %t102 = load i32, ptr %t101 + %t103 = load ptr, ptr @g_g_onlisten + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 + %t105 = load i32, ptr %t104 + %t106 = icmp slt i32 %t102, %t105 + %t107 = zext i1 %t106 to i32 + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %wbody26, label %wend27 +wbody26: + %t109 = load ptr, ptr @g_g_onlisten + %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 + %t111 = load ptr, ptr %t110 + %t112 = load i32, ptr %t101 + %t113 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 + %t114 = load i32, ptr %t113 + %t115 = icmp ult i32 %t112, %t114 + br i1 %t115, label %ixok28, label %ixbad29 +ixbad29: + %t116 = call ptr @lp_win_stdio(i32 2) + call i32 (ptr, ptr, ...) @fprintf(ptr %t116, ptr @.fmt_bounds, ptr @.str10746, i32 %t112, i32 %t114) + call void @exit(i32 1) + unreachable +ixok28: + %t117 = getelementptr inbounds ptr, ptr %t111, i32 %t112 + %t118 = load ptr, ptr %t117 + call void @fn_ck_listener(ptr %t118) + %t119 = load i32, ptr %t101 + %t120 = add i32 %t119, 1 + store i32 %t120, ptr %t101 + br label %wcond25 +wend27: + %t122 = load i32, ptr @g_ck_errors + %t123 = icmp sgt i32 %t122, 0 + %t124 = zext i1 %t123 to i32 + %t125 = icmp ne i32 %t124, 0 + %t126 = zext i1 %t125 to i32 + store i32 %t126, ptr %t121 + br i1 %t125, label %sc30, label %scend31 +sc30: + %t127 = call i32 @fn_ck_reporting() + %t128 = icmp eq i32 %t127, 0 + %t129 = zext i1 %t128 to i32 + %t130 = icmp ne i32 %t129, 0 + %t131 = zext i1 %t130 to i32 + store i32 %t131, ptr %t121 + br label %scend31 +scend31: + %t132 = load i32, ptr %t121 + %t133 = icmp ne i32 %t132, 0 + br i1 %t133, label %then32, label %ifend34 +then32: + %t134 = load i32, ptr @g_ck_errors + %t135 = call ptr @fn_itoa(i32 %t134) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str10747) + store ptr %t136, ptr %t137 + %t138 = call ptr @lp_win_stdio(i32 2) + %t139 = load ptr, ptr %t137 + %t140 = load ptr, ptr %t137 + %t141 = call i64 @strlen(ptr %t140) + %t142 = trunc i64 %t141 to i32 + %t143 = zext i32 %t142 to i64 + %t144 = call i64 @fwrite(ptr %t139, i64 1, i64 %t143, ptr %t138) + %t145 = trunc i64 %t144 to i32 + call void @exit(i32 1) + unreachable +ifend34: + br label %ret +ret: + ret void +} + define void @fn_emit_block(ptr %arg_b) { entry: %t0 = alloca ptr @@ -111018,7 +118025,7 @@ wbody1: br i1 %t33, label %ixok5, label %ixbad6 ixbad6: %t34 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str10451, i32 %t30, i32 %t32) + call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str10748, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok5: @@ -111045,16 +118052,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 @.str10452) + call void @fn_emit(ptr @.str10749) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str10453) + call void @fn_emit(ptr @.str10750) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str10454) + call void @fn_emit(ptr @.str10751) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str10455) + call void @fn_emit(ptr @.str10752) br label %ret ret: ret void @@ -111091,8 +118098,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 @.str10456, ptr %t5 - store ptr @.str10457, ptr %t6 + store ptr @.str10753, ptr %t5 + store ptr @.str10754, ptr %t6 %t7 = load ptr, ptr %t4 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 @@ -111122,7 +118129,7 @@ then3: br i1 %t28, label %ixok6, label %ixbad7 ixbad7: %t29 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10458, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10755, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok6: @@ -111136,8 +118143,8 @@ then8: %t35 = load ptr, ptr %t4 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 - %t38 = call ptr @lp_str_concat(ptr @.str10459, ptr %t37) - %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10460) + %t38 = call ptr @lp_str_concat(ptr @.str10756, ptr %t37) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10757) %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 8 %t42 = load i32, ptr %t41 @@ -111156,7 +118163,7 @@ ifend10: br i1 %t51, label %ixok11, label %ixbad12 ixbad12: %t52 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str10461, i32 %t48, i32 %t50) + call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str10758, i32 %t48, i32 %t50) call void @exit(i32 1) unreachable ixok11: @@ -111173,7 +118180,7 @@ ixok11: br i1 %t61, label %ixok13, label %ixbad14 ixbad14: %t62 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10462, i32 %t58, i32 %t60) + call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10759, i32 %t58, i32 %t60) call void @exit(i32 1) unreachable ixok13: @@ -111196,7 +118203,7 @@ then15: %t74 = load ptr, ptr %t4 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 - %t77 = call ptr @lp_str_concat(ptr @.str10463, ptr %t76) + %t77 = call ptr @lp_str_concat(ptr @.str10760, ptr %t76) call void @fn_perr(ptr %t77) br label %ifend17 ifend17: @@ -111208,7 +118215,7 @@ ifend17: %t82 = load ptr, ptr %t4 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 %t84 = load ptr, ptr %t83 - %t85 = call ptr @lp_str_concat(ptr @.str10464, ptr %t84) + %t85 = call ptr @lp_str_concat(ptr @.str10761, ptr %t84) store ptr %t85, ptr %t5 %t86 = load ptr, ptr %t69 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 3 @@ -111248,7 +118255,7 @@ then21: store ptr %t106, ptr %t6 br label %ifend23 else22: - call void @fn_perr(ptr @.str10465) + call void @fn_perr(ptr @.str10762) br label %ifend23 ifend23: br label %ifend20 @@ -111266,15 +118273,15 @@ ifend2: %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 - %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str10466) + %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str10763) %t119 = icmp eq i32 %t118, 0 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then24, label %ifend26 then24: %t122 = load ptr, ptr %t109 - %t123 = call ptr @lp_str_concat(ptr @.str10467, ptr %t122) - %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str10468) + %t123 = call ptr @lp_str_concat(ptr @.str10764, ptr %t122) + %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str10765) %t125 = load ptr, ptr %t5 %t126 = call ptr @lp_str_concat(ptr %t124, ptr %t125) %t127 = call ptr @fn_emit_bind(ptr %t126) @@ -111296,13 +118303,13 @@ ifend26: %t140 = call ptr @fn_coerce_code(ptr %t138, ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t109 - %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str10469) + %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str10766) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then27, label %ifend29 then27: %t145 = load ptr, ptr %t141 - %t146 = call ptr @lp_str_concat(ptr @.str10470, ptr %t145) - %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str10471) + %t146 = call ptr @lp_str_concat(ptr @.str10767, ptr %t145) + %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str10768) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t141 br label %ifend29 @@ -111334,8 +118341,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 @lp_str_concat(ptr @.str10472, ptr %t8) - %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10473) + %t9 = call ptr @lp_str_concat(ptr @.str10769, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10770) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 @@ -111344,43 +118351,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 @.str10474) + %t19 = call ptr @fn_lbl(ptr @.str10771) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str10475) + %t21 = call ptr @fn_lbl(ptr @.str10772) store ptr %t21, ptr %t22 - %t23 = call ptr @fn_lbl(ptr @.str10476) + %t23 = call ptr @fn_lbl(ptr @.str10773) 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 @.str10477) + call void @fn_emit(ptr @.str10774) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str10478) + call void @fn_emit(ptr @.str10775) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str10479) + call void @fn_emit(ptr @.str10776) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str10480) + call void @fn_emit(ptr @.str10777) br label %ifend2 else1: - call void @fn_emit(ptr @.str10481) + call void @fn_emit(ptr @.str10778) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str10482) + call void @fn_emit(ptr @.str10779) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str10483) + call void @fn_emit(ptr @.str10780) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str10484) + call void @fn_emit(ptr @.str10781) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str10485) + call void @fn_emit(ptr @.str10782) store i32 0, ptr @g_g_term %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5 @@ -111392,10 +118399,10 @@ ifend2: %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str10486) + call void @fn_emit(ptr @.str10783) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str10487) + call void @fn_emit(ptr @.str10784) br label %ifend5 ifend5: %t42 = load i32, ptr %t18 @@ -111404,7 +118411,7 @@ ifend5: then6: %t44 = load ptr, ptr %t22 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str10488) + call void @fn_emit(ptr @.str10785) store i32 0, ptr @g_g_term %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6 @@ -111434,17 +118441,17 @@ ifend11: %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: - call void @fn_emit(ptr @.str10489) + call void @fn_emit(ptr @.str10786) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str10490) + call void @fn_emit(ptr @.str10787) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str10491) + call void @fn_emit(ptr @.str10788) store i32 0, ptr @g_g_term br label %ret ret: @@ -111460,19 +118467,19 @@ entry: %t13 = alloca ptr %t20 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_lbl(ptr @.str10492) + %t1 = call ptr @fn_lbl(ptr @.str10789) store ptr %t1, ptr %t2 - %t3 = call ptr @fn_lbl(ptr @.str10493) + %t3 = call ptr @fn_lbl(ptr @.str10790) store ptr %t3, ptr %t4 - %t5 = call ptr @fn_lbl(ptr @.str10494) + %t5 = call ptr @fn_lbl(ptr @.str10791) store ptr %t5, ptr %t6 - call void @fn_emit(ptr @.str10495) + call void @fn_emit(ptr @.str10792) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str10496) + call void @fn_emit(ptr @.str10793) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str10497) + call void @fn_emit(ptr @.str10794) %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 @@ -111481,23 +118488,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 @lp_str_concat(ptr @.str10498, ptr %t16) - %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10499) + %t17 = call ptr @lp_str_concat(ptr @.str10795, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10796) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str10500) + call void @fn_emit(ptr @.str10797) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str10501) + call void @fn_emit(ptr @.str10798) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str10502) + call void @fn_emit(ptr @.str10799) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str10503) + call void @fn_emit(ptr @.str10800) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str10504) + call void @fn_emit(ptr @.str10801) store i32 0, ptr @g_g_term %t25 = load ptr, ptr %t2 %t26 = load ptr, ptr %t6 @@ -111513,15 +118520,15 @@ entry: %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str10505) + call void @fn_emit(ptr @.str10802) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str10506) + call void @fn_emit(ptr @.str10803) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str10507) + call void @fn_emit(ptr @.str10804) store i32 0, ptr @g_g_term br label %ret ret: @@ -111543,7 +118550,7 @@ entry: %t62 = alloca ptr %t67 = alloca ptr store ptr %arg_st, ptr %t0 - %t1 = call ptr @fn_emit_alloca(ptr @.str10508) + %t1 = call ptr @fn_emit_alloca(ptr @.str10805) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 @@ -111554,29 +118561,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 @.str10509, ptr %t10, ptr %t11) + call void @fn_store_at(ptr @.str10806, 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 @.str10510) - %t16 = call ptr @fn_lbl(ptr @.str10511) + call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str10807) + %t16 = call ptr @fn_lbl(ptr @.str10808) store ptr %t16, ptr %t17 - %t18 = call ptr @fn_lbl(ptr @.str10512) + %t18 = call ptr @fn_lbl(ptr @.str10809) store ptr %t18, ptr %t19 - %t20 = call ptr @fn_lbl(ptr @.str10513) + %t20 = call ptr @fn_lbl(ptr @.str10810) store ptr %t20, ptr %t21 - %t22 = call ptr @fn_lbl(ptr @.str10514) + %t22 = call ptr @fn_lbl(ptr @.str10811) store ptr %t22, ptr %t23 - call void @fn_emit(ptr @.str10515) + call void @fn_emit(ptr @.str10812) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str10516) + call void @fn_emit(ptr @.str10813) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str10517) + call void @fn_emit(ptr @.str10814) %t26 = load ptr, ptr %t2 - %t27 = call ptr @lp_str_concat(ptr @.str10518, ptr %t26) + %t27 = call ptr @lp_str_concat(ptr @.str10815, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 @@ -111585,27 +118592,27 @@ entry: %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t29 - %t36 = call ptr @lp_str_concat(ptr @.str10519, ptr %t35) - %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10520) + %t36 = call ptr @lp_str_concat(ptr @.str10816, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10817) %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr %t37, ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 - call void @fn_emit(ptr @.str10521) + call void @fn_emit(ptr @.str10818) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str10522) + call void @fn_emit(ptr @.str10819) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str10523) + call void @fn_emit(ptr @.str10820) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str10524) + call void @fn_emit(ptr @.str10821) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str10525) + call void @fn_emit(ptr @.str10822) store i32 0, ptr @g_g_term %t48 = load ptr, ptr %t21 %t49 = load ptr, ptr %t23 @@ -111621,34 +118628,34 @@ entry: %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str10526) + call void @fn_emit(ptr @.str10823) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str10527) + call void @fn_emit(ptr @.str10824) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str10528) + call void @fn_emit(ptr @.str10825) %t59 = load ptr, ptr %t2 - %t60 = call ptr @lp_str_concat(ptr @.str10529, ptr %t59) + %t60 = call ptr @lp_str_concat(ptr @.str10826, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 - %t64 = call ptr @lp_str_concat(ptr @.str10530, ptr %t63) - %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str10531) + %t64 = call ptr @lp_str_concat(ptr @.str10827, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str10828) %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 @.str10532, ptr %t68, ptr %t69) - call void @fn_emit(ptr @.str10533) + call void @fn_store_at(ptr @.str10829, ptr %t68, ptr %t69) + call void @fn_emit(ptr @.str10830) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str10534) + call void @fn_emit(ptr @.str10831) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str10535) + call void @fn_emit(ptr @.str10832) store i32 0, ptr @g_g_term br label %ret ret: @@ -111672,7 +118679,7 @@ entry: br i1 %t7, label %sc0, label %scend1 sc0: %t9 = load ptr, ptr @g_ret_ty - %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10536) + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10833) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t1 @@ -111682,7 +118689,7 @@ scend1: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: - call void @fn_perr(ptr @.str10537) + call void @fn_perr(ptr @.str10834) br label %ifend4 ifend4: %t15 = load ptr, ptr %t0 @@ -111703,12 +118710,12 @@ then5: %t28 = load ptr, ptr %t25 %t29 = load ptr, ptr @g_ret_ty %t30 = call ptr @fn_coerce_code(ptr %t28, ptr %t29) - call void @fn_store_at(ptr %t27, ptr %t30, ptr @.str10538) + call void @fn_store_at(ptr %t27, ptr %t30, ptr @.str10835) br label %ifend7 ifend7: %t31 = load ptr, ptr @g_g_ret_label - %t32 = call ptr @lp_str_concat(ptr @.str10539, ptr %t31) - %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10540) + %t32 = call ptr @lp_str_concat(ptr @.str10836, ptr %t31) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10837) call void @fn_emit(ptr %t33) store i32 1, ptr @g_g_term br label %ret @@ -111757,7 +118764,7 @@ wbody4: br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10541, i32 %t20, i32 %t22) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10838, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: @@ -111897,7 +118904,7 @@ wbody18: br i1 %t72, label %ixok20, label %ixbad21 ixbad21: %t73 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10542, i32 %t69, i32 %t71) + call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10839, i32 %t69, i32 %t71) call void @exit(i32 1) unreachable ixok20: @@ -111973,7 +118980,7 @@ wbody1: br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10543, i32 %t17, i32 %t19) + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10840, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: @@ -112000,7 +119007,7 @@ sc5: br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10544, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10841, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok7: @@ -112008,7 +119015,7 @@ ixok7: %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 - %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10545) + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10842) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t11 @@ -112069,7 +119076,7 @@ entry: br i1 %t19, label %ixok0, label %ixbad1 ixbad1: %t20 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10546, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10843, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok0: @@ -112096,8 +119103,8 @@ then2: %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 - %t42 = call ptr @lp_str_concat(ptr @.str10547, ptr %t41) - %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str10548) + %t42 = call ptr @lp_str_concat(ptr @.str10844, ptr %t41) + %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str10845) %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 @@ -112105,7 +119112,7 @@ then2: %t48 = load i32, ptr %t47 %t49 = call ptr @fn_itoa(i32 %t48) %t50 = call ptr @lp_str_concat(ptr %t43, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10549) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10846) %t52 = load ptr, ptr %t23 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 %t54 = load ptr, ptr %t53 @@ -112142,7 +119149,7 @@ wbody6: br i1 %t77, label %ixok8, label %ixbad9 ixbad9: %t78 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10550, i32 %t74, i32 %t76) + call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10847, i32 %t74, i32 %t76) call void @exit(i32 1) unreachable ixok8: @@ -112162,12 +119169,12 @@ then10: %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 - %t93 = call ptr @lp_str_concat(ptr @.str10551, ptr %t92) - %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10552) + %t93 = call ptr @lp_str_concat(ptr @.str10848, ptr %t92) + %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10849) %t95 = load i32, ptr %t59 %t96 = call ptr @fn_itoa(i32 %t95) %t97 = call ptr @lp_str_concat(ptr %t94, ptr %t96) - %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10553) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10850) call void @fn_perr(ptr %t98) br label %ifend12 ifend12: @@ -112183,7 +119190,7 @@ ifend12: br i1 %t107, label %ixok13, label %ixbad14 ixbad14: %t108 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10554, i32 %t104, i32 %t106) + call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10851, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok13: @@ -112197,24 +119204,24 @@ ixok13: store ptr %t115, ptr %t116 %t117 = call ptr @fn_nreg() store ptr %t117, ptr %t118 - call void @fn_emit(ptr @.str10555) + call void @fn_emit(ptr @.str10852) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str10556) + call void @fn_emit(ptr @.str10853) %t120 = load ptr, ptr %t2 %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 @.str10557) + call void @fn_emit(ptr @.str10854) %t123 = load i32, ptr %t59 %t124 = add i32 %t123, 1 %t125 = mul i32 8, %t124 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10558) + call void @fn_emit(ptr @.str10855) %t127 = load ptr, ptr %t116 - %t128 = call ptr @lp_str_concat(ptr @.str10559, ptr %t127) - %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10560) + %t128 = call ptr @lp_str_concat(ptr @.str10856, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10857) %t130 = load ptr, ptr %t118 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @fn_emit_bind(ptr %t131) @@ -112238,7 +119245,7 @@ ixok13: br i1 %t148, label %ixok15, label %ixbad16 ixbad16: %t149 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str10561, i32 %t145, i32 %t147) + call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str10858, i32 %t145, i32 %t147) call void @exit(i32 1) unreachable ixok15: @@ -112289,10 +119296,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 @lp_str_concat(ptr @.str10562, ptr %t5) + %t6 = call ptr @lp_str_concat(ptr @.str10859, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 - %t9 = call ptr @fn_lbl(ptr @.str10563) + %t9 = call ptr @fn_lbl(ptr @.str10860) store ptr %t9, ptr %t10 store ptr null, ptr %t11 store i32 0, ptr %t12 @@ -112322,7 +119329,7 @@ wbody1: br i1 %t31, label %ixok3, label %ixbad4 ixbad4: %t32 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10564, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10861, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok3: @@ -112338,7 +119345,7 @@ then5: store ptr %t39, ptr %t11 br label %ifend7 else6: - store ptr @.str10565, ptr %t40 + store ptr @.str10862, ptr %t40 store i32 1, ptr %t41 store ptr null, ptr %t42 store i32 0, ptr %t43 @@ -112367,7 +119374,7 @@ wbody9: br i1 %t61, label %ixok11, label %ixbad12 ixbad12: %t62 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10566, i32 %t58, i32 %t60) + call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10863, i32 %t58, i32 %t60) call void @exit(i32 1) unreachable ixok11: @@ -112407,8 +119414,8 @@ ifend15: br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t69 - %t91 = call ptr @lp_str_concat(ptr @.str10567, ptr %t90) - %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str10568) + %t91 = call ptr @lp_str_concat(ptr @.str10864, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str10865) %t93 = load ptr, ptr %t2 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 @@ -112422,8 +119429,8 @@ ifend18: %t100 = or i32 %t97, %t99 store i32 %t100, ptr %t12 %t101 = load ptr, ptr %t8 - %t102 = call ptr @lp_str_concat(ptr @.str10569, ptr %t101) - %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10570) + %t102 = call ptr @lp_str_concat(ptr @.str10866, ptr %t101) + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10867) %t104 = load i32, ptr %t85 %t105 = call ptr @fn_itoa(i32 %t104) %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) @@ -112439,8 +119446,8 @@ then19: br label %ifend21 else20: %t112 = load ptr, ptr %t40 - %t113 = call ptr @lp_str_concat(ptr @.str10571, ptr %t112) - %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10572) + %t113 = call ptr @lp_str_concat(ptr @.str10868, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10869) %t115 = load ptr, ptr %t108 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @fn_emit_bind(ptr %t116) @@ -112452,23 +119459,23 @@ ifend21: store i32 %t119, ptr %t43 br label %wcond8 wend10: - %t120 = call ptr @fn_lbl(ptr @.str10573) + %t120 = call ptr @fn_lbl(ptr @.str10870) store ptr %t120, ptr %t121 - %t122 = call ptr @fn_lbl(ptr @.str10574) + %t122 = call ptr @fn_lbl(ptr @.str10871) store ptr %t122, ptr %t123 - call void @fn_emit(ptr @.str10575) + call void @fn_emit(ptr @.str10872) %t124 = load ptr, ptr %t40 call void @fn_emit(ptr %t124) - call void @fn_emit(ptr @.str10576) + call void @fn_emit(ptr @.str10873) %t125 = load ptr, ptr %t121 call void @fn_emit(ptr %t125) - call void @fn_emit(ptr @.str10577) + call void @fn_emit(ptr @.str10874) %t126 = load ptr, ptr %t123 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10578) + call void @fn_emit(ptr @.str10875) %t127 = load ptr, ptr %t121 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str10579) + call void @fn_emit(ptr @.str10876) store i32 0, ptr @g_g_term %t128 = load i32, ptr @g_nloc store i32 %t128, ptr %t129 @@ -112496,15 +119503,15 @@ ifend24: %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str10580) + call void @fn_emit(ptr @.str10877) %t145 = load ptr, ptr %t10 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str10581) + call void @fn_emit(ptr @.str10878) br label %ifend27 ifend27: %t146 = load ptr, ptr %t123 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str10582) + call void @fn_emit(ptr @.str10879) store i32 0, ptr @g_g_term br label %ifend7 ifend7: @@ -112568,8 +119575,8 @@ then37: %t188 = load ptr, ptr %t2 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 - %t191 = call ptr @lp_str_concat(ptr @.str10583, ptr %t190) - %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10584) + %t191 = call ptr @lp_str_concat(ptr @.str10880, ptr %t190) + %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10881) %t193 = load ptr, ptr %t2 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 @@ -112582,7 +119589,7 @@ then37: br i1 %t201, label %ixok40, label %ixbad41 ixbad41: %t202 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str10585, i32 %t198, i32 %t200) + call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str10882, i32 %t198, i32 %t200) call void @exit(i32 1) unreachable ixok40: @@ -112591,7 +119598,7 @@ ixok40: %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = call ptr @lp_str_concat(ptr %t192, ptr %t206) - %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str10586) + %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str10883) call void @fn_perr(ptr %t208) br label %ifend39 ifend39: @@ -112610,15 +119617,15 @@ ifend30: %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then42, label %ifend44 then42: - call void @fn_emit(ptr @.str10587) + call void @fn_emit(ptr @.str10884) %t215 = load ptr, ptr %t10 call void @fn_emit(ptr %t215) - call void @fn_emit(ptr @.str10588) + call void @fn_emit(ptr @.str10885) br label %ifend44 ifend44: %t216 = load ptr, ptr %t10 call void @fn_emit(ptr %t216) - call void @fn_emit(ptr @.str10589) + call void @fn_emit(ptr @.str10886) store i32 0, ptr @g_g_term br label %ret ret: @@ -112664,7 +119671,7 @@ then0: call void @fn_emit_match_tagged(ptr %t15, ptr %t16, ptr %t17) br label %ret ifend2: - %t18 = call ptr @fn_lbl(ptr @.str10590) + %t18 = call ptr @fn_lbl(ptr @.str10887) store ptr %t18, ptr %t19 store ptr null, ptr %t20 store i32 0, ptr %t21 @@ -112693,7 +119700,7 @@ wbody4: br i1 %t39, label %ixok6, label %ixbad7 ixbad7: %t40 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10591, i32 %t36, i32 %t38) + call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10888, i32 %t36, i32 %t38) call void @exit(i32 1) unreachable ixok6: @@ -112709,7 +119716,7 @@ then8: store ptr %t47, ptr %t20 br label %ifend10 else9: - store ptr @.str10592, ptr %t48 + store ptr @.str10889, ptr %t48 store i32 1, ptr %t49 store i32 0, ptr %t50 br label %wcond11 @@ -112737,7 +119744,7 @@ wbody12: br i1 %t68, label %ixok14, label %ixbad15 ixbad15: %t69 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str10593, i32 %t65, i32 %t67) + call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str10890, i32 %t65, i32 %t67) call void @exit(i32 1) unreachable ixok14: @@ -112748,8 +119755,8 @@ ixok14: %t74 = load ptr, ptr %t5 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 - %t77 = call ptr @lp_str_concat(ptr @.str10594, ptr %t76) - %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10595) + %t77 = call ptr @lp_str_concat(ptr @.str10891, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10892) %t79 = load ptr, ptr %t73 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 @@ -112766,8 +119773,8 @@ then16: br label %ifend18 else17: %t88 = load ptr, ptr %t48 - %t89 = call ptr @lp_str_concat(ptr @.str10596, ptr %t88) - %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10597) + %t89 = call ptr @lp_str_concat(ptr @.str10893, ptr %t88) + %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10894) %t91 = load ptr, ptr %t84 %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) @@ -112779,23 +119786,23 @@ ifend18: store i32 %t95, ptr %t50 br label %wcond11 wend13: - %t96 = call ptr @fn_lbl(ptr @.str10598) + %t96 = call ptr @fn_lbl(ptr @.str10895) store ptr %t96, ptr %t97 - %t98 = call ptr @fn_lbl(ptr @.str10599) + %t98 = call ptr @fn_lbl(ptr @.str10896) store ptr %t98, ptr %t99 - call void @fn_emit(ptr @.str10600) + call void @fn_emit(ptr @.str10897) %t100 = load ptr, ptr %t48 call void @fn_emit(ptr %t100) - call void @fn_emit(ptr @.str10601) + call void @fn_emit(ptr @.str10898) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str10602) + call void @fn_emit(ptr @.str10899) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str10603) + call void @fn_emit(ptr @.str10900) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str10604) + call void @fn_emit(ptr @.str10901) store i32 0, ptr @g_g_term %t104 = load ptr, ptr %t43 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 @@ -112807,15 +119814,15 @@ wend13: %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then19, label %ifend21 then19: - call void @fn_emit(ptr @.str10605) + call void @fn_emit(ptr @.str10902) %t111 = load ptr, ptr %t19 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str10606) + call void @fn_emit(ptr @.str10903) br label %ifend21 ifend21: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) - call void @fn_emit(ptr @.str10607) + call void @fn_emit(ptr @.str10904) store i32 0, ptr @g_g_term br label %ifend10 ifend10: @@ -112842,15 +119849,15 @@ ifend24: %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str10608) + call void @fn_emit(ptr @.str10905) %t126 = load ptr, ptr %t19 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10609) + call void @fn_emit(ptr @.str10906) br label %ifend27 ifend27: %t127 = load ptr, ptr %t19 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str10610) + call void @fn_emit(ptr @.str10907) store i32 0, ptr @g_g_term br label %ret ret: @@ -112895,7 +119902,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 @lp_str_concat(ptr @.str10611, ptr %t12) + %t13 = call ptr @lp_str_concat(ptr @.str10908, ptr %t12) call void @fn_perr(ptr %t13) br label %ifend2 ifend2: @@ -112950,7 +119957,7 @@ wbody4: br i1 %t50, label %ixok6, label %ixbad7 ixbad7: %t51 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str10612, i32 %t47, i32 %t49) + call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str10909, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok6: @@ -112988,7 +119995,7 @@ wbody9: br i1 %t78, label %ixok11, label %ixbad12 ixbad12: %t79 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str10613, i32 %t75, i32 %t77) + call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str10910, i32 %t75, i32 %t77) call void @exit(i32 1) unreachable ixok11: @@ -113017,7 +120024,7 @@ then13: br i1 %t99, label %ixok16, label %ixbad17 ixbad17: %t100 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str10614, i32 %t96, i32 %t98) + call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str10911, i32 %t96, i32 %t98) call void @exit(i32 1) unreachable ixok16: @@ -113038,13 +120045,13 @@ wend10: %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_llty(ptr %t109) store ptr %t110, ptr %t111 - store ptr @.str10615, ptr %t112 + store ptr @.str10912, ptr %t112 %t113 = load ptr, ptr %t111 - %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str10616) + %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str10913) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then18, label %ifend20 then18: - store ptr @.str10617, ptr %t112 + store ptr @.str10914, ptr %t112 br label %ifend20 ifend20: %t116 = load ptr, ptr %t55 @@ -113154,21 +120161,21 @@ wend5: then31: %t188 = call ptr @fn_nreg() store ptr %t188, ptr %t189 - call void @fn_emit(ptr @.str10618) + call void @fn_emit(ptr @.str10915) %t190 = load ptr, ptr %t189 call void @fn_emit(ptr %t190) - call void @fn_emit(ptr @.str10619) - call void @fn_emit(ptr @.str10620) + call void @fn_emit(ptr @.str10916) + call void @fn_emit(ptr @.str10917) %t191 = load ptr, ptr %t0 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 %t193 = load ptr, ptr %t192 %t194 = call i32 @fn_net_event_id(ptr %t193) %t195 = call ptr @fn_itoa(i32 %t194) call void @fn_emit(ptr %t195) - call void @fn_emit(ptr @.str10621) + call void @fn_emit(ptr @.str10918) %t196 = load ptr, ptr %t189 call void @fn_emit(ptr %t196) - call void @fn_emit(ptr @.str10622) + call void @fn_emit(ptr @.str10919) store i32 4, ptr %t197 store i32 0, ptr %t198 br label %wcond34 @@ -113186,15 +120193,15 @@ wcond34: wbody35: %t208 = call ptr @fn_nreg() store ptr %t208, ptr %t209 - call void @fn_emit(ptr @.str10623) + call void @fn_emit(ptr @.str10920) %t210 = load ptr, ptr %t209 call void @fn_emit(ptr %t210) - call void @fn_emit(ptr @.str10624) + call void @fn_emit(ptr @.str10921) %t211 = load i32, ptr %t197 %t212 = call ptr @fn_itoa(i32 %t211) call void @fn_emit(ptr %t212) - call void @fn_emit(ptr @.str10625) - call void @fn_emit(ptr @.str10626) + call void @fn_emit(ptr @.str10922) + call void @fn_emit(ptr @.str10923) %t213 = load ptr, ptr %t31 %t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0 %t215 = load ptr, ptr %t214 @@ -113205,14 +120212,14 @@ wbody35: br i1 %t219, label %ixok37, label %ixbad38 ixbad38: %t220 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str10627, i32 %t216, i32 %t218) + call i32 (ptr, ptr, ...) @fprintf(ptr %t220, ptr @.fmt_bounds, ptr @.str10924, i32 %t216, i32 %t218) call void @exit(i32 1) unreachable ixok37: %t221 = getelementptr inbounds ptr, ptr %t215, i32 %t216 %t222 = load ptr, ptr %t221 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str10628) + call void @fn_emit(ptr @.str10925) %t223 = load ptr, ptr %t24 %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t225 = load ptr, ptr %t224 @@ -113223,17 +120230,17 @@ ixok37: br i1 %t229, label %ixok39, label %ixbad40 ixbad40: %t230 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str10629, i32 %t226, i32 %t228) + call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str10926, i32 %t226, i32 %t228) call void @exit(i32 1) unreachable ixok39: %t231 = getelementptr inbounds ptr, ptr %t225, i32 %t226 %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) - call void @fn_emit(ptr @.str10630) + call void @fn_emit(ptr @.str10927) %t233 = load ptr, ptr %t209 call void @fn_emit(ptr %t233) - call void @fn_emit(ptr @.str10631) + call void @fn_emit(ptr @.str10928) %t234 = load ptr, ptr %t5 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7 %t236 = load ptr, ptr %t235 @@ -113246,7 +120253,7 @@ ixok39: br i1 %t242, label %ixok41, label %ixbad42 ixbad42: %t243 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str10632, i32 %t239, i32 %t241) + call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str10929, i32 %t239, i32 %t241) call void @exit(i32 1) unreachable ixok41: @@ -113263,18 +120270,18 @@ ixok41: store i32 %t252, ptr %t198 br label %wcond34 wend36: - store ptr @.str10633, ptr %t253 + store ptr @.str10930, ptr %t253 %t254 = load ptr, ptr %t5 %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 3 %t256 = load ptr, ptr %t255 - %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str10634) + %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str10931) %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then43, label %ifend45 then43: - store ptr @.str10635, ptr %t253 + store ptr @.str10932, ptr %t253 br label %ifend45 ifend45: - %t259 = call ptr @fn_find_extern(ptr @.str10636) + %t259 = call ptr @fn_find_extern(ptr @.str10933) %t260 = icmp eq ptr %t259, null %t261 = zext i1 %t260 to i32 %t262 = icmp ne i32 %t261, 0 @@ -113283,18 +120290,18 @@ then46: store i32 1, ptr @g_g_uses_loopback br label %ifend48 ifend48: - call void @fn_emit(ptr @.str10637) + call void @fn_emit(ptr @.str10934) %t263 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str10638) + call void @fn_emit(ptr @.str10935) %t264 = load ptr, ptr %t253 call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str10639) + call void @fn_emit(ptr @.str10936) %t265 = load i32, ptr %t197 %t266 = call ptr @fn_itoa(i32 %t265) call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str10640) - %t267 = call ptr @fn_val(ptr @.str10641, ptr @.str10642) + call void @fn_emit(ptr @.str10937) + %t267 = call ptr @fn_val(ptr @.str10938, ptr @.str10939) store ptr %t267, ptr %retval br label %ret ifend33: @@ -113319,7 +120326,7 @@ wbody50: br i1 %t281, label %then52, label %ifend54 then52: %t282 = load ptr, ptr %t269 - call void @fn_buf_puts(ptr %t282, ptr @.str10643) + call void @fn_buf_puts(ptr %t282, ptr @.str10940) br label %ifend54 ifend54: %t283 = load ptr, ptr %t269 @@ -113333,7 +120340,7 @@ ifend54: br i1 %t290, label %ixok55, label %ixbad56 ixbad56: %t291 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str10644, i32 %t287, i32 %t289) + call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str10941, i32 %t287, i32 %t289) call void @exit(i32 1) unreachable ixok55: @@ -113341,7 +120348,7 @@ ixok55: %t293 = load ptr, ptr %t292 call void @fn_buf_puts(ptr %t283, ptr %t293) %t294 = load ptr, ptr %t269 - call void @fn_buf_puts(ptr %t294, ptr @.str10645) + call void @fn_buf_puts(ptr %t294, ptr @.str10942) %t295 = load ptr, ptr %t269 %t296 = load ptr, ptr %t24 %t297 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 @@ -113353,7 +120360,7 @@ ixok55: br i1 %t302, label %ixok57, label %ixbad58 ixbad58: %t303 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str10646, i32 %t299, i32 %t301) + call i32 (ptr, ptr, ...) @fprintf(ptr %t303, ptr @.fmt_bounds, ptr @.str10943, i32 %t299, i32 %t301) call void @exit(i32 1) unreachable ixok57: @@ -113375,35 +120382,35 @@ wend51: then59: %t314 = call ptr @fn_nreg() store ptr %t314, ptr %t315 - call void @fn_emit(ptr @.str10647) + call void @fn_emit(ptr @.str10944) %t316 = load ptr, ptr %t315 call void @fn_emit(ptr %t316) - call void @fn_emit(ptr @.str10648) + call void @fn_emit(ptr @.str10945) %t317 = load ptr, ptr %t0 %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 1 %t319 = load ptr, ptr %t318 call void @fn_emit(ptr %t319) - call void @fn_emit(ptr @.str10649) + call void @fn_emit(ptr @.str10946) %t320 = load ptr, ptr %t269 %t321 = call ptr @fn_buf_str(ptr %t320) call void @fn_emit(ptr %t321) - call void @fn_emit(ptr @.str10650) + call void @fn_emit(ptr @.str10947) %t322 = load ptr, ptr %t315 - %t323 = call ptr @fn_val(ptr %t322, ptr @.str10651) + %t323 = call ptr @fn_val(ptr %t322, ptr @.str10948) store ptr %t323, ptr %retval br label %ret ifend61: - call void @fn_emit(ptr @.str10652) + call void @fn_emit(ptr @.str10949) %t324 = load ptr, ptr %t0 %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 1 %t326 = load ptr, ptr %t325 call void @fn_emit(ptr %t326) - call void @fn_emit(ptr @.str10653) + call void @fn_emit(ptr @.str10950) %t327 = load ptr, ptr %t269 %t328 = call ptr @fn_buf_str(ptr %t327) call void @fn_emit(ptr %t328) - call void @fn_emit(ptr @.str10654) - %t329 = call ptr @fn_val(ptr @.str10655, ptr @.str10656) + call void @fn_emit(ptr @.str10951) + %t329 = call ptr @fn_val(ptr @.str10952, ptr @.str10953) store ptr %t329, ptr %retval br label %ret ret: @@ -113606,7 +120613,7 @@ ifend23: %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then24, label %ifend26 then24: - call void @fn_emit(ptr @.str10657) + call void @fn_emit(ptr @.str10954) %t129 = load ptr, ptr @g_brk_lbl %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 @@ -113618,14 +120625,14 @@ then24: br i1 %t136, label %ixok27, label %ixbad28 ixbad28: %t137 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10658, i32 %t133, i32 %t135) + call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10955, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok27: %t138 = getelementptr inbounds ptr, ptr %t131, i32 %t133 %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str10659) + call void @fn_emit(ptr @.str10956) store i32 1, ptr @g_g_term br label %ret ifend26: @@ -113637,7 +120644,7 @@ ifend26: %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then29, label %ifend31 then29: - call void @fn_emit(ptr @.str10660) + call void @fn_emit(ptr @.str10957) %t146 = load ptr, ptr @g_cnt_lbl %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 @@ -113649,14 +120656,14 @@ then29: br i1 %t153, label %ixok32, label %ixbad33 ixbad33: %t154 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10661, i32 %t150, i32 %t152) + call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10958, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok32: %t155 = getelementptr inbounds ptr, ptr %t148, i32 %t150 %t156 = load ptr, ptr %t155 call void @fn_emit(ptr %t156) - call void @fn_emit(ptr @.str10662) + call void @fn_emit(ptr @.str10959) store i32 1, ptr @g_g_term br label %ret ifend31: @@ -113772,13 +120779,13 @@ then58: %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then61, label %ifend63 then61: - call void @fn_perr(ptr @.str10663) + call void @fn_perr(ptr @.str10960) br label %ifend63 ifend63: - call void @fn_emit(ptr @.str10664) + call void @fn_emit(ptr @.str10961) %t227 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t227) - call void @fn_emit(ptr @.str10665) + call void @fn_emit(ptr @.str10962) br label %ret ifend60: %t228 = load ptr, ptr %t0 @@ -113820,7 +120827,7 @@ then70: store ptr %t251, ptr %t252 br label %ret ifend72: - call void @fn_perr(ptr @.str10666) + call void @fn_perr(ptr @.str10963) br label %ret ret: ret void @@ -113851,7 +120858,7 @@ then0: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10667, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10964, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -113868,7 +120875,7 @@ ixok3: br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str10668, i32 %t22, i32 %t24) + call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str10965, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok5: @@ -113979,7 +120986,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10669, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10966, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -114040,7 +121047,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10670, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10967, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -114094,7 +121101,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10671, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10968, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -114114,7 +121121,7 @@ ifend7: store i32 %t23, ptr %t0 br label %wcond0 wend2: - %t24 = call ptr @fn_find_comp(ptr @.str10672) + %t24 = call ptr @fn_find_comp(ptr @.str10969) %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 @@ -114156,7 +121163,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10673, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10970, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -114214,9 +121221,9 @@ entry: %t24 = alloca i32 %t42 = alloca ptr %t94 = alloca i32 - call void @fn_emith(ptr @.str10674) - call void @fn_emith(ptr @.str10675) - call void @fn_emith(ptr @.str10676) + call void @fn_emith(ptr @.str10971) + call void @fn_emith(ptr @.str10972) + call void @fn_emith(ptr @.str10973) %t0 = load ptr, ptr @g_g_scenes %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -114225,31 +121232,31 @@ entry: %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: - call void @fn_emith(ptr @.str10677) + call void @fn_emith(ptr @.str10974) br label %ifend2 ifend2: - call void @fn_emith(ptr @.str10678) + call void @fn_emith(ptr @.str10975) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @lp_str_concat(ptr @.str10679, ptr %t8) - %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10680) + %t9 = call ptr @lp_str_concat(ptr @.str10976, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10977) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 - %t12 = call ptr @lp_str_concat(ptr @.str10681, ptr %t11) - %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10682) + %t12 = call ptr @lp_str_concat(ptr @.str10978, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10979) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 - %t15 = call ptr @lp_str_concat(ptr @.str10683, ptr %t14) - %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10684) + %t15 = call ptr @lp_str_concat(ptr @.str10980, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10981) call void @fn_emith(ptr %t16) - call void @fn_emith(ptr @.str10685) + call void @fn_emith(ptr @.str10982) %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 @.str10686) - call void @fn_emith(ptr @.str10687) + call void @fn_emith(ptr @.str10983) + call void @fn_emith(ptr @.str10984) br label %ifend5 ifend5: %t19 = call i32 @fn_net_has_owned() @@ -114257,8 +121264,8 @@ ifend5: br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t7 - %t22 = call ptr @lp_str_concat(ptr @.str10688, ptr %t21) - %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str10689) + %t22 = call ptr @lp_str_concat(ptr @.str10985, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str10986) call void @fn_emith(ptr %t23) br label %ifend8 ifend8: @@ -114284,7 +121291,7 @@ wbody10: br i1 %t38, label %ixok12, label %ixbad13 ixbad13: %t39 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10690, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10987, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok12: @@ -114302,25 +121309,25 @@ then14: %t49 = load ptr, ptr %t42 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 - %t52 = call ptr @lp_str_concat(ptr @.str10691, ptr %t51) - %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10692) + %t52 = call ptr @lp_str_concat(ptr @.str10988, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10989) %t54 = load ptr, ptr %t7 %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) - %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10693) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10990) %t57 = load ptr, ptr %t42 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr %t56, ptr %t59) - %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10694) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10991) call void @fn_emith(ptr %t61) %t62 = load ptr, ptr %t42 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 - %t65 = call ptr @lp_str_concat(ptr @.str10695, ptr %t64) - %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10696) + %t65 = call ptr @lp_str_concat(ptr @.str10992, ptr %t64) + %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10993) %t67 = load ptr, ptr %t7 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) - %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10697) + %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10994) call void @fn_emith(ptr %t69) br label %ifend16 ifend16: @@ -114335,8 +121342,8 @@ then17: %t76 = load ptr, ptr %t42 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 - %t79 = call ptr @lp_str_concat(ptr @.str10698, ptr %t78) - %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10699) + %t79 = call ptr @lp_str_concat(ptr @.str10995, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10996) call void @fn_emith(ptr %t80) br label %ifend19 ifend19: @@ -114351,8 +121358,8 @@ then20: %t87 = load ptr, ptr %t42 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 - %t90 = call ptr @lp_str_concat(ptr @.str10700, ptr %t89) - %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10701) + %t90 = call ptr @lp_str_concat(ptr @.str10997, ptr %t89) + %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10998) call void @fn_emith(ptr %t91) br label %ifend22 ifend22: @@ -114383,14 +121390,14 @@ wbody24: br i1 %t108, label %ixok26, label %ixbad27 ixbad27: %t109 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str10703, i32 %t105, i32 %t107) + call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str11000, i32 %t105, i32 %t107) call void @exit(i32 1) unreachable ixok26: %t110 = getelementptr inbounds ptr, ptr %t104, i32 %t105 %t111 = load ptr, ptr %t110 - %t112 = call ptr @lp_str_concat(ptr @.str10702, ptr %t111) - %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str10704) + %t112 = call ptr @lp_str_concat(ptr @.str10999, ptr %t111) + %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str11001) call void @fn_emith(ptr %t113) %t114 = load i32, ptr %t94 %t115 = add i32 %t114, 1 @@ -114409,7 +121416,7 @@ entry: %t28 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str10705) + call void @fn_emit(ptr @.str11002) store i32 0, ptr %t2 br label %wcond0 wcond0: @@ -114432,7 +121439,7 @@ wbody1: br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10706, i32 %t13, i32 %t15) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str11003, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: @@ -114447,15 +121454,15 @@ ixok3: then5: %t25 = load i32, ptr %t2 %t26 = call ptr @fn_itoa(i32 %t25) - %t27 = call ptr @lp_str_concat(ptr @.str10707, ptr %t26) + %t27 = call ptr @lp_str_concat(ptr @.str11004, ptr %t26) store ptr %t27, ptr %t28 - call void @fn_emit(ptr @.str10708) + call void @fn_emit(ptr @.str11005) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str10709) + call void @fn_emit(ptr @.str11006) %t30 = load ptr, ptr %t1 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str10710) + call void @fn_emit(ptr @.str11007) %t31 = load ptr, ptr @g_prog %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 @@ -114466,7 +121473,7 @@ then5: br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str10711, i32 %t34, i32 %t36) + call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str11008, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: @@ -114475,11 +121482,11 @@ ixok8: %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str10712) - call void @fn_emit(ptr @.str10713) + call void @fn_emit(ptr @.str11009) + call void @fn_emit(ptr @.str11010) %t43 = load ptr, ptr %t28 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str10714) + call void @fn_emit(ptr @.str11011) br label %ifend7 ifend7: %t44 = load i32, ptr %t2 @@ -114487,66 +121494,66 @@ ifend7: store i32 %t45, ptr %t2 br label %wcond0 wend2: - call void @fn_emit(ptr @.str10715) + call void @fn_emit(ptr @.str11012) %t46 = load ptr, ptr %t1 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str10716) - call void @fn_emit(ptr @.str10717) + call void @fn_emit(ptr @.str11013) + call void @fn_emit(ptr @.str11014) %t47 = call i32 @fn_net_has_owned() %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str10718) + call void @fn_emit(ptr @.str11015) %t49 = load ptr, ptr %t1 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str10719) - call void @fn_emit(ptr @.str10720) + call void @fn_emit(ptr @.str11016) + call void @fn_emit(ptr @.str11017) br label %ifend12 ifend12: - call void @fn_emit(ptr @.str10721) - call void @fn_emit(ptr @.str10722) - call void @fn_emit(ptr @.str10723) - call void @fn_emit(ptr @.str10724) - call void @fn_emit(ptr @.str10725) - call void @fn_emit(ptr @.str10726) - call void @fn_emit(ptr @.str10727) - call void @fn_emit(ptr @.str10728) - call void @fn_emit(ptr @.str10729) + call void @fn_emit(ptr @.str11018) + call void @fn_emit(ptr @.str11019) + call void @fn_emit(ptr @.str11020) + call void @fn_emit(ptr @.str11021) + call void @fn_emit(ptr @.str11022) + call void @fn_emit(ptr @.str11023) + call void @fn_emit(ptr @.str11024) + call void @fn_emit(ptr @.str11025) + call void @fn_emit(ptr @.str11026) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str10730) - call void @fn_emit(ptr @.str10731) - call void @fn_emit(ptr @.str10732) - call void @fn_emit(ptr @.str10733) - call void @fn_emit(ptr @.str10734) - call void @fn_emit(ptr @.str10735) - call void @fn_emit(ptr @.str10736) - call void @fn_emit(ptr @.str10737) - call void @fn_emit(ptr @.str10738) - call void @fn_emit(ptr @.str10739) - call void @fn_emit(ptr @.str10740) - call void @fn_emit(ptr @.str10741) + call void @fn_emit(ptr @.str11027) + call void @fn_emit(ptr @.str11028) + call void @fn_emit(ptr @.str11029) + call void @fn_emit(ptr @.str11030) + call void @fn_emit(ptr @.str11031) + call void @fn_emit(ptr @.str11032) + call void @fn_emit(ptr @.str11033) + call void @fn_emit(ptr @.str11034) + call void @fn_emit(ptr @.str11035) + call void @fn_emit(ptr @.str11036) + call void @fn_emit(ptr @.str11037) + call void @fn_emit(ptr @.str11038) %t51 = load ptr, ptr %t1 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str10742) - call void @fn_emit(ptr @.str10743) - call void @fn_emit(ptr @.str10744) - call void @fn_emit(ptr @.str10745) - call void @fn_emit(ptr @.str10746) + call void @fn_emit(ptr @.str11039) + call void @fn_emit(ptr @.str11040) + call void @fn_emit(ptr @.str11041) + call void @fn_emit(ptr @.str11042) + call void @fn_emit(ptr @.str11043) %t52 = load ptr, ptr %t1 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str10747) - call void @fn_emit(ptr @.str10748) - call void @fn_emit(ptr @.str10749) - call void @fn_emit(ptr @.str10750) - call void @fn_emit(ptr @.str10751) + call void @fn_emit(ptr @.str11044) + call void @fn_emit(ptr @.str11045) + call void @fn_emit(ptr @.str11046) + call void @fn_emit(ptr @.str11047) + call void @fn_emit(ptr @.str11048) %t53 = load ptr, ptr %t1 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str10752) - call void @fn_emit(ptr @.str10753) - call void @fn_emit(ptr @.str10754) - call void @fn_emit(ptr @.str10755) - call void @fn_emit(ptr @.str10756) + call void @fn_emit(ptr @.str11049) + call void @fn_emit(ptr @.str11050) + call void @fn_emit(ptr @.str11051) + call void @fn_emit(ptr @.str11052) + call void @fn_emit(ptr @.str11053) br label %ret ret: ret void @@ -114582,7 +121589,7 @@ wbody1: br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10757, i32 %t13, i32 %t15) + call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str11054, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: @@ -114605,7 +121612,7 @@ then5: br i1 %t31, label %ixok8, label %ixbad9 ixbad9: %t32 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10758, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str11055, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok8: @@ -114683,10 +121690,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 @.str10759) + %t3 = call ptr @fn_emit_alloca(ptr @.str11056) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - call void @fn_store_at(ptr @.str10760, ptr @.str10761, ptr %t5) + call void @fn_store_at(ptr @.str11057, ptr @.str11058, 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 @@ -114706,7 +121713,7 @@ then0: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10762, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str11059, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -114748,88 +121755,88 @@ ifend2: %t43 = load i32, ptr @g_nself %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_nself - %t45 = call ptr @fn_lbl(ptr @.str10763) + %t45 = call ptr @fn_lbl(ptr @.str11060) store ptr %t45, ptr %t46 - %t47 = call ptr @fn_lbl(ptr @.str10764) + %t47 = call ptr @fn_lbl(ptr @.str11061) store ptr %t47, ptr %t48 - %t49 = call ptr @fn_lbl(ptr @.str10765) + %t49 = call ptr @fn_lbl(ptr @.str11062) store ptr %t49, ptr %t50 - %t51 = call ptr @fn_lbl(ptr @.str10766) + %t51 = call ptr @fn_lbl(ptr @.str11063) store ptr %t51, ptr %t52 - call void @fn_emit(ptr @.str10767) + call void @fn_emit(ptr @.str11064) %t53 = load ptr, ptr %t46 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str10768) + call void @fn_emit(ptr @.str11065) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str10769) + call void @fn_emit(ptr @.str11066) %t55 = load ptr, ptr %t4 - %t56 = call ptr @lp_str_concat(ptr @.str10770, ptr %t55) + %t56 = call ptr @lp_str_concat(ptr @.str11067, ptr %t55) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 - %t59 = call ptr @fn_emit_bind(ptr @.str10771) + %t59 = call ptr @fn_emit_bind(ptr @.str11068) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t58 - %t62 = call ptr @lp_str_concat(ptr @.str10772, ptr %t61) - %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str10773) + %t62 = call ptr @lp_str_concat(ptr @.str11069, ptr %t61) + %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11070) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 - call void @fn_emit(ptr @.str10774) + call void @fn_emit(ptr @.str11071) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str10775) + call void @fn_emit(ptr @.str11072) %t69 = load ptr, ptr %t48 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str10776) + call void @fn_emit(ptr @.str11073) %t70 = load ptr, ptr %t52 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str10777) + call void @fn_emit(ptr @.str11074) %t71 = load ptr, ptr %t48 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str10778) + call void @fn_emit(ptr @.str11075) store i32 0, ptr @g_g_term %t72 = load ptr, ptr %t4 - %t73 = call ptr @lp_str_concat(ptr @.str10779, ptr %t72) + %t73 = call ptr @lp_str_concat(ptr @.str11076, ptr %t72) %t74 = call ptr @fn_emit_bind(ptr %t73) store ptr %t74, ptr %t75 %t76 = call ptr @fn_nreg() store ptr %t76, ptr %t77 - call void @fn_emit(ptr @.str10780) + call void @fn_emit(ptr @.str11077) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str10781) + call void @fn_emit(ptr @.str11078) %t79 = load ptr, ptr %t2 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str10782) + call void @fn_emit(ptr @.str11079) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str10783) + call void @fn_emit(ptr @.str11080) %t81 = load ptr, ptr %t77 - %t82 = call ptr @lp_str_concat(ptr @.str10784, ptr %t81) + %t82 = call ptr @lp_str_concat(ptr @.str11081, ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 - %t86 = call ptr @lp_str_concat(ptr @.str10785, ptr %t85) - %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10786) + %t86 = call ptr @lp_str_concat(ptr @.str11082, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str11083) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 - %t90 = call ptr @fn_lbl(ptr @.str10787) + %t90 = call ptr @fn_lbl(ptr @.str11084) store ptr %t90, ptr %t91 - call void @fn_emit(ptr @.str10788) + call void @fn_emit(ptr @.str11085) %t92 = load ptr, ptr %t89 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str10789) + call void @fn_emit(ptr @.str11086) %t93 = load ptr, ptr %t91 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str10790) + call void @fn_emit(ptr @.str11087) %t94 = load ptr, ptr %t50 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str10791) + call void @fn_emit(ptr @.str11088) %t95 = load ptr, ptr %t91 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str10792) + call void @fn_emit(ptr @.str11089) %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 6 %t98 = load ptr, ptr %t97 @@ -114860,7 +121867,7 @@ wbody8: br i1 %t118, label %ixok10, label %ixbad11 ixbad11: %t119 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str10793, i32 %t115, i32 %t117) + call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str11090, i32 %t115, i32 %t117) call void @exit(i32 1) unreachable ixok10: @@ -114872,7 +121879,7 @@ ixok10: %t125 = load ptr, ptr %t124 %t126 = call i32 @fn_find_arch_id(ptr %t125) store i32 %t126, ptr %t127 - store ptr @.str10794, ptr %t128 + store ptr @.str11091, ptr %t128 %t129 = load i32, ptr %t127 %t130 = icmp sgt i32 %t129, 0 %t131 = zext i1 %t130 to i32 @@ -114881,23 +121888,23 @@ ixok10: then12: %t133 = call ptr @fn_nreg() store ptr %t133, ptr %t134 - call void @fn_emit(ptr @.str10795) + call void @fn_emit(ptr @.str11092) %t135 = load ptr, ptr %t134 call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str10796) + call void @fn_emit(ptr @.str11093) %t136 = load ptr, ptr %t2 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str10797) + call void @fn_emit(ptr @.str11094) %t137 = load ptr, ptr %t75 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str10798) + call void @fn_emit(ptr @.str11095) %t138 = load ptr, ptr %t134 - %t139 = call ptr @lp_str_concat(ptr @.str10799, ptr %t138) + %t139 = call ptr @lp_str_concat(ptr @.str11096, ptr %t138) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t141 - %t143 = call ptr @lp_str_concat(ptr @.str10800, ptr %t142) - %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str10801) + %t143 = call ptr @lp_str_concat(ptr @.str11097, ptr %t142) + %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str11098) %t145 = load i32, ptr %t127 %t146 = call ptr @fn_itoa(i32 %t145) %t147 = call ptr @lp_str_concat(ptr %t144, ptr %t146) @@ -114906,17 +121913,17 @@ then12: %t150 = load ptr, ptr %t122 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 - %t153 = call ptr @lp_str_concat(ptr @.str10802, ptr %t152) + %t153 = call ptr @lp_str_concat(ptr @.str11099, ptr %t152) %t154 = call ptr @fn_emit_bind(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 - %t157 = call ptr @lp_str_concat(ptr @.str10803, ptr %t156) - %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str10804) + %t157 = call ptr @lp_str_concat(ptr @.str11100, ptr %t156) + %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11101) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t149 - %t162 = call ptr @lp_str_concat(ptr @.str10805, ptr %t161) - %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str10806) + %t162 = call ptr @lp_str_concat(ptr @.str11102, ptr %t161) + %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str11103) %t164 = load ptr, ptr %t160 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @fn_emit_bind(ptr %t165) @@ -114925,47 +121932,47 @@ then12: else13: %t167 = call ptr @fn_nreg() store ptr %t167, ptr %t168 - call void @fn_emit(ptr @.str10807) + call void @fn_emit(ptr @.str11104) %t169 = load ptr, ptr %t168 call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str10808) + call void @fn_emit(ptr @.str11105) %t170 = load ptr, ptr %t2 call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str10809) + call void @fn_emit(ptr @.str11106) %t171 = load ptr, ptr %t122 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str10810) + call void @fn_emit(ptr @.str11107) %t174 = load ptr, ptr %t75 call void @fn_emit(ptr %t174) - call void @fn_emit(ptr @.str10811) + call void @fn_emit(ptr @.str11108) %t175 = load ptr, ptr %t168 - %t176 = call ptr @lp_str_concat(ptr @.str10812, ptr %t175) + %t176 = call ptr @lp_str_concat(ptr @.str11109, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t178 - %t180 = call ptr @lp_str_concat(ptr @.str10813, ptr %t179) - %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str10814) + %t180 = call ptr @lp_str_concat(ptr @.str11110, ptr %t179) + %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str11111) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t128 br label %ifend14 ifend14: - %t183 = call ptr @fn_lbl(ptr @.str10815) + %t183 = call ptr @fn_lbl(ptr @.str11112) store ptr %t183, ptr %t184 - call void @fn_emit(ptr @.str10816) + call void @fn_emit(ptr @.str11113) %t185 = load ptr, ptr %t128 call void @fn_emit(ptr %t185) - call void @fn_emit(ptr @.str10817) + call void @fn_emit(ptr @.str11114) %t186 = load ptr, ptr %t184 call void @fn_emit(ptr %t186) - call void @fn_emit(ptr @.str10818) + call void @fn_emit(ptr @.str11115) %t187 = load ptr, ptr %t50 call void @fn_emit(ptr %t187) - call void @fn_emit(ptr @.str10819) + call void @fn_emit(ptr @.str11116) %t188 = load ptr, ptr %t184 call void @fn_emit(ptr %t188) - call void @fn_emit(ptr @.str10820) + call void @fn_emit(ptr @.str11117) %t189 = load i32, ptr %t100 %t190 = add i32 %t189, 1 store i32 %t190, ptr %t100 @@ -115000,7 +122007,7 @@ wbody16: br i1 %t211, label %ixok18, label %ixbad19 ixbad19: %t212 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str10821, i32 %t208, i32 %t210) + call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str11118, i32 %t208, i32 %t210) call void @exit(i32 1) unreachable ixok18: @@ -115045,35 +122052,35 @@ then22: then25: %t243 = call ptr @fn_nreg() store ptr %t243, ptr %t244 - call void @fn_emit(ptr @.str10822) + call void @fn_emit(ptr @.str11119) %t245 = load ptr, ptr %t244 call void @fn_emit(ptr %t245) - call void @fn_emit(ptr @.str10823) + call void @fn_emit(ptr @.str11120) %t246 = load ptr, ptr %t2 call void @fn_emit(ptr %t246) - call void @fn_emit(ptr @.str10824) + call void @fn_emit(ptr @.str11121) %t247 = load ptr, ptr %t215 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1 %t249 = load ptr, ptr %t248 call void @fn_emit(ptr %t249) - call void @fn_emit(ptr @.str10825) + call void @fn_emit(ptr @.str11122) %t250 = load ptr, ptr %t215 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 1 %t252 = load ptr, ptr %t251 call void @fn_emit(ptr %t252) - call void @fn_emit(ptr @.str10826) + call void @fn_emit(ptr @.str11123) %t253 = load ptr, ptr %t75 call void @fn_emit(ptr %t253) - call void @fn_emit(ptr @.str10827) - %t254 = call ptr @fn_emit_alloca(ptr @.str10828) + call void @fn_emit(ptr @.str11124) + %t254 = call ptr @fn_emit_alloca(ptr @.str11125) store ptr %t254, ptr %t255 - call void @fn_emit(ptr @.str10829) + call void @fn_emit(ptr @.str11126) %t256 = load ptr, ptr %t244 call void @fn_emit(ptr %t256) - call void @fn_emit(ptr @.str10830) + call void @fn_emit(ptr @.str11127) %t257 = load ptr, ptr %t255 call void @fn_emit(ptr %t257) - call void @fn_emit(ptr @.str10831) + call void @fn_emit(ptr @.str11128) %t258 = load ptr, ptr %t0 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 7 %t260 = load ptr, ptr %t259 @@ -115086,7 +122093,7 @@ then25: br i1 %t266, label %ixok28, label %ixbad29 ixbad29: %t267 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str10832, i32 %t263, i32 %t265) + call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str11129, i32 %t263, i32 %t265) call void @exit(i32 1) unreachable ixok28: @@ -115127,25 +122134,25 @@ then30: %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %Cmp_Val, ptr %t291, i32 0, i32 0 %t293 = load ptr, ptr %t292 - %t294 = call ptr @lp_str_concat(ptr @.str10833, ptr %t293) - %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str10834) + %t294 = call ptr @lp_str_concat(ptr @.str11130, ptr %t293) + %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str11131) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 - %t298 = call ptr @fn_lbl(ptr @.str10835) + %t298 = call ptr @fn_lbl(ptr @.str11132) store ptr %t298, ptr %t299 - call void @fn_emit(ptr @.str10836) + call void @fn_emit(ptr @.str11133) %t300 = load ptr, ptr %t297 call void @fn_emit(ptr %t300) - call void @fn_emit(ptr @.str10837) + call void @fn_emit(ptr @.str11134) %t301 = load ptr, ptr %t299 call void @fn_emit(ptr %t301) - call void @fn_emit(ptr @.str10838) + call void @fn_emit(ptr @.str11135) %t302 = load ptr, ptr %t50 call void @fn_emit(ptr %t302) - call void @fn_emit(ptr @.str10839) + call void @fn_emit(ptr @.str11136) %t303 = load ptr, ptr %t299 call void @fn_emit(ptr %t303) - call void @fn_emit(ptr @.str10840) + call void @fn_emit(ptr @.str11137) br label %ifend32 ifend32: %t304 = load ptr, ptr %t50 @@ -115164,34 +122171,34 @@ ifend32: %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then33, label %ifend35 then33: - call void @fn_emit(ptr @.str10841) + call void @fn_emit(ptr @.str11138) %t314 = load ptr, ptr %t50 call void @fn_emit(ptr %t314) - call void @fn_emit(ptr @.str10842) + call void @fn_emit(ptr @.str11139) br label %ifend35 ifend35: %t315 = load ptr, ptr %t50 call void @fn_emit(ptr %t315) - call void @fn_emit(ptr @.str10843) + call void @fn_emit(ptr @.str11140) %t316 = load ptr, ptr %t4 - %t317 = call ptr @lp_str_concat(ptr @.str10844, ptr %t316) + %t317 = call ptr @lp_str_concat(ptr @.str11141, ptr %t316) %t318 = call ptr @fn_emit_bind(ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t319 - %t321 = call ptr @lp_str_concat(ptr @.str10845, ptr %t320) - %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str10846) + %t321 = call ptr @lp_str_concat(ptr @.str11142, ptr %t320) + %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str11143) %t323 = call ptr @fn_emit_bind(ptr %t322) store ptr %t323, ptr %t324 %t325 = load ptr, ptr %t324 %t326 = load ptr, ptr %t4 - call void @fn_store_at(ptr @.str10847, ptr %t325, ptr %t326) - call void @fn_emit(ptr @.str10848) + call void @fn_store_at(ptr @.str11144, ptr %t325, ptr %t326) + call void @fn_emit(ptr @.str11145) %t327 = load ptr, ptr %t46 call void @fn_emit(ptr %t327) - call void @fn_emit(ptr @.str10849) + call void @fn_emit(ptr @.str11146) %t328 = load ptr, ptr %t52 call void @fn_emit(ptr %t328) - call void @fn_emit(ptr @.str10850) + call void @fn_emit(ptr @.str11147) store i32 0, ptr @g_g_term %t329 = load i32, ptr @g_nself %t330 = sub i32 %t329, 1 @@ -115208,15 +122215,15 @@ entry: %t3 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_body, ptr %t1 - %t2 = call ptr @fn_emit_alloca(ptr @.str10851) + %t2 = call ptr @fn_emit_alloca(ptr @.str11148) store ptr %t2, ptr %t3 - call void @fn_emit(ptr @.str10852) + call void @fn_emit(ptr @.str11149) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str10853) + call void @fn_emit(ptr @.str11150) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str10854) + call void @fn_emit(ptr @.str11151) %t6 = load i32, ptr @g_nself %t7 = load ptr, ptr @g_self_stk %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 @@ -115236,7 +122243,7 @@ then0: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10855, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str11152, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -115329,47 +122336,47 @@ entry: br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t1 - %t13 = call ptr @lp_str_concat(ptr @.str10856, ptr %t12) + %t13 = call ptr @lp_str_concat(ptr @.str11153, 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 @.str10857) + call void @fn_emit(ptr @.str11154) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str10858) + call void @fn_emit(ptr @.str11155) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str10859) + call void @fn_emit(ptr @.str11156) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str10860) + call void @fn_emit(ptr @.str11157) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) - call void @fn_emit(ptr @.str10861) - call void @fn_emit(ptr @.str10862) + call void @fn_emit(ptr @.str11158) + call void @fn_emit(ptr @.str11159) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str10863) + call void @fn_emit(ptr @.str11160) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str10864) + call void @fn_emit(ptr @.str11161) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str10865) + call void @fn_emit(ptr @.str11162) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str10866) + call void @fn_emit(ptr @.str11163) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str10867) + call void @fn_emit(ptr @.str11164) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str10868) + call void @fn_emit(ptr @.str11165) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str10869) + call void @fn_emit(ptr @.str11166) store i32 0, ptr %t28 br label %wcond3 wcond3: @@ -115396,7 +122403,7 @@ wbody4: br i1 %t46, label %ixok6, label %ixbad7 ixbad7: %t47 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str10870, i32 %t43, i32 %t45) + call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str11167, i32 %t43, i32 %t45) call void @exit(i32 1) unreachable ixok6: @@ -115405,20 +122412,20 @@ ixok6: store ptr %t49, ptr %t50 %t51 = call ptr @fn_nreg() store ptr %t51, ptr %t52 - call void @fn_emit(ptr @.str10871) + call void @fn_emit(ptr @.str11168) %t53 = load ptr, ptr %t52 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str10872) + call void @fn_emit(ptr @.str11169) %t54 = load ptr, ptr %t1 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str10873) + call void @fn_emit(ptr @.str11170) %t55 = load ptr, ptr %t22 call void @fn_emit(ptr %t55) - call void @fn_emit(ptr @.str10874) + call void @fn_emit(ptr @.str11171) %t56 = load i32, ptr %t28 %t57 = call ptr @fn_itoa(i32 %t56) call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str10875) + call void @fn_emit(ptr @.str11172) %t58 = load ptr, ptr %t50 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = load ptr, ptr %t59 @@ -115448,16 +122455,16 @@ then8: store ptr %t81, ptr %t65 br label %ifend10 ifend10: - call void @fn_emit(ptr @.str10876) + call void @fn_emit(ptr @.str11173) %t82 = load ptr, ptr %t62 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str10877) + call void @fn_emit(ptr @.str11174) %t83 = load ptr, ptr %t65 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str10878) + call void @fn_emit(ptr @.str11175) %t84 = load ptr, ptr %t52 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str10879) + call void @fn_emit(ptr @.str11176) %t85 = load i32, ptr %t28 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t28 @@ -115495,7 +122502,7 @@ wbody15: br i1 %t109, label %ixok17, label %ixbad18 ixbad18: %t110 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str10880, i32 %t106, i32 %t108) + call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str11177, i32 %t106, i32 %t108) call void @exit(i32 1) unreachable ixok17: @@ -115516,20 +122523,20 @@ ixok17: then19: %t124 = call ptr @fn_nreg() store ptr %t124, ptr %t125 - call void @fn_emit(ptr @.str10881) + call void @fn_emit(ptr @.str11178) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str10882) + call void @fn_emit(ptr @.str11179) %t127 = load ptr, ptr %t1 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str10883) + call void @fn_emit(ptr @.str11180) %t128 = load ptr, ptr %t22 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str10884) + call void @fn_emit(ptr @.str11181) %t129 = load i32, ptr %t119 %t130 = call ptr @fn_itoa(i32 %t129) call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str10885) + call void @fn_emit(ptr @.str11182) %t131 = load ptr, ptr %t113 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 4 %t133 = load ptr, ptr %t132 @@ -115545,17 +122552,17 @@ then19: %t143 = load ptr, ptr %t141 %t144 = call ptr @fn_coerce_code(ptr %t142, ptr %t143) store ptr %t144, ptr %t145 - call void @fn_emit(ptr @.str10886) + call void @fn_emit(ptr @.str11183) %t146 = load ptr, ptr %t141 %t147 = call ptr @fn_llty(ptr %t146) call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str10887) + call void @fn_emit(ptr @.str11184) %t148 = load ptr, ptr %t145 call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str10888) + call void @fn_emit(ptr @.str11185) %t149 = load ptr, ptr %t125 call void @fn_emit(ptr %t149) - call void @fn_emit(ptr @.str10889) + call void @fn_emit(ptr @.str11186) br label %ifend21 ifend21: %t150 = load i32, ptr %t91 @@ -115576,15 +122583,15 @@ ifend13: then22: %t159 = load i32, ptr @g_nloc store i32 %t159, ptr %t160 - %t161 = call ptr @fn_emit_alloca(ptr @.str10890) + %t161 = call ptr @fn_emit_alloca(ptr @.str11187) store ptr %t161, ptr %t162 - call void @fn_emit(ptr @.str10891) + call void @fn_emit(ptr @.str11188) %t163 = load ptr, ptr %t22 call void @fn_emit(ptr %t163) - call void @fn_emit(ptr @.str10892) + call void @fn_emit(ptr @.str11189) %t164 = load ptr, ptr %t162 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str10893) + call void @fn_emit(ptr @.str11190) %t165 = load ptr, ptr %t1 %t166 = load ptr, ptr %t162 %t167 = load ptr, ptr %t1 @@ -115597,8 +122604,8 @@ then22: br label %ifend24 ifend24: %t171 = load ptr, ptr %t1 - %t172 = call ptr @lp_str_concat(ptr @.str10894, ptr %t171) - %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str10895) + %t172 = call ptr @lp_str_concat(ptr @.str11191, ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str11192) store ptr %t173, ptr %t174 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_find_event(ptr %t175) @@ -115607,13 +122614,13 @@ ifend24: %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str10896) + call void @fn_emit(ptr @.str11193) %t180 = load ptr, ptr %t174 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str10897) + call void @fn_emit(ptr @.str11194) %t181 = load ptr, ptr %t0 call void @fn_emit(ptr %t181) - call void @fn_emit(ptr @.str10898) + call void @fn_emit(ptr @.str11195) br label %ifend27 ifend27: br label %ret @@ -115660,7 +122667,7 @@ wbody1: br i1 %t22, label %ixok3, label %ixbad4 ixbad4: %t23 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str10899, i32 %t19, i32 %t21) + call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str11196, i32 %t19, i32 %t21) call void @exit(i32 1) unreachable ixok3: @@ -115671,31 +122678,31 @@ ixok3: store ptr %t27, ptr %t28 %t29 = call ptr @fn_nreg() store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str10900) + call void @fn_emit(ptr @.str11197) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str10901) + call void @fn_emit(ptr @.str11198) %t32 = load ptr, ptr %t3 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str10902) + call void @fn_emit(ptr @.str11199) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str10903) + call void @fn_emit(ptr @.str11200) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str10904) + call void @fn_emit(ptr @.str11201) %t35 = load ptr, ptr %t1 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str10905) - %t36 = call ptr @fn_emit_alloca(ptr @.str10906) + call void @fn_emit(ptr @.str11202) + %t36 = call ptr @fn_emit_alloca(ptr @.str11203) store ptr %t36, ptr %t37 - call void @fn_emit(ptr @.str10907) + call void @fn_emit(ptr @.str11204) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str10908) + call void @fn_emit(ptr @.str11205) %t39 = load ptr, ptr %t37 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str10909) + call void @fn_emit(ptr @.str11206) %t40 = load ptr, ptr %t28 %t41 = load ptr, ptr %t37 %t42 = load ptr, ptr %t28 @@ -115753,7 +122760,7 @@ wbody4: br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str10910, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11207, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: @@ -115778,7 +122785,7 @@ then8: br i1 %t41, label %ixok11, label %ixbad12 ixbad12: %t42 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str10911, i32 %t38, i32 %t40) + call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str11208, i32 %t38, i32 %t40) call void @exit(i32 1) unreachable ixok11: @@ -115861,7 +122868,7 @@ wbody7: br i1 %t35, label %ixok9, label %ixbad10 ixbad10: %t36 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str10912, i32 %t32, i32 %t34) + call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str11209, i32 %t32, i32 %t34) call void @exit(i32 1) unreachable ixok9: @@ -115927,7 +122934,7 @@ wbody14: br i1 %t79, label %ixok16, label %ixbad17 ixbad17: %t80 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str10913, i32 %t76, i32 %t78) + call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str11210, i32 %t76, i32 %t78) call void @exit(i32 1) unreachable ixok16: @@ -116015,8 +123022,8 @@ ifend5: br i1 %t21, label %then6, label %ifend8 then6: %t22 = load ptr, ptr %t0 - %t23 = call ptr @lp_str_concat(ptr @.str10914, ptr %t22) - %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10915) + %t23 = call ptr @lp_str_concat(ptr @.str11211, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11212) call void @fn_perr(ptr %t24) br label %ifend8 ifend8: @@ -116088,58 +123095,58 @@ then0: br label %ret ifend2: store i32 1, ptr @g_g_uses_panic - %t6 = call ptr @fn_emit_bind(ptr @.str10916) + %t6 = call ptr @fn_emit_bind(ptr @.str11213) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 - %t9 = call ptr @lp_str_concat(ptr @.str10917, ptr %t8) - %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10918) + %t9 = call ptr @lp_str_concat(ptr @.str11214, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str11215) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 - %t13 = call ptr @fn_lbl(ptr @.str10919) + %t13 = call ptr @fn_lbl(ptr @.str11216) store ptr %t13, ptr %t14 - %t15 = call ptr @fn_lbl(ptr @.str10920) + %t15 = call ptr @fn_lbl(ptr @.str11217) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 - %t18 = call ptr @lp_str_concat(ptr @.str10921, ptr %t17) - %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10922) + %t18 = call ptr @lp_str_concat(ptr @.str11218, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str11219) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) - %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10923) + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str11220) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) - %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10924) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str11221) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10925) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11222) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name - %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10926) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str11223) %t30 = load i32, ptr %t1 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31) - %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10927) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str11224) %t34 = call ptr @fn_emit_str_const(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t0 - %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10928) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str11225) %t38 = call ptr @fn_emit_str_const(ptr %t37) store ptr %t38, ptr %t39 %t40 = call ptr @fn_stdstream_rhs(i32 2) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 - %t44 = call ptr @lp_str_concat(ptr @.str10929, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10930) + %t44 = call ptr @lp_str_concat(ptr @.str11226, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11227) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) - %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10931) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11228) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10932) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str11229) call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str10933) + call void @fn_emit(ptr @.str11230) %t52 = load ptr, ptr %t14 - %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10934) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str11231) call void @fn_emit(ptr %t53) br label %ret ret: @@ -116167,8 +123174,8 @@ entry: %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 - call void @fn_emit_worker_guard(ptr @.str10935, i32 %t3) - %t4 = call ptr @fn_emit_bind(ptr @.str10936) + call void @fn_emit_worker_guard(ptr @.str11232, i32 %t3) + %t4 = call ptr @fn_emit_bind(ptr @.str11233) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 @@ -116204,8 +123211,8 @@ then2: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 %t32 = load ptr, ptr %t31 - %t33 = call ptr @lp_str_concat(ptr @.str10937, ptr %t32) - %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str10938) + %t33 = call ptr @lp_str_concat(ptr @.str11234, ptr %t32) + %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str11235) %t35 = load ptr, ptr %t10 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) call void @fn_perr(ptr %t36) @@ -116221,24 +123228,24 @@ then5: store ptr %t41, ptr %t42 %t43 = call ptr @fn_nreg() store ptr %t43, ptr %t44 - call void @fn_emit(ptr @.str10939) + call void @fn_emit(ptr @.str11236) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) - call void @fn_emit(ptr @.str10940) + call void @fn_emit(ptr @.str11237) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str10941) + call void @fn_emit(ptr @.str11238) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str10942) - call void @fn_emit(ptr @.str10943) + call void @fn_emit(ptr @.str11239) + call void @fn_emit(ptr @.str11240) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str10944) + call void @fn_emit(ptr @.str11241) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str10945) + call void @fn_emit(ptr @.str11242) %t51 = load ptr, ptr %t10 %t52 = call ptr @fn_find_arch(ptr %t51) store ptr %t52, ptr %t53 @@ -116268,7 +123275,7 @@ wbody9: br i1 %t72, label %ixok11, label %ixbad12 ixbad12: %t73 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10946, i32 %t69, i32 %t71) + call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str11243, i32 %t69, i32 %t71) call void @exit(i32 1) unreachable ixok11: @@ -116316,8 +123323,8 @@ then13: br label %ifend15 ifend15: %t106 = load ptr, ptr %t10 - %t107 = call ptr @lp_str_concat(ptr @.str10947, ptr %t106) - %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str10948) + %t107 = call ptr @lp_str_concat(ptr @.str11244, ptr %t106) + %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str11245) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_find_event(ptr %t110) @@ -116326,13 +123333,13 @@ ifend15: %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str10949) + call void @fn_emit(ptr @.str11246) %t115 = load ptr, ptr %t109 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str10950) + call void @fn_emit(ptr @.str11247) %t116 = load ptr, ptr %t5 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str10951) + call void @fn_emit(ptr @.str11248) br label %ifend18 ifend18: br label %ifend7 @@ -116364,7 +123371,7 @@ wbody20: br i1 %t136, label %ixok22, label %ixbad23 ixbad23: %t137 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10952, i32 %t133, i32 %t135) + call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str11249, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok22: @@ -116384,7 +123391,7 @@ ixok22: br i1 %t150, label %ixok24, label %ixbad25 ixbad25: %t151 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str10953, i32 %t147, i32 %t149) + call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str11250, i32 %t147, i32 %t149) call void @exit(i32 1) unreachable ixok24: @@ -116425,7 +123432,7 @@ entry: %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 - call void @fn_emit_worker_guard(ptr @.str10954, i32 %t3) + call void @fn_emit_worker_guard(ptr @.str11251, i32 %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 %t6 = load ptr, ptr %t5 @@ -116443,20 +123450,20 @@ then0: store ptr %t15, ptr %t16 %t17 = call ptr @fn_nreg() store ptr %t17, ptr %t18 - call void @fn_emit(ptr @.str10955) + call void @fn_emit(ptr @.str11252) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) - call void @fn_emit(ptr @.str10956) + call void @fn_emit(ptr @.str11253) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str10957) + call void @fn_emit(ptr @.str11254) %t21 = load ptr, ptr %t8 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str10958) + call void @fn_emit(ptr @.str11255) %t24 = load ptr, ptr %t18 - %t25 = call ptr @lp_str_concat(ptr @.str10959, ptr %t24) + %t25 = call ptr @lp_str_concat(ptr @.str11256, ptr %t24) %t26 = call ptr @fn_emit_bind(ptr %t25) store ptr %t26, ptr %t27 store i32 0, ptr %t28 @@ -116481,7 +123488,7 @@ wbody4: br i1 %t42, label %ixok6, label %ixbad7 ixbad7: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10960, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str11257, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok6: @@ -116491,42 +123498,42 @@ ixok6: %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t27 - %t50 = call ptr @lp_str_concat(ptr @.str10961, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10962) + %t50 = call ptr @lp_str_concat(ptr @.str11258, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str11259) %t52 = load ptr, ptr %t48 %t53 = call i32 @fn_find_arch_id(ptr %t52) %t54 = call ptr @fn_itoa(i32 %t53) %t55 = call ptr @lp_str_concat(ptr %t51, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 - %t58 = call ptr @fn_lbl(ptr @.str10963) + %t58 = call ptr @fn_lbl(ptr @.str11260) store ptr %t58, ptr %t59 - %t60 = call ptr @fn_lbl(ptr @.str10964) + %t60 = call ptr @fn_lbl(ptr @.str11261) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str10965) + call void @fn_emit(ptr @.str11262) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str10966) + call void @fn_emit(ptr @.str11263) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str10967) + call void @fn_emit(ptr @.str11264) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str10968) + call void @fn_emit(ptr @.str11265) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str10969) + call void @fn_emit(ptr @.str11266) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str10970) + call void @fn_emit(ptr @.str11267) %t67 = load ptr, ptr %t8 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str10971) + call void @fn_emit(ptr @.str11268) %t70 = load ptr, ptr %t48 - %t71 = call ptr @lp_str_concat(ptr @.str10972, ptr %t70) - %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10973) + %t71 = call ptr @lp_str_concat(ptr @.str11269, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str11270) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_find_event(ptr %t74) @@ -116535,24 +123542,24 @@ ixok6: %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str10974) + call void @fn_emit(ptr @.str11271) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str10975) + call void @fn_emit(ptr @.str11272) %t80 = load ptr, ptr %t8 %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 @.str10976) + call void @fn_emit(ptr @.str11273) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str10977) + call void @fn_emit(ptr @.str11274) %t83 = load ptr, ptr %t61 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str10978) + call void @fn_emit(ptr @.str11275) %t84 = load ptr, ptr %t61 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str10979) + call void @fn_emit(ptr @.str11276) %t85 = load i32, ptr %t28 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t28 @@ -116568,20 +123575,20 @@ ifend2: %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str10980) + call void @fn_emit(ptr @.str11277) %t93 = load ptr, ptr %t8 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str10981) + call void @fn_emit(ptr @.str11278) br label %ifend13 ifend13: - call void @fn_emit(ptr @.str10982) + call void @fn_emit(ptr @.str11279) %t96 = load ptr, ptr %t8 %t97 = getelementptr inbounds %Cmp_Val, ptr %t96, i32 0, i32 0 %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) - call void @fn_emit(ptr @.str10983) + call void @fn_emit(ptr @.str11280) br label %ret ret: ret void @@ -116607,49 +123614,49 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str10984) + call void @fn_emit(ptr @.str11281) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str10985) + call void @fn_emit(ptr @.str11282) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str10986) + call void @fn_emit(ptr @.str11283) %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 @.str10987) + call void @fn_emit(ptr @.str11284) %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 @.str10988) + call void @fn_emit(ptr @.str11285) %t18 = load ptr, ptr %t9 - %t19 = call ptr @lp_str_concat(ptr @.str10989, ptr %t18) + %t19 = call ptr @lp_str_concat(ptr @.str11286, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 - %t23 = call ptr @lp_str_concat(ptr @.str10990, ptr %t22) - %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10991) + %t23 = call ptr @lp_str_concat(ptr @.str11287, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11288) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str10992) + %t27 = call ptr @fn_lbl(ptr @.str11289) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str10993) + %t29 = call ptr @fn_lbl(ptr @.str11290) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str10994) + call void @fn_emit(ptr @.str11291) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str10995) + call void @fn_emit(ptr @.str11292) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str10996) + call void @fn_emit(ptr @.str11293) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str10997) + call void @fn_emit(ptr @.str11294) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str10998) + call void @fn_emit(ptr @.str11295) store i32 0, ptr @g_g_term %t35 = load ptr, ptr %t5 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 @@ -116667,15 +123674,15 @@ entry: %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str10999) + call void @fn_emit(ptr @.str11296) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str11000) + call void @fn_emit(ptr @.str11297) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str11001) + call void @fn_emit(ptr @.str11298) store i32 0, ptr @g_g_term br label %ret ret: @@ -116707,54 +123714,54 @@ entry: store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 - call void @fn_emit(ptr @.str11002) + call void @fn_emit(ptr @.str11299) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) - call void @fn_emit(ptr @.str11003) + call void @fn_emit(ptr @.str11300) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) - call void @fn_emit(ptr @.str11004) + call void @fn_emit(ptr @.str11301) %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 @.str11005) + call void @fn_emit(ptr @.str11302) %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 @.str11006) + call void @fn_emit(ptr @.str11303) %t18 = load ptr, ptr %t9 - %t19 = call ptr @lp_str_concat(ptr @.str11007, ptr %t18) + %t19 = call ptr @lp_str_concat(ptr @.str11304, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 - %t23 = call ptr @lp_str_concat(ptr @.str11008, ptr %t22) - %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11009) + %t23 = call ptr @lp_str_concat(ptr @.str11305, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str11306) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_lbl(ptr @.str11010) + %t27 = call ptr @fn_lbl(ptr @.str11307) store ptr %t27, ptr %t28 - %t29 = call ptr @fn_lbl(ptr @.str11011) + %t29 = call ptr @fn_lbl(ptr @.str11308) store ptr %t29, ptr %t30 - call void @fn_emit(ptr @.str11012) + call void @fn_emit(ptr @.str11309) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) - call void @fn_emit(ptr @.str11013) + call void @fn_emit(ptr @.str11310) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) - call void @fn_emit(ptr @.str11014) + call void @fn_emit(ptr @.str11311) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11015) + call void @fn_emit(ptr @.str11312) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str11016) + call void @fn_emit(ptr @.str11313) store i32 0, ptr @g_g_term - call void @fn_emit(ptr @.str11017) + call void @fn_emit(ptr @.str11314) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str11018) + call void @fn_emit(ptr @.str11315) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 @@ -116770,37 +123777,37 @@ then0: store i32 %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 - call void @fn_emit(ptr @.str11019) + call void @fn_emit(ptr @.str11316) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str11020) + call void @fn_emit(ptr @.str11317) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str11021) + call void @fn_emit(ptr @.str11318) %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 @.str11022) + call void @fn_emit(ptr @.str11319) %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 @.str11023) + call void @fn_emit(ptr @.str11320) %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 @.str11024) - %t60 = call ptr @fn_emit_alloca(ptr @.str11025) + call void @fn_emit(ptr @.str11321) + %t60 = call ptr @fn_emit_alloca(ptr @.str11322) store ptr %t60, ptr %t61 - call void @fn_emit(ptr @.str11026) + call void @fn_emit(ptr @.str11323) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str11027) + call void @fn_emit(ptr @.str11324) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str11028) + call void @fn_emit(ptr @.str11325) %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 @@ -116818,8 +123825,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 @lp_str_concat(ptr @.str11029, ptr %t75) - %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11030) + %t76 = call ptr @lp_str_concat(ptr @.str11326, ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11327) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_find_event(ptr %t79) @@ -116828,15 +123835,15 @@ ifend2: %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str11031) + call void @fn_emit(ptr @.str11328) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str11032) + call void @fn_emit(ptr @.str11329) %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 @.str11033) + call void @fn_emit(ptr @.str11330) br label %ifend5 ifend5: %t88 = load i32, ptr @g_g_term @@ -116845,15 +123852,15 @@ ifend5: %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then6, label %ifend8 then6: - call void @fn_emit(ptr @.str11034) + call void @fn_emit(ptr @.str11331) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str11035) + call void @fn_emit(ptr @.str11332) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str11036) + call void @fn_emit(ptr @.str11333) store i32 0, ptr @g_g_term br label %ret ret: @@ -116890,7 +123897,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11037, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11334, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -116958,7 +123965,7 @@ entry: %t176 = alloca i32 %t203 = alloca ptr store ptr %arg_st, ptr %t0 - store ptr @.str11038, ptr %t1 + store ptr @.str11335, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2 %t4 = load i32, ptr %t3 @@ -116967,7 +123974,7 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: - store ptr @.str11039, ptr %t1 + store ptr @.str11336, ptr %t1 br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 @@ -116983,7 +123990,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 @lp_str_eq(ptr %t18, ptr @.str11040) + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str11337) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t8 @@ -117008,7 +124015,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 @lp_str_eq(ptr %t34, ptr @.str11041) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11338) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t24 @@ -117018,20 +124025,20 @@ scend9: %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str11042) + call void @fn_emit(ptr @.str11339) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11043) + call void @fn_emit(ptr @.str11340) %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 @.str11044) + call void @fn_emit(ptr @.str11341) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 - %t47 = call ptr @lp_str_concat(ptr @.str11045, ptr %t46) - %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11046) + %t47 = call ptr @lp_str_concat(ptr @.str11342, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str11343) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2 @@ -117044,8 +124051,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 @lp_str_concat(ptr @.str11047, ptr %t58) - %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11048) + %t59 = call ptr @lp_str_concat(ptr @.str11344, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11345) store ptr %t60, ptr %t49 br label %ifend15 ifend15: @@ -117056,10 +124063,10 @@ ifend15: %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str11049) + call void @fn_emit(ptr @.str11346) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str11050) + call void @fn_emit(ptr @.str11347) br label %ifend18 ifend18: br label %ret @@ -117081,30 +124088,30 @@ then19: store ptr %t78, ptr %t79 %t80 = call ptr @fn_nreg() store ptr %t80, ptr %t81 - call void @fn_emit(ptr @.str11051) + call void @fn_emit(ptr @.str11348) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11052) + call void @fn_emit(ptr @.str11349) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str11053) + call void @fn_emit(ptr @.str11350) %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 @.str11054) + call void @fn_emit(ptr @.str11351) %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 @.str11055) - call void @fn_emit(ptr @.str11056) + call void @fn_emit(ptr @.str11352) + call void @fn_emit(ptr @.str11353) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str11057) + call void @fn_emit(ptr @.str11354) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str11058) + call void @fn_emit(ptr @.str11355) store ptr null, ptr %t92 %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2 @@ -117138,37 +124145,37 @@ then25: store i32 %t111, ptr %t112 %t113 = call ptr @fn_nreg() store ptr %t113, ptr %t114 - call void @fn_emit(ptr @.str11059) + call void @fn_emit(ptr @.str11356) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str11060) + call void @fn_emit(ptr @.str11357) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str11061) + call void @fn_emit(ptr @.str11358) %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 @.str11062) + call void @fn_emit(ptr @.str11359) %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 @.str11063) + call void @fn_emit(ptr @.str11360) %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 @.str11064) - %t126 = call ptr @fn_emit_alloca(ptr @.str11065) + call void @fn_emit(ptr @.str11361) + %t126 = call ptr @fn_emit_alloca(ptr @.str11362) store ptr %t126, ptr %t127 - call void @fn_emit(ptr @.str11066) + call void @fn_emit(ptr @.str11363) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str11067) + call void @fn_emit(ptr @.str11364) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str11068) + call void @fn_emit(ptr @.str11365) %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 @@ -117186,8 +124193,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 @lp_str_concat(ptr @.str11069, ptr %t141) - %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11070) + %t142 = call ptr @lp_str_concat(ptr @.str11366, ptr %t141) + %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str11367) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 @@ -117200,8 +124207,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 @lp_str_concat(ptr @.str11071, ptr %t153) - %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str11072) + %t154 = call ptr @lp_str_concat(ptr @.str11368, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str11369) store ptr %t155, ptr %t144 br label %ifend30 ifend30: @@ -117212,20 +124219,20 @@ ifend30: %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then31, label %ifend33 then31: - call void @fn_emit(ptr @.str11073) + call void @fn_emit(ptr @.str11370) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) - call void @fn_emit(ptr @.str11074) + call void @fn_emit(ptr @.str11371) %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 @.str11075) + call void @fn_emit(ptr @.str11372) br label %ifend33 ifend33: br label %ifend21 else20: - store ptr @.str11076, ptr %t165 + store ptr @.str11373, ptr %t165 %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 @@ -117233,7 +124240,7 @@ else20: %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then34, label %ifend36 then34: - store ptr @.str11077, ptr %t165 + store ptr @.str11374, ptr %t165 br label %ifend36 ifend36: %t171 = load ptr, ptr %t0 @@ -117241,7 +124248,7 @@ ifend36: %t173 = load ptr, ptr %t172 store ptr %t173, ptr %t174 %t177 = load ptr, ptr %t165 - %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11078) + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11375) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t176 @@ -117277,7 +124284,7 @@ then41: %t197 = load ptr, ptr @g_g_cur_scene %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 - %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11079) + %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11376) %t201 = load ptr, ptr %t174 %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) store ptr %t202, ptr %t203 @@ -117294,15 +124301,15 @@ then44: ifend46: br label %ifend43 ifend43: - call void @fn_emit(ptr @.str11080) + call void @fn_emit(ptr @.str11377) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) - call void @fn_emit(ptr @.str11081) + call void @fn_emit(ptr @.str11378) %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 @.str11082) + call void @fn_emit(ptr @.str11379) br label %ifend21 ifend21: br label %ret @@ -117330,7 +124337,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11083, ptr @g_ret_ty + store ptr @.str11380, ptr @g_ret_ty %t7 = call ptr @fn_buf_new() store ptr %t7, ptr %t8 %t9 = call ptr @fn_buf_new() @@ -117349,26 +124356,26 @@ entry: %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str11084) + call void @fn_emit(ptr @.str11381) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str11085) + call void @fn_emit(ptr @.str11382) %t20 = load ptr, ptr %t11 store ptr %t20, ptr @g_code - call void @fn_emit(ptr @.str11086) + call void @fn_emit(ptr @.str11383) %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str11087) + call void @fn_emit(ptr @.str11384) %t24 = load ptr, ptr @g_falloc %t25 = call ptr @fn_buf_str(ptr %t24) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t8 %t27 = call ptr @fn_buf_str(ptr %t26) call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str11088) - store ptr @.str11089, ptr @g_g_det_ctx + call void @fn_emit(ptr @.str11385) + store ptr @.str11386, ptr @g_g_det_ctx br label %ret ret: ret void @@ -117390,12 +124397,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 @lp_str_concat(ptr @.str11090, ptr %t3) + %t4 = call ptr @lp_str_concat(ptr @.str11387, ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 - %t8 = call ptr @lp_str_concat(ptr @.str11091, ptr %t7) - %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str11092) + %t8 = call ptr @lp_str_concat(ptr @.str11388, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str11389) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t0 @@ -117428,17 +124435,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 @lp_str_concat(ptr @.str11093, ptr %t34) + %t35 = call ptr @lp_str_concat(ptr @.str11390, ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 - %t39 = call ptr @lp_str_concat(ptr @.str11094, ptr %t38) - %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str11095) + %t39 = call ptr @lp_str_concat(ptr @.str11391, ptr %t38) + %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str11392) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t11 - %t44 = call ptr @lp_str_concat(ptr @.str11096, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11097) + %t44 = call ptr @lp_str_concat(ptr @.str11393, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11394) %t46 = load ptr, ptr %t42 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) @@ -117453,51 +124460,51 @@ ifend4: %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then5, label %ifend7 then5: - %t55 = call ptr @fn_emit_bind(ptr @.str11098) + %t55 = call ptr @fn_emit_bind(ptr @.str11395) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 - %t58 = call ptr @lp_str_concat(ptr @.str11099, ptr %t57) - %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str11100) + %t58 = call ptr @lp_str_concat(ptr @.str11396, ptr %t57) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str11397) %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t11 - %t63 = call ptr @lp_str_concat(ptr @.str11101, ptr %t62) - %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str11102) + %t63 = call ptr @lp_str_concat(ptr @.str11398, ptr %t62) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str11399) %t65 = load ptr, ptr %t61 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t11 br label %ifend7 ifend7: - %t68 = call ptr @fn_lbl(ptr @.str11103) + %t68 = call ptr @fn_lbl(ptr @.str11400) store ptr %t68, ptr %t69 - %t70 = call ptr @fn_lbl(ptr @.str11104) + %t70 = call ptr @fn_lbl(ptr @.str11401) store ptr %t70, ptr %t71 - call void @fn_emit(ptr @.str11105) + call void @fn_emit(ptr @.str11402) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str11106) + call void @fn_emit(ptr @.str11403) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11107) + call void @fn_emit(ptr @.str11404) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11108) + call void @fn_emit(ptr @.str11405) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11109) + call void @fn_emit(ptr @.str11406) %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 @.str11110) - call void @fn_emit(ptr @.str11111) + call void @fn_emit(ptr @.str11407) + call void @fn_emit(ptr @.str11408) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11112) + call void @fn_emit(ptr @.str11409) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11113) + call void @fn_emit(ptr @.str11410) br label %ret ret: ret void @@ -117539,10 +124546,10 @@ scend4: %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: - call void @fn_emit(ptr @.str11114) + call void @fn_emit(ptr @.str11411) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) - call void @fn_emit(ptr @.str11115) + call void @fn_emit(ptr @.str11412) br label %ifend7 ifend7: br label %ret @@ -117580,7 +124587,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11116, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11413, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -117601,7 +124608,7 @@ then5: br i1 %t28, label %ixok8, label %ixbad9 ixbad9: %t29 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11117, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11414, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok8: @@ -117617,7 +124624,7 @@ ixok8: br i1 %t38, label %ixok10, label %ixbad11 ixbad11: %t39 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str11118, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str11415, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok10: @@ -117632,7 +124639,7 @@ ifend7: br label %wcond0 wend2: %t44 = load ptr, ptr %t0 - %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str11119) + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str11416) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: @@ -117642,7 +124649,7 @@ then12: store i32 %t50, ptr %t47 br i1 %t49, label %sc15, label %scend16 sc15: - %t51 = call ptr @fn_find_fn(ptr @.str11120) + %t51 = call ptr @fn_find_fn(ptr @.str11417) %t52 = icmp ne ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 @@ -117654,14 +124661,14 @@ scend16: %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then17, label %ifend19 then17: - call void @fn_emit(ptr @.str11121) + call void @fn_emit(ptr @.str11418) br label %ifend19 ifend19: %t58 = call i32 @fn_has_countdowns() %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then20, label %ifend22 then20: - call void @fn_emit(ptr @.str11122) + call void @fn_emit(ptr @.str11419) br label %ifend22 ifend22: %t61 = load i32, ptr @g_g_uses_fx @@ -117670,7 +124677,7 @@ ifend22: store i32 %t63, ptr %t60 br i1 %t62, label %sc23, label %scend24 sc23: - %t64 = call ptr @fn_find_fn(ptr @.str11123) + %t64 = call ptr @fn_find_fn(ptr @.str11420) %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 @@ -117682,13 +124689,13 @@ scend24: %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then25, label %ifend27 then25: - call void @fn_emit(ptr @.str11124) + call void @fn_emit(ptr @.str11421) br label %ifend27 ifend27: br label %ifend14 ifend14: %t71 = load ptr, ptr %t0 - %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11125) + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11422) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then28, label %ifend30 then28: @@ -117698,7 +124705,7 @@ then28: store i32 %t77, ptr %t74 br i1 %t76, label %sc31, label %scend32 sc31: - %t78 = call ptr @fn_find_fn(ptr @.str11126) + %t78 = call ptr @fn_find_fn(ptr @.str11423) %t79 = icmp ne ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 @@ -117710,7 +124717,7 @@ scend32: %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then33, label %ifend35 then33: - call void @fn_emit(ptr @.str11127) + call void @fn_emit(ptr @.str11424) br label %ifend35 ifend35: br label %ifend30 @@ -117733,15 +124740,15 @@ entry: %t119 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str11128) - call void @fn_emit(ptr @.str11129) - call void @fn_emit(ptr @.str11130) - call void @fn_emit(ptr @.str11131) - call void @fn_emit(ptr @.str11132) + call void @fn_emit(ptr @.str11425) + call void @fn_emit(ptr @.str11426) + call void @fn_emit(ptr @.str11427) + call void @fn_emit(ptr @.str11428) + call void @fn_emit(ptr @.str11429) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str11133) - call void @fn_emit(ptr @.str11134) + call void @fn_emit(ptr @.str11430) + call void @fn_emit(ptr @.str11431) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 @@ -117765,7 +124772,7 @@ wbody1: br i1 %t18, label %ixok3, label %ixbad4 ixbad4: %t19 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11135, i32 %t15, i32 %t17) + call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11432, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok3: @@ -117807,7 +124814,7 @@ wbody9: br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11136, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11433, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: @@ -117815,7 +124822,7 @@ ixok11: %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 %t53 = load ptr, ptr %t52 - %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str11137) + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str11434) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then13, label %ifend15 then13: @@ -117838,67 +124845,67 @@ then16: %t64 = add i32 %t63, 1 %t65 = call ptr @fn_itoa(i32 %t64) store ptr %t65, ptr %t66 - call void @fn_emit(ptr @.str11138) + call void @fn_emit(ptr @.str11435) %t67 = load ptr, ptr %t62 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str11139) - call void @fn_emit(ptr @.str11140) + call void @fn_emit(ptr @.str11436) + call void @fn_emit(ptr @.str11437) %t68 = load ptr, ptr %t62 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str11141) + call void @fn_emit(ptr @.str11438) %t69 = load ptr, ptr %t1 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str11142) + call void @fn_emit(ptr @.str11439) %t70 = load ptr, ptr %t22 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str11143) - call void @fn_emit(ptr @.str11144) + call void @fn_emit(ptr @.str11440) + call void @fn_emit(ptr @.str11441) %t73 = load ptr, ptr %t62 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11145) + call void @fn_emit(ptr @.str11442) %t74 = load ptr, ptr %t62 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11146) - call void @fn_emit(ptr @.str11147) + call void @fn_emit(ptr @.str11443) + call void @fn_emit(ptr @.str11444) %t75 = load ptr, ptr %t62 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11148) + call void @fn_emit(ptr @.str11445) %t76 = load ptr, ptr %t62 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11149) - call void @fn_emit(ptr @.str11150) + call void @fn_emit(ptr @.str11446) + call void @fn_emit(ptr @.str11447) %t77 = load ptr, ptr %t62 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11151) + call void @fn_emit(ptr @.str11448) %t78 = load ptr, ptr %t62 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11152) + call void @fn_emit(ptr @.str11449) %t79 = load ptr, ptr %t66 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11153) - call void @fn_emit(ptr @.str11154) + call void @fn_emit(ptr @.str11450) + call void @fn_emit(ptr @.str11451) %t80 = load ptr, ptr %t62 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11155) - call void @fn_emit(ptr @.str11156) + call void @fn_emit(ptr @.str11452) + call void @fn_emit(ptr @.str11453) %t81 = load ptr, ptr %t62 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str11157) + call void @fn_emit(ptr @.str11454) %t82 = load ptr, ptr %t1 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11158) + call void @fn_emit(ptr @.str11455) %t83 = load ptr, ptr %t22 %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 @.str11159) + call void @fn_emit(ptr @.str11456) %t86 = load ptr, ptr %t22 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str11160) + call void @fn_emit(ptr @.str11457) store i32 0, ptr %t30 br label %wcond19 wcond19: @@ -117925,7 +124932,7 @@ wbody20: br i1 %t106, label %ixok22, label %ixbad23 ixbad23: %t107 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str11161, i32 %t103, i32 %t105) + call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str11458, i32 %t103, i32 %t105) call void @exit(i32 1) unreachable ixok22: @@ -117933,73 +124940,73 @@ ixok22: %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 3 %t111 = load ptr, ptr %t110 - %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str11162) + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str11459) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then24, label %ifend26 then24: %t114 = load ptr, ptr %t62 - %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str11163) + %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str11460) %t116 = load i32, ptr %t30 %t117 = call ptr @fn_itoa(i32 %t116) %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117) store ptr %t118, ptr %t119 - call void @fn_emit(ptr @.str11164) + call void @fn_emit(ptr @.str11461) %t120 = load ptr, ptr %t119 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str11165) + call void @fn_emit(ptr @.str11462) %t121 = load ptr, ptr %t22 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 call void @fn_emit(ptr %t123) - call void @fn_emit(ptr @.str11166) + call void @fn_emit(ptr @.str11463) %t124 = load ptr, ptr %t62 call void @fn_emit(ptr %t124) - call void @fn_emit(ptr @.str11167) + call void @fn_emit(ptr @.str11464) %t125 = load i32, ptr %t30 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str11168) - call void @fn_emit(ptr @.str11169) + call void @fn_emit(ptr @.str11465) + call void @fn_emit(ptr @.str11466) %t127 = load ptr, ptr %t119 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str11170) + call void @fn_emit(ptr @.str11467) %t128 = load ptr, ptr %t119 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str11171) - call void @fn_emit(ptr @.str11172) + call void @fn_emit(ptr @.str11468) + call void @fn_emit(ptr @.str11469) %t129 = load ptr, ptr %t119 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str11173) + call void @fn_emit(ptr @.str11470) %t130 = load ptr, ptr %t119 call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str11174) - call void @fn_emit(ptr @.str11175) + call void @fn_emit(ptr @.str11471) + call void @fn_emit(ptr @.str11472) %t131 = load ptr, ptr %t119 call void @fn_emit(ptr %t131) - call void @fn_emit(ptr @.str11176) + call void @fn_emit(ptr @.str11473) %t132 = load ptr, ptr %t119 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str11177) - call void @fn_emit(ptr @.str11178) + call void @fn_emit(ptr @.str11474) + call void @fn_emit(ptr @.str11475) %t133 = load ptr, ptr %t119 call void @fn_emit(ptr %t133) - call void @fn_emit(ptr @.str11179) + call void @fn_emit(ptr @.str11476) %t134 = load ptr, ptr %t119 call void @fn_emit(ptr %t134) - call void @fn_emit(ptr @.str11180) + call void @fn_emit(ptr @.str11477) %t135 = load ptr, ptr %t119 call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str11181) + call void @fn_emit(ptr @.str11478) %t136 = load ptr, ptr %t119 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str11182) - call void @fn_emit(ptr @.str11183) + call void @fn_emit(ptr @.str11479) + call void @fn_emit(ptr @.str11480) %t137 = load ptr, ptr %t119 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str11184) + call void @fn_emit(ptr @.str11481) %t138 = load ptr, ptr %t119 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str11185) + call void @fn_emit(ptr @.str11482) br label %ifend26 ifend26: %t139 = load i32, ptr %t30 @@ -118007,10 +125014,10 @@ ifend26: store i32 %t140, ptr %t30 br label %wcond19 wend21: - call void @fn_emit(ptr @.str11186) + call void @fn_emit(ptr @.str11483) %t141 = load ptr, ptr %t66 call void @fn_emit(ptr %t141) - call void @fn_emit(ptr @.str11187) + call void @fn_emit(ptr @.str11484) %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 @@ -118023,12 +125030,12 @@ ifend7: store i32 %t145, ptr %t4 br label %wcond0 wend2: - call void @fn_emit(ptr @.str11188) + call void @fn_emit(ptr @.str11485) %t146 = load i32, ptr %t3 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str11189) - call void @fn_emit(ptr @.str11190) + call void @fn_emit(ptr @.str11486) + call void @fn_emit(ptr @.str11487) br label %ret ret: ret void @@ -118049,7 +125056,7 @@ entry: store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr null, ptr @g_g_cur_scene - store ptr @.str11191, ptr @g_ret_ty + store ptr @.str11488, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() @@ -118069,25 +125076,25 @@ entry: %t14 = load ptr, ptr %t8 %t15 = call ptr @fn_emit_spawn(ptr %t14) store ptr %t15, ptr %t16 - call void @fn_emit(ptr @.str11192) + call void @fn_emit(ptr @.str11489) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str11193) + call void @fn_emit(ptr @.str11490) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code - call void @fn_emit(ptr @.str11194) + call void @fn_emit(ptr @.str11491) %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 @.str11195) + call void @fn_emit(ptr @.str11492) %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 @.str11196) + call void @fn_emit(ptr @.str11493) br label %ret ret: ret void @@ -118128,7 +125135,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11197, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11494, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -118151,7 +125158,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str11198, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str11495, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -118202,7 +125209,7 @@ wbody11: br i1 %t54, label %ixok13, label %ixbad14 ixbad14: %t55 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str11199, i32 %t51, i32 %t53) + call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str11496, i32 %t51, i32 %t53) call void @exit(i32 1) unreachable ixok13: @@ -118231,46 +125238,46 @@ then15: %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 - %t78 = call ptr @lp_str_concat(ptr @.str11200, ptr %t77) - %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11201) + %t78 = call ptr @lp_str_concat(ptr @.str11497, ptr %t77) + %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11498) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 - %t83 = call ptr @lp_str_concat(ptr @.str11202, ptr %t82) - %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str11203) + %t83 = call ptr @lp_str_concat(ptr @.str11499, ptr %t82) + %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str11500) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 - %t87 = call ptr @fn_lbl(ptr @.str11204) + %t87 = call ptr @fn_lbl(ptr @.str11501) store ptr %t87, ptr %t88 - %t89 = call ptr @fn_lbl(ptr @.str11205) + %t89 = call ptr @fn_lbl(ptr @.str11502) store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str11206) + call void @fn_emit(ptr @.str11503) %t91 = load ptr, ptr %t86 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str11207) + call void @fn_emit(ptr @.str11504) %t92 = load ptr, ptr %t88 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str11208) + call void @fn_emit(ptr @.str11505) %t93 = load ptr, ptr %t90 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str11209) + call void @fn_emit(ptr @.str11506) %t94 = load ptr, ptr %t88 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str11210) + call void @fn_emit(ptr @.str11507) %t95 = load ptr, ptr %t58 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 - %t98 = call ptr @lp_str_concat(ptr @.str11211, ptr %t97) - %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str11212) + %t98 = call ptr @lp_str_concat(ptr @.str11508, ptr %t97) + %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str11509) %t100 = call ptr @fn_emit_bind(ptr %t99) store ptr %t100, ptr %t101 - call void @fn_emit(ptr @.str11213) + call void @fn_emit(ptr @.str11510) %t102 = load ptr, ptr %t101 call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str11214) + call void @fn_emit(ptr @.str11511) %t103 = load ptr, ptr %t90 call void @fn_emit(ptr %t103) - call void @fn_emit(ptr @.str11215) + call void @fn_emit(ptr @.str11512) br label %ifend17 ifend17: %t104 = load i32, ptr %t0 @@ -118278,17 +125285,17 @@ ifend17: store i32 %t105, ptr %t0 br label %wcond10 wend12: - call void @fn_emit(ptr @.str11216) + call void @fn_emit(ptr @.str11513) %t106 = load ptr, ptr %t39 store ptr %t106, ptr @g_code - call void @fn_emit(ptr @.str11217) + call void @fn_emit(ptr @.str11514) %t107 = load ptr, ptr @g_falloc %t108 = call ptr @fn_buf_str(ptr %t107) call void @fn_emit(ptr %t108) %t109 = load ptr, ptr %t36 %t110 = call ptr @fn_buf_str(ptr %t109) call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str11218) + call void @fn_emit(ptr @.str11515) br label %ret ret: ret void @@ -118300,7 +125307,7 @@ entry: %t0 = alloca ptr store ptr %arg_phase, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str11219) + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str11516) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -118308,7 +125315,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11220) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11517) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -118316,7 +125323,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str11221) + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str11518) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -118324,7 +125331,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str11222) + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str11519) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -118332,7 +125339,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11223) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11520) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -118340,7 +125347,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11224) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11521) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -118348,7 +125355,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str11225) + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str11522) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -118356,7 +125363,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11226) + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11523) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -118364,8 +125371,8 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call ptr @lp_str_concat(ptr @.str11227, ptr %t25) - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11228) + %t26 = call ptr @lp_str_concat(ptr @.str11524, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11525) call void @fn_perr(ptr %t27) store i32 7, ptr %retval br label %ret @@ -118385,14 +125392,14 @@ entry: %t29 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 - %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11229) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11526) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 - %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str11230) + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str11527) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 @@ -118405,7 +125412,7 @@ scend1: br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 - %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11231) + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11528) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 @@ -118418,7 +125425,7 @@ scend3: br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11232) + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11529) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 @@ -118432,14 +125439,14 @@ then6: br label %ret ifend8: %t30 = load ptr, ptr %t0 - %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11233) + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11530) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11234) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11531) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 @@ -118452,7 +125459,7 @@ scend10: br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 - %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str11235) + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str11532) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 @@ -118475,33 +125482,33 @@ ret: define void @fn_emit_module_glue() { entry: %t4 = alloca i32 - call void @fn_emith(ptr @.str11236) - call void @fn_emith(ptr @.str11237) - call void @fn_emith(ptr @.str11238) - call void @fn_emith(ptr @.str11239) - call void @fn_emith(ptr @.str11240) - call void @fn_emith(ptr @.str11241) - call void @fn_emith(ptr @.str11242) - call void @fn_emith(ptr @.str11243) - call void @fn_emith(ptr @.str11244) - call void @fn_emith(ptr @.str11245) - call void @fn_emith(ptr @.str11246) - call void @fn_emith(ptr @.str11247) - call void @fn_emith(ptr @.str11248) - call void @fn_emith(ptr @.str11249) - call void @fn_emith(ptr @.str11250) - call void @fn_emith(ptr @.str11251) - call void @fn_emith(ptr @.str11252) - call void @fn_emith(ptr @.str11253) - call void @fn_emith(ptr @.str11254) - call void @fn_emit(ptr @.str11255) - %t0 = call ptr @fn_find_fn(ptr @.str11256) + call void @fn_emith(ptr @.str11533) + call void @fn_emith(ptr @.str11534) + call void @fn_emith(ptr @.str11535) + call void @fn_emith(ptr @.str11536) + call void @fn_emith(ptr @.str11537) + call void @fn_emith(ptr @.str11538) + call void @fn_emith(ptr @.str11539) + call void @fn_emith(ptr @.str11540) + call void @fn_emith(ptr @.str11541) + call void @fn_emith(ptr @.str11542) + call void @fn_emith(ptr @.str11543) + call void @fn_emith(ptr @.str11544) + call void @fn_emith(ptr @.str11545) + call void @fn_emith(ptr @.str11546) + call void @fn_emith(ptr @.str11547) + call void @fn_emith(ptr @.str11548) + call void @fn_emith(ptr @.str11549) + call void @fn_emith(ptr @.str11550) + call void @fn_emith(ptr @.str11551) + call void @fn_emit(ptr @.str11552) + %t0 = call ptr @fn_find_fn(ptr @.str11553) %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 @.str11257) + call void @fn_emit(ptr @.str11554) br label %ifend2 ifend2: store i32 0, ptr %t4 @@ -118516,7 +125523,7 @@ wcond3: %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody4, label %wend5 wbody4: - call void @fn_emit(ptr @.str11258) + call void @fn_emit(ptr @.str11555) %t12 = load ptr, ptr @g_g_mod_sys_fn %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 @@ -118527,14 +125534,14 @@ wbody4: br i1 %t18, label %ixok6, label %ixbad7 ixbad7: %t19 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11259, i32 %t15, i32 %t17) + call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11556, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok6: %t20 = getelementptr inbounds ptr, ptr %t14, i32 %t15 %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str11260) + call void @fn_emit(ptr @.str11557) %t22 = load ptr, ptr @g_g_mod_sys_phase %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 @@ -118545,7 +125552,7 @@ ixok6: br i1 %t28, label %ixok8, label %ixbad9 ixbad9: %t29 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11261, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11558, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok8: @@ -118554,14 +125561,14 @@ ixok8: %t32 = call i32 @fn_phase_id(ptr %t31) %t33 = call ptr @fn_itoa(i32 %t32) call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11262) + call void @fn_emit(ptr @.str11559) %t34 = load i32, ptr %t4 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t4 br label %wcond3 wend5: - call void @fn_emit(ptr @.str11263) - call void @fn_emith(ptr @.str11264) + call void @fn_emit(ptr @.str11560) + call void @fn_emith(ptr @.str11561) br label %ret ret: ret void @@ -118572,35 +125579,35 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 64) store ptr %t0, ptr %t1 - call void @fn_emith(ptr @.str11265) + call void @fn_emith(ptr @.str11562) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) - call void @fn_emith(ptr @.str11266) - call void @fn_emith(ptr @.str11267) + call void @fn_emith(ptr @.str11563) + call void @fn_emith(ptr @.str11564) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) - call void @fn_emith(ptr @.str11268) - call void @fn_emith(ptr @.str11269) - call void @fn_emit(ptr @.str11270) - call void @fn_emit(ptr @.str11271) - call void @fn_emit(ptr @.str11272) + call void @fn_emith(ptr @.str11565) + call void @fn_emith(ptr @.str11566) + call void @fn_emit(ptr @.str11567) + call void @fn_emit(ptr @.str11568) + call void @fn_emit(ptr @.str11569) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str11273) - call void @fn_emit(ptr @.str11274) - call void @fn_emit(ptr @.str11275) - call void @fn_emit(ptr @.str11276) + call void @fn_emit(ptr @.str11570) + call void @fn_emit(ptr @.str11571) + call void @fn_emit(ptr @.str11572) + call void @fn_emit(ptr @.str11573) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str11277) - call void @fn_emit(ptr @.str11278) - call void @fn_emit(ptr @.str11279) + call void @fn_emit(ptr @.str11574) + call void @fn_emit(ptr @.str11575) + call void @fn_emit(ptr @.str11576) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str11280) - call void @fn_emit(ptr @.str11281) - call void @fn_emit(ptr @.str11282) - call void @fn_emit(ptr @.str11283) + call void @fn_emit(ptr @.str11577) + call void @fn_emit(ptr @.str11578) + call void @fn_emit(ptr @.str11579) + call void @fn_emit(ptr @.str11580) br label %ret ret: ret void @@ -118637,141 +125644,141 @@ entry: store ptr %t7, ptr %t8 %t9 = call ptr @fn_nreg() store ptr %t9, ptr %t10 - %t11 = call ptr @fn_lbl(ptr @.str11284) + %t11 = call ptr @fn_lbl(ptr @.str11581) store ptr %t11, ptr %t12 - %t13 = call ptr @fn_lbl(ptr @.str11285) + %t13 = call ptr @fn_lbl(ptr @.str11582) store ptr %t13, ptr %t14 - %t15 = call ptr @fn_lbl(ptr @.str11286) + %t15 = call ptr @fn_lbl(ptr @.str11583) store ptr %t15, ptr %t16 - %t17 = call ptr @fn_lbl(ptr @.str11287) + %t17 = call ptr @fn_lbl(ptr @.str11584) store ptr %t17, ptr %t18 - %t19 = call ptr @fn_lbl(ptr @.str11288) + %t19 = call ptr @fn_lbl(ptr @.str11585) store ptr %t19, ptr %t20 - %t21 = call ptr @fn_lbl(ptr @.str11289) + %t21 = call ptr @fn_lbl(ptr @.str11586) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str11290) + call void @fn_emit(ptr @.str11587) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str11291) + call void @fn_emit(ptr @.str11588) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str11292) + call void @fn_emit(ptr @.str11589) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str11293) + call void @fn_emit(ptr @.str11590) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str11294) - call void @fn_emit(ptr @.str11295) + call void @fn_emit(ptr @.str11591) + call void @fn_emit(ptr @.str11592) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str11296) + call void @fn_emit(ptr @.str11593) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str11297) + call void @fn_emit(ptr @.str11594) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str11298) + call void @fn_emit(ptr @.str11595) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str11299) - %t31 = call ptr @fn_emit_bind(ptr @.str11300) + call void @fn_emit(ptr @.str11596) + %t31 = call ptr @fn_emit_bind(ptr @.str11597) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 - %t34 = call ptr @lp_str_concat(ptr @.str11301, ptr %t33) - %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11302) + %t34 = call ptr @lp_str_concat(ptr @.str11598, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11599) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 - call void @fn_emit(ptr @.str11303) + call void @fn_emit(ptr @.str11600) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11304) + call void @fn_emit(ptr @.str11601) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str11305) + call void @fn_emit(ptr @.str11602) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str11306) + call void @fn_emit(ptr @.str11603) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str11307) + call void @fn_emit(ptr @.str11604) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 - call void @fn_emit(ptr @.str11308) + call void @fn_emit(ptr @.str11605) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) - call void @fn_emit(ptr @.str11309) + call void @fn_emit(ptr @.str11606) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str11310) + call void @fn_emit(ptr @.str11607) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str11311) + call void @fn_emit(ptr @.str11608) %t49 = load ptr, ptr %t45 - %t50 = call ptr @lp_str_concat(ptr @.str11312, ptr %t49) + %t50 = call ptr @lp_str_concat(ptr @.str11609, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 - %t54 = call ptr @lp_str_concat(ptr @.str11313, ptr %t53) - %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str11314) + %t54 = call ptr @lp_str_concat(ptr @.str11610, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str11611) %t56 = load ptr, ptr %t6 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 - call void @fn_emit(ptr @.str11315) + call void @fn_emit(ptr @.str11612) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str11316) + call void @fn_emit(ptr @.str11613) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str11317) + call void @fn_emit(ptr @.str11614) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) - call void @fn_emit(ptr @.str11318) + call void @fn_emit(ptr @.str11615) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str11319) + call void @fn_emit(ptr @.str11616) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 - call void @fn_emit(ptr @.str11320) + call void @fn_emit(ptr @.str11617) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str11321) + call void @fn_emit(ptr @.str11618) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str11322) + call void @fn_emit(ptr @.str11619) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str11323) + call void @fn_emit(ptr @.str11620) %t69 = load ptr, ptr %t65 - %t70 = call ptr @lp_str_concat(ptr @.str11324, ptr %t69) + %t70 = call ptr @lp_str_concat(ptr @.str11621, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 - call void @fn_emit(ptr @.str11325) + call void @fn_emit(ptr @.str11622) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11326) - call void @fn_emit(ptr @.str11327) + call void @fn_emit(ptr @.str11623) + call void @fn_emit(ptr @.str11624) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11328) + call void @fn_emit(ptr @.str11625) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11329) + call void @fn_emit(ptr @.str11626) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11330) + call void @fn_emit(ptr @.str11627) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11331) + call void @fn_emit(ptr @.str11628) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11332) + call void @fn_emit(ptr @.str11629) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11333) + call void @fn_emit(ptr @.str11630) br label %ret ret: ret void @@ -118818,7 +125825,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11334, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11631, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -118897,7 +125904,7 @@ wbody13: br i1 %t65, label %ixok15, label %ixbad16 ixbad16: %t66 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str11335, i32 %t62, i32 %t64) + call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str11632, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok15: @@ -118956,7 +125963,7 @@ wend14: %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then24, label %ifend26 then24: - %t102 = call ptr @fn_emit_bind(ptr @.str11336) + %t102 = call ptr @fn_emit_bind(ptr @.str11633) store ptr %t102, ptr %t103 store i32 0, ptr %t1 br label %wcond27 @@ -118980,7 +125987,7 @@ wbody28: br i1 %t117, label %ixok30, label %ixbad31 ixbad31: %t118 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11337, i32 %t114, i32 %t116) + call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11634, i32 %t114, i32 %t116) call void @exit(i32 1) unreachable ixok30: @@ -119028,8 +126035,8 @@ scend35: br i1 %t149, label %then36, label %ifend38 then36: %t150 = load ptr, ptr %t103 - %t151 = call ptr @lp_str_concat(ptr @.str11338, ptr %t150) - %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11339) + %t151 = call ptr @lp_str_concat(ptr @.str11635, ptr %t150) + %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11636) %t153 = load ptr, ptr %t121 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 6 %t155 = load ptr, ptr %t154 @@ -119039,32 +126046,32 @@ then36: %t159 = call ptr @lp_str_concat(ptr %t152, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 - %t162 = call ptr @fn_lbl(ptr @.str11340) + %t162 = call ptr @fn_lbl(ptr @.str11637) store ptr %t162, ptr %t163 - %t164 = call ptr @fn_lbl(ptr @.str11341) + %t164 = call ptr @fn_lbl(ptr @.str11638) store ptr %t164, ptr %t165 - call void @fn_emit(ptr @.str11342) + call void @fn_emit(ptr @.str11639) %t166 = load ptr, ptr %t161 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str11343) + call void @fn_emit(ptr @.str11640) %t167 = load ptr, ptr %t163 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str11344) + call void @fn_emit(ptr @.str11641) %t168 = load ptr, ptr %t165 call void @fn_emit(ptr %t168) - call void @fn_emit(ptr @.str11345) + call void @fn_emit(ptr @.str11642) %t169 = load ptr, ptr %t163 call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str11346) + call void @fn_emit(ptr @.str11643) %t170 = load ptr, ptr %t121 call void @fn_emit_call_one(ptr %t170) - call void @fn_emit(ptr @.str11347) + call void @fn_emit(ptr @.str11644) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) - call void @fn_emit(ptr @.str11348) + call void @fn_emit(ptr @.str11645) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str11349) + call void @fn_emit(ptr @.str11646) br label %ifend38 ifend38: %t173 = load i32, ptr %t1 @@ -119079,7 +126086,7 @@ ifend26: %t176 = load ptr, ptr %t0 call void @fn_emit_dyn_systems_for_phase(ptr %t176) %t177 = load ptr, ptr %t0 - %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11350) + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11647) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then39, label %ifend41 then39: @@ -119123,7 +126130,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11351, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11648, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -119152,7 +126159,7 @@ wend2: then8: br label %ret ifend10: - %t30 = call ptr @fn_emit_bind(ptr @.str11352) + %t30 = call ptr @fn_emit_bind(ptr @.str11649) store ptr %t30, ptr %t31 store i32 0, ptr %t1 br label %wcond11 @@ -119176,7 +126183,7 @@ wbody12: br i1 %t45, label %ixok14, label %ixbad15 ixbad15: %t46 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str11353, i32 %t42, i32 %t44) + call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str11650, i32 %t42, i32 %t44) call void @exit(i32 1) unreachable ixok14: @@ -119192,8 +126199,8 @@ ixok14: br i1 %t55, label %then16, label %ifend18 then16: %t56 = load ptr, ptr %t31 - %t57 = call ptr @lp_str_concat(ptr @.str11354, ptr %t56) - %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11355) + %t57 = call ptr @lp_str_concat(ptr @.str11651, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11652) %t59 = load ptr, ptr %t49 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 %t61 = load i32, ptr %t60 @@ -119201,30 +126208,30 @@ then16: %t63 = call ptr @lp_str_concat(ptr %t58, ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 - %t66 = call ptr @fn_lbl(ptr @.str11356) + %t66 = call ptr @fn_lbl(ptr @.str11653) store ptr %t66, ptr %t67 - %t68 = call ptr @fn_lbl(ptr @.str11357) + %t68 = call ptr @fn_lbl(ptr @.str11654) store ptr %t68, ptr %t69 - call void @fn_emit(ptr @.str11358) + call void @fn_emit(ptr @.str11655) %t70 = load ptr, ptr %t65 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str11359) + call void @fn_emit(ptr @.str11656) %t71 = load ptr, ptr %t67 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str11360) + call void @fn_emit(ptr @.str11657) %t72 = load ptr, ptr %t69 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str11361) + call void @fn_emit(ptr @.str11658) %t73 = load ptr, ptr %t67 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11362) - call void @fn_emit(ptr @.str11363) + call void @fn_emit(ptr @.str11659) + call void @fn_emit(ptr @.str11660) %t74 = load ptr, ptr %t69 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11364) + call void @fn_emit(ptr @.str11661) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11365) + call void @fn_emit(ptr @.str11662) br label %ifend18 ifend18: %t76 = load i32, ptr %t1 @@ -119259,7 +126266,7 @@ entry: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11366, ptr @g_ret_ty + store ptr @.str11663, ptr @g_ret_ty %t4 = call ptr @fn_buf_new() store ptr %t4, ptr %t5 %t6 = call ptr @fn_buf_new() @@ -119277,7 +126284,7 @@ entry: br i1 %t14, label %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t1 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11367) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11664) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t10 @@ -119287,22 +126294,22 @@ scend1: %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then2, label %ifend4 then2: - %t22 = call ptr @fn_find_fn(ptr @.str11368) + %t22 = call ptr @fn_find_fn(ptr @.str11665) %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 @.str11369) + call void @fn_emit(ptr @.str11666) br label %ifend7 ifend7: - call void @fn_emit(ptr @.str11370) + call void @fn_emit(ptr @.str11667) %t26 = load ptr, ptr %t3 - %t27 = call ptr @lp_str_concat(ptr @.str11371, ptr %t26) + %t27 = call ptr @lp_str_concat(ptr @.str11668, 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 @.str11372) + call void @fn_emit(ptr @.str11669) br label %ifend4 ifend4: %t31 = load ptr, ptr %t3 @@ -119314,7 +126321,7 @@ ifend4: br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t1 - %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11373) + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11670) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t30 @@ -119324,7 +126331,7 @@ scend9: %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then10, label %ifend12 then10: - call void @fn_emit(ptr @.str11374) + call void @fn_emit(ptr @.str11671) br label %ifend12 ifend12: %t42 = load ptr, ptr %t2 @@ -119338,8 +126345,8 @@ then13: br label %ifend15 ifend15: %t47 = load ptr, ptr %t0 - %t48 = call ptr @lp_str_concat(ptr @.str11375, ptr %t47) - %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11376) + %t48 = call ptr @lp_str_concat(ptr @.str11672, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11673) %t50 = load ptr, ptr %t1 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store ptr %t51, ptr %t52 @@ -119364,10 +126371,10 @@ scend17: %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str11377) + call void @fn_emit(ptr @.str11674) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str11378) + call void @fn_emit(ptr @.str11675) br label %ifend20 ifend20: %t68 = load i32, ptr @g_g_term @@ -119376,26 +126383,26 @@ ifend20: %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then21, label %ifend23 then21: - call void @fn_emit(ptr @.str11379) + call void @fn_emit(ptr @.str11676) br label %ifend23 ifend23: - call void @fn_emit(ptr @.str11380) + call void @fn_emit(ptr @.str11677) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code - call void @fn_emit(ptr @.str11381) + call void @fn_emit(ptr @.str11678) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) - call void @fn_emit(ptr @.str11382) + call void @fn_emit(ptr @.str11679) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11383) + call void @fn_emit(ptr @.str11680) %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 @.str11384) + call void @fn_emit(ptr @.str11681) br label %ret ret: ret void @@ -119427,7 +126434,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11385, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11682, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119445,7 +126452,7 @@ ixok3: %t26 = load ptr, ptr %t18 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 - call void @fn_emit_scene_fn(ptr %t22, ptr @.str11386, ptr %t25, ptr %t28) + call void @fn_emit_scene_fn(ptr %t22, ptr @.str11683, ptr %t25, ptr %t28) %t29 = load ptr, ptr %t18 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 @@ -119455,7 +126462,7 @@ ixok3: %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 - call void @fn_emit_scene_fn(ptr %t31, ptr @.str11387, ptr %t34, ptr %t37) + call void @fn_emit_scene_fn(ptr %t31, ptr @.str11684, ptr %t34, ptr %t37) %t38 = load i32, ptr %t0 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t0 @@ -119483,8 +126490,8 @@ entry: %t0 = alloca i32 %t18 = alloca ptr %t21 = alloca ptr - call void @fn_emit(ptr @.str11388) - call void @fn_emit(ptr @.str11389) + call void @fn_emit(ptr @.str11685) + call void @fn_emit(ptr @.str11686) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -119507,7 +126514,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11390, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11687, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119517,45 +126524,45 @@ ixok3: %t19 = load i32, ptr %t0 %t20 = call ptr @fn_itoa(i32 %t19) store ptr %t20, ptr %t21 - call void @fn_emit(ptr @.str11391) + call void @fn_emit(ptr @.str11688) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) - call void @fn_emit(ptr @.str11392) + call void @fn_emit(ptr @.str11689) %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = call ptr @fn_itoa(i32 %t25) call void @fn_emit(ptr %t26) - call void @fn_emit(ptr @.str11393) - call void @fn_emit(ptr @.str11394) + call void @fn_emit(ptr @.str11690) + call void @fn_emit(ptr @.str11691) %t27 = load ptr, ptr %t21 call void @fn_emit(ptr %t27) - call void @fn_emit(ptr @.str11395) + call void @fn_emit(ptr @.str11692) %t28 = load ptr, ptr %t21 call void @fn_emit(ptr %t28) - call void @fn_emit(ptr @.str11396) + call void @fn_emit(ptr @.str11693) %t29 = load ptr, ptr %t21 call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str11397) - call void @fn_emit(ptr @.str11398) + call void @fn_emit(ptr @.str11694) + call void @fn_emit(ptr @.str11695) %t30 = load ptr, ptr %t21 call void @fn_emit(ptr %t30) - call void @fn_emit(ptr @.str11399) + call void @fn_emit(ptr @.str11696) %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11400) - call void @fn_emit(ptr @.str11401) + call void @fn_emit(ptr @.str11697) + call void @fn_emit(ptr @.str11698) %t34 = load ptr, ptr %t21 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str11402) + call void @fn_emit(ptr @.str11699) %t35 = load i32, ptr %t0 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t0 br label %wcond0 wend2: - call void @fn_emit(ptr @.str11403) + call void @fn_emit(ptr @.str11700) br label %ret ret: ret void @@ -119591,7 +126598,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11404, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11701, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -119609,7 +126616,7 @@ ixok3: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11405, ptr @g_ret_ty + store ptr @.str11702, ptr @g_ret_ty %t24 = call ptr @fn_buf_new() store ptr %t24, ptr %t25 %t26 = call ptr @fn_buf_new() @@ -119626,21 +126633,21 @@ ixok3: %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then5, label %ifend7 then5: - %t36 = call ptr @fn_emit_alloca(ptr @.str11406) + %t36 = call ptr @fn_emit_alloca(ptr @.str11703) store ptr %t36, ptr %t37 - call void @fn_emit(ptr @.str11407) + call void @fn_emit(ptr @.str11704) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str11408) + call void @fn_emit(ptr @.str11705) %t39 = load ptr, ptr %t18 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t37 - call void @fn_loc_push(ptr %t41, ptr %t42, ptr @.str11409) + call void @fn_loc_push(ptr %t41, ptr %t42, ptr @.str11706) br label %ifend7 ifend7: %t43 = load ptr, ptr %t23 - call void @fn_emit_bind_props(ptr %t43, ptr @.str11410) + call void @fn_emit_bind_props(ptr %t43, ptr @.str11707) %t44 = load ptr, ptr %t18 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 @@ -119651,25 +126658,25 @@ ifend7: %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str11411) + call void @fn_emit(ptr @.str11708) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str11412) + call void @fn_emit(ptr @.str11709) %t51 = load ptr, ptr %t28 store ptr %t51, ptr @g_code - call void @fn_emit(ptr @.str11413) + call void @fn_emit(ptr @.str11710) %t52 = load ptr, ptr %t18 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str11414) + call void @fn_emit(ptr @.str11711) %t55 = load ptr, ptr @g_falloc %t56 = call ptr @fn_buf_str(ptr %t55) call void @fn_emit(ptr %t56) %t57 = load ptr, ptr %t25 %t58 = call ptr @fn_buf_str(ptr %t57) call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str11415) + call void @fn_emit(ptr @.str11712) %t59 = load i32, ptr %t0 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t0 @@ -119688,7 +126695,7 @@ entry: %t29 = alloca ptr %t32 = alloca ptr %t45 = alloca ptr - call void @fn_emit(ptr @.str11416) + call void @fn_emit(ptr @.str11713) %t0 = load ptr, ptr @g_g_ondespawn %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 @@ -119699,11 +126706,11 @@ entry: then0: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str11417) + call void @fn_emit(ptr @.str11714) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str11418) - call void @fn_emit(ptr @.str11419) + call void @fn_emit(ptr @.str11715) + call void @fn_emit(ptr @.str11716) store i32 0, ptr %t9 br label %wcond3 wcond3: @@ -119726,7 +126733,7 @@ wbody4: br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str11420, i32 %t20, i32 %t22) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str11717, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: @@ -119738,35 +126745,35 @@ ixok6: %t30 = load i32, ptr %t9 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 - call void @fn_emit(ptr @.str11421) + call void @fn_emit(ptr @.str11718) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str11422) + call void @fn_emit(ptr @.str11719) %t34 = load ptr, ptr %t29 %t35 = call i32 @fn_find_arch_id(ptr %t34) %t36 = call ptr @fn_itoa(i32 %t35) call void @fn_emit(ptr %t36) - call void @fn_emit(ptr @.str11423) - call void @fn_emit(ptr @.str11424) + call void @fn_emit(ptr @.str11720) + call void @fn_emit(ptr @.str11721) %t37 = load ptr, ptr %t32 call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str11425) + call void @fn_emit(ptr @.str11722) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str11426) + call void @fn_emit(ptr @.str11723) %t39 = load ptr, ptr %t32 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str11427) - call void @fn_emit(ptr @.str11428) + call void @fn_emit(ptr @.str11724) + call void @fn_emit(ptr @.str11725) %t40 = load ptr, ptr %t32 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11429) + call void @fn_emit(ptr @.str11726) %t41 = load ptr, ptr %t29 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str11430) + call void @fn_emit(ptr @.str11727) %t42 = load ptr, ptr %t29 - %t43 = call ptr @lp_str_concat(ptr @.str11431, ptr %t42) - %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11432) + %t43 = call ptr @lp_str_concat(ptr @.str11728, ptr %t42) + %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11729) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_find_event(ptr %t46) @@ -119775,20 +126782,20 @@ ixok6: %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str11433) + call void @fn_emit(ptr @.str11730) %t51 = load ptr, ptr %t45 call void @fn_emit(ptr %t51) - call void @fn_emit(ptr @.str11434) + call void @fn_emit(ptr @.str11731) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str11435) + call void @fn_emit(ptr @.str11732) %t52 = load ptr, ptr %t32 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str11436) - call void @fn_emit(ptr @.str11437) + call void @fn_emit(ptr @.str11733) + call void @fn_emit(ptr @.str11734) %t53 = load ptr, ptr %t32 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str11438) + call void @fn_emit(ptr @.str11735) %t54 = load i32, ptr %t9 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t9 @@ -119804,11 +126811,11 @@ ifend2: %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str11439) + call void @fn_emit(ptr @.str11736) br label %ifend13 ifend13: - call void @fn_emit(ptr @.str11440) - call void @fn_emit(ptr @.str11441) + call void @fn_emit(ptr @.str11737) + call void @fn_emit(ptr @.str11738) br label %ret ret: ret void @@ -119833,21 +126840,21 @@ then0: ifend2: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 - call void @fn_emit(ptr @.str11442) - call void @fn_emit(ptr @.str11443) - call void @fn_emit(ptr @.str11444) - call void @fn_emit(ptr @.str11445) - call void @fn_emit(ptr @.str11446) + call void @fn_emit(ptr @.str11739) + call void @fn_emit(ptr @.str11740) + call void @fn_emit(ptr @.str11741) + call void @fn_emit(ptr @.str11742) + call void @fn_emit(ptr @.str11743) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) - call void @fn_emit(ptr @.str11447) - call void @fn_emit(ptr @.str11448) - call void @fn_emit(ptr @.str11449) - call void @fn_emit(ptr @.str11450) + call void @fn_emit(ptr @.str11744) + call void @fn_emit(ptr @.str11745) + call void @fn_emit(ptr @.str11746) + call void @fn_emit(ptr @.str11747) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) - call void @fn_emit(ptr @.str11451) - call void @fn_emit(ptr @.str11452) + call void @fn_emit(ptr @.str11748) + call void @fn_emit(ptr @.str11749) store i32 0, ptr %t10 br label %wcond3 wcond3: @@ -119870,7 +126877,7 @@ wbody4: br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11453, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11750, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: @@ -119882,35 +126889,35 @@ ixok6: %t31 = load i32, ptr %t10 %t32 = call ptr @fn_itoa(i32 %t31) store ptr %t32, ptr %t33 - call void @fn_emit(ptr @.str11454) + call void @fn_emit(ptr @.str11751) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str11455) + call void @fn_emit(ptr @.str11752) %t35 = load ptr, ptr %t30 %t36 = call i32 @fn_find_arch_id(ptr %t35) %t37 = call ptr @fn_itoa(i32 %t36) call void @fn_emit(ptr %t37) - call void @fn_emit(ptr @.str11456) - call void @fn_emit(ptr @.str11457) + call void @fn_emit(ptr @.str11753) + call void @fn_emit(ptr @.str11754) %t38 = load ptr, ptr %t33 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str11458) + call void @fn_emit(ptr @.str11755) %t39 = load ptr, ptr %t33 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str11459) + call void @fn_emit(ptr @.str11756) %t40 = load ptr, ptr %t33 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str11460) - call void @fn_emit(ptr @.str11461) + call void @fn_emit(ptr @.str11757) + call void @fn_emit(ptr @.str11758) %t41 = load ptr, ptr %t33 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str11462) + call void @fn_emit(ptr @.str11759) %t42 = load ptr, ptr %t30 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str11463) + call void @fn_emit(ptr @.str11760) %t43 = load ptr, ptr %t30 - %t44 = call ptr @lp_str_concat(ptr @.str11464, ptr %t43) - %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11465) + %t44 = call ptr @lp_str_concat(ptr @.str11761, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11762) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_find_event(ptr %t47) @@ -119919,28 +126926,28 @@ ixok6: %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str11466) + call void @fn_emit(ptr @.str11763) %t52 = load ptr, ptr %t46 call void @fn_emit(ptr %t52) - call void @fn_emit(ptr @.str11467) + call void @fn_emit(ptr @.str11764) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str11468) + call void @fn_emit(ptr @.str11765) %t53 = load ptr, ptr %t33 call void @fn_emit(ptr %t53) - call void @fn_emit(ptr @.str11469) - call void @fn_emit(ptr @.str11470) + call void @fn_emit(ptr @.str11766) + call void @fn_emit(ptr @.str11767) %t54 = load ptr, ptr %t33 call void @fn_emit(ptr %t54) - call void @fn_emit(ptr @.str11471) + call void @fn_emit(ptr @.str11768) %t55 = load i32, ptr %t10 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t10 br label %wcond3 wend5: - call void @fn_emit(ptr @.str11472) - call void @fn_emit(ptr @.str11473) - call void @fn_emit(ptr @.str11474) + call void @fn_emit(ptr @.str11769) + call void @fn_emit(ptr @.str11770) + call void @fn_emit(ptr @.str11771) br label %ret ret: ret void @@ -119985,7 +126992,7 @@ entry: %t385 = alloca i32 %t405 = alloca ptr %t408 = alloca ptr - call void @fn_emith(ptr @.str11475) + call void @fn_emith(ptr @.str11772) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -120008,7 +127015,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11476, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11773, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -120021,10 +127028,10 @@ ixok3: store ptr %t21, ptr %t22 %t23 = call ptr @fn_itoa(i32 16) store ptr %t23, ptr %t24 - call void @fn_emith(ptr @.str11477) + call void @fn_emith(ptr @.str11774) %t25 = load ptr, ptr %t22 call void @fn_emith(ptr %t25) - call void @fn_emith(ptr @.str11478) + call void @fn_emith(ptr @.str11775) store i32 0, ptr %t26 br label %wcond5 wcond5: @@ -120045,7 +127052,7 @@ wbody6: %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: - call void @fn_emith(ptr @.str11479) + call void @fn_emith(ptr @.str11776) br label %ifend10 ifend10: %t40 = load ptr, ptr %t18 @@ -120060,7 +127067,7 @@ ifend10: br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11480, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11777, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: @@ -120093,118 +127100,118 @@ then13: %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then16, label %ifend18 then16: - call void @fn_emith(ptr @.str11481) + call void @fn_emith(ptr @.str11778) br label %ifend18 ifend18: - call void @fn_emith(ptr @.str11482) + call void @fn_emith(ptr @.str11779) br label %ifend15 ifend15: - call void @fn_emith(ptr @.str11483) - call void @fn_emith(ptr @.str11484) + call void @fn_emith(ptr @.str11780) + call void @fn_emith(ptr @.str11781) %t71 = load ptr, ptr %t22 call void @fn_emith(ptr %t71) - call void @fn_emith(ptr @.str11485) + call void @fn_emith(ptr @.str11782) %t72 = load ptr, ptr %t24 call void @fn_emith(ptr %t72) - call void @fn_emith(ptr @.str11486) - call void @fn_emith(ptr @.str11487) + call void @fn_emith(ptr @.str11783) + call void @fn_emith(ptr @.str11784) %t73 = load ptr, ptr %t22 call void @fn_emith(ptr %t73) - call void @fn_emith(ptr @.str11488) - call void @fn_emith(ptr @.str11489) + call void @fn_emith(ptr @.str11785) + call void @fn_emith(ptr @.str11786) %t74 = load ptr, ptr %t22 call void @fn_emith(ptr %t74) - call void @fn_emith(ptr @.str11490) + call void @fn_emith(ptr @.str11787) %t75 = load ptr, ptr %t24 call void @fn_emith(ptr %t75) - call void @fn_emith(ptr @.str11491) - call void @fn_emit(ptr @.str11492) + call void @fn_emith(ptr @.str11788) + call void @fn_emit(ptr @.str11789) %t76 = load ptr, ptr %t22 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11493) - call void @fn_emit(ptr @.str11494) + call void @fn_emit(ptr @.str11790) + call void @fn_emit(ptr @.str11791) %t77 = load ptr, ptr %t22 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11495) - call void @fn_emit(ptr @.str11496) + call void @fn_emit(ptr @.str11792) + call void @fn_emit(ptr @.str11793) %t78 = load ptr, ptr %t24 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11497) - call void @fn_emit(ptr @.str11498) - call void @fn_emit(ptr @.str11499) + call void @fn_emit(ptr @.str11794) + call void @fn_emit(ptr @.str11795) + call void @fn_emit(ptr @.str11796) %t79 = load ptr, ptr %t24 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11500) + call void @fn_emit(ptr @.str11797) %t80 = load ptr, ptr %t22 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11501) - call void @fn_emit(ptr @.str11502) - call void @fn_emit(ptr @.str11503) + call void @fn_emit(ptr @.str11798) + call void @fn_emit(ptr @.str11799) + call void @fn_emit(ptr @.str11800) %t81 = load ptr, ptr %t24 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str11504) + call void @fn_emit(ptr @.str11801) %t82 = load ptr, ptr %t22 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11505) - call void @fn_emit(ptr @.str11506) - call void @fn_emit(ptr @.str11507) + call void @fn_emit(ptr @.str11802) + call void @fn_emit(ptr @.str11803) + call void @fn_emit(ptr @.str11804) %t83 = load ptr, ptr %t22 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str11508) - call void @fn_emit(ptr @.str11509) - call void @fn_emit(ptr @.str11510) + call void @fn_emit(ptr @.str11805) + call void @fn_emit(ptr @.str11806) + call void @fn_emit(ptr @.str11807) %t84 = load ptr, ptr %t22 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str11511) - call void @fn_emit(ptr @.str11512) + call void @fn_emit(ptr @.str11808) + call void @fn_emit(ptr @.str11809) %t85 = load ptr, ptr %t22 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str11513) - call void @fn_emit(ptr @.str11514) + call void @fn_emit(ptr @.str11810) + call void @fn_emit(ptr @.str11811) %t86 = load ptr, ptr %t24 call void @fn_emit(ptr %t86) - call void @fn_emit(ptr @.str11515) - call void @fn_emit(ptr @.str11516) - call void @fn_emit(ptr @.str11517) + call void @fn_emit(ptr @.str11812) + call void @fn_emit(ptr @.str11813) + call void @fn_emit(ptr @.str11814) %t87 = load ptr, ptr %t24 call void @fn_emit(ptr %t87) - call void @fn_emit(ptr @.str11518) + call void @fn_emit(ptr @.str11815) %t88 = load ptr, ptr %t22 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str11519) - call void @fn_emit(ptr @.str11520) - call void @fn_emit(ptr @.str11521) + call void @fn_emit(ptr @.str11816) + call void @fn_emit(ptr @.str11817) + call void @fn_emit(ptr @.str11818) %t89 = load ptr, ptr %t24 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str11522) + call void @fn_emit(ptr @.str11819) %t90 = load ptr, ptr %t22 call void @fn_emit(ptr %t90) - call void @fn_emit(ptr @.str11523) - call void @fn_emit(ptr @.str11524) - call void @fn_emit(ptr @.str11525) + call void @fn_emit(ptr @.str11820) + call void @fn_emit(ptr @.str11821) + call void @fn_emit(ptr @.str11822) %t91 = load ptr, ptr %t22 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str11526) - call void @fn_emit(ptr @.str11527) - call void @fn_emit(ptr @.str11528) + call void @fn_emit(ptr @.str11823) + call void @fn_emit(ptr @.str11824) + call void @fn_emit(ptr @.str11825) %t92 = load ptr, ptr %t22 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str11529) - call void @fn_emit(ptr @.str11530) + call void @fn_emit(ptr @.str11826) + call void @fn_emit(ptr @.str11827) %t93 = load ptr, ptr %t22 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str11531) - call void @fn_emit(ptr @.str11532) - call void @fn_emit(ptr @.str11533) - call void @fn_emit(ptr @.str11534) + call void @fn_emit(ptr @.str11828) + call void @fn_emit(ptr @.str11829) + call void @fn_emit(ptr @.str11830) + call void @fn_emit(ptr @.str11831) %t94 = load ptr, ptr %t24 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str11535) + call void @fn_emit(ptr @.str11832) %t95 = load ptr, ptr %t22 call void @fn_emit(ptr %t95) - call void @fn_emit(ptr @.str11536) - call void @fn_emit(ptr @.str11537) - call void @fn_emit(ptr @.str11538) + call void @fn_emit(ptr @.str11833) + call void @fn_emit(ptr @.str11834) + call void @fn_emit(ptr @.str11835) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term @@ -120212,7 +127219,7 @@ ifend15: store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr null, ptr @g_g_cur_scene - store ptr @.str11539, ptr @g_ret_ty + store ptr @.str11836, ptr @g_ret_ty %t96 = call ptr @fn_buf_new() store ptr %t96, ptr %t97 %t98 = call ptr @fn_buf_new() @@ -120221,13 +127228,13 @@ ifend15: store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t97 store ptr %t101, ptr @g_code - call void @fn_emit(ptr @.str11540) - call void @fn_emit(ptr @.str11541) + call void @fn_emit(ptr @.str11837) + call void @fn_emit(ptr @.str11838) %t102 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str11542) - call void @fn_emit(ptr @.str11543) - call void @fn_emit(ptr @.str11544) + call void @fn_emit(ptr @.str11839) + call void @fn_emit(ptr @.str11840) + call void @fn_emit(ptr @.str11841) %t103 = load ptr, ptr %t18 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 2 %t105 = load i32, ptr %t104 @@ -120236,16 +127243,16 @@ ifend15: %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then19, label %else20 then19: - call void @fn_emit(ptr @.str11545) + call void @fn_emit(ptr @.str11842) br label %ifend21 else20: - call void @fn_emit(ptr @.str11546) + call void @fn_emit(ptr @.str11843) br label %ifend21 ifend21: - call void @fn_emit(ptr @.str11547) - call void @fn_emit(ptr @.str11548) + call void @fn_emit(ptr @.str11844) + call void @fn_emit(ptr @.str11845) %t109 = load ptr, ptr %t22 - %t110 = call ptr @lp_str_concat(ptr @.str11549, ptr %t109) + %t110 = call ptr @lp_str_concat(ptr @.str11846, ptr %t109) %t111 = call ptr @fn_emit_alloca(ptr %t110) store ptr %t111, ptr %t112 store i32 0, ptr %t113 @@ -120274,7 +127281,7 @@ wbody23: br i1 %t131, label %ixok25, label %ixbad26 ixbad26: %t132 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str11550, i32 %t128, i32 %t130) + call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str11847, i32 %t128, i32 %t130) call void @exit(i32 1) unreachable ixok25: @@ -120288,45 +127295,45 @@ ixok25: store ptr %t139, ptr %t140 %t141 = call ptr @fn_nreg() store ptr %t141, ptr %t142 - call void @fn_emit(ptr @.str11551) + call void @fn_emit(ptr @.str11848) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str11552) + call void @fn_emit(ptr @.str11849) %t144 = load ptr, ptr %t22 call void @fn_emit(ptr %t144) - call void @fn_emit(ptr @.str11553) + call void @fn_emit(ptr @.str11850) %t145 = load ptr, ptr %t112 call void @fn_emit(ptr %t145) - call void @fn_emit(ptr @.str11554) + call void @fn_emit(ptr @.str11851) %t146 = load i32, ptr %t113 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) - call void @fn_emit(ptr @.str11555) - call void @fn_emit(ptr @.str11556) + call void @fn_emit(ptr @.str11852) + call void @fn_emit(ptr @.str11853) %t148 = load ptr, ptr %t140 call void @fn_emit(ptr %t148) - call void @fn_emit(ptr @.str11557) + call void @fn_emit(ptr @.str11854) %t149 = load i32, ptr %t113 %t150 = call ptr @fn_itoa(i32 %t149) call void @fn_emit(ptr %t150) - call void @fn_emit(ptr @.str11558) + call void @fn_emit(ptr @.str11855) %t151 = load ptr, ptr %t142 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str11559) + call void @fn_emit(ptr @.str11856) %t152 = load ptr, ptr %t140 %t153 = call ptr @fn_emit_alloca(ptr %t152) store ptr %t153, ptr %t154 - call void @fn_emit(ptr @.str11560) + call void @fn_emit(ptr @.str11857) %t155 = load ptr, ptr %t140 call void @fn_emit(ptr %t155) - call void @fn_emit(ptr @.str11561) + call void @fn_emit(ptr @.str11858) %t156 = load i32, ptr %t113 %t157 = call ptr @fn_itoa(i32 %t156) call void @fn_emit(ptr %t157) - call void @fn_emit(ptr @.str11562) + call void @fn_emit(ptr @.str11859) %t158 = load ptr, ptr %t154 call void @fn_emit(ptr %t158) - call void @fn_emit(ptr @.str11563) + call void @fn_emit(ptr @.str11860) %t159 = load ptr, ptr %t135 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 @@ -120351,16 +127358,16 @@ wend24: then27: %t175 = call ptr @fn_nreg() store ptr %t175, ptr %t168 - call void @fn_emit(ptr @.str11564) + call void @fn_emit(ptr @.str11861) %t176 = load ptr, ptr %t168 call void @fn_emit(ptr %t176) - call void @fn_emit(ptr @.str11565) + call void @fn_emit(ptr @.str11862) %t177 = load ptr, ptr %t22 call void @fn_emit(ptr %t177) - call void @fn_emit(ptr @.str11566) + call void @fn_emit(ptr @.str11863) %t178 = load ptr, ptr %t112 call void @fn_emit(ptr %t178) - call void @fn_emit(ptr @.str11567) + call void @fn_emit(ptr @.str11864) %t179 = load ptr, ptr %t18 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7 %t181 = load ptr, ptr %t180 @@ -120368,11 +127375,11 @@ then27: %t183 = load i32, ptr %t182 %t184 = call ptr @fn_itoa(i32 %t183) call void @fn_emit(ptr %t184) - call void @fn_emit(ptr @.str11568) - call void @fn_emit(ptr @.str11569) + call void @fn_emit(ptr @.str11865) + call void @fn_emit(ptr @.str11866) %t185 = load ptr, ptr %t168 call void @fn_emit(ptr %t185) - call void @fn_emit(ptr @.str11570) + call void @fn_emit(ptr @.str11867) %t186 = load ptr, ptr %t168 store ptr %t186, ptr @g_g_cancel_addr br label %ifend29 @@ -120401,7 +127408,7 @@ wbody31: br i1 %t203, label %ixok33, label %ixbad34 ixbad34: %t204 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str11571, i32 %t200, i32 %t202) + call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str11868, i32 %t200, i32 %t202) call void @exit(i32 1) unreachable ixok33: @@ -120417,7 +127424,7 @@ then35: %t212 = load i32, ptr %t188 store i32 %t212, ptr @g_nloc store i32 0, ptr @g_g_term - %t213 = call ptr @fn_lbl(ptr @.str11572) + %t213 = call ptr @fn_lbl(ptr @.str11869) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 store ptr %t215, ptr @g_g_ret_label @@ -120431,7 +127438,7 @@ then35: br i1 %t222, label %ixok38, label %ixbad39 ixbad39: %t223 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str11573, i32 %t219, i32 %t221) + call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str11870, i32 %t219, i32 %t221) call void @exit(i32 1) unreachable ixok38: @@ -120453,7 +127460,7 @@ ixok38: br i1 %t236, label %ixok40, label %ixbad41 ixbad41: %t237 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str11574, i32 %t233, i32 %t235) + call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str11871, i32 %t233, i32 %t235) call void @exit(i32 1) unreachable ixok40: @@ -120462,7 +127469,7 @@ ixok40: %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 4 %t241 = load ptr, ptr %t240 call void @fn_emit_block(ptr %t241) - store ptr @.str11575, ptr @g_g_ret_label + store ptr @.str11872, ptr @g_g_ret_label %t242 = load i32, ptr @g_g_term %t243 = icmp eq i32 %t242, 0 %t244 = zext i1 %t243 to i32 @@ -120470,13 +127477,13 @@ ixok40: br i1 %t245, label %then42, label %ifend44 then42: %t246 = load ptr, ptr %t214 - %t247 = call ptr @lp_str_concat(ptr @.str11576, ptr %t246) - %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11577) + %t247 = call ptr @lp_str_concat(ptr @.str11873, ptr %t246) + %t248 = call ptr @lp_str_concat(ptr %t247, ptr @.str11874) call void @fn_emit(ptr %t248) br label %ifend44 ifend44: %t249 = load ptr, ptr %t214 - %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11578) + %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str11875) call void @fn_emit(ptr %t250) store i32 0, ptr @g_g_term br label %ifend37 @@ -120492,132 +127499,132 @@ wend32: %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then45, label %ifend47 then45: - %t257 = call ptr @fn_emit_alloca(ptr @.str11579) + %t257 = call ptr @fn_emit_alloca(ptr @.str11876) store ptr %t257, ptr %t258 - call void @fn_emit(ptr @.str11580) + call void @fn_emit(ptr @.str11877) %t259 = load ptr, ptr %t258 call void @fn_emit(ptr %t259) - call void @fn_emit(ptr @.str11581) - %t260 = call ptr @fn_lbl(ptr @.str11582) + call void @fn_emit(ptr @.str11878) + %t260 = call ptr @fn_lbl(ptr @.str11879) store ptr %t260, ptr %t261 - %t262 = call ptr @fn_lbl(ptr @.str11583) + %t262 = call ptr @fn_lbl(ptr @.str11880) store ptr %t262, ptr %t263 - %t264 = call ptr @fn_lbl(ptr @.str11584) + %t264 = call ptr @fn_lbl(ptr @.str11881) store ptr %t264, ptr %t265 - call void @fn_emit(ptr @.str11585) + call void @fn_emit(ptr @.str11882) %t266 = load ptr, ptr %t261 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str11586) + call void @fn_emit(ptr @.str11883) %t267 = load ptr, ptr %t261 call void @fn_emit(ptr %t267) - call void @fn_emit(ptr @.str11587) + call void @fn_emit(ptr @.str11884) %t268 = load ptr, ptr %t258 - %t269 = call ptr @lp_str_concat(ptr @.str11588, ptr %t268) + %t269 = call ptr @lp_str_concat(ptr @.str11885, ptr %t268) %t270 = call ptr @fn_emit_bind(ptr %t269) store ptr %t270, ptr %t271 %t272 = load ptr, ptr %t22 - %t273 = call ptr @lp_str_concat(ptr @.str11589, ptr %t272) + %t273 = call ptr @lp_str_concat(ptr @.str11886, ptr %t272) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t271 - %t277 = call ptr @lp_str_concat(ptr @.str11590, ptr %t276) - %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11591) + %t277 = call ptr @lp_str_concat(ptr @.str11887, ptr %t276) + %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str11888) %t279 = load ptr, ptr %t275 %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 - call void @fn_emit(ptr @.str11592) + call void @fn_emit(ptr @.str11889) %t283 = load ptr, ptr %t282 call void @fn_emit(ptr %t283) - call void @fn_emit(ptr @.str11593) + call void @fn_emit(ptr @.str11890) %t284 = load ptr, ptr %t263 call void @fn_emit(ptr %t284) - call void @fn_emit(ptr @.str11594) + call void @fn_emit(ptr @.str11891) %t285 = load ptr, ptr %t265 call void @fn_emit(ptr %t285) - call void @fn_emit(ptr @.str11595) + call void @fn_emit(ptr @.str11892) %t286 = load ptr, ptr %t263 call void @fn_emit(ptr %t286) - call void @fn_emit(ptr @.str11596) + call void @fn_emit(ptr @.str11893) %t287 = call ptr @fn_nreg() store ptr %t287, ptr %t288 - call void @fn_emit(ptr @.str11597) + call void @fn_emit(ptr @.str11894) %t289 = load ptr, ptr %t288 call void @fn_emit(ptr %t289) - call void @fn_emit(ptr @.str11598) + call void @fn_emit(ptr @.str11895) %t290 = load ptr, ptr %t24 call void @fn_emit(ptr %t290) - call void @fn_emit(ptr @.str11599) + call void @fn_emit(ptr @.str11896) %t291 = load ptr, ptr %t22 call void @fn_emit(ptr %t291) - call void @fn_emit(ptr @.str11600) + call void @fn_emit(ptr @.str11897) %t292 = load ptr, ptr %t271 call void @fn_emit(ptr %t292) - call void @fn_emit(ptr @.str11601) + call void @fn_emit(ptr @.str11898) %t293 = load ptr, ptr %t288 - %t294 = call ptr @lp_str_concat(ptr @.str11602, ptr %t293) + %t294 = call ptr @lp_str_concat(ptr @.str11899, ptr %t293) %t295 = call ptr @fn_emit_bind(ptr %t294) store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t296 - %t298 = call ptr @lp_str_concat(ptr @.str11603, ptr %t297) - %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11604) + %t298 = call ptr @lp_str_concat(ptr @.str11900, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11901) %t300 = call ptr @fn_emit_bind(ptr %t299) store ptr %t300, ptr %t301 - %t302 = call ptr @fn_lbl(ptr @.str11605) + %t302 = call ptr @fn_lbl(ptr @.str11902) store ptr %t302, ptr %t303 - %t304 = call ptr @fn_lbl(ptr @.str11606) + %t304 = call ptr @fn_lbl(ptr @.str11903) store ptr %t304, ptr %t305 - call void @fn_emit(ptr @.str11607) + call void @fn_emit(ptr @.str11904) %t306 = load ptr, ptr %t301 call void @fn_emit(ptr %t306) - call void @fn_emit(ptr @.str11608) + call void @fn_emit(ptr @.str11905) %t307 = load ptr, ptr %t305 call void @fn_emit(ptr %t307) - call void @fn_emit(ptr @.str11609) + call void @fn_emit(ptr @.str11906) %t308 = load ptr, ptr %t303 call void @fn_emit(ptr %t308) - call void @fn_emit(ptr @.str11610) + call void @fn_emit(ptr @.str11907) %t309 = load ptr, ptr %t303 call void @fn_emit(ptr %t309) - call void @fn_emit(ptr @.str11611) - call void @fn_emit(ptr @.str11612) + call void @fn_emit(ptr @.str11908) + call void @fn_emit(ptr @.str11909) %t310 = load ptr, ptr %t296 call void @fn_emit(ptr %t310) - call void @fn_emit(ptr @.str11613) + call void @fn_emit(ptr @.str11910) %t311 = load ptr, ptr %t112 call void @fn_emit(ptr %t311) - call void @fn_emit(ptr @.str11614) - call void @fn_emit(ptr @.str11615) + call void @fn_emit(ptr @.str11911) + call void @fn_emit(ptr @.str11912) %t312 = load ptr, ptr %t305 call void @fn_emit(ptr %t312) - call void @fn_emit(ptr @.str11616) + call void @fn_emit(ptr @.str11913) %t313 = load ptr, ptr %t305 call void @fn_emit(ptr %t313) - call void @fn_emit(ptr @.str11617) + call void @fn_emit(ptr @.str11914) %t314 = load ptr, ptr %t271 - %t315 = call ptr @lp_str_concat(ptr @.str11618, ptr %t314) - %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str11619) + %t315 = call ptr @lp_str_concat(ptr @.str11915, ptr %t314) + %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str11916) %t317 = call ptr @fn_emit_bind(ptr %t316) store ptr %t317, ptr %t318 - call void @fn_emit(ptr @.str11620) + call void @fn_emit(ptr @.str11917) %t319 = load ptr, ptr %t318 call void @fn_emit(ptr %t319) - call void @fn_emit(ptr @.str11621) + call void @fn_emit(ptr @.str11918) %t320 = load ptr, ptr %t258 call void @fn_emit(ptr %t320) - call void @fn_emit(ptr @.str11622) - call void @fn_emit(ptr @.str11623) + call void @fn_emit(ptr @.str11919) + call void @fn_emit(ptr @.str11920) %t321 = load ptr, ptr %t261 call void @fn_emit(ptr %t321) - call void @fn_emit(ptr @.str11624) + call void @fn_emit(ptr @.str11921) %t322 = load ptr, ptr %t265 call void @fn_emit(ptr %t322) - call void @fn_emit(ptr @.str11625) - call void @fn_emit(ptr @.str11626) + call void @fn_emit(ptr @.str11922) + call void @fn_emit(ptr @.str11923) br label %ifend47 ifend47: - call void @fn_emit(ptr @.str11627) - call void @fn_emit(ptr @.str11628) + call void @fn_emit(ptr @.str11924) + call void @fn_emit(ptr @.str11925) %t323 = load ptr, ptr %t18 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 2 %t325 = load i32, ptr %t324 @@ -120627,22 +127634,22 @@ ifend47: br i1 %t328, label %then48, label %else49 then48: %t329 = load ptr, ptr %t168 - %t330 = call ptr @lp_str_concat(ptr @.str11629, ptr %t329) + %t330 = call ptr @lp_str_concat(ptr @.str11926, ptr %t329) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 - call void @fn_emit(ptr @.str11630) + call void @fn_emit(ptr @.str11927) %t333 = load ptr, ptr %t332 call void @fn_emit(ptr %t333) - call void @fn_emit(ptr @.str11631) + call void @fn_emit(ptr @.str11928) br label %ifend50 else49: - call void @fn_emit(ptr @.str11632) + call void @fn_emit(ptr @.str11929) br label %ifend50 ifend50: store ptr null, ptr @g_g_cancel_addr %t334 = load ptr, ptr %t100 store ptr %t334, ptr @g_code - store ptr @.str11633, ptr %t335 + store ptr @.str11930, ptr %t335 %t336 = load ptr, ptr %t18 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 2 %t338 = load i32, ptr %t337 @@ -120651,16 +127658,16 @@ ifend50: %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then51, label %ifend53 then51: - store ptr @.str11634, ptr %t335 + store ptr @.str11931, ptr %t335 br label %ifend53 ifend53: - call void @fn_emit(ptr @.str11635) + call void @fn_emit(ptr @.str11932) %t342 = load ptr, ptr %t335 call void @fn_emit(ptr %t342) - call void @fn_emit(ptr @.str11636) + call void @fn_emit(ptr @.str11933) %t343 = load ptr, ptr %t22 call void @fn_emit(ptr %t343) - call void @fn_emit(ptr @.str11637) + call void @fn_emit(ptr @.str11934) store i32 0, ptr %t344 br label %wcond54 wcond54: @@ -120681,7 +127688,7 @@ wbody55: %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then57, label %ifend59 then57: - call void @fn_emit(ptr @.str11638) + call void @fn_emit(ptr @.str11935) br label %ifend59 ifend59: %t358 = load ptr, ptr %t18 @@ -120696,7 +127703,7 @@ ifend59: br i1 %t366, label %ixok60, label %ixbad61 ixbad61: %t367 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t367, ptr @.fmt_bounds, ptr @.str11639, i32 %t363, i32 %t365) + call i32 (ptr, ptr, ...) @fprintf(ptr %t367, ptr @.fmt_bounds, ptr @.str11936, i32 %t363, i32 %t365) call void @exit(i32 1) unreachable ixok60: @@ -120706,7 +127713,7 @@ ixok60: %t371 = load ptr, ptr %t370 %t372 = call ptr @fn_llty(ptr %t371) call void @fn_emit(ptr %t372) - call void @fn_emit(ptr @.str11640) + call void @fn_emit(ptr @.str11937) %t373 = load i32, ptr %t344 %t374 = call ptr @fn_itoa(i32 %t373) call void @fn_emit(ptr %t374) @@ -120715,14 +127722,14 @@ ixok60: store i32 %t376, ptr %t344 br label %wcond54 wend56: - call void @fn_emit(ptr @.str11641) + call void @fn_emit(ptr @.str11938) %t377 = load ptr, ptr @g_falloc %t378 = call ptr @fn_buf_str(ptr %t377) call void @fn_emit(ptr %t378) %t379 = load ptr, ptr %t97 %t380 = call ptr @fn_buf_str(ptr %t379) call void @fn_emit(ptr %t380) - call void @fn_emit(ptr @.str11642) + call void @fn_emit(ptr @.str11939) %t381 = load i32, ptr %t0 %t382 = add i32 %t381, 1 store i32 %t382, ptr %t0 @@ -120730,7 +127737,7 @@ wend56: wend2: %t383 = call ptr @fn_itoa(i32 16) store ptr %t383, ptr %t384 - call void @fn_emit(ptr @.str11643) + call void @fn_emit(ptr @.str11940) store i32 0, ptr %t385 br label %wcond62 wcond62: @@ -120753,7 +127760,7 @@ wbody63: br i1 %t399, label %ixok65, label %ixbad66 ixbad66: %t400 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str11644, i32 %t396, i32 %t398) + call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str11941, i32 %t396, i32 %t398) call void @exit(i32 1) unreachable ixok65: @@ -120765,127 +127772,127 @@ ixok65: %t406 = load i32, ptr %t385 %t407 = call ptr @fn_itoa(i32 %t406) store ptr %t407, ptr %t408 - call void @fn_emit(ptr @.str11645) + call void @fn_emit(ptr @.str11942) %t409 = load ptr, ptr %t408 call void @fn_emit(ptr %t409) - call void @fn_emit(ptr @.str11646) - call void @fn_emit(ptr @.str11647) + call void @fn_emit(ptr @.str11943) + call void @fn_emit(ptr @.str11944) %t410 = load ptr, ptr %t408 call void @fn_emit(ptr %t410) - call void @fn_emit(ptr @.str11648) - call void @fn_emit(ptr @.str11649) + call void @fn_emit(ptr @.str11945) + call void @fn_emit(ptr @.str11946) %t411 = load ptr, ptr %t408 call void @fn_emit(ptr %t411) - call void @fn_emit(ptr @.str11650) + call void @fn_emit(ptr @.str11947) %t412 = load ptr, ptr %t405 call void @fn_emit(ptr %t412) - call void @fn_emit(ptr @.str11651) - call void @fn_emit(ptr @.str11652) + call void @fn_emit(ptr @.str11948) + call void @fn_emit(ptr @.str11949) %t413 = load ptr, ptr %t408 call void @fn_emit(ptr %t413) - call void @fn_emit(ptr @.str11653) + call void @fn_emit(ptr @.str11950) %t414 = load ptr, ptr %t408 call void @fn_emit(ptr %t414) - call void @fn_emit(ptr @.str11654) + call void @fn_emit(ptr @.str11951) %t415 = load ptr, ptr %t408 call void @fn_emit(ptr %t415) - call void @fn_emit(ptr @.str11655) - call void @fn_emit(ptr @.str11656) + call void @fn_emit(ptr @.str11952) + call void @fn_emit(ptr @.str11953) %t416 = load ptr, ptr %t408 call void @fn_emit(ptr %t416) - call void @fn_emit(ptr @.str11657) + call void @fn_emit(ptr @.str11954) %t417 = load ptr, ptr %t408 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str11658) + call void @fn_emit(ptr @.str11955) %t418 = load ptr, ptr %t408 call void @fn_emit(ptr %t418) - call void @fn_emit(ptr @.str11659) - call void @fn_emit(ptr @.str11660) + call void @fn_emit(ptr @.str11956) + call void @fn_emit(ptr @.str11957) %t419 = load ptr, ptr %t408 call void @fn_emit(ptr %t419) - call void @fn_emit(ptr @.str11661) - call void @fn_emit(ptr @.str11662) + call void @fn_emit(ptr @.str11958) + call void @fn_emit(ptr @.str11959) %t420 = load ptr, ptr %t408 call void @fn_emit(ptr %t420) - call void @fn_emit(ptr @.str11663) + call void @fn_emit(ptr @.str11960) %t421 = load ptr, ptr %t384 call void @fn_emit(ptr %t421) - call void @fn_emit(ptr @.str11664) + call void @fn_emit(ptr @.str11961) %t422 = load ptr, ptr %t405 call void @fn_emit(ptr %t422) - call void @fn_emit(ptr @.str11665) + call void @fn_emit(ptr @.str11962) %t423 = load ptr, ptr %t408 call void @fn_emit(ptr %t423) - call void @fn_emit(ptr @.str11666) - call void @fn_emit(ptr @.str11667) + call void @fn_emit(ptr @.str11963) + call void @fn_emit(ptr @.str11964) %t424 = load ptr, ptr %t408 call void @fn_emit(ptr %t424) - call void @fn_emit(ptr @.str11668) + call void @fn_emit(ptr @.str11965) %t425 = load ptr, ptr %t408 call void @fn_emit(ptr %t425) - call void @fn_emit(ptr @.str11669) - call void @fn_emit(ptr @.str11670) + call void @fn_emit(ptr @.str11966) + call void @fn_emit(ptr @.str11967) %t426 = load ptr, ptr %t408 call void @fn_emit(ptr %t426) - call void @fn_emit(ptr @.str11671) + call void @fn_emit(ptr @.str11968) %t427 = load ptr, ptr %t408 call void @fn_emit(ptr %t427) - call void @fn_emit(ptr @.str11672) - call void @fn_emit(ptr @.str11673) + call void @fn_emit(ptr @.str11969) + call void @fn_emit(ptr @.str11970) %t428 = load ptr, ptr %t408 call void @fn_emit(ptr %t428) - call void @fn_emit(ptr @.str11674) + call void @fn_emit(ptr @.str11971) %t429 = load ptr, ptr %t408 call void @fn_emit(ptr %t429) - call void @fn_emit(ptr @.str11675) + call void @fn_emit(ptr @.str11972) %t430 = load ptr, ptr %t408 call void @fn_emit(ptr %t430) - call void @fn_emit(ptr @.str11676) - call void @fn_emit(ptr @.str11677) + call void @fn_emit(ptr @.str11973) + call void @fn_emit(ptr @.str11974) %t431 = load ptr, ptr %t408 call void @fn_emit(ptr %t431) - call void @fn_emit(ptr @.str11678) - call void @fn_emit(ptr @.str11679) + call void @fn_emit(ptr @.str11975) + call void @fn_emit(ptr @.str11976) %t432 = load ptr, ptr %t408 call void @fn_emit(ptr %t432) - call void @fn_emit(ptr @.str11680) + call void @fn_emit(ptr @.str11977) %t433 = load ptr, ptr %t384 call void @fn_emit(ptr %t433) - call void @fn_emit(ptr @.str11681) + call void @fn_emit(ptr @.str11978) %t434 = load ptr, ptr %t405 call void @fn_emit(ptr %t434) - call void @fn_emit(ptr @.str11682) + call void @fn_emit(ptr @.str11979) %t435 = load ptr, ptr %t408 call void @fn_emit(ptr %t435) - call void @fn_emit(ptr @.str11683) - call void @fn_emit(ptr @.str11684) + call void @fn_emit(ptr @.str11980) + call void @fn_emit(ptr @.str11981) %t436 = load ptr, ptr %t408 call void @fn_emit(ptr %t436) - call void @fn_emit(ptr @.str11685) + call void @fn_emit(ptr @.str11982) %t437 = load ptr, ptr %t408 call void @fn_emit(ptr %t437) - call void @fn_emit(ptr @.str11686) - call void @fn_emit(ptr @.str11687) + call void @fn_emit(ptr @.str11983) + call void @fn_emit(ptr @.str11984) %t438 = load ptr, ptr %t408 call void @fn_emit(ptr %t438) - call void @fn_emit(ptr @.str11688) - call void @fn_emit(ptr @.str11689) + call void @fn_emit(ptr @.str11985) + call void @fn_emit(ptr @.str11986) %t439 = load ptr, ptr %t408 call void @fn_emit(ptr %t439) - call void @fn_emit(ptr @.str11690) + call void @fn_emit(ptr @.str11987) %t440 = load ptr, ptr %t408 call void @fn_emit(ptr %t440) - call void @fn_emit(ptr @.str11691) + call void @fn_emit(ptr @.str11988) %t441 = load ptr, ptr %t408 call void @fn_emit(ptr %t441) - call void @fn_emit(ptr @.str11692) + call void @fn_emit(ptr @.str11989) %t442 = load ptr, ptr %t408 call void @fn_emit(ptr %t442) - call void @fn_emit(ptr @.str11693) - call void @fn_emit(ptr @.str11694) + call void @fn_emit(ptr @.str11990) + call void @fn_emit(ptr @.str11991) %t443 = load ptr, ptr %t408 call void @fn_emit(ptr %t443) - call void @fn_emit(ptr @.str11695) + call void @fn_emit(ptr @.str11992) %t444 = load i32, ptr %t385 %t445 = add i32 %t444, 1 %t446 = load ptr, ptr @g_g_events @@ -120896,15 +127903,15 @@ ixok65: %t451 = icmp ne i32 %t450, 0 br i1 %t451, label %then67, label %else68 then67: - call void @fn_emit(ptr @.str11696) + call void @fn_emit(ptr @.str11993) %t452 = load i32, ptr %t385 %t453 = add i32 %t452, 1 %t454 = call ptr @fn_itoa(i32 %t453) call void @fn_emit(ptr %t454) - call void @fn_emit(ptr @.str11697) + call void @fn_emit(ptr @.str11994) br label %ifend69 else68: - call void @fn_emit(ptr @.str11698) + call void @fn_emit(ptr @.str11995) br label %ifend69 ifend69: %t455 = load i32, ptr %t385 @@ -120912,7 +127919,7 @@ ifend69: store i32 %t456, ptr %t385 br label %wcond62 wend64: - call void @fn_emit(ptr @.str11699) + call void @fn_emit(ptr @.str11996) br label %ret ret: ret void @@ -120981,7 +127988,7 @@ wbody1: br i1 %t17, label %ixok3, label %ixbad4 ixbad4: %t18 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str11700, i32 %t14, i32 %t16) + call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str11997, i32 %t14, i32 %t16) call void @exit(i32 1) unreachable ixok3: @@ -121007,12 +128014,12 @@ wend2: %t30 = load i32, ptr %t2 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 - call void @fn_emith(ptr @.str11701) - call void @fn_emith(ptr @.str11702) - call void @fn_emith(ptr @.str11703) - call void @fn_emith(ptr @.str11704) - call void @fn_emith(ptr @.str11705) - call void @fn_emit(ptr @.str11706) + call void @fn_emith(ptr @.str11998) + call void @fn_emith(ptr @.str11999) + call void @fn_emith(ptr @.str12000) + call void @fn_emith(ptr @.str12001) + call void @fn_emith(ptr @.str12002) + call void @fn_emit(ptr @.str12003) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond8 @@ -121036,7 +128043,7 @@ wbody9: br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11707, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12004, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: @@ -121059,7 +128066,7 @@ then13: br i1 %t63, label %ixok16, label %ixbad17 ixbad17: %t64 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str11708, i32 %t60, i32 %t62) + call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str12005, i32 %t60, i32 %t62) call void @exit(i32 1) unreachable ixok16: @@ -121072,41 +128079,41 @@ ixok16: %t71 = load i32, ptr %t33 %t72 = call ptr @fn_itoa(i32 %t71) store ptr %t72, ptr %t73 - call void @fn_emit(ptr @.str11709) + call void @fn_emit(ptr @.str12006) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) - call void @fn_emit(ptr @.str11710) + call void @fn_emit(ptr @.str12007) %t75 = load ptr, ptr %t70 call void @fn_emit(ptr %t75) - call void @fn_emit(ptr @.str11711) - call void @fn_emit(ptr @.str11712) + call void @fn_emit(ptr @.str12008) + call void @fn_emit(ptr @.str12009) %t76 = load ptr, ptr %t73 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str11713) + call void @fn_emit(ptr @.str12010) %t77 = load ptr, ptr %t73 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str11714) - call void @fn_emit(ptr @.str11715) + call void @fn_emit(ptr @.str12011) + call void @fn_emit(ptr @.str12012) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str11716) + call void @fn_emit(ptr @.str12013) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str11717) + call void @fn_emit(ptr @.str12014) %t80 = load ptr, ptr %t73 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str11718) - call void @fn_emit(ptr @.str11719) + call void @fn_emit(ptr @.str12015) + call void @fn_emit(ptr @.str12016) %t81 = load ptr, ptr %t73 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str11720) + call void @fn_emit(ptr @.str12017) %t82 = load ptr, ptr %t73 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str11721) - call void @fn_emit(ptr @.str11722) + call void @fn_emit(ptr @.str12018) + call void @fn_emit(ptr @.str12019) %t83 = load ptr, ptr %t73 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str11723) + call void @fn_emit(ptr @.str12020) %t84 = load i32, ptr %t33 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t33 @@ -121117,16 +128124,16 @@ ifend15: store i32 %t87, ptr %t34 br label %wcond8 wend10: - call void @fn_emit(ptr @.str11724) - call void @fn_emit(ptr @.str11725) - call void @fn_emit(ptr @.str11726) - call void @fn_emit(ptr @.str11727) + call void @fn_emit(ptr @.str12021) + call void @fn_emit(ptr @.str12022) + call void @fn_emit(ptr @.str12023) + call void @fn_emit(ptr @.str12024) %t88 = load ptr, ptr %t32 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str11728) - call void @fn_emit(ptr @.str11729) - call void @fn_emit(ptr @.str11730) - call void @fn_emit(ptr @.str11731) + call void @fn_emit(ptr @.str12025) + call void @fn_emit(ptr @.str12026) + call void @fn_emit(ptr @.str12027) + call void @fn_emit(ptr @.str12028) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond18 @@ -121150,7 +128157,7 @@ wbody19: br i1 %t102, label %ixok21, label %ixbad22 ixbad22: %t103 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str11732, i32 %t99, i32 %t101) + call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12029, i32 %t99, i32 %t101) call void @exit(i32 1) unreachable ixok21: @@ -121173,7 +128180,7 @@ then23: br i1 %t117, label %ixok26, label %ixbad27 ixbad27: %t118 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11733, i32 %t114, i32 %t116) + call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str12030, i32 %t114, i32 %t116) call void @exit(i32 1) unreachable ixok26: @@ -121183,27 +128190,27 @@ ixok26: %t122 = load i32, ptr %t33 %t123 = call ptr @fn_itoa(i32 %t122) store ptr %t123, ptr %t124 - call void @fn_emit(ptr @.str11734) + call void @fn_emit(ptr @.str12031) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) - call void @fn_emit(ptr @.str11735) + call void @fn_emit(ptr @.str12032) %t126 = load ptr, ptr %t124 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str11736) - call void @fn_emit(ptr @.str11737) + call void @fn_emit(ptr @.str12033) + call void @fn_emit(ptr @.str12034) %t127 = load ptr, ptr %t124 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str11738) + call void @fn_emit(ptr @.str12035) %t128 = load ptr, ptr %t124 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str11739) + call void @fn_emit(ptr @.str12036) %t129 = load ptr, ptr %t124 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str11740) - call void @fn_emit(ptr @.str11741) + call void @fn_emit(ptr @.str12037) + call void @fn_emit(ptr @.str12038) %t130 = load ptr, ptr %t124 call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str11742) + call void @fn_emit(ptr @.str12039) store i32 0, ptr %t131 br label %wcond28 wcond28: @@ -121230,7 +128237,7 @@ wbody29: br i1 %t149, label %ixok31, label %ixbad32 ixbad32: %t150 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str11743, i32 %t146, i32 %t148) + call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str12040, i32 %t146, i32 %t148) call void @exit(i32 1) unreachable ixok31: @@ -121241,57 +128248,57 @@ ixok31: %t155 = call ptr @fn_emit_str_const(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t124 - %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11744) + %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str12041) %t159 = load i32, ptr %t131 %t160 = call ptr @fn_itoa(i32 %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) store ptr %t161, ptr %t162 - call void @fn_emit(ptr @.str11745) + call void @fn_emit(ptr @.str12042) %t163 = load ptr, ptr %t162 call void @fn_emit(ptr %t163) - call void @fn_emit(ptr @.str11746) + call void @fn_emit(ptr @.str12043) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str11747) - call void @fn_emit(ptr @.str11748) + call void @fn_emit(ptr @.str12044) + call void @fn_emit(ptr @.str12045) %t165 = load ptr, ptr %t162 call void @fn_emit(ptr %t165) - call void @fn_emit(ptr @.str11749) + call void @fn_emit(ptr @.str12046) %t166 = load ptr, ptr %t162 call void @fn_emit(ptr %t166) - call void @fn_emit(ptr @.str11750) - call void @fn_emit(ptr @.str11751) + call void @fn_emit(ptr @.str12047) + call void @fn_emit(ptr @.str12048) %t167 = load ptr, ptr %t162 call void @fn_emit(ptr %t167) - call void @fn_emit(ptr @.str11752) + call void @fn_emit(ptr @.str12049) %t168 = load ptr, ptr %t162 call void @fn_emit(ptr %t168) - call void @fn_emit(ptr @.str11753) + call void @fn_emit(ptr @.str12050) %t169 = load ptr, ptr %t162 call void @fn_emit(ptr %t169) - call void @fn_emit(ptr @.str11754) - call void @fn_emit(ptr @.str11755) + call void @fn_emit(ptr @.str12051) + call void @fn_emit(ptr @.str12052) %t170 = load ptr, ptr %t162 call void @fn_emit(ptr %t170) - call void @fn_emit(ptr @.str11756) + call void @fn_emit(ptr @.str12053) %t171 = load i32, ptr %t131 %t172 = call ptr @fn_itoa(i32 %t171) call void @fn_emit(ptr %t172) - call void @fn_emit(ptr @.str11757) - call void @fn_emit(ptr @.str11758) + call void @fn_emit(ptr @.str12054) + call void @fn_emit(ptr @.str12055) %t173 = load ptr, ptr %t162 call void @fn_emit(ptr %t173) - call void @fn_emit(ptr @.str11759) + call void @fn_emit(ptr @.str12056) %t174 = load i32, ptr %t131 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t131 br label %wcond28 wend30: - call void @fn_emit(ptr @.str11760) - call void @fn_emit(ptr @.str11761) + call void @fn_emit(ptr @.str12057) + call void @fn_emit(ptr @.str12058) %t176 = load ptr, ptr %t124 call void @fn_emit(ptr %t176) - call void @fn_emit(ptr @.str11762) + call void @fn_emit(ptr @.str12059) %t177 = load i32, ptr %t33 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t33 @@ -121302,8 +128309,8 @@ ifend25: store i32 %t180, ptr %t34 br label %wcond18 wend20: - call void @fn_emit(ptr @.str11763) - call void @fn_emit(ptr @.str11764) + call void @fn_emit(ptr @.str12060) + call void @fn_emit(ptr @.str12061) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond33 @@ -121327,7 +128334,7 @@ wbody34: br i1 %t194, label %ixok36, label %ixbad37 ixbad37: %t195 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str11765, i32 %t191, i32 %t193) + call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str12062, i32 %t191, i32 %t193) call void @exit(i32 1) unreachable ixok36: @@ -121350,7 +128357,7 @@ then38: br i1 %t209, label %ixok41, label %ixbad42 ixbad42: %t210 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str11766, i32 %t206, i32 %t208) + call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str12063, i32 %t206, i32 %t208) call void @exit(i32 1) unreachable ixok41: @@ -121364,40 +128371,40 @@ ixok41: %t218 = load i32, ptr %t33 %t219 = call ptr @fn_itoa(i32 %t218) store ptr %t219, ptr %t220 - call void @fn_emit(ptr @.str11767) + call void @fn_emit(ptr @.str12064) %t221 = load ptr, ptr %t220 call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str11768) + call void @fn_emit(ptr @.str12065) %t222 = load ptr, ptr %t220 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str11769) - call void @fn_emit(ptr @.str11770) + call void @fn_emit(ptr @.str12066) + call void @fn_emit(ptr @.str12067) %t223 = load ptr, ptr %t220 call void @fn_emit(ptr %t223) - call void @fn_emit(ptr @.str11771) + call void @fn_emit(ptr @.str12068) %t224 = load ptr, ptr %t220 call void @fn_emit(ptr %t224) - call void @fn_emit(ptr @.str11772) + call void @fn_emit(ptr @.str12069) %t225 = load ptr, ptr %t220 call void @fn_emit(ptr %t225) - call void @fn_emit(ptr @.str11773) - call void @fn_emit(ptr @.str11774) + call void @fn_emit(ptr @.str12070) + call void @fn_emit(ptr @.str12071) %t226 = load ptr, ptr %t220 call void @fn_emit(ptr %t226) - call void @fn_emit(ptr @.str11775) - call void @fn_emit(ptr @.str11776) + call void @fn_emit(ptr @.str12072) + call void @fn_emit(ptr @.str12073) %t227 = load ptr, ptr %t220 call void @fn_emit(ptr %t227) - call void @fn_emit(ptr @.str11777) + call void @fn_emit(ptr @.str12074) %t228 = load ptr, ptr %t1 call void @fn_emit(ptr %t228) - call void @fn_emit(ptr @.str11778) + call void @fn_emit(ptr @.str12075) %t229 = load ptr, ptr %t217 call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str11779) + call void @fn_emit(ptr @.str12076) %t230 = load ptr, ptr %t217 call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str11780) + call void @fn_emit(ptr @.str12077) store i32 0, ptr %t231 br label %wcond43 wcond43: @@ -121424,7 +128431,7 @@ wbody44: br i1 %t249, label %ixok46, label %ixbad47 ixbad47: %t250 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str11781, i32 %t246, i32 %t248) + call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12078, i32 %t246, i32 %t248) call void @exit(i32 1) unreachable ixok46: @@ -121435,130 +128442,130 @@ ixok46: %t255 = call ptr @fn_llty(ptr %t254) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t220 - %t258 = call ptr @lp_str_concat(ptr %t257, ptr @.str11782) + %t258 = call ptr @lp_str_concat(ptr %t257, ptr @.str12079) %t259 = load i32, ptr %t231 %t260 = call ptr @fn_itoa(i32 %t259) %t261 = call ptr @lp_str_concat(ptr %t258, ptr %t260) store ptr %t261, ptr %t262 - call void @fn_emit(ptr @.str11783) + call void @fn_emit(ptr @.str12080) %t263 = load ptr, ptr %t262 call void @fn_emit(ptr %t263) - call void @fn_emit(ptr @.str11784) + call void @fn_emit(ptr @.str12081) %t264 = load i32, ptr %t231 %t265 = call ptr @fn_itoa(i32 %t264) call void @fn_emit(ptr %t265) - call void @fn_emit(ptr @.str11785) - call void @fn_emit(ptr @.str11786) + call void @fn_emit(ptr @.str12082) + call void @fn_emit(ptr @.str12083) %t266 = load ptr, ptr %t262 call void @fn_emit(ptr %t266) - call void @fn_emit(ptr @.str11787) + call void @fn_emit(ptr @.str12084) %t267 = load ptr, ptr %t262 call void @fn_emit(ptr %t267) - call void @fn_emit(ptr @.str11788) + call void @fn_emit(ptr @.str12085) %t268 = load ptr, ptr %t262 call void @fn_emit(ptr %t268) - call void @fn_emit(ptr @.str11789) - call void @fn_emit(ptr @.str11790) + call void @fn_emit(ptr @.str12086) + call void @fn_emit(ptr @.str12087) %t269 = load ptr, ptr %t262 call void @fn_emit(ptr %t269) - call void @fn_emit(ptr @.str11791) - call void @fn_emit(ptr @.str11792) + call void @fn_emit(ptr @.str12088) + call void @fn_emit(ptr @.str12089) %t270 = load ptr, ptr %t262 call void @fn_emit(ptr %t270) - call void @fn_emit(ptr @.str11793) + call void @fn_emit(ptr @.str12090) %t271 = load ptr, ptr %t217 call void @fn_emit(ptr %t271) - call void @fn_emit(ptr @.str11794) + call void @fn_emit(ptr @.str12091) %t272 = load ptr, ptr %t220 call void @fn_emit(ptr %t272) - call void @fn_emit(ptr @.str11795) + call void @fn_emit(ptr @.str12092) %t273 = load i32, ptr %t231 %t274 = call ptr @fn_itoa(i32 %t273) call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str11796) + call void @fn_emit(ptr @.str12093) %t275 = load ptr, ptr %t256 - %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str11797) + %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str12094) %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then48, label %else49 then48: - call void @fn_emit(ptr @.str11798) + call void @fn_emit(ptr @.str12095) %t278 = load ptr, ptr %t262 call void @fn_emit(ptr %t278) - call void @fn_emit(ptr @.str11799) + call void @fn_emit(ptr @.str12096) %t279 = load ptr, ptr %t262 call void @fn_emit(ptr %t279) - call void @fn_emit(ptr @.str11800) - call void @fn_emit(ptr @.str11801) + call void @fn_emit(ptr @.str12097) + call void @fn_emit(ptr @.str12098) %t280 = load ptr, ptr %t262 call void @fn_emit(ptr %t280) - call void @fn_emit(ptr @.str11802) + call void @fn_emit(ptr @.str12099) %t281 = load ptr, ptr %t262 call void @fn_emit(ptr %t281) - call void @fn_emit(ptr @.str11803) + call void @fn_emit(ptr @.str12100) %t282 = load ptr, ptr %t262 call void @fn_emit(ptr %t282) - call void @fn_emit(ptr @.str11804) + call void @fn_emit(ptr @.str12101) br label %ifend50 else49: %t283 = load ptr, ptr %t256 - %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str11805) + %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str12102) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then51, label %else52 then51: - call void @fn_emit(ptr @.str11806) + call void @fn_emit(ptr @.str12103) %t286 = load ptr, ptr %t262 call void @fn_emit(ptr %t286) - call void @fn_emit(ptr @.str11807) + call void @fn_emit(ptr @.str12104) %t287 = load ptr, ptr %t262 call void @fn_emit(ptr %t287) - call void @fn_emit(ptr @.str11808) - call void @fn_emit(ptr @.str11809) + call void @fn_emit(ptr @.str12105) + call void @fn_emit(ptr @.str12106) %t288 = load ptr, ptr %t262 call void @fn_emit(ptr %t288) - call void @fn_emit(ptr @.str11810) + call void @fn_emit(ptr @.str12107) %t289 = load ptr, ptr %t262 call void @fn_emit(ptr %t289) - call void @fn_emit(ptr @.str11811) + call void @fn_emit(ptr @.str12108) %t290 = load ptr, ptr %t262 call void @fn_emit(ptr %t290) - call void @fn_emit(ptr @.str11812) + call void @fn_emit(ptr @.str12109) br label %ifend53 else52: - call void @fn_emit(ptr @.str11813) + call void @fn_emit(ptr @.str12110) %t291 = load ptr, ptr %t262 call void @fn_emit(ptr %t291) - call void @fn_emit(ptr @.str11814) + call void @fn_emit(ptr @.str12111) %t292 = load ptr, ptr %t262 call void @fn_emit(ptr %t292) - call void @fn_emit(ptr @.str11815) - call void @fn_emit(ptr @.str11816) + call void @fn_emit(ptr @.str12112) + call void @fn_emit(ptr @.str12113) %t293 = load ptr, ptr %t262 call void @fn_emit(ptr %t293) - call void @fn_emit(ptr @.str11817) + call void @fn_emit(ptr @.str12114) %t294 = load ptr, ptr %t262 call void @fn_emit(ptr %t294) - call void @fn_emit(ptr @.str11818) + call void @fn_emit(ptr @.str12115) %t295 = load ptr, ptr %t262 call void @fn_emit(ptr %t295) - call void @fn_emit(ptr @.str11819) + call void @fn_emit(ptr @.str12116) br label %ifend53 ifend53: br label %ifend50 ifend50: - call void @fn_emit(ptr @.str11820) + call void @fn_emit(ptr @.str12117) %t296 = load ptr, ptr %t262 call void @fn_emit(ptr %t296) - call void @fn_emit(ptr @.str11821) + call void @fn_emit(ptr @.str12118) %t297 = load i32, ptr %t231 %t298 = add i32 %t297, 1 store i32 %t298, ptr %t231 br label %wcond43 wend45: - call void @fn_emit(ptr @.str11822) - call void @fn_emit(ptr @.str11823) + call void @fn_emit(ptr @.str12119) + call void @fn_emit(ptr @.str12120) %t299 = load ptr, ptr %t220 call void @fn_emit(ptr %t299) - call void @fn_emit(ptr @.str11824) + call void @fn_emit(ptr @.str12121) %t300 = load i32, ptr %t33 %t301 = add i32 %t300, 1 store i32 %t301, ptr %t33 @@ -121569,16 +128576,16 @@ ifend40: store i32 %t303, ptr %t34 br label %wcond33 wend35: - call void @fn_emit(ptr @.str11825) + call void @fn_emit(ptr @.str12122) %t304 = load ptr, ptr %t32 call void @fn_emit(ptr %t304) - call void @fn_emit(ptr @.str11826) - call void @fn_emit(ptr @.str11827) - call void @fn_emit(ptr @.str11828) - call void @fn_emit(ptr @.str11829) - call void @fn_emit(ptr @.str11830) - call void @fn_emit(ptr @.str11831) - call void @fn_emit(ptr @.str11832) + call void @fn_emit(ptr @.str12123) + call void @fn_emit(ptr @.str12124) + call void @fn_emit(ptr @.str12125) + call void @fn_emit(ptr @.str12126) + call void @fn_emit(ptr @.str12127) + call void @fn_emit(ptr @.str12128) + call void @fn_emit(ptr @.str12129) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond54 @@ -121602,7 +128609,7 @@ wbody55: br i1 %t318, label %ixok57, label %ixbad58 ixbad58: %t319 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str11833, i32 %t315, i32 %t317) + call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str12130, i32 %t315, i32 %t317) call void @exit(i32 1) unreachable ixok57: @@ -121625,7 +128632,7 @@ then59: br i1 %t333, label %ixok62, label %ixbad63 ixbad63: %t334 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str11834, i32 %t330, i32 %t332) + call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str12131, i32 %t330, i32 %t332) call void @exit(i32 1) unreachable ixok62: @@ -121639,40 +128646,40 @@ ixok62: %t342 = load i32, ptr %t33 %t343 = call ptr @fn_itoa(i32 %t342) store ptr %t343, ptr %t344 - call void @fn_emit(ptr @.str11835) + call void @fn_emit(ptr @.str12132) %t345 = load ptr, ptr %t344 call void @fn_emit(ptr %t345) - call void @fn_emit(ptr @.str11836) + call void @fn_emit(ptr @.str12133) %t346 = load ptr, ptr %t344 call void @fn_emit(ptr %t346) - call void @fn_emit(ptr @.str11837) - call void @fn_emit(ptr @.str11838) + call void @fn_emit(ptr @.str12134) + call void @fn_emit(ptr @.str12135) %t347 = load ptr, ptr %t344 call void @fn_emit(ptr %t347) - call void @fn_emit(ptr @.str11839) + call void @fn_emit(ptr @.str12136) %t348 = load ptr, ptr %t344 call void @fn_emit(ptr %t348) - call void @fn_emit(ptr @.str11840) + call void @fn_emit(ptr @.str12137) %t349 = load ptr, ptr %t344 call void @fn_emit(ptr %t349) - call void @fn_emit(ptr @.str11841) - call void @fn_emit(ptr @.str11842) + call void @fn_emit(ptr @.str12138) + call void @fn_emit(ptr @.str12139) %t350 = load ptr, ptr %t344 call void @fn_emit(ptr %t350) - call void @fn_emit(ptr @.str11843) - call void @fn_emit(ptr @.str11844) + call void @fn_emit(ptr @.str12140) + call void @fn_emit(ptr @.str12141) %t351 = load ptr, ptr %t344 call void @fn_emit(ptr %t351) - call void @fn_emit(ptr @.str11845) + call void @fn_emit(ptr @.str12142) %t352 = load ptr, ptr %t1 call void @fn_emit(ptr %t352) - call void @fn_emit(ptr @.str11846) + call void @fn_emit(ptr @.str12143) %t353 = load ptr, ptr %t341 call void @fn_emit(ptr %t353) - call void @fn_emit(ptr @.str11847) + call void @fn_emit(ptr @.str12144) %t354 = load ptr, ptr %t341 call void @fn_emit(ptr %t354) - call void @fn_emit(ptr @.str11848) + call void @fn_emit(ptr @.str12145) store i32 0, ptr %t355 br label %wcond64 wcond64: @@ -121699,7 +128706,7 @@ wbody65: br i1 %t373, label %ixok67, label %ixbad68 ixbad68: %t374 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str11849, i32 %t370, i32 %t372) + call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str12146, i32 %t370, i32 %t372) call void @exit(i32 1) unreachable ixok67: @@ -121710,112 +128717,112 @@ ixok67: %t379 = call ptr @fn_llty(ptr %t378) store ptr %t379, ptr %t380 %t381 = load ptr, ptr %t344 - %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str11850) + %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str12147) %t383 = load i32, ptr %t355 %t384 = call ptr @fn_itoa(i32 %t383) %t385 = call ptr @lp_str_concat(ptr %t382, ptr %t384) store ptr %t385, ptr %t386 - call void @fn_emit(ptr @.str11851) + call void @fn_emit(ptr @.str12148) %t387 = load ptr, ptr %t386 call void @fn_emit(ptr %t387) - call void @fn_emit(ptr @.str11852) + call void @fn_emit(ptr @.str12149) %t388 = load i32, ptr %t355 %t389 = call ptr @fn_itoa(i32 %t388) call void @fn_emit(ptr %t389) - call void @fn_emit(ptr @.str11853) - call void @fn_emit(ptr @.str11854) + call void @fn_emit(ptr @.str12150) + call void @fn_emit(ptr @.str12151) %t390 = load ptr, ptr %t386 call void @fn_emit(ptr %t390) - call void @fn_emit(ptr @.str11855) + call void @fn_emit(ptr @.str12152) %t391 = load ptr, ptr %t386 call void @fn_emit(ptr %t391) - call void @fn_emit(ptr @.str11856) + call void @fn_emit(ptr @.str12153) %t392 = load ptr, ptr %t386 call void @fn_emit(ptr %t392) - call void @fn_emit(ptr @.str11857) - call void @fn_emit(ptr @.str11858) + call void @fn_emit(ptr @.str12154) + call void @fn_emit(ptr @.str12155) %t393 = load ptr, ptr %t386 call void @fn_emit(ptr %t393) - call void @fn_emit(ptr @.str11859) - call void @fn_emit(ptr @.str11860) + call void @fn_emit(ptr @.str12156) + call void @fn_emit(ptr @.str12157) %t394 = load ptr, ptr %t386 call void @fn_emit(ptr %t394) - call void @fn_emit(ptr @.str11861) + call void @fn_emit(ptr @.str12158) %t395 = load ptr, ptr %t341 call void @fn_emit(ptr %t395) - call void @fn_emit(ptr @.str11862) + call void @fn_emit(ptr @.str12159) %t396 = load ptr, ptr %t344 call void @fn_emit(ptr %t396) - call void @fn_emit(ptr @.str11863) + call void @fn_emit(ptr @.str12160) %t397 = load i32, ptr %t355 %t398 = call ptr @fn_itoa(i32 %t397) call void @fn_emit(ptr %t398) - call void @fn_emit(ptr @.str11864) + call void @fn_emit(ptr @.str12161) %t399 = load ptr, ptr %t380 - %t400 = call i32 @lp_str_eq(ptr %t399, ptr @.str11865) + %t400 = call i32 @lp_str_eq(ptr %t399, ptr @.str12162) %t401 = icmp ne i32 %t400, 0 br i1 %t401, label %then69, label %else70 then69: - call void @fn_emit(ptr @.str11866) + call void @fn_emit(ptr @.str12163) %t402 = load ptr, ptr %t386 call void @fn_emit(ptr %t402) - call void @fn_emit(ptr @.str11867) - call void @fn_emit(ptr @.str11868) + call void @fn_emit(ptr @.str12164) + call void @fn_emit(ptr @.str12165) %t403 = load ptr, ptr %t386 call void @fn_emit(ptr %t403) - call void @fn_emit(ptr @.str11869) + call void @fn_emit(ptr @.str12166) %t404 = load ptr, ptr %t386 call void @fn_emit(ptr %t404) - call void @fn_emit(ptr @.str11870) + call void @fn_emit(ptr @.str12167) br label %ifend71 else70: %t405 = load ptr, ptr %t380 - %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str11871) + %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str12168) %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then72, label %else73 then72: - call void @fn_emit(ptr @.str11872) + call void @fn_emit(ptr @.str12169) %t408 = load ptr, ptr %t386 call void @fn_emit(ptr %t408) - call void @fn_emit(ptr @.str11873) - call void @fn_emit(ptr @.str11874) + call void @fn_emit(ptr @.str12170) + call void @fn_emit(ptr @.str12171) %t409 = load ptr, ptr %t386 call void @fn_emit(ptr %t409) - call void @fn_emit(ptr @.str11875) + call void @fn_emit(ptr @.str12172) %t410 = load ptr, ptr %t386 call void @fn_emit(ptr %t410) - call void @fn_emit(ptr @.str11876) + call void @fn_emit(ptr @.str12173) br label %ifend74 else73: - call void @fn_emit(ptr @.str11877) + call void @fn_emit(ptr @.str12174) %t411 = load ptr, ptr %t386 call void @fn_emit(ptr %t411) - call void @fn_emit(ptr @.str11878) - call void @fn_emit(ptr @.str11879) + call void @fn_emit(ptr @.str12175) + call void @fn_emit(ptr @.str12176) %t412 = load ptr, ptr %t386 call void @fn_emit(ptr %t412) - call void @fn_emit(ptr @.str11880) + call void @fn_emit(ptr @.str12177) %t413 = load ptr, ptr %t386 call void @fn_emit(ptr %t413) - call void @fn_emit(ptr @.str11881) + call void @fn_emit(ptr @.str12178) br label %ifend74 ifend74: br label %ifend71 ifend71: - call void @fn_emit(ptr @.str11882) + call void @fn_emit(ptr @.str12179) %t414 = load ptr, ptr %t386 call void @fn_emit(ptr %t414) - call void @fn_emit(ptr @.str11883) + call void @fn_emit(ptr @.str12180) %t415 = load i32, ptr %t355 %t416 = add i32 %t415, 1 store i32 %t416, ptr %t355 br label %wcond64 wend66: - call void @fn_emit(ptr @.str11884) - call void @fn_emit(ptr @.str11885) + call void @fn_emit(ptr @.str12181) + call void @fn_emit(ptr @.str12182) %t417 = load ptr, ptr %t344 call void @fn_emit(ptr %t417) - call void @fn_emit(ptr @.str11886) + call void @fn_emit(ptr @.str12183) %t418 = load i32, ptr %t33 %t419 = add i32 %t418, 1 store i32 %t419, ptr %t33 @@ -121826,16 +128833,16 @@ ifend61: store i32 %t421, ptr %t34 br label %wcond54 wend56: - call void @fn_emit(ptr @.str11887) + call void @fn_emit(ptr @.str12184) %t422 = load ptr, ptr %t32 call void @fn_emit(ptr %t422) - call void @fn_emit(ptr @.str11888) - call void @fn_emit(ptr @.str11889) - call void @fn_emit(ptr @.str11890) - call void @fn_emit(ptr @.str11891) - call void @fn_emit(ptr @.str11892) - call void @fn_emit(ptr @.str11893) - call void @fn_emit(ptr @.str11894) + call void @fn_emit(ptr @.str12185) + call void @fn_emit(ptr @.str12186) + call void @fn_emit(ptr @.str12187) + call void @fn_emit(ptr @.str12188) + call void @fn_emit(ptr @.str12189) + call void @fn_emit(ptr @.str12190) + call void @fn_emit(ptr @.str12191) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond75 @@ -121859,7 +128866,7 @@ wbody76: br i1 %t436, label %ixok78, label %ixbad79 ixbad79: %t437 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t437, ptr @.fmt_bounds, ptr @.str11895, i32 %t433, i32 %t435) + call i32 (ptr, ptr, ...) @fprintf(ptr %t437, ptr @.fmt_bounds, ptr @.str12192, i32 %t433, i32 %t435) call void @exit(i32 1) unreachable ixok78: @@ -121882,7 +128889,7 @@ then80: br i1 %t451, label %ixok83, label %ixbad84 ixbad84: %t452 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t452, ptr @.fmt_bounds, ptr @.str11896, i32 %t448, i32 %t450) + call i32 (ptr, ptr, ...) @fprintf(ptr %t452, ptr @.fmt_bounds, ptr @.str12193, i32 %t448, i32 %t450) call void @exit(i32 1) unreachable ixok83: @@ -121894,58 +128901,58 @@ ixok83: %t458 = load i32, ptr %t33 %t459 = call ptr @fn_itoa(i32 %t458) store ptr %t459, ptr %t460 - call void @fn_emit(ptr @.str11897) + call void @fn_emit(ptr @.str12194) %t461 = load ptr, ptr %t460 call void @fn_emit(ptr %t461) - call void @fn_emit(ptr @.str11898) + call void @fn_emit(ptr @.str12195) %t462 = load ptr, ptr %t460 call void @fn_emit(ptr %t462) - call void @fn_emit(ptr @.str11899) - call void @fn_emit(ptr @.str11900) + call void @fn_emit(ptr @.str12196) + call void @fn_emit(ptr @.str12197) %t463 = load ptr, ptr %t460 call void @fn_emit(ptr %t463) - call void @fn_emit(ptr @.str11901) + call void @fn_emit(ptr @.str12198) %t464 = load ptr, ptr %t460 call void @fn_emit(ptr %t464) - call void @fn_emit(ptr @.str11902) + call void @fn_emit(ptr @.str12199) %t465 = load ptr, ptr %t460 call void @fn_emit(ptr %t465) - call void @fn_emit(ptr @.str11903) - call void @fn_emit(ptr @.str11904) + call void @fn_emit(ptr @.str12200) + call void @fn_emit(ptr @.str12201) %t466 = load ptr, ptr %t460 call void @fn_emit(ptr %t466) - call void @fn_emit(ptr @.str11905) - call void @fn_emit(ptr @.str11906) + call void @fn_emit(ptr @.str12202) + call void @fn_emit(ptr @.str12203) %t467 = load ptr, ptr %t460 call void @fn_emit(ptr %t467) - call void @fn_emit(ptr @.str11907) + call void @fn_emit(ptr @.str12204) %t468 = load ptr, ptr %t1 call void @fn_emit(ptr %t468) - call void @fn_emit(ptr @.str11908) + call void @fn_emit(ptr @.str12205) %t469 = load ptr, ptr %t457 call void @fn_emit(ptr %t469) - call void @fn_emit(ptr @.str11909) - call void @fn_emit(ptr @.str11910) + call void @fn_emit(ptr @.str12206) + call void @fn_emit(ptr @.str12207) %t470 = load ptr, ptr %t460 call void @fn_emit(ptr %t470) - call void @fn_emit(ptr @.str11911) + call void @fn_emit(ptr @.str12208) %t471 = load ptr, ptr %t460 call void @fn_emit(ptr %t471) - call void @fn_emit(ptr @.str11912) - call void @fn_emit(ptr @.str11913) + call void @fn_emit(ptr @.str12209) + call void @fn_emit(ptr @.str12210) %t472 = load ptr, ptr %t460 call void @fn_emit(ptr %t472) - call void @fn_emit(ptr @.str11914) + call void @fn_emit(ptr @.str12211) %t473 = load ptr, ptr %t460 call void @fn_emit(ptr %t473) - call void @fn_emit(ptr @.str11915) + call void @fn_emit(ptr @.str12212) %t474 = load ptr, ptr %t460 call void @fn_emit(ptr %t474) - call void @fn_emit(ptr @.str11916) - call void @fn_emit(ptr @.str11917) + call void @fn_emit(ptr @.str12213) + call void @fn_emit(ptr @.str12214) %t475 = load ptr, ptr %t460 call void @fn_emit(ptr %t475) - call void @fn_emit(ptr @.str11918) + call void @fn_emit(ptr @.str12215) %t476 = load i32, ptr %t33 %t477 = add i32 %t476, 1 store i32 %t477, ptr %t33 @@ -121956,54 +128963,54 @@ ifend82: store i32 %t479, ptr %t34 br label %wcond75 wend77: - call void @fn_emit(ptr @.str11919) + call void @fn_emit(ptr @.str12216) %t480 = load ptr, ptr %t32 call void @fn_emit(ptr %t480) - call void @fn_emit(ptr @.str11920) - call void @fn_emit(ptr @.str11921) - call void @fn_emit(ptr @.str11922) - call void @fn_emit(ptr @.str11923) - call void @fn_emit(ptr @.str11924) - call void @fn_emit(ptr @.str11925) - call void @fn_emit(ptr @.str11926) + call void @fn_emit(ptr @.str12217) + call void @fn_emit(ptr @.str12218) + call void @fn_emit(ptr @.str12219) + call void @fn_emit(ptr @.str12220) + call void @fn_emit(ptr @.str12221) + call void @fn_emit(ptr @.str12222) + call void @fn_emit(ptr @.str12223) %t481 = load ptr, ptr %t1 call void @fn_emit(ptr %t481) - call void @fn_emit(ptr @.str11927) - call void @fn_emit(ptr @.str11928) - call void @fn_emit(ptr @.str11929) - call void @fn_emit(ptr @.str11930) + call void @fn_emit(ptr @.str12224) + call void @fn_emit(ptr @.str12225) + call void @fn_emit(ptr @.str12226) + call void @fn_emit(ptr @.str12227) %t482 = load ptr, ptr %t1 call void @fn_emit(ptr %t482) - call void @fn_emit(ptr @.str11931) + call void @fn_emit(ptr @.str12228) %t483 = load ptr, ptr %t1 call void @fn_emit(ptr %t483) - call void @fn_emit(ptr @.str11932) - call void @fn_emit(ptr @.str11933) - call void @fn_emit(ptr @.str11934) - call void @fn_emit(ptr @.str11935) - call void @fn_emit(ptr @.str11936) + call void @fn_emit(ptr @.str12229) + call void @fn_emit(ptr @.str12230) + call void @fn_emit(ptr @.str12231) + call void @fn_emit(ptr @.str12232) + call void @fn_emit(ptr @.str12233) %t484 = load ptr, ptr %t32 call void @fn_emit(ptr %t484) - call void @fn_emit(ptr @.str11937) - call void @fn_emit(ptr @.str11938) - call void @fn_emit(ptr @.str11939) - call void @fn_emit(ptr @.str11940) + call void @fn_emit(ptr @.str12234) + call void @fn_emit(ptr @.str12235) + call void @fn_emit(ptr @.str12236) + call void @fn_emit(ptr @.str12237) %t485 = load ptr, ptr %t32 call void @fn_emit(ptr %t485) - call void @fn_emit(ptr @.str11941) - call void @fn_emit(ptr @.str11942) - call void @fn_emit(ptr @.str11943) + call void @fn_emit(ptr @.str12238) + call void @fn_emit(ptr @.str12239) + call void @fn_emit(ptr @.str12240) %t486 = load ptr, ptr %t32 call void @fn_emit(ptr %t486) - call void @fn_emit(ptr @.str11944) - call void @fn_emit(ptr @.str11945) - call void @fn_emit(ptr @.str11946) - call void @fn_emit(ptr @.str11947) + call void @fn_emit(ptr @.str12241) + call void @fn_emit(ptr @.str12242) + call void @fn_emit(ptr @.str12243) + call void @fn_emit(ptr @.str12244) %t487 = load ptr, ptr %t1 call void @fn_emit(ptr %t487) - call void @fn_emit(ptr @.str11948) - call void @fn_emit(ptr @.str11949) - call void @fn_emit(ptr @.str11950) + call void @fn_emit(ptr @.str12245) + call void @fn_emit(ptr @.str12246) + call void @fn_emit(ptr @.str12247) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond85 @@ -122027,7 +129034,7 @@ wbody86: br i1 %t501, label %ixok88, label %ixbad89 ixbad89: %t502 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str11951, i32 %t498, i32 %t500) + call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str12248, i32 %t498, i32 %t500) call void @exit(i32 1) unreachable ixok88: @@ -122050,7 +129057,7 @@ then90: br i1 %t516, label %ixok93, label %ixbad94 ixbad94: %t517 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t517, ptr @.fmt_bounds, ptr @.str11952, i32 %t513, i32 %t515) + call i32 (ptr, ptr, ...) @fprintf(ptr %t517, ptr @.fmt_bounds, ptr @.str12249, i32 %t513, i32 %t515) call void @exit(i32 1) unreachable ixok93: @@ -122063,34 +129070,34 @@ ixok93: %t524 = load i32, ptr %t33 %t525 = call ptr @fn_itoa(i32 %t524) store ptr %t525, ptr %t526 - call void @fn_emit(ptr @.str11953) + call void @fn_emit(ptr @.str12250) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) - call void @fn_emit(ptr @.str11954) + call void @fn_emit(ptr @.str12251) %t528 = load ptr, ptr %t523 call void @fn_emit(ptr %t528) - call void @fn_emit(ptr @.str11955) - call void @fn_emit(ptr @.str11956) + call void @fn_emit(ptr @.str12252) + call void @fn_emit(ptr @.str12253) %t529 = load ptr, ptr %t526 call void @fn_emit(ptr %t529) - call void @fn_emit(ptr @.str11957) + call void @fn_emit(ptr @.str12254) %t530 = load ptr, ptr %t526 call void @fn_emit(ptr %t530) - call void @fn_emit(ptr @.str11958) - call void @fn_emit(ptr @.str11959) + call void @fn_emit(ptr @.str12255) + call void @fn_emit(ptr @.str12256) %t531 = load ptr, ptr %t526 call void @fn_emit(ptr %t531) - call void @fn_emit(ptr @.str11960) + call void @fn_emit(ptr @.str12257) %t532 = load ptr, ptr %t526 call void @fn_emit(ptr %t532) - call void @fn_emit(ptr @.str11961) + call void @fn_emit(ptr @.str12258) %t533 = load ptr, ptr %t526 call void @fn_emit(ptr %t533) - call void @fn_emit(ptr @.str11962) - call void @fn_emit(ptr @.str11963) + call void @fn_emit(ptr @.str12259) + call void @fn_emit(ptr @.str12260) %t534 = load ptr, ptr %t526 call void @fn_emit(ptr %t534) - call void @fn_emit(ptr @.str11964) + call void @fn_emit(ptr @.str12261) %t535 = load ptr, ptr @g_prog %t536 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 0 %t537 = load ptr, ptr %t536 @@ -122101,7 +129108,7 @@ ixok93: br i1 %t541, label %ixok95, label %ixbad96 ixbad96: %t542 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t542, ptr @.fmt_bounds, ptr @.str11965, i32 %t538, i32 %t540) + call i32 (ptr, ptr, ...) @fprintf(ptr %t542, ptr @.fmt_bounds, ptr @.str12262, i32 %t538, i32 %t540) call void @exit(i32 1) unreachable ixok95: @@ -122112,11 +129119,11 @@ ixok95: %t547 = call i32 @fn_find_arch_id(ptr %t546) %t548 = call ptr @fn_itoa(i32 %t547) call void @fn_emit(ptr %t548) - call void @fn_emit(ptr @.str11966) - call void @fn_emit(ptr @.str11967) + call void @fn_emit(ptr @.str12263) + call void @fn_emit(ptr @.str12264) %t549 = load ptr, ptr %t526 call void @fn_emit(ptr %t549) - call void @fn_emit(ptr @.str11968) + call void @fn_emit(ptr @.str12265) %t550 = load i32, ptr %t33 %t551 = add i32 %t550, 1 store i32 %t551, ptr %t33 @@ -122127,7 +129134,7 @@ ifend92: store i32 %t553, ptr %t34 br label %wcond85 wend87: - call void @fn_emit(ptr @.str11969) + call void @fn_emit(ptr @.str12266) store i32 0, ptr %t34 br label %wcond97 wcond97: @@ -122150,7 +129157,7 @@ wbody98: br i1 %t567, label %ixok100, label %ixbad101 ixbad101: %t568 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t568, ptr @.fmt_bounds, ptr @.str11970, i32 %t564, i32 %t566) + call i32 (ptr, ptr, ...) @fprintf(ptr %t568, ptr @.fmt_bounds, ptr @.str12267, i32 %t564, i32 %t566) call void @exit(i32 1) unreachable ixok100: @@ -122173,7 +129180,7 @@ then102: br i1 %t582, label %ixok105, label %ixbad106 ixbad106: %t583 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str11971, i32 %t579, i32 %t581) + call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str12268, i32 %t579, i32 %t581) call void @exit(i32 1) unreachable ixok105: @@ -122188,7 +129195,7 @@ ixok105: call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself - store ptr @.str11972, ptr @g_ret_ty + store ptr @.str12269, ptr @g_ret_ty %t589 = call ptr @fn_buf_new() store ptr %t589, ptr %t590 %t591 = call ptr @fn_buf_new() @@ -122206,23 +129213,23 @@ ixok105: %t600 = load ptr, ptr %t596 %t601 = call ptr @fn_emit_spawn(ptr %t600) store ptr %t601, ptr %t602 - call void @fn_emit(ptr @.str11973) + call void @fn_emit(ptr @.str12270) %t603 = load ptr, ptr %t602 call void @fn_emit(ptr %t603) - call void @fn_emit(ptr @.str11974) + call void @fn_emit(ptr @.str12271) %t604 = load ptr, ptr %t593 store ptr %t604, ptr @g_code - call void @fn_emit(ptr @.str11975) + call void @fn_emit(ptr @.str12272) %t605 = load ptr, ptr %t588 call void @fn_emit(ptr %t605) - call void @fn_emit(ptr @.str11976) + call void @fn_emit(ptr @.str12273) %t606 = load ptr, ptr @g_falloc %t607 = call ptr @fn_buf_str(ptr %t606) call void @fn_emit(ptr %t607) %t608 = load ptr, ptr %t590 %t609 = call ptr @fn_buf_str(ptr %t608) call void @fn_emit(ptr %t609) - call void @fn_emit(ptr @.str11977) + call void @fn_emit(ptr @.str12274) br label %ifend104 ifend104: %t610 = load i32, ptr %t34 @@ -122230,7 +129237,7 @@ ifend104: store i32 %t611, ptr %t34 br label %wcond97 wend99: - call void @fn_emit(ptr @.str11978) + call void @fn_emit(ptr @.str12275) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond107 @@ -122254,7 +129261,7 @@ wbody108: br i1 %t625, label %ixok110, label %ixbad111 ixbad111: %t626 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t626, ptr @.fmt_bounds, ptr @.str11979, i32 %t622, i32 %t624) + call i32 (ptr, ptr, ...) @fprintf(ptr %t626, ptr @.fmt_bounds, ptr @.str12276, i32 %t622, i32 %t624) call void @exit(i32 1) unreachable ixok110: @@ -122277,7 +129284,7 @@ then112: br i1 %t640, label %ixok115, label %ixbad116 ixbad116: %t641 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str11980, i32 %t637, i32 %t639) + call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str12277, i32 %t637, i32 %t639) call void @exit(i32 1) unreachable ixok115: @@ -122289,42 +129296,42 @@ ixok115: %t647 = load i32, ptr %t33 %t648 = call ptr @fn_itoa(i32 %t647) store ptr %t648, ptr %t649 - call void @fn_emit(ptr @.str11981) + call void @fn_emit(ptr @.str12278) %t650 = load ptr, ptr %t649 call void @fn_emit(ptr %t650) - call void @fn_emit(ptr @.str11982) + call void @fn_emit(ptr @.str12279) %t651 = load ptr, ptr %t646 %t652 = call i32 @fn_find_arch_id(ptr %t651) %t653 = call ptr @fn_itoa(i32 %t652) call void @fn_emit(ptr %t653) - call void @fn_emit(ptr @.str11983) - call void @fn_emit(ptr @.str11984) + call void @fn_emit(ptr @.str12280) + call void @fn_emit(ptr @.str12281) %t654 = load ptr, ptr %t649 call void @fn_emit(ptr %t654) - call void @fn_emit(ptr @.str11985) + call void @fn_emit(ptr @.str12282) %t655 = load ptr, ptr %t649 call void @fn_emit(ptr %t655) - call void @fn_emit(ptr @.str11986) + call void @fn_emit(ptr @.str12283) %t656 = load ptr, ptr %t649 call void @fn_emit(ptr %t656) - call void @fn_emit(ptr @.str11987) - call void @fn_emit(ptr @.str11988) + call void @fn_emit(ptr @.str12284) + call void @fn_emit(ptr @.str12285) %t657 = load ptr, ptr %t649 call void @fn_emit(ptr %t657) - call void @fn_emit(ptr @.str11989) + call void @fn_emit(ptr @.str12286) %t658 = load ptr, ptr %t649 call void @fn_emit(ptr %t658) - call void @fn_emit(ptr @.str11990) + call void @fn_emit(ptr @.str12287) %t659 = load ptr, ptr %t646 call void @fn_emit(ptr %t659) - call void @fn_emit(ptr @.str11991) + call void @fn_emit(ptr @.str12288) %t660 = load ptr, ptr %t649 call void @fn_emit(ptr %t660) - call void @fn_emit(ptr @.str11992) - call void @fn_emit(ptr @.str11993) + call void @fn_emit(ptr @.str12289) + call void @fn_emit(ptr @.str12290) %t661 = load ptr, ptr %t649 call void @fn_emit(ptr %t661) - call void @fn_emit(ptr @.str11994) + call void @fn_emit(ptr @.str12291) %t662 = load i32, ptr %t33 %t663 = add i32 %t662, 1 store i32 %t663, ptr %t33 @@ -122335,20 +129342,20 @@ ifend114: store i32 %t665, ptr %t34 br label %wcond107 wend109: - call void @fn_emit(ptr @.str11995) - call void @fn_emit(ptr @.str11996) - call void @fn_emit(ptr @.str11997) - call void @fn_emit(ptr @.str11998) - call void @fn_emit(ptr @.str11999) - call void @fn_emit(ptr @.str12000) + call void @fn_emit(ptr @.str12292) + call void @fn_emit(ptr @.str12293) + call void @fn_emit(ptr @.str12294) + call void @fn_emit(ptr @.str12295) + call void @fn_emit(ptr @.str12296) + call void @fn_emit(ptr @.str12297) %t666 = load ptr, ptr %t1 call void @fn_emit(ptr %t666) - call void @fn_emit(ptr @.str12001) - call void @fn_emit(ptr @.str12002) - call void @fn_emit(ptr @.str12003) - call void @fn_emit(ptr @.str12004) - call void @fn_emit(ptr @.str12005) - call void @fn_emit(ptr @.str12006) + call void @fn_emit(ptr @.str12298) + call void @fn_emit(ptr @.str12299) + call void @fn_emit(ptr @.str12300) + call void @fn_emit(ptr @.str12301) + call void @fn_emit(ptr @.str12302) + call void @fn_emit(ptr @.str12303) call void @fn_emit_world_reflect_enum() br label %ret ret: @@ -122377,9 +129384,9 @@ entry: %t278 = alloca i32 %t303 = alloca ptr %t309 = alloca ptr - %t0 = call ptr @fn_emit_str_const(ptr @.str12007) + %t0 = call ptr @fn_emit_str_const(ptr @.str12304) store ptr %t0, ptr %t1 - %t2 = call ptr @fn_emit_str_const(ptr @.str12008) + %t2 = call ptr @fn_emit_str_const(ptr @.str12305) store ptr %t2, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 @@ -122404,7 +129411,7 @@ wbody1: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12009, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12306, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -122430,12 +129437,12 @@ wend2: %t32 = load i32, ptr %t4 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 - call void @fn_emit(ptr @.str12010) - call void @fn_emit(ptr @.str12011) + call void @fn_emit(ptr @.str12307) + call void @fn_emit(ptr @.str12308) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str12012) - call void @fn_emit(ptr @.str12013) + call void @fn_emit(ptr @.str12309) + call void @fn_emit(ptr @.str12310) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond8 @@ -122459,7 +129466,7 @@ wbody9: br i1 %t50, label %ixok11, label %ixbad12 ixbad12: %t51 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12014, i32 %t47, i32 %t49) + call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12311, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok11: @@ -122482,7 +129489,7 @@ then13: br i1 %t65, label %ixok16, label %ixbad17 ixbad17: %t66 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12015, i32 %t62, i32 %t64) + call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12312, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok16: @@ -122495,34 +129502,34 @@ ixok16: %t73 = load i32, ptr %t36 %t74 = call ptr @fn_itoa(i32 %t73) store ptr %t74, ptr %t75 - call void @fn_emit(ptr @.str12016) + call void @fn_emit(ptr @.str12313) %t76 = load ptr, ptr %t75 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str12017) + call void @fn_emit(ptr @.str12314) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) - call void @fn_emit(ptr @.str12018) - call void @fn_emit(ptr @.str12019) + call void @fn_emit(ptr @.str12315) + call void @fn_emit(ptr @.str12316) %t78 = load ptr, ptr %t75 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str12020) + call void @fn_emit(ptr @.str12317) %t79 = load ptr, ptr %t75 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str12021) + call void @fn_emit(ptr @.str12318) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str12022) - call void @fn_emit(ptr @.str12023) + call void @fn_emit(ptr @.str12319) + call void @fn_emit(ptr @.str12320) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) - call void @fn_emit(ptr @.str12024) + call void @fn_emit(ptr @.str12321) %t82 = load ptr, ptr %t72 call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str12025) - call void @fn_emit(ptr @.str12026) + call void @fn_emit(ptr @.str12322) + call void @fn_emit(ptr @.str12323) %t83 = load ptr, ptr %t75 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str12027) + call void @fn_emit(ptr @.str12324) %t84 = load i32, ptr %t36 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t36 @@ -122533,17 +129540,17 @@ ifend15: store i32 %t87, ptr %t5 br label %wcond8 wend10: - call void @fn_emit(ptr @.str12028) + call void @fn_emit(ptr @.str12325) %t88 = load ptr, ptr %t34 call void @fn_emit(ptr %t88) - call void @fn_emit(ptr @.str12029) - call void @fn_emit(ptr @.str12030) - call void @fn_emit(ptr @.str12031) - call void @fn_emit(ptr @.str12032) + call void @fn_emit(ptr @.str12326) + call void @fn_emit(ptr @.str12327) + call void @fn_emit(ptr @.str12328) + call void @fn_emit(ptr @.str12329) %t89 = load ptr, ptr %t1 call void @fn_emit(ptr %t89) - call void @fn_emit(ptr @.str12033) - call void @fn_emit(ptr @.str12034) + call void @fn_emit(ptr @.str12330) + call void @fn_emit(ptr @.str12331) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond18 @@ -122567,7 +129574,7 @@ wbody19: br i1 %t103, label %ixok21, label %ixbad22 ixbad22: %t104 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12035, i32 %t100, i32 %t102) + call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12332, i32 %t100, i32 %t102) call void @exit(i32 1) unreachable ixok21: @@ -122590,7 +129597,7 @@ then23: br i1 %t118, label %ixok26, label %ixbad27 ixbad27: %t119 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str12036, i32 %t115, i32 %t117) + call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str12333, i32 %t115, i32 %t117) call void @exit(i32 1) unreachable ixok26: @@ -122600,27 +129607,27 @@ ixok26: %t123 = load i32, ptr %t36 %t124 = call ptr @fn_itoa(i32 %t123) store ptr %t124, ptr %t125 - call void @fn_emit(ptr @.str12037) + call void @fn_emit(ptr @.str12334) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) - call void @fn_emit(ptr @.str12038) + call void @fn_emit(ptr @.str12335) %t127 = load ptr, ptr %t125 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str12039) - call void @fn_emit(ptr @.str12040) + call void @fn_emit(ptr @.str12336) + call void @fn_emit(ptr @.str12337) %t128 = load ptr, ptr %t125 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str12041) + call void @fn_emit(ptr @.str12338) %t129 = load ptr, ptr %t125 call void @fn_emit(ptr %t129) - call void @fn_emit(ptr @.str12042) + call void @fn_emit(ptr @.str12339) %t130 = load ptr, ptr %t125 call void @fn_emit(ptr %t130) - call void @fn_emit(ptr @.str12043) - call void @fn_emit(ptr @.str12044) + call void @fn_emit(ptr @.str12340) + call void @fn_emit(ptr @.str12341) %t131 = load ptr, ptr %t125 call void @fn_emit(ptr %t131) - call void @fn_emit(ptr @.str12045) + call void @fn_emit(ptr @.str12342) %t132 = load ptr, ptr %t122 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t133 @@ -122628,11 +129635,11 @@ ixok26: %t136 = load i32, ptr %t135 %t137 = call ptr @fn_itoa(i32 %t136) call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str12046) - call void @fn_emit(ptr @.str12047) + call void @fn_emit(ptr @.str12343) + call void @fn_emit(ptr @.str12344) %t138 = load ptr, ptr %t125 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str12048) + call void @fn_emit(ptr @.str12345) %t139 = load i32, ptr %t36 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t36 @@ -122643,14 +129650,14 @@ ifend25: store i32 %t142, ptr %t5 br label %wcond18 wend20: - call void @fn_emit(ptr @.str12049) + call void @fn_emit(ptr @.str12346) %t143 = load ptr, ptr %t34 call void @fn_emit(ptr %t143) - call void @fn_emit(ptr @.str12050) - call void @fn_emit(ptr @.str12051) - call void @fn_emit(ptr @.str12052) - call void @fn_emit(ptr @.str12053) - call void @fn_emit(ptr @.str12054) + call void @fn_emit(ptr @.str12347) + call void @fn_emit(ptr @.str12348) + call void @fn_emit(ptr @.str12349) + call void @fn_emit(ptr @.str12350) + call void @fn_emit(ptr @.str12351) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond28 @@ -122674,7 +129681,7 @@ wbody29: br i1 %t157, label %ixok31, label %ixbad32 ixbad32: %t158 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str12055, i32 %t154, i32 %t156) + call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str12352, i32 %t154, i32 %t156) call void @exit(i32 1) unreachable ixok31: @@ -122697,7 +129704,7 @@ then33: br i1 %t172, label %ixok36, label %ixbad37 ixbad37: %t173 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str12056, i32 %t169, i32 %t171) + call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str12353, i32 %t169, i32 %t171) call void @exit(i32 1) unreachable ixok36: @@ -122707,27 +129714,27 @@ ixok36: %t177 = load i32, ptr %t36 %t178 = call ptr @fn_itoa(i32 %t177) store ptr %t178, ptr %t179 - call void @fn_emit(ptr @.str12057) + call void @fn_emit(ptr @.str12354) %t180 = load ptr, ptr %t179 call void @fn_emit(ptr %t180) - call void @fn_emit(ptr @.str12058) + call void @fn_emit(ptr @.str12355) %t181 = load ptr, ptr %t179 call void @fn_emit(ptr %t181) - call void @fn_emit(ptr @.str12059) - call void @fn_emit(ptr @.str12060) + call void @fn_emit(ptr @.str12356) + call void @fn_emit(ptr @.str12357) %t182 = load ptr, ptr %t179 call void @fn_emit(ptr %t182) - call void @fn_emit(ptr @.str12061) + call void @fn_emit(ptr @.str12358) %t183 = load ptr, ptr %t179 call void @fn_emit(ptr %t183) - call void @fn_emit(ptr @.str12062) + call void @fn_emit(ptr @.str12359) %t184 = load ptr, ptr %t179 call void @fn_emit(ptr %t184) - call void @fn_emit(ptr @.str12063) - call void @fn_emit(ptr @.str12064) + call void @fn_emit(ptr @.str12360) + call void @fn_emit(ptr @.str12361) %t185 = load ptr, ptr %t179 call void @fn_emit(ptr %t185) - call void @fn_emit(ptr @.str12065) + call void @fn_emit(ptr @.str12362) store i32 0, ptr %t186 br label %wcond38 wcond38: @@ -122754,7 +129761,7 @@ wbody39: br i1 %t204, label %ixok41, label %ixbad42 ixbad42: %t205 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12066, i32 %t201, i32 %t203) + call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12363, i32 %t201, i32 %t203) call void @exit(i32 1) unreachable ixok41: @@ -122765,53 +129772,53 @@ ixok41: %t210 = call ptr @fn_emit_str_const(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t179 - %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12067) + %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12364) %t214 = load i32, ptr %t186 %t215 = call ptr @fn_itoa(i32 %t214) %t216 = call ptr @lp_str_concat(ptr %t213, ptr %t215) store ptr %t216, ptr %t217 - call void @fn_emit(ptr @.str12068) + call void @fn_emit(ptr @.str12365) %t218 = load ptr, ptr %t217 call void @fn_emit(ptr %t218) - call void @fn_emit(ptr @.str12069) + call void @fn_emit(ptr @.str12366) %t219 = load i32, ptr %t186 %t220 = call ptr @fn_itoa(i32 %t219) call void @fn_emit(ptr %t220) - call void @fn_emit(ptr @.str12070) - call void @fn_emit(ptr @.str12071) + call void @fn_emit(ptr @.str12367) + call void @fn_emit(ptr @.str12368) %t221 = load ptr, ptr %t217 call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str12072) + call void @fn_emit(ptr @.str12369) %t222 = load ptr, ptr %t217 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str12073) + call void @fn_emit(ptr @.str12370) %t223 = load ptr, ptr %t217 call void @fn_emit(ptr %t223) - call void @fn_emit(ptr @.str12074) - call void @fn_emit(ptr @.str12075) + call void @fn_emit(ptr @.str12371) + call void @fn_emit(ptr @.str12372) %t224 = load ptr, ptr %t217 call void @fn_emit(ptr %t224) - call void @fn_emit(ptr @.str12076) + call void @fn_emit(ptr @.str12373) %t225 = load ptr, ptr %t211 call void @fn_emit(ptr %t225) - call void @fn_emit(ptr @.str12077) - call void @fn_emit(ptr @.str12078) + call void @fn_emit(ptr @.str12374) + call void @fn_emit(ptr @.str12375) %t226 = load ptr, ptr %t217 call void @fn_emit(ptr %t226) - call void @fn_emit(ptr @.str12079) + call void @fn_emit(ptr @.str12376) %t227 = load i32, ptr %t186 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t186 br label %wcond38 wend40: - call void @fn_emit(ptr @.str12080) + call void @fn_emit(ptr @.str12377) %t229 = load ptr, ptr %t1 call void @fn_emit(ptr %t229) - call void @fn_emit(ptr @.str12081) - call void @fn_emit(ptr @.str12082) + call void @fn_emit(ptr @.str12378) + call void @fn_emit(ptr @.str12379) %t230 = load ptr, ptr %t179 call void @fn_emit(ptr %t230) - call void @fn_emit(ptr @.str12083) + call void @fn_emit(ptr @.str12380) %t231 = load i32, ptr %t36 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t36 @@ -122822,11 +129829,11 @@ ifend35: store i32 %t234, ptr %t5 br label %wcond28 wend30: - call void @fn_emit(ptr @.str12084) + call void @fn_emit(ptr @.str12381) %t235 = load ptr, ptr %t1 call void @fn_emit(ptr %t235) - call void @fn_emit(ptr @.str12085) - call void @fn_emit(ptr @.str12086) + call void @fn_emit(ptr @.str12382) + call void @fn_emit(ptr @.str12383) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond43 @@ -122850,7 +129857,7 @@ wbody44: br i1 %t249, label %ixok46, label %ixbad47 ixbad47: %t250 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12087, i32 %t246, i32 %t248) + call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12384, i32 %t246, i32 %t248) call void @exit(i32 1) unreachable ixok46: @@ -122873,7 +129880,7 @@ then48: br i1 %t264, label %ixok51, label %ixbad52 ixbad52: %t265 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str12088, i32 %t261, i32 %t263) + call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str12385, i32 %t261, i32 %t263) call void @exit(i32 1) unreachable ixok51: @@ -122883,27 +129890,27 @@ ixok51: %t269 = load i32, ptr %t36 %t270 = call ptr @fn_itoa(i32 %t269) store ptr %t270, ptr %t271 - call void @fn_emit(ptr @.str12089) + call void @fn_emit(ptr @.str12386) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) - call void @fn_emit(ptr @.str12090) + call void @fn_emit(ptr @.str12387) %t273 = load ptr, ptr %t271 call void @fn_emit(ptr %t273) - call void @fn_emit(ptr @.str12091) - call void @fn_emit(ptr @.str12092) + call void @fn_emit(ptr @.str12388) + call void @fn_emit(ptr @.str12389) %t274 = load ptr, ptr %t271 call void @fn_emit(ptr %t274) - call void @fn_emit(ptr @.str12093) + call void @fn_emit(ptr @.str12390) %t275 = load ptr, ptr %t271 call void @fn_emit(ptr %t275) - call void @fn_emit(ptr @.str12094) + call void @fn_emit(ptr @.str12391) %t276 = load ptr, ptr %t271 call void @fn_emit(ptr %t276) - call void @fn_emit(ptr @.str12095) - call void @fn_emit(ptr @.str12096) + call void @fn_emit(ptr @.str12392) + call void @fn_emit(ptr @.str12393) %t277 = load ptr, ptr %t271 call void @fn_emit(ptr %t277) - call void @fn_emit(ptr @.str12097) + call void @fn_emit(ptr @.str12394) store i32 0, ptr %t278 br label %wcond53 wcond53: @@ -122930,7 +129937,7 @@ wbody54: br i1 %t296, label %ixok56, label %ixbad57 ixbad57: %t297 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str12098, i32 %t293, i32 %t295) + call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str12395, i32 %t293, i32 %t295) call void @exit(i32 1) unreachable ixok56: @@ -122941,53 +129948,53 @@ ixok56: %t302 = call ptr @fn_emit_str_const(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t271 - %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str12099) + %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str12396) %t306 = load i32, ptr %t278 %t307 = call ptr @fn_itoa(i32 %t306) %t308 = call ptr @lp_str_concat(ptr %t305, ptr %t307) store ptr %t308, ptr %t309 - call void @fn_emit(ptr @.str12100) + call void @fn_emit(ptr @.str12397) %t310 = load ptr, ptr %t309 call void @fn_emit(ptr %t310) - call void @fn_emit(ptr @.str12101) + call void @fn_emit(ptr @.str12398) %t311 = load i32, ptr %t278 %t312 = call ptr @fn_itoa(i32 %t311) call void @fn_emit(ptr %t312) - call void @fn_emit(ptr @.str12102) - call void @fn_emit(ptr @.str12103) + call void @fn_emit(ptr @.str12399) + call void @fn_emit(ptr @.str12400) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) - call void @fn_emit(ptr @.str12104) + call void @fn_emit(ptr @.str12401) %t314 = load ptr, ptr %t309 call void @fn_emit(ptr %t314) - call void @fn_emit(ptr @.str12105) + call void @fn_emit(ptr @.str12402) %t315 = load ptr, ptr %t309 call void @fn_emit(ptr %t315) - call void @fn_emit(ptr @.str12106) - call void @fn_emit(ptr @.str12107) + call void @fn_emit(ptr @.str12403) + call void @fn_emit(ptr @.str12404) %t316 = load ptr, ptr %t309 call void @fn_emit(ptr %t316) - call void @fn_emit(ptr @.str12108) + call void @fn_emit(ptr @.str12405) %t317 = load ptr, ptr %t303 call void @fn_emit(ptr %t317) - call void @fn_emit(ptr @.str12109) - call void @fn_emit(ptr @.str12110) + call void @fn_emit(ptr @.str12406) + call void @fn_emit(ptr @.str12407) %t318 = load ptr, ptr %t309 call void @fn_emit(ptr %t318) - call void @fn_emit(ptr @.str12111) + call void @fn_emit(ptr @.str12408) %t319 = load i32, ptr %t278 %t320 = add i32 %t319, 1 store i32 %t320, ptr %t278 br label %wcond53 wend55: - call void @fn_emit(ptr @.str12112) + call void @fn_emit(ptr @.str12409) %t321 = load ptr, ptr %t3 call void @fn_emit(ptr %t321) - call void @fn_emit(ptr @.str12113) - call void @fn_emit(ptr @.str12114) + call void @fn_emit(ptr @.str12410) + call void @fn_emit(ptr @.str12411) %t322 = load ptr, ptr %t271 call void @fn_emit(ptr %t322) - call void @fn_emit(ptr @.str12115) + call void @fn_emit(ptr @.str12412) %t323 = load i32, ptr %t36 %t324 = add i32 %t323, 1 store i32 %t324, ptr %t36 @@ -122998,10 +130005,10 @@ ifend50: store i32 %t326, ptr %t5 br label %wcond43 wend45: - call void @fn_emit(ptr @.str12116) + call void @fn_emit(ptr @.str12413) %t327 = load ptr, ptr %t3 call void @fn_emit(ptr %t327) - call void @fn_emit(ptr @.str12117) + call void @fn_emit(ptr @.str12414) br label %ret ret: ret void @@ -123009,20 +130016,20 @@ ret: define void @fn_emit_tick_helpers() { entry: - call void @fn_emit(ptr @.str12118) + call void @fn_emit(ptr @.str12415) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str12119) - call void @fn_emit_calls_for_phase(ptr @.str12120) - call void @fn_emit_calls_for_phase(ptr @.str12121) - call void @fn_emit_calls_for_phase(ptr @.str12122) - call void @fn_emit(ptr @.str12123) - call void @fn_emit(ptr @.str12124) + call void @fn_emit_calls_for_phase(ptr @.str12416) + call void @fn_emit_calls_for_phase(ptr @.str12417) + call void @fn_emit_calls_for_phase(ptr @.str12418) + call void @fn_emit_calls_for_phase(ptr @.str12419) + call void @fn_emit(ptr @.str12420) + call void @fn_emit(ptr @.str12421) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit_calls_for_phase(ptr @.str12125) - call void @fn_emit_calls_for_phase(ptr @.str12126) - call void @fn_emit(ptr @.str12127) + call void @fn_emit_calls_for_phase(ptr @.str12422) + call void @fn_emit_calls_for_phase(ptr @.str12423) + call void @fn_emit(ptr @.str12424) br label %ret ret: ret void @@ -123054,7 +130061,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12128, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12425, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -123077,7 +130084,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12129, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12426, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -123132,20 +130139,20 @@ entry: %t145 = alloca ptr %t150 = alloca ptr call void @fn_emit_game_defs() - call void @fn_emit(ptr @.str12130) - call void @fn_emit(ptr @.str12131) - call void @fn_emit(ptr @.str12132) - %t0 = call ptr @fn_find_fn(ptr @.str12133) + call void @fn_emit(ptr @.str12427) + call void @fn_emit(ptr @.str12428) + call void @fn_emit(ptr @.str12429) + %t0 = call ptr @fn_find_fn(ptr @.str12430) %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 @.str12134) + call void @fn_emit(ptr @.str12431) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12135) - call void @fn_emit_calls_for_phase(ptr @.str12136) + call void @fn_emit(ptr @.str12432) + call void @fn_emit_calls_for_phase(ptr @.str12433) %t4 = load ptr, ptr @g_g_scenes %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 @@ -123154,11 +130161,11 @@ ifend2: %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12137) + call void @fn_emit(ptr @.str12434) %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 @.str12138) + call void @fn_emit(ptr @.str12435) store i32 0, ptr %t12 br label %wcond6 wcond6: @@ -123181,7 +130188,7 @@ wbody7: br i1 %t26, label %ixok9, label %ixbad10 ixbad10: %t27 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12139, i32 %t23, i32 %t25) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12436, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok9: @@ -123195,7 +130202,7 @@ ixok9: %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then11, label %ifend13 then11: - call void @fn_emit(ptr @.str12140) + call void @fn_emit(ptr @.str12437) %t36 = load ptr, ptr @g_g_scenes %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 @@ -123206,7 +130213,7 @@ then11: br i1 %t42, label %ixok14, label %ixbad15 ixbad15: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12141, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12438, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok14: @@ -123215,7 +130222,7 @@ ixok14: %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 call void @fn_emit(ptr %t47) - call void @fn_emit(ptr @.str12142) + call void @fn_emit(ptr @.str12439) br label %ifend13 ifend13: %t48 = load i32, ptr %t12 @@ -123225,64 +130232,64 @@ ifend13: wend8: br label %ifend5 ifend5: - %t50 = call ptr @fn_find_event(ptr @.str12143) + %t50 = call ptr @fn_find_event(ptr @.str12440) %t51 = icmp ne ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then16, label %ifend18 then16: - call void @fn_emit(ptr @.str12144) + call void @fn_emit(ptr @.str12441) br label %ifend18 ifend18: - call void @fn_emit(ptr @.str12145) - call void @fn_emit(ptr @.str12146) - %t54 = call ptr @fn_emit_bind(ptr @.str12147) + call void @fn_emit(ptr @.str12442) + call void @fn_emit(ptr @.str12443) + %t54 = call ptr @fn_emit_bind(ptr @.str12444) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 - %t57 = call ptr @lp_str_concat(ptr @.str12148, ptr %t56) - %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12149) + %t57 = call ptr @lp_str_concat(ptr @.str12445, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12446) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 - %t61 = call ptr @fn_find_fn(ptr @.str12150) + %t61 = call ptr @fn_find_fn(ptr @.str12447) %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then19, label %else20 then19: - %t65 = call ptr @fn_emit_bind(ptr @.str12151) + %t65 = call ptr @fn_emit_bind(ptr @.str12448) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 - %t68 = call ptr @lp_str_concat(ptr @.str12152, ptr %t67) - %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str12153) + %t68 = call ptr @lp_str_concat(ptr @.str12449, ptr %t67) + %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str12450) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t60 - %t73 = call ptr @lp_str_concat(ptr @.str12154, ptr %t72) - %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str12155) + %t73 = call ptr @lp_str_concat(ptr @.str12451, ptr %t72) + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str12452) %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 - call void @fn_emit(ptr @.str12156) + call void @fn_emit(ptr @.str12453) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) - call void @fn_emit(ptr @.str12157) + call void @fn_emit(ptr @.str12454) br label %ifend21 else20: - call void @fn_emit(ptr @.str12158) + call void @fn_emit(ptr @.str12455) %t80 = load ptr, ptr %t60 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str12159) + call void @fn_emit(ptr @.str12456) br label %ifend21 ifend21: - call void @fn_emit(ptr @.str12160) + call void @fn_emit(ptr @.str12457) %t82 = load i32, ptr @g_g_uses_input %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t81 br i1 %t83, label %sc22, label %scend23 sc22: - %t85 = call ptr @fn_find_fn(ptr @.str12161) + %t85 = call ptr @fn_find_fn(ptr @.str12458) %t86 = icmp ne ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 @@ -123294,26 +130301,26 @@ scend23: %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then24, label %else25 then24: - %t92 = call ptr @fn_emit_bind(ptr @.str12162) + %t92 = call ptr @fn_emit_bind(ptr @.str12459) store ptr %t92, ptr %t93 - call void @fn_emit(ptr @.str12163) + call void @fn_emit(ptr @.str12460) %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) - call void @fn_emit(ptr @.str12164) + call void @fn_emit(ptr @.str12461) br label %ifend26 else25: - %t95 = call ptr @fn_find_fn(ptr @.str12165) + %t95 = call ptr @fn_find_fn(ptr @.str12462) %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then27, label %ifend29 then27: - %t99 = call ptr @fn_emit_bind(ptr @.str12166) + %t99 = call ptr @fn_emit_bind(ptr @.str12463) store ptr %t99, ptr %t100 - call void @fn_emit(ptr @.str12167) + call void @fn_emit(ptr @.str12464) %t101 = load ptr, ptr %t100 call void @fn_emit(ptr %t101) - call void @fn_emit(ptr @.str12168) + call void @fn_emit(ptr @.str12465) br label %ifend29 ifend29: br label %ifend26 @@ -123324,7 +130331,7 @@ ifend26: store i32 %t105, ptr %t102 br i1 %t104, label %sc30, label %scend31 sc30: - %t106 = call ptr @fn_find_fn(ptr @.str12169) + %t106 = call ptr @fn_find_fn(ptr @.str12466) %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 @@ -123336,25 +130343,25 @@ scend31: %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then32, label %ifend34 then32: - %t113 = call ptr @fn_emit_bind(ptr @.str12170) + %t113 = call ptr @fn_emit_bind(ptr @.str12467) store ptr %t113, ptr %t114 - call void @fn_emit(ptr @.str12171) + call void @fn_emit(ptr @.str12468) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) - call void @fn_emit(ptr @.str12172) + call void @fn_emit(ptr @.str12469) br label %ifend34 ifend34: - call void @fn_emit_calls_for_phase(ptr @.str12173) - call void @fn_emit_calls_for_phase(ptr @.str12174) - call void @fn_emit_calls_for_phase(ptr @.str12175) - call void @fn_emit_calls_for_phase(ptr @.str12176) + call void @fn_emit_calls_for_phase(ptr @.str12470) + call void @fn_emit_calls_for_phase(ptr @.str12471) + call void @fn_emit_calls_for_phase(ptr @.str12472) + call void @fn_emit_calls_for_phase(ptr @.str12473) %t117 = load i32, ptr @g_g_has_clear_color %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t116 br i1 %t118, label %sc35, label %scend36 sc35: - %t120 = call ptr @fn_find_fn(ptr @.str12177) + %t120 = call ptr @fn_find_fn(ptr @.str12474) %t121 = icmp ne ptr %t120, null %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 @@ -123369,23 +130376,23 @@ then37: %t127 = load ptr, ptr @g_g_clear_color %t128 = call ptr @fn_emit_expr(ptr %t127) store ptr %t128, ptr %t129 - call void @fn_emit(ptr @.str12178) + call void @fn_emit(ptr @.str12475) %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str12179) + call void @fn_emit(ptr @.str12476) br label %ifend39 ifend39: - call void @fn_emit_calls_for_phase(ptr @.str12180) - call void @fn_emit_calls_for_phase(ptr @.str12181) + call void @fn_emit_calls_for_phase(ptr @.str12477) + call void @fn_emit_calls_for_phase(ptr @.str12478) %t134 = load i32, ptr @g_g_has_clear_color %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t133 br i1 %t135, label %sc40, label %scend41 sc40: - %t137 = call ptr @fn_find_fn(ptr @.str12182) + %t137 = call ptr @fn_find_fn(ptr @.str12479) %t138 = icmp ne ptr %t137, null %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 @@ -123397,22 +130404,22 @@ scend41: %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then42, label %ifend44 then42: - call void @fn_emit(ptr @.str12183) + call void @fn_emit(ptr @.str12480) br label %ifend44 ifend44: - %t144 = call ptr @fn_emit_bind(ptr @.str12184) + %t144 = call ptr @fn_emit_bind(ptr @.str12481) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t145 - %t147 = call ptr @lp_str_concat(ptr @.str12185, ptr %t146) - %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str12186) + %t147 = call ptr @lp_str_concat(ptr @.str12482, ptr %t146) + %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str12483) %t149 = call ptr @fn_emit_bind(ptr %t148) store ptr %t149, ptr %t150 - call void @fn_emit(ptr @.str12187) + call void @fn_emit(ptr @.str12484) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) - call void @fn_emit(ptr @.str12188) - call void @fn_emit(ptr @.str12189) - call void @fn_emit(ptr @.str12190) + call void @fn_emit(ptr @.str12485) + call void @fn_emit(ptr @.str12486) + call void @fn_emit(ptr @.str12487) %t152 = load ptr, ptr @g_g_ondespawn %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t154 = load i32, ptr %t153 @@ -123421,29 +130428,29 @@ ifend44: %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then45, label %ifend47 then45: - call void @fn_emit(ptr @.str12191) + call void @fn_emit(ptr @.str12488) br label %ifend47 ifend47: - call void @fn_emit_calls_for_phase(ptr @.str12192) - %t158 = call ptr @fn_find_event(ptr @.str12193) + call void @fn_emit_calls_for_phase(ptr @.str12489) + %t158 = call ptr @fn_find_event(ptr @.str12490) %t159 = icmp ne ptr %t158, null %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then48, label %ifend50 then48: - call void @fn_emit(ptr @.str12194) + call void @fn_emit(ptr @.str12491) br label %ifend50 ifend50: - %t162 = call ptr @fn_find_fn(ptr @.str12195) + %t162 = call ptr @fn_find_fn(ptr @.str12492) %t163 = icmp ne ptr %t162, null %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then51, label %ifend53 then51: - call void @fn_emit(ptr @.str12196) + call void @fn_emit(ptr @.str12493) br label %ifend53 ifend53: - call void @fn_emit(ptr @.str12197) + call void @fn_emit(ptr @.str12494) br label %ret ret: ret void @@ -123573,8 +130580,8 @@ then12: %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 - %t53 = call ptr @lp_str_concat(ptr @.str12198, ptr %t52) - %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str12199) + %t53 = call ptr @lp_str_concat(ptr @.str12495, ptr %t52) + %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str12496) %t55 = load ptr, ptr %t18 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 %t57 = load ptr, ptr %t56 @@ -123616,7 +130623,7 @@ entry: %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_machine_var(ptr %t3) store ptr %t4, ptr %t5 - store ptr @.str12200, ptr %t6 + store ptr @.str12497, ptr %t6 %t7 = load ptr, ptr %t5 %t8 = icmp ne ptr %t7, null %t9 = zext i1 %t8 to i32 @@ -123628,7 +130635,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 @lp_str_concat(ptr @.str12201, ptr %t15) + %t16 = call ptr @lp_str_concat(ptr @.str12498, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t6 br label %ifend2 @@ -123641,8 +130648,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 @lp_str_concat(ptr @.str12202, ptr %t25) - %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12203) + %t26 = call ptr @lp_str_concat(ptr @.str12499, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12500) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t6 br label %ifend2 @@ -123666,7 +130673,7 @@ then3: br i1 %t42, label %ixok6, label %ixbad7 ixbad7: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12204, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12501, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok6: @@ -123708,7 +130715,7 @@ ifend5: %t66 = load i32, ptr @g_nmach %t67 = add i32 %t66, 1 store i32 %t67, ptr @g_nmach - %t68 = call ptr @fn_lbl(ptr @.str12205) + %t68 = call ptr @fn_lbl(ptr @.str12502) store ptr %t68, ptr %t69 store i32 0, ptr %t70 br label %wcond10 @@ -123736,7 +130743,7 @@ wbody11: br i1 %t88, label %ixok13, label %ixbad14 ixbad14: %t89 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str12206, i32 %t85, i32 %t87) + call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str12503, i32 %t85, i32 %t87) call void @exit(i32 1) unreachable ixok13: @@ -123748,29 +130755,29 @@ ixok13: %t95 = call ptr @fn_machine_state_value(ptr %t93, ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t6 - %t98 = call ptr @lp_str_concat(ptr @.str12207, ptr %t97) - %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str12208) + %t98 = call ptr @lp_str_concat(ptr @.str12504, ptr %t97) + %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str12505) %t100 = load ptr, ptr %t96 %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @fn_emit_bind(ptr %t101) store ptr %t102, ptr %t103 - %t104 = call ptr @fn_lbl(ptr @.str12209) + %t104 = call ptr @fn_lbl(ptr @.str12506) store ptr %t104, ptr %t105 - %t106 = call ptr @fn_lbl(ptr @.str12210) + %t106 = call ptr @fn_lbl(ptr @.str12507) store ptr %t106, ptr %t107 - call void @fn_emit(ptr @.str12211) + call void @fn_emit(ptr @.str12508) %t108 = load ptr, ptr %t103 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str12212) + call void @fn_emit(ptr @.str12509) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str12213) + call void @fn_emit(ptr @.str12510) %t110 = load ptr, ptr %t107 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str12214) + call void @fn_emit(ptr @.str12511) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12215) + call void @fn_emit(ptr @.str12512) store i32 0, ptr @g_g_term %t112 = load ptr, ptr %t92 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 @@ -123782,15 +130789,15 @@ ixok13: %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then15, label %ifend17 then15: - call void @fn_emit(ptr @.str12216) + call void @fn_emit(ptr @.str12513) %t119 = load ptr, ptr %t69 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12217) + call void @fn_emit(ptr @.str12514) br label %ifend17 ifend17: %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str12218) + call void @fn_emit(ptr @.str12515) store i32 0, ptr @g_g_term %t121 = load i32, ptr %t70 %t122 = add i32 %t121, 1 @@ -123803,15 +130810,15 @@ wend12: %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then18, label %ifend20 then18: - call void @fn_emit(ptr @.str12219) + call void @fn_emit(ptr @.str12516) %t127 = load ptr, ptr %t69 call void @fn_emit(ptr %t127) - call void @fn_emit(ptr @.str12220) + call void @fn_emit(ptr @.str12517) br label %ifend20 ifend20: %t128 = load ptr, ptr %t69 call void @fn_emit(ptr %t128) - call void @fn_emit(ptr @.str12221) + call void @fn_emit(ptr @.str12518) store i32 0, ptr @g_g_term %t129 = load i32, ptr @g_nmach %t130 = sub i32 %t129, 1 @@ -123849,7 +130856,7 @@ then0: br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12222, i32 %t9, i32 %t11) + call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12519, i32 %t9, i32 %t11) call void @exit(i32 1) unreachable ixok3: @@ -123883,7 +130890,7 @@ wbody6: br i1 %t36, label %ixok8, label %ixbad9 ixbad9: %t37 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str12223, i32 %t33, i32 %t35) + call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str12520, i32 %t33, i32 %t35) call void @exit(i32 1) unreachable ixok8: @@ -123910,7 +130917,7 @@ then10: br i1 %t55, label %ixok13, label %ixbad14 ixbad14: %t56 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str12224, i32 %t52, i32 %t54) + call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str12521, i32 %t52, i32 %t54) call void @exit(i32 1) unreachable ixok13: @@ -123945,17 +130952,17 @@ then15: %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then18, label %else19 then18: - call void @fn_emit(ptr @.str12225) + call void @fn_emit(ptr @.str12522) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) - call void @fn_emit(ptr @.str12226) + call void @fn_emit(ptr @.str12523) %t79 = load ptr, ptr %t16 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str12227) + call void @fn_emit(ptr @.str12524) br label %ifend20 else19: %t84 = load ptr, ptr %t16 @@ -123963,15 +130970,15 @@ else19: %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 - call void @fn_emit(ptr @.str12228) + call void @fn_emit(ptr @.str12525) %t89 = load ptr, ptr %t88 %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 @.str12229) + call void @fn_emit(ptr @.str12526) %t92 = load ptr, ptr %t73 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str12230) + call void @fn_emit(ptr @.str12527) br label %ifend20 ifend20: br label %ret @@ -123992,7 +130999,7 @@ then21: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 - %t105 = call ptr @lp_str_concat(ptr @.str12231, ptr %t104) + %t105 = call ptr @lp_str_concat(ptr @.str12528, ptr %t104) call void @fn_perr(ptr %t105) br label %ifend23 ifend23: @@ -124002,30 +131009,30 @@ ifend23: %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %else25 then24: - call void @fn_emit(ptr @.str12232) + call void @fn_emit(ptr @.str12529) %t110 = load ptr, ptr @g_g_cur_scene %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 @.str12233) + call void @fn_emit(ptr @.str12530) br label %ifend26 else25: - call void @fn_emit(ptr @.str12234) + call void @fn_emit(ptr @.str12531) br label %ifend26 ifend26: - call void @fn_emit(ptr @.str12235) + call void @fn_emit(ptr @.str12532) %t113 = load ptr, ptr %t97 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 2 %t115 = load i32, ptr %t114 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12236) - call void @fn_emit(ptr @.str12237) + call void @fn_emit(ptr @.str12533) + call void @fn_emit(ptr @.str12534) %t117 = load ptr, ptr %t97 %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 @.str12238) + call void @fn_emit(ptr @.str12535) br label %ret ret: ret void @@ -124044,51 +131051,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 @lp_str_eq(ptr %t3, ptr @.str12239) + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str12536) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load i32, ptr @g_g_iok %t7 = call ptr @fn_itoa(i32 %t6) - %t8 = call ptr @lp_str_concat(ptr @.str12240, ptr %t7) + %t8 = call ptr @lp_str_concat(ptr @.str12537, 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 @.str12241) + call void @fn_emit(ptr @.str12538) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) - call void @fn_emit(ptr @.str12242) + call void @fn_emit(ptr @.str12539) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) - call void @fn_emit(ptr @.str12243) + call void @fn_emit(ptr @.str12540) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) - call void @fn_emit(ptr @.str12244) + call void @fn_emit(ptr @.str12541) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) - call void @fn_emit(ptr @.str12245) + call void @fn_emit(ptr @.str12542) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12246) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12543) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) - %t21 = call ptr @lp_str_concat(ptr @.str12247, ptr %t20) + %t21 = call ptr @lp_str_concat(ptr @.str12544, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str12248) + call void @fn_emit(ptr @.str12545) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str12249) + call void @fn_emit(ptr @.str12546) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str12250) + call void @fn_emit(ptr @.str12547) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str12251) + call void @fn_emit(ptr @.str12548) %t26 = load ptr, ptr %t22 store ptr %t26, ptr @g_g_off %t27 = load i32, ptr @g_g_iok @@ -124098,58 +131105,58 @@ then3: ifend5: %t29 = load i32, ptr @g_g_iok %t30 = call ptr @fn_itoa(i32 %t29) - %t31 = call ptr @lp_str_concat(ptr @.str12252, ptr %t30) + %t31 = call ptr @lp_str_concat(ptr @.str12549, ptr %t30) store ptr %t31, ptr %t32 - call void @fn_emit(ptr @.str12253) + call void @fn_emit(ptr @.str12550) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) - call void @fn_emit(ptr @.str12254) + call void @fn_emit(ptr @.str12551) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) - call void @fn_emit(ptr @.str12255) + call void @fn_emit(ptr @.str12552) %t35 = load ptr, ptr @g_g_snap_mode - %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str12256) + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str12553) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: - call void @fn_emit(ptr @.str12257) + call void @fn_emit(ptr @.str12554) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) - call void @fn_emit(ptr @.str12258) + call void @fn_emit(ptr @.str12555) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) - call void @fn_emit(ptr @.str12259) + call void @fn_emit(ptr @.str12556) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str12260) + call void @fn_emit(ptr @.str12557) br label %ifend8 else7: - call void @fn_emit(ptr @.str12261) + call void @fn_emit(ptr @.str12558) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str12262) + call void @fn_emit(ptr @.str12559) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str12263) + call void @fn_emit(ptr @.str12560) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str12264) + call void @fn_emit(ptr @.str12561) br label %ifend8 ifend8: %t44 = load i32, ptr @g_g_iok %t45 = call ptr @fn_itoa(i32 %t44) - %t46 = call ptr @lp_str_concat(ptr @.str12265, ptr %t45) + %t46 = call ptr @lp_str_concat(ptr @.str12562, ptr %t45) store ptr %t46, ptr %t47 - call void @fn_emit(ptr @.str12266) + call void @fn_emit(ptr @.str12563) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) - call void @fn_emit(ptr @.str12267) + call void @fn_emit(ptr @.str12564) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) - call void @fn_emit(ptr @.str12268) + call void @fn_emit(ptr @.str12565) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) - call void @fn_emit(ptr @.str12269) + call void @fn_emit(ptr @.str12566) %t51 = load ptr, ptr %t47 store ptr %t51, ptr @g_g_off %t52 = load i32, ptr @g_g_iok @@ -124170,29 +131177,29 @@ entry: %t90 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok - store ptr @.str12270, ptr @g_g_off + store ptr @.str12567, 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 @.str12271, ptr @.str12272) + call void @fn_emit_io(ptr %t3, ptr @.str12568, ptr @.str12569) %t4 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t4, ptr @.str12273, ptr @.str12274) - call void @fn_emit(ptr @.str12275) + call void @fn_emit_io(ptr %t4, ptr @.str12570, ptr @.str12571) + call void @fn_emit(ptr @.str12572) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) - call void @fn_emit(ptr @.str12276) + call void @fn_emit(ptr @.str12573) %t6 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t6, ptr @.str12277, ptr @.str12278) + call void @fn_emit_io(ptr %t6, ptr @.str12574, ptr @.str12575) %t7 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t7, ptr @.str12279, ptr @.str12280) + call void @fn_emit_io(ptr %t7, ptr @.str12576, ptr @.str12577) %t8 = load ptr, ptr %t0 - call void @fn_emit_io(ptr %t8, ptr @.str12281, ptr @.str12282) + call void @fn_emit_io(ptr %t8, ptr @.str12578, ptr @.str12579) %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 @.str12283, ptr @.str12284) + call void @fn_emit_io(ptr %t11, ptr @.str12580, ptr @.str12581) br label %ifend2 ifend2: store i32 0, ptr %t12 @@ -124217,7 +131224,7 @@ wbody4: br i1 %t26, label %ixok6, label %ixbad7 ixbad7: %t27 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12285, i32 %t23, i32 %t25) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12582, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok6: @@ -124241,7 +131248,7 @@ then8: br i1 %t42, label %ixok11, label %ixbad12 ixbad12: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12287, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12584, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok11: @@ -124249,8 +131256,8 @@ ixok11: %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 - %t48 = call ptr @lp_str_concat(ptr @.str12286, ptr %t47) - call void @fn_emit_io(ptr %t35, ptr %t48, ptr @.str12288) + %t48 = call ptr @lp_str_concat(ptr @.str12583, ptr %t47) + call void @fn_emit_io(ptr %t35, ptr %t48, ptr @.str12585) br label %ifend10 ifend10: %t49 = load i32, ptr %t12 @@ -124281,7 +131288,7 @@ wbody14: br i1 %t65, label %ixok16, label %ixbad17 ixbad17: %t66 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12289, i32 %t62, i32 %t64) + call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12586, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok16: @@ -124304,7 +131311,7 @@ then18: br i1 %t80, label %ixok21, label %ixbad22 ixbad22: %t81 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12290, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12587, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok21: @@ -124315,26 +131322,26 @@ ixok21: store ptr %t85, ptr %t86 %t87 = load i32, ptr %t51 %t88 = call ptr @fn_itoa(i32 %t87) - %t89 = call ptr @lp_str_concat(ptr @.str12291, ptr %t88) + %t89 = call ptr @lp_str_concat(ptr @.str12588, ptr %t88) store ptr %t89, ptr %t90 - call void @fn_emit(ptr @.str12292) + call void @fn_emit(ptr @.str12589) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) - call void @fn_emit(ptr @.str12293) + call void @fn_emit(ptr @.str12590) %t92 = load ptr, ptr %t86 call void @fn_emit(ptr %t92) - call void @fn_emit(ptr @.str12294) + call void @fn_emit(ptr @.str12591) %t93 = load ptr, ptr %t2 call void @fn_emit(ptr %t93) - call void @fn_emit(ptr @.str12295) + call void @fn_emit(ptr @.str12592) %t94 = load ptr, ptr %t0 %t95 = load ptr, ptr %t86 - %t96 = call ptr @lp_str_concat(ptr @.str12296, ptr %t95) + %t96 = call ptr @lp_str_concat(ptr @.str12593, ptr %t95) %t97 = load ptr, ptr %t90 call void @fn_emit_io(ptr %t94, ptr %t96, ptr %t97) %t98 = load ptr, ptr %t0 %t99 = load ptr, ptr %t86 - %t100 = call ptr @lp_str_concat(ptr @.str12297, ptr %t99) + %t100 = call ptr @lp_str_concat(ptr @.str12594, ptr %t99) %t101 = load ptr, ptr %t2 call void @fn_emit_io(ptr %t98, ptr %t100, ptr %t101) %t102 = load i32, ptr %t51 @@ -124358,85 +131365,85 @@ entry: %t7 = alloca i32 %t15 = alloca ptr %t22 = alloca ptr - store ptr @.str12298, ptr @g_g_snap_mode - call void @fn_emith(ptr @.str12299) - call void @fn_emith(ptr @.str12300) - call void @fn_emith(ptr @.str12301) - %t0 = call ptr @fn_find_fn(ptr @.str12302) + store ptr @.str12595, ptr @g_g_snap_mode + call void @fn_emith(ptr @.str12596) + call void @fn_emith(ptr @.str12597) + call void @fn_emith(ptr @.str12598) + %t0 = call ptr @fn_find_fn(ptr @.str12599) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 - %t4 = call ptr @fn_find_fn(ptr @.str12303) + %t4 = call ptr @fn_find_fn(ptr @.str12600) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 - call void @fn_emit(ptr @.str12304) - call void @fn_emit(ptr @.str12305) - call void @fn_emit(ptr @.str12306) - call void @fn_emit(ptr @.str12307) - call void @fn_emit_snapshot_blocks(ptr @.str12308) + call void @fn_emit(ptr @.str12601) + call void @fn_emit(ptr @.str12602) + call void @fn_emit(ptr @.str12603) + call void @fn_emit(ptr @.str12604) + call void @fn_emit_snapshot_blocks(ptr @.str12605) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str12309) + call void @fn_emit(ptr @.str12606) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12310) - call void @fn_emit(ptr @.str12311) - call void @fn_emit(ptr @.str12312) - call void @fn_emit(ptr @.str12313) - call void @fn_emit(ptr @.str12314) - call void @fn_emit_snapshot_blocks(ptr @.str12315) + call void @fn_emit(ptr @.str12607) + call void @fn_emit(ptr @.str12608) + call void @fn_emit(ptr @.str12609) + call void @fn_emit(ptr @.str12610) + call void @fn_emit(ptr @.str12611) + call void @fn_emit_snapshot_blocks(ptr @.str12612) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12316) + call void @fn_emit(ptr @.str12613) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str12317) - call void @fn_emit(ptr @.str12318) - store ptr @.str12319, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str12320) + call void @fn_emit(ptr @.str12614) + call void @fn_emit(ptr @.str12615) + store ptr @.str12616, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str12617) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) - %t14 = call ptr @lp_str_concat(ptr @.str12321, ptr %t13) + %t14 = call ptr @lp_str_concat(ptr @.str12618, ptr %t13) store ptr %t14, ptr %t15 - call void @fn_emit(ptr @.str12322) + call void @fn_emit(ptr @.str12619) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) - call void @fn_emit(ptr @.str12323) + call void @fn_emit(ptr @.str12620) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str12324) - call void @fn_emit(ptr @.str12325) + call void @fn_emit(ptr @.str12621) + call void @fn_emit(ptr @.str12622) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) - call void @fn_emit(ptr @.str12326) - call void @fn_emit(ptr @.str12327) - store ptr @.str12328, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str12329) - call void @fn_emit(ptr @.str12330) - call void @fn_emit(ptr @.str12331) - store ptr @.str12332, ptr @g_g_snap_mode - call void @fn_emit_snapshot_blocks(ptr @.str12333) + call void @fn_emit(ptr @.str12623) + call void @fn_emit(ptr @.str12624) + store ptr @.str12625, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str12626) + call void @fn_emit(ptr @.str12627) + call void @fn_emit(ptr @.str12628) + store ptr @.str12629, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str12630) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) - %t21 = call ptr @lp_str_concat(ptr @.str12334, ptr %t20) + %t21 = call ptr @lp_str_concat(ptr @.str12631, ptr %t20) store ptr %t21, ptr %t22 - call void @fn_emit(ptr @.str12335) + call void @fn_emit(ptr @.str12632) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) - call void @fn_emit(ptr @.str12336) + call void @fn_emit(ptr @.str12633) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) - call void @fn_emit(ptr @.str12337) - call void @fn_emit(ptr @.str12338) + call void @fn_emit(ptr @.str12634) + call void @fn_emit(ptr @.str12635) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) - call void @fn_emit(ptr @.str12339) - store ptr @.str12340, ptr @g_g_snap_mode + call void @fn_emit(ptr @.str12636) + store ptr @.str12637, ptr @g_g_snap_mode br label %ret ret: ret void @@ -124449,7 +131456,7 @@ entry: store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_llty(ptr %t1) - %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12341) + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12638) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: @@ -124470,14 +131477,14 @@ entry: store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_llty(ptr %t1) - %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12342) + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12639) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: - store ptr @.str12343, ptr %retval + store ptr @.str12640, ptr %retval br label %ret ifend2: - store ptr @.str12344, ptr %retval + store ptr @.str12641, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval @@ -124520,7 +131527,7 @@ wbody1: br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str12345, i32 %t17, i32 %t19) + call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str12642, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: @@ -124545,7 +131552,7 @@ then5: br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str12346, i32 %t34, i32 %t36) + call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str12643, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: @@ -124587,7 +131594,7 @@ wbody14: br i1 %t67, label %ixok16, label %ixbad17 ixbad17: %t68 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12347, i32 %t64, i32 %t66) + call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12644, i32 %t64, i32 %t66) call void @exit(i32 1) unreachable ixok16: @@ -124612,7 +131619,7 @@ then18: br i1 %t84, label %ixok21, label %ixbad22 ixbad22: %t85 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12348, i32 %t81, i32 %t83) + call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12645, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok21: @@ -124690,7 +131697,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12349, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12646, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -124713,7 +131720,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12350, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12647, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -124767,7 +131774,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12351, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12648, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -124792,7 +131799,7 @@ sc5: br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12352, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12649, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: @@ -124853,7 +131860,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12353, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12650, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -124878,7 +131885,7 @@ sc5: br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12354, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12651, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: @@ -124958,7 +131965,7 @@ entry: store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 - %t5 = call i64 @fwrite(ptr @.str12355, i64 1, i64 %t4, ptr %t3) + %t5 = call i64 @fwrite(ptr @.str12652, i64 1, i64 %t4, ptr %t3) %t6 = trunc i64 %t5 to i32 %t7 = load ptr, ptr %t2 %t8 = load ptr, ptr %t0 @@ -124970,7 +131977,7 @@ entry: %t14 = trunc i64 %t13 to i32 %t15 = load ptr, ptr %t2 %t16 = zext i32 1 to i64 - %t17 = call i64 @fwrite(ptr @.str12356, i64 1, i64 %t16, ptr %t15) + %t17 = call i64 @fwrite(ptr @.str12653, i64 1, i64 %t16, ptr %t15) %t18 = trunc i64 %t17 to i32 br label %ret ret: @@ -125008,7 +132015,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12357, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12654, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -125031,7 +132038,7 @@ then5: br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12358, i32 %t26, i32 %t28) + call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12655, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: @@ -125064,7 +132071,7 @@ wbody11: br i1 %t52, label %ixok13, label %ixbad14 ixbad14: %t53 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str12359, i32 %t49, i32 %t51) + call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str12656, i32 %t49, i32 %t51) call void @exit(i32 1) unreachable ixok13: @@ -125089,7 +132096,7 @@ then15: br i1 %t69, label %ixok18, label %ixbad19 ixbad19: %t70 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12360, i32 %t66, i32 %t68) + call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12657, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok18: @@ -125134,7 +132141,7 @@ wbody24: br i1 %t102, label %ixok26, label %ixbad27 ixbad27: %t103 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12361, i32 %t99, i32 %t101) + call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12658, i32 %t99, i32 %t101) call void @exit(i32 1) unreachable ixok26: @@ -125160,7 +132167,7 @@ then28: br i1 %t119, label %ixok31, label %ixbad32 ixbad32: %t120 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str12362, i32 %t116, i32 %t118) + call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str12659, i32 %t116, i32 %t118) call void @exit(i32 1) unreachable ixok31: @@ -125169,13 +132176,13 @@ ixok31: %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_llty(ptr %t124) - %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str12363) + %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str12660) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then33, label %ifend35 then33: %t128 = load ptr, ptr %t75 - %t129 = call ptr @lp_str_concat(ptr @.str12364, ptr %t128) - %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12365) + %t129 = call ptr @lp_str_concat(ptr @.str12661, ptr %t128) + %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12662) %t131 = load ptr, ptr %t78 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 @@ -125188,7 +132195,7 @@ then33: br i1 %t139, label %ixok36, label %ixbad37 ixbad37: %t140 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str12366, i32 %t136, i32 %t138) + call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str12663, i32 %t136, i32 %t138) call void @exit(i32 1) unreachable ixok36: @@ -125197,7 +132204,7 @@ ixok36: %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call ptr @lp_str_concat(ptr %t130, ptr %t144) - %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12367) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12664) call void @fn_perr(ptr %t146) br label %ifend35 ifend35: @@ -125217,11 +132224,11 @@ then38: %t153 = load ptr, ptr %t33 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 - %t156 = call ptr @lp_str_concat(ptr @.str12368, ptr %t155) - %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str12369) + %t156 = call ptr @lp_str_concat(ptr @.str12665, ptr %t155) + %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str12666) %t158 = load ptr, ptr %t75 %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) - %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str12370) + %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str12667) call void @fn_net_warn(ptr %t160) br label %ifend40 ifend40: @@ -125263,12 +132270,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 @.str12371) + call void @fn_emit(ptr @.str12668) %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 @.str12372) + call void @fn_emit(ptr @.str12669) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -125296,7 +132303,7 @@ wbody1: br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12373, i32 %t22, i32 %t24) + call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12670, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: @@ -125321,7 +132328,7 @@ then5: br i1 %t42, label %ixok8, label %ixbad9 ixbad9: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12374, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12671, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok8: @@ -125341,19 +132348,19 @@ ixok8: then10: %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 - call void @fn_emit(ptr @.str12375) + call void @fn_emit(ptr @.str12672) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str12376) + call void @fn_emit(ptr @.str12673) %t59 = load ptr, ptr %t2 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str12377) + call void @fn_emit(ptr @.str12674) %t60 = load ptr, ptr %t48 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12378) + call void @fn_emit(ptr @.str12675) %t61 = load ptr, ptr %t48 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str12379) + call void @fn_emit(ptr @.str12676) store i32 0, ptr %t62 br label %wcond13 wcond13: @@ -125380,7 +132387,7 @@ wbody14: br i1 %t80, label %ixok16, label %ixbad17 ixbad17: %t81 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12380, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12677, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok16: @@ -125405,7 +132412,7 @@ then18: br i1 %t97, label %ixok21, label %ixbad22 ixbad22: %t98 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12381, i32 %t94, i32 %t96) + call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12678, i32 %t94, i32 %t96) call void @exit(i32 1) unreachable ixok21: @@ -125417,40 +132424,40 @@ ixok21: store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 - call void @fn_emit(ptr @.str12382) + call void @fn_emit(ptr @.str12679) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str12383) + call void @fn_emit(ptr @.str12680) %t108 = load ptr, ptr %t48 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str12384) + call void @fn_emit(ptr @.str12681) %t109 = load ptr, ptr %t57 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str12385) + call void @fn_emit(ptr @.str12682) %t110 = load i32, ptr %t62 %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12386) + call void @fn_emit(ptr @.str12683) %t112 = call ptr @fn_nreg() store ptr %t112, ptr %t113 - call void @fn_emit(ptr @.str12387) + call void @fn_emit(ptr @.str12684) %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str12388) + call void @fn_emit(ptr @.str12685) %t115 = load i32, ptr %t6 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12389) - call void @fn_emit(ptr @.str12390) + call void @fn_emit(ptr @.str12686) + call void @fn_emit(ptr @.str12687) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str12391) + call void @fn_emit(ptr @.str12688) %t118 = load ptr, ptr %t106 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str12392) + call void @fn_emit(ptr @.str12689) %t119 = load ptr, ptr %t104 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12393) + call void @fn_emit(ptr @.str12690) %t120 = load ptr, ptr %t51 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 @@ -125463,7 +132470,7 @@ ixok21: br i1 %t128, label %ixok23, label %ixbad24 ixbad24: %t129 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12394, i32 %t125, i32 %t127) + call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12691, i32 %t125, i32 %t127) call void @exit(i32 1) unreachable ixok23: @@ -125491,11 +132498,11 @@ ifend7: store i32 %t140, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str12395) + call void @fn_emit(ptr @.str12692) %t141 = load i32, ptr %t6 %t142 = call ptr @fn_itoa(i32 %t141) call void @fn_emit(ptr %t142) - call void @fn_emit(ptr @.str12396) + call void @fn_emit(ptr @.str12693) br label %ret ret: ret void @@ -125518,12 +132525,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 @.str12397) + call void @fn_emit(ptr @.str12694) %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 @.str12398) + call void @fn_emit(ptr @.str12695) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 @@ -125551,7 +132558,7 @@ wbody1: br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12399, i32 %t22, i32 %t24) + call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12696, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: @@ -125576,7 +132583,7 @@ then5: br i1 %t42, label %ixok8, label %ixbad9 ixbad9: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12400, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12697, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok8: @@ -125596,19 +132603,19 @@ ixok8: then10: %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 - call void @fn_emit(ptr @.str12401) + call void @fn_emit(ptr @.str12698) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str12402) + call void @fn_emit(ptr @.str12699) %t59 = load ptr, ptr %t2 call void @fn_emit(ptr %t59) - call void @fn_emit(ptr @.str12403) + call void @fn_emit(ptr @.str12700) %t60 = load ptr, ptr %t48 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12404) + call void @fn_emit(ptr @.str12701) %t61 = load ptr, ptr %t48 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str12405) + call void @fn_emit(ptr @.str12702) store i32 0, ptr %t62 br label %wcond13 wcond13: @@ -125635,7 +132642,7 @@ wbody14: br i1 %t80, label %ixok16, label %ixbad17 ixbad17: %t81 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12406, i32 %t77, i32 %t79) + call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12703, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok16: @@ -125660,7 +132667,7 @@ then18: br i1 %t97, label %ixok21, label %ixbad22 ixbad22: %t98 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12407, i32 %t94, i32 %t96) + call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12704, i32 %t94, i32 %t96) call void @exit(i32 1) unreachable ixok21: @@ -125672,40 +132679,40 @@ ixok21: store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 - call void @fn_emit(ptr @.str12408) + call void @fn_emit(ptr @.str12705) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) - call void @fn_emit(ptr @.str12409) + call void @fn_emit(ptr @.str12706) %t108 = load ptr, ptr %t48 call void @fn_emit(ptr %t108) - call void @fn_emit(ptr @.str12410) + call void @fn_emit(ptr @.str12707) %t109 = load ptr, ptr %t57 call void @fn_emit(ptr %t109) - call void @fn_emit(ptr @.str12411) + call void @fn_emit(ptr @.str12708) %t110 = load i32, ptr %t62 %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12412) + call void @fn_emit(ptr @.str12709) %t112 = call ptr @fn_nreg() store ptr %t112, ptr %t113 - call void @fn_emit(ptr @.str12413) + call void @fn_emit(ptr @.str12710) %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) - call void @fn_emit(ptr @.str12414) + call void @fn_emit(ptr @.str12711) %t115 = load i32, ptr %t6 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12415) - call void @fn_emit(ptr @.str12416) + call void @fn_emit(ptr @.str12712) + call void @fn_emit(ptr @.str12713) %t117 = load ptr, ptr %t106 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str12417) + call void @fn_emit(ptr @.str12714) %t118 = load ptr, ptr %t113 call void @fn_emit(ptr %t118) - call void @fn_emit(ptr @.str12418) + call void @fn_emit(ptr @.str12715) %t119 = load ptr, ptr %t104 call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12419) + call void @fn_emit(ptr @.str12716) %t120 = load ptr, ptr %t51 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 @@ -125718,7 +132725,7 @@ ixok21: br i1 %t128, label %ixok23, label %ixbad24 ixbad24: %t129 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12420, i32 %t125, i32 %t127) + call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12717, i32 %t125, i32 %t127) call void @exit(i32 1) unreachable ixok23: @@ -125746,7 +132753,7 @@ ifend7: store i32 %t140, ptr %t7 br label %wcond0 wend2: - call void @fn_emit(ptr @.str12421) + call void @fn_emit(ptr @.str12718) br label %ret ret: ret void @@ -125768,11 +132775,11 @@ entry: %t201 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str12422) - call void @fn_emit(ptr @.str12423) + call void @fn_emit(ptr @.str12719) + call void @fn_emit(ptr @.str12720) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str12424) + call void @fn_emit(ptr @.str12721) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 @@ -125796,7 +132803,7 @@ wbody1: br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12425, i32 %t16, i32 %t18) + call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12722, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: @@ -125821,7 +132828,7 @@ sc5: br i1 %t35, label %ixok7, label %ixbad8 ixbad8: %t36 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str12426, i32 %t32, i32 %t34) + call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str12723, i32 %t32, i32 %t34) call void @exit(i32 1) unreachable ixok7: @@ -125847,7 +132854,7 @@ then9: br i1 %t50, label %ixok12, label %ixbad13 ixbad13: %t51 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12427, i32 %t47, i32 %t49) + call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12724, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok12: @@ -125859,42 +132866,42 @@ ixok12: %t57 = load i32, ptr %t3 %t58 = call ptr @fn_itoa(i32 %t57) store ptr %t58, ptr %t59 - call void @fn_emit(ptr @.str12428) + call void @fn_emit(ptr @.str12725) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12429) + call void @fn_emit(ptr @.str12726) %t61 = load ptr, ptr %t56 %t62 = call i32 @fn_find_arch_id(ptr %t61) %t63 = call ptr @fn_itoa(i32 %t62) call void @fn_emit(ptr %t63) - call void @fn_emit(ptr @.str12430) - call void @fn_emit(ptr @.str12431) + call void @fn_emit(ptr @.str12727) + call void @fn_emit(ptr @.str12728) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str12432) + call void @fn_emit(ptr @.str12729) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) - call void @fn_emit(ptr @.str12433) + call void @fn_emit(ptr @.str12730) %t66 = load ptr, ptr %t59 call void @fn_emit(ptr %t66) - call void @fn_emit(ptr @.str12434) - call void @fn_emit(ptr @.str12435) + call void @fn_emit(ptr @.str12731) + call void @fn_emit(ptr @.str12732) %t67 = load ptr, ptr %t59 call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str12436) + call void @fn_emit(ptr @.str12733) %t68 = load ptr, ptr %t59 call void @fn_emit(ptr %t68) - call void @fn_emit(ptr @.str12437) + call void @fn_emit(ptr @.str12734) %t69 = load ptr, ptr %t56 call void @fn_emit(ptr %t69) - call void @fn_emit(ptr @.str12438) + call void @fn_emit(ptr @.str12735) %t70 = load ptr, ptr %t59 call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str12439) - call void @fn_emit(ptr @.str12440) + call void @fn_emit(ptr @.str12736) + call void @fn_emit(ptr @.str12737) %t71 = load ptr, ptr %t59 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str12441) + call void @fn_emit(ptr @.str12738) %t72 = load i32, ptr %t3 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t3 @@ -125905,12 +132912,12 @@ ifend11: store i32 %t75, ptr %t4 br label %wcond0 wend2: - call void @fn_emit(ptr @.str12442) - call void @fn_emit(ptr @.str12443) - call void @fn_emit(ptr @.str12444) + call void @fn_emit(ptr @.str12739) + call void @fn_emit(ptr @.str12740) + call void @fn_emit(ptr @.str12741) %t76 = load ptr, ptr %t1 call void @fn_emit(ptr %t76) - call void @fn_emit(ptr @.str12445) + call void @fn_emit(ptr @.str12742) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond14 @@ -125934,7 +132941,7 @@ wbody15: br i1 %t91, label %ixok17, label %ixbad18 ixbad18: %t92 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str12446, i32 %t88, i32 %t90) + call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str12743, i32 %t88, i32 %t90) call void @exit(i32 1) unreachable ixok17: @@ -125959,7 +132966,7 @@ sc19: br i1 %t107, label %ixok21, label %ixbad22 ixbad22: %t108 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str12447, i32 %t104, i32 %t106) + call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str12744, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok21: @@ -125985,7 +132992,7 @@ then23: br i1 %t122, label %ixok26, label %ixbad27 ixbad27: %t123 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str12448, i32 %t119, i32 %t121) + call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str12745, i32 %t119, i32 %t121) call void @exit(i32 1) unreachable ixok26: @@ -125997,36 +133004,36 @@ ixok26: %t129 = load i32, ptr %t3 %t130 = call ptr @fn_itoa(i32 %t129) store ptr %t130, ptr %t131 - call void @fn_emit(ptr @.str12449) + call void @fn_emit(ptr @.str12746) %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) - call void @fn_emit(ptr @.str12450) + call void @fn_emit(ptr @.str12747) %t133 = load ptr, ptr %t128 %t134 = call i32 @fn_find_arch_id(ptr %t133) %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) - call void @fn_emit(ptr @.str12451) - call void @fn_emit(ptr @.str12452) + call void @fn_emit(ptr @.str12748) + call void @fn_emit(ptr @.str12749) %t136 = load ptr, ptr %t131 call void @fn_emit(ptr %t136) - call void @fn_emit(ptr @.str12453) + call void @fn_emit(ptr @.str12750) %t137 = load ptr, ptr %t131 call void @fn_emit(ptr %t137) - call void @fn_emit(ptr @.str12454) + call void @fn_emit(ptr @.str12751) %t138 = load ptr, ptr %t131 call void @fn_emit(ptr %t138) - call void @fn_emit(ptr @.str12455) - call void @fn_emit(ptr @.str12456) + call void @fn_emit(ptr @.str12752) + call void @fn_emit(ptr @.str12753) %t139 = load ptr, ptr %t131 call void @fn_emit(ptr %t139) - call void @fn_emit(ptr @.str12457) + call void @fn_emit(ptr @.str12754) %t140 = load ptr, ptr %t128 call void @fn_emit(ptr %t140) - call void @fn_emit(ptr @.str12458) - call void @fn_emit(ptr @.str12459) + call void @fn_emit(ptr @.str12755) + call void @fn_emit(ptr @.str12756) %t141 = load ptr, ptr %t131 call void @fn_emit(ptr %t141) - call void @fn_emit(ptr @.str12460) + call void @fn_emit(ptr @.str12757) %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 @@ -126037,12 +133044,12 @@ ifend25: store i32 %t145, ptr %t4 br label %wcond14 wend16: - call void @fn_emit(ptr @.str12461) - call void @fn_emit(ptr @.str12462) - call void @fn_emit(ptr @.str12463) + call void @fn_emit(ptr @.str12758) + call void @fn_emit(ptr @.str12759) + call void @fn_emit(ptr @.str12760) %t146 = load ptr, ptr %t1 call void @fn_emit(ptr %t146) - call void @fn_emit(ptr @.str12464) + call void @fn_emit(ptr @.str12761) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond28 @@ -126066,7 +133073,7 @@ wbody29: br i1 %t161, label %ixok31, label %ixbad32 ixbad32: %t162 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str12465, i32 %t158, i32 %t160) + call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str12762, i32 %t158, i32 %t160) call void @exit(i32 1) unreachable ixok31: @@ -126091,7 +133098,7 @@ sc33: br i1 %t177, label %ixok35, label %ixbad36 ixbad36: %t178 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str12466, i32 %t174, i32 %t176) + call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str12763, i32 %t174, i32 %t176) call void @exit(i32 1) unreachable ixok35: @@ -126117,7 +133124,7 @@ then37: br i1 %t192, label %ixok40, label %ixbad41 ixbad41: %t193 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str12467, i32 %t189, i32 %t191) + call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str12764, i32 %t189, i32 %t191) call void @exit(i32 1) unreachable ixok40: @@ -126129,29 +133136,29 @@ ixok40: %t199 = load i32, ptr %t3 %t200 = call ptr @fn_itoa(i32 %t199) store ptr %t200, ptr %t201 - call void @fn_emit(ptr @.str12468) + call void @fn_emit(ptr @.str12765) %t202 = load ptr, ptr %t201 call void @fn_emit(ptr %t202) - call void @fn_emit(ptr @.str12469) + call void @fn_emit(ptr @.str12766) %t203 = load ptr, ptr %t198 %t204 = call i32 @fn_find_arch_id(ptr %t203) %t205 = call ptr @fn_itoa(i32 %t204) call void @fn_emit(ptr %t205) - call void @fn_emit(ptr @.str12470) - call void @fn_emit(ptr @.str12471) + call void @fn_emit(ptr @.str12767) + call void @fn_emit(ptr @.str12768) %t206 = load ptr, ptr %t201 call void @fn_emit(ptr %t206) - call void @fn_emit(ptr @.str12472) + call void @fn_emit(ptr @.str12769) %t207 = load ptr, ptr %t201 call void @fn_emit(ptr %t207) - call void @fn_emit(ptr @.str12473) + call void @fn_emit(ptr @.str12770) %t208 = load ptr, ptr %t201 call void @fn_emit(ptr %t208) - call void @fn_emit(ptr @.str12474) - call void @fn_emit(ptr @.str12475) + call void @fn_emit(ptr @.str12771) + call void @fn_emit(ptr @.str12772) %t209 = load ptr, ptr %t201 call void @fn_emit(ptr %t209) - call void @fn_emit(ptr @.str12476) + call void @fn_emit(ptr @.str12773) %t210 = load ptr, ptr @g_prog %t211 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t212 = load ptr, ptr %t211 @@ -126162,7 +133169,7 @@ ixok40: br i1 %t216, label %ixok42, label %ixbad43 ixbad43: %t217 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str12477, i32 %t213, i32 %t215) + call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str12774, i32 %t213, i32 %t215) call void @exit(i32 1) unreachable ixok42: @@ -126171,11 +133178,11 @@ ixok42: %t220 = call i32 @fn_net_model_bytes(ptr %t219) %t221 = call ptr @fn_itoa(i32 %t220) call void @fn_emit(ptr %t221) - call void @fn_emit(ptr @.str12478) - call void @fn_emit(ptr @.str12479) + call void @fn_emit(ptr @.str12775) + call void @fn_emit(ptr @.str12776) %t222 = load ptr, ptr %t201 call void @fn_emit(ptr %t222) - call void @fn_emit(ptr @.str12480) + call void @fn_emit(ptr @.str12777) %t223 = load i32, ptr %t3 %t224 = add i32 %t223, 1 store i32 %t224, ptr %t3 @@ -126186,7 +133193,7 @@ ifend39: store i32 %t226, ptr %t4 br label %wcond28 wend30: - call void @fn_emit(ptr @.str12481) + call void @fn_emit(ptr @.str12778) br label %ret ret: ret void @@ -126197,22 +133204,22 @@ entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 - call void @fn_emit(ptr @.str12482) - call void @fn_emit(ptr @.str12483) + call void @fn_emit(ptr @.str12779) + call void @fn_emit(ptr @.str12780) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) - call void @fn_emit(ptr @.str12484) - call void @fn_emit(ptr @.str12485) - call void @fn_emit(ptr @.str12486) + call void @fn_emit(ptr @.str12781) + call void @fn_emit(ptr @.str12782) + call void @fn_emit(ptr @.str12783) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) - call void @fn_emit(ptr @.str12487) - call void @fn_emit(ptr @.str12488) - call void @fn_emit(ptr @.str12489) + call void @fn_emit(ptr @.str12784) + call void @fn_emit(ptr @.str12785) + call void @fn_emit(ptr @.str12786) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str12490) - call void @fn_emit(ptr @.str12491) + call void @fn_emit(ptr @.str12787) + call void @fn_emit(ptr @.str12788) br label %ret ret: ret void @@ -126220,32 +133227,32 @@ ret: define void @fn_emit_loopback() { entry: - call void @fn_emith(ptr @.str12492) - call void @fn_emith(ptr @.str12493) - call void @fn_emith(ptr @.str12494) - call void @fn_emith(ptr @.str12495) - call void @fn_emit(ptr @.str12496) - call void @fn_emit(ptr @.str12497) - call void @fn_emit(ptr @.str12498) - call void @fn_emit(ptr @.str12499) - call void @fn_emit(ptr @.str12500) - call void @fn_emit(ptr @.str12501) - call void @fn_emit(ptr @.str12502) - call void @fn_emit(ptr @.str12503) - call void @fn_emit(ptr @.str12504) - call void @fn_emit(ptr @.str12505) - call void @fn_emit(ptr @.str12506) - call void @fn_emit(ptr @.str12507) - call void @fn_emit(ptr @.str12508) - call void @fn_emit(ptr @.str12509) - call void @fn_emit(ptr @.str12510) - call void @fn_emit(ptr @.str12511) - call void @fn_emit(ptr @.str12512) - call void @fn_emit(ptr @.str12513) - call void @fn_emit(ptr @.str12514) - call void @fn_emit(ptr @.str12515) - call void @fn_emit(ptr @.str12516) - call void @fn_emit(ptr @.str12517) + call void @fn_emith(ptr @.str12789) + call void @fn_emith(ptr @.str12790) + call void @fn_emith(ptr @.str12791) + call void @fn_emith(ptr @.str12792) + call void @fn_emit(ptr @.str12793) + call void @fn_emit(ptr @.str12794) + call void @fn_emit(ptr @.str12795) + call void @fn_emit(ptr @.str12796) + call void @fn_emit(ptr @.str12797) + call void @fn_emit(ptr @.str12798) + call void @fn_emit(ptr @.str12799) + call void @fn_emit(ptr @.str12800) + call void @fn_emit(ptr @.str12801) + call void @fn_emit(ptr @.str12802) + call void @fn_emit(ptr @.str12803) + call void @fn_emit(ptr @.str12804) + call void @fn_emit(ptr @.str12805) + call void @fn_emit(ptr @.str12806) + call void @fn_emit(ptr @.str12807) + call void @fn_emit(ptr @.str12808) + call void @fn_emit(ptr @.str12809) + call void @fn_emit(ptr @.str12810) + call void @fn_emit(ptr @.str12811) + call void @fn_emit(ptr @.str12812) + call void @fn_emit(ptr @.str12813) + call void @fn_emit(ptr @.str12814) br label %ret ret: ret void @@ -126277,7 +133284,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12518, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12815, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -126333,7 +133340,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12519, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12816, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -126367,7 +133374,7 @@ define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str12520) + %t0 = call ptr @fn_find_extern(ptr @.str12817) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -126383,7 +133390,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str12521, ptr %retval + store ptr @.str12818, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -126394,7 +133401,7 @@ define ptr @fn_net_poll_sym() { entry: %retval = alloca ptr %t1 = alloca ptr - %t0 = call ptr @fn_find_extern(ptr @.str12522) + %t0 = call ptr @fn_find_extern(ptr @.str12819) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -126410,7 +133417,7 @@ then0: store ptr %t10, ptr %retval br label %ret ifend2: - store ptr @.str12523, ptr %retval + store ptr @.str12820, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval @@ -126428,8 +133435,8 @@ entry: %t48 = alloca ptr %t73 = alloca ptr %t79 = alloca ptr - call void @fn_emith(ptr @.str12524) - %t0 = call ptr @fn_find_extern(ptr @.str12525) + call void @fn_emith(ptr @.str12821) + %t0 = call ptr @fn_find_extern(ptr @.str12822) %t1 = icmp eq ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 @@ -126440,13 +133447,13 @@ then0: ifend2: %t4 = call ptr @fn_net_poll_sym() store ptr %t4, ptr %t5 - call void @fn_emit(ptr @.str12526) - call void @fn_emit(ptr @.str12527) + call void @fn_emit(ptr @.str12823) + call void @fn_emit(ptr @.str12824) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str12528) - call void @fn_emit(ptr @.str12529) - call void @fn_emit(ptr @.str12530) + call void @fn_emit(ptr @.str12825) + call void @fn_emit(ptr @.str12826) + call void @fn_emit(ptr @.str12827) store i32 0, ptr %t7 br label %wcond3 wcond3: @@ -126469,7 +133476,7 @@ wbody4: br i1 %t21, label %ixok6, label %ixbad7 ixbad7: %t22 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str12531, i32 %t18, i32 %t20) + call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str12828, i32 %t18, i32 %t20) call void @exit(i32 1) unreachable ixok6: @@ -126487,31 +133494,31 @@ then8: %t32 = load i32, ptr %t7 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 - call void @fn_emit(ptr @.str12532) + call void @fn_emit(ptr @.str12829) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) - call void @fn_emit(ptr @.str12533) + call void @fn_emit(ptr @.str12830) %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_net_event_id(ptr %t38) %t40 = call ptr @fn_itoa(i32 %t39) call void @fn_emit(ptr %t40) - call void @fn_emit(ptr @.str12534) - call void @fn_emit(ptr @.str12535) + call void @fn_emit(ptr @.str12831) + call void @fn_emit(ptr @.str12832) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) - call void @fn_emit(ptr @.str12536) + call void @fn_emit(ptr @.str12833) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) - call void @fn_emit(ptr @.str12537) + call void @fn_emit(ptr @.str12834) %t43 = load ptr, ptr %t34 call void @fn_emit(ptr %t43) - call void @fn_emit(ptr @.str12538) - call void @fn_emit(ptr @.str12539) + call void @fn_emit(ptr @.str12835) + call void @fn_emit(ptr @.str12836) %t44 = load ptr, ptr %t34 call void @fn_emit(ptr %t44) - call void @fn_emit(ptr @.str12540) + call void @fn_emit(ptr @.str12837) store i32 4, ptr %t45 store i32 0, ptr %t46 %t47 = call ptr @fn_buf_new() @@ -126541,7 +133548,7 @@ wbody12: br i1 %t66, label %ixok14, label %ixbad15 ixbad15: %t67 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12541, i32 %t63, i32 %t65) + call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12838, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok14: @@ -126552,29 +133559,29 @@ ixok14: %t72 = call ptr @fn_llty(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t34 - %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12542) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12839) %t76 = load i32, ptr %t46 %t77 = call ptr @fn_itoa(i32 %t76) %t78 = call ptr @lp_str_concat(ptr %t75, ptr %t77) store ptr %t78, ptr %t79 - call void @fn_emit(ptr @.str12543) + call void @fn_emit(ptr @.str12840) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) - call void @fn_emit(ptr @.str12544) + call void @fn_emit(ptr @.str12841) %t81 = load i32, ptr %t45 %t82 = call ptr @fn_itoa(i32 %t81) call void @fn_emit(ptr %t82) - call void @fn_emit(ptr @.str12545) - call void @fn_emit(ptr @.str12546) + call void @fn_emit(ptr @.str12842) + call void @fn_emit(ptr @.str12843) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) - call void @fn_emit(ptr @.str12547) + call void @fn_emit(ptr @.str12844) %t84 = load ptr, ptr %t73 call void @fn_emit(ptr %t84) - call void @fn_emit(ptr @.str12548) + call void @fn_emit(ptr @.str12845) %t85 = load ptr, ptr %t79 call void @fn_emit(ptr %t85) - call void @fn_emit(ptr @.str12549) + call void @fn_emit(ptr @.str12846) %t86 = load i32, ptr %t46 %t87 = icmp sgt i32 %t86, 0 %t88 = zext i1 %t87 to i32 @@ -126582,14 +133589,14 @@ ixok14: br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t48 - call void @fn_buf_puts(ptr %t90, ptr @.str12550) + call void @fn_buf_puts(ptr %t90, ptr @.str12847) br label %ifend18 ifend18: %t91 = load ptr, ptr %t48 %t92 = load ptr, ptr %t73 call void @fn_buf_puts(ptr %t91, ptr %t92) %t93 = load ptr, ptr %t48 - call void @fn_buf_puts(ptr %t93, ptr @.str12551) + call void @fn_buf_puts(ptr %t93, ptr @.str12848) %t94 = load ptr, ptr %t48 %t95 = load ptr, ptr %t79 call void @fn_buf_puts(ptr %t94, ptr %t95) @@ -126605,7 +133612,7 @@ ifend18: br i1 %t104, label %ixok19, label %ixbad20 ixbad20: %t105 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str12552, i32 %t101, i32 %t103) + call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str12849, i32 %t101, i32 %t103) call void @exit(i32 1) unreachable ixok19: @@ -126622,21 +133629,21 @@ ixok19: store i32 %t114, ptr %t46 br label %wcond11 wend13: - call void @fn_emit(ptr @.str12553) + call void @fn_emit(ptr @.str12850) %t115 = load ptr, ptr %t25 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) - call void @fn_emit(ptr @.str12554) + call void @fn_emit(ptr @.str12851) %t118 = load ptr, ptr %t48 %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) - call void @fn_emit(ptr @.str12555) - call void @fn_emit(ptr @.str12556) - call void @fn_emit(ptr @.str12557) + call void @fn_emit(ptr @.str12852) + call void @fn_emit(ptr @.str12853) + call void @fn_emit(ptr @.str12854) %t120 = load ptr, ptr %t34 call void @fn_emit(ptr %t120) - call void @fn_emit(ptr @.str12558) + call void @fn_emit(ptr @.str12855) br label %ifend10 ifend10: %t121 = load i32, ptr %t7 @@ -126644,8 +133651,8 @@ ifend10: store i32 %t122, ptr %t7 br label %wcond3 wend5: - call void @fn_emit(ptr @.str12559) - call void @fn_emit(ptr @.str12560) + call void @fn_emit(ptr @.str12856) + call void @fn_emit(ptr @.str12857) br label %ret ret: ret void @@ -126682,7 +133689,7 @@ wbody4: br i1 %t17, label %ixok6, label %ixbad7 ixbad7: %t18 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str12561, i32 %t14, i32 %t16) + call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str12858, i32 %t14, i32 %t16) call void @exit(i32 1) unreachable ixok6: @@ -126707,7 +133714,7 @@ sc8: br i1 %t33, label %ixok10, label %ixbad11 ixbad11: %t34 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12562, i32 %t30, i32 %t32) + call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12859, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok10: @@ -126733,7 +133740,7 @@ then12: br i1 %t48, label %ixok15, label %ixbad16 ixbad16: %t49 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12563, i32 %t45, i32 %t47) + call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12860, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok15: @@ -126750,7 +133757,7 @@ ixok15: br i1 %t58, label %ixok17, label %ixbad18 ixbad18: %t59 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str12564, i32 %t55, i32 %t57) + call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str12861, i32 %t55, i32 %t57) call void @exit(i32 1) unreachable ixok17: @@ -126778,7 +133785,7 @@ ifend21: %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then22, label %ifend24 then22: - call void @fn_emith(ptr @.str12565) + call void @fn_emith(ptr @.str12862) call void @fn_emit_net_pump() br label %ifend24 ifend24: @@ -126798,7 +133805,7 @@ entry: %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 - %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str12566) + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str12863) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: @@ -126806,7 +133813,7 @@ then0: br label %ret ifend2: %t8 = load ptr, ptr %t4 - %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str12567) + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str12864) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: @@ -126814,7 +133821,7 @@ then3: br label %ret ifend5: %t11 = load ptr, ptr %t4 - %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str12568) + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str12865) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: @@ -126822,7 +133829,7 @@ then6: br label %ret ifend8: %t14 = load ptr, ptr %t4 - %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str12569) + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str12866) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: @@ -126830,7 +133837,7 @@ then9: br label %ret ifend11: %t17 = load ptr, ptr %t4 - %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str12570) + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str12867) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then12, label %ifend14 then12: @@ -126838,7 +133845,7 @@ then12: br label %ret ifend14: %t20 = load ptr, ptr %t4 - %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str12571) + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str12868) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then15, label %ifend17 then15: @@ -126846,7 +133853,7 @@ then15: br label %ret ifend17: %t23 = load ptr, ptr %t4 - %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str12572) + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str12869) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then18, label %ifend20 then18: @@ -126898,7 +133905,7 @@ wbody1: br i1 %t24, label %ixok3, label %ixbad4 ixbad4: %t25 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12573, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12870, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok3: @@ -126925,7 +133932,7 @@ then5: br i1 %t43, label %ixok8, label %ixbad9 ixbad9: %t44 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12574, i32 %t40, i32 %t42) + call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12871, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok8: @@ -126971,7 +133978,7 @@ entry: br i1 %t7, label %ixok0, label %ixbad1 ixbad1: %t8 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str12575, i32 %t4, i32 %t6) + call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str12872, i32 %t4, i32 %t6) call void @exit(i32 1) unreachable ixok0: @@ -127019,7 +134026,7 @@ wbody3: br i1 %t42, label %ixok5, label %ixbad6 ixbad6: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12576, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12873, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok5: @@ -127090,7 +134097,7 @@ grow9: put10: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds ptr, ptr %t89, i32 %t77 - store ptr @.str12577, ptr %t90 + store ptr @.str12874, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load ptr, ptr %t72 @@ -127117,7 +134124,7 @@ grow11: put12: %t108 = load ptr, ptr %t95 %t109 = getelementptr inbounds ptr, ptr %t108, i32 %t96 - store ptr @.str12578, ptr %t109 + store ptr @.str12875, ptr %t109 %t110 = add i32 %t96, 1 store i32 %t110, ptr %t93 %t111 = load ptr, ptr %t72 @@ -127144,7 +134151,7 @@ grow13: put14: %t127 = load ptr, ptr %t114 %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 - store ptr @.str12579, ptr %t128 + store ptr @.str12876, ptr %t128 %t129 = add i32 %t115, 1 store i32 %t129, ptr %t112 %t130 = load ptr, ptr %t72 @@ -127171,7 +134178,7 @@ grow15: put16: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds ptr, ptr %t146, i32 %t134 - store ptr @.str12580, ptr %t147 + store ptr @.str12877, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 store i32 0, ptr %t149 @@ -127197,7 +134204,7 @@ wbody18: br i1 %t164, label %ixok20, label %ixbad21 ixbad21: %t165 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str12581, i32 %t161, i32 %t163) + call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str12878, i32 %t161, i32 %t163) call void @exit(i32 1) unreachable ixok20: @@ -127219,7 +134226,7 @@ then22: br i1 %t178, label %ixok25, label %ixbad26 ixbad26: %t179 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str12582, i32 %t175, i32 %t177) + call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str12879, i32 %t175, i32 %t177) call void @exit(i32 1) unreachable ixok25: @@ -127244,7 +134251,7 @@ wbody28: br i1 %t193, label %ixok30, label %ixbad31 ixbad31: %t194 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str12583, i32 %t190, i32 %t192) + call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str12880, i32 %t190, i32 %t192) call void @exit(i32 1) unreachable ixok30: @@ -127260,7 +134267,7 @@ ixok30: br i1 %t203, label %ixok32, label %ixbad33 ixbad33: %t204 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str12584, i32 %t200, i32 %t202) + call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str12881, i32 %t200, i32 %t202) call void @exit(i32 1) unreachable ixok32: @@ -127288,7 +134295,7 @@ then34: br i1 %t223, label %ixok37, label %ixbad38 ixbad38: %t224 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str12585, i32 %t220, i32 %t222) + call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str12882, i32 %t220, i32 %t222) call void @exit(i32 1) unreachable ixok37: @@ -127341,7 +134348,7 @@ else35: br i1 %t257, label %ixok41, label %ixbad42 ixbad42: %t258 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str12586, i32 %t254, i32 %t256) + call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str12883, i32 %t254, i32 %t256) call void @exit(i32 1) unreachable ixok41: @@ -127461,7 +134468,7 @@ wbody5: br i1 %t64, label %ixok7, label %ixbad8 ixbad8: %t65 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str12587, i32 %t61, i32 %t63) + call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str12884, i32 %t61, i32 %t63) call void @exit(i32 1) unreachable ixok7: @@ -127535,7 +134542,7 @@ wbody1: br i1 %t33, label %ixok3, label %ixbad4 ixbad4: %t34 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12588, i32 %t30, i32 %t32) + call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12885, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok3: @@ -127560,7 +134567,7 @@ sc5: br i1 %t49, label %ixok7, label %ixbad8 ixbad8: %t50 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str12589, i32 %t46, i32 %t48) + call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str12886, i32 %t46, i32 %t48) call void @exit(i32 1) unreachable ixok7: @@ -127619,7 +134626,7 @@ put13: br i1 %t89, label %ixok14, label %ixbad15 ixbad15: %t90 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str12590, i32 %t86, i32 %t88) + call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str12887, i32 %t86, i32 %t88) call void @exit(i32 1) unreachable ixok14: @@ -127668,7 +134675,7 @@ wbody1: br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12591, i32 %t12, i32 %t14) + call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12888, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: @@ -127693,7 +134700,7 @@ sc5: br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12592, i32 %t28, i32 %t30) + call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12889, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: @@ -127778,7 +134785,7 @@ wbody4: br i1 %t28, label %ixok6, label %ixbad7 ixbad7: %t29 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str12593, i32 %t25, i32 %t27) + call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str12890, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok6: @@ -127803,7 +134810,7 @@ sc8: br i1 %t44, label %ixok10, label %ixbad11 ixbad11: %t45 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str12594, i32 %t41, i32 %t43) + call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str12891, i32 %t41, i32 %t43) call void @exit(i32 1) unreachable ixok10: @@ -127832,7 +134839,7 @@ then12: br i1 %t62, label %ixok15, label %ixbad16 ixbad16: %t63 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str12595, i32 %t59, i32 %t61) + call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str12892, i32 %t59, i32 %t61) call void @exit(i32 1) unreachable ixok15: @@ -127855,7 +134862,7 @@ then17: br i1 %t77, label %ixok20, label %ixbad21 ixbad21: %t78 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str12596, i32 %t74, i32 %t76) + call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str12893, i32 %t74, i32 %t76) call void @exit(i32 1) unreachable ixok20: @@ -127896,13 +134903,13 @@ wbody23: br i1 %t98, label %ixok25, label %ixbad26 ixbad26: %t99 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str12597, i32 %t95, i32 %t97) + call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str12894, i32 %t95, i32 %t97) call void @exit(i32 1) unreachable ixok25: %t100 = getelementptr inbounds ptr, ptr %t94, i32 %t95 %t101 = load ptr, ptr %t100 - %t102 = call ptr @fn_ui_prop(ptr %t101, ptr @.str12598) + %t102 = call ptr @fn_ui_prop(ptr %t101, ptr @.str12895) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = icmp ne ptr %t104, null @@ -128031,18 +135038,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 @.str12599) + call void @fn_emit(ptr @.str12896) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) - call void @fn_emit(ptr @.str12600) + call void @fn_emit(ptr @.str12897) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) - call void @fn_emit(ptr @.str12601) + call void @fn_emit(ptr @.str12898) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) - call void @fn_emit(ptr @.str12602) + call void @fn_emit(ptr @.str12899) br label %ret ret: ret void @@ -128054,7 +135061,7 @@ entry: %t0 = alloca ptr store ptr %arg_k, ptr %t0 %t1 = load ptr, ptr %t0 - %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str12603) + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str12900) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: @@ -128062,7 +135069,7 @@ then0: br label %ret ifend2: %t4 = load ptr, ptr %t0 - %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str12604) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str12901) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: @@ -128070,7 +135077,7 @@ then3: br label %ret ifend5: %t7 = load ptr, ptr %t0 - %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str12605) + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str12902) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: @@ -128078,7 +135085,7 @@ then6: br label %ret ifend8: %t10 = load ptr, ptr %t0 - %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str12606) + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str12903) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: @@ -128086,7 +135093,7 @@ then9: br label %ret ifend11: %t13 = load ptr, ptr %t0 - %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12607) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12904) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: @@ -128094,7 +135101,7 @@ then12: br label %ret ifend14: %t16 = load ptr, ptr %t0 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12608) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12905) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: @@ -128102,7 +135109,7 @@ then15: br label %ret ifend17: %t19 = load ptr, ptr %t0 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str12609) + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str12906) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: @@ -128110,7 +135117,7 @@ then18: br label %ret ifend20: %t22 = load ptr, ptr %t0 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str12610) + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str12907) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: @@ -128118,7 +135125,7 @@ then21: br label %ret ifend23: %t25 = load ptr, ptr %t0 - %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str12611) + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str12908) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: @@ -128126,7 +135133,7 @@ then24: br label %ret ifend26: %t28 = load ptr, ptr %t0 - %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12612) + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12909) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: @@ -128134,7 +135141,7 @@ then27: br label %ret ifend29: %t31 = load ptr, ptr %t0 - %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12613) + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12910) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: @@ -128142,7 +135149,7 @@ then30: br label %ret ifend32: %t34 = load ptr, ptr %t0 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12614) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12911) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: @@ -128150,7 +135157,7 @@ then33: br label %ret ifend35: %t37 = load ptr, ptr %t0 - %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12615) + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12912) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: @@ -128158,7 +135165,7 @@ then36: br label %ret ifend38: %t40 = load ptr, ptr %t0 - %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12616) + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12913) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: @@ -128209,13 +135216,13 @@ entry: store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 store ptr %t5, ptr @g_code - call void @fn_emit(ptr @.str12617) + call void @fn_emit(ptr @.str12914) %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 @.str12618) + call void @fn_emit(ptr @.str12915) store i32 0, ptr %t10 br label %wcond0 wcond0: @@ -128238,7 +135245,7 @@ wbody1: br i1 %t24, label %ixok3, label %ixbad4 ixbad4: %t25 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12619, i32 %t21, i32 %t23) + call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12916, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok3: @@ -128263,7 +135270,7 @@ ixok3: br i1 %t42, label %ixok5, label %ixbad6 ixbad6: %t43 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12620, i32 %t39, i32 %t41) + call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12917, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok5: @@ -128278,7 +135285,7 @@ ixok5: br i1 %t50, label %then7, label %ifend9 then7: %t51 = load i32, ptr %t10 - call void @fn_ll_ui_set(i32 %t51, i32 17, ptr @.str12621) + call void @fn_ll_ui_set(i32 %t51, i32 17, ptr @.str12918) br label %ifend9 ifend9: %t52 = load i32, ptr %t10 @@ -128306,7 +135313,7 @@ wbody11: br i1 %t69, label %ixok13, label %ixbad14 ixbad14: %t70 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12622, i32 %t66, i32 %t68) + call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12919, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok13: @@ -128322,14 +135329,14 @@ ixok13: %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t81 %t83 = load ptr, ptr %t77 - %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str12623) + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str12920) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t82 br i1 %t85, label %scend16, label %sc15 sc15: %t87 = load ptr, ptr %t77 - %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str12624) + %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str12921) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t82 @@ -128345,34 +135352,34 @@ then17: br label %wcond10 ifend19: %t95 = load ptr, ptr %t77 - %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str12625) + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str12922) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then20, label %else21 then20: %t98 = load ptr, ptr %t81 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 - call void @fn_emit(ptr @.str12626) + call void @fn_emit(ptr @.str12923) %t101 = load i32, ptr %t10 %t102 = call ptr @fn_itoa(i32 %t101) call void @fn_emit(ptr %t102) - call void @fn_emit(ptr @.str12627) + call void @fn_emit(ptr @.str12924) %t103 = load ptr, ptr %t100 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) - call void @fn_emit(ptr @.str12628) + call void @fn_emit(ptr @.str12925) br label %ifend22 else21: %t107 = load ptr, ptr %t77 - %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str12629) + %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str12926) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t106 br i1 %t109, label %scend24, label %sc23 sc23: %t111 = load ptr, ptr %t77 - %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str12630) + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str12927) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t106 @@ -128388,12 +135395,12 @@ then25: %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 - %t123 = call ptr @lp_str_concat(ptr @.str12631, ptr %t122) - %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str12632) + %t123 = call ptr @lp_str_concat(ptr @.str12928, ptr %t122) + %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str12929) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t77 - %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str12633) + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str12930) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %else29 then28: @@ -128410,7 +135417,7 @@ ifend30: br label %ifend27 else26: %t134 = load ptr, ptr %t77 - %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str12634) + %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str12931) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then31, label %else32 then31: @@ -128426,7 +135433,7 @@ then34: %t144 = load ptr, ptr %t81 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 1 %t146 = load ptr, ptr %t145 - %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str12635) + %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str12932) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then37, label %ifend39 then37: @@ -128436,7 +135443,7 @@ ifend39: %t149 = load ptr, ptr %t81 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 - %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str12636) + %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str12933) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then40, label %ifend42 then40: @@ -128500,7 +135507,7 @@ scend47: br i1 %t191, label %then48, label %ifend50 then48: %t192 = load i32, ptr %t10 - call void @fn_ll_ui_set(i32 %t192, i32 6, ptr @.str12637) + call void @fn_ll_ui_set(i32 %t192, i32 6, ptr @.str12934) br label %ifend50 ifend50: br label %ifend45 @@ -128523,14 +135530,14 @@ wend12: wend2: %t197 = load ptr, ptr %t4 store ptr %t197, ptr @g_code - call void @fn_emit(ptr @.str12638) + call void @fn_emit(ptr @.str12935) %t198 = load ptr, ptr @g_falloc %t199 = call ptr @fn_buf_str(ptr %t198) call void @fn_emit(ptr %t199) %t200 = load ptr, ptr %t1 %t201 = call ptr @fn_buf_str(ptr %t200) call void @fn_emit(ptr %t201) - call void @fn_emit(ptr @.str12639) + call void @fn_emit(ptr @.str12936) br label %ret ret: ret void @@ -128561,7 +135568,7 @@ wbody1: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12640) + call void @fn_emit(ptr @.str12937) br label %ifend5 ifend5: %t15 = load ptr, ptr %t0 @@ -128576,7 +135583,7 @@ ifend5: br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str12641, i32 %t20, i32 %t22) + call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str12938, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: @@ -128586,7 +135593,7 @@ ixok6: %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_llty(ptr %t28) call void @fn_emit(ptr %t29) - call void @fn_emit(ptr @.str12642) + call void @fn_emit(ptr @.str12939) %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 @@ -128599,7 +135606,7 @@ ixok6: br i1 %t38, label %ixok8, label %ixbad9 ixbad9: %t39 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str12643, i32 %t35, i32 %t37) + call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str12940, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok8: @@ -128656,19 +135663,19 @@ entry: %t14 = call ptr @fn_llty(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 - %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12644) + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12941) %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then0, label %ifend2 then0: %t21 = load ptr, ptr @g_falloc - call void @fn_buf_puts(ptr %t21, ptr @.str12645) + call void @fn_buf_puts(ptr %t21, ptr @.str12942) %t22 = load ptr, ptr @g_falloc %t23 = load ptr, ptr %t15 call void @fn_buf_puts(ptr %t22, ptr %t23) %t24 = load ptr, ptr @g_falloc - call void @fn_buf_puts(ptr %t24, ptr @.str12646) + call void @fn_buf_puts(ptr %t24, ptr @.str12943) br label %ifend2 ifend2: store i32 0, ptr %t25 @@ -128697,7 +135704,7 @@ wbody4: br i1 %t43, label %ixok6, label %ixbad7 ixbad7: %t44 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12647, i32 %t40, i32 %t42) + call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12944, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok6: @@ -128710,21 +135717,21 @@ ixok6: %t51 = call ptr @fn_llty(ptr %t50) %t52 = call ptr @fn_emit_alloca(ptr %t51) store ptr %t52, ptr %t53 - call void @fn_emit(ptr @.str12648) + call void @fn_emit(ptr @.str12945) %t54 = load ptr, ptr %t47 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_llty(ptr %t56) call void @fn_emit(ptr %t57) - call void @fn_emit(ptr @.str12649) + call void @fn_emit(ptr @.str12946) %t58 = load ptr, ptr %t47 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) - call void @fn_emit(ptr @.str12650) + call void @fn_emit(ptr @.str12947) %t61 = load ptr, ptr %t53 call void @fn_emit(ptr %t61) - call void @fn_emit(ptr @.str12651) + call void @fn_emit(ptr @.str12948) %t62 = load ptr, ptr %t47 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 @@ -128743,7 +135750,7 @@ wend5: %t73 = load ptr, ptr %t72 call void @fn_emit_block(ptr %t73) %t75 = load ptr, ptr %t15 - %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str12652) + %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str12949) %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 @@ -128769,8 +135776,8 @@ then10: %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 %t93 = load ptr, ptr %t92 - %t94 = call ptr @lp_str_concat(ptr @.str12653, ptr %t93) - %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str12654) + %t94 = call ptr @lp_str_concat(ptr @.str12950, ptr %t93) + %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str12951) %t96 = load ptr, ptr @g_ret_ty %t97 = call ptr @lp_str_concat(ptr %t95, ptr %t96) call void @fn_perr(ptr %t97) @@ -128782,54 +135789,54 @@ ifend12: %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then13, label %ifend15 then13: - call void @fn_emit(ptr @.str12655) + call void @fn_emit(ptr @.str12952) br label %ifend15 ifend15: - call void @fn_emit(ptr @.str12656) + call void @fn_emit(ptr @.str12953) %t102 = load ptr, ptr %t15 - %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str12657) + %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str12954) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then16, label %else17 then16: - call void @fn_emit(ptr @.str12658) + call void @fn_emit(ptr @.str12955) br label %ifend18 else17: %t105 = load ptr, ptr %t15 - %t106 = call ptr @lp_str_concat(ptr @.str12659, ptr %t105) - %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12660) + %t106 = call ptr @lp_str_concat(ptr @.str12956, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12957) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 - call void @fn_emit(ptr @.str12661) + call void @fn_emit(ptr @.str12958) %t110 = load ptr, ptr %t15 call void @fn_emit(ptr %t110) - call void @fn_emit(ptr @.str12662) + call void @fn_emit(ptr @.str12959) %t111 = load ptr, ptr %t109 call void @fn_emit(ptr %t111) - call void @fn_emit(ptr @.str12663) + call void @fn_emit(ptr @.str12960) br label %ifend18 ifend18: %t112 = load ptr, ptr %t11 store ptr %t112, ptr @g_code - call void @fn_emit(ptr @.str12664) + call void @fn_emit(ptr @.str12961) %t113 = load ptr, ptr %t15 call void @fn_emit(ptr %t113) - call void @fn_emit(ptr @.str12665) + call void @fn_emit(ptr @.str12962) %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 call void @fn_emit(ptr %t116) - call void @fn_emit(ptr @.str12666) + call void @fn_emit(ptr @.str12963) %t117 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t117) - call void @fn_emit(ptr @.str12667) + call void @fn_emit(ptr @.str12964) %t118 = load ptr, ptr @g_falloc %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) %t120 = load ptr, ptr %t8 %t121 = call ptr @fn_buf_str(ptr %t120) call void @fn_emit(ptr %t121) - call void @fn_emit(ptr @.str12668) - store ptr @.str12669, ptr @g_g_det_ctx + call void @fn_emit(ptr @.str12965) + store ptr @.str12966, ptr @g_g_det_ctx br label %ret ret: ret void @@ -128847,7 +135854,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str12670, ptr @g_ret_ty + store ptr @.str12967, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() @@ -128857,20 +135864,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 @.str12671) - call void @fn_emit(ptr @.str12672) - call void @fn_emit(ptr @.str12673) - call void @fn_emit(ptr @.str12674) - %t8 = call ptr @fn_find_fn(ptr @.str12675) + call void @fn_buf_puts(ptr %t7, ptr @.str12968) + call void @fn_emit(ptr @.str12969) + call void @fn_emit(ptr @.str12970) + call void @fn_emit(ptr @.str12971) + %t8 = call ptr @fn_find_fn(ptr @.str12972) %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 @.str12676) + call void @fn_emit(ptr @.str12973) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12677) + call void @fn_emit(ptr @.str12974) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 @@ -128881,26 +135888,26 @@ ifend2: %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: - call void @fn_emit(ptr @.str12678) + call void @fn_emit(ptr @.str12975) br label %ifend5 ifend5: - call void @fn_emit(ptr @.str12679) - %t19 = call ptr @fn_emit_bind(ptr @.str12680) + call void @fn_emit(ptr @.str12976) + %t19 = call ptr @fn_emit_bind(ptr @.str12977) store ptr %t19, ptr %t20 - call void @fn_emit(ptr @.str12681) + call void @fn_emit(ptr @.str12978) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) - call void @fn_emit(ptr @.str12682) + call void @fn_emit(ptr @.str12979) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code - call void @fn_emit(ptr @.str12683) + call void @fn_emit(ptr @.str12980) %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 @.str12684) + call void @fn_emit(ptr @.str12981) br label %ret ret: ret void @@ -128919,7 +135926,7 @@ entry: store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop - store ptr @.str12685, ptr @g_ret_ty + store ptr @.str12982, ptr @g_ret_ty %t2 = call ptr @fn_buf_new() store ptr %t2, ptr %t3 %t4 = call ptr @fn_buf_new() @@ -128938,24 +135945,24 @@ entry: %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: - call void @fn_emit(ptr @.str12686) + call void @fn_emit(ptr @.str12983) br label %ifend2 ifend2: - call void @fn_emit(ptr @.str12687) + call void @fn_emit(ptr @.str12984) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code - call void @fn_emit(ptr @.str12688) + call void @fn_emit(ptr @.str12985) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) - call void @fn_emit(ptr @.str12689) + call void @fn_emit(ptr @.str12986) %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 @.str12690) + call void @fn_emit(ptr @.str12987) br label %ret ret: ret void @@ -128999,9 +136006,9 @@ entry: %t275 = alloca ptr %t286 = alloca ptr %t291 = alloca ptr - call void @fn_emith(ptr @.str12691) - call void @fn_emith(ptr @.str12692) - call void @fn_emith(ptr @.str12693) + call void @fn_emith(ptr @.str12988) + call void @fn_emith(ptr @.str12989) + call void @fn_emith(ptr @.str12990) store i32 0, ptr %t0 br label %wcond0 wcond0: @@ -129024,7 +136031,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12694, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12991, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -129041,61 +136048,61 @@ wend2: %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: - call void @fn_emith(ptr @.str12695) + call void @fn_emith(ptr @.str12992) br label %ifend7 ifend7: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl - call void @fn_emit(ptr @.str12696) - call void @fn_emit(ptr @.str12697) - call void @fn_emit(ptr @.str12698) - call void @fn_emit(ptr @.str12699) - call void @fn_emit(ptr @.str12700) - call void @fn_emit(ptr @.str12701) - %t23 = call ptr @fn_lbl(ptr @.str12702) + call void @fn_emit(ptr @.str12993) + call void @fn_emit(ptr @.str12994) + call void @fn_emit(ptr @.str12995) + call void @fn_emit(ptr @.str12996) + call void @fn_emit(ptr @.str12997) + call void @fn_emit(ptr @.str12998) + %t23 = call ptr @fn_lbl(ptr @.str12999) store ptr %t23, ptr %t24 - %t25 = call ptr @fn_lbl(ptr @.str12703) + %t25 = call ptr @fn_lbl(ptr @.str13000) store ptr %t25, ptr %t26 - %t27 = call ptr @fn_emit_bind(ptr @.str12704) + %t27 = call ptr @fn_emit_bind(ptr @.str13001) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 - %t30 = call ptr @lp_str_concat(ptr @.str12705, ptr %t29) - %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str12706) + %t30 = call ptr @lp_str_concat(ptr @.str13002, ptr %t29) + %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str13003) %t32 = load ptr, ptr %t24 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) - %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str12707) + %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str13004) %t35 = load ptr, ptr %t26 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) - %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str12708) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str13005) call void @fn_emit(ptr %t37) %t38 = load ptr, ptr %t24 - %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str12709) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str13006) call void @fn_emit(ptr %t39) - %t40 = call ptr @fn_emit_bind(ptr @.str12710) + %t40 = call ptr @fn_emit_bind(ptr @.str13007) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 - %t43 = call ptr @lp_str_concat(ptr @.str12711, ptr %t42) + %t43 = call ptr @lp_str_concat(ptr @.str13008, ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 - %t47 = call ptr @lp_str_concat(ptr @.str12712, ptr %t46) - %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str12713) + %t47 = call ptr @lp_str_concat(ptr @.str13009, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str13010) call void @fn_emit(ptr %t48) %t49 = load ptr, ptr %t26 - %t50 = call ptr @lp_str_concat(ptr @.str12714, ptr %t49) - %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str12715) + %t50 = call ptr @lp_str_concat(ptr @.str13011, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str13012) call void @fn_emit(ptr %t51) %t52 = load ptr, ptr %t26 - %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str12716) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str13013) call void @fn_emit(ptr %t53) %t54 = call i32 @fn_has_ecs() %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then8, label %ifend10 then8: - call void @fn_emit(ptr @.str12717) + call void @fn_emit(ptr @.str13014) br label %ifend10 ifend10: - call void @fn_emit(ptr @.str12718) + call void @fn_emit(ptr @.str13015) store i32 0, ptr %t0 br label %wcond11 wcond11: @@ -129118,7 +136125,7 @@ wbody12: br i1 %t69, label %ixok14, label %ixbad15 ixbad15: %t70 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12720, i32 %t66, i32 %t68) + call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str13017, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok14: @@ -129126,7 +136133,7 @@ ixok14: %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 - %t75 = call ptr @lp_str_concat(ptr @.str12719, ptr %t74) + %t75 = call ptr @lp_str_concat(ptr @.str13016, ptr %t74) %t76 = call ptr @fn_emit_str_const(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr @g_g_tests @@ -129139,7 +136146,7 @@ ixok14: br i1 %t84, label %ixok16, label %ixbad17 ixbad17: %t85 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12722, i32 %t81, i32 %t83) + call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str13019, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok16: @@ -129147,7 +136154,7 @@ ixok16: %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 - %t90 = call ptr @lp_str_concat(ptr @.str12721, ptr %t89) + %t90 = call ptr @lp_str_concat(ptr @.str13018, ptr %t89) %t91 = call ptr @fn_emit_str_const(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr @g_g_tests @@ -129160,7 +136167,7 @@ ixok16: br i1 %t99, label %ixok18, label %ixbad19 ixbad19: %t100 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str12723, i32 %t96, i32 %t98) + call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str13020, i32 %t96, i32 %t98) call void @exit(i32 1) unreachable ixok18: @@ -129170,221 +136177,221 @@ ixok18: %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_emit_str_const(ptr %t104) store ptr %t105, ptr %t106 - %t107 = call ptr @fn_lbl(ptr @.str12724) + %t107 = call ptr @fn_lbl(ptr @.str13021) store ptr %t107, ptr %t108 - %t109 = call ptr @fn_lbl(ptr @.str12725) + %t109 = call ptr @fn_lbl(ptr @.str13022) store ptr %t109, ptr %t110 - %t111 = call ptr @fn_lbl(ptr @.str12726) + %t111 = call ptr @fn_lbl(ptr @.str13023) store ptr %t111, ptr %t112 - %t113 = call ptr @fn_emit_bind(ptr @.str12727) + %t113 = call ptr @fn_emit_bind(ptr @.str13024) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 - %t116 = call ptr @lp_str_concat(ptr @.str12728, ptr %t115) - %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str12729) + %t116 = call ptr @lp_str_concat(ptr @.str13025, ptr %t115) + %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str13026) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 - %t121 = call ptr @lp_str_concat(ptr @.str12730, ptr %t120) - %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str12731) + %t121 = call ptr @lp_str_concat(ptr @.str13027, ptr %t120) + %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str13028) %t123 = load ptr, ptr %t110 %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) - %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str12732) + %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str13029) %t126 = load ptr, ptr %t108 %t127 = call ptr @lp_str_concat(ptr %t125, ptr %t126) - %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str12733) + %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str13030) call void @fn_emit(ptr %t128) %t129 = load ptr, ptr %t108 - %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12734) + %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str13031) call void @fn_emit(ptr %t130) %t131 = load ptr, ptr %t114 - %t132 = call ptr @lp_str_concat(ptr @.str12735, ptr %t131) - %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str12736) + %t132 = call ptr @lp_str_concat(ptr @.str13032, ptr %t131) + %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str13033) %t134 = load ptr, ptr %t106 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) - %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str12737) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str13034) %t137 = call ptr @fn_emit_bind(ptr %t136) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t138 - %t140 = call ptr @lp_str_concat(ptr @.str12738, ptr %t139) - %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str12739) + %t140 = call ptr @lp_str_concat(ptr @.str13035, ptr %t139) + %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str13036) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 - %t145 = call ptr @lp_str_concat(ptr @.str12740, ptr %t144) - %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12741) + %t145 = call ptr @lp_str_concat(ptr @.str13037, ptr %t144) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str13038) %t147 = load ptr, ptr %t110 %t148 = call ptr @lp_str_concat(ptr %t146, ptr %t147) - %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str12742) + %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str13039) %t150 = load ptr, ptr %t112 %t151 = call ptr @lp_str_concat(ptr %t149, ptr %t150) - %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str12743) + %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str13040) call void @fn_emit(ptr %t152) %t153 = load ptr, ptr %t110 - %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str12744) + %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str13041) call void @fn_emit(ptr %t154) - %t155 = call ptr @fn_emit_bind(ptr @.str12745) + %t155 = call ptr @fn_emit_bind(ptr @.str13042) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t156 - %t158 = call ptr @lp_str_concat(ptr @.str12746, ptr %t157) - %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str12747) + %t158 = call ptr @lp_str_concat(ptr @.str13043, ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str13044) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 - %t163 = call ptr @lp_str_concat(ptr @.str12748, ptr %t162) - %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str12749) + %t163 = call ptr @lp_str_concat(ptr @.str13045, ptr %t162) + %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str13046) call void @fn_emit(ptr %t164) - call void @fn_emit(ptr @.str12750) + call void @fn_emit(ptr @.str13047) %t165 = load i32, ptr %t0 %t166 = call ptr @fn_itoa(i32 %t165) - %t167 = call ptr @lp_str_concat(ptr @.str12751, ptr %t166) - %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str12752) + %t167 = call ptr @lp_str_concat(ptr @.str13048, ptr %t166) + %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str13049) call void @fn_emit(ptr %t168) - %t169 = call ptr @fn_emit_bind(ptr @.str12753) + %t169 = call ptr @fn_emit_bind(ptr @.str13050) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 - %t172 = call ptr @lp_str_concat(ptr @.str12754, ptr %t171) - %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str12755) + %t172 = call ptr @lp_str_concat(ptr @.str13051, ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str13052) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 - %t176 = call ptr @fn_lbl(ptr @.str12756) + %t176 = call ptr @fn_lbl(ptr @.str13053) store ptr %t176, ptr %t177 - %t178 = call ptr @fn_lbl(ptr @.str12757) + %t178 = call ptr @fn_lbl(ptr @.str13054) store ptr %t178, ptr %t179 - %t180 = call ptr @fn_lbl(ptr @.str12758) + %t180 = call ptr @fn_lbl(ptr @.str13055) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t175 - %t183 = call ptr @lp_str_concat(ptr @.str12759, ptr %t182) - %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str12760) + %t183 = call ptr @lp_str_concat(ptr @.str13056, ptr %t182) + %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str13057) %t185 = load ptr, ptr %t179 %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) - %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str12761) + %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str13058) %t188 = load ptr, ptr %t177 %t189 = call ptr @lp_str_concat(ptr %t187, ptr %t188) - %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str12762) + %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str13059) call void @fn_emit(ptr %t190) %t191 = load ptr, ptr %t177 - %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str12763) + %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str13060) call void @fn_emit(ptr %t192) %t193 = load ptr, ptr %t77 - %t194 = call ptr @lp_str_concat(ptr @.str12764, ptr %t193) - %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str12765) + %t194 = call ptr @lp_str_concat(ptr @.str13061, ptr %t193) + %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str13062) call void @fn_emit(ptr %t195) %t196 = load ptr, ptr %t181 - %t197 = call ptr @lp_str_concat(ptr @.str12766, ptr %t196) - %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str12767) + %t197 = call ptr @lp_str_concat(ptr @.str13063, ptr %t196) + %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str13064) call void @fn_emit(ptr %t198) %t199 = load ptr, ptr %t179 - %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str12768) + %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str13065) call void @fn_emit(ptr %t200) - %t201 = call ptr @fn_emit_bind(ptr @.str12769) + %t201 = call ptr @fn_emit_bind(ptr @.str13066) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t202 - %t204 = call ptr @lp_str_concat(ptr @.str12770, ptr %t203) - %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str12771) + %t204 = call ptr @lp_str_concat(ptr @.str13067, ptr %t203) + %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str13068) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t207 - %t209 = call ptr @lp_str_concat(ptr @.str12772, ptr %t208) - %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str12773) + %t209 = call ptr @lp_str_concat(ptr @.str13069, ptr %t208) + %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str13070) call void @fn_emit(ptr %t210) %t211 = load ptr, ptr %t92 - %t212 = call ptr @lp_str_concat(ptr @.str12774, ptr %t211) - %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12775) + %t212 = call ptr @lp_str_concat(ptr @.str13071, ptr %t211) + %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str13072) call void @fn_emit(ptr %t213) %t214 = load ptr, ptr %t181 - %t215 = call ptr @lp_str_concat(ptr @.str12776, ptr %t214) - %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str12777) + %t215 = call ptr @lp_str_concat(ptr @.str13073, ptr %t214) + %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str13074) call void @fn_emit(ptr %t216) %t217 = load ptr, ptr %t181 - %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str12778) + %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str13075) call void @fn_emit(ptr %t218) %t219 = load ptr, ptr %t112 - %t220 = call ptr @lp_str_concat(ptr @.str12779, ptr %t219) - %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str12780) + %t220 = call ptr @lp_str_concat(ptr @.str13076, ptr %t219) + %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str13077) call void @fn_emit(ptr %t221) %t222 = load ptr, ptr %t112 - %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str12781) + %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str13078) call void @fn_emit(ptr %t223) %t224 = load i32, ptr %t0 %t225 = add i32 %t224, 1 store i32 %t225, ptr %t0 br label %wcond11 wend13: - %t226 = call ptr @fn_lbl(ptr @.str12782) + %t226 = call ptr @fn_lbl(ptr @.str13079) store ptr %t226, ptr %t227 - %t228 = call ptr @fn_lbl(ptr @.str12783) + %t228 = call ptr @fn_lbl(ptr @.str13080) store ptr %t228, ptr %t229 - %t230 = call ptr @fn_emit_bind(ptr @.str12784) + %t230 = call ptr @fn_emit_bind(ptr @.str13081) store ptr %t230, ptr %t231 - %t232 = call ptr @fn_emit_bind(ptr @.str12785) + %t232 = call ptr @fn_emit_bind(ptr @.str13082) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t233 - %t235 = call ptr @lp_str_concat(ptr @.str12786, ptr %t234) - %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str12787) + %t235 = call ptr @lp_str_concat(ptr @.str13083, ptr %t234) + %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str13084) %t237 = call ptr @fn_emit_bind(ptr %t236) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t231 - %t240 = call ptr @lp_str_concat(ptr @.str12788, ptr %t239) - %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str12789) + %t240 = call ptr @lp_str_concat(ptr @.str13085, ptr %t239) + %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str13086) %t242 = call ptr @fn_emit_bind(ptr %t241) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t238 - %t245 = call ptr @lp_str_concat(ptr @.str12790, ptr %t244) - %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str12791) + %t245 = call ptr @lp_str_concat(ptr @.str13087, ptr %t244) + %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str13088) %t247 = load ptr, ptr %t243 %t248 = call ptr @lp_str_concat(ptr %t246, ptr %t247) %t249 = call ptr @fn_emit_bind(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t250 - %t252 = call ptr @lp_str_concat(ptr @.str12792, ptr %t251) - %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str12793) + %t252 = call ptr @lp_str_concat(ptr @.str13089, ptr %t251) + %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str13090) %t254 = load ptr, ptr %t227 %t255 = call ptr @lp_str_concat(ptr %t253, ptr %t254) - %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str12794) + %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str13091) %t257 = load ptr, ptr %t229 %t258 = call ptr @lp_str_concat(ptr %t256, ptr %t257) - %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str12795) + %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str13092) call void @fn_emit(ptr %t259) %t260 = load ptr, ptr %t227 - %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str12796) + %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str13093) call void @fn_emit(ptr %t261) %t262 = load ptr, ptr %t233 - %t263 = call ptr @lp_str_concat(ptr @.str12797, ptr %t262) - %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str12798) + %t263 = call ptr @lp_str_concat(ptr @.str13094, ptr %t262) + %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str13095) call void @fn_emit(ptr %t264) - call void @fn_emit(ptr @.str12799) + call void @fn_emit(ptr @.str13096) %t265 = load ptr, ptr %t229 - %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str12800) + %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str13097) call void @fn_emit(ptr %t266) - %t267 = call ptr @fn_emit_bind(ptr @.str12801) + %t267 = call ptr @fn_emit_bind(ptr @.str13098) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t231 - %t270 = call ptr @lp_str_concat(ptr @.str12802, ptr %t269) - %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str12803) + %t270 = call ptr @lp_str_concat(ptr @.str13099, ptr %t269) + %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str13100) %t272 = load ptr, ptr %t268 %t273 = call ptr @lp_str_concat(ptr %t271, ptr %t272) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t275 - %t277 = call ptr @lp_str_concat(ptr @.str12804, ptr %t276) - %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str12805) + %t277 = call ptr @lp_str_concat(ptr @.str13101, ptr %t276) + %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str13102) %t279 = load ptr, ptr %t268 %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) - %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str12806) + %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str13103) call void @fn_emit(ptr %t281) %t282 = load ptr, ptr %t268 - %t283 = call ptr @lp_str_concat(ptr @.str12807, ptr %t282) - %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str12808) + %t283 = call ptr @lp_str_concat(ptr @.str13104, ptr %t282) + %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str13105) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 %t287 = load ptr, ptr %t286 - %t288 = call ptr @lp_str_concat(ptr @.str12809, ptr %t287) - %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str12810) + %t288 = call ptr @lp_str_concat(ptr @.str13106, ptr %t287) + %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str13107) %t290 = call ptr @fn_emit_bind(ptr %t289) store ptr %t290, ptr %t291 %t292 = load ptr, ptr %t291 - %t293 = call ptr @lp_str_concat(ptr @.str12811, ptr %t292) - %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str12812) + %t293 = call ptr @lp_str_concat(ptr @.str13108, ptr %t292) + %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str13109) call void @fn_emit(ptr %t294) br label %ret ret: @@ -129420,7 +136427,7 @@ wbody1: br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12813, i32 %t11, i32 %t13) + call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str13110, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: @@ -129459,7 +136466,7 @@ wbody9: br i1 %t41, label %ixok11, label %ixbad12 ixbad12: %t42 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str12814, i32 %t38, i32 %t40) + call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str13111, i32 %t38, i32 %t40) call void @exit(i32 1) unreachable ixok11: @@ -129503,19 +136510,19 @@ then15: %t71 = load ptr, ptr %t18 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 - %t74 = call ptr @lp_str_concat(ptr @.str12815, ptr %t73) - %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12816) + %t74 = call ptr @lp_str_concat(ptr @.str13112, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str13113) %t76 = load ptr, ptr %t18 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 9 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr %t75, ptr %t78) - %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str12817) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str13114) %t81 = load ptr, ptr %t18 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 8 %t83 = load i32, ptr %t82 %t84 = call ptr @fn_itoa(i32 %t83) %t85 = call ptr @lp_str_concat(ptr %t80, ptr %t84) - %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str12818) + %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str13115) call void @fn_perr(ptr %t86) br label %ifend17 ifend17: @@ -129676,7 +136683,7 @@ wbody1: br i1 %t26, label %ixok5, label %ixbad6 ixbad6: %t27 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12819, i32 %t23, i32 %t25) + call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str13116, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok5: @@ -129733,7 +136740,7 @@ wbody11: br i1 %t66, label %ixok15, label %ixbad16 ixbad16: %t67 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12820, i32 %t63, i32 %t65) + call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str13117, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok15: @@ -129779,19 +136786,19 @@ then19: %t98 = load ptr, ptr %t30 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 - %t101 = call ptr @lp_str_concat(ptr @.str12821, ptr %t100) - %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str12822) + %t101 = call ptr @lp_str_concat(ptr @.str13118, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str13119) %t103 = load ptr, ptr %t30 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 9 %t105 = load ptr, ptr %t104 %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) - %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12823) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str13120) %t108 = load ptr, ptr %t30 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 8 %t110 = load i32, ptr %t109 %t111 = call ptr @fn_itoa(i32 %t110) %t112 = call ptr @lp_str_concat(ptr %t107, ptr %t111) - %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str12824) + %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str13121) call void @fn_perr(ptr %t113) br label %ifend21 ifend21: @@ -129976,7 +136983,7 @@ wbody4: br i1 %t84, label %ixok6, label %ixbad7 ixbad7: %t85 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12825, i32 %t81, i32 %t83) + call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str13122, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok6: @@ -130004,7 +137011,7 @@ then8: br i1 %t103, label %ixok11, label %ixbad12 ixbad12: %t104 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12826, i32 %t100, i32 %t102) + call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str13123, i32 %t100, i32 %t102) call void @exit(i32 1) unreachable ixok11: @@ -130117,7 +137124,7 @@ wbody40: br i1 %t153, label %ixok42, label %ixbad43 ixbad43: %t154 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str12827, i32 %t150, i32 %t152) + call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str13124, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok42: @@ -130140,7 +137147,7 @@ then44: br i1 %t168, label %ixok47, label %ixbad48 ixbad48: %t169 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str12828, i32 %t165, i32 %t167) + call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str13125, i32 %t165, i32 %t167) call void @exit(i32 1) unreachable ixok47: @@ -130185,7 +137192,7 @@ wbody53: br i1 %t189, label %ixok55, label %ixbad56 ixbad56: %t190 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str12829, i32 %t186, i32 %t188) + call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str13126, i32 %t186, i32 %t188) call void @exit(i32 1) unreachable ixok55: @@ -130208,7 +137215,7 @@ then57: br i1 %t204, label %ixok60, label %ixbad61 ixbad61: %t205 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12830, i32 %t201, i32 %t203) + call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str13127, i32 %t201, i32 %t203) call void @exit(i32 1) unreachable ixok60: @@ -130358,7 +137365,7 @@ scend111: %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then112, label %ifend114 then112: - call void @fn_emith(ptr @.str12831) + call void @fn_emith(ptr @.str13128) br label %ifend114 ifend114: %t253 = load i32, ptr @g_g_uses_unicodert @@ -130393,9 +137400,9 @@ ifend126: %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then127, label %ifend129 then127: - call void @fn_emith(ptr @.str12832) + call void @fn_emith(ptr @.str13129) store i32 1, ptr @g_g_fprintf_declared - call void @fn_emith(ptr @.str12833) + call void @fn_emith(ptr @.str13130) br label %ifend129 ifend129: %t263 = load i32, ptr @g_g_uses_bounds @@ -130408,25 +137415,25 @@ then130: %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then133, label %ifend135 then133: - call void @fn_emith(ptr @.str12834) + call void @fn_emith(ptr @.str13131) store i32 1, ptr @g_g_fprintf_declared br label %ifend135 ifend135: - call void @fn_emith(ptr @.str12835) + call void @fn_emith(ptr @.str13132) br label %ifend132 ifend132: %t269 = load i32, ptr @g_g_uses_result %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then136, label %ifend138 then136: - call void @fn_emith(ptr @.str12836) + call void @fn_emith(ptr @.str13133) br label %ifend138 ifend138: %t271 = load i32, ptr @g_g_uses_option %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then139, label %ifend141 then139: - call void @fn_emith(ptr @.str12837) + call void @fn_emith(ptr @.str13134) br label %ifend141 ifend141: call void @fn_emit_cov_runtime() @@ -130474,10 +137481,10 @@ ifend5: %t12 = load i32, ptr %t7 %t13 = call ptr @fn_itoa(i32 %t12) store ptr %t13, ptr %t14 - call void @fn_emith(ptr @.str12838) + call void @fn_emith(ptr @.str13135) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) - call void @fn_emith(ptr @.str12839) + call void @fn_emith(ptr @.str13136) store i32 0, ptr %t16 br label %wcond6 wcond6: @@ -130494,10 +137501,10 @@ wbody7: %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: - call void @fn_emith(ptr @.str12840) + call void @fn_emith(ptr @.str13137) br label %ifend11 ifend11: - call void @fn_emith(ptr @.str12841) + call void @fn_emith(ptr @.str13138) %t26 = load ptr, ptr @g_g_cov_lines %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 @@ -130508,7 +137515,7 @@ ifend11: br i1 %t32, label %ixok12, label %ixbad13 ixbad13: %t33 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str12842, i32 %t29, i32 %t31) + call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str13139, i32 %t29, i32 %t31) call void @exit(i32 1) unreachable ixok12: @@ -130521,88 +137528,88 @@ ixok12: store i32 %t38, ptr %t16 br label %wcond6 wend8: - call void @fn_emith(ptr @.str12843) - call void @fn_emith(ptr @.str12844) + call void @fn_emith(ptr @.str13140) + call void @fn_emith(ptr @.str13141) %t39 = load ptr, ptr %t14 call void @fn_emith(ptr %t39) - call void @fn_emith(ptr @.str12845) + call void @fn_emith(ptr @.str13142) %t40 = load ptr, ptr %t14 - %t41 = call ptr @lp_str_concat(ptr @.str12846, ptr %t40) - %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str12847) + %t41 = call ptr @lp_str_concat(ptr @.str13143, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str13144) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr @g_g_src_name %t44 = call ptr @fn_emit_str_const(ptr %t43) store ptr %t44, ptr %t45 - %t46 = call ptr @fn_emit_str_const(ptr @.str12848) + %t46 = call ptr @fn_emit_str_const(ptr @.str13145) store ptr %t46, ptr %t47 - %t48 = call ptr @fn_emit_str_const(ptr @.str12849) + %t48 = call ptr @fn_emit_str_const(ptr @.str13146) store ptr %t48, ptr %t49 - %t50 = call ptr @fn_emit_str_const(ptr @.str12850) + %t50 = call ptr @fn_emit_str_const(ptr @.str13147) store ptr %t50, ptr %t51 - call void @fn_emith(ptr @.str12851) - call void @fn_emith(ptr @.str12852) + call void @fn_emith(ptr @.str13148) + call void @fn_emith(ptr @.str13149) %t52 = load i32, ptr @g_g_fprintf_declared %t53 = icmp eq i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: - call void @fn_emith(ptr @.str12853) + call void @fn_emith(ptr @.str13150) store i32 1, ptr @g_g_fprintf_declared br label %ifend16 ifend16: - call void @fn_emith(ptr @.str12854) - call void @fn_emit(ptr @.str12855) + call void @fn_emith(ptr @.str13151) + call void @fn_emit(ptr @.str13152) %t56 = load ptr, ptr %t47 - %t57 = call ptr @lp_str_concat(ptr @.str12856, ptr %t56) - %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12857) + %t57 = call ptr @lp_str_concat(ptr @.str13153, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str13154) call void @fn_emit(ptr %t58) - call void @fn_emit(ptr @.str12858) + call void @fn_emit(ptr @.str13155) %t59 = load ptr, ptr %t49 - %t60 = call ptr @lp_str_concat(ptr @.str12859, ptr %t59) - %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str12860) + %t60 = call ptr @lp_str_concat(ptr @.str13156, ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str13157) call void @fn_emit(ptr %t61) %t62 = load ptr, ptr %t51 - %t63 = call ptr @lp_str_concat(ptr @.str12861, ptr %t62) - %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str12862) + %t63 = call ptr @lp_str_concat(ptr @.str13158, ptr %t62) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str13159) call void @fn_emit(ptr %t64) - call void @fn_emit(ptr @.str12863) - call void @fn_emit(ptr @.str12864) - call void @fn_emit(ptr @.str12865) + call void @fn_emit(ptr @.str13160) + call void @fn_emit(ptr @.str13161) + call void @fn_emit(ptr @.str13162) %t65 = load ptr, ptr %t45 - %t66 = call ptr @lp_str_concat(ptr @.str12866, ptr %t65) - %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str12867) + %t66 = call ptr @lp_str_concat(ptr @.str13163, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str13164) call void @fn_emit(ptr %t67) - call void @fn_emit(ptr @.str12868) - call void @fn_emit(ptr @.str12869) - call void @fn_emit(ptr @.str12870) + call void @fn_emit(ptr @.str13165) + call void @fn_emit(ptr @.str13166) + call void @fn_emit(ptr @.str13167) %t68 = load ptr, ptr %t14 - %t69 = call ptr @lp_str_concat(ptr @.str12871, ptr %t68) - %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str12872) + %t69 = call ptr @lp_str_concat(ptr @.str13168, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str13169) call void @fn_emit(ptr %t70) - call void @fn_emit(ptr @.str12873) - call void @fn_emit(ptr @.str12874) - call void @fn_emit(ptr @.str12875) + call void @fn_emit(ptr @.str13170) + call void @fn_emit(ptr @.str13171) + call void @fn_emit(ptr @.str13172) %t71 = load ptr, ptr %t14 call void @fn_emit(ptr %t71) - call void @fn_emit(ptr @.str12876) - call void @fn_emit(ptr @.str12877) - call void @fn_emit(ptr @.str12878) + call void @fn_emit(ptr @.str13173) + call void @fn_emit(ptr @.str13174) + call void @fn_emit(ptr @.str13175) %t72 = load ptr, ptr %t14 call void @fn_emit(ptr %t72) - call void @fn_emit(ptr @.str12879) - call void @fn_emit(ptr @.str12880) - call void @fn_emit(ptr @.str12881) - call void @fn_emit(ptr @.str12882) - call void @fn_emit(ptr @.str12883) - call void @fn_emit(ptr @.str12884) - call void @fn_emit(ptr @.str12885) - call void @fn_emit(ptr @.str12886) - call void @fn_emit(ptr @.str12887) - call void @fn_emit(ptr @.str12888) - call void @fn_emit(ptr @.str12889) - call void @fn_emit(ptr @.str12890) - call void @fn_emith(ptr @.str12891) + call void @fn_emit(ptr @.str13176) + call void @fn_emit(ptr @.str13177) + call void @fn_emit(ptr @.str13178) + call void @fn_emit(ptr @.str13179) + call void @fn_emit(ptr @.str13180) + call void @fn_emit(ptr @.str13181) + call void @fn_emit(ptr @.str13182) + call void @fn_emit(ptr @.str13183) + call void @fn_emit(ptr @.str13184) + call void @fn_emit(ptr @.str13185) + call void @fn_emit(ptr @.str13186) + call void @fn_emit(ptr @.str13187) + call void @fn_emith(ptr @.str13188) br label %ret ret: ret void @@ -130651,7 +137658,7 @@ then0: br label %ret ifend2: %t29 = load ptr, ptr %t0 - %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str12892) + %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str13189) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = icmp eq ptr %t32, null @@ -130760,7 +137767,7 @@ then0: %t11 = sub i32 %t10, 6 %t12 = load i32, ptr %t4 %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12) - %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12893) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str13190) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: @@ -130846,7 +137853,7 @@ then3: br label %ret ifend5: %t20 = load ptr, ptr %t0 - %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str12894) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str13191) store ptr %t21, ptr %retval br label %ret ret: @@ -131108,16 +138115,16 @@ then0: %t4 = call ptr @fn_win_path(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 - %t7 = call ptr @lp_str_concat(ptr @.str12895, ptr %t6) - %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str12896) + %t7 = call ptr @lp_str_concat(ptr @.str13192, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str13193) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) - %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str12897) + %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str13194) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 - %t14 = call ptr @lp_str_concat(ptr @.str12898, ptr %t13) + %t14 = call ptr @lp_str_concat(ptr @.str13195, ptr %t13) %t15 = call i32 @system(ptr %t14) br label %ifend2 ifend2: @@ -131136,13 +138143,13 @@ entry: then0: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_win_path(ptr %t3) - %t5 = call ptr @lp_str_concat(ptr @.str12899, ptr %t4) - %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str12900) + %t5 = call ptr @lp_str_concat(ptr @.str13196, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str13197) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 - %t9 = call ptr @lp_str_concat(ptr @.str12901, ptr %t8) + %t9 = call ptr @lp_str_concat(ptr @.str13198, ptr %t8) %t10 = call i32 @system(ptr %t9) br label %ifend2 ifend2: @@ -131157,7 +138164,7 @@ entry: %t1 = alloca ptr %t9 = alloca ptr %t12 = alloca ptr - %t0 = call ptr @getenv(ptr @.str12902) + %t0 = call ptr @getenv(ptr @.str13199) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null @@ -131173,9 +138180,9 @@ ifend2: %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: - store ptr @.str12903, ptr %t9 + store ptr @.str13200, ptr %t9 %t10 = load ptr, ptr %t9 - %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str12904) + %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str13201) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = icmp ne ptr %t13, null @@ -131186,14 +138193,14 @@ then6: %t17 = load ptr, ptr %t12 call i32 @fclose(ptr %t17) %t18 = load ptr, ptr %t9 - %t19 = call ptr @lp_str_concat(ptr @.str12905, ptr %t18) - %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str12906) + %t19 = call ptr @lp_str_concat(ptr @.str13202, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str13203) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: - store ptr @.str12907, ptr %retval + store ptr @.str13204, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval @@ -131204,7 +138211,7 @@ define void @fn_show_version() { entry: %t3 = alloca ptr %t0 = call ptr @fn_ludic_home() - %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str12908) + %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str13205) %t2 = call ptr @fn_read_file(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 @@ -131213,12 +138220,12 @@ entry: %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %else1 then0: - call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str12909) + call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str13206) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) - %t10 = call ptr @lp_str_concat(ptr @.str12910, ptr %t9) + %t10 = call ptr @lp_str_concat(ptr @.str13207, ptr %t9) call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t10) br label %ifend2 ifend2: @@ -131230,7 +138237,7 @@ ret: define void @L_init_globals() { entry: - store ptr @.str12911, ptr @g_g_parse_file + store ptr @.str13208, ptr @g_g_parse_file %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) @@ -131271,9 +138278,9 @@ entry: %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 store i32 0, ptr %t23 store ptr %t20, ptr @g_g_mod_friends - store ptr @.str12912, ptr @g_g_err_file - store ptr @.str12913, ptr @g_g_src_name - store ptr @.str12914, ptr @g_g_ret_label + store ptr @.str13209, ptr @g_g_err_file + store ptr @.str13210, ptr @g_g_src_name + store ptr @.str13211, ptr @g_g_ret_label %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 %t26 = call ptr @malloc(i64 %t25) @@ -131284,7 +138291,128 @@ entry: %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 store i32 0, ptr %t29 store ptr %t26, ptr @g_g_det_names - store ptr @.str12915, ptr @g_g_det_ctx + store ptr @.str13212, ptr @g_g_det_ctx + %t30 = getelementptr %LSlice, ptr null, i32 1 + %t31 = ptrtoint ptr %t30 to i64 + %t32 = call ptr @malloc(i64 %t31) + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + store ptr null, ptr %t33 + %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 + store i32 0, ptr %t34 + %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 + store i32 0, ptr %t35 + store ptr %t32, ptr @g_ck_fn_k + %t36 = getelementptr %LSlice, ptr null, i32 1 + %t37 = ptrtoint ptr %t36 to i64 + %t38 = call ptr @malloc(i64 %t37) + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + store ptr null, ptr %t39 + %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 + store i32 0, ptr %t40 + %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 + store i32 0, ptr %t41 + store ptr %t38, ptr @g_ck_fn_v + %t42 = getelementptr %LSlice, ptr null, i32 1 + %t43 = ptrtoint ptr %t42 to i64 + %t44 = call ptr @malloc(i64 %t43) + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 + store i32 0, ptr %t46 + %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 + store i32 0, ptr %t47 + store ptr %t44, ptr @g_ck_gl_k + %t48 = getelementptr %LSlice, ptr null, i32 1 + %t49 = ptrtoint ptr %t48 to i64 + %t50 = call ptr @malloc(i64 %t49) + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 + store ptr null, ptr %t51 + %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + store i32 0, ptr %t52 + %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 + store i32 0, ptr %t53 + store ptr %t50, ptr @g_ck_gl_v + %t54 = getelementptr %LSlice, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = call ptr @malloc(i64 %t55) + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + store ptr null, ptr %t57 + %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 + store i32 0, ptr %t58 + %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 + store i32 0, ptr %t59 + store ptr %t56, ptr @g_ck_rec_k + %t60 = getelementptr %LSlice, ptr null, i32 1 + %t61 = ptrtoint ptr %t60 to i64 + %t62 = call ptr @malloc(i64 %t61) + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 + store i32 0, ptr %t64 + %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 + store i32 0, ptr %t65 + store ptr %t62, ptr @g_ck_rec_v + %t66 = getelementptr %LSlice, ptr null, i32 1 + %t67 = ptrtoint ptr %t66 to i64 + %t68 = call ptr @malloc(i64 %t67) + %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 + store ptr null, ptr %t69 + %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 + store i32 0, ptr %t70 + %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 + store i32 0, ptr %t71 + store ptr %t68, ptr @g_ck_en_k + %t72 = getelementptr %LSlice, ptr null, i32 1 + %t73 = ptrtoint ptr %t72 to i64 + %t74 = call ptr @malloc(i64 %t73) + %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + store ptr null, ptr %t75 + %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 + store i32 0, ptr %t76 + %t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2 + store i32 0, ptr %t77 + store ptr %t74, ptr @g_ck_en_v + %t78 = getelementptr %LSlice, ptr null, i32 1 + %t79 = ptrtoint ptr %t78 to i64 + %t80 = call ptr @malloc(i64 %t79) + %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 + store ptr null, ptr %t81 + %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 + store i32 0, ptr %t82 + %t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2 + store i32 0, ptr %t83 + store ptr %t80, ptr @g_ck_ex_k + %t84 = getelementptr %LSlice, ptr null, i32 1 + %t85 = ptrtoint ptr %t84 to i64 + %t86 = call ptr @malloc(i64 %t85) + %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 + store ptr null, ptr %t87 + %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 + store i32 0, ptr %t88 + %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 + store i32 0, ptr %t89 + store ptr %t86, ptr @g_ck_ex_v + %t90 = getelementptr %LSlice, ptr null, i32 1 + %t91 = ptrtoint ptr %t90 to i64 + %t92 = call ptr @malloc(i64 %t91) + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 + store ptr null, ptr %t93 + %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 + store i32 0, ptr %t94 + %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 + store i32 0, ptr %t95 + store ptr %t92, ptr @g_ck_names + %t96 = getelementptr %LSlice, ptr null, i32 1 + %t97 = ptrtoint ptr %t96 to i64 + %t98 = call ptr @malloc(i64 %t97) + %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 + store ptr null, ptr %t99 + %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 + store i32 0, ptr %t100 + %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 + store i32 0, ptr %t101 + store ptr %t98, ptr @g_ck_tys + store ptr @.str13213, ptr @g_ck_ret ret void } @@ -131378,7 +138506,7 @@ wbody1: %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t27 - %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12916) + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str13214) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then3, label %else4 then3: @@ -131386,7 +138514,7 @@ then3: br label %ifend5 else4: %t31 = load ptr, ptr %t27 - %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12917) + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str13215) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %else7 then6: @@ -131394,7 +138522,7 @@ then6: br label %ifend8 else7: %t34 = load ptr, ptr %t27 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12918) + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str13216) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %else10 then9: @@ -131402,7 +138530,7 @@ then9: br label %ifend11 else10: %t37 = load ptr, ptr %t27 - %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12919) + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str13217) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then12, label %else13 then12: @@ -131410,7 +138538,7 @@ then12: br label %ifend14 else13: %t40 = load ptr, ptr %t27 - %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12920) + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str13218) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %else16 then15: @@ -131419,7 +138547,7 @@ then15: br label %ifend17 else16: %t43 = load ptr, ptr %t27 - %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str12921) + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str13219) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then18, label %else19 then18: @@ -131427,7 +138555,7 @@ then18: br label %ifend20 else19: %t46 = load ptr, ptr %t27 - %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str12922) + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str13220) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then21, label %else22 then21: @@ -131435,7 +138563,7 @@ then21: br label %ifend23 else22: %t49 = load ptr, ptr %t27 - %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str12923) + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str13221) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then24, label %else25 then24: @@ -131443,7 +138571,7 @@ then24: br label %ifend26 else25: %t52 = load ptr, ptr %t27 - %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str12924) + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str13222) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then27, label %else28 then27: @@ -131451,7 +138579,7 @@ then27: br label %ifend29 else28: %t55 = load ptr, ptr %t27 - %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str12925) + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str13223) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then30, label %else31 then30: @@ -131475,7 +138603,7 @@ ifend35: br label %ifend32 else31: %t69 = load ptr, ptr %t27 - %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str12926) + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str13224) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then36, label %else37 then36: @@ -131483,7 +138611,7 @@ then36: br label %ifend38 else37: %t72 = load ptr, ptr %t27 - %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str12927) + %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str13225) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then39, label %else40 then39: @@ -131507,7 +138635,7 @@ ifend44: br label %ifend41 else40: %t86 = load ptr, ptr %t27 - %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str12928) + %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str13226) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then45, label %else46 then45: @@ -131557,7 +138685,7 @@ ifend50: br label %ifend47 else46: %t119 = load ptr, ptr %t27 - %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str12929) + %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str13227) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then53, label %else54 then53: @@ -131590,8 +138718,8 @@ else54: br i1 %t139, label %then59, label %else60 then59: %t140 = load ptr, ptr %t27 - %t141 = call ptr @lp_str_concat(ptr @.str12930, ptr %t140) - %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str12931) + %t141 = call ptr @lp_str_concat(ptr @.str13228, ptr %t140) + %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str13229) store ptr %t142, ptr %t143 %t144 = call ptr @lp_win_stdio(i32 2) %t145 = load ptr, ptr %t143 @@ -131646,7 +138774,7 @@ wend2: %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then62, label %ifend64 then62: - call void @fn_die(ptr @.str12932) + call void @fn_die(ptr @.str13230) br label %ifend64 ifend64: %t159 = load ptr, ptr %t7 @@ -131656,7 +138784,7 @@ ifend64: br i1 %t162, label %then65, label %else66 then65: %t163 = load ptr, ptr %t7 - %t164 = call i32 @fn_has_sub(ptr %t163, ptr @.str12933) + %t164 = call i32 @fn_has_sub(ptr %t163, ptr @.str13231) store i32 %t164, ptr @g_g_target_win br label %ifend67 else66: @@ -131673,7 +138801,7 @@ ifend67: %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then68, label %ifend70 then68: - call void @fn_die(ptr @.str12934) + call void @fn_die(ptr @.str13232) br label %ifend70 ifend70: %t173 = load ptr, ptr %t0 @@ -131779,6 +138907,7 @@ ifend86: br label %ifend83 ifend83: store i32 0, ptr @g_g_parsing + call void @fn_check_program() call void @fn_emit_program() %t227 = load i32, ptr %t3 %t228 = icmp ne i32 %t227, 0 @@ -131819,9 +138948,9 @@ then97: %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then100, label %else101 then100: - %t249 = call ptr @fn_getenv_or(ptr @.str12935, ptr @.str12936) + %t249 = call ptr @fn_getenv_or(ptr @.str13233, ptr @.str13234) %t250 = call ptr @fn_fwd_slashes(ptr %t249) - %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str12937) + %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str13235) %t252 = load ptr, ptr %t0 %t253 = call ptr @fn_base_name(ptr %t252) %t254 = call ptr @fn_strip_ludic(ptr %t253) @@ -131832,7 +138961,7 @@ else101: %t256 = load ptr, ptr %t0 %t257 = call ptr @fn_base_name(ptr %t256) %t258 = call ptr @fn_strip_ludic(ptr %t257) - %t259 = call ptr @lp_str_concat(ptr @.str12938, ptr %t258) + %t259 = call ptr @lp_str_concat(ptr @.str13236, ptr %t258) store ptr %t259, ptr %t1 br label %ifend102 ifend102: @@ -131858,7 +138987,7 @@ then106: %t273 = sub i32 %t272, 4 %t274 = load i32, ptr %t265 %t275 = call ptr @lp_str_slice(ptr %t271, i32 %t273, i32 %t274) - %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str12939) + %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str13237) store i32 %t276, ptr %t266 br label %ifend108 ifend108: @@ -131869,7 +138998,7 @@ ifend108: br i1 %t280, label %then109, label %ifend111 then109: %t281 = load ptr, ptr %t1 - %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str12940) + %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str13238) store ptr %t282, ptr %t1 br label %ifend111 ifend111: @@ -131891,7 +139020,7 @@ then112: br label %ifend114 ifend114: %t293 = load ptr, ptr %t1 - %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str12941) + %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str13239) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 %t297 = call i32 @fn_ir_flush(ptr %t296) @@ -131900,7 +139029,7 @@ ifend114: %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then115, label %ifend117 then115: - call void @fn_die(ptr @.str12942) + call void @fn_die(ptr @.str13240) br label %ifend117 ifend117: %t301 = call ptr @fn_find_cc() @@ -131908,7 +139037,7 @@ ifend117: %t303 = call ptr @fn_ludic_home() store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t302 - %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str12943) + %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str13241) %t307 = load ptr, ptr %t295 %t308 = call ptr @lp_str_concat(ptr %t306, ptr %t307) store ptr %t308, ptr %t309 @@ -131921,26 +139050,26 @@ then118: br i1 %t313, label %then121, label %ifend123 then121: %t314 = load ptr, ptr %t304 - %t315 = call ptr @fn_join_path(ptr %t314, ptr @.str12944) + %t315 = call ptr @fn_join_path(ptr %t314, ptr @.str13242) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t309 - %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str12945) + %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str13243) %t319 = load ptr, ptr %t316 %t320 = call ptr @lp_str_concat(ptr %t318, ptr %t319) - %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str12946) + %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str13244) store ptr %t321, ptr %t309 %t322 = load i32, ptr @g_g_uses_audio %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then124, label %ifend126 then124: %t324 = load ptr, ptr %t304 - %t325 = call ptr @fn_join_path(ptr %t324, ptr @.str12947) + %t325 = call ptr @fn_join_path(ptr %t324, ptr @.str13245) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t309 - %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str12948) + %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str13246) %t329 = load ptr, ptr %t326 %t330 = call ptr @lp_str_concat(ptr %t328, ptr %t329) - %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str12949) + %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str13247) store ptr %t331, ptr %t309 br label %ifend126 ifend126: @@ -131953,26 +139082,26 @@ else119: br i1 %t333, label %then127, label %ifend129 then127: %t334 = load ptr, ptr %t304 - %t335 = call ptr @fn_join_path(ptr %t334, ptr @.str12950) + %t335 = call ptr @fn_join_path(ptr %t334, ptr @.str13248) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t309 - %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str12951) + %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str13249) %t339 = load ptr, ptr %t336 %t340 = call ptr @lp_str_concat(ptr %t338, ptr %t339) - %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str12952) + %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str13250) store ptr %t341, ptr %t309 %t342 = load i32, ptr @g_g_uses_audio %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then130, label %ifend132 then130: %t344 = load ptr, ptr %t304 - %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str12953) + %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str13251) store ptr %t345, ptr %t346 %t347 = load ptr, ptr %t309 - %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str12954) + %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str13252) %t349 = load ptr, ptr %t346 %t350 = call ptr @lp_str_concat(ptr %t348, ptr %t349) - %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str12955) + %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str13253) store ptr %t351, ptr %t309 br label %ifend132 ifend132: @@ -131989,17 +139118,17 @@ then133: br i1 %t355, label %then136, label %else137 then136: %t356 = load ptr, ptr %t309 - %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str12956) + %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str13254) %t358 = load ptr, ptr %t304 - %t359 = call ptr @fn_join_path(ptr %t358, ptr @.str12957) + %t359 = call ptr @fn_join_path(ptr %t358, ptr @.str13255) %t360 = call ptr @lp_str_concat(ptr %t357, ptr %t359) store ptr %t360, ptr %t309 br label %ifend138 else137: %t361 = load ptr, ptr %t309 - %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str12958) + %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str13256) %t363 = load ptr, ptr %t304 - %t364 = call ptr @fn_join_path(ptr %t363, ptr @.str12959) + %t364 = call ptr @fn_join_path(ptr %t363, ptr @.str13257) %t365 = call ptr @lp_str_concat(ptr %t362, ptr %t364) store ptr %t365, ptr %t309 br label %ifend138 @@ -132015,18 +139144,18 @@ then139: br i1 %t369, label %then142, label %else143 then142: %t370 = load ptr, ptr %t309 - %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str12960) + %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str13258) %t372 = load ptr, ptr %t304 - %t373 = call ptr @fn_join_path(ptr %t372, ptr @.str12961) + %t373 = call ptr @fn_join_path(ptr %t372, ptr @.str13259) %t374 = call ptr @lp_str_concat(ptr %t371, ptr %t373) - %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str12962) + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str13260) store ptr %t375, ptr %t309 br label %ifend144 else143: %t376 = load ptr, ptr %t309 - %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str12963) + %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str13261) %t378 = load ptr, ptr %t304 - %t379 = call ptr @fn_join_path(ptr %t378, ptr @.str12964) + %t379 = call ptr @fn_join_path(ptr %t378, ptr @.str13262) %t380 = call ptr @lp_str_concat(ptr %t377, ptr %t379) store ptr %t380, ptr %t309 br label %ifend144 @@ -132050,7 +139179,7 @@ scend146: br i1 %t389, label %then147, label %ifend149 then147: %t390 = load ptr, ptr %t309 - %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str12965) + %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str13263) store ptr %t391, ptr %t309 br label %ifend149 ifend149: @@ -132063,17 +139192,17 @@ then150: br i1 %t395, label %then153, label %else154 then153: %t396 = load ptr, ptr %t309 - %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str12966) + %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str13264) %t398 = load ptr, ptr %t304 - %t399 = call ptr @fn_join_path(ptr %t398, ptr @.str12967) + %t399 = call ptr @fn_join_path(ptr %t398, ptr @.str13265) %t400 = call ptr @lp_str_concat(ptr %t397, ptr %t399) store ptr %t400, ptr %t309 br label %ifend155 else154: %t401 = load ptr, ptr %t309 - %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str12968) + %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str13266) %t403 = load ptr, ptr %t304 - %t404 = call ptr @fn_join_path(ptr %t403, ptr @.str12969) + %t404 = call ptr @fn_join_path(ptr %t403, ptr @.str13267) %t405 = call ptr @lp_str_concat(ptr %t402, ptr %t404) store ptr %t405, ptr %t309 br label %ifend155 @@ -132089,24 +139218,24 @@ then156: br i1 %t409, label %then159, label %else160 then159: %t410 = load ptr, ptr %t304 - %t411 = call ptr @fn_join_path(ptr %t410, ptr @.str12970) + %t411 = call ptr @fn_join_path(ptr %t410, ptr @.str13268) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t309 - %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str12971) + %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str13269) %t415 = load ptr, ptr %t412 %t416 = call ptr @lp_str_concat(ptr %t414, ptr %t415) - %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str12972) + %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str13270) store ptr %t417, ptr %t309 br label %ifend161 else160: %t418 = load ptr, ptr %t304 - %t419 = call ptr @fn_join_path(ptr %t418, ptr @.str12973) + %t419 = call ptr @fn_join_path(ptr %t418, ptr @.str13271) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t309 - %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str12974) + %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str13272) %t423 = load ptr, ptr %t420 %t424 = call ptr @lp_str_concat(ptr %t422, ptr %t423) - %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str12975) + %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str13273) store ptr %t425, ptr %t309 br label %ifend161 ifend161: @@ -132121,51 +139250,51 @@ then162: br i1 %t429, label %then165, label %else166 then165: %t430 = load ptr, ptr %t304 - %t431 = call ptr @fn_join_path(ptr %t430, ptr @.str12976) + %t431 = call ptr @fn_join_path(ptr %t430, ptr @.str13274) store ptr %t431, ptr %t432 %t433 = load ptr, ptr %t304 - %t434 = call ptr @fn_join_path(ptr %t433, ptr @.str12977) + %t434 = call ptr @fn_join_path(ptr %t433, ptr @.str13275) store ptr %t434, ptr %t435 %t436 = load ptr, ptr %t304 - %t437 = call ptr @fn_join_path(ptr %t436, ptr @.str12978) + %t437 = call ptr @fn_join_path(ptr %t436, ptr @.str13276) store ptr %t437, ptr %t438 %t439 = load i32, ptr @g_g_windowed %t440 = icmp ne i32 %t439, 0 br i1 %t440, label %then168, label %ifend170 then168: %t441 = load ptr, ptr %t304 - %t442 = call ptr @fn_join_path(ptr %t441, ptr @.str12979) + %t442 = call ptr @fn_join_path(ptr %t441, ptr @.str13277) store ptr %t442, ptr %t438 br label %ifend170 ifend170: %t443 = load ptr, ptr %t309 - %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str12980) + %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str13278) %t445 = load ptr, ptr %t432 %t446 = call ptr @lp_str_concat(ptr %t444, ptr %t445) - %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str12981) + %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str13279) %t448 = load ptr, ptr %t435 %t449 = call ptr @lp_str_concat(ptr %t447, ptr %t448) - %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str12982) + %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str13280) %t451 = load ptr, ptr %t438 %t452 = call ptr @lp_str_concat(ptr %t450, ptr %t451) - %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str12983) + %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str13281) store ptr %t453, ptr %t309 br label %ifend167 else166: %t454 = load ptr, ptr %t304 - %t455 = call ptr @fn_join_path(ptr %t454, ptr @.str12984) + %t455 = call ptr @fn_join_path(ptr %t454, ptr @.str13282) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t304 - %t458 = call ptr @fn_join_path(ptr %t457, ptr @.str12985) + %t458 = call ptr @fn_join_path(ptr %t457, ptr @.str13283) store ptr %t458, ptr %t459 %t460 = load ptr, ptr %t309 - %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str12986) + %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str13284) %t462 = load ptr, ptr %t456 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) - %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str12987) + %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str13285) %t465 = load ptr, ptr %t459 %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) - %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str12988) + %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str13286) store ptr %t467, ptr %t309 br label %ifend167 ifend167: @@ -132176,25 +139305,25 @@ ifend164: br i1 %t469, label %then171, label %ifend173 then171: %t470 = load ptr, ptr %t304 - %t471 = call ptr @fn_join_path(ptr %t470, ptr @.str12989) + %t471 = call ptr @fn_join_path(ptr %t470, ptr @.str13287) store ptr %t471, ptr %t472 %t473 = load ptr, ptr %t304 - %t474 = call ptr @fn_join_path(ptr %t473, ptr @.str12990) + %t474 = call ptr @fn_join_path(ptr %t473, ptr @.str13288) store ptr %t474, ptr %t475 %t476 = load i32, ptr @g_g_target_win %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then174, label %ifend176 then174: %t478 = load ptr, ptr %t304 - %t479 = call ptr @fn_join_path(ptr %t478, ptr @.str12991) + %t479 = call ptr @fn_join_path(ptr %t478, ptr @.str13289) store ptr %t479, ptr %t475 br label %ifend176 ifend176: %t480 = load ptr, ptr %t309 - %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str12992) + %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str13290) %t482 = load ptr, ptr %t472 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) - %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str12993) + %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str13291) %t485 = load ptr, ptr %t475 %t486 = call ptr @lp_str_concat(ptr %t484, ptr %t485) store ptr %t486, ptr %t309 @@ -132217,7 +139346,7 @@ scend178: br i1 %t495, label %then179, label %ifend181 then179: %t496 = load ptr, ptr %t309 - %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str12994) + %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str13292) store ptr %t497, ptr %t309 br label %ifend181 ifend181: @@ -132234,7 +139363,7 @@ wcond182: br i1 %t505, label %wbody183, label %wend184 wbody183: %t506 = load ptr, ptr %t309 - %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str12995) + %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str13293) %t508 = load ptr, ptr %t16 %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t510 = load ptr, ptr %t509 @@ -132245,14 +139374,14 @@ wbody183: br i1 %t514, label %ixok185, label %ixbad186 ixbad186: %t515 = call ptr @lp_win_stdio(i32 2) - call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str12996, i32 %t511, i32 %t513) + call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str13294, i32 %t511, i32 %t513) call void @exit(i32 1) unreachable ixok185: %t516 = getelementptr inbounds ptr, ptr %t510, i32 %t511 %t517 = load ptr, ptr %t516 %t518 = call ptr @lp_str_concat(ptr %t507, ptr %t517) - %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str12997) + %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str13295) store ptr %t519, ptr %t309 %t520 = load i32, ptr %t498 %t521 = add i32 %t520, 1 @@ -132260,7 +139389,7 @@ ixok185: br label %wcond182 wend184: %t522 = load ptr, ptr %t309 - %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str12998) + %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str13296) %t524 = load ptr, ptr %t1 %t525 = call ptr @lp_str_concat(ptr %t523, ptr %t524) store ptr %t525, ptr %t309 @@ -132271,8 +139400,8 @@ wend184: br i1 %t529, label %then187, label %ifend189 then187: %t530 = load ptr, ptr %t309 - %t531 = call ptr @lp_str_concat(ptr @.str12999, ptr %t530) - %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str13000) + %t531 = call ptr @lp_str_concat(ptr @.str13297, ptr %t530) + %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str13298) store ptr %t532, ptr %t527 br label %ifend189 ifend189: @@ -132295,7 +139424,7 @@ ifend192: %t544 = icmp ne i32 %t543, 0 br i1 %t544, label %then193, label %ifend195 then193: - call void @fn_die(ptr @.str13001) + call void @fn_die(ptr @.str13299) br label %ifend195 ifend195: %t545 = load i32, ptr %t6 @@ -132308,8 +139437,8 @@ then196: then199: %t549 = load ptr, ptr %t1 %t550 = call ptr @fn_win_path(ptr %t549) - %t551 = call ptr @lp_str_concat(ptr @.str13002, ptr %t550) - %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str13003) + %t551 = call ptr @lp_str_concat(ptr @.str13300, ptr %t550) + %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str13301) %t553 = call i32 @system(ptr %t552) call void @exit(i32 %t553) unreachable diff --git a/selfhost/main.ludic b/selfhost/main.ludic index 9177de13..dcdf004c 100644 --- a/selfhost/main.ludic +++ b/selfhost/main.ludic @@ -202,6 +202,7 @@ entry { else { g_windowed = has_target and has_systems() } g_parsing = false # lowering errors now locate by statement, not token + check_program() # L4: the types agree before anything is emitted emit_program() # --emit-llvm, or no binary target: emit IR and stop (stdout when out is null). diff --git a/selfhost/support/io.ludic b/selfhost/support/io.ludic index 98d5998b..0b328119 100644 --- a/selfhost/support/io.ludic +++ b/selfhost/support/io.ludic @@ -1,7 +1,7 @@ # io.ludic — reading the input file and writing the output, plus tiny stdio. # The compiler reads one .ludic file whole and emits LLVM IR text to stdout. -function read_file(path: string) -> pointer { +function read_file(path: pointer) -> pointer { let f = file_open(path, "rb") if (f == null) { return null } file_seek(f, 0, 2) diff --git a/tools/ludic-cli/build.ludic b/tools/ludic-cli/build.ludic index 4a1dbd2d..2325b0fa 100644 --- a/tools/ludic-cli/build.ludic +++ b/tools/ludic-cli/build.ludic @@ -133,7 +133,7 @@ function threads_link_flags(ll: pointer) -> pointer { } # the file part of a path: everything after the last '/' -function file_of_path(p: pointer) -> pointer { +function file_of_path(p: pointer) -> string { let d = dir_of_path(p) if len(d) == 0 { return p } return p[len(d) + 1..len(p)] diff --git a/tools/ludic-cli/docgen.ludic b/tools/ludic-cli/docgen.ludic index bba7c340..fb840123 100644 --- a/tools/ludic-cli/docgen.ludic +++ b/tools/ludic-cli/docgen.ludic @@ -44,7 +44,7 @@ function sb_putc(s: Sb, c: int) -> void { s.data[s.len] = c s.len += 1 } -function sb_str(s: Sb) -> pointer { +function sb_str(s: Sb) -> string { s.data[s.len] = 0 return s.data } @@ -134,7 +134,7 @@ function strs_sort(a: []pointer) -> void { # `` backtick spans: `x` -> x (inner text NOT escaped). # Mirrors codeify's re.sub(r"`([^`]+)`", ...): needs >=1 non-backtick inside. -function codeify(s: pointer) -> pointer { +function codeify(s: pointer) -> string { let n = slen(s) let b = sb_new() var i = 0 diff --git a/tools/ludic-cli/glgen.ludic b/tools/ludic-cli/glgen.ludic index c44e8e5d..22cbe13d 100644 --- a/tools/ludic-cli/glgen.ludic +++ b/tools/ludic-cli/glgen.ludic @@ -405,7 +405,9 @@ function glg_emit_ludic(path: pointer) -> bool { sb_puts(ps, `{glg_pname(glg_ppname[ix], p)}: {lt}`) p += 1 } - let rt = glg_ludic_ty(glg_frbase[i], glg_frstar[i]) + var rt = glg_ludic_ty(glg_frbase[i], glg_frstar[i]) + # a returned `const GLubyte *` is the driver's text (glGetString): a string, not memory + if glg_frstar[i] == 1 and (glg_frbase[i] == "GLubyte" or glg_frbase[i] == "GLchar") { rt = "string" } var rets = "" if rt != "void" { rets = " -> " + rt } sb_puts(b, `extern function {lname}({sb_str(ps)}){rets} = "lgl_{glg_fname[i]}"\n`) diff --git a/tools/ludic-cli/json.ludic b/tools/ludic-cli/json.ludic index dd4b4515..419c117a 100644 --- a/tools/ludic-cli/json.ludic +++ b/tools/ludic-cli/json.ludic @@ -51,7 +51,7 @@ function utf8_put(b: pointer, n: int, cp: int) -> int { } # parse a JSON string starting at the opening quote; returns a fresh buffer -function j_string() -> pointer { +function j_string() -> string { jpos += 1 # opening quote # over-allocate: escapes only ever shrink the byte count let cap = slen(jbuf) - jpos + 1 diff --git a/tools/ludic-cli/pack.ludic b/tools/ludic-cli/pack.ludic index cd3d2b83..59492d39 100644 --- a/tools/ludic-cli/pack.ludic +++ b/tools/ludic-cli/pack.ludic @@ -437,7 +437,7 @@ function pack_roots(m: Manifest, from: int) -> []pointer { } # the pack a project builds by default: build/.lpak -function pack_default_out(m: Manifest) -> pointer { +function pack_default_out(m: Manifest) -> string { return `build/{project_name("")}.lpak` } diff --git a/tools/ludic-cli/prelude.ludic b/tools/ludic-cli/prelude.ludic index a5dafb43..c0223792 100644 --- a/tools/ludic-cli/prelude.ludic +++ b/tools/ludic-cli/prelude.ludic @@ -13,7 +13,7 @@ # ---- file IO ---------------------------------------------------------------- # read a whole file into a fresh NUL-terminated buffer (null if it cannot open) -function read_file(path: pointer) -> pointer { +function read_file(path: pointer) -> string { let f = file_open(path, "rb") if (f == null) { return null } file_seek(f, 0, 2) @@ -122,7 +122,7 @@ function tmp_dir() -> pointer { } # a scratch path under tmp_dir(): tmp_path("foo.out") -function tmp_path(name: pointer) -> pointer { return `{tmp_dir()}/{name}` } +function tmp_path(name: pointer) -> string { return `{tmp_dir()}/{name}` } # remove the scratch directory (idempotent; a no-op when nothing was written). # LUDIC_KEEP_TMP=1 leaves it in place, and says where, for debugging a failing case. @@ -147,7 +147,7 @@ function capture(cmd: pointer) -> pointer { # run `cmd`, join its output lines with single spaces and trim — the Ludic twin # of the shell idiom `$(cmd | tr '\n' ' ' | sed 's/ *$//')`. -function capture_line(cmd: pointer) -> pointer { +function capture_line(cmd: pointer) -> string { return capture(`{cmd} | tr '\n' ' ' | sed 's/ *$//'`) } @@ -233,7 +233,7 @@ function report() -> int { } # a positional argument, or a default when it is absent -function argn(i: int, dflt: pointer) -> pointer { +function argn(i: int, dflt: pointer) -> string { if (i < arg_count()) { return arg(i) } return dflt } @@ -399,7 +399,7 @@ function line_at(s: pointer, start: int) -> pointer { } # trim leading/trailing ASCII whitespace (space, tab, cr, nl) -function s_trim(s: pointer) -> pointer { +function s_trim(s: pointer) -> string { let n = slen(s) var a = 0 while a < n and (is_ws(s[a]) or s[a] == '\n' or s[a] == '\r') { a += 1 } diff --git a/tools/ludic-cli/release.ludic b/tools/ludic-cli/release.ludic index 25c17977..bef84f67 100644 --- a/tools/ludic-cli/release.ludic +++ b/tools/ludic-cli/release.ludic @@ -31,7 +31,7 @@ function has_changesets() -> bool { # the highest bump level requested across the pending changesets ("" if none). # README.md is excluded — its format example carries a literal `bump:` line that # must not count as a real changeset. -function highest_bump() -> pointer { +function highest_bump() -> string { if shq("grep -rhqE '^bump:[[:space:]]*major' --include='*.md' --exclude='README.md' changes 2>/dev/null") { return "major" } if shq("grep -rhqE '^bump:[[:space:]]*minor' --include='*.md' --exclude='README.md' changes 2>/dev/null") { return "minor" } if shq("grep -rhqE '^bump:[[:space:]]*patch' --include='*.md' --exclude='README.md' changes 2>/dev/null") { return "patch" } diff --git a/tools/ludic-cli/selfhost.ludic b/tools/ludic-cli/selfhost.ludic index 17ee74c1..8a88634b 100644 --- a/tools/ludic-cli/selfhost.ludic +++ b/tools/ludic-cli/selfhost.ludic @@ -55,6 +55,13 @@ function selfhost_frags() -> []pointer { push(f, "selfhost/backend/emit_call.ludic") push(f, "selfhost/backend/emit_fnval.ludic") push(f, "selfhost/backend/emit_vis.ludic") + push(f, "selfhost/check/check_index.ludic") + push(f, "selfhost/check/check_types.ludic") + push(f, "selfhost/check/check_env.ludic") + push(f, "selfhost/check/check_expr.ludic") + push(f, "selfhost/check/check_ops.ludic") + push(f, "selfhost/check/check_call.ludic") + push(f, "selfhost/check/check_stmt.ludic") push(f, "selfhost/backend/emit_stmt.ludic") push(f, "selfhost/backend/game/emit_ecs.ludic") push(f, "selfhost/backend/game/emit_query.ludic") diff --git a/tools/ludic-cli/shaders.ludic b/tools/ludic-cli/shaders.ludic index 3254e32c..16389dce 100644 --- a/tools/ludic-cli/shaders.ludic +++ b/tools/ludic-cli/shaders.ludic @@ -161,7 +161,7 @@ function shd_file(name: pointer) -> pointer { function shd_q(p: pointer) -> pointer { return `"{p}"` } -function shd_reflect_stage(mf: pointer, id: pointer, stage: pointer, spv: pointer, tmp: pointer) -> bool { +function shd_reflect_stage(mf: Sb, id: pointer, stage: pointer, spv: pointer, tmp: pointer) -> bool { let js = `{tmp}/{id}.{stage}.json` if not shq(`{shd_q(shd_bin + "/spirv-cross")} {shd_q(spv)} --reflect > {shd_q(js)} 2>/dev/null`) { err(`shaders: spirv-cross failed on {spv}\n`); return false } let d = json_parse(read_file(js)) diff --git a/tools/ludic-cli/test.ludic b/tools/ludic-cli/test.ludic index 011d0eb4..1d0b2df6 100644 --- a/tools/ludic-cli/test.ludic +++ b/tools/ludic-cli/test.ludic @@ -31,6 +31,17 @@ function reject_case(path: pointer, want: pointer, label: pointer) -> void { if s_contains(got, want) { ok(label) } else { bad2(label, `refused, but said [{got}]`) } } +# a program the checker refuses for exactly `n` reasons, all of them reported in one run +function reject_count(path: pointer, n: int, label: pointer) -> void { + let ll = `{tmp_dir()}/rj_{flat(path)}.ll` + if shq(`bin/ludicc examples/{path}.ludic --emit-llvm -o {ll} 2>{tmp_dir()}/rj.err`) { + bad2(label, "compiled, and should have been refused") + return + } + let got = capture_line(`grep -c ': error:' {tmp_dir()}/rj.err`) + if (got == string(n)) { ok(label) } else { bad2(label, `reported {got} error(s), not {n}`) } +} + # a feature example that consumes an in-repo controller package (packages/): same # as feat_case, but the compiler is pointed at packages/ via LUDIC_MODULES so a # `import "ludic.foo/bar.ludic"` resolves, and LUDIC_HOME anchors the engine @@ -705,9 +716,16 @@ function cmd_dev_test() -> int { reject_case("rejected/redeclared_local", "'v0' is declared twice in this block", "a local declared twice in one block is refused") reject_case("rejected/missing_return", "can reach its end without returning", "a function that can run off its end without its result is refused") feat_case("functions/values", "", "42 10 25 49 81 1.5 1", "values.ludic (L2: fn types, fn name, calls through a local, global, field, element, parameter, result)") - reject_case("rejected/fn_type_mismatch", "is not a fn(int)->int", "a function of the wrong type is refused") + reject_case("rejected/fn_type_mismatch", "op wants a fn(int)->int and this is a fn(float)->float", "a function of the wrong type is refused") feat_case("modules/visible", "", "42 42", "visible.ludic (L3: a module's exported function and event used from outside it)") reject_case("rejected/private_module", "add is private to module bank", "a private function of another module is refused") + feat_case("lang/checked", "", "7.5 3 12 hi 2 ok", "checked.ludic (L4: literals take their slot's kind, string(p), []string as []pointer, null, named args)") + reject_case("rejected/wrong_arity", "area takes 2 argument(s) and this call gives 1", "a call with the wrong number of arguments is refused") + reject_case("rejected/float_into_int", "metres wants an int and this is a float", "a float computed into an int is refused") + reject_case("rejected/record_mixup", "d wants a Door and this is a Key", "one record type is not another") + reject_case("rejected/record_as_text", "argument 1 of sign wants a string and this is a Trail", "a record is not text") + reject_case("rejected/text_plus_number", "text joins text only", "text plus a number is refused") + reject_count("rejected/every_error", 3, "every type error in a program is reported at once, not only the first") # EV2 the world table: the mod reflection ABI, callable from Ludic by name. net_case("ecs/world_get", "50 1 7")