Update mono tests

This commit is contained in:
Richard Feldman 2024-02-16 21:14:42 -05:00
parent 739565e836
commit 12aa775f54
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B
31 changed files with 839 additions and 855 deletions

View file

@ -40,8 +40,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.251 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.251;
let Str.234 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.234;
procedure Test.1 (Test.5):
ret Test.5;

View file

@ -42,8 +42,8 @@ procedure Inspect.60 (Inspect.298):
ret Inspect.298;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.1 ():
let Test.4 : Str = "";

View file

@ -38,8 +38,8 @@ procedure Inspect.60 (Inspect.298):
ret Inspect.298;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.3 : Str = "";

View file

@ -66,188 +66,188 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.684 : U64 = 0i64;
let List.685 : U64 = CallByName List.6 List.487;
let List.683 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.684 List.685;
ret List.683;
let List.683 : U64 = 0i64;
let List.684 : U64 = CallByName List.6 List.487;
let List.682 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.683 List.684;
ret List.682;
procedure List.18 (List.159, List.160, List.161):
let List.594 : U64 = 0i64;
let List.595 : U64 = CallByName List.6 List.159;
let List.593 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.594 List.595;
ret List.593;
let List.593 : U64 = 0i64;
let List.594 : U64 = CallByName List.6 List.159;
let List.592 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.593 List.594;
ret List.592;
procedure List.18 (List.159, List.160, List.161):
let List.628 : U64 = 0i64;
let List.629 : U64 = CallByName List.6 List.159;
let List.627 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.628 List.629;
ret List.627;
let List.627 : U64 = 0i64;
let List.628 : U64 = CallByName List.6 List.159;
let List.626 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.627 List.628;
ret List.626;
procedure List.18 (List.159, List.160, List.161):
let List.640 : U64 = 0i64;
let List.641 : U64 = CallByName List.6 List.159;
let List.639 : List U8 = CallByName List.91 List.159 List.160 List.161 List.640 List.641;
ret List.639;
let List.639 : U64 = 0i64;
let List.640 : U64 = CallByName List.6 List.159;
let List.638 : List U8 = CallByName List.91 List.159 List.160 List.161 List.639 List.640;
ret List.638;
procedure List.26 (List.200, List.201, List.202):
let List.677 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.680 : U8 = 1i64;
let List.681 : U8 = GetTagId List.677;
let List.682 : Int1 = lowlevel Eq List.680 List.681;
if List.682 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.677;
let List.676 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
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.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.676;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.677;
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.676;
ret List.204;
procedure List.4 (List.123, List.124):
let List.626 : U64 = 1i64;
let List.625 : List U8 = CallByName List.70 List.123 List.626;
let List.624 : List U8 = CallByName List.71 List.625 List.124;
ret List.624;
let List.625 : U64 = 1i64;
let List.624 : List U8 = CallByName List.70 List.123 List.625;
let List.623 : List U8 = CallByName List.71 List.624 List.124;
ret List.623;
procedure List.49 (List.419, List.420):
let List.668 : U64 = StructAtIndex 1 List.420;
let List.669 : U64 = StructAtIndex 0 List.420;
let List.667 : List U8 = CallByName List.72 List.419 List.668 List.669;
ret List.667;
let List.667 : U64 = StructAtIndex 1 List.420;
let List.668 : U64 = StructAtIndex 0 List.420;
let List.666 : List U8 = CallByName List.72 List.419 List.667 List.668;
ret List.666;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.675 List.437:
let List.673 : U64 = 0i64;
let List.672 : {U64, U64} = Struct {List.437, List.673};
joinpoint List.674 List.437:
let List.672 : U64 = 0i64;
let List.671 : {U64, U64} = Struct {List.437, List.672};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.672;
let List.671 : U64 = CallByName Num.75 List.436 List.437;
let List.666 : {U64, U64} = Struct {List.671, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.666;
let List.665 : {List U8, List U8} = Struct {List.438, List.439};
ret List.665;
let List.438 : List U8 = CallByName List.49 List.434 List.671;
let List.670 : U64 = CallByName Num.75 List.436 List.437;
let List.665 : {U64, U64} = Struct {List.670, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.665;
let List.664 : {List U8, List U8} = Struct {List.438, List.439};
ret List.664;
in
let List.676 : Int1 = CallByName Num.24 List.436 List.435;
if List.676 then
jump List.675 List.435;
let List.675 : Int1 = CallByName Num.24 List.436 List.435;
if List.675 then
jump List.674 List.435;
else
jump List.675 List.436;
jump List.674 List.436;
procedure List.6 (#Attr.2):
let List.606 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.606;
let List.605 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.605;
procedure List.6 (#Attr.2):
let List.660 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.660;
procedure List.6 (#Attr.2):
let List.662 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.662;
procedure List.66 (#Attr.2, #Attr.3):
let List.603 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.603;
procedure List.66 (#Attr.2, #Attr.3):
let List.637 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.637;
procedure List.66 (#Attr.2, #Attr.3):
let List.649 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.649;
procedure List.68 (#Attr.2):
let List.664 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.664;
procedure List.70 (#Attr.2, #Attr.3):
let List.611 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.611;
procedure List.71 (#Attr.2, #Attr.3):
let List.609 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.609;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.670 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.670;
procedure List.8 (#Attr.2, #Attr.3):
let List.659 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
let List.659 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.659;
procedure List.80 (#Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
joinpoint List.686 List.490 List.491 List.492 List.493 List.494:
let List.688 : Int1 = CallByName Num.22 List.493 List.494;
if List.688 then
let List.697 : U8 = CallByName List.66 List.490 List.493;
let List.689 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.697;
let List.694 : U8 = 1i64;
let List.695 : U8 = GetTagId List.689;
let List.696 : Int1 = lowlevel Eq List.694 List.695;
if List.696 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.689;
let List.692 : U64 = 1i64;
let List.691 : U64 = CallByName Num.51 List.493 List.692;
jump List.686 List.490 List.495 List.492 List.691 List.494;
procedure List.6 (#Attr.2):
let List.661 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.661;
procedure List.66 (#Attr.2, #Attr.3):
let List.602 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.602;
procedure List.66 (#Attr.2, #Attr.3):
let List.636 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.636;
procedure List.66 (#Attr.2, #Attr.3):
let List.648 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.648;
procedure List.68 (#Attr.2):
let List.663 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.663;
procedure List.70 (#Attr.2, #Attr.3):
let List.610 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.610;
procedure List.71 (#Attr.2, #Attr.3):
let List.608 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.608;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.669 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.669;
procedure List.8 (#Attr.2, #Attr.3):
let List.658 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.658;
procedure List.80 (#Derived_gen.45, #Derived_gen.46, #Derived_gen.47, #Derived_gen.48, #Derived_gen.49):
joinpoint List.685 List.490 List.491 List.492 List.493 List.494:
let List.687 : Int1 = CallByName Num.22 List.493 List.494;
if List.687 then
let List.696 : U8 = CallByName List.66 List.490 List.493;
let List.688 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 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.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.688;
let List.691 : U64 = 1i64;
let List.690 : U64 = CallByName Num.51 List.493 List.691;
jump List.685 List.490 List.495 List.492 List.690 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.689;
let List.693 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.693;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.688;
let List.692 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.692;
else
dec List.490;
let List.687 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.687;
let List.686 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.686;
in
jump List.686 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
jump List.685 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49;
procedure List.91 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
joinpoint List.642 List.162 List.163 List.164 List.165 List.166:
let List.644 : Int1 = CallByName Num.22 List.165 List.166;
if List.644 then
let List.648 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.648;
let List.647 : U64 = 1i64;
let List.646 : U64 = CallByName Num.51 List.165 List.647;
jump List.642 List.162 List.167 List.164 List.646 List.166;
procedure List.91 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
joinpoint List.641 List.162 List.163 List.164 List.165 List.166:
let List.643 : Int1 = CallByName Num.22 List.165 List.166;
if List.643 then
let List.647 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.647;
let List.646 : U64 = 1i64;
let List.645 : U64 = CallByName Num.51 List.165 List.646;
jump List.641 List.162 List.167 List.164 List.645 List.166;
else
dec List.162;
ret List.163;
in
jump List.642 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
jump List.641 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
procedure List.91 (#Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35):
joinpoint List.630 List.162 List.163 List.164 List.165 List.166:
let List.632 : Int1 = CallByName Num.22 List.165 List.166;
if List.632 then
let List.636 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.636;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.636;
let List.635 : U64 = 1i64;
let List.634 : U64 = CallByName Num.51 List.165 List.635;
jump List.630 List.162 List.167 List.164 List.634 List.166;
procedure List.91 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32):
joinpoint List.629 List.162 List.163 List.164 List.165 List.166:
let List.631 : Int1 = CallByName Num.22 List.165 List.166;
if List.631 then
let List.635 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.635;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.635;
let List.634 : U64 = 1i64;
let List.633 : U64 = CallByName Num.51 List.165 List.634;
jump List.629 List.162 List.167 List.164 List.633 List.166;
else
dec List.162;
ret List.163;
in
jump List.630 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35;
jump List.629 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32;
procedure List.91 (#Derived_gen.36, #Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40):
joinpoint List.596 List.162 List.163 List.164 List.165 List.166:
let List.598 : Int1 = CallByName Num.22 List.165 List.166;
if List.598 then
let List.602 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.602;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.602;
let List.601 : U64 = 1i64;
let List.600 : U64 = CallByName Num.51 List.165 List.601;
jump List.596 List.162 List.167 List.164 List.600 List.166;
procedure List.91 (#Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
joinpoint List.595 List.162 List.163 List.164 List.165 List.166:
let List.597 : Int1 = CallByName Num.22 List.165 List.166;
if List.597 then
let List.601 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.601;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.601;
let List.600 : U64 = 1i64;
let List.599 : U64 = CallByName Num.51 List.165 List.600;
jump List.595 List.162 List.167 List.164 List.599 List.166;
else
dec List.162;
ret List.163;
in
jump List.596 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40;
jump List.595 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
procedure Num.127 (#Attr.2):
let Num.282 : U8 = lowlevel NumIntCast #Attr.2;
@ -286,30 +286,28 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.295;
procedure Str.12 (#Attr.2):
let Str.261 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.261;
let Str.242 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.242;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.55 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.55;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1043, TotallyNotJson.149):
let TotallyNotJson.1046 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;

View file

@ -39,158 +39,158 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.650 : U64 = 0i64;
let List.651 : U64 = CallByName List.6 List.487;
let List.649 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.650 List.651;
ret List.649;
let List.649 : U64 = 0i64;
let List.650 : U64 = CallByName List.6 List.487;
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.649 List.650;
ret List.648;
procedure List.18 (List.159, List.160, List.161):
let List.594 : U64 = 0i64;
let List.595 : U64 = CallByName List.6 List.159;
let List.593 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.594 List.595;
ret List.593;
let List.593 : U64 = 0i64;
let List.594 : U64 = CallByName List.6 List.159;
let List.592 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.593 List.594;
ret List.592;
procedure List.18 (List.159, List.160, List.161):
let List.606 : U64 = 0i64;
let List.607 : U64 = CallByName List.6 List.159;
let List.605 : List U8 = CallByName List.91 List.159 List.160 List.161 List.606 List.607;
ret List.605;
let List.605 : U64 = 0i64;
let List.606 : U64 = CallByName List.6 List.159;
let List.604 : List U8 = CallByName List.91 List.159 List.160 List.161 List.605 List.606;
ret List.604;
procedure List.26 (List.200, List.201, List.202):
let List.643 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.646 : U8 = 1i64;
let List.647 : U8 = GetTagId List.643;
let List.648 : Int1 = lowlevel Eq List.646 List.647;
if List.648 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.643;
let List.642 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.645 : U8 = 1i64;
let List.646 : U8 = GetTagId List.642;
let List.647 : Int1 = lowlevel Eq List.645 List.646;
if List.647 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.642;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.643;
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.642;
ret List.204;
procedure List.4 (List.123, List.124):
let List.592 : U64 = 1i64;
let List.591 : List U8 = CallByName List.70 List.123 List.592;
let List.590 : List U8 = CallByName List.71 List.591 List.124;
ret List.590;
let List.591 : U64 = 1i64;
let List.590 : List U8 = CallByName List.70 List.123 List.591;
let List.589 : List U8 = CallByName List.71 List.590 List.124;
ret List.589;
procedure List.49 (List.419, List.420):
let List.634 : U64 = StructAtIndex 1 List.420;
let List.635 : U64 = StructAtIndex 0 List.420;
let List.633 : List U8 = CallByName List.72 List.419 List.634 List.635;
ret List.633;
let List.633 : U64 = StructAtIndex 1 List.420;
let List.634 : U64 = StructAtIndex 0 List.420;
let List.632 : List U8 = CallByName List.72 List.419 List.633 List.634;
ret List.632;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.641 List.437:
let List.639 : U64 = 0i64;
let List.638 : {U64, U64} = Struct {List.437, List.639};
joinpoint List.640 List.437:
let List.638 : U64 = 0i64;
let List.637 : {U64, U64} = Struct {List.437, List.638};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.638;
let List.637 : U64 = CallByName Num.75 List.436 List.437;
let List.632 : {U64, U64} = Struct {List.637, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.632;
let List.631 : {List U8, List U8} = Struct {List.438, List.439};
ret List.631;
let List.438 : List U8 = CallByName List.49 List.434 List.637;
let List.636 : U64 = CallByName Num.75 List.436 List.437;
let List.631 : {U64, U64} = Struct {List.636, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.631;
let List.630 : {List U8, List U8} = Struct {List.438, List.439};
ret List.630;
in
let List.642 : Int1 = CallByName Num.24 List.436 List.435;
if List.642 then
jump List.641 List.435;
let List.641 : Int1 = CallByName Num.24 List.436 List.435;
if List.641 then
jump List.640 List.435;
else
jump List.641 List.436;
jump List.640 List.436;
procedure List.6 (#Attr.2):
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.626;
procedure List.6 (#Attr.2):
let List.628 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.628;
procedure List.66 (#Attr.2, #Attr.3):
let List.603 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.603;
procedure List.66 (#Attr.2, #Attr.3):
let List.615 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.615;
procedure List.68 (#Attr.2):
let List.630 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.630;
procedure List.70 (#Attr.2, #Attr.3):
let List.577 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.577;
procedure List.71 (#Attr.2, #Attr.3):
let List.575 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.575;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.636 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.636;
procedure List.8 (#Attr.2, #Attr.3):
let List.625 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.625;
procedure List.6 (#Attr.2):
let List.627 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.627;
procedure List.66 (#Attr.2, #Attr.3):
let List.602 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.602;
procedure List.66 (#Attr.2, #Attr.3):
let List.614 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.614;
procedure List.68 (#Attr.2):
let List.629 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.629;
procedure List.70 (#Attr.2, #Attr.3):
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.574 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.574;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.635 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.635;
procedure List.8 (#Attr.2, #Attr.3):
let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.624;
procedure List.80 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
joinpoint List.652 List.490 List.491 List.492 List.493 List.494:
let List.654 : Int1 = CallByName Num.22 List.493 List.494;
if List.654 then
let List.663 : U8 = CallByName List.66 List.490 List.493;
let List.655 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.663;
let List.660 : U8 = 1i64;
let List.661 : U8 = GetTagId List.655;
let List.662 : Int1 = lowlevel Eq List.660 List.661;
if List.662 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.655;
let List.658 : U64 = 1i64;
let List.657 : U64 = CallByName Num.51 List.493 List.658;
jump List.652 List.490 List.495 List.492 List.657 List.494;
joinpoint List.651 List.490 List.491 List.492 List.493 List.494:
let List.653 : Int1 = CallByName Num.22 List.493 List.494;
if List.653 then
let List.662 : U8 = CallByName List.66 List.490 List.493;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.662;
let List.659 : U8 = 1i64;
let List.660 : U8 = GetTagId List.654;
let List.661 : Int1 = lowlevel Eq List.659 List.660;
if List.661 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.654;
let List.657 : U64 = 1i64;
let List.656 : U64 = CallByName Num.51 List.493 List.657;
jump List.651 List.490 List.495 List.492 List.656 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.655;
let List.659 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.659;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.654;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.658;
else
dec List.490;
let List.653 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.653;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.652;
in
jump List.652 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
jump List.651 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
procedure List.91 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
joinpoint List.596 List.162 List.163 List.164 List.165 List.166:
let List.598 : Int1 = CallByName Num.22 List.165 List.166;
if List.598 then
let List.602 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.602;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.602;
let List.601 : U64 = 1i64;
let List.600 : U64 = CallByName Num.51 List.165 List.601;
jump List.596 List.162 List.167 List.164 List.600 List.166;
procedure List.91 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.595 List.162 List.163 List.164 List.165 List.166:
let List.597 : Int1 = CallByName Num.22 List.165 List.166;
if List.597 then
let List.601 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.601;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.601;
let List.600 : U64 = 1i64;
let List.599 : U64 = CallByName Num.51 List.165 List.600;
jump List.595 List.162 List.167 List.164 List.599 List.166;
else
dec List.162;
ret List.163;
in
jump List.596 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
jump List.595 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
procedure List.91 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
joinpoint List.608 List.162 List.163 List.164 List.165 List.166:
let List.610 : Int1 = CallByName Num.22 List.165 List.166;
if List.610 then
let List.614 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.614;
let List.613 : U64 = 1i64;
let List.612 : U64 = CallByName Num.51 List.165 List.613;
jump List.608 List.162 List.167 List.164 List.612 List.166;
joinpoint List.607 List.162 List.163 List.164 List.165 List.166:
let List.609 : Int1 = CallByName Num.22 List.165 List.166;
if List.609 then
let List.613 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.613;
let List.612 : U64 = 1i64;
let List.611 : U64 = CallByName Num.51 List.165 List.612;
jump List.607 List.162 List.167 List.164 List.611 List.166;
else
dec List.162;
ret List.163;
in
jump List.608 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
jump List.607 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
procedure Num.127 (#Attr.2):
let Num.272 : U8 = lowlevel NumIntCast #Attr.2;
@ -229,30 +229,28 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.285;
procedure Str.12 (#Attr.2):
let Str.260 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.260;
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.241;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.34 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.34;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1009, TotallyNotJson.149):
let TotallyNotJson.1012 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;

View file

@ -46,158 +46,158 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.650 : U64 = 0i64;
let List.651 : U64 = CallByName List.6 List.487;
let List.649 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.650 List.651;
ret List.649;
let List.649 : U64 = 0i64;
let List.650 : U64 = CallByName List.6 List.487;
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.649 List.650;
ret List.648;
procedure List.18 (List.159, List.160, List.161):
let List.594 : U64 = 0i64;
let List.595 : U64 = CallByName List.6 List.159;
let List.593 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.594 List.595;
ret List.593;
let List.593 : U64 = 0i64;
let List.594 : U64 = CallByName List.6 List.159;
let List.592 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.593 List.594;
ret List.592;
procedure List.18 (List.159, List.160, List.161):
let List.606 : U64 = 0i64;
let List.607 : U64 = CallByName List.6 List.159;
let List.605 : List U8 = CallByName List.91 List.159 List.160 List.161 List.606 List.607;
ret List.605;
let List.605 : U64 = 0i64;
let List.606 : U64 = CallByName List.6 List.159;
let List.604 : List U8 = CallByName List.91 List.159 List.160 List.161 List.605 List.606;
ret List.604;
procedure List.26 (List.200, List.201, List.202):
let List.643 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.646 : U8 = 1i64;
let List.647 : U8 = GetTagId List.643;
let List.648 : Int1 = lowlevel Eq List.646 List.647;
if List.648 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.643;
let List.642 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.645 : U8 = 1i64;
let List.646 : U8 = GetTagId List.642;
let List.647 : Int1 = lowlevel Eq List.645 List.646;
if List.647 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.642;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.643;
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.642;
ret List.204;
procedure List.4 (List.123, List.124):
let List.592 : U64 = 1i64;
let List.591 : List U8 = CallByName List.70 List.123 List.592;
let List.590 : List U8 = CallByName List.71 List.591 List.124;
ret List.590;
let List.591 : U64 = 1i64;
let List.590 : List U8 = CallByName List.70 List.123 List.591;
let List.589 : List U8 = CallByName List.71 List.590 List.124;
ret List.589;
procedure List.49 (List.419, List.420):
let List.634 : U64 = StructAtIndex 1 List.420;
let List.635 : U64 = StructAtIndex 0 List.420;
let List.633 : List U8 = CallByName List.72 List.419 List.634 List.635;
ret List.633;
let List.633 : U64 = StructAtIndex 1 List.420;
let List.634 : U64 = StructAtIndex 0 List.420;
let List.632 : List U8 = CallByName List.72 List.419 List.633 List.634;
ret List.632;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.641 List.437:
let List.639 : U64 = 0i64;
let List.638 : {U64, U64} = Struct {List.437, List.639};
joinpoint List.640 List.437:
let List.638 : U64 = 0i64;
let List.637 : {U64, U64} = Struct {List.437, List.638};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.638;
let List.637 : U64 = CallByName Num.75 List.436 List.437;
let List.632 : {U64, U64} = Struct {List.637, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.632;
let List.631 : {List U8, List U8} = Struct {List.438, List.439};
ret List.631;
let List.438 : List U8 = CallByName List.49 List.434 List.637;
let List.636 : U64 = CallByName Num.75 List.436 List.437;
let List.631 : {U64, U64} = Struct {List.636, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.631;
let List.630 : {List U8, List U8} = Struct {List.438, List.439};
ret List.630;
in
let List.642 : Int1 = CallByName Num.24 List.436 List.435;
if List.642 then
jump List.641 List.435;
let List.641 : Int1 = CallByName Num.24 List.436 List.435;
if List.641 then
jump List.640 List.435;
else
jump List.641 List.436;
jump List.640 List.436;
procedure List.6 (#Attr.2):
let List.626 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.626;
procedure List.6 (#Attr.2):
let List.628 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.628;
procedure List.66 (#Attr.2, #Attr.3):
let List.603 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.603;
procedure List.66 (#Attr.2, #Attr.3):
let List.615 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.615;
procedure List.68 (#Attr.2):
let List.630 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.630;
procedure List.70 (#Attr.2, #Attr.3):
let List.577 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.577;
procedure List.71 (#Attr.2, #Attr.3):
let List.575 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.575;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.636 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.636;
procedure List.8 (#Attr.2, #Attr.3):
let List.625 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.625;
procedure List.6 (#Attr.2):
let List.627 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.627;
procedure List.66 (#Attr.2, #Attr.3):
let List.602 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.602;
procedure List.66 (#Attr.2, #Attr.3):
let List.614 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.614;
procedure List.68 (#Attr.2):
let List.629 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.629;
procedure List.70 (#Attr.2, #Attr.3):
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.574 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.574;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.635 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.635;
procedure List.8 (#Attr.2, #Attr.3):
let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.624;
procedure List.80 (#Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31):
joinpoint List.652 List.490 List.491 List.492 List.493 List.494:
let List.654 : Int1 = CallByName Num.22 List.493 List.494;
if List.654 then
let List.663 : U8 = CallByName List.66 List.490 List.493;
let List.655 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.663;
let List.660 : U8 = 1i64;
let List.661 : U8 = GetTagId List.655;
let List.662 : Int1 = lowlevel Eq List.660 List.661;
if List.662 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.655;
let List.658 : U64 = 1i64;
let List.657 : U64 = CallByName Num.51 List.493 List.658;
jump List.652 List.490 List.495 List.492 List.657 List.494;
joinpoint List.651 List.490 List.491 List.492 List.493 List.494:
let List.653 : Int1 = CallByName Num.22 List.493 List.494;
if List.653 then
let List.662 : U8 = CallByName List.66 List.490 List.493;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.662;
let List.659 : U8 = 1i64;
let List.660 : U8 = GetTagId List.654;
let List.661 : Int1 = lowlevel Eq List.659 List.660;
if List.661 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.654;
let List.657 : U64 = 1i64;
let List.656 : U64 = CallByName Num.51 List.493 List.657;
jump List.651 List.490 List.495 List.492 List.656 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.655;
let List.659 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.659;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.654;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.658;
else
dec List.490;
let List.653 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.653;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.652;
in
jump List.652 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31;
jump List.651 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31;
procedure List.91 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
joinpoint List.596 List.162 List.163 List.164 List.165 List.166:
let List.598 : Int1 = CallByName Num.22 List.165 List.166;
if List.598 then
let List.602 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.602;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.602;
let List.601 : U64 = 1i64;
let List.600 : U64 = CallByName Num.51 List.165 List.601;
jump List.596 List.162 List.167 List.164 List.600 List.166;
procedure List.91 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
joinpoint List.595 List.162 List.163 List.164 List.165 List.166:
let List.597 : Int1 = CallByName Num.22 List.165 List.166;
if List.597 then
let List.601 : {Str, Str} = CallByName List.66 List.162 List.165;
inc List.601;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.203 List.163 List.601;
let List.600 : U64 = 1i64;
let List.599 : U64 = CallByName Num.51 List.165 List.600;
jump List.595 List.162 List.167 List.164 List.599 List.166;
else
dec List.162;
ret List.163;
in
jump List.596 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
jump List.595 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
procedure List.91 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
joinpoint List.608 List.162 List.163 List.164 List.165 List.166:
let List.610 : Int1 = CallByName Num.22 List.165 List.166;
if List.610 then
let List.614 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.614;
let List.613 : U64 = 1i64;
let List.612 : U64 = CallByName Num.51 List.165 List.613;
jump List.608 List.162 List.167 List.164 List.612 List.166;
joinpoint List.607 List.162 List.163 List.164 List.165 List.166:
let List.609 : Int1 = CallByName Num.22 List.165 List.166;
if List.609 then
let List.613 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.613;
let List.612 : U64 = 1i64;
let List.611 : U64 = CallByName Num.51 List.165 List.612;
jump List.607 List.162 List.167 List.164 List.611 List.166;
else
dec List.162;
ret List.163;
in
jump List.608 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
jump List.607 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
procedure Num.127 (#Attr.2):
let Num.272 : U8 = lowlevel NumIntCast #Attr.2;
@ -236,30 +236,28 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.285;
procedure Str.12 (#Attr.2):
let Str.260 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.260;
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.241;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.38 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.38;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1009, TotallyNotJson.149):
let TotallyNotJson.1012 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;

View file

@ -12,114 +12,114 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.615 : U64 = 0i64;
let List.616 : U64 = CallByName List.6 List.487;
let List.614 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.615 List.616;
ret List.614;
let List.614 : U64 = 0i64;
let List.615 : U64 = CallByName List.6 List.487;
let List.613 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.614 List.615;
ret List.613;
procedure List.18 (List.159, List.160, List.161):
let List.586 : U64 = 0i64;
let List.587 : U64 = CallByName List.6 List.159;
let List.585 : List U8 = CallByName List.91 List.159 List.160 List.161 List.586 List.587;
ret List.585;
let List.585 : U64 = 0i64;
let List.586 : U64 = CallByName List.6 List.159;
let List.584 : List U8 = CallByName List.91 List.159 List.160 List.161 List.585 List.586;
ret List.584;
procedure List.26 (List.200, List.201, List.202):
let List.608 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.611 : U8 = 1i64;
let List.612 : U8 = GetTagId List.608;
let List.613 : Int1 = lowlevel Eq List.611 List.612;
if List.613 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.608;
let List.607 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.610 : U8 = 1i64;
let List.611 : U8 = GetTagId List.607;
let List.612 : Int1 = lowlevel Eq List.610 List.611;
if List.612 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.607;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.608;
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.607;
ret List.204;
procedure List.49 (List.419, List.420):
let List.599 : U64 = StructAtIndex 1 List.420;
let List.600 : U64 = StructAtIndex 0 List.420;
let List.598 : List U8 = CallByName List.72 List.419 List.599 List.600;
ret List.598;
let List.598 : U64 = StructAtIndex 1 List.420;
let List.599 : U64 = StructAtIndex 0 List.420;
let List.597 : List U8 = CallByName List.72 List.419 List.598 List.599;
ret List.597;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.606 List.437:
let List.604 : U64 = 0i64;
let List.603 : {U64, U64} = Struct {List.437, List.604};
joinpoint List.605 List.437:
let List.603 : U64 = 0i64;
let List.602 : {U64, U64} = Struct {List.437, List.603};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.603;
let List.602 : U64 = CallByName Num.75 List.436 List.437;
let List.597 : {U64, U64} = Struct {List.602, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.597;
let List.596 : {List U8, List U8} = Struct {List.438, List.439};
ret List.596;
let List.438 : List U8 = CallByName List.49 List.434 List.602;
let List.601 : U64 = CallByName Num.75 List.436 List.437;
let List.596 : {U64, U64} = Struct {List.601, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.596;
let List.595 : {List U8, List U8} = Struct {List.438, List.439};
ret List.595;
in
let List.607 : Int1 = CallByName Num.24 List.436 List.435;
if List.607 then
jump List.606 List.435;
let List.606 : Int1 = CallByName Num.24 List.436 List.435;
if List.606 then
jump List.605 List.435;
else
jump List.606 List.436;
jump List.605 List.436;
procedure List.6 (#Attr.2):
let List.584 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.584;
let List.583 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.583;
procedure List.66 (#Attr.2, #Attr.3):
let List.595 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.595;
let List.594 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.594;
procedure List.68 (#Attr.2):
let List.582 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.582;
let List.581 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.581;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.601 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.601;
let List.600 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.600;
procedure List.8 (#Attr.2, #Attr.3):
let List.580 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.580;
let List.579 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.579;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.617 List.490 List.491 List.492 List.493 List.494:
let List.619 : Int1 = CallByName Num.22 List.493 List.494;
if List.619 then
let List.628 : U8 = CallByName List.66 List.490 List.493;
let List.620 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.628;
let List.625 : U8 = 1i64;
let List.626 : U8 = GetTagId List.620;
let List.627 : Int1 = lowlevel Eq List.625 List.626;
if List.627 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.620;
let List.623 : U64 = 1i64;
let List.622 : U64 = CallByName Num.51 List.493 List.623;
jump List.617 List.490 List.495 List.492 List.622 List.494;
joinpoint List.616 List.490 List.491 List.492 List.493 List.494:
let List.618 : Int1 = CallByName Num.22 List.493 List.494;
if List.618 then
let List.627 : U8 = CallByName List.66 List.490 List.493;
let List.619 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.627;
let List.624 : U8 = 1i64;
let List.625 : U8 = GetTagId List.619;
let List.626 : Int1 = lowlevel Eq List.624 List.625;
if List.626 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.619;
let List.622 : U64 = 1i64;
let List.621 : U64 = CallByName Num.51 List.493 List.622;
jump List.616 List.490 List.495 List.492 List.621 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.620;
let List.624 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.624;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.619;
let List.623 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.623;
else
dec List.490;
let List.618 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.618;
let List.617 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.617;
in
jump List.617 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.616 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure List.91 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
joinpoint List.588 List.162 List.163 List.164 List.165 List.166:
let List.590 : Int1 = CallByName Num.22 List.165 List.166;
if List.590 then
let List.594 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.594;
let List.593 : U64 = 1i64;
let List.592 : U64 = CallByName Num.51 List.165 List.593;
jump List.588 List.162 List.167 List.164 List.592 List.166;
joinpoint List.587 List.162 List.163 List.164 List.165 List.166:
let List.589 : Int1 = CallByName Num.22 List.165 List.166;
if List.589 then
let List.593 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.593;
let List.592 : U64 = 1i64;
let List.591 : U64 = CallByName Num.51 List.165 List.592;
jump List.587 List.162 List.167 List.164 List.591 List.166;
else
dec List.162;
ret List.163;
in
jump List.588 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
jump List.587 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
procedure Num.137 (#Attr.2, #Attr.3):
let Num.269 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;
@ -150,30 +150,28 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.275;
procedure Str.12 (#Attr.2):
let Str.259 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.259;
let Str.240 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.240;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.13 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.13;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.973, TotallyNotJson.149):
let TotallyNotJson.976 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;

View file

@ -41,158 +41,158 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.656 : U64 = 0i64;
let List.657 : U64 = CallByName List.6 List.487;
let List.655 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.656 List.657;
ret List.655;
let List.655 : U64 = 0i64;
let List.656 : U64 = CallByName List.6 List.487;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.655 List.656;
ret List.654;
procedure List.18 (List.159, List.160, List.161):
let List.600 : U64 = 0i64;
let List.601 : U64 = CallByName List.6 List.159;
let List.599 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.600 List.601;
ret List.599;
let List.599 : U64 = 0i64;
let List.600 : U64 = CallByName List.6 List.159;
let List.598 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.599 List.600;
ret List.598;
procedure List.18 (List.159, List.160, List.161):
let List.612 : U64 = 0i64;
let List.613 : U64 = CallByName List.6 List.159;
let List.611 : List U8 = CallByName List.91 List.159 List.160 List.161 List.612 List.613;
ret List.611;
let List.611 : U64 = 0i64;
let List.612 : U64 = CallByName List.6 List.159;
let List.610 : List U8 = CallByName List.91 List.159 List.160 List.161 List.611 List.612;
ret List.610;
procedure List.26 (List.200, List.201, List.202):
let List.649 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.652 : U8 = 1i64;
let List.653 : U8 = GetTagId List.649;
let List.654 : Int1 = lowlevel Eq List.652 List.653;
if List.654 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.649;
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.651 : U8 = 1i64;
let List.652 : U8 = GetTagId List.648;
let List.653 : Int1 = lowlevel Eq List.651 List.652;
if List.653 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.648;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.649;
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.648;
ret List.204;
procedure List.4 (List.123, List.124):
let List.598 : U64 = 1i64;
let List.597 : List U8 = CallByName List.70 List.123 List.598;
let List.596 : List U8 = CallByName List.71 List.597 List.124;
ret List.596;
let List.597 : U64 = 1i64;
let List.596 : List U8 = CallByName List.70 List.123 List.597;
let List.595 : List U8 = CallByName List.71 List.596 List.124;
ret List.595;
procedure List.49 (List.419, List.420):
let List.640 : U64 = StructAtIndex 1 List.420;
let List.641 : U64 = StructAtIndex 0 List.420;
let List.639 : List U8 = CallByName List.72 List.419 List.640 List.641;
ret List.639;
let List.639 : U64 = StructAtIndex 1 List.420;
let List.640 : U64 = StructAtIndex 0 List.420;
let List.638 : List U8 = CallByName List.72 List.419 List.639 List.640;
ret List.638;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.647 List.437:
let List.645 : U64 = 0i64;
let List.644 : {U64, U64} = Struct {List.437, List.645};
joinpoint List.646 List.437:
let List.644 : U64 = 0i64;
let List.643 : {U64, U64} = Struct {List.437, List.644};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.644;
let List.643 : U64 = CallByName Num.75 List.436 List.437;
let List.638 : {U64, U64} = Struct {List.643, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.638;
let List.637 : {List U8, List U8} = Struct {List.438, List.439};
ret List.637;
let List.438 : List U8 = CallByName List.49 List.434 List.643;
let List.642 : U64 = CallByName Num.75 List.436 List.437;
let List.637 : {U64, U64} = Struct {List.642, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.637;
let List.636 : {List U8, List U8} = Struct {List.438, List.439};
ret List.636;
in
let List.648 : Int1 = CallByName Num.24 List.436 List.435;
if List.648 then
jump List.647 List.435;
let List.647 : Int1 = CallByName Num.24 List.436 List.435;
if List.647 then
jump List.646 List.435;
else
jump List.647 List.436;
jump List.646 List.436;
procedure List.6 (#Attr.2):
let List.623 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.623;
let List.622 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.622;
procedure List.6 (#Attr.2):
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.625;
let List.624 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.624;
procedure List.66 (#Attr.2, #Attr.3):
let List.609 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.609;
let List.608 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.608;
procedure List.66 (#Attr.2, #Attr.3):
let List.621 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.621;
let List.620 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.620;
procedure List.68 (#Attr.2):
let List.636 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.636;
let List.635 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.635;
procedure List.70 (#Attr.2, #Attr.3):
let List.577 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.577;
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.575 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.575;
let List.574 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.574;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.642 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.642;
let List.641 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.641;
procedure List.8 (#Attr.2, #Attr.3):
let List.634 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.634;
let List.633 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.633;
procedure List.80 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.658 List.490 List.491 List.492 List.493 List.494:
let List.660 : Int1 = CallByName Num.22 List.493 List.494;
if List.660 then
let List.669 : U8 = CallByName List.66 List.490 List.493;
let List.661 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.669;
let List.666 : U8 = 1i64;
let List.667 : U8 = GetTagId List.661;
let List.668 : Int1 = lowlevel Eq List.666 List.667;
if List.668 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.661;
let List.664 : U64 = 1i64;
let List.663 : U64 = CallByName Num.51 List.493 List.664;
jump List.658 List.490 List.495 List.492 List.663 List.494;
procedure List.80 (#Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19):
joinpoint List.657 List.490 List.491 List.492 List.493 List.494:
let List.659 : Int1 = CallByName Num.22 List.493 List.494;
if List.659 then
let List.668 : U8 = CallByName List.66 List.490 List.493;
let List.660 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.668;
let List.665 : U8 = 1i64;
let List.666 : U8 = GetTagId List.660;
let List.667 : Int1 = lowlevel Eq List.665 List.666;
if List.667 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.660;
let List.663 : U64 = 1i64;
let List.662 : U64 = CallByName Num.51 List.493 List.663;
jump List.657 List.490 List.495 List.492 List.662 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.661;
let List.665 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.665;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.660;
let List.664 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.664;
else
dec List.490;
let List.659 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.659;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.658;
in
jump List.658 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
jump List.657 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19;
procedure List.91 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.614 List.162 List.163 List.164 List.165 List.166:
let List.616 : Int1 = CallByName Num.22 List.165 List.166;
if List.616 then
let List.620 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.620;
let List.619 : U64 = 1i64;
let List.618 : U64 = CallByName Num.51 List.165 List.619;
jump List.614 List.162 List.167 List.164 List.618 List.166;
procedure List.91 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
joinpoint List.613 List.162 List.163 List.164 List.165 List.166:
let List.615 : Int1 = CallByName Num.22 List.165 List.166;
if List.615 then
let List.619 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.619;
let List.618 : U64 = 1i64;
let List.617 : U64 = CallByName Num.51 List.165 List.618;
jump List.613 List.162 List.167 List.164 List.617 List.166;
else
dec List.162;
ret List.163;
in
jump List.614 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
jump List.613 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure List.91 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
joinpoint List.602 List.162 List.163 List.164 List.165 List.166:
let List.604 : Int1 = CallByName Num.22 List.165 List.166;
if List.604 then
let List.608 : Str = CallByName List.66 List.162 List.165;
inc List.608;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.230 List.163 List.608;
let List.607 : U64 = 1i64;
let List.606 : U64 = CallByName Num.51 List.165 List.607;
jump List.602 List.162 List.167 List.164 List.606 List.166;
procedure List.91 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.601 List.162 List.163 List.164 List.165 List.166:
let List.603 : Int1 = CallByName Num.22 List.165 List.166;
if List.603 then
let List.607 : Str = CallByName List.66 List.162 List.165;
inc List.607;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.230 List.163 List.607;
let List.606 : U64 = 1i64;
let List.605 : U64 = CallByName Num.51 List.165 List.606;
jump List.601 List.162 List.167 List.164 List.605 List.166;
else
dec List.162;
ret List.163;
in
jump List.602 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
jump List.601 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure Num.127 (#Attr.2):
let Num.274 : U8 = lowlevel NumIntCast #Attr.2;
@ -231,30 +231,28 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.287;
procedure Str.12 (#Attr.2):
let Str.260 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.260;
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.241;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.34 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.34;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1014, TotallyNotJson.149):
let TotallyNotJson.1017 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;

View file

@ -44,158 +44,158 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.103 (List.487, List.488, List.489):
let List.656 : U64 = 0i64;
let List.657 : U64 = CallByName List.6 List.487;
let List.655 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.656 List.657;
ret List.655;
let List.655 : U64 = 0i64;
let List.656 : U64 = CallByName List.6 List.487;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.487 List.488 List.489 List.655 List.656;
ret List.654;
procedure List.18 (List.159, List.160, List.161):
let List.600 : U64 = 0i64;
let List.601 : U64 = CallByName List.6 List.159;
let List.599 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.600 List.601;
ret List.599;
let List.599 : U64 = 0i64;
let List.600 : U64 = CallByName List.6 List.159;
let List.598 : {List U8, U64} = CallByName List.91 List.159 List.160 List.161 List.599 List.600;
ret List.598;
procedure List.18 (List.159, List.160, List.161):
let List.612 : U64 = 0i64;
let List.613 : U64 = CallByName List.6 List.159;
let List.611 : List U8 = CallByName List.91 List.159 List.160 List.161 List.612 List.613;
ret List.611;
let List.611 : U64 = 0i64;
let List.612 : U64 = CallByName List.6 List.159;
let List.610 : List U8 = CallByName List.91 List.159 List.160 List.161 List.611 List.612;
ret List.610;
procedure List.26 (List.200, List.201, List.202):
let List.649 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.652 : U8 = 1i64;
let List.653 : U8 = GetTagId List.649;
let List.654 : Int1 = lowlevel Eq List.652 List.653;
if List.654 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.649;
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.103 List.200 List.201 List.202;
let List.651 : U8 = 1i64;
let List.652 : U8 = GetTagId List.648;
let List.653 : Int1 = lowlevel Eq List.651 List.652;
if List.653 then
let List.203 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.648;
ret List.203;
else
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.649;
let List.204 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.648;
ret List.204;
procedure List.4 (List.123, List.124):
let List.598 : U64 = 1i64;
let List.597 : List U8 = CallByName List.70 List.123 List.598;
let List.596 : List U8 = CallByName List.71 List.597 List.124;
ret List.596;
let List.597 : U64 = 1i64;
let List.596 : List U8 = CallByName List.70 List.123 List.597;
let List.595 : List U8 = CallByName List.71 List.596 List.124;
ret List.595;
procedure List.49 (List.419, List.420):
let List.640 : U64 = StructAtIndex 1 List.420;
let List.641 : U64 = StructAtIndex 0 List.420;
let List.639 : List U8 = CallByName List.72 List.419 List.640 List.641;
ret List.639;
let List.639 : U64 = StructAtIndex 1 List.420;
let List.640 : U64 = StructAtIndex 0 List.420;
let List.638 : List U8 = CallByName List.72 List.419 List.639 List.640;
ret List.638;
procedure List.52 (List.434, List.435):
let List.436 : U64 = CallByName List.6 List.434;
joinpoint List.647 List.437:
let List.645 : U64 = 0i64;
let List.644 : {U64, U64} = Struct {List.437, List.645};
joinpoint List.646 List.437:
let List.644 : U64 = 0i64;
let List.643 : {U64, U64} = Struct {List.437, List.644};
inc List.434;
let List.438 : List U8 = CallByName List.49 List.434 List.644;
let List.643 : U64 = CallByName Num.75 List.436 List.437;
let List.638 : {U64, U64} = Struct {List.643, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.638;
let List.637 : {List U8, List U8} = Struct {List.438, List.439};
ret List.637;
let List.438 : List U8 = CallByName List.49 List.434 List.643;
let List.642 : U64 = CallByName Num.75 List.436 List.437;
let List.637 : {U64, U64} = Struct {List.642, List.437};
let List.439 : List U8 = CallByName List.49 List.434 List.637;
let List.636 : {List U8, List U8} = Struct {List.438, List.439};
ret List.636;
in
let List.648 : Int1 = CallByName Num.24 List.436 List.435;
if List.648 then
jump List.647 List.435;
let List.647 : Int1 = CallByName Num.24 List.436 List.435;
if List.647 then
jump List.646 List.435;
else
jump List.647 List.436;
jump List.646 List.436;
procedure List.6 (#Attr.2):
let List.623 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.623;
let List.622 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.622;
procedure List.6 (#Attr.2):
let List.625 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.625;
let List.624 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.624;
procedure List.66 (#Attr.2, #Attr.3):
let List.609 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.609;
let List.608 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.608;
procedure List.66 (#Attr.2, #Attr.3):
let List.621 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.621;
let List.620 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.620;
procedure List.68 (#Attr.2):
let List.636 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.636;
let List.635 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.635;
procedure List.70 (#Attr.2, #Attr.3):
let List.577 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.577;
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.575 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.575;
let List.574 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.574;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.642 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.642;
let List.641 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.641;
procedure List.8 (#Attr.2, #Attr.3):
let List.634 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.634;
let List.633 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.633;
procedure List.80 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
joinpoint List.658 List.490 List.491 List.492 List.493 List.494:
let List.660 : Int1 = CallByName Num.22 List.493 List.494;
if List.660 then
let List.669 : U8 = CallByName List.66 List.490 List.493;
let List.661 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.669;
let List.666 : U8 = 1i64;
let List.667 : U8 = GetTagId List.661;
let List.668 : Int1 = lowlevel Eq List.666 List.667;
if List.668 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.661;
let List.664 : U64 = 1i64;
let List.663 : U64 = CallByName Num.51 List.493 List.664;
jump List.658 List.490 List.495 List.492 List.663 List.494;
procedure List.80 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.657 List.490 List.491 List.492 List.493 List.494:
let List.659 : Int1 = CallByName Num.22 List.493 List.494;
if List.659 then
let List.668 : U8 = CallByName List.66 List.490 List.493;
let List.660 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.491 List.668;
let List.665 : U8 = 1i64;
let List.666 : U8 = GetTagId List.660;
let List.667 : Int1 = lowlevel Eq List.665 List.666;
if List.667 then
let List.495 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.660;
let List.663 : U64 = 1i64;
let List.662 : U64 = CallByName Num.51 List.493 List.663;
jump List.657 List.490 List.495 List.492 List.662 List.494;
else
dec List.490;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.661;
let List.665 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.665;
let List.496 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.660;
let List.664 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.496;
ret List.664;
else
dec List.490;
let List.659 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.659;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.491;
ret List.658;
in
jump List.658 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
jump List.657 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
procedure List.91 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.614 List.162 List.163 List.164 List.165 List.166:
let List.616 : Int1 = CallByName Num.22 List.165 List.166;
if List.616 then
let List.620 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.620;
let List.619 : U64 = 1i64;
let List.618 : U64 = CallByName Num.51 List.165 List.619;
jump List.614 List.162 List.167 List.164 List.618 List.166;
procedure List.91 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
joinpoint List.601 List.162 List.163 List.164 List.165 List.166:
let List.603 : Int1 = CallByName Num.22 List.165 List.166;
if List.603 then
let List.607 : Str = CallByName List.66 List.162 List.165;
inc List.607;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.230 List.163 List.607;
let List.606 : U64 = 1i64;
let List.605 : U64 = CallByName Num.51 List.165 List.606;
jump List.601 List.162 List.167 List.164 List.605 List.166;
else
dec List.162;
ret List.163;
in
jump List.614 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
jump List.601 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
procedure List.91 (#Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28):
joinpoint List.602 List.162 List.163 List.164 List.165 List.166:
let List.604 : Int1 = CallByName Num.22 List.165 List.166;
if List.604 then
let List.608 : Str = CallByName List.66 List.162 List.165;
inc List.608;
let List.167 : {List U8, U64} = CallByName TotallyNotJson.230 List.163 List.608;
let List.607 : U64 = 1i64;
let List.606 : U64 = CallByName Num.51 List.165 List.607;
jump List.602 List.162 List.167 List.164 List.606 List.166;
joinpoint List.613 List.162 List.163 List.164 List.165 List.166:
let List.615 : Int1 = CallByName Num.22 List.165 List.166;
if List.615 then
let List.619 : U8 = CallByName List.66 List.162 List.165;
let List.167 : List U8 = CallByName TotallyNotJson.183 List.163 List.619;
let List.618 : U64 = 1i64;
let List.617 : U64 = CallByName Num.51 List.165 List.618;
jump List.613 List.162 List.167 List.164 List.617 List.166;
else
dec List.162;
ret List.163;
in
jump List.602 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28;
jump List.613 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28;
procedure Num.127 (#Attr.2):
let Num.274 : U8 = lowlevel NumIntCast #Attr.2;
@ -234,30 +234,28 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.287;
procedure Str.12 (#Attr.2):
let Str.260 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.260;
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.241;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.35 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.35;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure TotallyNotJson.150 (TotallyNotJson.151, TotallyNotJson.1014, TotallyNotJson.149):
let TotallyNotJson.1017 : List U8 = CallByName TotallyNotJson.26 TotallyNotJson.149;

View file

@ -1171,12 +1171,12 @@ procedure Num.96 (#Attr.2):
ret Num.424;
procedure Str.12 (#Attr.2):
let Str.251 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.251;
let Str.234 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.234;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.252 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.252;
let Str.235 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.235;
procedure Test.0 ():
let Test.8 : Str = "a";

View file

@ -167,8 +167,8 @@ procedure Num.96 (#Attr.2):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.2 : List I64 = Array [1i64, 2i64, 3i64];

View file

@ -269,8 +269,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.269;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.250 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.250;
let Str.233 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.233;
procedure Test.0 ():
let Test.4 : Str = "bar";

View file

@ -197,8 +197,8 @@ procedure Num.96 (#Attr.2):
ret Num.268;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.3 : Decimal = 3dec;

View file

@ -166,8 +166,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.3 : Str = "foo";

View file

@ -173,8 +173,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.3 : Str = "foo";

View file

@ -38,8 +38,8 @@ procedure Inspect.60 (Inspect.298):
ret Inspect.298;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.2 : Str = "abc";

View file

@ -168,8 +168,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.4 : Str = "foo";

View file

@ -171,8 +171,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.5 : Str = "foo";

View file

@ -47,28 +47,28 @@ procedure Num.22 (#Attr.2, #Attr.3):
let Num.267 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.267;
procedure Str.27 (Str.86):
let Str.249 : [C Int1, C I64] = CallByName Str.60 Str.86;
ret Str.249;
procedure Str.27 (Str.78):
let Str.232 : [C Int1, C I64] = CallByName Str.60 Str.78;
ret Str.232;
procedure Str.42 (#Attr.2):
let Str.257 : {I64, U8} = lowlevel StrToNum #Attr.2;
ret Str.257;
let Str.240 : {I64, U8} = lowlevel StrToNum #Attr.2;
ret Str.240;
procedure Str.60 (Str.193):
let Str.194 : {I64, U8} = CallByName Str.42 Str.193;
dec Str.193;
let Str.255 : U8 = StructAtIndex 1 Str.194;
let Str.256 : U8 = 0i64;
let Str.252 : Int1 = CallByName Bool.11 Str.255 Str.256;
if Str.252 then
let Str.254 : I64 = StructAtIndex 0 Str.194;
let Str.253 : [C Int1, C I64] = TagId(1) Str.254;
ret Str.253;
procedure Str.60 (Str.185):
let Str.186 : {I64, U8} = CallByName Str.42 Str.185;
dec Str.185;
let Str.238 : U8 = StructAtIndex 1 Str.186;
let Str.239 : U8 = 0i64;
let Str.235 : Int1 = CallByName Bool.11 Str.238 Str.239;
if Str.235 then
let Str.237 : I64 = StructAtIndex 0 Str.186;
let Str.236 : [C Int1, C I64] = TagId(1) Str.237;
ret Str.236;
else
let Str.251 : Int1 = false;
let Str.250 : [C Int1, C I64] = TagId(0) Str.251;
ret Str.250;
let Str.234 : Int1 = false;
let Str.233 : [C Int1, C I64] = TagId(0) Str.234;
ret Str.233;
procedure Test.0 ():
let Test.3 : Int1 = CallByName Bool.2;

View file

@ -129,8 +129,8 @@ procedure List.49 (List.419, List.420):
ret List.621;
procedure List.6 (#Attr.2):
let List.649 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.649;
let List.624 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.624;
procedure List.66 (#Attr.2, #Attr.3):
let List.610 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
@ -218,27 +218,25 @@ procedure Num.77 (#Attr.2, #Attr.3):
let Num.301 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.301;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.258 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.258;
procedure Str.43 (#Attr.2):
let Str.239 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.239;
procedure Str.9 (Str.67):
let Str.256 : U64 = 0i64;
let Str.257 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.256 Str.257;
let Str.253 : Int1 = StructAtIndex 2 Str.68;
if Str.253 then
let Str.255 : Str = StructAtIndex 1 Str.68;
let Str.254 : [C {U64, U8}, C Str] = TagId(1) Str.255;
ret Str.254;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.236 : Int1 = StructAtIndex 2 Str.68;
if Str.236 then
let Str.238 : Str = StructAtIndex 1 Str.68;
let Str.237 : [C {U64, U8}, C Str] = TagId(1) Str.238;
ret Str.237;
else
let Str.251 : U8 = StructAtIndex 3 Str.68;
let Str.252 : U64 = StructAtIndex 0 Str.68;
let Str.234 : U8 = StructAtIndex 3 Str.68;
let Str.235 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.6 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.6;
let Str.250 : {U64, U8} = Struct {Str.252, Str.251};
let Str.249 : [C {U64, U8}, C Str] = TagId(0) Str.250;
ret Str.249;
let Str.233 : {U64, U8} = Struct {Str.235, Str.234};
let Str.232 : [C {U64, U8}, C Str] = TagId(0) Str.233;
ret Str.232;
procedure Test.3 ():
let Test.0 : List U8 = Array [82i64, 111i64, 99i64];

View file

@ -103,8 +103,8 @@ procedure List.49 (List.419, List.420):
ret List.617;
procedure List.6 (#Attr.2):
let List.645 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.645;
let List.620 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.620;
procedure List.66 (#Attr.2, #Attr.3):
let List.606 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
@ -193,53 +193,51 @@ procedure Num.77 (#Attr.2, #Attr.3):
ret Num.301;
procedure Str.12 (#Attr.2):
let Str.258 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.258;
let Str.241 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.241;
procedure Str.27 (Str.86):
let Str.249 : [C {}, C I64] = CallByName Str.60 Str.86;
ret Str.249;
procedure Str.27 (Str.78):
let Str.232 : [C {}, C I64] = CallByName Str.60 Str.78;
ret Str.232;
procedure Str.42 (#Attr.2):
let Str.257 : {I64, U8} = lowlevel StrToNum #Attr.2;
ret Str.257;
let Str.240 : {I64, U8} = lowlevel StrToNum #Attr.2;
ret Str.240;
procedure Str.43 (#Attr.2, #Attr.3, #Attr.4):
let Str.268 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
ret Str.268;
procedure Str.43 (#Attr.2):
let Str.249 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
ret Str.249;
procedure Str.60 (Str.193):
let Str.194 : {I64, U8} = CallByName Str.42 Str.193;
dec Str.193;
let Str.255 : U8 = StructAtIndex 1 Str.194;
let Str.256 : U8 = 0i64;
let Str.252 : Int1 = CallByName Bool.11 Str.255 Str.256;
if Str.252 then
let Str.254 : I64 = StructAtIndex 0 Str.194;
let Str.253 : [C {}, C I64] = TagId(1) Str.254;
ret Str.253;
procedure Str.60 (Str.185):
let Str.186 : {I64, U8} = CallByName Str.42 Str.185;
dec Str.185;
let Str.238 : U8 = StructAtIndex 1 Str.186;
let Str.239 : U8 = 0i64;
let Str.235 : Int1 = CallByName Bool.11 Str.238 Str.239;
if Str.235 then
let Str.237 : I64 = StructAtIndex 0 Str.186;
let Str.236 : [C {}, C I64] = TagId(1) Str.237;
ret Str.236;
else
let Str.251 : {} = Struct {};
let Str.250 : [C {}, C I64] = TagId(0) Str.251;
ret Str.250;
let Str.234 : {} = Struct {};
let Str.233 : [C {}, C I64] = TagId(0) Str.234;
ret Str.233;
procedure Str.9 (Str.67):
let Str.266 : U64 = 0i64;
let Str.267 : U64 = CallByName List.6 Str.67;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67 Str.266 Str.267;
let Str.263 : Int1 = StructAtIndex 2 Str.68;
if Str.263 then
let Str.265 : Str = StructAtIndex 1 Str.68;
let Str.264 : [C {U64, U8}, C Str] = TagId(1) Str.265;
ret Str.264;
let Str.68 : {U64, Str, Int1, U8} = CallByName Str.43 Str.67;
let Str.246 : Int1 = StructAtIndex 2 Str.68;
if Str.246 then
let Str.248 : Str = StructAtIndex 1 Str.68;
let Str.247 : [C {U64, U8}, C Str] = TagId(1) Str.248;
ret Str.247;
else
let Str.261 : U8 = StructAtIndex 3 Str.68;
let Str.262 : U64 = StructAtIndex 0 Str.68;
let Str.244 : U8 = StructAtIndex 3 Str.68;
let Str.245 : U64 = StructAtIndex 0 Str.68;
let #Derived_gen.7 : Str = StructAtIndex 1 Str.68;
dec #Derived_gen.7;
let Str.260 : {U64, U8} = Struct {Str.262, Str.261};
let Str.259 : [C {U64, U8}, C Str] = TagId(0) Str.260;
ret Str.259;
let Str.243 : {U64, U8} = Struct {Str.245, Str.244};
let Str.242 : [C {U64, U8}, C Str] = TagId(0) Str.243;
ret Str.242;
procedure Test.0 ():
let Test.37 : Str = "-1234";

View file

@ -24,7 +24,7 @@ procedure Test.1 (#Derived_gen.0, #Derived_gen.1):
else
let Test.23 : List Str = StructAtIndex 0 Test.13;
let Test.24 : U64 = 1i64;
let Test.25 : U64 = lowlevel ListLenUsize Test.23;
let Test.25 : U64 = lowlevel ListLenU64 Test.23;
let Test.26 : U64 = lowlevel NumSub Test.25 Test.24;
let Test.27 : U64 = 1i64;
let Test.8 : List Str = lowlevel ListSublist Test.23 Test.27 Test.26;

View file

@ -1,6 +1,6 @@
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.1 (Test.5):
let Test.16 : [C {}, C U64, C Str] = TagId(0) Test.5;

View file

@ -31,12 +31,12 @@ procedure Num.22 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.16 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrRepeat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrRepeat #Attr.2 #Attr.3;
ret Str.232;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.250 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.250;
let Str.233 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.233;
procedure Test.1 ():
let Test.21 : Str = "lllllllllllllllllllllooooooooooong";

View file

@ -31,8 +31,8 @@ procedure Num.22 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.250 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.250;
let Str.233 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.233;
procedure Test.1 ():
let Test.21 : Str = "lllllllllllllllllllllooooooooooong";

View file

@ -3,8 +3,8 @@ procedure Bool.11 (#Attr.2, #Attr.3):
ret Bool.23;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.250 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.250;
let Str.233 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.233;
procedure Test.2 (Test.7):
let Test.24 : Str = ".trace(\"";

View file

@ -3,8 +3,8 @@ procedure Num.20 (#Attr.2, #Attr.3):
ret Num.267;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.251 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.251;
let Str.234 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.234;
procedure Test.11 (Test.29, #Attr.12):
let Test.32 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;

View file

@ -220,8 +220,8 @@ procedure Num.75 (#Attr.2, #Attr.3):
ret Num.287;
procedure Str.12 (#Attr.2):
let Str.250 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.250;
let Str.233 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.233;
procedure Test.2 (Test.10):
let Test.15 : {Str, Str} = CallByName Encode.23 Test.10;

View file

@ -178,8 +178,8 @@ procedure Num.51 (#Attr.2, #Attr.3):
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.250 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.250;
let Str.233 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.233;
procedure Test.2 (Test.11):
let Test.18 : {{}, {}} = CallByName Encode.23 Test.11;

View file

@ -46,8 +46,8 @@ procedure Inspect.60 (Inspect.298):
ret Inspect.298;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.0 ():
let Test.4 : {} = Struct {};

View file

@ -49,8 +49,8 @@ procedure Inspect.60 (Inspect.298):
ret Inspect.298;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.249 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.249;
let Str.232 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.232;
procedure Test.2 (Test.3):
let Test.4 : Str = CallByName Inspect.33 Test.3;