mirror of
https://github.com/roc-lang/roc.git
synced 2025-07-07 14:44:59 +00:00
added List.keep_if_try!
(#7804)
* added keep_if_try! * cleanup types * cleanup var name
This commit is contained in:
parent
e1f4ac1a96
commit
c93e27ca9a
48 changed files with 1479 additions and 1382 deletions
|
@ -1050,6 +1050,23 @@ mod cli_tests {
|
|||
let cli_dev_out = cli_dev.run();
|
||||
cli_dev_out.assert_clean_success();
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(windows, ignore)]
|
||||
fn effectful_keep_if_try() {
|
||||
build_platform_host();
|
||||
|
||||
let cli_dev = ExecCli::new(
|
||||
roc_cli::CMD_DEV,
|
||||
file_from_root(
|
||||
"crates/cli/tests/test-projects/effectful",
|
||||
"keep_if_try.roc",
|
||||
),
|
||||
);
|
||||
|
||||
let cli_dev_out = cli_dev.run();
|
||||
cli_dev_out.assert_clean_success();
|
||||
}
|
||||
}
|
||||
|
||||
// this is for testing the benchmarks (on small inputs), to perform proper benchmarks see crates/cli/benches/README.md
|
||||
|
|
56
crates/cli/tests/test-projects/effectful/keep_if_try.roc
Normal file
56
crates/cli/tests/test-projects/effectful/keep_if_try.roc
Normal file
|
@ -0,0 +1,56 @@
|
|||
app [main!] { pf: platform "../test-platform-effects-zig/main.roc" }
|
||||
|
||||
import pf.Effect
|
||||
|
||||
main! : {} => {}
|
||||
main! = \{} ->
|
||||
when run!({}) is
|
||||
Ok({}) ->
|
||||
Effect.put_line!("Success!")
|
||||
Err(err) ->
|
||||
crash "Error: ${Inspect.to_str(err)}"
|
||||
|
||||
run! : {} => Result {} [StrErr(Str), NotZeroOrOne]
|
||||
run! = \{} ->
|
||||
sanity_check_bool = is_zero!(0)?
|
||||
err_on_false(sanity_check_bool, "sanity check")?
|
||||
|
||||
two_zeros = List.keep_if_try!([1, 0, 0], is_zero!)?
|
||||
err_on_false((two_zeros == [0, 0]), "test 1")?
|
||||
|
||||
one_zero = List.keep_if_try!([0, 1], is_zero!)?
|
||||
err_on_false((one_zero == [0]), "test 2")?
|
||||
|
||||
one_zero_again = List.keep_if_try!([1, 0], is_zero!)?
|
||||
err_on_false((one_zero_again == [0]), "test 3")?
|
||||
|
||||
three_zeros = List.keep_if_try!([0, 0, 0], is_zero!)?
|
||||
err_on_false((three_zeros == [0, 0, 0]), "test 4")?
|
||||
|
||||
just_one = List.keep_if_try!([1], is_zero!)?
|
||||
err_on_false((just_one == []), "test 5")?
|
||||
|
||||
one_zero_input = List.keep_if_try!([0], is_zero!)?
|
||||
err_on_false((one_zero_input == [0]), "test 6")?
|
||||
|
||||
empty_list = List.keep_if_try!([], is_zero!)?
|
||||
err_on_false((empty_list == []), "test 7")?
|
||||
|
||||
Ok({})
|
||||
|
||||
is_zero! : U64 => Result Bool [NotZeroOrOne]
|
||||
is_zero! = \num ->
|
||||
_ = Effect.id_effectful!(num)
|
||||
if num == 0 then
|
||||
Ok(Bool.true)
|
||||
else if num == 1 then
|
||||
Ok(Bool.false)
|
||||
else
|
||||
Err(NotZeroOrOne)
|
||||
|
||||
err_on_false : Bool, Str -> Result {} [StrErr(Str)]
|
||||
err_on_false = |bool, test_name|
|
||||
if bool then
|
||||
Ok({})
|
||||
else
|
||||
Err(StrErr("Test failed: ${Inspect.to_str(test_name)}"))
|
|
@ -21,6 +21,7 @@ module [
|
|||
reverse,
|
||||
join,
|
||||
keep_if,
|
||||
keep_if_try!,
|
||||
contains,
|
||||
sum,
|
||||
walk,
|
||||
|
@ -679,6 +680,28 @@ keep_if_help = |list, predicate, kept, index, length|
|
|||
else
|
||||
List.take_first(list, kept)
|
||||
|
||||
## Run an effectful function that returns a [Result] on each element of a list, and return all the
|
||||
## elements for which the function returned `Ok(Bool.true)`.
|
||||
## ```roc
|
||||
## dirs_only = List.keep_if_try!(path_list, Path.is_dir!)?
|
||||
## ```
|
||||
##
|
||||
keep_if_try! : List a, (a => Result Bool err) => Result (List a) err
|
||||
keep_if_try! = |list, predicate!|
|
||||
length = List.len(list)
|
||||
|
||||
keep_if_try_help!(list, predicate!, 0, 0, length)
|
||||
|
||||
keep_if_try_help! : List a, (a => Result Bool err), U64, U64, U64 => Result (List a) err
|
||||
keep_if_try_help! = |list, predicate!, kept, index, length|
|
||||
if index < length then
|
||||
if predicate!(List.get_unsafe(list, index))? then
|
||||
keep_if_try_help!(List.swap(list, kept, index), predicate!, Num.add_wrap(kept, 1), Num.add_wrap(index, 1), length)
|
||||
else
|
||||
keep_if_try_help!(list, predicate!, kept, Num.add_wrap(index, 1), length)
|
||||
else
|
||||
Ok(List.take_first(list, kept))
|
||||
|
||||
## Run the given function on each element of a list, and return all the
|
||||
## elements for which the function returned `Bool.false`.
|
||||
## ```roc
|
||||
|
|
|
@ -1532,6 +1532,7 @@ define_builtins! {
|
|||
94 LIST_SPLIT_ON_LIST: "split_on_list"
|
||||
95 LIST_WALK_TRY_FX: "walk_try!"
|
||||
96 LIST_MAP_TRY_FX: "map_try!"
|
||||
97 LIST_KEEP_IF_TRY_FX: "keep_if_try!"
|
||||
}
|
||||
7 RESULT: "Result" => {
|
||||
0 RESULT_RESULT: "Result" exposed_type=true // the Result.Result type alias
|
||||
|
|
|
@ -2,81 +2,81 @@ procedure Bool.9 (#Attr.2, #Attr.3):
|
|||
let Bool.21 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.21;
|
||||
|
||||
procedure List.117 (List.571, List.572, List.573):
|
||||
let List.701 : U64 = 0i64;
|
||||
let List.702 : U64 = CallByName List.6 List.571;
|
||||
let List.700 : [C U64, C U64] = CallByName List.80 List.571 List.572 List.573 List.701 List.702;
|
||||
ret List.700;
|
||||
procedure List.119 (List.582, List.583, List.584):
|
||||
let List.712 : U64 = 0i64;
|
||||
let List.713 : U64 = CallByName List.6 List.582;
|
||||
let List.711 : [C U64, C U64] = CallByName List.80 List.582 List.583 List.584 List.712 List.713;
|
||||
ret List.711;
|
||||
|
||||
procedure List.26 (List.214, List.215, List.216):
|
||||
let List.694 : [C U64, C U64] = CallByName List.117 List.214 List.215 List.216;
|
||||
let List.697 : U8 = 1i64;
|
||||
let List.698 : U8 = GetTagId List.694;
|
||||
let List.699 : Int1 = lowlevel Eq List.697 List.698;
|
||||
if List.699 then
|
||||
let List.217 : U64 = UnionAtIndex (Id 1) (Index 0) List.694;
|
||||
ret List.217;
|
||||
procedure List.26 (List.216, List.217, List.218):
|
||||
let List.705 : [C U64, C U64] = CallByName List.119 List.216 List.217 List.218;
|
||||
let List.708 : U8 = 1i64;
|
||||
let List.709 : U8 = GetTagId List.705;
|
||||
let List.710 : Int1 = lowlevel Eq List.708 List.709;
|
||||
if List.710 then
|
||||
let List.219 : U64 = UnionAtIndex (Id 1) (Index 0) List.705;
|
||||
ret List.219;
|
||||
else
|
||||
let List.218 : U64 = UnionAtIndex (Id 0) (Index 0) List.694;
|
||||
ret List.218;
|
||||
let List.220 : U64 = UnionAtIndex (Id 0) (Index 0) List.705;
|
||||
ret List.220;
|
||||
|
||||
procedure List.38 (List.402, List.403):
|
||||
let List.693 : U64 = CallByName List.6 List.402;
|
||||
let List.404 : U64 = CallByName Num.77 List.693 List.403;
|
||||
let List.683 : List U8 = CallByName List.43 List.402 List.404;
|
||||
ret List.683;
|
||||
procedure List.38 (List.413, List.414):
|
||||
let List.704 : U64 = CallByName List.6 List.413;
|
||||
let List.415 : U64 = CallByName Num.77 List.704 List.414;
|
||||
let List.694 : List U8 = CallByName List.43 List.413 List.415;
|
||||
ret List.694;
|
||||
|
||||
procedure List.43 (List.400, List.401):
|
||||
let List.691 : U64 = CallByName List.6 List.400;
|
||||
let List.690 : U64 = CallByName Num.77 List.691 List.401;
|
||||
let List.685 : {U64, U64} = Struct {List.401, List.690};
|
||||
let List.684 : List U8 = CallByName List.49 List.400 List.685;
|
||||
ret List.684;
|
||||
procedure List.43 (List.411, List.412):
|
||||
let List.702 : U64 = CallByName List.6 List.411;
|
||||
let List.701 : U64 = CallByName Num.77 List.702 List.412;
|
||||
let List.696 : {U64, U64} = Struct {List.412, List.701};
|
||||
let List.695 : List U8 = CallByName List.49 List.411 List.696;
|
||||
ret List.695;
|
||||
|
||||
procedure List.49 (List.478, List.479):
|
||||
let List.687 : U64 = StructAtIndex 1 List.479;
|
||||
let List.688 : U64 = StructAtIndex 0 List.479;
|
||||
let List.686 : List U8 = CallByName List.72 List.478 List.687 List.688;
|
||||
ret List.686;
|
||||
procedure List.49 (List.489, List.490):
|
||||
let List.698 : U64 = StructAtIndex 1 List.490;
|
||||
let List.699 : U64 = StructAtIndex 0 List.490;
|
||||
let List.697 : List U8 = CallByName List.72 List.489 List.698 List.699;
|
||||
ret List.697;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.692 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.692;
|
||||
let List.703 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.703;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.715 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.715;
|
||||
let List.726 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.726;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.689 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.689;
|
||||
let List.700 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.700;
|
||||
|
||||
procedure List.80 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
|
||||
joinpoint List.703 List.574 List.575 List.576 List.577 List.578:
|
||||
let List.705 : Int1 = CallByName Num.22 List.577 List.578;
|
||||
if List.705 then
|
||||
let List.714 : U8 = CallByName List.66 List.574 List.577;
|
||||
let List.706 : [C U64, C U64] = CallByName Test.4 List.575 List.714;
|
||||
let List.711 : U8 = 1i64;
|
||||
let List.712 : U8 = GetTagId List.706;
|
||||
let List.713 : Int1 = lowlevel Eq List.711 List.712;
|
||||
if List.713 then
|
||||
let List.579 : U64 = UnionAtIndex (Id 1) (Index 0) List.706;
|
||||
let List.709 : U64 = 1i64;
|
||||
let List.708 : U64 = CallByName Num.51 List.577 List.709;
|
||||
jump List.703 List.574 List.579 List.576 List.708 List.578;
|
||||
joinpoint List.714 List.585 List.586 List.587 List.588 List.589:
|
||||
let List.716 : Int1 = CallByName Num.22 List.588 List.589;
|
||||
if List.716 then
|
||||
let List.725 : U8 = CallByName List.66 List.585 List.588;
|
||||
let List.717 : [C U64, C U64] = CallByName Test.4 List.586 List.725;
|
||||
let List.722 : U8 = 1i64;
|
||||
let List.723 : U8 = GetTagId List.717;
|
||||
let List.724 : Int1 = lowlevel Eq List.722 List.723;
|
||||
if List.724 then
|
||||
let List.590 : U64 = UnionAtIndex (Id 1) (Index 0) List.717;
|
||||
let List.720 : U64 = 1i64;
|
||||
let List.719 : U64 = CallByName Num.51 List.588 List.720;
|
||||
jump List.714 List.585 List.590 List.587 List.719 List.589;
|
||||
else
|
||||
dec List.574;
|
||||
let List.580 : U64 = UnionAtIndex (Id 0) (Index 0) List.706;
|
||||
let List.710 : [C U64, C U64] = TagId(0) List.580;
|
||||
ret List.710;
|
||||
dec List.585;
|
||||
let List.591 : U64 = UnionAtIndex (Id 0) (Index 0) List.717;
|
||||
let List.721 : [C U64, C U64] = TagId(0) List.591;
|
||||
ret List.721;
|
||||
else
|
||||
dec List.574;
|
||||
let List.704 : [C U64, C U64] = TagId(1) List.575;
|
||||
ret List.704;
|
||||
dec List.585;
|
||||
let List.715 : [C U64, C U64] = TagId(1) List.586;
|
||||
ret List.715;
|
||||
in
|
||||
inc Bool.22;
|
||||
jump List.703 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
|
||||
jump List.714 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
procedure List.102 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.689 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.691 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.691 then
|
||||
let List.695 : [] = CallByName List.66 List.176 List.179;
|
||||
let List.181 : List {} = CallByName List.285 List.177 List.695 List.178;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.179 List.694;
|
||||
jump List.689 List.176 List.181 List.178 List.693 List.180;
|
||||
procedure List.103 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.700 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.702 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.702 then
|
||||
let List.706 : [] = CallByName List.66 List.178 List.181;
|
||||
let List.183 : List {} = CallByName List.296 List.179 List.706 List.180;
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : U64 = CallByName Num.51 List.181 List.705;
|
||||
jump List.700 List.178 List.183 List.180 List.704 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.21;
|
||||
jump List.689 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
jump List.700 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.173;
|
||||
let List.686 : List {} = CallByName List.102 List.173 List.174 List.175 List.687 List.688;
|
||||
ret List.686;
|
||||
|
||||
procedure List.285 (List.286, List.287, List.283):
|
||||
let List.700 : {} = CallByName Test.2 List.287;
|
||||
let List.699 : List {} = CallByName List.71 List.286 List.700;
|
||||
ret List.699;
|
||||
|
||||
procedure List.5 (List.282, List.283):
|
||||
let List.284 : U64 = CallByName List.6 List.282;
|
||||
let List.684 : List {} = CallByName List.68 List.284;
|
||||
let List.683 : List {} = CallByName List.18 List.282 List.684 List.283;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.697 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.698 : U64 = 0i64;
|
||||
let List.699 : U64 = CallByName List.6 List.175;
|
||||
let List.697 : List {} = CallByName List.103 List.175 List.176 List.177 List.698 List.699;
|
||||
ret List.697;
|
||||
|
||||
procedure List.296 (List.297, List.298, List.294):
|
||||
let List.711 : {} = CallByName Test.2 List.298;
|
||||
let List.710 : List {} = CallByName List.71 List.297 List.711;
|
||||
ret List.710;
|
||||
|
||||
procedure List.5 (List.293, List.294):
|
||||
let List.295 : U64 = CallByName List.6 List.293;
|
||||
let List.695 : List {} = CallByName List.68 List.295;
|
||||
let List.694 : List {} = CallByName List.18 List.293 List.695 List.294;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.696 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
let List.707 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.702 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.702;
|
||||
let List.713 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.713;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.701 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
let List.712 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.712;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
procedure List.102 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.689 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.691 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.691 then
|
||||
let List.695 : [] = CallByName List.66 List.176 List.179;
|
||||
let List.181 : List [] = CallByName List.285 List.177 List.695 List.178;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.179 List.694;
|
||||
jump List.689 List.176 List.181 List.178 List.693 List.180;
|
||||
procedure List.103 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.700 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.702 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.702 then
|
||||
let List.706 : [] = CallByName List.66 List.178 List.181;
|
||||
let List.183 : List [] = CallByName List.296 List.179 List.706 List.180;
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : U64 = CallByName Num.51 List.181 List.705;
|
||||
jump List.700 List.178 List.183 List.180 List.704 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.21;
|
||||
jump List.689 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
jump List.700 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.173;
|
||||
let List.686 : List [] = CallByName List.102 List.173 List.174 List.175 List.687 List.688;
|
||||
ret List.686;
|
||||
|
||||
procedure List.285 (List.286, List.287, List.283):
|
||||
let List.700 : [] = CallByName Test.2 List.287;
|
||||
let List.699 : List [] = CallByName List.71 List.286 List.700;
|
||||
ret List.699;
|
||||
|
||||
procedure List.5 (List.282, List.283):
|
||||
let List.284 : U64 = CallByName List.6 List.282;
|
||||
let List.684 : List [] = CallByName List.68 List.284;
|
||||
let List.683 : List [] = CallByName List.18 List.282 List.684 List.283;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.697 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.698 : U64 = 0i64;
|
||||
let List.699 : U64 = CallByName List.6 List.175;
|
||||
let List.697 : List [] = CallByName List.103 List.175 List.176 List.177 List.698 List.699;
|
||||
ret List.697;
|
||||
|
||||
procedure List.296 (List.297, List.298, List.294):
|
||||
let List.711 : [] = CallByName Test.2 List.298;
|
||||
let List.710 : List [] = CallByName List.71 List.297 List.711;
|
||||
ret List.710;
|
||||
|
||||
procedure List.5 (List.293, List.294):
|
||||
let List.295 : U64 = CallByName List.6 List.293;
|
||||
let List.695 : List [] = CallByName List.68 List.295;
|
||||
let List.694 : List [] = CallByName List.18 List.293 List.695 List.294;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.696 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
let List.707 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.702 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.702;
|
||||
let List.713 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.713;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.701 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
let List.712 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.712;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
procedure List.102 (Bool.34, Bool.35, Bool.36, Bool.37, Bool.38):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : [] = CallByName List.66 List.176 List.179;
|
||||
let List.181 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (Bool.34, Bool.35, Bool.36, Bool.37, Bool.38):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : [] = CallByName List.66 List.178 List.181;
|
||||
let List.183 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.34;
|
||||
jump List.686 Bool.34 Bool.35 Bool.36 Bool.37 Bool.38;
|
||||
jump List.697 Bool.34 Bool.35 Bool.36 Bool.37 Bool.38;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : [<r>C {}, C *self {{}, []}] = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : [<r>C {}, C *self {{}, []}] = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.683 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.683;
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure Test.1 (Test.5):
|
||||
let Test.2 : I64 = 41i64;
|
||||
|
|
|
@ -2,35 +2,35 @@ procedure Bool.2 ():
|
|||
let Bool.21 : Int1 = true;
|
||||
ret Bool.21;
|
||||
|
||||
procedure List.102 (Bool.29, Bool.30, Bool.31, Bool.32, Bool.33):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : Int1 = CallByName List.66 List.176 List.179;
|
||||
let List.181 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (Bool.29, Bool.30, Bool.31, Bool.32, Bool.33):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : Int1 = CallByName List.66 List.178 List.181;
|
||||
let List.183 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.29;
|
||||
jump List.686 Bool.29 Bool.30 Bool.31 Bool.32 Bool.33;
|
||||
jump List.697 Bool.29 Bool.30 Bool.31 Bool.32 Bool.33;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
4
crates/compiler/test_mono/generated/dict.txt
generated
4
crates/compiler/test_mono/generated/dict.txt
generated
|
@ -26,8 +26,8 @@ procedure Dict.52 ():
|
|||
ret Dict.744;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.683 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.683;
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.289 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
|
|
|
@ -2,25 +2,25 @@ procedure Bool.1 ():
|
|||
let Bool.21 : Int1 = false;
|
||||
ret Bool.21;
|
||||
|
||||
procedure List.2 (List.121, List.122):
|
||||
let List.689 : U64 = CallByName List.6 List.121;
|
||||
let List.685 : Int1 = CallByName Num.22 List.122 List.689;
|
||||
if List.685 then
|
||||
let List.687 : {} = CallByName List.66 List.121 List.122;
|
||||
let List.686 : [C {}, C {}] = TagId(1) List.687;
|
||||
ret List.686;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.700 : U64 = CallByName List.6 List.123;
|
||||
let List.696 : Int1 = CallByName Num.22 List.124 List.700;
|
||||
if List.696 then
|
||||
let List.698 : {} = CallByName List.66 List.123 List.124;
|
||||
let List.697 : [C {}, C {}] = TagId(1) List.698;
|
||||
ret List.697;
|
||||
else
|
||||
let List.684 : {} = Struct {};
|
||||
let List.683 : [C {}, C {}] = TagId(0) List.684;
|
||||
ret List.683;
|
||||
let List.695 : {} = Struct {};
|
||||
let List.694 : [C {}, C {}] = TagId(0) List.695;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
let List.699 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
18
crates/compiler/test_mono/generated/encode.txt
generated
18
crates/compiler/test_mono/generated/encode.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.137, List.138):
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.684 : List U8 = CallByName List.70 List.137 List.686;
|
||||
let List.683 : List U8 = CallByName List.71 List.684 List.138;
|
||||
ret List.683;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.695 : List U8 = CallByName List.70 List.139 List.697;
|
||||
let List.694 : List U8 = CallByName List.71 List.695 List.140;
|
||||
ret List.694;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.687 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
let List.698 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.698;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.685 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.696 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
|
||||
procedure Test.23 (Test.24, Test.35, Test.22):
|
||||
let Test.37 : List U8 = CallByName List.4 Test.24 Test.22;
|
||||
|
|
|
@ -67,85 +67,85 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38, #Derived_gen.39):
|
||||
joinpoint List.712 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.714 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.714 then
|
||||
let List.718 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.718;
|
||||
let List.181 : List U8 = CallByName Test.71 List.177 List.718;
|
||||
let List.717 : U64 = 1i64;
|
||||
let List.716 : U64 = CallByName Num.51 List.179 List.717;
|
||||
jump List.712 List.176 List.181 List.178 List.716 List.180;
|
||||
procedure List.103 (#Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38, #Derived_gen.39):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.71 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.35;
|
||||
jump List.712 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39;
|
||||
jump List.697 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39;
|
||||
|
||||
procedure List.102 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.71 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
|
||||
joinpoint List.723 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.725 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.725 then
|
||||
let List.729 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.729;
|
||||
let List.183 : List U8 = CallByName Test.71 List.179 List.729;
|
||||
let List.728 : U64 = 1i64;
|
||||
let List.727 : U64 = CallByName Num.51 List.181 List.728;
|
||||
jump List.723 List.178 List.183 List.180 List.727 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.40;
|
||||
jump List.686 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
jump List.723 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.710 : U64 = 0i64;
|
||||
let List.711 : U64 = CallByName List.6 List.173;
|
||||
let List.709 : List U8 = CallByName List.102 List.173 List.174 List.175 List.710 List.711;
|
||||
ret List.709;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.721 : U64 = 0i64;
|
||||
let List.722 : U64 = CallByName List.6 List.175;
|
||||
let List.720 : List U8 = CallByName List.103 List.175 List.176 List.177 List.721 List.722;
|
||||
ret List.720;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.731 : U64 = 1i64;
|
||||
let List.730 : List U8 = CallByName List.70 List.137 List.731;
|
||||
let List.729 : List U8 = CallByName List.71 List.730 List.138;
|
||||
ret List.729;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.742 : U64 = 1i64;
|
||||
let List.741 : List U8 = CallByName List.70 List.139 List.742;
|
||||
let List.740 : List U8 = CallByName List.71 List.741 List.140;
|
||||
ret List.740;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.734 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.734;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.719 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.745 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.745;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.704 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.730 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.730;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.725 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.725;
|
||||
let List.736 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.736;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.723 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.723;
|
||||
let List.734 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.734;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.733 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.733;
|
||||
let List.744 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.744;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.294 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -39,54 +39,54 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.71 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.71 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.19;
|
||||
jump List.686 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
jump List.697 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : List U8 = CallByName List.70 List.137 List.705;
|
||||
let List.703 : List U8 = CallByName List.71 List.704 List.138;
|
||||
ret List.703;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.716 : U64 = 1i64;
|
||||
let List.715 : List U8 = CallByName List.70 List.139 List.716;
|
||||
let List.714 : List U8 = CallByName List.71 List.715 List.140;
|
||||
ret List.714;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.699 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
let List.710 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.697 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.708 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -46,54 +46,54 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.71 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.71 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.23;
|
||||
jump List.686 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
jump List.697 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : List U8 = CallByName List.70 List.137 List.705;
|
||||
let List.703 : List U8 = CallByName List.71 List.704 List.138;
|
||||
ret List.703;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.716 : U64 = 1i64;
|
||||
let List.715 : List U8 = CallByName List.70 List.139 List.716;
|
||||
let List.714 : List U8 = CallByName List.71 List.715 List.140;
|
||||
ret List.714;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.699 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
let List.710 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.697 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.708 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -11,23 +11,23 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.693 : U64 = 1i64;
|
||||
let List.692 : List U8 = CallByName List.70 List.137 List.693;
|
||||
let List.691 : List U8 = CallByName List.71 List.692 List.138;
|
||||
ret List.691;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.704 : U64 = 1i64;
|
||||
let List.703 : List U8 = CallByName List.70 List.139 List.704;
|
||||
let List.702 : List U8 = CallByName List.71 List.703 List.140;
|
||||
ret List.702;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.687 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
let List.698 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.698;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.685 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.696 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.695 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.695;
|
||||
let List.706 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.706;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -40,58 +40,58 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.64 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.64 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.22;
|
||||
jump List.686 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
jump List.697 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.709 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
let List.720 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.720;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : List U8 = CallByName List.70 List.137 List.705;
|
||||
let List.703 : List U8 = CallByName List.71 List.704 List.138;
|
||||
ret List.703;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.716 : U64 = 1i64;
|
||||
let List.715 : List U8 = CallByName List.70 List.139 List.716;
|
||||
let List.714 : List U8 = CallByName List.71 List.715 List.140;
|
||||
ret List.714;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.699 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
let List.710 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.697 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.708 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -43,58 +43,58 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.64 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.64 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.23;
|
||||
jump List.686 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
jump List.697 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.709 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
let List.720 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.720;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : List U8 = CallByName List.70 List.137 List.705;
|
||||
let List.703 : List U8 = CallByName List.71 List.704 List.138;
|
||||
ret List.703;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.716 : U64 = 1i64;
|
||||
let List.715 : List U8 = CallByName List.70 List.139 List.716;
|
||||
let List.714 : List U8 = CallByName List.71 List.715 List.140;
|
||||
ret List.714;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.699 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
let List.710 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.697 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.708 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -898,171 +898,171 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.100 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
|
||||
joinpoint List.734 List.153 List.154 List.155:
|
||||
let List.742 : U64 = 0i64;
|
||||
let List.736 : Int1 = CallByName Num.24 List.154 List.742;
|
||||
if List.736 then
|
||||
let List.741 : U64 = 1i64;
|
||||
let List.738 : U64 = CallByName Num.75 List.154 List.741;
|
||||
let List.739 : List {U32, U32} = CallByName List.71 List.155 List.153;
|
||||
jump List.734 List.153 List.738 List.739;
|
||||
procedure List.101 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
|
||||
joinpoint List.745 List.155 List.156 List.157:
|
||||
let List.753 : U64 = 0i64;
|
||||
let List.747 : Int1 = CallByName Num.24 List.156 List.753;
|
||||
if List.747 then
|
||||
let List.752 : U64 = 1i64;
|
||||
let List.749 : U64 = CallByName Num.75 List.156 List.752;
|
||||
let List.750 : List {U32, U32} = CallByName List.71 List.157 List.155;
|
||||
jump List.745 List.155 List.749 List.750;
|
||||
else
|
||||
ret List.155;
|
||||
ret List.157;
|
||||
in
|
||||
jump List.734 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
|
||||
jump List.745 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
|
||||
|
||||
procedure List.102 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
|
||||
joinpoint List.749 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.751 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.751 then
|
||||
let List.755 : {Str, I64} = CallByName List.66 List.176 List.179;
|
||||
inc List.755;
|
||||
let List.181 : {Str, Int1} = CallByName Dict.188 List.177 List.755 List.178;
|
||||
let List.754 : U64 = 1i64;
|
||||
let List.753 : U64 = CallByName Num.51 List.179 List.754;
|
||||
jump List.749 List.176 List.181 List.178 List.753 List.180;
|
||||
procedure List.103 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, I64} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.37;
|
||||
jump List.749 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
jump List.697 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
|
||||
procedure List.102 (#Derived_gen.42, #Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, I64} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.42, #Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46):
|
||||
joinpoint List.760 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.762 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.762 then
|
||||
let List.766 : {Str, I64} = CallByName List.66 List.178 List.181;
|
||||
inc List.766;
|
||||
let List.183 : {Str, Int1} = CallByName Dict.188 List.179 List.766 List.180;
|
||||
let List.765 : U64 = 1i64;
|
||||
let List.764 : U64 = CallByName Num.51 List.181 List.765;
|
||||
jump List.760 List.178 List.183 List.180 List.764 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.42;
|
||||
jump List.686 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46;
|
||||
jump List.760 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46;
|
||||
|
||||
procedure List.103 (#Derived_gen.47, #Derived_gen.48, #Derived_gen.49, #Derived_gen.50, #Derived_gen.51):
|
||||
joinpoint List.725 List.185 List.186 List.187 List.188 List.189:
|
||||
let List.727 : Int1 = CallByName Num.22 List.188 List.189;
|
||||
if List.727 then
|
||||
let List.731 : {Str, I64} = CallByName List.66 List.185 List.188;
|
||||
inc List.731;
|
||||
let List.190 : List {U32, U32} = CallByName Dict.407 List.186 List.731 List.188 List.187;
|
||||
let List.730 : U64 = 1i64;
|
||||
let List.729 : U64 = CallByName Num.51 List.188 List.730;
|
||||
jump List.725 List.185 List.190 List.187 List.729 List.189;
|
||||
procedure List.104 (#Derived_gen.47, #Derived_gen.48, #Derived_gen.49, #Derived_gen.50, #Derived_gen.51):
|
||||
joinpoint List.736 List.187 List.188 List.189 List.190 List.191:
|
||||
let List.738 : Int1 = CallByName Num.22 List.190 List.191;
|
||||
if List.738 then
|
||||
let List.742 : {Str, I64} = CallByName List.66 List.187 List.190;
|
||||
inc List.742;
|
||||
let List.192 : List {U32, U32} = CallByName Dict.407 List.188 List.742 List.190 List.189;
|
||||
let List.741 : U64 = 1i64;
|
||||
let List.740 : U64 = CallByName Num.51 List.190 List.741;
|
||||
jump List.736 List.187 List.192 List.189 List.740 List.191;
|
||||
else
|
||||
dec List.185;
|
||||
ret List.186;
|
||||
dec List.187;
|
||||
ret List.188;
|
||||
in
|
||||
inc #Derived_gen.47;
|
||||
jump List.725 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51;
|
||||
jump List.736 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51;
|
||||
|
||||
procedure List.11 (List.151, List.152):
|
||||
let List.745 : List {U32, U32} = CallByName List.68 List.152;
|
||||
let List.744 : List {U32, U32} = CallByName List.100 List.151 List.152 List.745;
|
||||
ret List.744;
|
||||
procedure List.11 (List.153, List.154):
|
||||
let List.756 : List {U32, U32} = CallByName List.68 List.154;
|
||||
let List.755 : List {U32, U32} = CallByName List.101 List.153 List.154 List.756;
|
||||
ret List.755;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.747 : U64 = 0i64;
|
||||
let List.748 : U64 = CallByName List.6 List.173;
|
||||
let List.746 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.747 List.748;
|
||||
ret List.746;
|
||||
|
||||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.709 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.708 : List {U32, U32} = StructAtIndex 0 List.709;
|
||||
ret List.708;
|
||||
|
||||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.711 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.710 : List {Str, I64} = StructAtIndex 0 List.711;
|
||||
let #Derived_gen.74 : {Str, I64} = StructAtIndex 1 List.711;
|
||||
dec #Derived_gen.74;
|
||||
ret List.710;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.720 : U64 = 1i64;
|
||||
let List.718 : List {Str, I64} = CallByName List.70 List.137 List.720;
|
||||
let List.717 : List {Str, I64} = CallByName List.71 List.718 List.138;
|
||||
ret List.717;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.699 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.699;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.757 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.758 : U64 = 0i64;
|
||||
let List.759 : U64 = CallByName List.6 List.175;
|
||||
let List.757 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.758 List.759;
|
||||
ret List.757;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.758 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.758;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.707 : U64 = CallByName List.6 List.126;
|
||||
let List.704 : Int1 = CallByName Num.22 List.127 List.707;
|
||||
if List.704 then
|
||||
let List.705 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.705;
|
||||
else
|
||||
let List.703 : {List {U32, U32}, {U32, U32}} = Struct {List.126, List.128};
|
||||
ret List.703;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.716 : U64 = CallByName List.6 List.126;
|
||||
let List.713 : Int1 = CallByName Num.22 List.127 List.716;
|
||||
if List.713 then
|
||||
let List.714 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.714;
|
||||
else
|
||||
let List.712 : {List {Str, I64}, {Str, I64}} = Struct {List.126, List.128};
|
||||
ret List.712;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.756 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.756;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.706 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.706;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.715 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.715;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.743 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.743;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.721 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.721;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.719 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.720 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.719 : List {U32, U32} = StructAtIndex 0 List.720;
|
||||
ret List.719;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.740 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.740;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.722 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.721 : List {Str, I64} = StructAtIndex 0 List.722;
|
||||
let #Derived_gen.74 : {Str, I64} = StructAtIndex 1 List.722;
|
||||
dec #Derived_gen.74;
|
||||
ret List.721;
|
||||
|
||||
procedure List.83 (List.182, List.183, List.184):
|
||||
let List.723 : U64 = 0i64;
|
||||
let List.724 : U64 = CallByName List.6 List.182;
|
||||
let List.722 : List {U32, U32} = CallByName List.103 List.182 List.183 List.184 List.723 List.724;
|
||||
ret List.722;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.731 : U64 = 1i64;
|
||||
let List.729 : List {Str, I64} = CallByName List.70 List.139 List.731;
|
||||
let List.728 : List {Str, I64} = CallByName List.71 List.729 List.140;
|
||||
ret List.728;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.710 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.710;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.768 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.768;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.769 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.769;
|
||||
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.718 : U64 = CallByName List.6 List.128;
|
||||
let List.715 : Int1 = CallByName Num.22 List.129 List.718;
|
||||
if List.715 then
|
||||
let List.716 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.716;
|
||||
else
|
||||
let List.714 : {List {U32, U32}, {U32, U32}} = Struct {List.128, List.130};
|
||||
ret List.714;
|
||||
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.727 : U64 = CallByName List.6 List.128;
|
||||
let List.724 : Int1 = CallByName Num.22 List.129 List.727;
|
||||
if List.724 then
|
||||
let List.725 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.725;
|
||||
else
|
||||
let List.723 : {List {Str, I64}, {Str, I64}} = Struct {List.128, List.130};
|
||||
ret List.723;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.767 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.767;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.717 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.717;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.726 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.726;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.754 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.754;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.732 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.732;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.730 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.730;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.751 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.751;
|
||||
|
||||
procedure List.83 (List.184, List.185, List.186):
|
||||
let List.734 : U64 = 0i64;
|
||||
let List.735 : U64 = CallByName List.6 List.184;
|
||||
let List.733 : List {U32, U32} = CallByName List.104 List.184 List.185 List.186 List.734 List.735;
|
||||
ret List.733;
|
||||
|
||||
procedure Num.131 (#Attr.2):
|
||||
let Num.297 : U32 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -120,35 +120,35 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.102 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : I64 = CallByName List.66 List.176 List.179;
|
||||
let List.181 : {Str, Int1} = CallByName Inspect.160 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : I64 = CallByName List.66 List.178 List.181;
|
||||
let List.183 : {Str, Int1} = CallByName Inspect.160 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.10;
|
||||
jump List.686 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
jump List.697 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -231,67 +231,67 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.102 (#Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : {Str, Int1} = CallByName Inspect.229 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : {Str, Int1} = CallByName Inspect.229 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.33;
|
||||
jump List.686 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37;
|
||||
jump List.697 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37;
|
||||
|
||||
procedure List.102 (#Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41, #Derived_gen.42):
|
||||
joinpoint List.698 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.700 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.700 then
|
||||
let List.704 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.704;
|
||||
let List.181 : {Str, Int1} = CallByName Inspect.229 List.177 List.704;
|
||||
let List.703 : U64 = 1i64;
|
||||
let List.702 : U64 = CallByName Num.51 List.179 List.703;
|
||||
jump List.698 List.176 List.181 List.178 List.702 List.180;
|
||||
procedure List.103 (#Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41, #Derived_gen.42):
|
||||
joinpoint List.709 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.711 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.711 then
|
||||
let List.715 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.715;
|
||||
let List.183 : {Str, Int1} = CallByName Inspect.229 List.179 List.715;
|
||||
let List.714 : U64 = 1i64;
|
||||
let List.713 : U64 = CallByName Num.51 List.181 List.714;
|
||||
jump List.709 List.178 List.183 List.180 List.713 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.38;
|
||||
jump List.698 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42;
|
||||
jump List.709 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.696 : U64 = 0i64;
|
||||
let List.697 : U64 = CallByName List.6 List.173;
|
||||
let List.695 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.696 List.697;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.706 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.707 : U64 = 0i64;
|
||||
let List.708 : U64 = CallByName List.6 List.175;
|
||||
let List.706 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.707 List.708;
|
||||
ret List.706;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.717 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.717;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.705 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.705;
|
||||
let List.704 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.716 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.716;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.296 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -150,36 +150,36 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.102 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {[C I64, C Decimal], Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : {Str, Int1} = CallByName Inspect.229 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {[C I64, C Decimal], Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : {Str, Int1} = CallByName Inspect.229 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump List.686 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
jump List.697 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -156,36 +156,36 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.102 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : {Str, Int1} = CallByName Inspect.229 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : {Str, Int1} = CallByName Inspect.229 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.21;
|
||||
jump List.686 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
|
||||
jump List.697 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -163,36 +163,36 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.102 (#Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : {Str, Str} = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : {Str, Int1} = CallByName Inspect.229 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : {Str, Str} = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : {Str, Int1} = CallByName Inspect.229 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.25;
|
||||
jump List.686 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29;
|
||||
jump List.697 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : {Str, Int1} = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : {Str, Int1} = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -156,43 +156,43 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.1 (List.120):
|
||||
let List.696 : U64 = CallByName List.6 List.120;
|
||||
let List.697 : U64 = 0i64;
|
||||
let List.695 : Int1 = CallByName Bool.9 List.696 List.697;
|
||||
ret List.695;
|
||||
procedure List.1 (List.122):
|
||||
let List.707 : U64 = CallByName List.6 List.122;
|
||||
let List.708 : U64 = 0i64;
|
||||
let List.706 : Int1 = CallByName Bool.9 List.707 List.708;
|
||||
ret List.706;
|
||||
|
||||
procedure List.102 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : Str = CallByName Inspect.207 List.177 List.692;
|
||||
dec List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : Str = CallByName Inspect.207 List.179 List.703;
|
||||
dec List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.21;
|
||||
jump List.686 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
|
||||
jump List.697 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : Str = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : Str = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -159,43 +159,43 @@ procedure Inspect.63 (Inspect.295, Inspect.291):
|
|||
procedure Inspect.64 (Inspect.297):
|
||||
ret Inspect.297;
|
||||
|
||||
procedure List.1 (List.120):
|
||||
let List.696 : U64 = CallByName List.6 List.120;
|
||||
let List.697 : U64 = 0i64;
|
||||
let List.695 : Int1 = CallByName Bool.9 List.696 List.697;
|
||||
ret List.695;
|
||||
procedure List.1 (List.122):
|
||||
let List.707 : U64 = CallByName List.6 List.122;
|
||||
let List.708 : U64 = 0i64;
|
||||
let List.706 : Int1 = CallByName Bool.9 List.707 List.708;
|
||||
ret List.706;
|
||||
|
||||
procedure List.102 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : Str = CallByName Inspect.207 List.177 List.692;
|
||||
dec List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : Str = CallByName Inspect.207 List.179 List.703;
|
||||
dec List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.22;
|
||||
jump List.686 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
jump List.697 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : Str = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : Str = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.20 (#Attr.2, #Attr.3):
|
||||
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.683 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.683;
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -6,40 +6,40 @@ procedure Bool.9 (#Attr.2, #Attr.3):
|
|||
let Bool.22 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.22;
|
||||
|
||||
procedure List.2 (List.121, List.122):
|
||||
let List.697 : U64 = CallByName List.6 List.121;
|
||||
let List.693 : Int1 = CallByName Num.22 List.122 List.697;
|
||||
if List.693 then
|
||||
let List.695 : I64 = CallByName List.66 List.121 List.122;
|
||||
let List.694 : [C {}, C I64] = TagId(1) List.695;
|
||||
ret List.694;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.708 : U64 = CallByName List.6 List.123;
|
||||
let List.704 : Int1 = CallByName Num.22 List.124 List.708;
|
||||
if List.704 then
|
||||
let List.706 : I64 = CallByName List.66 List.123 List.124;
|
||||
let List.705 : [C {}, C I64] = TagId(1) List.706;
|
||||
ret List.705;
|
||||
else
|
||||
let List.692 : {} = Struct {};
|
||||
let List.691 : [C {}, C I64] = TagId(0) List.692;
|
||||
ret List.691;
|
||||
let List.703 : {} = Struct {};
|
||||
let List.702 : [C {}, C I64] = TagId(0) List.703;
|
||||
ret List.702;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.698 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.698;
|
||||
let List.709 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.709;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.696 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
let List.707 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.9 (List.393):
|
||||
let List.690 : U64 = 0i64;
|
||||
let List.683 : [C {}, C I64] = CallByName List.2 List.393 List.690;
|
||||
let List.687 : U8 = 1i64;
|
||||
let List.688 : U8 = GetTagId List.683;
|
||||
let List.689 : Int1 = lowlevel Eq List.687 List.688;
|
||||
if List.689 then
|
||||
let List.394 : I64 = UnionAtIndex (Id 1) (Index 0) List.683;
|
||||
let List.684 : [C Int1, C I64] = TagId(1) List.394;
|
||||
ret List.684;
|
||||
procedure List.9 (List.404):
|
||||
let List.701 : U64 = 0i64;
|
||||
let List.694 : [C {}, C I64] = CallByName List.2 List.404 List.701;
|
||||
let List.698 : U8 = 1i64;
|
||||
let List.699 : U8 = GetTagId List.694;
|
||||
let List.700 : Int1 = lowlevel Eq List.698 List.699;
|
||||
if List.700 then
|
||||
let List.405 : I64 = UnionAtIndex (Id 1) (Index 0) List.694;
|
||||
let List.695 : [C Int1, C I64] = TagId(1) List.405;
|
||||
ret List.695;
|
||||
else
|
||||
let List.686 : Int1 = true;
|
||||
let List.685 : [C Int1, C I64] = TagId(0) List.686;
|
||||
ret List.685;
|
||||
let List.697 : Int1 = true;
|
||||
let List.696 : [C Int1, C I64] = TagId(0) List.697;
|
||||
ret List.696;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
168
crates/compiler/test_mono/generated/issue_4770.txt
generated
168
crates/compiler/test_mono/generated/issue_4770.txt
generated
|
@ -6,118 +6,118 @@ procedure Bool.2 ():
|
|||
let Bool.22 : Int1 = true;
|
||||
ret Bool.22;
|
||||
|
||||
procedure List.107 (Bool.30, Bool.31, Bool.32, Bool.33, Bool.34, Bool.35):
|
||||
joinpoint List.721 List.292 List.293 List.294 List.295 List.296 List.297:
|
||||
let List.723 : Int1 = CallByName Num.22 List.296 List.297;
|
||||
if List.723 then
|
||||
let List.729 : [<r>C I64, C List *self] = CallByName List.66 List.292 List.296;
|
||||
inc List.729;
|
||||
let List.730 : [<r>C I64, C List *self] = CallByName List.66 List.293 List.296;
|
||||
inc List.730;
|
||||
let List.298 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.729 List.730;
|
||||
let List.725 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.294 List.298;
|
||||
let List.727 : U64 = 1i64;
|
||||
let List.726 : U64 = CallByName Num.51 List.296 List.727;
|
||||
jump List.721 List.292 List.293 List.725 List.295 List.726 List.297;
|
||||
procedure List.109 (Bool.30, Bool.31, Bool.32, Bool.33, Bool.34, Bool.35):
|
||||
joinpoint List.732 List.303 List.304 List.305 List.306 List.307 List.308:
|
||||
let List.734 : Int1 = CallByName Num.22 List.307 List.308;
|
||||
if List.734 then
|
||||
let List.740 : [<r>C I64, C List *self] = CallByName List.66 List.303 List.307;
|
||||
inc List.740;
|
||||
let List.741 : [<r>C I64, C List *self] = CallByName List.66 List.304 List.307;
|
||||
inc List.741;
|
||||
let List.309 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.740 List.741;
|
||||
let List.736 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.305 List.309;
|
||||
let List.738 : U64 = 1i64;
|
||||
let List.737 : U64 = CallByName Num.51 List.307 List.738;
|
||||
jump List.732 List.303 List.304 List.736 List.306 List.737 List.308;
|
||||
else
|
||||
dec List.292;
|
||||
dec List.293;
|
||||
ret List.294;
|
||||
dec List.304;
|
||||
dec List.303;
|
||||
ret List.305;
|
||||
in
|
||||
inc Bool.30;
|
||||
inc Bool.31;
|
||||
jump List.721 Bool.30 Bool.31 Bool.32 Bool.33 Bool.34 Bool.35;
|
||||
jump List.732 Bool.30 Bool.31 Bool.32 Bool.33 Bool.34 Bool.35;
|
||||
|
||||
procedure List.117 (List.571, List.572, List.573):
|
||||
let List.697 : U64 = 0i64;
|
||||
let List.698 : U64 = CallByName List.6 List.571;
|
||||
let List.696 : [C {}, C {}] = CallByName List.80 List.571 List.572 List.573 List.697 List.698;
|
||||
ret List.696;
|
||||
procedure List.119 (List.582, List.583, List.584):
|
||||
let List.708 : U64 = 0i64;
|
||||
let List.709 : U64 = CallByName List.6 List.582;
|
||||
let List.707 : [C {}, C {}] = CallByName List.80 List.582 List.583 List.584 List.708 List.709;
|
||||
ret List.707;
|
||||
|
||||
procedure List.23 (List.288, List.289, List.290):
|
||||
let List.733 : U64 = CallByName List.6 List.288;
|
||||
let List.734 : U64 = CallByName List.6 List.289;
|
||||
let List.291 : U64 = CallByName Num.148 List.733 List.734;
|
||||
let List.719 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.291;
|
||||
let List.720 : U64 = 0i64;
|
||||
let List.718 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.107 List.288 List.289 List.719 List.290 List.720 List.291;
|
||||
ret List.718;
|
||||
procedure List.23 (List.299, List.300, List.301):
|
||||
let List.744 : U64 = CallByName List.6 List.299;
|
||||
let List.745 : U64 = CallByName List.6 List.300;
|
||||
let List.302 : U64 = CallByName Num.148 List.744 List.745;
|
||||
let List.730 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.302;
|
||||
let List.731 : U64 = 0i64;
|
||||
let List.729 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.109 List.299 List.300 List.730 List.301 List.731 List.302;
|
||||
ret List.729;
|
||||
|
||||
procedure List.249 (List.685, List.250, List.248):
|
||||
let List.715 : Int1 = CallByName Test.1 List.250;
|
||||
if List.715 then
|
||||
let List.717 : {} = Struct {};
|
||||
let List.716 : [C {}, C {}] = TagId(1) List.717;
|
||||
ret List.716;
|
||||
procedure List.251 (List.696, List.252, List.250):
|
||||
let List.726 : Int1 = CallByName Test.1 List.252;
|
||||
if List.726 then
|
||||
let List.728 : {} = Struct {};
|
||||
let List.727 : [C {}, C {}] = TagId(1) List.728;
|
||||
ret List.727;
|
||||
else
|
||||
let List.714 : {} = Struct {};
|
||||
let List.713 : [C {}, C {}] = TagId(0) List.714;
|
||||
ret List.713;
|
||||
let List.725 : {} = Struct {};
|
||||
let List.724 : [C {}, C {}] = TagId(0) List.725;
|
||||
ret List.724;
|
||||
|
||||
procedure List.56 (List.247, List.248):
|
||||
let List.694 : {} = Struct {};
|
||||
let List.686 : [C {}, C {}] = CallByName List.117 List.247 List.694 List.248;
|
||||
let List.691 : U8 = 1i64;
|
||||
let List.692 : U8 = GetTagId List.686;
|
||||
let List.693 : Int1 = lowlevel Eq List.691 List.692;
|
||||
if List.693 then
|
||||
let List.687 : Int1 = CallByName Bool.2;
|
||||
ret List.687;
|
||||
procedure List.56 (List.249, List.250):
|
||||
let List.705 : {} = Struct {};
|
||||
let List.697 : [C {}, C {}] = CallByName List.119 List.249 List.705 List.250;
|
||||
let List.702 : U8 = 1i64;
|
||||
let List.703 : U8 = GetTagId List.697;
|
||||
let List.704 : Int1 = lowlevel Eq List.702 List.703;
|
||||
if List.704 then
|
||||
let List.698 : Int1 = CallByName Bool.2;
|
||||
ret List.698;
|
||||
else
|
||||
let List.688 : Int1 = CallByName Bool.1;
|
||||
ret List.688;
|
||||
let List.699 : Int1 = CallByName Bool.1;
|
||||
ret List.699;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.695 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.695;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.712 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.712;
|
||||
let List.723 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.723;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.711 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.711;
|
||||
let List.722 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.722;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.731 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.731;
|
||||
let List.742 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.742;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.732 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.732;
|
||||
let List.743 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.743;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.728 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.728;
|
||||
let List.739 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.739;
|
||||
|
||||
procedure List.80 (Bool.25, Bool.26, Bool.27, Bool.28, Bool.29):
|
||||
joinpoint List.699 List.574 List.575 List.576 List.577 List.578:
|
||||
let List.701 : Int1 = CallByName Num.22 List.577 List.578;
|
||||
if List.701 then
|
||||
let List.710 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.574 List.577;
|
||||
inc List.710;
|
||||
let List.702 : [C {}, C {}] = CallByName List.249 List.575 List.710 List.576;
|
||||
let List.707 : U8 = 1i64;
|
||||
let List.708 : U8 = GetTagId List.702;
|
||||
let List.709 : Int1 = lowlevel Eq List.707 List.708;
|
||||
if List.709 then
|
||||
let List.579 : {} = UnionAtIndex (Id 1) (Index 0) List.702;
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : U64 = CallByName Num.51 List.577 List.705;
|
||||
jump List.699 List.574 List.579 List.576 List.704 List.578;
|
||||
joinpoint List.710 List.585 List.586 List.587 List.588 List.589:
|
||||
let List.712 : Int1 = CallByName Num.22 List.588 List.589;
|
||||
if List.712 then
|
||||
let List.721 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.585 List.588;
|
||||
inc List.721;
|
||||
let List.713 : [C {}, C {}] = CallByName List.251 List.586 List.721 List.587;
|
||||
let List.718 : U8 = 1i64;
|
||||
let List.719 : U8 = GetTagId List.713;
|
||||
let List.720 : Int1 = lowlevel Eq List.718 List.719;
|
||||
if List.720 then
|
||||
let List.590 : {} = UnionAtIndex (Id 1) (Index 0) List.713;
|
||||
let List.716 : U64 = 1i64;
|
||||
let List.715 : U64 = CallByName Num.51 List.588 List.716;
|
||||
jump List.710 List.585 List.590 List.587 List.715 List.589;
|
||||
else
|
||||
dec List.574;
|
||||
let List.580 : {} = UnionAtIndex (Id 0) (Index 0) List.702;
|
||||
let List.706 : [C {}, C {}] = TagId(0) List.580;
|
||||
ret List.706;
|
||||
dec List.585;
|
||||
let List.591 : {} = UnionAtIndex (Id 0) (Index 0) List.713;
|
||||
let List.717 : [C {}, C {}] = TagId(0) List.591;
|
||||
ret List.717;
|
||||
else
|
||||
dec List.574;
|
||||
let List.700 : [C {}, C {}] = TagId(1) List.575;
|
||||
ret List.700;
|
||||
dec List.585;
|
||||
let List.711 : [C {}, C {}] = TagId(1) List.586;
|
||||
ret List.711;
|
||||
in
|
||||
inc Bool.25;
|
||||
jump List.699 Bool.25 Bool.26 Bool.27 Bool.28 Bool.29;
|
||||
jump List.710 Bool.25 Bool.26 Bool.27 Bool.28 Bool.29;
|
||||
|
||||
procedure Num.148 (Num.232, Num.233):
|
||||
let Num.296 : Int1 = CallByName Num.22 Num.232 Num.233;
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
procedure List.102 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : [<rnu>C *self, <null>] = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.177 List.692;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : [<rnu>C *self, <null>] = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.179 List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.21;
|
||||
jump List.686 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
jump List.697 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.705 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.705;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
18
crates/compiler/test_mono/generated/list_append.txt
generated
18
crates/compiler/test_mono/generated/list_append.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.137, List.138):
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.684 : List I64 = CallByName List.70 List.137 List.686;
|
||||
let List.683 : List I64 = CallByName List.71 List.684 List.138;
|
||||
ret List.683;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.695 : List I64 = CallByName List.70 List.139 List.697;
|
||||
let List.694 : List I64 = CallByName List.71 List.695 List.140;
|
||||
ret List.694;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.687 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
let List.698 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.698;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.685 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.696 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.2 : List I64 = Array [1i64];
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.137, List.138):
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.684 : List I64 = CallByName List.70 List.137 List.686;
|
||||
let List.683 : List I64 = CallByName List.71 List.684 List.138;
|
||||
ret List.683;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.697 : U64 = 1i64;
|
||||
let List.695 : List I64 = CallByName List.70 List.139 List.697;
|
||||
let List.694 : List I64 = CallByName List.71 List.695 List.140;
|
||||
ret List.694;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.687 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
let List.698 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.698;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.685 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.696 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
|
||||
procedure Test.1 (Test.2):
|
||||
let Test.6 : I64 = 42i64;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.686 : {List I64, I64} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.685 : List I64 = StructAtIndex 0 List.686;
|
||||
ret List.685;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.697 : {List I64, I64} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.696 : List I64 = StructAtIndex 0 List.697;
|
||||
ret List.696;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.695 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.695;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.691 : U64 = CallByName List.6 List.126;
|
||||
let List.688 : Int1 = CallByName Num.22 List.127 List.691;
|
||||
if List.688 then
|
||||
let List.689 : {List I64, I64} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.689;
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.702 : U64 = CallByName List.6 List.128;
|
||||
let List.699 : Int1 = CallByName Num.22 List.129 List.702;
|
||||
if List.699 then
|
||||
let List.700 : {List I64, I64} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.700;
|
||||
else
|
||||
let List.687 : {List I64, I64} = Struct {List.126, List.128};
|
||||
ret List.687;
|
||||
let List.698 : {List I64, I64} = Struct {List.128, List.130};
|
||||
ret List.698;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.690 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.690;
|
||||
let List.701 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.701;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
28
crates/compiler/test_mono/generated/list_get.txt
generated
28
crates/compiler/test_mono/generated/list_get.txt
generated
|
@ -1,22 +1,22 @@
|
|||
procedure List.2 (List.121, List.122):
|
||||
let List.689 : U64 = CallByName List.6 List.121;
|
||||
let List.685 : Int1 = CallByName Num.22 List.122 List.689;
|
||||
if List.685 then
|
||||
let List.687 : I64 = CallByName List.66 List.121 List.122;
|
||||
let List.686 : [C {}, C I64] = TagId(1) List.687;
|
||||
ret List.686;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.700 : U64 = CallByName List.6 List.123;
|
||||
let List.696 : Int1 = CallByName Num.22 List.124 List.700;
|
||||
if List.696 then
|
||||
let List.698 : I64 = CallByName List.66 List.123 List.124;
|
||||
let List.697 : [C {}, C I64] = TagId(1) List.698;
|
||||
ret List.697;
|
||||
else
|
||||
let List.684 : {} = Struct {};
|
||||
let List.683 : [C {}, C I64] = TagId(0) List.684;
|
||||
ret List.683;
|
||||
let List.695 : {} = Struct {};
|
||||
let List.694 : [C {}, C I64] = TagId(0) List.695;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
let List.699 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
8
crates/compiler/test_mono/generated/list_len.txt
generated
8
crates/compiler/test_mono/generated/list_len.txt
generated
|
@ -1,10 +1,10 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.683 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.683;
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.695 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.695;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
procedure List.102 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.697 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.699 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.703;
|
||||
let List.181 : List Str = CallByName List.285 List.177 List.703 List.178;
|
||||
dec List.703;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.179 List.702;
|
||||
jump List.697 List.176 List.181 List.178 List.701 List.180;
|
||||
procedure List.103 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.708 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.710 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.710 then
|
||||
let List.714 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.714;
|
||||
let List.183 : List Str = CallByName List.296 List.179 List.714 List.180;
|
||||
dec List.714;
|
||||
let List.713 : U64 = 1i64;
|
||||
let List.712 : U64 = CallByName Num.51 List.181 List.713;
|
||||
jump List.708 List.178 List.183 List.180 List.712 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.21;
|
||||
jump List.697 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
jump List.708 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.173;
|
||||
let List.694 : List Str = CallByName List.102 List.173 List.174 List.175 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.2 (List.121, List.122):
|
||||
let List.689 : U64 = CallByName List.6 List.121;
|
||||
let List.685 : Int1 = CallByName Num.22 List.122 List.689;
|
||||
if List.685 then
|
||||
let List.687 : Str = CallByName List.66 List.121 List.122;
|
||||
inc List.687;
|
||||
let List.686 : [C {}, C Str] = TagId(1) List.687;
|
||||
ret List.686;
|
||||
else
|
||||
let List.684 : {} = Struct {};
|
||||
let List.683 : [C {}, C Str] = TagId(0) List.684;
|
||||
ret List.683;
|
||||
|
||||
procedure List.285 (List.286, List.287, List.283):
|
||||
let List.706 : Str = CallByName Test.3 List.287;
|
||||
let List.705 : List Str = CallByName List.71 List.286 List.706;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.706 : U64 = 0i64;
|
||||
let List.707 : U64 = CallByName List.6 List.175;
|
||||
let List.705 : List Str = CallByName List.103 List.175 List.176 List.177 List.706 List.707;
|
||||
ret List.705;
|
||||
|
||||
procedure List.5 (List.282, List.283):
|
||||
let List.284 : U64 = CallByName List.6 List.282;
|
||||
let List.692 : List Str = CallByName List.68 List.284;
|
||||
let List.691 : List Str = CallByName List.18 List.282 List.692 List.283;
|
||||
ret List.691;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.700 : U64 = CallByName List.6 List.123;
|
||||
let List.696 : Int1 = CallByName Num.22 List.124 List.700;
|
||||
if List.696 then
|
||||
let List.698 : Str = CallByName List.66 List.123 List.124;
|
||||
inc List.698;
|
||||
let List.697 : [C {}, C Str] = TagId(1) List.698;
|
||||
ret List.697;
|
||||
else
|
||||
let List.695 : {} = Struct {};
|
||||
let List.694 : [C {}, C Str] = TagId(0) List.695;
|
||||
ret List.694;
|
||||
|
||||
procedure List.296 (List.297, List.298, List.294):
|
||||
let List.717 : Str = CallByName Test.3 List.298;
|
||||
let List.716 : List Str = CallByName List.71 List.297 List.717;
|
||||
ret List.716;
|
||||
|
||||
procedure List.5 (List.293, List.294):
|
||||
let List.295 : U64 = CallByName List.6 List.293;
|
||||
let List.703 : List Str = CallByName List.68 List.295;
|
||||
let List.702 : List Str = CallByName List.18 List.293 List.703 List.294;
|
||||
ret List.702;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
let List.699 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.708 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.707 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,65 +1,65 @@
|
|||
procedure List.102 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.697 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.699 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.703;
|
||||
let List.181 : List Str = CallByName List.285 List.177 List.703 List.178;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.179 List.702;
|
||||
jump List.697 List.176 List.181 List.178 List.701 List.180;
|
||||
procedure List.103 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.708 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.710 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.710 then
|
||||
let List.714 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.714;
|
||||
let List.183 : List Str = CallByName List.296 List.179 List.714 List.180;
|
||||
let List.713 : U64 = 1i64;
|
||||
let List.712 : U64 = CallByName Num.51 List.181 List.713;
|
||||
jump List.708 List.178 List.183 List.180 List.712 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.21;
|
||||
jump List.697 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
jump List.708 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.173;
|
||||
let List.694 : List Str = CallByName List.102 List.173 List.174 List.175 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.2 (List.121, List.122):
|
||||
let List.689 : U64 = CallByName List.6 List.121;
|
||||
let List.685 : Int1 = CallByName Num.22 List.122 List.689;
|
||||
if List.685 then
|
||||
let List.687 : Str = CallByName List.66 List.121 List.122;
|
||||
inc List.687;
|
||||
let List.686 : [C {}, C Str] = TagId(1) List.687;
|
||||
ret List.686;
|
||||
else
|
||||
let List.684 : {} = Struct {};
|
||||
let List.683 : [C {}, C Str] = TagId(0) List.684;
|
||||
ret List.683;
|
||||
|
||||
procedure List.285 (List.286, List.287, List.283):
|
||||
let List.706 : Str = CallByName Test.3 List.287;
|
||||
let List.705 : List Str = CallByName List.71 List.286 List.706;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.706 : U64 = 0i64;
|
||||
let List.707 : U64 = CallByName List.6 List.175;
|
||||
let List.705 : List Str = CallByName List.103 List.175 List.176 List.177 List.706 List.707;
|
||||
ret List.705;
|
||||
|
||||
procedure List.5 (List.282, List.283):
|
||||
let List.284 : U64 = CallByName List.6 List.282;
|
||||
let List.692 : List Str = CallByName List.68 List.284;
|
||||
let List.691 : List Str = CallByName List.18 List.282 List.692 List.283;
|
||||
ret List.691;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.700 : U64 = CallByName List.6 List.123;
|
||||
let List.696 : Int1 = CallByName Num.22 List.124 List.700;
|
||||
if List.696 then
|
||||
let List.698 : Str = CallByName List.66 List.123 List.124;
|
||||
inc List.698;
|
||||
let List.697 : [C {}, C Str] = TagId(1) List.698;
|
||||
ret List.697;
|
||||
else
|
||||
let List.695 : {} = Struct {};
|
||||
let List.694 : [C {}, C Str] = TagId(0) List.695;
|
||||
ret List.694;
|
||||
|
||||
procedure List.296 (List.297, List.298, List.294):
|
||||
let List.717 : Str = CallByName Test.3 List.298;
|
||||
let List.716 : List Str = CallByName List.71 List.297 List.717;
|
||||
ret List.716;
|
||||
|
||||
procedure List.5 (List.293, List.294):
|
||||
let List.295 : U64 = CallByName List.6 List.293;
|
||||
let List.703 : List Str = CallByName List.68 List.295;
|
||||
let List.702 : List Str = CallByName List.18 List.293 List.703 List.294;
|
||||
ret List.702;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
let List.699 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.708 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.707 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
procedure List.102 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.689 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.691 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.691 then
|
||||
let List.695 : U8 = CallByName List.66 List.176 List.179;
|
||||
let List.181 : List U8 = CallByName List.285 List.177 List.695 List.178;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.179 List.694;
|
||||
jump List.689 List.176 List.181 List.178 List.693 List.180;
|
||||
procedure List.103 (Bool.21, Bool.22, Bool.23, Bool.24, Bool.25):
|
||||
joinpoint List.700 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.702 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.702 then
|
||||
let List.706 : U8 = CallByName List.66 List.178 List.181;
|
||||
let List.183 : List U8 = CallByName List.296 List.179 List.706 List.180;
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : U64 = CallByName Num.51 List.181 List.705;
|
||||
jump List.700 List.178 List.183 List.180 List.704 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.21;
|
||||
jump List.689 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
jump List.700 Bool.21 Bool.22 Bool.23 Bool.24 Bool.25;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.173;
|
||||
let List.686 : List U8 = CallByName List.102 List.173 List.174 List.175 List.687 List.688;
|
||||
ret List.686;
|
||||
|
||||
procedure List.285 (List.286, List.287, List.283):
|
||||
let List.702 : U8 = GetTagId List.283;
|
||||
joinpoint List.703 List.700:
|
||||
let List.699 : List U8 = CallByName List.71 List.286 List.700;
|
||||
ret List.699;
|
||||
in
|
||||
switch List.702:
|
||||
case 0:
|
||||
let List.704 : U8 = CallByName Test.4 List.287 List.283;
|
||||
jump List.703 List.704;
|
||||
|
||||
case 1:
|
||||
let List.704 : U8 = CallByName Test.6 List.287 List.283;
|
||||
jump List.703 List.704;
|
||||
|
||||
default:
|
||||
let List.704 : U8 = CallByName Test.8 List.287;
|
||||
jump List.703 List.704;
|
||||
|
||||
|
||||
procedure List.5 (List.282, List.283):
|
||||
let List.284 : U64 = CallByName List.6 List.282;
|
||||
let List.684 : List U8 = CallByName List.68 List.284;
|
||||
let List.683 : List U8 = CallByName List.18 List.282 List.684 List.283;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.697 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.698 : U64 = 0i64;
|
||||
let List.699 : U64 = CallByName List.6 List.175;
|
||||
let List.697 : List U8 = CallByName List.103 List.175 List.176 List.177 List.698 List.699;
|
||||
ret List.697;
|
||||
|
||||
procedure List.296 (List.297, List.298, List.294):
|
||||
let List.713 : U8 = GetTagId List.294;
|
||||
joinpoint List.714 List.711:
|
||||
let List.710 : List U8 = CallByName List.71 List.297 List.711;
|
||||
ret List.710;
|
||||
in
|
||||
switch List.713:
|
||||
case 0:
|
||||
let List.715 : U8 = CallByName Test.4 List.298 List.294;
|
||||
jump List.714 List.715;
|
||||
|
||||
case 1:
|
||||
let List.715 : U8 = CallByName Test.6 List.298 List.294;
|
||||
jump List.714 List.715;
|
||||
|
||||
default:
|
||||
let List.715 : U8 = CallByName Test.8 List.298;
|
||||
jump List.714 List.715;
|
||||
|
||||
|
||||
procedure List.5 (List.293, List.294):
|
||||
let List.295 : U64 = CallByName List.6 List.293;
|
||||
let List.695 : List U8 = CallByName List.68 List.295;
|
||||
let List.694 : List U8 = CallByName List.18 List.293 List.695 List.294;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.696 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
let List.707 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.705 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.705;
|
||||
let List.716 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.716;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.701 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
let List.712 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.712;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.291 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.684 : {List I64, I64} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.683 : List I64 = StructAtIndex 0 List.684;
|
||||
ret List.683;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.695 : {List I64, I64} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.694 : List I64 = StructAtIndex 0 List.695;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.689 : U64 = CallByName List.6 List.126;
|
||||
let List.686 : Int1 = CallByName Num.22 List.127 List.689;
|
||||
if List.686 then
|
||||
let List.687 : {List I64, I64} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.687;
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.700 : U64 = CallByName List.6 List.128;
|
||||
let List.697 : Int1 = CallByName Num.22 List.129 List.700;
|
||||
if List.697 then
|
||||
let List.698 : {List I64, I64} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.698;
|
||||
else
|
||||
let List.685 : {List I64, I64} = Struct {List.126, List.128};
|
||||
ret List.685;
|
||||
let List.696 : {List I64, I64} = Struct {List.128, List.130};
|
||||
ret List.696;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.688 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.688;
|
||||
let List.699 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
procedure List.28 (#Attr.2, #Attr.3):
|
||||
let List.685 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.685;
|
||||
let List.696 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.696;
|
||||
|
||||
procedure List.59 (List.388):
|
||||
let List.684 : {} = Struct {};
|
||||
let List.683 : List I64 = CallByName List.28 List.388 List.684;
|
||||
ret List.683;
|
||||
procedure List.59 (List.399):
|
||||
let List.695 : {} = Struct {};
|
||||
let List.694 : List I64 = CallByName List.28 List.399 List.695;
|
||||
ret List.694;
|
||||
|
||||
procedure Num.46 (#Attr.2, #Attr.3):
|
||||
let Num.289 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
procedure List.2 (List.121, List.122):
|
||||
let List.705 : U64 = CallByName List.6 List.121;
|
||||
let List.702 : Int1 = CallByName Num.22 List.122 List.705;
|
||||
if List.702 then
|
||||
let List.704 : I64 = CallByName List.66 List.121 List.122;
|
||||
let List.703 : [C {}, C I64] = TagId(1) List.704;
|
||||
ret List.703;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.716 : U64 = CallByName List.6 List.123;
|
||||
let List.713 : Int1 = CallByName Num.22 List.124 List.716;
|
||||
if List.713 then
|
||||
let List.715 : I64 = CallByName List.66 List.123 List.124;
|
||||
let List.714 : [C {}, C I64] = TagId(1) List.715;
|
||||
ret List.714;
|
||||
else
|
||||
let List.701 : {} = Struct {};
|
||||
let List.700 : [C {}, C I64] = TagId(0) List.701;
|
||||
ret List.700;
|
||||
let List.712 : {} = Struct {};
|
||||
let List.711 : [C {}, C I64] = TagId(0) List.712;
|
||||
ret List.711;
|
||||
|
||||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.692 : {List I64, I64} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.691 : List I64 = StructAtIndex 0 List.692;
|
||||
ret List.691;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.703 : {List I64, I64} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.702 : List I64 = StructAtIndex 0 List.703;
|
||||
ret List.702;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.689 : U64 = CallByName List.6 List.126;
|
||||
let List.686 : Int1 = CallByName Num.22 List.127 List.689;
|
||||
if List.686 then
|
||||
let List.687 : {List I64, I64} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.687;
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.700 : U64 = CallByName List.6 List.128;
|
||||
let List.697 : Int1 = CallByName Num.22 List.129 List.700;
|
||||
if List.697 then
|
||||
let List.698 : {List I64, I64} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.698;
|
||||
else
|
||||
let List.685 : {List I64, I64} = Struct {List.126, List.128};
|
||||
ret List.685;
|
||||
let List.696 : {List I64, I64} = Struct {List.128, List.130};
|
||||
ret List.696;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.698 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.698;
|
||||
let List.709 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.688 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.688;
|
||||
let List.699 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.692 : {List U64, U64} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.691 : List U64 = StructAtIndex 0 List.692;
|
||||
ret List.691;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.703 : {List U64, U64} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.702 : List U64 = StructAtIndex 0 List.703;
|
||||
ret List.702;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.689 : U64 = CallByName List.6 List.126;
|
||||
let List.686 : Int1 = CallByName Num.22 List.127 List.689;
|
||||
if List.686 then
|
||||
let List.687 : {List U64, U64} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.687;
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.700 : U64 = CallByName List.6 List.128;
|
||||
let List.697 : Int1 = CallByName Num.22 List.129 List.700;
|
||||
if List.697 then
|
||||
let List.698 : {List U64, U64} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.698;
|
||||
else
|
||||
let List.685 : {List U64, U64} = Struct {List.126, List.128};
|
||||
ret List.685;
|
||||
let List.696 : {List U64, U64} = Struct {List.128, List.130};
|
||||
ret List.696;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.688 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.688;
|
||||
let List.699 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
procedure List.102 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
|
||||
joinpoint List.689 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.691 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.691 then
|
||||
let List.695 : [<rnnu>C List *self] = CallByName List.66 List.176 List.179;
|
||||
inc List.695;
|
||||
let List.181 : List [<rnnu>C List *self] = CallByName List.285 List.177 List.695 List.178;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.179 List.694;
|
||||
jump List.689 List.176 List.181 List.178 List.693 List.180;
|
||||
procedure List.103 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
|
||||
joinpoint List.700 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.702 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.702 then
|
||||
let List.706 : [<rnnu>C List *self] = CallByName List.66 List.178 List.181;
|
||||
inc List.706;
|
||||
let List.183 : List [<rnnu>C List *self] = CallByName List.296 List.179 List.706 List.180;
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : U64 = CallByName Num.51 List.181 List.705;
|
||||
jump List.700 List.178 List.183 List.180 List.704 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc Bool.22;
|
||||
jump List.689 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
|
||||
jump List.700 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.173;
|
||||
let List.686 : List [<rnnu>C List *self] = CallByName List.102 List.173 List.174 List.175 List.687 List.688;
|
||||
ret List.686;
|
||||
|
||||
procedure List.285 (List.286, List.287, List.283):
|
||||
let List.700 : [<rnnu>C List *self] = CallByName Test.2 List.287;
|
||||
let List.699 : List [<rnnu>C List *self] = CallByName List.71 List.286 List.700;
|
||||
ret List.699;
|
||||
|
||||
procedure List.5 (List.282, List.283):
|
||||
let List.284 : U64 = CallByName List.6 List.282;
|
||||
let List.684 : List [<rnnu>C List *self] = CallByName List.68 List.284;
|
||||
let List.683 : List [<rnnu>C List *self] = CallByName List.18 List.282 List.684 List.283;
|
||||
ret List.683;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.697 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.698 : U64 = 0i64;
|
||||
let List.699 : U64 = CallByName List.6 List.175;
|
||||
let List.697 : List [<rnnu>C List *self] = CallByName List.103 List.175 List.176 List.177 List.698 List.699;
|
||||
ret List.697;
|
||||
|
||||
procedure List.296 (List.297, List.298, List.294):
|
||||
let List.711 : [<rnnu>C List *self] = CallByName Test.2 List.298;
|
||||
let List.710 : List [<rnnu>C List *self] = CallByName List.71 List.297 List.711;
|
||||
ret List.710;
|
||||
|
||||
procedure List.5 (List.293, List.294):
|
||||
let List.295 : U64 = CallByName List.6 List.293;
|
||||
let List.695 : List [<rnnu>C List *self] = CallByName List.68 List.295;
|
||||
let List.694 : List [<rnnu>C List *self] = CallByName List.18 List.293 List.695 List.294;
|
||||
ret List.694;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.696 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
let List.707 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.702 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.702;
|
||||
let List.713 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.713;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.701 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
let List.712 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.712;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
56
crates/compiler/test_mono/generated/rigids.txt
generated
56
crates/compiler/test_mono/generated/rigids.txt
generated
|
@ -1,41 +1,41 @@
|
|||
procedure List.2 (List.121, List.122):
|
||||
let List.705 : U64 = CallByName List.6 List.121;
|
||||
let List.702 : Int1 = CallByName Num.22 List.122 List.705;
|
||||
if List.702 then
|
||||
let List.704 : I64 = CallByName List.66 List.121 List.122;
|
||||
let List.703 : [C {}, C I64] = TagId(1) List.704;
|
||||
ret List.703;
|
||||
procedure List.2 (List.123, List.124):
|
||||
let List.716 : U64 = CallByName List.6 List.123;
|
||||
let List.713 : Int1 = CallByName Num.22 List.124 List.716;
|
||||
if List.713 then
|
||||
let List.715 : I64 = CallByName List.66 List.123 List.124;
|
||||
let List.714 : [C {}, C I64] = TagId(1) List.715;
|
||||
ret List.714;
|
||||
else
|
||||
let List.701 : {} = Struct {};
|
||||
let List.700 : [C {}, C I64] = TagId(0) List.701;
|
||||
ret List.700;
|
||||
let List.712 : {} = Struct {};
|
||||
let List.711 : [C {}, C I64] = TagId(0) List.712;
|
||||
ret List.711;
|
||||
|
||||
procedure List.3 (List.129, List.130, List.131):
|
||||
let List.692 : {List I64, I64} = CallByName List.64 List.129 List.130 List.131;
|
||||
let List.691 : List I64 = StructAtIndex 0 List.692;
|
||||
ret List.691;
|
||||
procedure List.3 (List.131, List.132, List.133):
|
||||
let List.703 : {List I64, I64} = CallByName List.64 List.131 List.132 List.133;
|
||||
let List.702 : List I64 = StructAtIndex 0 List.703;
|
||||
ret List.702;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
let List.701 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.701;
|
||||
|
||||
procedure List.64 (List.126, List.127, List.128):
|
||||
let List.689 : U64 = CallByName List.6 List.126;
|
||||
let List.686 : Int1 = CallByName Num.22 List.127 List.689;
|
||||
if List.686 then
|
||||
let List.687 : {List I64, I64} = CallByName List.67 List.126 List.127 List.128;
|
||||
ret List.687;
|
||||
procedure List.64 (List.128, List.129, List.130):
|
||||
let List.700 : U64 = CallByName List.6 List.128;
|
||||
let List.697 : Int1 = CallByName Num.22 List.129 List.700;
|
||||
if List.697 then
|
||||
let List.698 : {List I64, I64} = CallByName List.67 List.128 List.129 List.130;
|
||||
ret List.698;
|
||||
else
|
||||
let List.685 : {List I64, I64} = Struct {List.126, List.128};
|
||||
ret List.685;
|
||||
let List.696 : {List I64, I64} = Struct {List.128, List.130};
|
||||
ret List.696;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.698 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.698;
|
||||
let List.709 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.688 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.688;
|
||||
let List.699 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.699;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -29,58 +29,58 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.66 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.66 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.9;
|
||||
jump List.686 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13;
|
||||
jump List.697 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.709 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
let List.720 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.720;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.705 : U64 = 1i64;
|
||||
let List.704 : List U8 = CallByName List.70 List.137 List.705;
|
||||
let List.703 : List U8 = CallByName List.71 List.704 List.138;
|
||||
ret List.703;
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.716 : U64 = 1i64;
|
||||
let List.715 : List U8 = CallByName List.70 List.139 List.716;
|
||||
let List.714 : List U8 = CallByName List.71 List.715 List.140;
|
||||
ret List.714;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.704 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.699 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
let List.710 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.697 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
let List.708 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.718 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.718;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -87,93 +87,93 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
let Encode.110 : List U8 = CallByName Encode.24 Encode.111 Encode.112 Encode.108;
|
||||
ret Encode.110;
|
||||
|
||||
procedure List.102 (#Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47, #Derived_gen.48):
|
||||
joinpoint List.713 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.715 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.715 then
|
||||
let List.719 : Str = CallByName List.66 List.176 List.179;
|
||||
inc List.719;
|
||||
let List.181 : List U8 = CallByName Test.66 List.177 List.719 List.178;
|
||||
let List.718 : U64 = 1i64;
|
||||
let List.717 : U64 = CallByName Num.51 List.179 List.718;
|
||||
jump List.713 List.176 List.181 List.178 List.717 List.180;
|
||||
procedure List.103 (#Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47, #Derived_gen.48):
|
||||
joinpoint List.724 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.726 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.726 then
|
||||
let List.730 : Str = CallByName List.66 List.178 List.181;
|
||||
inc List.730;
|
||||
let List.183 : List U8 = CallByName Test.66 List.179 List.730 List.180;
|
||||
let List.729 : U64 = 1i64;
|
||||
let List.728 : U64 = CallByName Num.51 List.181 List.729;
|
||||
jump List.724 List.178 List.183 List.180 List.728 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.44;
|
||||
jump List.713 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48;
|
||||
jump List.724 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48;
|
||||
|
||||
procedure List.102 (#Derived_gen.49, #Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
|
||||
joinpoint List.686 List.176 List.177 List.178 List.179 List.180:
|
||||
let List.688 : Int1 = CallByName Num.22 List.179 List.180;
|
||||
if List.688 then
|
||||
let List.692 : [C {}, C {}, C Str] = CallByName List.66 List.176 List.179;
|
||||
inc List.692;
|
||||
let List.181 : List U8 = CallByName Test.66 List.177 List.692 List.178;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.179 List.691;
|
||||
jump List.686 List.176 List.181 List.178 List.690 List.180;
|
||||
procedure List.103 (#Derived_gen.49, #Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
|
||||
joinpoint List.697 List.178 List.179 List.180 List.181 List.182:
|
||||
let List.699 : Int1 = CallByName Num.22 List.181 List.182;
|
||||
if List.699 then
|
||||
let List.703 : [C {}, C {}, C Str] = CallByName List.66 List.178 List.181;
|
||||
inc List.703;
|
||||
let List.183 : List U8 = CallByName Test.66 List.179 List.703 List.180;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.701 : U64 = CallByName Num.51 List.181 List.702;
|
||||
jump List.697 List.178 List.183 List.180 List.701 List.182;
|
||||
else
|
||||
dec List.176;
|
||||
ret List.177;
|
||||
dec List.178;
|
||||
ret List.179;
|
||||
in
|
||||
inc #Derived_gen.49;
|
||||
jump List.686 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
|
||||
jump List.697 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.709 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.737 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.737;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.684 : U64 = 0i64;
|
||||
let List.685 : U64 = CallByName List.6 List.173;
|
||||
let List.683 : List U8 = CallByName List.102 List.173 List.174 List.175 List.684 List.685;
|
||||
ret List.683;
|
||||
|
||||
procedure List.18 (List.173, List.174, List.175):
|
||||
let List.711 : U64 = 0i64;
|
||||
let List.712 : U64 = CallByName List.6 List.173;
|
||||
let List.710 : List U8 = CallByName List.102 List.173 List.174 List.175 List.711 List.712;
|
||||
ret List.710;
|
||||
|
||||
procedure List.4 (List.137, List.138):
|
||||
let List.732 : U64 = 1i64;
|
||||
let List.731 : List U8 = CallByName List.70 List.137 List.732;
|
||||
let List.730 : List U8 = CallByName List.71 List.731 List.138;
|
||||
ret List.730;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.708 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.708;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.735 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.735;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.693 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.720 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
let List.720 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.720;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.748 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.748;
|
||||
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.695 : U64 = 0i64;
|
||||
let List.696 : U64 = CallByName List.6 List.175;
|
||||
let List.694 : List U8 = CallByName List.103 List.175 List.176 List.177 List.695 List.696;
|
||||
ret List.694;
|
||||
|
||||
procedure List.18 (List.175, List.176, List.177):
|
||||
let List.722 : U64 = 0i64;
|
||||
let List.723 : U64 = CallByName List.6 List.175;
|
||||
let List.721 : List U8 = CallByName List.103 List.175 List.176 List.177 List.722 List.723;
|
||||
ret List.721;
|
||||
|
||||
procedure List.4 (List.139, List.140):
|
||||
let List.743 : U64 = 1i64;
|
||||
let List.742 : List U8 = CallByName List.70 List.139 List.743;
|
||||
let List.741 : List U8 = CallByName List.71 List.742 List.140;
|
||||
ret List.741;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.719 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.746 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.746;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.704 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.731 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.731;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.726 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.726;
|
||||
let List.737 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.737;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.724 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.724;
|
||||
let List.735 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.735;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.734 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.734;
|
||||
let List.745 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.745;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.294 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -2,81 +2,81 @@ procedure Bool.9 (#Attr.2, #Attr.3):
|
|||
let Bool.21 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
|
||||
ret Bool.21;
|
||||
|
||||
procedure List.117 (List.571, List.572, List.573):
|
||||
let List.701 : U64 = 0i64;
|
||||
let List.702 : U64 = CallByName List.6 List.571;
|
||||
let List.700 : [C U64, C U64] = CallByName List.80 List.571 List.572 List.573 List.701 List.702;
|
||||
ret List.700;
|
||||
procedure List.119 (List.582, List.583, List.584):
|
||||
let List.712 : U64 = 0i64;
|
||||
let List.713 : U64 = CallByName List.6 List.582;
|
||||
let List.711 : [C U64, C U64] = CallByName List.80 List.582 List.583 List.584 List.712 List.713;
|
||||
ret List.711;
|
||||
|
||||
procedure List.26 (List.214, List.215, List.216):
|
||||
let List.694 : [C U64, C U64] = CallByName List.117 List.214 List.215 List.216;
|
||||
let List.697 : U8 = 1i64;
|
||||
let List.698 : U8 = GetTagId List.694;
|
||||
let List.699 : Int1 = lowlevel Eq List.697 List.698;
|
||||
if List.699 then
|
||||
let List.217 : U64 = UnionAtIndex (Id 1) (Index 0) List.694;
|
||||
ret List.217;
|
||||
procedure List.26 (List.216, List.217, List.218):
|
||||
let List.705 : [C U64, C U64] = CallByName List.119 List.216 List.217 List.218;
|
||||
let List.708 : U8 = 1i64;
|
||||
let List.709 : U8 = GetTagId List.705;
|
||||
let List.710 : Int1 = lowlevel Eq List.708 List.709;
|
||||
if List.710 then
|
||||
let List.219 : U64 = UnionAtIndex (Id 1) (Index 0) List.705;
|
||||
ret List.219;
|
||||
else
|
||||
let List.218 : U64 = UnionAtIndex (Id 0) (Index 0) List.694;
|
||||
ret List.218;
|
||||
let List.220 : U64 = UnionAtIndex (Id 0) (Index 0) List.705;
|
||||
ret List.220;
|
||||
|
||||
procedure List.38 (List.402, List.403):
|
||||
let List.693 : U64 = CallByName List.6 List.402;
|
||||
let List.404 : U64 = CallByName Num.77 List.693 List.403;
|
||||
let List.683 : List U8 = CallByName List.43 List.402 List.404;
|
||||
ret List.683;
|
||||
procedure List.38 (List.413, List.414):
|
||||
let List.704 : U64 = CallByName List.6 List.413;
|
||||
let List.415 : U64 = CallByName Num.77 List.704 List.414;
|
||||
let List.694 : List U8 = CallByName List.43 List.413 List.415;
|
||||
ret List.694;
|
||||
|
||||
procedure List.43 (List.400, List.401):
|
||||
let List.691 : U64 = CallByName List.6 List.400;
|
||||
let List.690 : U64 = CallByName Num.77 List.691 List.401;
|
||||
let List.685 : {U64, U64} = Struct {List.401, List.690};
|
||||
let List.684 : List U8 = CallByName List.49 List.400 List.685;
|
||||
ret List.684;
|
||||
procedure List.43 (List.411, List.412):
|
||||
let List.702 : U64 = CallByName List.6 List.411;
|
||||
let List.701 : U64 = CallByName Num.77 List.702 List.412;
|
||||
let List.696 : {U64, U64} = Struct {List.412, List.701};
|
||||
let List.695 : List U8 = CallByName List.49 List.411 List.696;
|
||||
ret List.695;
|
||||
|
||||
procedure List.49 (List.478, List.479):
|
||||
let List.687 : U64 = StructAtIndex 1 List.479;
|
||||
let List.688 : U64 = StructAtIndex 0 List.479;
|
||||
let List.686 : List U8 = CallByName List.72 List.478 List.687 List.688;
|
||||
ret List.686;
|
||||
procedure List.49 (List.489, List.490):
|
||||
let List.698 : U64 = StructAtIndex 1 List.490;
|
||||
let List.699 : U64 = StructAtIndex 0 List.490;
|
||||
let List.697 : List U8 = CallByName List.72 List.489 List.698 List.699;
|
||||
ret List.697;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.692 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.692;
|
||||
let List.703 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.703;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.715 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.715;
|
||||
let List.726 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.726;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.689 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.689;
|
||||
let List.700 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.700;
|
||||
|
||||
procedure List.80 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
|
||||
joinpoint List.703 List.574 List.575 List.576 List.577 List.578:
|
||||
let List.705 : Int1 = CallByName Num.22 List.577 List.578;
|
||||
if List.705 then
|
||||
let List.714 : U8 = CallByName List.66 List.574 List.577;
|
||||
let List.706 : [C U64, C U64] = CallByName Test.3 List.575 List.714;
|
||||
let List.711 : U8 = 1i64;
|
||||
let List.712 : U8 = GetTagId List.706;
|
||||
let List.713 : Int1 = lowlevel Eq List.711 List.712;
|
||||
if List.713 then
|
||||
let List.579 : U64 = UnionAtIndex (Id 1) (Index 0) List.706;
|
||||
let List.709 : U64 = 1i64;
|
||||
let List.708 : U64 = CallByName Num.51 List.577 List.709;
|
||||
jump List.703 List.574 List.579 List.576 List.708 List.578;
|
||||
joinpoint List.714 List.585 List.586 List.587 List.588 List.589:
|
||||
let List.716 : Int1 = CallByName Num.22 List.588 List.589;
|
||||
if List.716 then
|
||||
let List.725 : U8 = CallByName List.66 List.585 List.588;
|
||||
let List.717 : [C U64, C U64] = CallByName Test.3 List.586 List.725;
|
||||
let List.722 : U8 = 1i64;
|
||||
let List.723 : U8 = GetTagId List.717;
|
||||
let List.724 : Int1 = lowlevel Eq List.722 List.723;
|
||||
if List.724 then
|
||||
let List.590 : U64 = UnionAtIndex (Id 1) (Index 0) List.717;
|
||||
let List.720 : U64 = 1i64;
|
||||
let List.719 : U64 = CallByName Num.51 List.588 List.720;
|
||||
jump List.714 List.585 List.590 List.587 List.719 List.589;
|
||||
else
|
||||
dec List.574;
|
||||
let List.580 : U64 = UnionAtIndex (Id 0) (Index 0) List.706;
|
||||
let List.710 : [C U64, C U64] = TagId(0) List.580;
|
||||
ret List.710;
|
||||
dec List.585;
|
||||
let List.591 : U64 = UnionAtIndex (Id 0) (Index 0) List.717;
|
||||
let List.721 : [C U64, C U64] = TagId(0) List.591;
|
||||
ret List.721;
|
||||
else
|
||||
dec List.574;
|
||||
let List.704 : [C U64, C U64] = TagId(1) List.575;
|
||||
ret List.704;
|
||||
dec List.585;
|
||||
let List.715 : [C U64, C U64] = TagId(1) List.586;
|
||||
ret List.715;
|
||||
in
|
||||
inc Bool.22;
|
||||
jump List.703 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
|
||||
jump List.714 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue