mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Merge pull request #7439 from imclerran/issue-7425
Add List.walk! function
This commit is contained in:
commit
3d4dd5b583
46 changed files with 1211 additions and 1193 deletions
|
@ -74,6 +74,7 @@ module [
|
|||
concatUtf8,
|
||||
forEach!,
|
||||
forEachTry!,
|
||||
walk!,
|
||||
]
|
||||
|
||||
import Bool exposing [Bool, Eq]
|
||||
|
@ -1466,3 +1467,20 @@ forEachTry! = \list, func! ->
|
|||
|
||||
Err err ->
|
||||
Err err
|
||||
|
||||
## Build a value from the contents of a list, using an effectful function.
|
||||
##
|
||||
## ```roc
|
||||
## now_multiples = List.walk! [1, 2, 3] [] \nums, i ->
|
||||
## now = Utc.now! {} |> Utc.to_millis_since_epoch
|
||||
## List.append nums (now * i)
|
||||
## ```
|
||||
##
|
||||
## This is the same as [walk], except that the step function can have effects.
|
||||
walk! : List elem, state, (state, elem => state) => state
|
||||
walk! = \list, state, func! ->
|
||||
when list is
|
||||
[] -> state
|
||||
[elem, .. as rest] ->
|
||||
nextState = func! state elem
|
||||
walk! rest nextState func!
|
||||
|
|
|
@ -3,80 +3,80 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
ret Bool.23;
|
||||
|
||||
procedure List.115 (List.562, List.563, List.564):
|
||||
let List.677 : U64 = 0i64;
|
||||
let List.678 : U64 = CallByName List.6 List.562;
|
||||
let List.676 : [C U64, C U64] = CallByName List.80 List.562 List.563 List.564 List.677 List.678;
|
||||
ret List.676;
|
||||
let List.683 : U64 = 0i64;
|
||||
let List.684 : U64 = CallByName List.6 List.562;
|
||||
let List.682 : [C U64, C U64] = CallByName List.80 List.562 List.563 List.564 List.683 List.684;
|
||||
ret List.682;
|
||||
|
||||
procedure List.26 (List.212, List.213, List.214):
|
||||
let List.670 : [C U64, C U64] = CallByName List.115 List.212 List.213 List.214;
|
||||
let List.673 : U8 = 1i64;
|
||||
let List.674 : U8 = GetTagId List.670;
|
||||
let List.675 : Int1 = lowlevel Eq List.673 List.674;
|
||||
if List.675 then
|
||||
let List.215 : U64 = UnionAtIndex (Id 1) (Index 0) List.670;
|
||||
let List.676 : [C U64, C U64] = CallByName List.115 List.212 List.213 List.214;
|
||||
let List.679 : U8 = 1i64;
|
||||
let List.680 : U8 = GetTagId List.676;
|
||||
let List.681 : Int1 = lowlevel Eq List.679 List.680;
|
||||
if List.681 then
|
||||
let List.215 : U64 = UnionAtIndex (Id 1) (Index 0) List.676;
|
||||
ret List.215;
|
||||
else
|
||||
let List.216 : U64 = UnionAtIndex (Id 0) (Index 0) List.670;
|
||||
let List.216 : U64 = UnionAtIndex (Id 0) (Index 0) List.676;
|
||||
ret List.216;
|
||||
|
||||
procedure List.38 (List.400, List.401):
|
||||
let List.669 : U64 = CallByName List.6 List.400;
|
||||
let List.402 : U64 = CallByName Num.77 List.669 List.401;
|
||||
let List.659 : List U8 = CallByName List.43 List.400 List.402;
|
||||
ret List.659;
|
||||
|
||||
procedure List.43 (List.398, List.399):
|
||||
let List.667 : U64 = CallByName List.6 List.398;
|
||||
let List.666 : U64 = CallByName Num.77 List.667 List.399;
|
||||
let List.661 : {U64, U64} = Struct {List.399, List.666};
|
||||
let List.660 : List U8 = CallByName List.49 List.398 List.661;
|
||||
ret List.660;
|
||||
|
||||
procedure List.49 (List.476, List.477):
|
||||
let List.663 : U64 = StructAtIndex 1 List.477;
|
||||
let List.664 : U64 = StructAtIndex 0 List.477;
|
||||
let List.662 : List U8 = CallByName List.72 List.476 List.663 List.664;
|
||||
ret List.662;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.668 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.668;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.691 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.665 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
let List.675 : U64 = CallByName List.6 List.400;
|
||||
let List.402 : U64 = CallByName Num.77 List.675 List.401;
|
||||
let List.665 : List U8 = CallByName List.43 List.400 List.402;
|
||||
ret List.665;
|
||||
|
||||
procedure List.43 (List.398, List.399):
|
||||
let List.673 : U64 = CallByName List.6 List.398;
|
||||
let List.672 : U64 = CallByName Num.77 List.673 List.399;
|
||||
let List.667 : {U64, U64} = Struct {List.399, List.672};
|
||||
let List.666 : List U8 = CallByName List.49 List.398 List.667;
|
||||
ret List.666;
|
||||
|
||||
procedure List.49 (List.476, List.477):
|
||||
let List.669 : U64 = StructAtIndex 1 List.477;
|
||||
let List.670 : U64 = StructAtIndex 0 List.477;
|
||||
let List.668 : List U8 = CallByName List.72 List.476 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.674 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.674;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.697 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.671 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.671;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.679 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.681 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.681 then
|
||||
let List.690 : U8 = CallByName List.66 List.565 List.568;
|
||||
let List.682 : [C U64, C U64] = CallByName Test.4 List.566 List.690;
|
||||
let List.687 : U8 = 1i64;
|
||||
let List.688 : U8 = GetTagId List.682;
|
||||
let List.689 : Int1 = lowlevel Eq List.687 List.688;
|
||||
if List.689 then
|
||||
let List.570 : U64 = UnionAtIndex (Id 1) (Index 0) List.682;
|
||||
let List.685 : U64 = 1i64;
|
||||
let List.684 : U64 = CallByName Num.51 List.568 List.685;
|
||||
jump List.679 List.565 List.570 List.567 List.684 List.569;
|
||||
joinpoint List.685 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.687 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.687 then
|
||||
let List.696 : U8 = CallByName List.66 List.565 List.568;
|
||||
let List.688 : [C U64, C U64] = CallByName Test.4 List.566 List.696;
|
||||
let List.693 : U8 = 1i64;
|
||||
let List.694 : U8 = GetTagId List.688;
|
||||
let List.695 : Int1 = lowlevel Eq List.693 List.694;
|
||||
if List.695 then
|
||||
let List.570 : U64 = UnionAtIndex (Id 1) (Index 0) List.688;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.568 List.691;
|
||||
jump List.685 List.565 List.570 List.567 List.690 List.569;
|
||||
else
|
||||
dec List.565;
|
||||
let List.571 : U64 = UnionAtIndex (Id 0) (Index 0) List.682;
|
||||
let List.686 : [C U64, C U64] = TagId(0) List.571;
|
||||
let List.571 : U64 = UnionAtIndex (Id 0) (Index 0) List.688;
|
||||
let List.692 : [C U64, C U64] = TagId(0) List.571;
|
||||
ret List.692;
|
||||
else
|
||||
dec List.565;
|
||||
let List.686 : [C U64, C U64] = TagId(1) List.566;
|
||||
ret List.686;
|
||||
else
|
||||
dec List.565;
|
||||
let List.680 : [C U64, C U64] = TagId(1) List.566;
|
||||
ret List.680;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.679 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.685 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.665 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.667 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.667 then
|
||||
let List.671 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List {} = CallByName List.283 List.175 List.671 List.176;
|
||||
let List.670 : U64 = 1i64;
|
||||
let List.669 : U64 = CallByName Num.51 List.177 List.670;
|
||||
jump List.665 List.174 List.179 List.176 List.669 List.178;
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List {} = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.665 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.671 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.663 : U64 = 0i64;
|
||||
let List.664 : U64 = CallByName List.6 List.171;
|
||||
let List.662 : List {} = CallByName List.100 List.171 List.172 List.173 List.663 List.664;
|
||||
ret List.662;
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List {} = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.676 : {} = CallByName Test.2 List.285;
|
||||
let List.675 : List {} = CallByName List.71 List.284 List.676;
|
||||
ret List.675;
|
||||
let List.682 : {} = CallByName Test.2 List.285;
|
||||
let List.681 : List {} = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.660 : List {} = CallByName List.68 List.282;
|
||||
let List.659 : List {} = CallByName List.18 List.280 List.660 List.281;
|
||||
ret List.659;
|
||||
let List.666 : List {} = CallByName List.68 List.282;
|
||||
let List.665 : List {} = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.673 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.673;
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.672 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.672;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.678 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
let List.678 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List {} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.677 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
let List.683 : List {} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.665 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.667 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.667 then
|
||||
let List.671 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List [] = CallByName List.283 List.175 List.671 List.176;
|
||||
let List.670 : U64 = 1i64;
|
||||
let List.669 : U64 = CallByName Num.51 List.177 List.670;
|
||||
jump List.665 List.174 List.179 List.176 List.669 List.178;
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List [] = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.665 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.671 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.663 : U64 = 0i64;
|
||||
let List.664 : U64 = CallByName List.6 List.171;
|
||||
let List.662 : List [] = CallByName List.100 List.171 List.172 List.173 List.663 List.664;
|
||||
ret List.662;
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List [] = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.676 : [] = CallByName Test.2 List.285;
|
||||
let List.675 : List [] = CallByName List.71 List.284 List.676;
|
||||
ret List.675;
|
||||
let List.682 : [] = CallByName Test.2 List.285;
|
||||
let List.681 : List [] = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.660 : List [] = CallByName List.68 List.282;
|
||||
let List.659 : List [] = CallByName List.18 List.280 List.660 List.281;
|
||||
ret List.659;
|
||||
let List.666 : List [] = CallByName List.68 List.282;
|
||||
let List.665 : List [] = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.673 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.673;
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.672 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.672;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.678 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
let List.678 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List [] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.677 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
let List.683 : List [] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
procedure List.100 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : [] = CallByName List.66 List.174 List.177;
|
||||
let List.179 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.13;
|
||||
jump List.662 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
jump List.668 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : [<r>C {}, C *self {{}, []}] = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : [<r>C {}, C *self {{}, []}] = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -3,91 +3,91 @@ procedure Bool.1 ():
|
|||
ret Bool.24;
|
||||
|
||||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.681 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.683 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.683 then
|
||||
let List.687 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = CallByName List.66 List.174 List.177;
|
||||
inc List.687;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.687 List.176;
|
||||
let List.686 : U64 = 1i64;
|
||||
let List.685 : U64 = CallByName Num.51 List.177 List.686;
|
||||
jump List.681 List.174 List.179 List.176 List.685 List.178;
|
||||
joinpoint List.687 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.689 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.689 then
|
||||
let List.693 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = CallByName List.66 List.174 List.177;
|
||||
inc List.693;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.693 List.176;
|
||||
let List.692 : U64 = 1i64;
|
||||
let List.691 : U64 = CallByName Num.51 List.177 List.692;
|
||||
jump List.687 List.174 List.179 List.176 List.691 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.687 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.171;
|
||||
let List.678 : List Str = CallByName List.100 List.171 List.172 List.173 List.679 List.680;
|
||||
ret List.678;
|
||||
let List.685 : U64 = 0i64;
|
||||
let List.686 : U64 = CallByName List.6 List.171;
|
||||
let List.684 : List Str = CallByName List.100 List.171 List.172 List.173 List.685 List.686;
|
||||
ret List.684;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.673 : U64 = CallByName List.6 List.119;
|
||||
let List.669 : Int1 = CallByName Num.22 List.120 List.673;
|
||||
if List.669 then
|
||||
let List.671 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.671;
|
||||
let List.670 : [C {}, C Str] = TagId(1) List.671;
|
||||
ret List.670;
|
||||
let List.679 : U64 = CallByName List.6 List.119;
|
||||
let List.675 : Int1 = CallByName Num.22 List.120 List.679;
|
||||
if List.675 then
|
||||
let List.677 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.677;
|
||||
let List.676 : [C {}, C Str] = TagId(1) List.677;
|
||||
ret List.676;
|
||||
else
|
||||
let List.668 : {} = Struct {};
|
||||
let List.667 : [C {}, C Str] = TagId(0) List.668;
|
||||
ret List.667;
|
||||
let List.674 : {} = Struct {};
|
||||
let List.673 : [C {}, C Str] = TagId(0) List.674;
|
||||
ret List.673;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.692 : Str = CallByName Test.10 List.285;
|
||||
let List.691 : List Str = CallByName List.71 List.284 List.692;
|
||||
ret List.691;
|
||||
let List.698 : Str = CallByName Test.10 List.285;
|
||||
let List.697 : List Str = CallByName List.71 List.284 List.698;
|
||||
ret List.697;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.676 : List Str = CallByName List.68 List.282;
|
||||
let List.675 : List Str = CallByName List.18 List.280 List.676 List.281;
|
||||
ret List.675;
|
||||
let List.682 : List Str = CallByName List.68 List.282;
|
||||
let List.681 : List Str = CallByName List.18 List.280 List.682 List.281;
|
||||
ret List.681;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.674 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.674;
|
||||
let List.680 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.680;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.689 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.689;
|
||||
let List.695 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.695;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.672 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.672;
|
||||
let List.678 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.688 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.688;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.694 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
let List.694 : [<r>C List [<r>C List *self, C *self], C [<r>C List *self, C *self]] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.694;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.700 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.700;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.693 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
let List.699 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
|
||||
procedure List.9 (List.391):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.659 : [C {}, C Str] = CallByName List.2 List.391 List.666;
|
||||
let List.663 : U8 = 1i64;
|
||||
let List.664 : U8 = GetTagId List.659;
|
||||
let List.665 : Int1 = lowlevel Eq List.663 List.664;
|
||||
if List.665 then
|
||||
let List.392 : Str = UnionAtIndex (Id 1) (Index 0) List.659;
|
||||
let List.660 : [C {}, C Str] = TagId(1) List.392;
|
||||
ret List.660;
|
||||
let List.672 : U64 = 0i64;
|
||||
let List.665 : [C {}, C Str] = CallByName List.2 List.391 List.672;
|
||||
let List.669 : U8 = 1i64;
|
||||
let List.670 : U8 = GetTagId List.665;
|
||||
let List.671 : Int1 = lowlevel Eq List.669 List.670;
|
||||
if List.671 then
|
||||
let List.392 : Str = UnionAtIndex (Id 1) (Index 0) List.665;
|
||||
let List.666 : [C {}, C Str] = TagId(1) List.392;
|
||||
ret List.666;
|
||||
else
|
||||
dec List.659;
|
||||
let List.662 : {} = Struct {};
|
||||
let List.661 : [C {}, C Str] = TagId(0) List.662;
|
||||
ret List.661;
|
||||
dec List.665;
|
||||
let List.668 : {} = Struct {};
|
||||
let List.667 : [C {}, C Str] = TagId(0) List.668;
|
||||
ret List.667;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.659 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.659;
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
|
||||
procedure Test.1 (Test.5):
|
||||
let Test.2 : I64 = 41i64;
|
||||
|
|
|
@ -3,34 +3,34 @@ procedure Bool.2 ():
|
|||
ret Bool.23;
|
||||
|
||||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : Int1 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Int1 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.662 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.668 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : 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.743;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.659 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.659;
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
|
||||
procedure Num.75 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
|
||||
|
|
|
@ -3,24 +3,24 @@ procedure Bool.1 ():
|
|||
ret Bool.23;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.665 : U64 = CallByName List.6 List.119;
|
||||
let List.661 : Int1 = CallByName Num.22 List.120 List.665;
|
||||
if List.661 then
|
||||
let List.663 : {} = CallByName List.66 List.119 List.120;
|
||||
let List.662 : [C {}, C {}] = TagId(1) List.663;
|
||||
ret List.662;
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : {} = CallByName List.66 List.119 List.120;
|
||||
let List.668 : [C {}, C {}] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
else
|
||||
let List.660 : {} = Struct {};
|
||||
let List.659 : [C {}, C {}] = TagId(0) List.660;
|
||||
ret List.659;
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C {}] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.664 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.664;
|
||||
let List.670 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
16
crates/compiler/test_mono/generated/encode.txt
generated
16
crates/compiler/test_mono/generated/encode.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.135, List.136):
|
||||
let List.662 : U64 = 1i64;
|
||||
let List.660 : List U8 = CallByName List.70 List.135 List.662;
|
||||
let List.659 : List U8 = CallByName List.71 List.660 List.136;
|
||||
ret List.659;
|
||||
let List.668 : U64 = 1i64;
|
||||
let List.666 : List U8 = CallByName List.70 List.135 List.668;
|
||||
let List.665 : List U8 = CallByName List.71 List.666 List.136;
|
||||
ret List.665;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.663 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.663;
|
||||
let List.669 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.661 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.661;
|
||||
let List.667 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
|
||||
procedure Test.23 (Test.24, Test.35, Test.22):
|
||||
let Test.37 : List U8 = CallByName List.4 Test.24 Test.22;
|
||||
|
|
|
@ -68,84 +68,84 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
|
||||
joinpoint List.688 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.690 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.690 then
|
||||
let List.694 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.694;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.694;
|
||||
let List.693 : U64 = 1i64;
|
||||
let List.692 : U64 = CallByName Num.51 List.177 List.693;
|
||||
jump List.688 List.174 List.179 List.176 List.692 List.178;
|
||||
joinpoint List.694 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.696 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.696 then
|
||||
let List.700 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.700;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.700;
|
||||
let List.699 : U64 = 1i64;
|
||||
let List.698 : U64 = CallByName Num.51 List.177 List.699;
|
||||
jump List.694 List.174 List.179 List.176 List.698 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.29;
|
||||
jump List.688 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
|
||||
jump List.694 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
|
||||
|
||||
procedure List.100 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.37;
|
||||
jump List.662 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
jump List.668 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.686 : U64 = 0i64;
|
||||
let List.687 : U64 = CallByName List.6 List.171;
|
||||
let List.685 : List U8 = CallByName List.100 List.171 List.172 List.173 List.686 List.687;
|
||||
ret List.685;
|
||||
let List.692 : U64 = 0i64;
|
||||
let List.693 : U64 = CallByName List.6 List.171;
|
||||
let List.691 : List U8 = CallByName List.100 List.171 List.172 List.173 List.692 List.693;
|
||||
ret List.691;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.707 : U64 = 1i64;
|
||||
let List.706 : List U8 = CallByName List.70 List.135 List.707;
|
||||
let List.705 : List U8 = CallByName List.71 List.706 List.136;
|
||||
ret List.705;
|
||||
let List.713 : U64 = 1i64;
|
||||
let List.712 : List U8 = CallByName List.70 List.135 List.713;
|
||||
let List.711 : List U8 = CallByName List.71 List.712 List.136;
|
||||
ret List.711;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.710 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.710;
|
||||
let List.716 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.716;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.695 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.695;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.701 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.701 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.707 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.699 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.699;
|
||||
let List.705 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.705;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.709 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.709;
|
||||
let List.715 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.715;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.288 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -40,53 +40,53 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump List.662 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
jump List.668 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.681 : U64 = 1i64;
|
||||
let List.680 : List U8 = CallByName List.70 List.135 List.681;
|
||||
let List.679 : List U8 = CallByName List.71 List.680 List.136;
|
||||
ret List.679;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.675 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.673 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.673;
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.683 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -47,53 +47,53 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.71 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.20;
|
||||
jump List.662 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
jump List.668 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.681 : U64 = 1i64;
|
||||
let List.680 : List U8 = CallByName List.70 List.135 List.681;
|
||||
let List.679 : List U8 = CallByName List.71 List.680 List.136;
|
||||
ret List.679;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.675 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.673 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.673;
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.683 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -12,22 +12,22 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.669 : U64 = 1i64;
|
||||
let List.668 : List U8 = CallByName List.70 List.135 List.669;
|
||||
let List.667 : List U8 = CallByName List.71 List.668 List.136;
|
||||
ret List.667;
|
||||
let List.675 : U64 = 1i64;
|
||||
let List.674 : List U8 = CallByName List.70 List.135 List.675;
|
||||
let List.673 : List U8 = CallByName List.71 List.674 List.136;
|
||||
ret List.673;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.663 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.663;
|
||||
let List.669 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.661 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.661;
|
||||
let List.667 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.671 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.671;
|
||||
let List.677 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -41,57 +41,57 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.64 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.64 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.22;
|
||||
jump List.662 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
jump List.668 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.685 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.691 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.681 : U64 = 1i64;
|
||||
let List.680 : List U8 = CallByName List.70 List.135 List.681;
|
||||
let List.679 : List U8 = CallByName List.71 List.680 List.136;
|
||||
ret List.679;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.675 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.673 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.673;
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.683 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -44,57 +44,57 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.64 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.64 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.23;
|
||||
jump List.662 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
jump List.668 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.685 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.691 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.681 : U64 = 1i64;
|
||||
let List.680 : List U8 = CallByName List.70 List.135 List.681;
|
||||
let List.679 : List U8 = CallByName List.71 List.680 List.136;
|
||||
ret List.679;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.675 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.673 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.673;
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.683 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -891,170 +891,170 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.100 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
|
||||
joinpoint List.726 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.728 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.728 then
|
||||
let List.732 : {Str, I64} = CallByName List.66 List.174 List.177;
|
||||
inc List.732;
|
||||
let List.179 : {Str, Int1} = CallByName Dict.188 List.175 List.732 List.176;
|
||||
let List.731 : U64 = 1i64;
|
||||
let List.730 : U64 = CallByName Num.51 List.177 List.731;
|
||||
jump List.726 List.174 List.179 List.176 List.730 List.178;
|
||||
joinpoint List.732 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.734 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.734 then
|
||||
let List.738 : {Str, I64} = CallByName List.66 List.174 List.177;
|
||||
inc List.738;
|
||||
let List.179 : {Str, Int1} = CallByName Dict.188 List.175 List.738 List.176;
|
||||
let List.737 : U64 = 1i64;
|
||||
let List.736 : U64 = CallByName Num.51 List.177 List.737;
|
||||
jump List.732 List.174 List.179 List.176 List.736 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.40;
|
||||
jump List.726 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
jump List.732 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
|
||||
|
||||
procedure List.100 (#Derived_gen.61, #Derived_gen.62, #Derived_gen.63, #Derived_gen.64, #Derived_gen.65):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, I64} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, I64} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.159 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.61;
|
||||
jump List.662 #Derived_gen.61 #Derived_gen.62 #Derived_gen.63 #Derived_gen.64 #Derived_gen.65;
|
||||
jump List.668 #Derived_gen.61 #Derived_gen.62 #Derived_gen.63 #Derived_gen.64 #Derived_gen.65;
|
||||
|
||||
procedure List.101 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
|
||||
joinpoint List.701 List.183 List.184 List.185 List.186 List.187:
|
||||
let List.703 : Int1 = CallByName Num.22 List.186 List.187;
|
||||
if List.703 then
|
||||
let List.707 : {Str, I64} = CallByName List.66 List.183 List.186;
|
||||
inc List.707;
|
||||
let List.188 : List {U32, U32} = CallByName Dict.406 List.184 List.707 List.186 List.185;
|
||||
let List.706 : U64 = 1i64;
|
||||
let List.705 : U64 = CallByName Num.51 List.186 List.706;
|
||||
jump List.701 List.183 List.188 List.185 List.705 List.187;
|
||||
joinpoint List.707 List.183 List.184 List.185 List.186 List.187:
|
||||
let List.709 : Int1 = CallByName Num.22 List.186 List.187;
|
||||
if List.709 then
|
||||
let List.713 : {Str, I64} = CallByName List.66 List.183 List.186;
|
||||
inc List.713;
|
||||
let List.188 : List {U32, U32} = CallByName Dict.406 List.184 List.713 List.186 List.185;
|
||||
let List.712 : U64 = 1i64;
|
||||
let List.711 : U64 = CallByName Num.51 List.186 List.712;
|
||||
jump List.707 List.183 List.188 List.185 List.711 List.187;
|
||||
else
|
||||
dec List.183;
|
||||
ret List.184;
|
||||
in
|
||||
inc #Derived_gen.21;
|
||||
jump List.701 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
|
||||
jump List.707 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
|
||||
|
||||
procedure List.11 (List.149, List.150):
|
||||
let List.721 : List {U32, U32} = CallByName List.68 List.150;
|
||||
let List.720 : List {U32, U32} = CallByName List.98 List.149 List.150 List.721;
|
||||
ret List.720;
|
||||
let List.727 : List {U32, U32} = CallByName List.68 List.150;
|
||||
let List.726 : List {U32, U32} = CallByName List.98 List.149 List.150 List.727;
|
||||
ret List.726;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.724 : U64 = 0i64;
|
||||
let List.725 : U64 = CallByName List.6 List.171;
|
||||
let List.723 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.724 List.725;
|
||||
ret List.723;
|
||||
let List.730 : U64 = 0i64;
|
||||
let List.731 : U64 = CallByName List.6 List.171;
|
||||
let List.729 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.730 List.731;
|
||||
ret List.729;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.685 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.684 : List {U32, U32} = StructAtIndex 0 List.685;
|
||||
ret List.684;
|
||||
let List.691 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.690 : List {U32, U32} = StructAtIndex 0 List.691;
|
||||
ret List.690;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.687 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.686 : List {Str, I64} = StructAtIndex 0 List.687;
|
||||
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.687;
|
||||
let List.693 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.692 : List {Str, I64} = StructAtIndex 0 List.693;
|
||||
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.693;
|
||||
dec #Derived_gen.71;
|
||||
ret List.686;
|
||||
ret List.692;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.696 : U64 = 1i64;
|
||||
let List.694 : List {Str, I64} = CallByName List.70 List.135 List.696;
|
||||
let List.693 : List {Str, I64} = CallByName List.71 List.694 List.136;
|
||||
ret List.693;
|
||||
let List.702 : U64 = 1i64;
|
||||
let List.700 : List {Str, I64} = CallByName List.70 List.135 List.702;
|
||||
let List.699 : List {Str, I64} = CallByName List.71 List.700 List.136;
|
||||
ret List.699;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.675 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.675;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.722 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.722;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.734 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.734;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.683 : U64 = CallByName List.6 List.124;
|
||||
let List.680 : Int1 = CallByName Num.22 List.125 List.683;
|
||||
if List.680 then
|
||||
let List.681 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.124 List.125 List.126;
|
||||
let List.681 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.681;
|
||||
else
|
||||
let List.679 : {List {U32, U32}, {U32, U32}} = Struct {List.124, List.126};
|
||||
ret List.679;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.728 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.728;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.740 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.740;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.692 : U64 = CallByName List.6 List.124;
|
||||
let List.689 : Int1 = CallByName Num.22 List.125 List.692;
|
||||
if List.689 then
|
||||
let List.690 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.690;
|
||||
let List.689 : U64 = CallByName List.6 List.124;
|
||||
let List.686 : Int1 = CallByName Num.22 List.125 List.689;
|
||||
if List.686 then
|
||||
let List.687 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.687;
|
||||
else
|
||||
let List.688 : {List {Str, I64}, {Str, I64}} = Struct {List.124, List.126};
|
||||
ret List.688;
|
||||
let List.685 : {List {U32, U32}, {U32, U32}} = Struct {List.124, List.126};
|
||||
ret List.685;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.698 : U64 = CallByName List.6 List.124;
|
||||
let List.695 : Int1 = CallByName Num.22 List.125 List.698;
|
||||
if List.695 then
|
||||
let List.696 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.696;
|
||||
else
|
||||
let List.694 : {List {Str, I64}, {Str, I64}} = Struct {List.124, List.126};
|
||||
ret List.694;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.733 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.733;
|
||||
let List.739 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.739;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.682 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.682;
|
||||
let List.688 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.688;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.691 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.691;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.719 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.719;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.697 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.697 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.697;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.695 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.695;
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.725 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.725;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.703 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.703;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.716 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.716;
|
||||
let List.701 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.701;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.722 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.722;
|
||||
|
||||
procedure List.83 (List.180, List.181, List.182):
|
||||
let List.699 : U64 = 0i64;
|
||||
let List.700 : U64 = CallByName List.6 List.180;
|
||||
let List.698 : List {U32, U32} = CallByName List.101 List.180 List.181 List.182 List.699 List.700;
|
||||
ret List.698;
|
||||
let List.705 : U64 = 0i64;
|
||||
let List.706 : U64 = CallByName List.6 List.180;
|
||||
let List.704 : List {U32, U32} = CallByName List.101 List.180 List.181 List.182 List.705 List.706;
|
||||
ret List.704;
|
||||
|
||||
procedure List.98 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
|
||||
joinpoint List.710 List.151 List.152 List.153:
|
||||
let List.718 : U64 = 0i64;
|
||||
let List.712 : Int1 = CallByName Num.24 List.152 List.718;
|
||||
if List.712 then
|
||||
let List.717 : U64 = 1i64;
|
||||
let List.714 : U64 = CallByName Num.75 List.152 List.717;
|
||||
let List.715 : List {U32, U32} = CallByName List.71 List.153 List.151;
|
||||
jump List.710 List.151 List.714 List.715;
|
||||
joinpoint List.716 List.151 List.152 List.153:
|
||||
let List.724 : U64 = 0i64;
|
||||
let List.718 : Int1 = CallByName Num.24 List.152 List.724;
|
||||
if List.718 then
|
||||
let List.723 : U64 = 1i64;
|
||||
let List.720 : U64 = CallByName Num.75 List.152 List.723;
|
||||
let List.721 : List {U32, U32} = CallByName List.71 List.153 List.151;
|
||||
jump List.716 List.151 List.720 List.721;
|
||||
else
|
||||
ret List.153;
|
||||
in
|
||||
jump List.710 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
jump List.716 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
|
||||
|
||||
procedure Num.131 (#Attr.2):
|
||||
let Num.291 : U32 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -136,34 +136,34 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.100 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : I64 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.160 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : I64 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.160 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.8;
|
||||
jump List.662 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
|
||||
jump List.668 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -222,66 +222,66 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.100 (#Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.30;
|
||||
jump List.662 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
|
||||
jump List.668 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
|
||||
|
||||
procedure List.100 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47):
|
||||
joinpoint List.674 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.676 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.676 then
|
||||
let List.680 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.680;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.680;
|
||||
let List.679 : U64 = 1i64;
|
||||
let List.678 : U64 = CallByName Num.51 List.177 List.679;
|
||||
jump List.674 List.174 List.179 List.176 List.678 List.178;
|
||||
joinpoint List.680 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.682 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.682 then
|
||||
let List.686 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.686;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.686;
|
||||
let List.685 : U64 = 1i64;
|
||||
let List.684 : U64 = CallByName Num.51 List.177 List.685;
|
||||
jump List.680 List.174 List.179 List.176 List.684 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.43;
|
||||
jump List.674 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47;
|
||||
jump List.680 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.672 : U64 = 0i64;
|
||||
let List.673 : U64 = CallByName List.6 List.171;
|
||||
let List.671 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.672 List.673;
|
||||
ret List.671;
|
||||
let List.678 : U64 = 0i64;
|
||||
let List.679 : U64 = CallByName List.6 List.171;
|
||||
let List.677 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.678 List.679;
|
||||
ret List.677;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.682 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.682;
|
||||
let List.688 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.688;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.681 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
let List.687 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -162,35 +162,35 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.100 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {[C I64, C Decimal], Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {[C I64, C Decimal], Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.22;
|
||||
jump List.662 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
jump List.668 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -140,35 +140,35 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.100 (#Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.12;
|
||||
jump List.662 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
|
||||
jump List.668 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -147,35 +147,35 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.100 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : {Str, Str} = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : {Str, Int1} = CallByName Inspect.233 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.16;
|
||||
jump List.662 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
jump List.668 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : {Str, Int1} = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -133,42 +133,42 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.1 (List.118):
|
||||
let List.672 : U64 = CallByName List.6 List.118;
|
||||
let List.673 : U64 = 0i64;
|
||||
let List.671 : Int1 = CallByName Bool.11 List.672 List.673;
|
||||
ret List.671;
|
||||
let List.678 : U64 = CallByName List.6 List.118;
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.677 : Int1 = CallByName Bool.11 List.678 List.679;
|
||||
ret List.677;
|
||||
|
||||
procedure List.100 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : Str = CallByName Inspect.210 List.175 List.668;
|
||||
dec List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : Str = CallByName Inspect.210 List.175 List.674;
|
||||
dec List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.14;
|
||||
jump List.662 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
jump List.668 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : Str = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : Str = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -136,42 +136,42 @@ procedure Inspect.64 (Inspect.302):
|
|||
ret Inspect.302;
|
||||
|
||||
procedure List.1 (List.118):
|
||||
let List.672 : U64 = CallByName List.6 List.118;
|
||||
let List.673 : U64 = 0i64;
|
||||
let List.671 : Int1 = CallByName Bool.11 List.672 List.673;
|
||||
ret List.671;
|
||||
let List.678 : U64 = CallByName List.6 List.118;
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.677 : Int1 = CallByName Bool.11 List.678 List.679;
|
||||
ret List.677;
|
||||
|
||||
procedure List.100 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : Str = CallByName Inspect.210 List.175 List.668;
|
||||
dec List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : Str = CallByName Inspect.210 List.175 List.674;
|
||||
dec List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.13;
|
||||
jump List.662 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
jump List.668 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : Str = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : Str = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
procedure List.6 (#Attr.2):
|
||||
let List.659 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.659;
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -7,39 +7,39 @@ procedure Bool.2 ():
|
|||
ret Bool.23;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.673 : U64 = CallByName List.6 List.119;
|
||||
let List.669 : Int1 = CallByName Num.22 List.120 List.673;
|
||||
if List.669 then
|
||||
let List.671 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.670 : [C {}, C I64] = TagId(1) List.671;
|
||||
ret List.670;
|
||||
let List.679 : U64 = CallByName List.6 List.119;
|
||||
let List.675 : Int1 = CallByName Num.22 List.120 List.679;
|
||||
if List.675 then
|
||||
let List.677 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.676 : [C {}, C I64] = TagId(1) List.677;
|
||||
ret List.676;
|
||||
else
|
||||
let List.668 : {} = Struct {};
|
||||
let List.667 : [C {}, C I64] = TagId(0) List.668;
|
||||
ret List.667;
|
||||
let List.674 : {} = Struct {};
|
||||
let List.673 : [C {}, C I64] = TagId(0) List.674;
|
||||
ret List.673;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.674 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.674;
|
||||
let List.680 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.680;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.672 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.672;
|
||||
let List.678 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
|
||||
procedure List.9 (List.391):
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.659 : [C {}, C I64] = CallByName List.2 List.391 List.666;
|
||||
let List.663 : U8 = 1i64;
|
||||
let List.664 : U8 = GetTagId List.659;
|
||||
let List.665 : Int1 = lowlevel Eq List.663 List.664;
|
||||
if List.665 then
|
||||
let List.392 : I64 = UnionAtIndex (Id 1) (Index 0) List.659;
|
||||
let List.660 : [C Int1, C I64] = TagId(1) List.392;
|
||||
ret List.660;
|
||||
let List.672 : U64 = 0i64;
|
||||
let List.665 : [C {}, C I64] = CallByName List.2 List.391 List.672;
|
||||
let List.669 : U8 = 1i64;
|
||||
let List.670 : U8 = GetTagId List.665;
|
||||
let List.671 : Int1 = lowlevel Eq List.669 List.670;
|
||||
if List.671 then
|
||||
let List.392 : I64 = UnionAtIndex (Id 1) (Index 0) List.665;
|
||||
let List.666 : [C Int1, C I64] = TagId(1) List.392;
|
||||
ret List.666;
|
||||
else
|
||||
let List.662 : Int1 = true;
|
||||
let List.661 : [C Int1, C I64] = TagId(0) List.662;
|
||||
ret List.661;
|
||||
let List.668 : Int1 = true;
|
||||
let List.667 : [C Int1, C I64] = TagId(0) List.668;
|
||||
ret List.667;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
152
crates/compiler/test_mono/generated/issue_4770.txt
generated
152
crates/compiler/test_mono/generated/issue_4770.txt
generated
|
@ -7,18 +7,18 @@ procedure Bool.2 ():
|
|||
ret Bool.24;
|
||||
|
||||
procedure List.105 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11):
|
||||
joinpoint List.697 List.290 List.291 List.292 List.293 List.294 List.295:
|
||||
let List.699 : Int1 = CallByName Num.22 List.294 List.295;
|
||||
if List.699 then
|
||||
let List.705 : [<r>C I64, C List *self] = CallByName List.66 List.290 List.294;
|
||||
inc List.705;
|
||||
let List.706 : [<r>C I64, C List *self] = CallByName List.66 List.291 List.294;
|
||||
inc List.706;
|
||||
let List.296 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.705 List.706;
|
||||
let List.701 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.292 List.296;
|
||||
let List.703 : U64 = 1i64;
|
||||
let List.702 : U64 = CallByName Num.51 List.294 List.703;
|
||||
jump List.697 List.290 List.291 List.701 List.293 List.702 List.295;
|
||||
joinpoint List.703 List.290 List.291 List.292 List.293 List.294 List.295:
|
||||
let List.705 : Int1 = CallByName Num.22 List.294 List.295;
|
||||
if List.705 then
|
||||
let List.711 : [<r>C I64, C List *self] = CallByName List.66 List.290 List.294;
|
||||
inc List.711;
|
||||
let List.712 : [<r>C I64, C List *self] = CallByName List.66 List.291 List.294;
|
||||
inc List.712;
|
||||
let List.296 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName Test.15 List.711 List.712;
|
||||
let List.707 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.71 List.292 List.296;
|
||||
let List.709 : U64 = 1i64;
|
||||
let List.708 : U64 = CallByName Num.51 List.294 List.709;
|
||||
jump List.703 List.290 List.291 List.707 List.293 List.708 List.295;
|
||||
else
|
||||
dec List.291;
|
||||
dec List.290;
|
||||
|
@ -26,98 +26,98 @@ procedure List.105 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen
|
|||
in
|
||||
inc #Derived_gen.6;
|
||||
inc #Derived_gen.7;
|
||||
jump List.697 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11;
|
||||
jump List.703 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11;
|
||||
|
||||
procedure List.115 (List.562, List.563, List.564):
|
||||
let List.673 : U64 = 0i64;
|
||||
let List.674 : U64 = CallByName List.6 List.562;
|
||||
let List.672 : [C {}, C {}] = CallByName List.80 List.562 List.563 List.564 List.673 List.674;
|
||||
ret List.672;
|
||||
let List.679 : U64 = 0i64;
|
||||
let List.680 : U64 = CallByName List.6 List.562;
|
||||
let List.678 : [C {}, C {}] = CallByName List.80 List.562 List.563 List.564 List.679 List.680;
|
||||
ret List.678;
|
||||
|
||||
procedure List.23 (List.286, List.287, List.288):
|
||||
let List.709 : U64 = CallByName List.6 List.286;
|
||||
let List.710 : U64 = CallByName List.6 List.287;
|
||||
let List.289 : U64 = CallByName Num.148 List.709 List.710;
|
||||
let List.695 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.289;
|
||||
let List.696 : U64 = 0i64;
|
||||
let List.694 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.105 List.286 List.287 List.695 List.288 List.696 List.289;
|
||||
ret List.694;
|
||||
let List.715 : U64 = CallByName List.6 List.286;
|
||||
let List.716 : U64 = CallByName List.6 List.287;
|
||||
let List.289 : U64 = CallByName Num.148 List.715 List.716;
|
||||
let List.701 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.68 List.289;
|
||||
let List.702 : U64 = 0i64;
|
||||
let List.700 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.105 List.286 List.287 List.701 List.288 List.702 List.289;
|
||||
ret List.700;
|
||||
|
||||
procedure List.247 (List.661, List.248, List.246):
|
||||
let List.691 : Int1 = CallByName Test.1 List.248;
|
||||
if List.691 then
|
||||
let List.693 : {} = Struct {};
|
||||
let List.692 : [C {}, C {}] = TagId(1) List.693;
|
||||
ret List.692;
|
||||
procedure List.247 (List.667, List.248, List.246):
|
||||
let List.697 : Int1 = CallByName Test.1 List.248;
|
||||
if List.697 then
|
||||
let List.699 : {} = Struct {};
|
||||
let List.698 : [C {}, C {}] = TagId(1) List.699;
|
||||
ret List.698;
|
||||
else
|
||||
let List.690 : {} = Struct {};
|
||||
let List.689 : [C {}, C {}] = TagId(0) List.690;
|
||||
ret List.689;
|
||||
let List.696 : {} = Struct {};
|
||||
let List.695 : [C {}, C {}] = TagId(0) List.696;
|
||||
ret List.695;
|
||||
|
||||
procedure List.56 (List.245, List.246):
|
||||
let List.670 : {} = Struct {};
|
||||
let List.662 : [C {}, C {}] = CallByName List.115 List.245 List.670 List.246;
|
||||
let List.667 : U8 = 1i64;
|
||||
let List.668 : U8 = GetTagId List.662;
|
||||
let List.669 : Int1 = lowlevel Eq List.667 List.668;
|
||||
if List.669 then
|
||||
let List.663 : Int1 = CallByName Bool.2;
|
||||
ret List.663;
|
||||
let List.676 : {} = Struct {};
|
||||
let List.668 : [C {}, C {}] = CallByName List.115 List.245 List.676 List.246;
|
||||
let List.673 : U8 = 1i64;
|
||||
let List.674 : U8 = GetTagId List.668;
|
||||
let List.675 : Int1 = lowlevel Eq List.673 List.674;
|
||||
if List.675 then
|
||||
let List.669 : Int1 = CallByName Bool.2;
|
||||
ret List.669;
|
||||
else
|
||||
let List.664 : Int1 = CallByName Bool.1;
|
||||
ret List.664;
|
||||
let List.670 : Int1 = CallByName Bool.1;
|
||||
ret List.670;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.660 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.660;
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.688 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.688;
|
||||
let List.694 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.694;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.687 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.687;
|
||||
let List.693 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.693;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.707 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.707;
|
||||
let List.713 : [<r>C I64, C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.713;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.708 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.708;
|
||||
let List.714 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.714;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.704 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.704;
|
||||
let List.710 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.675 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.677 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.677 then
|
||||
let List.686 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.565 List.568;
|
||||
inc List.686;
|
||||
let List.678 : [C {}, C {}] = CallByName List.247 List.566 List.686 List.567;
|
||||
let List.683 : U8 = 1i64;
|
||||
let List.684 : U8 = GetTagId List.678;
|
||||
let List.685 : Int1 = lowlevel Eq List.683 List.684;
|
||||
if List.685 then
|
||||
let List.570 : {} = UnionAtIndex (Id 1) (Index 0) List.678;
|
||||
let List.681 : U64 = 1i64;
|
||||
let List.680 : U64 = CallByName Num.51 List.568 List.681;
|
||||
jump List.675 List.565 List.570 List.567 List.680 List.569;
|
||||
joinpoint List.681 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.683 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.683 then
|
||||
let List.692 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.565 List.568;
|
||||
inc List.692;
|
||||
let List.684 : [C {}, C {}] = CallByName List.247 List.566 List.692 List.567;
|
||||
let List.689 : U8 = 1i64;
|
||||
let List.690 : U8 = GetTagId List.684;
|
||||
let List.691 : Int1 = lowlevel Eq List.689 List.690;
|
||||
if List.691 then
|
||||
let List.570 : {} = UnionAtIndex (Id 1) (Index 0) List.684;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : U64 = CallByName Num.51 List.568 List.687;
|
||||
jump List.681 List.565 List.570 List.567 List.686 List.569;
|
||||
else
|
||||
dec List.565;
|
||||
let List.571 : {} = UnionAtIndex (Id 0) (Index 0) List.678;
|
||||
let List.682 : [C {}, C {}] = TagId(0) List.571;
|
||||
let List.571 : {} = UnionAtIndex (Id 0) (Index 0) List.684;
|
||||
let List.688 : [C {}, C {}] = TagId(0) List.571;
|
||||
ret List.688;
|
||||
else
|
||||
dec List.565;
|
||||
let List.682 : [C {}, C {}] = TagId(1) List.566;
|
||||
ret List.682;
|
||||
else
|
||||
dec List.565;
|
||||
let List.676 : [C {}, C {}] = TagId(1) List.566;
|
||||
ret List.676;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.675 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.681 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.148 (Num.226, Num.227):
|
||||
let Num.290 : Int1 = CallByName Num.22 Num.226 Num.227;
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : [<rnu>C *self, <null>] = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.175 List.668;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : [<rnu>C *self, <null>] = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.175 List.674;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.662 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.668 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.670 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.670;
|
||||
let List.676 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.676;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
16
crates/compiler/test_mono/generated/list_append.txt
generated
16
crates/compiler/test_mono/generated/list_append.txt
generated
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.135, List.136):
|
||||
let List.662 : U64 = 1i64;
|
||||
let List.660 : List I64 = CallByName List.70 List.135 List.662;
|
||||
let List.659 : List I64 = CallByName List.71 List.660 List.136;
|
||||
ret List.659;
|
||||
let List.668 : U64 = 1i64;
|
||||
let List.666 : List I64 = CallByName List.70 List.135 List.668;
|
||||
let List.665 : List I64 = CallByName List.71 List.666 List.136;
|
||||
ret List.665;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.663 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.663;
|
||||
let List.669 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.661 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.661;
|
||||
let List.667 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.2 : List I64 = Array [1i64];
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
procedure List.4 (List.135, List.136):
|
||||
let List.662 : U64 = 1i64;
|
||||
let List.660 : List I64 = CallByName List.70 List.135 List.662;
|
||||
let List.659 : List I64 = CallByName List.71 List.660 List.136;
|
||||
ret List.659;
|
||||
let List.668 : U64 = 1i64;
|
||||
let List.666 : List I64 = CallByName List.70 List.135 List.668;
|
||||
let List.665 : List I64 = CallByName List.71 List.666 List.136;
|
||||
ret List.665;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.663 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.663;
|
||||
let List.669 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.661 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.661;
|
||||
let List.667 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.667;
|
||||
|
||||
procedure Test.1 (Test.2):
|
||||
let Test.6 : I64 = 42i64;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.662 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.661 : List I64 = StructAtIndex 0 List.662;
|
||||
ret List.661;
|
||||
let List.668 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.667 : List I64 = StructAtIndex 0 List.668;
|
||||
ret List.667;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.660 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.660;
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.667 : U64 = CallByName List.6 List.124;
|
||||
let List.664 : Int1 = CallByName Num.22 List.125 List.667;
|
||||
if List.664 then
|
||||
let List.665 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.665;
|
||||
let List.673 : U64 = CallByName List.6 List.124;
|
||||
let List.670 : Int1 = CallByName Num.22 List.125 List.673;
|
||||
if List.670 then
|
||||
let List.671 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.671;
|
||||
else
|
||||
let List.663 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.663;
|
||||
let List.669 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.669;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.666 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.666;
|
||||
let List.672 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.672;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
26
crates/compiler/test_mono/generated/list_get.txt
generated
26
crates/compiler/test_mono/generated/list_get.txt
generated
|
@ -1,22 +1,22 @@
|
|||
procedure List.2 (List.119, List.120):
|
||||
let List.665 : U64 = CallByName List.6 List.119;
|
||||
let List.661 : Int1 = CallByName Num.22 List.120 List.665;
|
||||
if List.661 then
|
||||
let List.663 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.662 : [C {}, C I64] = TagId(1) List.663;
|
||||
ret List.662;
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.668 : [C {}, C I64] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
else
|
||||
let List.660 : {} = Struct {};
|
||||
let List.659 : [C {}, C I64] = TagId(0) List.660;
|
||||
ret List.659;
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C I64] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.664 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.664;
|
||||
let List.670 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : 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.659 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.659;
|
||||
let List.665 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.660 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.660;
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
procedure List.100 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.673 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.675 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.675 then
|
||||
let List.679 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.679;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.679 List.176;
|
||||
dec List.679;
|
||||
let List.678 : U64 = 1i64;
|
||||
let List.677 : U64 = CallByName Num.51 List.177 List.678;
|
||||
jump List.673 List.174 List.179 List.176 List.677 List.178;
|
||||
joinpoint List.679 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.681 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.681 then
|
||||
let List.685 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.685;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.685 List.176;
|
||||
dec List.685;
|
||||
let List.684 : U64 = 1i64;
|
||||
let List.683 : U64 = CallByName Num.51 List.177 List.684;
|
||||
jump List.679 List.174 List.179 List.176 List.683 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.3;
|
||||
jump List.673 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
jump List.679 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.671 : U64 = 0i64;
|
||||
let List.672 : U64 = CallByName List.6 List.171;
|
||||
let List.670 : List Str = CallByName List.100 List.171 List.172 List.173 List.671 List.672;
|
||||
ret List.670;
|
||||
let List.677 : U64 = 0i64;
|
||||
let List.678 : U64 = CallByName List.6 List.171;
|
||||
let List.676 : List Str = CallByName List.100 List.171 List.172 List.173 List.677 List.678;
|
||||
ret List.676;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.665 : U64 = CallByName List.6 List.119;
|
||||
let List.661 : Int1 = CallByName Num.22 List.120 List.665;
|
||||
if List.661 then
|
||||
let List.663 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.663;
|
||||
let List.662 : [C {}, C Str] = TagId(1) List.663;
|
||||
ret List.662;
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.669;
|
||||
let List.668 : [C {}, C Str] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
else
|
||||
let List.660 : {} = Struct {};
|
||||
let List.659 : [C {}, C Str] = TagId(0) List.660;
|
||||
ret List.659;
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C Str] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.682 : Str = CallByName Test.3 List.285;
|
||||
let List.681 : List Str = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
let List.688 : Str = CallByName Test.3 List.285;
|
||||
let List.687 : List Str = CallByName List.71 List.284 List.688;
|
||||
ret List.687;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.668 : List Str = CallByName List.68 List.282;
|
||||
let List.667 : List Str = CallByName List.18 List.280 List.668 List.281;
|
||||
ret List.667;
|
||||
let List.674 : List Str = CallByName List.68 List.282;
|
||||
let List.673 : List Str = CallByName List.18 List.280 List.674 List.281;
|
||||
ret List.673;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.664 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.664;
|
||||
let List.670 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.683 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,65 +1,65 @@
|
|||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.673 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.675 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.675 then
|
||||
let List.679 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.679;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.679 List.176;
|
||||
let List.678 : U64 = 1i64;
|
||||
let List.677 : U64 = CallByName Num.51 List.177 List.678;
|
||||
jump List.673 List.174 List.179 List.176 List.677 List.178;
|
||||
joinpoint List.679 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.681 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.681 then
|
||||
let List.685 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.685;
|
||||
let List.179 : List Str = CallByName List.283 List.175 List.685 List.176;
|
||||
let List.684 : U64 = 1i64;
|
||||
let List.683 : U64 = CallByName Num.51 List.177 List.684;
|
||||
jump List.679 List.174 List.179 List.176 List.683 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.673 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.679 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.671 : U64 = 0i64;
|
||||
let List.672 : U64 = CallByName List.6 List.171;
|
||||
let List.670 : List Str = CallByName List.100 List.171 List.172 List.173 List.671 List.672;
|
||||
ret List.670;
|
||||
let List.677 : U64 = 0i64;
|
||||
let List.678 : U64 = CallByName List.6 List.171;
|
||||
let List.676 : List Str = CallByName List.100 List.171 List.172 List.173 List.677 List.678;
|
||||
ret List.676;
|
||||
|
||||
procedure List.2 (List.119, List.120):
|
||||
let List.665 : U64 = CallByName List.6 List.119;
|
||||
let List.661 : Int1 = CallByName Num.22 List.120 List.665;
|
||||
if List.661 then
|
||||
let List.663 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.663;
|
||||
let List.662 : [C {}, C Str] = TagId(1) List.663;
|
||||
ret List.662;
|
||||
let List.671 : U64 = CallByName List.6 List.119;
|
||||
let List.667 : Int1 = CallByName Num.22 List.120 List.671;
|
||||
if List.667 then
|
||||
let List.669 : Str = CallByName List.66 List.119 List.120;
|
||||
inc List.669;
|
||||
let List.668 : [C {}, C Str] = TagId(1) List.669;
|
||||
ret List.668;
|
||||
else
|
||||
let List.660 : {} = Struct {};
|
||||
let List.659 : [C {}, C Str] = TagId(0) List.660;
|
||||
ret List.659;
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : [C {}, C Str] = TagId(0) List.666;
|
||||
ret List.665;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.682 : Str = CallByName Test.3 List.285;
|
||||
let List.681 : List Str = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
let List.688 : Str = CallByName Test.3 List.285;
|
||||
let List.687 : List Str = CallByName List.71 List.284 List.688;
|
||||
ret List.687;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.668 : List Str = CallByName List.68 List.282;
|
||||
let List.667 : List Str = CallByName List.18 List.280 List.668 List.281;
|
||||
ret List.667;
|
||||
let List.674 : List Str = CallByName List.68 List.282;
|
||||
let List.673 : List Str = CallByName List.18 List.280 List.674 List.281;
|
||||
ret List.673;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.664 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.664;
|
||||
let List.670 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.670;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : List Str = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.683 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List Str = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
procedure List.100 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
|
||||
joinpoint List.665 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.667 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.667 then
|
||||
let List.671 : U8 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List U8 = CallByName List.283 List.175 List.671 List.176;
|
||||
let List.670 : U64 = 1i64;
|
||||
let List.669 : U64 = CallByName Num.51 List.177 List.670;
|
||||
jump List.665 List.174 List.179 List.176 List.669 List.178;
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : U8 = CallByName List.66 List.174 List.177;
|
||||
let List.179 : List U8 = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.3;
|
||||
jump List.665 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
jump List.671 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.663 : U64 = 0i64;
|
||||
let List.664 : U64 = CallByName List.6 List.171;
|
||||
let List.662 : List U8 = CallByName List.100 List.171 List.172 List.173 List.663 List.664;
|
||||
ret List.662;
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List U8 = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.678 : U8 = GetTagId List.281;
|
||||
joinpoint List.679 List.676:
|
||||
let List.675 : List U8 = CallByName List.71 List.284 List.676;
|
||||
ret List.675;
|
||||
let List.684 : U8 = GetTagId List.281;
|
||||
joinpoint List.685 List.682:
|
||||
let List.681 : List U8 = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
in
|
||||
switch List.678:
|
||||
switch List.684:
|
||||
case 0:
|
||||
let List.680 : U8 = CallByName Test.4 List.285 List.281;
|
||||
jump List.679 List.680;
|
||||
let List.686 : U8 = CallByName Test.4 List.285 List.281;
|
||||
jump List.685 List.686;
|
||||
|
||||
case 1:
|
||||
let List.680 : U8 = CallByName Test.6 List.285 List.281;
|
||||
jump List.679 List.680;
|
||||
let List.686 : U8 = CallByName Test.6 List.285 List.281;
|
||||
jump List.685 List.686;
|
||||
|
||||
default:
|
||||
let List.680 : U8 = CallByName Test.8 List.285;
|
||||
jump List.679 List.680;
|
||||
let List.686 : U8 = CallByName Test.8 List.285;
|
||||
jump List.685 List.686;
|
||||
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.660 : List U8 = CallByName List.68 List.282;
|
||||
let List.659 : List U8 = CallByName List.18 List.280 List.660 List.281;
|
||||
ret List.659;
|
||||
let List.666 : List U8 = CallByName List.68 List.282;
|
||||
let List.665 : List U8 = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.673 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.673;
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.672 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.672;
|
||||
let List.678 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.681 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.681;
|
||||
let List.687 : List U8 = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.687;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.677 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
let List.683 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
|
||||
procedure Num.19 (#Attr.2, #Attr.3):
|
||||
let Num.285 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.660 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.659 : List I64 = StructAtIndex 0 List.660;
|
||||
ret List.659;
|
||||
let List.666 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.665 : List I64 = StructAtIndex 0 List.666;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.665 : U64 = CallByName List.6 List.124;
|
||||
let List.662 : Int1 = CallByName Num.22 List.125 List.665;
|
||||
if List.662 then
|
||||
let List.663 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.663;
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
else
|
||||
let List.661 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.661;
|
||||
let List.667 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.664 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.664;
|
||||
let List.670 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
procedure List.28 (#Attr.2, #Attr.3):
|
||||
let List.661 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.661;
|
||||
let List.667 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
|
||||
ret List.667;
|
||||
|
||||
procedure List.59 (List.386):
|
||||
let List.660 : {} = Struct {};
|
||||
let List.659 : List I64 = CallByName List.28 List.386 List.660;
|
||||
ret List.659;
|
||||
let List.666 : {} = Struct {};
|
||||
let List.665 : List I64 = CallByName List.28 List.386 List.666;
|
||||
ret List.665;
|
||||
|
||||
procedure Num.46 (#Attr.2, #Attr.3):
|
||||
let Num.283 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
procedure List.2 (List.119, List.120):
|
||||
let List.681 : U64 = CallByName List.6 List.119;
|
||||
let List.678 : Int1 = CallByName Num.22 List.120 List.681;
|
||||
if List.678 then
|
||||
let List.680 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.679 : [C {}, C I64] = TagId(1) List.680;
|
||||
ret List.679;
|
||||
let List.687 : U64 = CallByName List.6 List.119;
|
||||
let List.684 : Int1 = CallByName Num.22 List.120 List.687;
|
||||
if List.684 then
|
||||
let List.686 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.685 : [C {}, C I64] = TagId(1) List.686;
|
||||
ret List.685;
|
||||
else
|
||||
let List.677 : {} = Struct {};
|
||||
let List.676 : [C {}, C I64] = TagId(0) List.677;
|
||||
ret List.676;
|
||||
let List.683 : {} = Struct {};
|
||||
let List.682 : [C {}, C I64] = TagId(0) List.683;
|
||||
ret List.682;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.668 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.667 : List I64 = StructAtIndex 0 List.668;
|
||||
ret List.667;
|
||||
let List.674 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.673 : List I64 = StructAtIndex 0 List.674;
|
||||
ret List.673;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.665 : U64 = CallByName List.6 List.124;
|
||||
let List.662 : Int1 = CallByName Num.22 List.125 List.665;
|
||||
if List.662 then
|
||||
let List.663 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.663;
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
else
|
||||
let List.661 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.661;
|
||||
let List.667 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.674 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.674;
|
||||
let List.680 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.664 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.664;
|
||||
let List.670 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.668 : {List U64, U64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.667 : List U64 = StructAtIndex 0 List.668;
|
||||
ret List.667;
|
||||
let List.674 : {List U64, U64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.673 : List U64 = StructAtIndex 0 List.674;
|
||||
ret List.673;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.665 : U64 = CallByName List.6 List.124;
|
||||
let List.662 : Int1 = CallByName Num.22 List.125 List.665;
|
||||
if List.662 then
|
||||
let List.663 : {List U64, U64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.663;
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List U64, U64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
else
|
||||
let List.661 : {List U64, U64} = Struct {List.124, List.126};
|
||||
ret List.661;
|
||||
let List.667 : {List U64, U64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.664 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.664;
|
||||
let List.670 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
procedure List.100 (#Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8):
|
||||
joinpoint List.665 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.667 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.667 then
|
||||
let List.671 : [<rnnu>C List *self] = CallByName List.66 List.174 List.177;
|
||||
inc List.671;
|
||||
let List.179 : List [<rnnu>C List *self] = CallByName List.283 List.175 List.671 List.176;
|
||||
let List.670 : U64 = 1i64;
|
||||
let List.669 : U64 = CallByName Num.51 List.177 List.670;
|
||||
jump List.665 List.174 List.179 List.176 List.669 List.178;
|
||||
joinpoint List.671 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.673 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.673 then
|
||||
let List.677 : [<rnnu>C List *self] = CallByName List.66 List.174 List.177;
|
||||
inc List.677;
|
||||
let List.179 : List [<rnnu>C List *self] = CallByName List.283 List.175 List.677 List.176;
|
||||
let List.676 : U64 = 1i64;
|
||||
let List.675 : U64 = CallByName Num.51 List.177 List.676;
|
||||
jump List.671 List.174 List.179 List.176 List.675 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.4;
|
||||
jump List.665 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8;
|
||||
jump List.671 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.663 : U64 = 0i64;
|
||||
let List.664 : U64 = CallByName List.6 List.171;
|
||||
let List.662 : List [<rnnu>C List *self] = CallByName List.100 List.171 List.172 List.173 List.663 List.664;
|
||||
ret List.662;
|
||||
let List.669 : U64 = 0i64;
|
||||
let List.670 : U64 = CallByName List.6 List.171;
|
||||
let List.668 : List [<rnnu>C List *self] = CallByName List.100 List.171 List.172 List.173 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.283 (List.284, List.285, List.281):
|
||||
let List.676 : [<rnnu>C List *self] = CallByName Test.2 List.285;
|
||||
let List.675 : List [<rnnu>C List *self] = CallByName List.71 List.284 List.676;
|
||||
ret List.675;
|
||||
let List.682 : [<rnnu>C List *self] = CallByName Test.2 List.285;
|
||||
let List.681 : List [<rnnu>C List *self] = CallByName List.71 List.284 List.682;
|
||||
ret List.681;
|
||||
|
||||
procedure List.5 (List.280, List.281):
|
||||
let List.282 : U64 = CallByName List.6 List.280;
|
||||
let List.660 : List [<rnnu>C List *self] = CallByName List.68 List.282;
|
||||
let List.659 : List [<rnnu>C List *self] = CallByName List.18 List.280 List.660 List.281;
|
||||
ret List.659;
|
||||
let List.666 : List [<rnnu>C List *self] = CallByName List.68 List.282;
|
||||
let List.665 : List [<rnnu>C List *self] = CallByName List.18 List.280 List.666 List.281;
|
||||
ret List.665;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.673 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.673;
|
||||
let List.679 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.679;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.672 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.672;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.678 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
let List.678 : [<rnnu>C List *self] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.678;
|
||||
|
||||
procedure List.68 (#Attr.2):
|
||||
let List.684 : List [<rnnu>C List *self] = lowlevel ListWithCapacity #Attr.2;
|
||||
ret List.684;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.677 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.677;
|
||||
let List.683 : List [<rnnu>C List *self] = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
50
crates/compiler/test_mono/generated/rigids.txt
generated
50
crates/compiler/test_mono/generated/rigids.txt
generated
|
@ -1,41 +1,41 @@
|
|||
procedure List.2 (List.119, List.120):
|
||||
let List.681 : U64 = CallByName List.6 List.119;
|
||||
let List.678 : Int1 = CallByName Num.22 List.120 List.681;
|
||||
if List.678 then
|
||||
let List.680 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.679 : [C {}, C I64] = TagId(1) List.680;
|
||||
ret List.679;
|
||||
let List.687 : U64 = CallByName List.6 List.119;
|
||||
let List.684 : Int1 = CallByName Num.22 List.120 List.687;
|
||||
if List.684 then
|
||||
let List.686 : I64 = CallByName List.66 List.119 List.120;
|
||||
let List.685 : [C {}, C I64] = TagId(1) List.686;
|
||||
ret List.685;
|
||||
else
|
||||
let List.677 : {} = Struct {};
|
||||
let List.676 : [C {}, C I64] = TagId(0) List.677;
|
||||
ret List.676;
|
||||
let List.683 : {} = Struct {};
|
||||
let List.682 : [C {}, C I64] = TagId(0) List.683;
|
||||
ret List.682;
|
||||
|
||||
procedure List.3 (List.127, List.128, List.129):
|
||||
let List.668 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.667 : List I64 = StructAtIndex 0 List.668;
|
||||
ret List.667;
|
||||
let List.674 : {List I64, I64} = CallByName List.64 List.127 List.128 List.129;
|
||||
let List.673 : List I64 = StructAtIndex 0 List.674;
|
||||
ret List.673;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.666 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.666;
|
||||
let List.672 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.672;
|
||||
|
||||
procedure List.64 (List.124, List.125, List.126):
|
||||
let List.665 : U64 = CallByName List.6 List.124;
|
||||
let List.662 : Int1 = CallByName Num.22 List.125 List.665;
|
||||
if List.662 then
|
||||
let List.663 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.663;
|
||||
let List.671 : U64 = CallByName List.6 List.124;
|
||||
let List.668 : Int1 = CallByName Num.22 List.125 List.671;
|
||||
if List.668 then
|
||||
let List.669 : {List I64, I64} = CallByName List.67 List.124 List.125 List.126;
|
||||
ret List.669;
|
||||
else
|
||||
let List.661 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.661;
|
||||
let List.667 : {List I64, I64} = Struct {List.124, List.126};
|
||||
ret List.667;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.674 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.674;
|
||||
let List.680 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.680;
|
||||
|
||||
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.664 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.664;
|
||||
let List.670 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.670;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
|
@ -30,57 +30,57 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.662 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.668 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.685 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.691 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.681 : U64 = 1i64;
|
||||
let List.680 : List U8 = CallByName List.70 List.135 List.681;
|
||||
let List.679 : List U8 = CallByName List.71 List.680 List.136;
|
||||
ret List.679;
|
||||
let List.687 : U64 = 1i64;
|
||||
let List.686 : List U8 = CallByName List.70 List.135 List.687;
|
||||
let List.685 : List U8 = CallByName List.71 List.686 List.136;
|
||||
ret List.685;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.675 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.675 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.681 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.681;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.673 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.673;
|
||||
let List.679 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.679;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.683 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.683;
|
||||
let List.689 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.689;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -88,92 +88,92 @@ procedure Encode.26 (Encode.107, Encode.108):
|
|||
ret Encode.110;
|
||||
|
||||
procedure List.100 (#Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47, #Derived_gen.48):
|
||||
joinpoint List.689 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.691 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.691 then
|
||||
let List.695 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.695;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.695 List.176;
|
||||
let List.694 : U64 = 1i64;
|
||||
let List.693 : U64 = CallByName Num.51 List.177 List.694;
|
||||
jump List.689 List.174 List.179 List.176 List.693 List.178;
|
||||
joinpoint List.695 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.697 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.697 then
|
||||
let List.701 : Str = CallByName List.66 List.174 List.177;
|
||||
inc List.701;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.701 List.176;
|
||||
let List.700 : U64 = 1i64;
|
||||
let List.699 : U64 = CallByName Num.51 List.177 List.700;
|
||||
jump List.695 List.174 List.179 List.176 List.699 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.44;
|
||||
jump List.689 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48;
|
||||
jump List.695 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48;
|
||||
|
||||
procedure List.100 (#Derived_gen.49, #Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
|
||||
joinpoint List.662 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.664 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.664 then
|
||||
let List.668 : [C {}, C {}, C Str] = CallByName List.66 List.174 List.177;
|
||||
inc List.668;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.668 List.176;
|
||||
let List.667 : U64 = 1i64;
|
||||
let List.666 : U64 = CallByName Num.51 List.177 List.667;
|
||||
jump List.662 List.174 List.179 List.176 List.666 List.178;
|
||||
joinpoint List.668 List.174 List.175 List.176 List.177 List.178:
|
||||
let List.670 : Int1 = CallByName Num.22 List.177 List.178;
|
||||
if List.670 then
|
||||
let List.674 : [C {}, C {}, C Str] = CallByName List.66 List.174 List.177;
|
||||
inc List.674;
|
||||
let List.179 : List U8 = CallByName Test.66 List.175 List.674 List.176;
|
||||
let List.673 : U64 = 1i64;
|
||||
let List.672 : U64 = CallByName Num.51 List.177 List.673;
|
||||
jump List.668 List.174 List.179 List.176 List.672 List.178;
|
||||
else
|
||||
dec List.174;
|
||||
ret List.175;
|
||||
in
|
||||
inc #Derived_gen.49;
|
||||
jump List.662 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
|
||||
jump List.668 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.685 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.685;
|
||||
let List.691 : List [C {}, C {}, C Str] = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.13 (#Attr.2, #Attr.3):
|
||||
let List.713 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.713;
|
||||
let List.719 : List Str = lowlevel ListPrepend #Attr.2 #Attr.3;
|
||||
ret List.719;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.660 : U64 = 0i64;
|
||||
let List.661 : U64 = CallByName List.6 List.171;
|
||||
let List.659 : List U8 = CallByName List.100 List.171 List.172 List.173 List.660 List.661;
|
||||
ret List.659;
|
||||
let List.666 : U64 = 0i64;
|
||||
let List.667 : U64 = CallByName List.6 List.171;
|
||||
let List.665 : List U8 = CallByName List.100 List.171 List.172 List.173 List.666 List.667;
|
||||
ret List.665;
|
||||
|
||||
procedure List.18 (List.171, List.172, List.173):
|
||||
let List.687 : U64 = 0i64;
|
||||
let List.688 : U64 = CallByName List.6 List.171;
|
||||
let List.686 : List U8 = CallByName List.100 List.171 List.172 List.173 List.687 List.688;
|
||||
ret List.686;
|
||||
let List.693 : U64 = 0i64;
|
||||
let List.694 : U64 = CallByName List.6 List.171;
|
||||
let List.692 : List U8 = CallByName List.100 List.171 List.172 List.173 List.693 List.694;
|
||||
ret List.692;
|
||||
|
||||
procedure List.4 (List.135, List.136):
|
||||
let List.708 : U64 = 1i64;
|
||||
let List.707 : List U8 = CallByName List.70 List.135 List.708;
|
||||
let List.706 : List U8 = CallByName List.71 List.707 List.136;
|
||||
ret List.706;
|
||||
let List.714 : U64 = 1i64;
|
||||
let List.713 : List U8 = CallByName List.70 List.135 List.714;
|
||||
let List.712 : List U8 = CallByName List.71 List.713 List.136;
|
||||
ret List.712;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.684;
|
||||
let List.690 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.690;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.711 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.711;
|
||||
let List.717 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.717;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.669 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.669;
|
||||
let List.675 : [C {}, C {}, C Str] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.675;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.696 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.696;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.702 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
let List.702 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.702;
|
||||
|
||||
procedure List.70 (#Attr.2, #Attr.3):
|
||||
let List.708 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
|
||||
ret List.708;
|
||||
|
||||
procedure List.71 (#Attr.2, #Attr.3):
|
||||
let List.700 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.700;
|
||||
let List.706 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
|
||||
ret List.706;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.710 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.710;
|
||||
let List.716 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.716;
|
||||
|
||||
procedure Num.127 (#Attr.2):
|
||||
let Num.288 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
|
|
|
@ -3,80 +3,80 @@ procedure Bool.11 (#Attr.2, #Attr.3):
|
|||
ret Bool.23;
|
||||
|
||||
procedure List.115 (List.562, List.563, List.564):
|
||||
let List.677 : U64 = 0i64;
|
||||
let List.678 : U64 = CallByName List.6 List.562;
|
||||
let List.676 : [C U64, C U64] = CallByName List.80 List.562 List.563 List.564 List.677 List.678;
|
||||
ret List.676;
|
||||
let List.683 : U64 = 0i64;
|
||||
let List.684 : U64 = CallByName List.6 List.562;
|
||||
let List.682 : [C U64, C U64] = CallByName List.80 List.562 List.563 List.564 List.683 List.684;
|
||||
ret List.682;
|
||||
|
||||
procedure List.26 (List.212, List.213, List.214):
|
||||
let List.670 : [C U64, C U64] = CallByName List.115 List.212 List.213 List.214;
|
||||
let List.673 : U8 = 1i64;
|
||||
let List.674 : U8 = GetTagId List.670;
|
||||
let List.675 : Int1 = lowlevel Eq List.673 List.674;
|
||||
if List.675 then
|
||||
let List.215 : U64 = UnionAtIndex (Id 1) (Index 0) List.670;
|
||||
let List.676 : [C U64, C U64] = CallByName List.115 List.212 List.213 List.214;
|
||||
let List.679 : U8 = 1i64;
|
||||
let List.680 : U8 = GetTagId List.676;
|
||||
let List.681 : Int1 = lowlevel Eq List.679 List.680;
|
||||
if List.681 then
|
||||
let List.215 : U64 = UnionAtIndex (Id 1) (Index 0) List.676;
|
||||
ret List.215;
|
||||
else
|
||||
let List.216 : U64 = UnionAtIndex (Id 0) (Index 0) List.670;
|
||||
let List.216 : U64 = UnionAtIndex (Id 0) (Index 0) List.676;
|
||||
ret List.216;
|
||||
|
||||
procedure List.38 (List.400, List.401):
|
||||
let List.669 : U64 = CallByName List.6 List.400;
|
||||
let List.402 : U64 = CallByName Num.77 List.669 List.401;
|
||||
let List.659 : List U8 = CallByName List.43 List.400 List.402;
|
||||
ret List.659;
|
||||
|
||||
procedure List.43 (List.398, List.399):
|
||||
let List.667 : U64 = CallByName List.6 List.398;
|
||||
let List.666 : U64 = CallByName Num.77 List.667 List.399;
|
||||
let List.661 : {U64, U64} = Struct {List.399, List.666};
|
||||
let List.660 : List U8 = CallByName List.49 List.398 List.661;
|
||||
ret List.660;
|
||||
|
||||
procedure List.49 (List.476, List.477):
|
||||
let List.663 : U64 = StructAtIndex 1 List.477;
|
||||
let List.664 : U64 = StructAtIndex 0 List.477;
|
||||
let List.662 : List U8 = CallByName List.72 List.476 List.663 List.664;
|
||||
ret List.662;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.668 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.668;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.691 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.691;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.665 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
let List.675 : U64 = CallByName List.6 List.400;
|
||||
let List.402 : U64 = CallByName Num.77 List.675 List.401;
|
||||
let List.665 : List U8 = CallByName List.43 List.400 List.402;
|
||||
ret List.665;
|
||||
|
||||
procedure List.43 (List.398, List.399):
|
||||
let List.673 : U64 = CallByName List.6 List.398;
|
||||
let List.672 : U64 = CallByName Num.77 List.673 List.399;
|
||||
let List.667 : {U64, U64} = Struct {List.399, List.672};
|
||||
let List.666 : List U8 = CallByName List.49 List.398 List.667;
|
||||
ret List.666;
|
||||
|
||||
procedure List.49 (List.476, List.477):
|
||||
let List.669 : U64 = StructAtIndex 1 List.477;
|
||||
let List.670 : U64 = StructAtIndex 0 List.477;
|
||||
let List.668 : List U8 = CallByName List.72 List.476 List.669 List.670;
|
||||
ret List.668;
|
||||
|
||||
procedure List.6 (#Attr.2):
|
||||
let List.674 : U64 = lowlevel ListLenU64 #Attr.2;
|
||||
ret List.674;
|
||||
|
||||
procedure List.66 (#Attr.2, #Attr.3):
|
||||
let List.697 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
|
||||
ret List.697;
|
||||
|
||||
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
|
||||
let List.671 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
|
||||
ret List.671;
|
||||
|
||||
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
|
||||
joinpoint List.679 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.681 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.681 then
|
||||
let List.690 : U8 = CallByName List.66 List.565 List.568;
|
||||
let List.682 : [C U64, C U64] = CallByName Test.3 List.566 List.690;
|
||||
let List.687 : U8 = 1i64;
|
||||
let List.688 : U8 = GetTagId List.682;
|
||||
let List.689 : Int1 = lowlevel Eq List.687 List.688;
|
||||
if List.689 then
|
||||
let List.570 : U64 = UnionAtIndex (Id 1) (Index 0) List.682;
|
||||
let List.685 : U64 = 1i64;
|
||||
let List.684 : U64 = CallByName Num.51 List.568 List.685;
|
||||
jump List.679 List.565 List.570 List.567 List.684 List.569;
|
||||
joinpoint List.685 List.565 List.566 List.567 List.568 List.569:
|
||||
let List.687 : Int1 = CallByName Num.22 List.568 List.569;
|
||||
if List.687 then
|
||||
let List.696 : U8 = CallByName List.66 List.565 List.568;
|
||||
let List.688 : [C U64, C U64] = CallByName Test.3 List.566 List.696;
|
||||
let List.693 : U8 = 1i64;
|
||||
let List.694 : U8 = GetTagId List.688;
|
||||
let List.695 : Int1 = lowlevel Eq List.693 List.694;
|
||||
if List.695 then
|
||||
let List.570 : U64 = UnionAtIndex (Id 1) (Index 0) List.688;
|
||||
let List.691 : U64 = 1i64;
|
||||
let List.690 : U64 = CallByName Num.51 List.568 List.691;
|
||||
jump List.685 List.565 List.570 List.567 List.690 List.569;
|
||||
else
|
||||
dec List.565;
|
||||
let List.571 : U64 = UnionAtIndex (Id 0) (Index 0) List.682;
|
||||
let List.686 : [C U64, C U64] = TagId(0) List.571;
|
||||
let List.571 : U64 = UnionAtIndex (Id 0) (Index 0) List.688;
|
||||
let List.692 : [C U64, C U64] = TagId(0) List.571;
|
||||
ret List.692;
|
||||
else
|
||||
dec List.565;
|
||||
let List.686 : [C U64, C U64] = TagId(1) List.566;
|
||||
ret List.686;
|
||||
else
|
||||
dec List.565;
|
||||
let List.680 : [C U64, C U64] = TagId(1) List.566;
|
||||
ret List.680;
|
||||
in
|
||||
inc #Derived_gen.0;
|
||||
jump List.679 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
jump List.685 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
|
||||
|
||||
procedure Num.22 (#Attr.2, #Attr.3):
|
||||
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue