Merge remote-tracking branch 'origin/main' into str-unicode

This commit is contained in:
Richard Feldman 2024-01-21 12:29:34 -05:00
commit 2970fc4384
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B
78 changed files with 2747 additions and 2467 deletions

View file

@ -2,80 +2,80 @@ procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.23;
procedure List.101 (List.484, List.485, List.486):
let List.587 : U64 = 0i64;
let List.588 : U64 = CallByName List.6 List.484;
let List.586 : [C U64, C U64] = CallByName List.80 List.484 List.485 List.486 List.587 List.588;
ret List.586;
procedure List.102 (List.486, List.487, List.488):
let List.589 : U64 = 0i64;
let List.590 : U64 = CallByName List.6 List.486;
let List.588 : [C U64, C U64] = CallByName List.80 List.486 List.487 List.488 List.589 List.590;
ret List.588;
procedure List.26 (List.197, List.198, List.199):
let List.580 : [C U64, C U64] = CallByName List.101 List.197 List.198 List.199;
let List.583 : U8 = 1i64;
let List.584 : U8 = GetTagId List.580;
let List.585 : Int1 = lowlevel Eq List.583 List.584;
if List.585 then
let List.200 : U64 = UnionAtIndex (Id 1) (Index 0) List.580;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.582 : [C U64, C U64] = CallByName List.102 List.199 List.200 List.201;
let List.585 : U8 = 1i64;
let List.586 : U8 = GetTagId List.582;
let List.587 : Int1 = lowlevel Eq List.585 List.586;
if List.587 then
let List.202 : U64 = UnionAtIndex (Id 1) (Index 0) List.582;
ret List.202;
else
let List.201 : U64 = UnionAtIndex (Id 0) (Index 0) List.580;
ret List.201;
let List.203 : U64 = UnionAtIndex (Id 0) (Index 0) List.582;
ret List.203;
procedure List.38 (List.340, List.341):
procedure List.38 (List.342, List.343):
let List.581 : U64 = CallByName List.6 List.342;
let List.344 : U64 = CallByName Num.77 List.581 List.343;
let List.571 : List U8 = CallByName List.43 List.342 List.344;
ret List.571;
procedure List.43 (List.340, List.341):
let List.579 : U64 = CallByName List.6 List.340;
let List.342 : U64 = CallByName Num.77 List.579 List.341;
let List.569 : List U8 = CallByName List.43 List.340 List.342;
ret List.569;
procedure List.43 (List.338, List.339):
let List.577 : U64 = CallByName List.6 List.338;
let List.576 : U64 = CallByName Num.77 List.577 List.339;
let List.571 : {U64, U64} = Struct {List.339, List.576};
let List.570 : List U8 = CallByName List.49 List.338 List.571;
ret List.570;
procedure List.49 (List.416, List.417):
let List.573 : U64 = StructAtIndex 1 List.417;
let List.574 : U64 = StructAtIndex 0 List.417;
let List.572 : List U8 = CallByName List.72 List.416 List.573 List.574;
let List.578 : U64 = CallByName Num.77 List.579 List.341;
let List.573 : {U64, U64} = Struct {List.341, List.578};
let List.572 : List U8 = CallByName List.49 List.340 List.573;
ret List.572;
procedure List.49 (List.418, List.419):
let List.575 : U64 = StructAtIndex 1 List.419;
let List.576 : U64 = StructAtIndex 0 List.419;
let List.574 : List U8 = CallByName List.72 List.418 List.575 List.576;
ret List.574;
procedure List.6 (#Attr.2):
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
procedure List.66 (#Attr.2, #Attr.3):
let List.601 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.601;
let List.603 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.603;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.575 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.575;
let List.577 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.577;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.589 List.487 List.488 List.489 List.490 List.491:
let List.591 : Int1 = CallByName Num.22 List.490 List.491;
if List.591 then
let List.600 : U8 = CallByName List.66 List.487 List.490;
let List.592 : [C U64, C U64] = CallByName Test.4 List.488 List.600;
let List.597 : U8 = 1i64;
let List.598 : U8 = GetTagId List.592;
let List.599 : Int1 = lowlevel Eq List.597 List.598;
if List.599 then
let List.492 : U64 = UnionAtIndex (Id 1) (Index 0) List.592;
let List.595 : U64 = 1i64;
let List.594 : U64 = CallByName Num.51 List.490 List.595;
jump List.589 List.487 List.492 List.489 List.594 List.491;
joinpoint List.591 List.489 List.490 List.491 List.492 List.493:
let List.593 : Int1 = CallByName Num.22 List.492 List.493;
if List.593 then
let List.602 : U8 = CallByName List.66 List.489 List.492;
let List.594 : [C U64, C U64] = CallByName Test.4 List.490 List.602;
let List.599 : U8 = 1i64;
let List.600 : U8 = GetTagId List.594;
let List.601 : Int1 = lowlevel Eq List.599 List.600;
if List.601 then
let List.494 : U64 = UnionAtIndex (Id 1) (Index 0) List.594;
let List.597 : U64 = 1i64;
let List.596 : U64 = CallByName Num.51 List.492 List.597;
jump List.591 List.489 List.494 List.491 List.596 List.493;
else
dec List.487;
let List.493 : U64 = UnionAtIndex (Id 0) (Index 0) List.592;
let List.596 : [C U64, C U64] = TagId(0) List.493;
ret List.596;
dec List.489;
let List.495 : U64 = UnionAtIndex (Id 0) (Index 0) List.594;
let List.598 : [C U64, C U64] = TagId(0) List.495;
ret List.598;
else
dec List.487;
let List.590 : [C U64, C U64] = TagId(1) List.488;
ret List.590;
dec List.489;
let List.592 : [C U64, C U64] = TagId(1) List.490;
ret List.592;
in
jump List.589 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.591 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,7 +1,7 @@
procedure List.5 (#Attr.2, #Attr.3):
let List.569 : List {} = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
let List.571 : List {} = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
decref #Attr.2;
ret List.569;
ret List.571;
procedure Test.2 (Test.3):
let Test.7 : {} = Struct {};

View file

@ -1,7 +1,7 @@
procedure List.5 (#Attr.2, #Attr.3):
let List.569 : List [] = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
let List.571 : List [] = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
decref #Attr.2;
ret List.569;
ret List.571;
procedure Test.2 (Test.3):
let Test.7 : {} = Struct {};

View file

@ -1,31 +1,31 @@
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : [<r>C {}, C *self {{}, []}] = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : [<r>C {}, C *self {{}, []}] = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : [] = CallByName List.66 List.159 List.162;
let List.164 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.160 List.578 List.161;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : [] = CallByName List.66 List.161 List.164;
let List.166 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.162 List.580 List.163;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.574 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -2,49 +2,49 @@ procedure Bool.1 ():
let Bool.24 : Int1 = false;
ret Bool.24;
procedure List.2 (List.105, List.106):
let List.583 : U64 = CallByName List.6 List.105;
let List.579 : Int1 = CallByName Num.22 List.106 List.583;
if List.579 then
let List.581 : Str = CallByName List.66 List.105 List.106;
inc List.581;
dec List.105;
let List.580 : [C {}, C Str] = TagId(1) List.581;
ret List.580;
procedure List.2 (List.106, List.107):
let List.585 : U64 = CallByName List.6 List.106;
let List.581 : Int1 = CallByName Num.22 List.107 List.585;
if List.581 then
let List.583 : Str = CallByName List.66 List.106 List.107;
inc List.583;
dec List.106;
let List.582 : [C {}, C Str] = TagId(1) List.583;
ret List.582;
else
dec List.105;
let List.578 : {} = Struct {};
let List.577 : [C {}, C Str] = TagId(0) List.578;
ret List.577;
dec List.106;
let List.580 : {} = Struct {};
let List.579 : [C {}, C Str] = TagId(0) List.580;
ret List.579;
procedure List.5 (#Attr.2, #Attr.3):
let List.585 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.10 #Attr.3;
let List.587 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.10 #Attr.3;
decref #Attr.2;
ret List.585;
ret List.587;
procedure List.6 (#Attr.2):
let List.584 : U64 = lowlevel ListLen #Attr.2;
ret List.584;
let List.586 : U64 = lowlevel ListLen #Attr.2;
ret List.586;
procedure List.66 (#Attr.2, #Attr.3):
let List.582 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.582;
let List.584 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.584;
procedure List.9 (List.331):
let List.576 : U64 = 0i64;
let List.569 : [C {}, C Str] = CallByName List.2 List.331 List.576;
let List.573 : U8 = 1i64;
let List.574 : U8 = GetTagId List.569;
let List.575 : Int1 = lowlevel Eq List.573 List.574;
if List.575 then
let List.332 : Str = UnionAtIndex (Id 1) (Index 0) List.569;
let List.570 : [C {}, C Str] = TagId(1) List.332;
ret List.570;
procedure List.9 (List.333):
let List.578 : U64 = 0i64;
let List.571 : [C {}, C Str] = CallByName List.2 List.333 List.578;
let List.575 : U8 = 1i64;
let List.576 : U8 = GetTagId List.571;
let List.577 : Int1 = lowlevel Eq List.575 List.576;
if List.577 then
let List.334 : Str = UnionAtIndex (Id 1) (Index 0) List.571;
let List.572 : [C {}, C Str] = TagId(1) List.334;
ret List.572;
else
dec List.569;
let List.572 : {} = Struct {};
let List.571 : [C {}, C Str] = TagId(0) List.572;
ret List.571;
dec List.571;
let List.574 : {} = Struct {};
let List.573 : [C {}, C Str] = TagId(0) List.574;
ret List.573;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,6 +1,6 @@
procedure List.6 (#Attr.2):
let List.569 : U64 = lowlevel ListLen #Attr.2;
ret List.569;
let List.571 : U64 = lowlevel ListLen #Attr.2;
ret List.571;
procedure Test.1 (Test.5):
let Test.2 : I64 = 41i64;

View file

@ -2,34 +2,34 @@ procedure Bool.2 ():
let Bool.23 : Int1 = true;
ret Bool.23;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : Int1 = CallByName List.66 List.159 List.162;
let List.164 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.160 List.578 List.161;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : Int1 = CallByName List.66 List.161 List.164;
let List.166 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.162 List.580 List.163;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
jump List.574 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -26,8 +26,8 @@ procedure Dict.45 ():
ret Dict.738;
procedure List.6 (#Attr.2):
let List.569 : U64 = lowlevel ListLen #Attr.2;
ret List.569;
let List.571 : U64 = lowlevel ListLen #Attr.2;
ret List.571;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.291 : U8 = lowlevel NumSub #Attr.2 #Attr.3;

View file

@ -2,27 +2,27 @@ procedure Bool.1 ():
let Bool.23 : Int1 = false;
ret Bool.23;
procedure List.2 (List.105, List.106):
let List.575 : U64 = CallByName List.6 List.105;
let List.571 : Int1 = CallByName Num.22 List.106 List.575;
if List.571 then
let List.573 : {} = CallByName List.66 List.105 List.106;
dec List.105;
let List.572 : [C {}, C {}] = TagId(1) List.573;
ret List.572;
procedure List.2 (List.106, List.107):
let List.577 : U64 = CallByName List.6 List.106;
let List.573 : Int1 = CallByName Num.22 List.107 List.577;
if List.573 then
let List.575 : {} = CallByName List.66 List.106 List.107;
dec List.106;
let List.574 : [C {}, C {}] = TagId(1) List.575;
ret List.574;
else
dec List.105;
let List.570 : {} = Struct {};
let List.569 : [C {}, C {}] = TagId(0) List.570;
ret List.569;
dec List.106;
let List.572 : {} = Struct {};
let List.571 : [C {}, C {}] = TagId(0) List.572;
ret List.571;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.66 (#Attr.2, #Attr.3):
let List.574 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.574;
let List.576 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.4 (List.121, List.122):
let List.572 : U64 = 1i64;
let List.570 : List U8 = CallByName List.70 List.121 List.572;
let List.569 : List U8 = CallByName List.71 List.570 List.122;
ret List.569;
procedure List.4 (List.122, List.123):
let List.574 : U64 = 1i64;
let List.572 : List U8 = CallByName List.70 List.122 List.574;
let List.571 : List U8 = CallByName List.71 List.572 List.123;
ret List.571;
procedure List.70 (#Attr.2, #Attr.3):
let List.573 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.573;
let List.575 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.575;
procedure List.71 (#Attr.2, #Attr.3):
let List.571 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.571;
let List.573 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.573;
procedure Test.23 (Test.24, Test.35, Test.22):
let Test.37 : List U8 = CallByName List.4 Test.24 Test.22;

View file

@ -65,189 +65,189 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.681 : U64 = 0i64;
let List.682 : U64 = CallByName List.6 List.484;
let List.680 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.681 List.682;
ret List.680;
procedure List.102 (List.486, List.487, List.488):
let List.683 : U64 = 0i64;
let List.684 : U64 = CallByName List.6 List.486;
let List.682 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.683 List.684;
ret List.682;
procedure List.18 (List.156, List.157, List.158):
let List.591 : U64 = 0i64;
let List.592 : U64 = CallByName List.6 List.156;
let List.590 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.591 List.592;
ret List.590;
procedure List.18 (List.158, List.159, List.160):
let List.593 : U64 = 0i64;
let List.594 : U64 = CallByName List.6 List.158;
let List.592 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.593 List.594;
ret List.592;
procedure List.18 (List.156, List.157, List.158):
let List.625 : U64 = 0i64;
let List.626 : U64 = CallByName List.6 List.156;
let List.624 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.625 List.626;
ret List.624;
procedure List.18 (List.158, List.159, List.160):
let List.627 : U64 = 0i64;
let List.628 : U64 = CallByName List.6 List.158;
let List.626 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.627 List.628;
ret List.626;
procedure List.18 (List.156, List.157, List.158):
let List.637 : U64 = 0i64;
let List.638 : U64 = CallByName List.6 List.156;
let List.636 : List U8 = CallByName List.89 List.156 List.157 List.158 List.637 List.638;
ret List.636;
procedure List.18 (List.158, List.159, List.160):
let List.639 : U64 = 0i64;
let List.640 : U64 = CallByName List.6 List.158;
let List.638 : List U8 = CallByName List.90 List.158 List.159 List.160 List.639 List.640;
ret List.638;
procedure List.26 (List.197, List.198, List.199):
let List.674 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.677 : U8 = 1i64;
let List.678 : U8 = GetTagId List.674;
let List.679 : Int1 = lowlevel Eq List.677 List.678;
if List.679 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.674;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.676 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
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.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.676;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.674;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.676;
ret List.203;
procedure List.4 (List.121, List.122):
let List.623 : U64 = 1i64;
let List.622 : List U8 = CallByName List.70 List.121 List.623;
let List.621 : List U8 = CallByName List.71 List.622 List.122;
ret List.621;
procedure List.4 (List.122, List.123):
let List.625 : U64 = 1i64;
let List.624 : List U8 = CallByName List.70 List.122 List.625;
let List.623 : List U8 = CallByName List.71 List.624 List.123;
ret List.623;
procedure List.49 (List.416, List.417):
let List.665 : U64 = StructAtIndex 1 List.417;
let List.666 : U64 = StructAtIndex 0 List.417;
let List.664 : List U8 = CallByName List.72 List.416 List.665 List.666;
ret List.664;
procedure List.49 (List.418, List.419):
let List.667 : U64 = StructAtIndex 1 List.419;
let List.668 : U64 = StructAtIndex 0 List.419;
let List.666 : List U8 = CallByName List.72 List.418 List.667 List.668;
ret List.666;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.672 List.434:
let List.670 : U64 = 0i64;
let List.669 : {U64, U64} = Struct {List.434, List.670};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.669;
let List.668 : U64 = CallByName Num.75 List.433 List.434;
let List.663 : {U64, U64} = Struct {List.668, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.663;
let List.662 : {List U8, List U8} = Struct {List.435, List.436};
ret List.662;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.674 List.436:
let List.672 : U64 = 0i64;
let List.671 : {U64, U64} = Struct {List.436, List.672};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.671;
let List.670 : U64 = CallByName Num.75 List.435 List.436;
let List.665 : {U64, U64} = Struct {List.670, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.665;
let List.664 : {List U8, List U8} = Struct {List.437, List.438};
ret List.664;
in
let List.673 : Int1 = CallByName Num.24 List.433 List.432;
if List.673 then
jump List.672 List.432;
let List.675 : Int1 = CallByName Num.24 List.435 List.434;
if List.675 then
jump List.674 List.434;
else
jump List.672 List.433;
jump List.674 List.435;
procedure List.6 (#Attr.2):
let List.603 : U64 = lowlevel ListLen #Attr.2;
ret List.603;
procedure List.6 (#Attr.2):
let List.657 : U64 = lowlevel ListLen #Attr.2;
ret List.657;
let List.605 : U64 = lowlevel ListLen #Attr.2;
ret List.605;
procedure List.6 (#Attr.2):
let List.659 : U64 = lowlevel ListLen #Attr.2;
ret List.659;
procedure List.66 (#Attr.2, #Attr.3):
let List.600 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.600;
procedure List.66 (#Attr.2, #Attr.3):
let List.634 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.634;
procedure List.66 (#Attr.2, #Attr.3):
let List.646 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.646;
procedure List.68 (#Attr.2):
let List.661 : List U8 = lowlevel ListWithCapacity #Attr.2;
procedure List.6 (#Attr.2):
let List.661 : U64 = lowlevel ListLen #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.608 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.608;
let List.610 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.610;
procedure List.71 (#Attr.2, #Attr.3):
let List.606 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.606;
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.667 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.667;
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.656 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.656;
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.683 List.487 List.488 List.489 List.490 List.491:
let List.685 : Int1 = CallByName Num.22 List.490 List.491;
if List.685 then
let List.694 : U8 = CallByName List.66 List.487 List.490;
let List.686 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.694;
let List.691 : U8 = 1i64;
let List.692 : U8 = GetTagId List.686;
let List.693 : Int1 = lowlevel Eq List.691 List.692;
if List.693 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.686;
let List.689 : U64 = 1i64;
let List.688 : U64 = CallByName Num.51 List.490 List.689;
jump List.683 List.487 List.492 List.489 List.688 List.491;
procedure List.80 (#Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
joinpoint List.685 List.489 List.490 List.491 List.492 List.493:
let List.687 : Int1 = CallByName Num.22 List.492 List.493;
if List.687 then
let List.696 : U8 = CallByName List.66 List.489 List.492;
let List.688 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 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.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.688;
let List.691 : U64 = 1i64;
let List.690 : U64 = CallByName Num.51 List.492 List.691;
jump List.685 List.489 List.494 List.491 List.690 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.686;
let List.690 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.690;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.688;
let List.692 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.692;
else
dec List.487;
let List.684 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.684;
dec List.489;
let List.686 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.686;
in
jump List.683 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49;
jump List.685 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
procedure List.89 (#Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
joinpoint List.639 List.159 List.160 List.161 List.162 List.163:
let List.641 : Int1 = CallByName Num.22 List.162 List.163;
if List.641 then
let List.645 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.645;
let List.644 : U64 = 1i64;
let List.643 : U64 = CallByName Num.51 List.162 List.644;
jump List.639 List.159 List.164 List.161 List.643 List.163;
procedure List.90 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.641 List.161 List.162 List.163 List.164 List.165:
let List.643 : Int1 = CallByName Num.22 List.164 List.165;
if List.643 then
let List.647 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.647;
let List.646 : U64 = 1i64;
let List.645 : U64 = CallByName Num.51 List.164 List.646;
jump List.641 List.161 List.166 List.163 List.645 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.639 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
jump List.641 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure List.89 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
joinpoint List.627 List.159 List.160 List.161 List.162 List.163:
let List.629 : Int1 = CallByName Num.22 List.162 List.163;
if List.629 then
let List.633 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.633;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.203 List.160 List.633;
let List.632 : U64 = 1i64;
let List.631 : U64 = CallByName Num.51 List.162 List.632;
jump List.627 List.159 List.164 List.161 List.631 List.163;
procedure List.90 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
joinpoint List.595 List.161 List.162 List.163 List.164 List.165:
let List.597 : Int1 = CallByName Num.22 List.164 List.165;
if List.597 then
let List.601 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.601;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.203 List.162 List.601;
let List.600 : U64 = 1i64;
let List.599 : U64 = CallByName Num.51 List.164 List.600;
jump List.595 List.161 List.166 List.163 List.599 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.627 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
jump List.595 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
procedure List.89 (#Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
joinpoint List.593 List.159 List.160 List.161 List.162 List.163:
let List.595 : Int1 = CallByName Num.22 List.162 List.163;
if List.595 then
let List.599 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.599;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.203 List.160 List.599;
let List.598 : U64 = 1i64;
let List.597 : U64 = CallByName Num.51 List.162 List.598;
jump List.593 List.159 List.164 List.161 List.597 List.163;
procedure List.90 (#Derived_gen.45, #Derived_gen.46, #Derived_gen.47, #Derived_gen.48, #Derived_gen.49):
joinpoint List.629 List.161 List.162 List.163 List.164 List.165:
let List.631 : Int1 = CallByName Num.22 List.164 List.165;
if List.631 then
let List.635 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.635;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.203 List.162 List.635;
let List.634 : U64 = 1i64;
let List.633 : U64 = CallByName Num.51 List.164 List.634;
jump List.629 List.161 List.166 List.163 List.633 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.593 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
jump List.629 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48 #Derived_gen.49;
procedure Num.127 (#Attr.2):
let Num.306 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -38,159 +38,159 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.647 : U64 = 0i64;
let List.648 : U64 = CallByName List.6 List.484;
let List.646 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.647 List.648;
ret List.646;
procedure List.102 (List.486, List.487, List.488):
let List.649 : U64 = 0i64;
let List.650 : U64 = CallByName List.6 List.486;
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.649 List.650;
ret List.648;
procedure List.18 (List.156, List.157, List.158):
let List.591 : U64 = 0i64;
let List.592 : U64 = CallByName List.6 List.156;
let List.590 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.591 List.592;
ret List.590;
procedure List.18 (List.158, List.159, List.160):
let List.593 : U64 = 0i64;
let List.594 : U64 = CallByName List.6 List.158;
let List.592 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.593 List.594;
ret List.592;
procedure List.18 (List.156, List.157, List.158):
let List.603 : U64 = 0i64;
let List.604 : U64 = CallByName List.6 List.156;
let List.602 : List U8 = CallByName List.89 List.156 List.157 List.158 List.603 List.604;
ret List.602;
procedure List.18 (List.158, List.159, List.160):
let List.605 : U64 = 0i64;
let List.606 : U64 = CallByName List.6 List.158;
let List.604 : List U8 = CallByName List.90 List.158 List.159 List.160 List.605 List.606;
ret List.604;
procedure List.26 (List.197, List.198, List.199):
let List.640 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.643 : U8 = 1i64;
let List.644 : U8 = GetTagId List.640;
let List.645 : Int1 = lowlevel Eq List.643 List.644;
if List.645 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.640;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.642 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
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.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.642;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.640;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.642;
ret List.203;
procedure List.4 (List.121, List.122):
let List.589 : U64 = 1i64;
let List.588 : List U8 = CallByName List.70 List.121 List.589;
let List.587 : List U8 = CallByName List.71 List.588 List.122;
ret List.587;
procedure List.4 (List.122, List.123):
let List.591 : U64 = 1i64;
let List.590 : List U8 = CallByName List.70 List.122 List.591;
let List.589 : List U8 = CallByName List.71 List.590 List.123;
ret List.589;
procedure List.49 (List.416, List.417):
let List.631 : U64 = StructAtIndex 1 List.417;
let List.632 : U64 = StructAtIndex 0 List.417;
let List.630 : List U8 = CallByName List.72 List.416 List.631 List.632;
ret List.630;
procedure List.49 (List.418, List.419):
let List.633 : U64 = StructAtIndex 1 List.419;
let List.634 : U64 = StructAtIndex 0 List.419;
let List.632 : List U8 = CallByName List.72 List.418 List.633 List.634;
ret List.632;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.638 List.434:
let List.636 : U64 = 0i64;
let List.635 : {U64, U64} = Struct {List.434, List.636};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.635;
let List.634 : U64 = CallByName Num.75 List.433 List.434;
let List.629 : {U64, U64} = Struct {List.634, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.629;
let List.628 : {List U8, List U8} = Struct {List.435, List.436};
ret List.628;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.640 List.436:
let List.638 : U64 = 0i64;
let List.637 : {U64, U64} = Struct {List.436, List.638};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.637;
let List.636 : U64 = CallByName Num.75 List.435 List.436;
let List.631 : {U64, U64} = Struct {List.636, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.631;
let List.630 : {List U8, List U8} = Struct {List.437, List.438};
ret List.630;
in
let List.639 : Int1 = CallByName Num.24 List.433 List.432;
if List.639 then
jump List.638 List.432;
let List.641 : Int1 = CallByName Num.24 List.435 List.434;
if List.641 then
jump List.640 List.434;
else
jump List.638 List.433;
procedure List.6 (#Attr.2):
let List.623 : U64 = lowlevel ListLen #Attr.2;
ret List.623;
jump List.640 List.435;
procedure List.6 (#Attr.2):
let List.625 : U64 = lowlevel ListLen #Attr.2;
ret List.625;
procedure List.66 (#Attr.2, #Attr.3):
let List.600 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.600;
procedure List.66 (#Attr.2, #Attr.3):
let List.612 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.612;
procedure List.68 (#Attr.2):
let List.627 : List U8 = lowlevel ListWithCapacity #Attr.2;
procedure List.6 (#Attr.2):
let List.627 : U64 = lowlevel ListLen #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.574 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.574;
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.572 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.572;
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.633 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.633;
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.622 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.622;
let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.624;
procedure List.80 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.649 List.487 List.488 List.489 List.490 List.491:
let List.651 : Int1 = CallByName Num.22 List.490 List.491;
if List.651 then
let List.660 : U8 = CallByName List.66 List.487 List.490;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.660;
let List.657 : U8 = 1i64;
let List.658 : U8 = GetTagId List.652;
let List.659 : Int1 = lowlevel Eq List.657 List.658;
if List.659 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.652;
let List.655 : U64 = 1i64;
let List.654 : U64 = CallByName Num.51 List.490 List.655;
jump List.649 List.487 List.492 List.489 List.654 List.491;
procedure List.80 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
joinpoint List.651 List.489 List.490 List.491 List.492 List.493:
let List.653 : Int1 = CallByName Num.22 List.492 List.493;
if List.653 then
let List.662 : U8 = CallByName List.66 List.489 List.492;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 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.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.654;
let List.657 : U64 = 1i64;
let List.656 : U64 = CallByName Num.51 List.492 List.657;
jump List.651 List.489 List.494 List.491 List.656 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.652;
let List.656 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.656;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.654;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.658;
else
dec List.487;
let List.650 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.650;
dec List.489;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.652;
in
jump List.649 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
jump List.651 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
procedure List.89 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
joinpoint List.593 List.159 List.160 List.161 List.162 List.163:
let List.595 : Int1 = CallByName Num.22 List.162 List.163;
if List.595 then
let List.599 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.599;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.203 List.160 List.599;
let List.598 : U64 = 1i64;
let List.597 : U64 = CallByName Num.51 List.162 List.598;
jump List.593 List.159 List.164 List.161 List.597 List.163;
procedure List.90 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
joinpoint List.607 List.161 List.162 List.163 List.164 List.165:
let List.609 : Int1 = CallByName Num.22 List.164 List.165;
if List.609 then
let List.613 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.613;
let List.612 : U64 = 1i64;
let List.611 : U64 = CallByName Num.51 List.164 List.612;
jump List.607 List.161 List.166 List.163 List.611 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.593 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
jump List.607 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure List.89 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
joinpoint List.605 List.159 List.160 List.161 List.162 List.163:
let List.607 : Int1 = CallByName Num.22 List.162 List.163;
if List.607 then
let List.611 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.611;
let List.610 : U64 = 1i64;
let List.609 : U64 = CallByName Num.51 List.162 List.610;
jump List.605 List.159 List.164 List.161 List.609 List.163;
procedure List.90 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.595 List.161 List.162 List.163 List.164 List.165:
let List.597 : Int1 = CallByName Num.22 List.164 List.165;
if List.597 then
let List.601 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.601;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.203 List.162 List.601;
let List.600 : U64 = 1i64;
let List.599 : U64 = CallByName Num.51 List.164 List.600;
jump List.595 List.161 List.166 List.163 List.599 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.605 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
jump List.595 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure Num.127 (#Attr.2):
let Num.296 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -45,159 +45,159 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.647 : U64 = 0i64;
let List.648 : U64 = CallByName List.6 List.484;
let List.646 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.647 List.648;
ret List.646;
procedure List.102 (List.486, List.487, List.488):
let List.649 : U64 = 0i64;
let List.650 : U64 = CallByName List.6 List.486;
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.649 List.650;
ret List.648;
procedure List.18 (List.156, List.157, List.158):
let List.591 : U64 = 0i64;
let List.592 : U64 = CallByName List.6 List.156;
let List.590 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.591 List.592;
ret List.590;
procedure List.18 (List.158, List.159, List.160):
let List.593 : U64 = 0i64;
let List.594 : U64 = CallByName List.6 List.158;
let List.592 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.593 List.594;
ret List.592;
procedure List.18 (List.156, List.157, List.158):
let List.603 : U64 = 0i64;
let List.604 : U64 = CallByName List.6 List.156;
let List.602 : List U8 = CallByName List.89 List.156 List.157 List.158 List.603 List.604;
ret List.602;
procedure List.18 (List.158, List.159, List.160):
let List.605 : U64 = 0i64;
let List.606 : U64 = CallByName List.6 List.158;
let List.604 : List U8 = CallByName List.90 List.158 List.159 List.160 List.605 List.606;
ret List.604;
procedure List.26 (List.197, List.198, List.199):
let List.640 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.643 : U8 = 1i64;
let List.644 : U8 = GetTagId List.640;
let List.645 : Int1 = lowlevel Eq List.643 List.644;
if List.645 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.640;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.642 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
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.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.642;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.640;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.642;
ret List.203;
procedure List.4 (List.121, List.122):
let List.589 : U64 = 1i64;
let List.588 : List U8 = CallByName List.70 List.121 List.589;
let List.587 : List U8 = CallByName List.71 List.588 List.122;
ret List.587;
procedure List.4 (List.122, List.123):
let List.591 : U64 = 1i64;
let List.590 : List U8 = CallByName List.70 List.122 List.591;
let List.589 : List U8 = CallByName List.71 List.590 List.123;
ret List.589;
procedure List.49 (List.416, List.417):
let List.631 : U64 = StructAtIndex 1 List.417;
let List.632 : U64 = StructAtIndex 0 List.417;
let List.630 : List U8 = CallByName List.72 List.416 List.631 List.632;
ret List.630;
procedure List.49 (List.418, List.419):
let List.633 : U64 = StructAtIndex 1 List.419;
let List.634 : U64 = StructAtIndex 0 List.419;
let List.632 : List U8 = CallByName List.72 List.418 List.633 List.634;
ret List.632;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.638 List.434:
let List.636 : U64 = 0i64;
let List.635 : {U64, U64} = Struct {List.434, List.636};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.635;
let List.634 : U64 = CallByName Num.75 List.433 List.434;
let List.629 : {U64, U64} = Struct {List.634, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.629;
let List.628 : {List U8, List U8} = Struct {List.435, List.436};
ret List.628;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.640 List.436:
let List.638 : U64 = 0i64;
let List.637 : {U64, U64} = Struct {List.436, List.638};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.637;
let List.636 : U64 = CallByName Num.75 List.435 List.436;
let List.631 : {U64, U64} = Struct {List.636, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.631;
let List.630 : {List U8, List U8} = Struct {List.437, List.438};
ret List.630;
in
let List.639 : Int1 = CallByName Num.24 List.433 List.432;
if List.639 then
jump List.638 List.432;
let List.641 : Int1 = CallByName Num.24 List.435 List.434;
if List.641 then
jump List.640 List.434;
else
jump List.638 List.433;
procedure List.6 (#Attr.2):
let List.623 : U64 = lowlevel ListLen #Attr.2;
ret List.623;
jump List.640 List.435;
procedure List.6 (#Attr.2):
let List.625 : U64 = lowlevel ListLen #Attr.2;
ret List.625;
procedure List.66 (#Attr.2, #Attr.3):
let List.600 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.600;
procedure List.66 (#Attr.2, #Attr.3):
let List.612 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.612;
procedure List.68 (#Attr.2):
let List.627 : List U8 = lowlevel ListWithCapacity #Attr.2;
procedure List.6 (#Attr.2):
let List.627 : U64 = lowlevel ListLen #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.574 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.574;
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.572 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.572;
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.633 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.633;
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.622 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.622;
let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.624;
procedure List.80 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
joinpoint List.649 List.487 List.488 List.489 List.490 List.491:
let List.651 : Int1 = CallByName Num.22 List.490 List.491;
if List.651 then
let List.660 : U8 = CallByName List.66 List.487 List.490;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.660;
let List.657 : U8 = 1i64;
let List.658 : U8 = GetTagId List.652;
let List.659 : Int1 = lowlevel Eq List.657 List.658;
if List.659 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.652;
let List.655 : U64 = 1i64;
let List.654 : U64 = CallByName Num.51 List.490 List.655;
jump List.649 List.487 List.492 List.489 List.654 List.491;
procedure List.80 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
joinpoint List.651 List.489 List.490 List.491 List.492 List.493:
let List.653 : Int1 = CallByName Num.22 List.492 List.493;
if List.653 then
let List.662 : U8 = CallByName List.66 List.489 List.492;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 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.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.654;
let List.657 : U64 = 1i64;
let List.656 : U64 = CallByName Num.51 List.492 List.657;
jump List.651 List.489 List.494 List.491 List.656 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.652;
let List.656 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.656;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.654;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.658;
else
dec List.487;
let List.650 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.650;
dec List.489;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.652;
in
jump List.649 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
jump List.651 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
procedure List.89 (#Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29):
joinpoint List.593 List.159 List.160 List.161 List.162 List.163:
let List.595 : Int1 = CallByName Num.22 List.162 List.163;
if List.595 then
let List.599 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.599;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.203 List.160 List.599;
let List.598 : U64 = 1i64;
let List.597 : U64 = CallByName Num.51 List.162 List.598;
jump List.593 List.159 List.164 List.161 List.597 List.163;
procedure List.90 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
joinpoint List.607 List.161 List.162 List.163 List.164 List.165:
let List.609 : Int1 = CallByName Num.22 List.164 List.165;
if List.609 then
let List.613 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.613;
let List.612 : U64 = 1i64;
let List.611 : U64 = CallByName Num.51 List.164 List.612;
jump List.607 List.161 List.166 List.163 List.611 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.593 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29;
jump List.607 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
procedure List.89 (#Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37):
joinpoint List.605 List.159 List.160 List.161 List.162 List.163:
let List.607 : Int1 = CallByName Num.22 List.162 List.163;
if List.607 then
let List.611 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.611;
let List.610 : U64 = 1i64;
let List.609 : U64 = CallByName Num.51 List.162 List.610;
jump List.605 List.159 List.164 List.161 List.609 List.163;
procedure List.90 (#Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
joinpoint List.595 List.161 List.162 List.163 List.164 List.165:
let List.597 : Int1 = CallByName Num.22 List.164 List.165;
if List.597 then
let List.601 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.601;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.203 List.162 List.601;
let List.600 : U64 = 1i64;
let List.599 : U64 = CallByName Num.51 List.164 List.600;
jump List.595 List.161 List.166 List.163 List.599 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.605 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37;
jump List.595 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
procedure Num.127 (#Attr.2):
let Num.296 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -11,115 +11,115 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.612 : U64 = 0i64;
let List.613 : U64 = CallByName List.6 List.484;
let List.611 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.612 List.613;
ret List.611;
procedure List.102 (List.486, List.487, List.488):
let List.614 : U64 = 0i64;
let List.615 : U64 = CallByName List.6 List.486;
let List.613 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.614 List.615;
ret List.613;
procedure List.18 (List.156, List.157, List.158):
let List.583 : U64 = 0i64;
let List.584 : U64 = CallByName List.6 List.156;
let List.582 : List U8 = CallByName List.89 List.156 List.157 List.158 List.583 List.584;
ret List.582;
procedure List.18 (List.158, List.159, List.160):
let List.585 : U64 = 0i64;
let List.586 : U64 = CallByName List.6 List.158;
let List.584 : List U8 = CallByName List.90 List.158 List.159 List.160 List.585 List.586;
ret List.584;
procedure List.26 (List.197, List.198, List.199):
let List.605 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.608 : U8 = 1i64;
let List.609 : U8 = GetTagId List.605;
let List.610 : Int1 = lowlevel Eq List.608 List.609;
if List.610 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.605;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.607 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
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.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.607;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.605;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.607;
ret List.203;
procedure List.49 (List.416, List.417):
let List.596 : U64 = StructAtIndex 1 List.417;
let List.597 : U64 = StructAtIndex 0 List.417;
let List.595 : List U8 = CallByName List.72 List.416 List.596 List.597;
ret List.595;
procedure List.49 (List.418, List.419):
let List.598 : U64 = StructAtIndex 1 List.419;
let List.599 : U64 = StructAtIndex 0 List.419;
let List.597 : List U8 = CallByName List.72 List.418 List.598 List.599;
ret List.597;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.603 List.434:
let List.601 : U64 = 0i64;
let List.600 : {U64, U64} = Struct {List.434, List.601};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.600;
let List.599 : U64 = CallByName Num.75 List.433 List.434;
let List.594 : {U64, U64} = Struct {List.599, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.594;
let List.593 : {List U8, List U8} = Struct {List.435, List.436};
ret List.593;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.605 List.436:
let List.603 : U64 = 0i64;
let List.602 : {U64, U64} = Struct {List.436, List.603};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.602;
let List.601 : U64 = CallByName Num.75 List.435 List.436;
let List.596 : {U64, U64} = Struct {List.601, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.596;
let List.595 : {List U8, List U8} = Struct {List.437, List.438};
ret List.595;
in
let List.604 : Int1 = CallByName Num.24 List.433 List.432;
if List.604 then
jump List.603 List.432;
let List.606 : Int1 = CallByName Num.24 List.435 List.434;
if List.606 then
jump List.605 List.434;
else
jump List.603 List.433;
jump List.605 List.435;
procedure List.6 (#Attr.2):
let List.581 : U64 = lowlevel ListLen #Attr.2;
ret List.581;
let List.583 : U64 = lowlevel ListLen #Attr.2;
ret List.583;
procedure List.66 (#Attr.2, #Attr.3):
let List.592 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.592;
let List.594 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.594;
procedure List.68 (#Attr.2):
let List.579 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.579;
let List.581 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.581;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.598 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.598;
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.577 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.577;
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.614 List.487 List.488 List.489 List.490 List.491:
let List.616 : Int1 = CallByName Num.22 List.490 List.491;
if List.616 then
let List.625 : U8 = CallByName List.66 List.487 List.490;
let List.617 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.625;
let List.622 : U8 = 1i64;
let List.623 : U8 = GetTagId List.617;
let List.624 : Int1 = lowlevel Eq List.622 List.623;
if List.624 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.617;
let List.620 : U64 = 1i64;
let List.619 : U64 = CallByName Num.51 List.490 List.620;
jump List.614 List.487 List.492 List.489 List.619 List.491;
joinpoint List.616 List.489 List.490 List.491 List.492 List.493:
let List.618 : Int1 = CallByName Num.22 List.492 List.493;
if List.618 then
let List.627 : U8 = CallByName List.66 List.489 List.492;
let List.619 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 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.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.619;
let List.622 : U64 = 1i64;
let List.621 : U64 = CallByName Num.51 List.492 List.622;
jump List.616 List.489 List.494 List.491 List.621 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.617;
let List.621 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.621;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.619;
let List.623 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.623;
else
dec List.487;
let List.615 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.615;
dec List.489;
let List.617 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.617;
in
jump List.614 #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.89 (#Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9):
joinpoint List.585 List.159 List.160 List.161 List.162 List.163:
let List.587 : Int1 = CallByName Num.22 List.162 List.163;
if List.587 then
let List.591 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.591;
let List.590 : U64 = 1i64;
let List.589 : U64 = CallByName Num.51 List.162 List.590;
jump List.585 List.159 List.164 List.161 List.589 List.163;
procedure List.90 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
joinpoint List.587 List.161 List.162 List.163 List.164 List.165:
let List.589 : Int1 = CallByName Num.22 List.164 List.165;
if List.589 then
let List.593 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.593;
let List.592 : U64 = 1i64;
let List.591 : U64 = CallByName Num.51 List.164 List.592;
jump List.587 List.161 List.166 List.163 List.591 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.585 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
jump List.587 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.292 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -40,159 +40,159 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.653 : U64 = 0i64;
let List.654 : U64 = CallByName List.6 List.484;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.653 List.654;
ret List.652;
procedure List.102 (List.486, List.487, List.488):
let List.655 : U64 = 0i64;
let List.656 : U64 = CallByName List.6 List.486;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.655 List.656;
ret List.654;
procedure List.18 (List.156, List.157, List.158):
let List.597 : U64 = 0i64;
let List.598 : U64 = CallByName List.6 List.156;
let List.596 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.597 List.598;
ret List.596;
procedure List.18 (List.158, List.159, List.160):
let List.599 : U64 = 0i64;
let List.600 : U64 = CallByName List.6 List.158;
let List.598 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.599 List.600;
ret List.598;
procedure List.18 (List.156, List.157, List.158):
let List.609 : U64 = 0i64;
let List.610 : U64 = CallByName List.6 List.156;
let List.608 : List U8 = CallByName List.89 List.156 List.157 List.158 List.609 List.610;
ret List.608;
procedure List.18 (List.158, List.159, List.160):
let List.611 : U64 = 0i64;
let List.612 : U64 = CallByName List.6 List.158;
let List.610 : List U8 = CallByName List.90 List.158 List.159 List.160 List.611 List.612;
ret List.610;
procedure List.26 (List.197, List.198, List.199):
let List.646 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.649 : U8 = 1i64;
let List.650 : U8 = GetTagId List.646;
let List.651 : Int1 = lowlevel Eq List.649 List.650;
if List.651 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.646;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
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.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.648;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.646;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.648;
ret List.203;
procedure List.4 (List.121, List.122):
let List.595 : U64 = 1i64;
let List.594 : List U8 = CallByName List.70 List.121 List.595;
let List.593 : List U8 = CallByName List.71 List.594 List.122;
ret List.593;
procedure List.4 (List.122, List.123):
let List.597 : U64 = 1i64;
let List.596 : List U8 = CallByName List.70 List.122 List.597;
let List.595 : List U8 = CallByName List.71 List.596 List.123;
ret List.595;
procedure List.49 (List.416, List.417):
let List.637 : U64 = StructAtIndex 1 List.417;
let List.638 : U64 = StructAtIndex 0 List.417;
let List.636 : List U8 = CallByName List.72 List.416 List.637 List.638;
ret List.636;
procedure List.49 (List.418, List.419):
let List.639 : U64 = StructAtIndex 1 List.419;
let List.640 : U64 = StructAtIndex 0 List.419;
let List.638 : List U8 = CallByName List.72 List.418 List.639 List.640;
ret List.638;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.644 List.434:
let List.642 : U64 = 0i64;
let List.641 : {U64, U64} = Struct {List.434, List.642};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.641;
let List.640 : U64 = CallByName Num.75 List.433 List.434;
let List.635 : {U64, U64} = Struct {List.640, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.635;
let List.634 : {List U8, List U8} = Struct {List.435, List.436};
ret List.634;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.646 List.436:
let List.644 : U64 = 0i64;
let List.643 : {U64, U64} = Struct {List.436, List.644};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.643;
let List.642 : U64 = CallByName Num.75 List.435 List.436;
let List.637 : {U64, U64} = Struct {List.642, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.637;
let List.636 : {List U8, List U8} = Struct {List.437, List.438};
ret List.636;
in
let List.645 : Int1 = CallByName Num.24 List.433 List.432;
if List.645 then
jump List.644 List.432;
let List.647 : Int1 = CallByName Num.24 List.435 List.434;
if List.647 then
jump List.646 List.434;
else
jump List.644 List.433;
procedure List.6 (#Attr.2):
let List.620 : U64 = lowlevel ListLen #Attr.2;
ret List.620;
jump List.646 List.435;
procedure List.6 (#Attr.2):
let List.622 : U64 = lowlevel ListLen #Attr.2;
ret List.622;
procedure List.66 (#Attr.2, #Attr.3):
let List.606 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.606;
procedure List.6 (#Attr.2):
let List.624 : U64 = lowlevel ListLen #Attr.2;
ret List.624;
procedure List.66 (#Attr.2, #Attr.3):
let List.618 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.618;
let List.608 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.608;
procedure List.66 (#Attr.2, #Attr.3):
let List.620 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.620;
procedure List.68 (#Attr.2):
let List.633 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.633;
let List.635 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.635;
procedure List.70 (#Attr.2, #Attr.3):
let List.574 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.574;
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.572 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.572;
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.639 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.639;
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.631 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.631;
let List.633 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.633;
procedure List.80 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
joinpoint List.655 List.487 List.488 List.489 List.490 List.491:
let List.657 : Int1 = CallByName Num.22 List.490 List.491;
if List.657 then
let List.666 : U8 = CallByName List.66 List.487 List.490;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.666;
let List.663 : U8 = 1i64;
let List.664 : U8 = GetTagId List.658;
let List.665 : Int1 = lowlevel Eq List.663 List.664;
if List.665 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.658;
let List.661 : U64 = 1i64;
let List.660 : U64 = CallByName Num.51 List.490 List.661;
jump List.655 List.487 List.492 List.489 List.660 List.491;
procedure List.80 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.657 List.489 List.490 List.491 List.492 List.493:
let List.659 : Int1 = CallByName Num.22 List.492 List.493;
if List.659 then
let List.668 : U8 = CallByName List.66 List.489 List.492;
let List.660 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 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.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.660;
let List.663 : U64 = 1i64;
let List.662 : U64 = CallByName Num.51 List.492 List.663;
jump List.657 List.489 List.494 List.491 List.662 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.658;
let List.662 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.662;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.660;
let List.664 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.664;
else
dec List.487;
let List.656 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.656;
dec List.489;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.658;
in
jump List.655 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
jump List.657 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure List.89 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.599 List.159 List.160 List.161 List.162 List.163:
let List.601 : Int1 = CallByName Num.22 List.162 List.163;
if List.601 then
let List.605 : Str = CallByName List.66 List.159 List.162;
inc List.605;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.230 List.160 List.605;
let List.604 : U64 = 1i64;
let List.603 : U64 = CallByName Num.51 List.162 List.604;
jump List.599 List.159 List.164 List.161 List.603 List.163;
procedure List.90 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.613 List.161 List.162 List.163 List.164 List.165:
let List.615 : Int1 = CallByName Num.22 List.164 List.165;
if List.615 then
let List.619 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.619;
let List.618 : U64 = 1i64;
let List.617 : U64 = CallByName Num.51 List.164 List.618;
jump List.613 List.161 List.166 List.163 List.617 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.599 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
jump List.613 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
procedure List.89 (#Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32, #Derived_gen.33):
joinpoint List.611 List.159 List.160 List.161 List.162 List.163:
let List.613 : Int1 = CallByName Num.22 List.162 List.163;
if List.613 then
let List.617 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.617;
let List.616 : U64 = 1i64;
let List.615 : U64 = CallByName Num.51 List.162 List.616;
jump List.611 List.159 List.164 List.161 List.615 List.163;
procedure List.90 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
joinpoint List.601 List.161 List.162 List.163 List.164 List.165:
let List.603 : Int1 = CallByName Num.22 List.164 List.165;
if List.603 then
let List.607 : Str = CallByName List.66 List.161 List.164;
inc List.607;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.230 List.162 List.607;
let List.606 : U64 = 1i64;
let List.605 : U64 = CallByName Num.51 List.164 List.606;
jump List.601 List.161 List.166 List.163 List.605 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.611 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33;
jump List.601 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
procedure Num.127 (#Attr.2):
let Num.298 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -43,159 +43,159 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.653 : U64 = 0i64;
let List.654 : U64 = CallByName List.6 List.484;
let List.652 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.653 List.654;
ret List.652;
procedure List.102 (List.486, List.487, List.488):
let List.655 : U64 = 0i64;
let List.656 : U64 = CallByName List.6 List.486;
let List.654 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.655 List.656;
ret List.654;
procedure List.18 (List.156, List.157, List.158):
let List.597 : U64 = 0i64;
let List.598 : U64 = CallByName List.6 List.156;
let List.596 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.597 List.598;
ret List.596;
procedure List.18 (List.158, List.159, List.160):
let List.599 : U64 = 0i64;
let List.600 : U64 = CallByName List.6 List.158;
let List.598 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.599 List.600;
ret List.598;
procedure List.18 (List.156, List.157, List.158):
let List.609 : U64 = 0i64;
let List.610 : U64 = CallByName List.6 List.156;
let List.608 : List U8 = CallByName List.89 List.156 List.157 List.158 List.609 List.610;
ret List.608;
procedure List.18 (List.158, List.159, List.160):
let List.611 : U64 = 0i64;
let List.612 : U64 = CallByName List.6 List.158;
let List.610 : List U8 = CallByName List.90 List.158 List.159 List.160 List.611 List.612;
ret List.610;
procedure List.26 (List.197, List.198, List.199):
let List.646 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.649 : U8 = 1i64;
let List.650 : U8 = GetTagId List.646;
let List.651 : Int1 = lowlevel Eq List.649 List.650;
if List.651 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.646;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.648 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
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.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.648;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.646;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.648;
ret List.203;
procedure List.4 (List.121, List.122):
let List.595 : U64 = 1i64;
let List.594 : List U8 = CallByName List.70 List.121 List.595;
let List.593 : List U8 = CallByName List.71 List.594 List.122;
ret List.593;
procedure List.4 (List.122, List.123):
let List.597 : U64 = 1i64;
let List.596 : List U8 = CallByName List.70 List.122 List.597;
let List.595 : List U8 = CallByName List.71 List.596 List.123;
ret List.595;
procedure List.49 (List.416, List.417):
let List.637 : U64 = StructAtIndex 1 List.417;
let List.638 : U64 = StructAtIndex 0 List.417;
let List.636 : List U8 = CallByName List.72 List.416 List.637 List.638;
ret List.636;
procedure List.49 (List.418, List.419):
let List.639 : U64 = StructAtIndex 1 List.419;
let List.640 : U64 = StructAtIndex 0 List.419;
let List.638 : List U8 = CallByName List.72 List.418 List.639 List.640;
ret List.638;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.644 List.434:
let List.642 : U64 = 0i64;
let List.641 : {U64, U64} = Struct {List.434, List.642};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.641;
let List.640 : U64 = CallByName Num.75 List.433 List.434;
let List.635 : {U64, U64} = Struct {List.640, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.635;
let List.634 : {List U8, List U8} = Struct {List.435, List.436};
ret List.634;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.646 List.436:
let List.644 : U64 = 0i64;
let List.643 : {U64, U64} = Struct {List.436, List.644};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.643;
let List.642 : U64 = CallByName Num.75 List.435 List.436;
let List.637 : {U64, U64} = Struct {List.642, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.637;
let List.636 : {List U8, List U8} = Struct {List.437, List.438};
ret List.636;
in
let List.645 : Int1 = CallByName Num.24 List.433 List.432;
if List.645 then
jump List.644 List.432;
let List.647 : Int1 = CallByName Num.24 List.435 List.434;
if List.647 then
jump List.646 List.434;
else
jump List.644 List.433;
procedure List.6 (#Attr.2):
let List.620 : U64 = lowlevel ListLen #Attr.2;
ret List.620;
jump List.646 List.435;
procedure List.6 (#Attr.2):
let List.622 : U64 = lowlevel ListLen #Attr.2;
ret List.622;
procedure List.66 (#Attr.2, #Attr.3):
let List.606 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.606;
procedure List.6 (#Attr.2):
let List.624 : U64 = lowlevel ListLen #Attr.2;
ret List.624;
procedure List.66 (#Attr.2, #Attr.3):
let List.618 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.618;
let List.608 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.608;
procedure List.66 (#Attr.2, #Attr.3):
let List.620 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.620;
procedure List.68 (#Attr.2):
let List.633 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.633;
let List.635 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.635;
procedure List.70 (#Attr.2, #Attr.3):
let List.574 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.574;
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
procedure List.71 (#Attr.2, #Attr.3):
let List.572 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.572;
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.639 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.639;
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.631 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.631;
let List.633 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.633;
procedure List.80 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.655 List.487 List.488 List.489 List.490 List.491:
let List.657 : Int1 = CallByName Num.22 List.490 List.491;
if List.657 then
let List.666 : U8 = CallByName List.66 List.487 List.490;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.666;
let List.663 : U8 = 1i64;
let List.664 : U8 = GetTagId List.658;
let List.665 : Int1 = lowlevel Eq List.663 List.664;
if List.665 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.658;
let List.661 : U64 = 1i64;
let List.660 : U64 = CallByName Num.51 List.490 List.661;
jump List.655 List.487 List.492 List.489 List.660 List.491;
joinpoint List.657 List.489 List.490 List.491 List.492 List.493:
let List.659 : Int1 = CallByName Num.22 List.492 List.493;
if List.659 then
let List.668 : U8 = CallByName List.66 List.489 List.492;
let List.660 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 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.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.660;
let List.663 : U64 = 1i64;
let List.662 : U64 = CallByName Num.51 List.492 List.663;
jump List.657 List.489 List.494 List.491 List.662 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.658;
let List.662 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.662;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.660;
let List.664 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.664;
else
dec List.487;
let List.656 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.656;
dec List.489;
let List.658 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.658;
in
jump List.655 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
jump List.657 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
procedure List.89 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
joinpoint List.599 List.159 List.160 List.161 List.162 List.163:
let List.601 : Int1 = CallByName Num.22 List.162 List.163;
if List.601 then
let List.605 : Str = CallByName List.66 List.159 List.162;
inc List.605;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.230 List.160 List.605;
let List.604 : U64 = 1i64;
let List.603 : U64 = CallByName Num.51 List.162 List.604;
jump List.599 List.159 List.164 List.161 List.603 List.163;
procedure List.90 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
joinpoint List.601 List.161 List.162 List.163 List.164 List.165:
let List.603 : Int1 = CallByName Num.22 List.164 List.165;
if List.603 then
let List.607 : Str = CallByName List.66 List.161 List.164;
inc List.607;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.230 List.162 List.607;
let List.606 : U64 = 1i64;
let List.605 : U64 = CallByName Num.51 List.164 List.606;
jump List.601 List.161 List.166 List.163 List.605 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.599 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
jump List.601 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
procedure List.89 (#Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31):
joinpoint List.611 List.159 List.160 List.161 List.162 List.163:
let List.613 : Int1 = CallByName Num.22 List.162 List.163;
if List.613 then
let List.617 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.617;
let List.616 : U64 = 1i64;
let List.615 : U64 = CallByName Num.51 List.162 List.616;
jump List.611 List.159 List.164 List.161 List.615 List.163;
procedure List.90 (#Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28):
joinpoint List.613 List.161 List.162 List.163 List.164 List.165:
let List.615 : Int1 = CallByName Num.22 List.164 List.165;
if List.615 then
let List.619 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.619;
let List.618 : U64 = 1i64;
let List.617 : U64 = CallByName Num.51 List.164 List.618;
jump List.613 List.161 List.166 List.163 List.617 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.611 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31;
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.298 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -287,7 +287,7 @@ procedure Dict.65 (Dict.405, Dict.406, Dict.407):
let Dict.854 : {U64, U32} = CallByName Dict.66 Dict.405 Dict.410 Dict.409;
ret Dict.854;
procedure Dict.66 (#Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
procedure Dict.66 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39):
joinpoint Dict.855 Dict.411 Dict.412 Dict.413:
let Dict.863 : U64 = CallByName Num.137 Dict.412;
let Dict.414 : {U32, U32} = CallByName Dict.22 Dict.411 Dict.863;
@ -303,9 +303,9 @@ procedure Dict.66 (#Derived_gen.32, #Derived_gen.33, #Derived_gen.34):
let Dict.856 : {U64, U32} = Struct {Dict.412, Dict.413};
ret Dict.856;
in
jump Dict.855 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34;
jump Dict.855 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39;
procedure Dict.67 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45):
procedure Dict.67 (#Derived_gen.48, #Derived_gen.49, #Derived_gen.50):
joinpoint Dict.756 Dict.415 Dict.416 Dict.417:
let Dict.770 : U64 = CallByName Num.137 Dict.417;
let Dict.418 : {U32, U32} = CallByName Dict.22 Dict.415 Dict.770;
@ -327,7 +327,7 @@ procedure Dict.67 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45):
let Dict.757 : List {U32, U32} = CallByName List.3 Dict.415 Dict.758 Dict.416;
ret Dict.757;
in
jump Dict.756 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45;
jump Dict.756 #Derived_gen.48 #Derived_gen.49 #Derived_gen.50;
procedure Dict.68 (Dict.420, Dict.421):
let Dict.752 : U64 = 1i64;
@ -510,7 +510,7 @@ procedure Dict.82 (Dict.705, Dict.481):
let Dict.929 : {U64, U64, U64} = CallByName Dict.83 Dict.479 Dict.479 Dict.479 Dict.481 Dict.931 Dict.482;
jump Dict.930 Dict.929;
procedure Dict.83 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31):
procedure Dict.83 (#Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
joinpoint Dict.932 Dict.487 Dict.488 Dict.489 Dict.490 Dict.491 Dict.492:
inc 6 Dict.490;
let Dict.1039 : U64 = CallByName Dict.91 Dict.490 Dict.491;
@ -572,9 +572,9 @@ procedure Dict.83 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_g
let Dict.933 : {U64, U64, U64} = Struct {Dict.934, Dict.935, Dict.499};
ret Dict.933;
in
jump Dict.932 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31;
jump Dict.932 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
procedure Dict.84 (#Derived_gen.59, #Derived_gen.60, #Derived_gen.61, #Derived_gen.62):
procedure Dict.84 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
joinpoint Dict.985 Dict.500 Dict.501 Dict.502 Dict.503:
inc 2 Dict.501;
let Dict.1005 : U64 = CallByName Dict.91 Dict.501 Dict.502;
@ -606,7 +606,7 @@ procedure Dict.84 (#Derived_gen.59, #Derived_gen.60, #Derived_gen.61, #Derived_g
else
jump Dict.985 Dict.504 Dict.501 Dict.506 Dict.505;
in
jump Dict.985 #Derived_gen.59 #Derived_gen.60 #Derived_gen.61 #Derived_gen.62;
jump Dict.985 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
procedure Dict.85 ():
let Dict.921 : U64 = 11562461410679940143i64;
@ -890,168 +890,168 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.11 (List.135, List.136):
let List.631 : List {U32, U32} = CallByName List.68 List.136;
let List.630 : List {U32, U32} = CallByName List.87 List.135 List.136 List.631;
ret List.630;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.156, List.157, List.158):
let List.634 : U64 = 0i64;
let List.635 : U64 = CallByName List.6 List.156;
let List.633 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.634 List.635;
ret List.633;
procedure List.3 (List.113, List.114, List.115):
let List.595 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.113 List.114 List.115;
let List.594 : List {U32, U32} = StructAtIndex 0 List.595;
ret List.594;
procedure List.3 (List.113, List.114, List.115):
let List.597 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.113 List.114 List.115;
let List.596 : List {Str, I64} = StructAtIndex 0 List.597;
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.597;
dec #Derived_gen.71;
ret List.596;
procedure List.4 (List.121, List.122):
let List.606 : U64 = 1i64;
let List.604 : List {Str, I64} = CallByName List.70 List.121 List.606;
let List.603 : List {Str, I64} = CallByName List.71 List.604 List.122;
ret List.603;
procedure List.6 (#Attr.2):
let List.585 : U64 = lowlevel ListLen #Attr.2;
ret List.585;
procedure List.6 (#Attr.2):
let List.632 : U64 = lowlevel ListLen #Attr.2;
procedure List.11 (List.136, List.137):
let List.633 : List {U32, U32} = CallByName List.68 List.137;
let List.632 : List {U32, U32} = CallByName List.88 List.136 List.137 List.633;
ret List.632;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.18 (List.158, List.159, List.160):
let List.636 : U64 = 0i64;
let List.637 : U64 = CallByName List.6 List.158;
let List.635 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.636 List.637;
ret List.635;
procedure List.3 (List.114, List.115, List.116):
let List.597 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.114 List.115 List.116;
let List.596 : List {U32, U32} = StructAtIndex 0 List.597;
ret List.596;
procedure List.3 (List.114, List.115, List.116):
let List.599 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.114 List.115 List.116;
let List.598 : List {Str, I64} = StructAtIndex 0 List.599;
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.599;
dec #Derived_gen.71;
ret List.598;
procedure List.4 (List.122, List.123):
let List.608 : U64 = 1i64;
let List.606 : List {Str, I64} = CallByName List.70 List.122 List.608;
let List.605 : List {Str, I64} = CallByName List.71 List.606 List.123;
ret List.605;
procedure List.6 (#Attr.2):
let List.644 : U64 = lowlevel ListLen #Attr.2;
ret List.644;
let List.587 : U64 = lowlevel ListLen #Attr.2;
ret List.587;
procedure List.64 (List.110, List.111, List.112):
let List.593 : U64 = CallByName List.6 List.110;
let List.590 : Int1 = CallByName Num.22 List.111 List.593;
if List.590 then
let List.591 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.110 List.111 List.112;
procedure List.6 (#Attr.2):
let List.634 : U64 = lowlevel ListLen #Attr.2;
ret List.634;
procedure List.6 (#Attr.2):
let List.646 : U64 = lowlevel ListLen #Attr.2;
ret List.646;
procedure List.64 (List.111, List.112, List.113):
let List.595 : U64 = CallByName List.6 List.111;
let List.592 : Int1 = CallByName Num.22 List.112 List.595;
if List.592 then
let List.593 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.111 List.112 List.113;
ret List.593;
else
let List.591 : {List {U32, U32}, {U32, U32}} = Struct {List.111, List.113};
ret List.591;
else
let List.589 : {List {U32, U32}, {U32, U32}} = Struct {List.110, List.112};
ret List.589;
procedure List.64 (List.110, List.111, List.112):
let List.602 : U64 = CallByName List.6 List.110;
let List.599 : Int1 = CallByName Num.22 List.111 List.602;
if List.599 then
let List.600 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.110 List.111 List.112;
ret List.600;
procedure List.64 (List.111, List.112, List.113):
let List.604 : U64 = CallByName List.6 List.111;
let List.601 : Int1 = CallByName Num.22 List.112 List.604;
if List.601 then
let List.602 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.111 List.112 List.113;
ret List.602;
else
let List.598 : {List {Str, I64}, {Str, I64}} = Struct {List.110, List.112};
ret List.598;
let List.600 : {List {Str, I64}, {Str, I64}} = Struct {List.111, List.113};
ret List.600;
procedure List.66 (#Attr.2, #Attr.3):
let List.643 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.643;
let List.645 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.645;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.592 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.592;
let List.594 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.594;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.601 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.601;
let List.603 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.603;
procedure List.68 (#Attr.2):
let List.629 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
ret List.629;
let List.631 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
ret List.631;
procedure List.70 (#Attr.2, #Attr.3):
let List.607 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
let List.609 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.609;
procedure List.71 (#Attr.2, #Attr.3):
let List.607 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.607;
procedure List.71 (#Attr.2, #Attr.3):
let List.605 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.605;
let List.628 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.628;
procedure List.71 (#Attr.2, #Attr.3):
let List.626 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.626;
procedure List.83 (List.167, List.168, List.169):
let List.611 : U64 = 0i64;
let List.612 : U64 = CallByName List.6 List.167;
let List.610 : List {U32, U32} = CallByName List.91 List.167 List.168 List.169 List.611 List.612;
ret List.610;
procedure List.83 (List.165, List.166, List.167):
let List.609 : U64 = 0i64;
let List.610 : U64 = CallByName List.6 List.165;
let List.608 : List {U32, U32} = CallByName List.90 List.165 List.166 List.167 List.609 List.610;
ret List.608;
procedure List.87 (#Derived_gen.46, #Derived_gen.47, #Derived_gen.48):
joinpoint List.620 List.137 List.138 List.139:
let List.628 : U64 = 0i64;
let List.622 : Int1 = CallByName Num.24 List.138 List.628;
if List.622 then
let List.627 : U64 = 1i64;
let List.624 : U64 = CallByName Num.75 List.138 List.627;
let List.625 : List {U32, U32} = CallByName List.71 List.139 List.137;
jump List.620 List.137 List.624 List.625;
procedure List.88 (#Derived_gen.58, #Derived_gen.59, #Derived_gen.60):
joinpoint List.622 List.138 List.139 List.140:
let List.630 : U64 = 0i64;
let List.624 : Int1 = CallByName Num.24 List.139 List.630;
if List.624 then
let List.629 : U64 = 1i64;
let List.626 : U64 = CallByName Num.75 List.139 List.629;
let List.627 : List {U32, U32} = CallByName List.71 List.140 List.138;
jump List.622 List.138 List.626 List.627;
else
ret List.139;
ret List.140;
in
jump List.620 #Derived_gen.46 #Derived_gen.47 #Derived_gen.48;
jump List.622 #Derived_gen.58 #Derived_gen.59 #Derived_gen.60;
procedure List.89 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : {Str, I64} = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.153 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
joinpoint List.638 List.161 List.162 List.163 List.164 List.165:
let List.640 : Int1 = CallByName Num.22 List.164 List.165;
if List.640 then
let List.644 : {Str, I64} = CallByName List.66 List.161 List.164;
inc List.644;
let List.166 : {Str, Int1} = CallByName Dict.182 List.162 List.644 List.163;
let List.643 : U64 = 1i64;
let List.642 : U64 = CallByName Num.51 List.164 List.643;
jump List.638 List.161 List.166 List.163 List.642 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
jump List.638 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
procedure List.89 (#Derived_gen.54, #Derived_gen.55, #Derived_gen.56, #Derived_gen.57, #Derived_gen.58):
joinpoint List.636 List.159 List.160 List.161 List.162 List.163:
let List.638 : Int1 = CallByName Num.22 List.162 List.163;
if List.638 then
let List.642 : {Str, I64} = CallByName List.66 List.159 List.162;
inc List.642;
let List.164 : {Str, Int1} = CallByName Dict.182 List.160 List.642 List.161;
let List.641 : U64 = 1i64;
let List.640 : U64 = CallByName Num.51 List.162 List.641;
jump List.636 List.159 List.164 List.161 List.640 List.163;
procedure List.90 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : {Str, I64} = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.153 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.636 #Derived_gen.54 #Derived_gen.55 #Derived_gen.56 #Derived_gen.57 #Derived_gen.58;
jump List.574 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure List.90 (#Derived_gen.49, #Derived_gen.50, #Derived_gen.51, #Derived_gen.52, #Derived_gen.53):
joinpoint List.611 List.168 List.169 List.170 List.171 List.172:
let List.613 : Int1 = CallByName Num.22 List.171 List.172;
if List.613 then
let List.617 : {Str, I64} = CallByName List.66 List.168 List.171;
inc List.617;
let List.173 : List {U32, U32} = CallByName Dict.399 List.169 List.617 List.171 List.170;
let List.616 : U64 = 1i64;
let List.615 : U64 = CallByName Num.51 List.171 List.616;
jump List.611 List.168 List.173 List.170 List.615 List.172;
procedure List.91 (#Derived_gen.61, #Derived_gen.62, #Derived_gen.63, #Derived_gen.64, #Derived_gen.65):
joinpoint List.613 List.170 List.171 List.172 List.173 List.174:
let List.615 : Int1 = CallByName Num.22 List.173 List.174;
if List.615 then
let List.619 : {Str, I64} = CallByName List.66 List.170 List.173;
inc List.619;
let List.175 : List {U32, U32} = CallByName Dict.399 List.171 List.619 List.173 List.172;
let List.618 : U64 = 1i64;
let List.617 : U64 = CallByName Num.51 List.173 List.618;
jump List.613 List.170 List.175 List.172 List.617 List.174;
else
dec List.168;
ret List.169;
dec List.170;
ret List.171;
in
jump List.611 #Derived_gen.49 #Derived_gen.50 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53;
jump List.613 #Derived_gen.61 #Derived_gen.62 #Derived_gen.63 #Derived_gen.64 #Derived_gen.65;
procedure Num.131 (#Attr.2):
let Num.310 : U32 = lowlevel NumIntCast #Attr.2;

View file

@ -125,34 +125,34 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : I64 = CallByName List.66 List.159 List.162;
let List.164 : {Str, Int1} = CallByName Inspect.161 List.160 List.578 List.161;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : I64 = CallByName List.66 List.161 List.164;
let List.166 : {Str, Int1} = CallByName Inspect.161 List.162 List.580 List.163;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
jump List.574 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.293 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -200,65 +200,65 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.18 (List.156, List.157, List.158):
let List.582 : U64 = 0i64;
let List.583 : U64 = CallByName List.6 List.156;
let List.581 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.582 List.583;
procedure List.18 (List.158, List.159, List.160):
let List.584 : U64 = 0i64;
let List.585 : U64 = CallByName List.6 List.158;
let List.583 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.584 List.585;
ret List.583;
procedure List.6 (#Attr.2):
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.6 (#Attr.2):
let List.594 : U64 = lowlevel ListLen #Attr.2;
ret List.594;
procedure List.66 (#Attr.2, #Attr.3):
let List.581 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
procedure List.6 (#Attr.2):
let List.592 : U64 = lowlevel ListLen #Attr.2;
ret List.592;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.593 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.593;
procedure List.66 (#Attr.2, #Attr.3):
let List.591 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.591;
procedure List.89 (#Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : {Str, Int1} = CallByName Inspect.234 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
joinpoint List.586 List.161 List.162 List.163 List.164 List.165:
let List.588 : Int1 = CallByName Num.22 List.164 List.165;
if List.588 then
let List.592 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.592;
let List.166 : {Str, Int1} = CallByName Inspect.234 List.162 List.592;
let List.591 : U64 = 1i64;
let List.590 : U64 = CallByName Num.51 List.164 List.591;
jump List.586 List.161 List.166 List.163 List.590 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26;
jump List.586 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
procedure List.89 (#Derived_gen.43, #Derived_gen.44, #Derived_gen.45, #Derived_gen.46, #Derived_gen.47):
joinpoint List.584 List.159 List.160 List.161 List.162 List.163:
let List.586 : Int1 = CallByName Num.22 List.162 List.163;
if List.586 then
let List.590 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.590;
let List.164 : {Str, Int1} = CallByName Inspect.234 List.160 List.590;
let List.589 : U64 = 1i64;
let List.588 : U64 = CallByName Num.51 List.162 List.589;
jump List.584 List.159 List.164 List.161 List.588 List.163;
procedure List.90 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : {Str, Int1} = CallByName Inspect.234 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.584 #Derived_gen.43 #Derived_gen.44 #Derived_gen.45 #Derived_gen.46 #Derived_gen.47;
jump List.574 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -150,35 +150,35 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : {[C I64, C Decimal], Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17, #Derived_gen.18):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : {[C I64, C Decimal], Str} = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : {Str, Int1} = CallByName Inspect.234 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : {[C I64, C Decimal], Str} = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : {Str, Int1} = CallByName Inspect.234 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
jump List.574 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -127,35 +127,35 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : {Str, Int1} = CallByName Inspect.234 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : {Str, Int1} = CallByName Inspect.234 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16;
jump List.574 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -134,35 +134,35 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : {Str, Int1} = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : {Str, Str} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : {Str, Str} = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : {Str, Int1} = CallByName Inspect.234 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : {Str, Str} = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : {Str, Int1} = CallByName Inspect.234 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
jump List.574 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -122,42 +122,42 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.1 (List.104):
let List.582 : U64 = CallByName List.6 List.104;
dec List.104;
let List.583 : U64 = 0i64;
let List.581 : Int1 = CallByName Bool.11 List.582 List.583;
ret List.581;
procedure List.1 (List.105):
let List.584 : U64 = CallByName List.6 List.105;
dec List.105;
let List.585 : U64 = 0i64;
let List.583 : Int1 = CallByName Bool.11 List.584 List.585;
ret List.583;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : Str = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : Str = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : Str = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : Str = CallByName Inspect.211 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : Str = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : Str = CallByName Inspect.211 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
jump List.574 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -125,42 +125,42 @@ procedure Inspect.61 (Inspect.304, Inspect.300):
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.1 (List.104):
let List.582 : U64 = CallByName List.6 List.104;
dec List.104;
let List.583 : U64 = 0i64;
let List.581 : Int1 = CallByName Bool.11 List.582 List.583;
ret List.581;
procedure List.1 (List.105):
let List.584 : U64 = CallByName List.6 List.105;
dec List.105;
let List.585 : U64 = 0i64;
let List.583 : Int1 = CallByName Bool.11 List.584 List.585;
ret List.583;
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : Str = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : Str = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : Str = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : Str = CallByName Inspect.211 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : Str = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : Str = CallByName Inspect.211 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
jump List.574 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,6 +1,6 @@
procedure List.6 (#Attr.2):
let List.569 : U64 = lowlevel ListLen #Attr.2;
ret List.569;
let List.571 : U64 = lowlevel ListLen #Attr.2;
ret List.571;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -6,42 +6,42 @@ procedure Bool.2 ():
let Bool.23 : Int1 = true;
ret Bool.23;
procedure List.2 (List.105, List.106):
let List.583 : U64 = CallByName List.6 List.105;
let List.579 : Int1 = CallByName Num.22 List.106 List.583;
if List.579 then
let List.581 : I64 = CallByName List.66 List.105 List.106;
dec List.105;
let List.580 : [C {}, C I64] = TagId(1) List.581;
ret List.580;
procedure List.2 (List.106, List.107):
let List.585 : U64 = CallByName List.6 List.106;
let List.581 : Int1 = CallByName Num.22 List.107 List.585;
if List.581 then
let List.583 : I64 = CallByName List.66 List.106 List.107;
dec List.106;
let List.582 : [C {}, C I64] = TagId(1) List.583;
ret List.582;
else
dec List.105;
let List.578 : {} = Struct {};
let List.577 : [C {}, C I64] = TagId(0) List.578;
ret List.577;
dec List.106;
let List.580 : {} = Struct {};
let List.579 : [C {}, C I64] = TagId(0) List.580;
ret List.579;
procedure List.6 (#Attr.2):
let List.584 : U64 = lowlevel ListLen #Attr.2;
ret List.584;
let List.586 : U64 = lowlevel ListLen #Attr.2;
ret List.586;
procedure List.66 (#Attr.2, #Attr.3):
let List.582 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.582;
let List.584 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.584;
procedure List.9 (List.331):
let List.576 : U64 = 0i64;
let List.569 : [C {}, C I64] = CallByName List.2 List.331 List.576;
let List.573 : U8 = 1i64;
let List.574 : U8 = GetTagId List.569;
let List.575 : Int1 = lowlevel Eq List.573 List.574;
if List.575 then
let List.332 : I64 = UnionAtIndex (Id 1) (Index 0) List.569;
let List.570 : [C Int1, C I64] = TagId(1) List.332;
ret List.570;
procedure List.9 (List.333):
let List.578 : U64 = 0i64;
let List.571 : [C {}, C I64] = CallByName List.2 List.333 List.578;
let List.575 : U8 = 1i64;
let List.576 : U8 = GetTagId List.571;
let List.577 : Int1 = lowlevel Eq List.575 List.576;
if List.577 then
let List.334 : I64 = UnionAtIndex (Id 1) (Index 0) List.571;
let List.572 : [C Int1, C I64] = TagId(1) List.334;
ret List.572;
else
let List.572 : Int1 = true;
let List.571 : [C Int1, C I64] = TagId(0) List.572;
ret List.571;
let List.574 : Int1 = true;
let List.573 : [C Int1, C I64] = TagId(0) List.574;
ret List.573;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -64,119 +64,119 @@ procedure Decode.27 (Decode.107, Decode.108):
let Decode.123 : [C [C List U8, C ], C Str] = TagId(0) Decode.124;
ret Decode.123;
procedure List.1 (List.104):
let List.623 : U64 = CallByName List.6 List.104;
dec List.104;
let List.624 : U64 = 0i64;
let List.622 : Int1 = CallByName Bool.11 List.623 List.624;
ret List.622;
procedure List.1 (List.105):
let List.625 : U64 = CallByName List.6 List.105;
dec List.105;
let List.626 : U64 = 0i64;
let List.624 : Int1 = CallByName Bool.11 List.625 List.626;
ret List.624;
procedure List.101 (List.484, List.485, List.486):
let List.632 : U64 = 0i64;
let List.633 : U64 = CallByName List.6 List.484;
let List.631 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.484 List.485 List.486 List.632 List.633;
ret List.631;
procedure List.102 (List.486, List.487, List.488):
let List.634 : U64 = 0i64;
let List.635 : U64 = CallByName List.6 List.486;
let List.633 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.486 List.487 List.488 List.634 List.635;
ret List.633;
procedure List.2 (List.105, List.106):
let List.614 : U64 = CallByName List.6 List.105;
let List.611 : Int1 = CallByName Num.22 List.106 List.614;
if List.611 then
let List.613 : U8 = CallByName List.66 List.105 List.106;
dec List.105;
let List.612 : [C {}, C U8] = TagId(1) List.613;
ret List.612;
procedure List.2 (List.106, List.107):
let List.616 : U64 = CallByName List.6 List.106;
let List.613 : Int1 = CallByName Num.22 List.107 List.616;
if List.613 then
let List.615 : U8 = CallByName List.66 List.106 List.107;
dec List.106;
let List.614 : [C {}, C U8] = TagId(1) List.615;
ret List.614;
else
dec List.105;
let List.610 : {} = Struct {};
let List.609 : [C {}, C U8] = TagId(0) List.610;
ret List.609;
dec List.106;
let List.612 : {} = Struct {};
let List.611 : [C {}, C U8] = TagId(0) List.612;
ret List.611;
procedure List.26 (List.197, List.198, List.199):
let List.625 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.101 List.197 List.198 List.199;
let List.628 : U8 = 1i64;
let List.629 : U8 = GetTagId List.625;
let List.630 : Int1 = lowlevel Eq List.628 List.629;
if List.630 then
let List.200 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.625;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.627 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.102 List.199 List.200 List.201;
let List.630 : U8 = 1i64;
let List.631 : U8 = GetTagId List.627;
let List.632 : Int1 = lowlevel Eq List.630 List.631;
if List.632 then
let List.202 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.627;
ret List.202;
else
let List.201 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.625;
ret List.201;
let List.203 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.627;
ret List.203;
procedure List.38 (List.340, List.341):
let List.591 : U64 = CallByName List.6 List.340;
let List.342 : U64 = CallByName Num.77 List.591 List.341;
let List.590 : List U8 = CallByName List.43 List.340 List.342;
ret List.590;
procedure List.38 (List.342, List.343):
let List.593 : U64 = CallByName List.6 List.342;
let List.344 : U64 = CallByName Num.77 List.593 List.343;
let List.592 : List U8 = CallByName List.43 List.342 List.344;
ret List.592;
procedure List.4 (List.121, List.122):
let List.601 : U64 = 1i64;
let List.600 : List U8 = CallByName List.70 List.121 List.601;
let List.599 : List U8 = CallByName List.71 List.600 List.122;
ret List.599;
procedure List.4 (List.122, List.123):
let List.603 : U64 = 1i64;
let List.602 : List U8 = CallByName List.70 List.122 List.603;
let List.601 : List U8 = CallByName List.71 List.602 List.123;
ret List.601;
procedure List.43 (List.338, List.339):
let List.581 : U64 = CallByName List.6 List.338;
let List.580 : U64 = CallByName Num.77 List.581 List.339;
let List.575 : {U64, U64} = Struct {List.339, List.580};
let List.574 : List U8 = CallByName List.49 List.338 List.575;
ret List.574;
procedure List.43 (List.340, List.341):
let List.583 : U64 = CallByName List.6 List.340;
let List.582 : U64 = CallByName Num.77 List.583 List.341;
let List.577 : {U64, U64} = Struct {List.341, List.582};
let List.576 : List U8 = CallByName List.49 List.340 List.577;
ret List.576;
procedure List.49 (List.416, List.417):
let List.619 : U64 = StructAtIndex 1 List.417;
let List.620 : U64 = StructAtIndex 0 List.417;
let List.618 : List U8 = CallByName List.72 List.416 List.619 List.620;
ret List.618;
procedure List.49 (List.418, List.419):
let List.621 : U64 = StructAtIndex 1 List.419;
let List.622 : U64 = StructAtIndex 0 List.419;
let List.620 : List U8 = CallByName List.72 List.418 List.621 List.622;
ret List.620;
procedure List.6 (#Attr.2):
let List.646 : U64 = lowlevel ListLen #Attr.2;
ret List.646;
let List.648 : U64 = lowlevel ListLen #Attr.2;
ret List.648;
procedure List.66 (#Attr.2, #Attr.3):
let List.607 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.607;
let List.609 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.609;
procedure List.70 (#Attr.2, #Attr.3):
let List.598 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.598;
let List.600 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.600;
procedure List.71 (#Attr.2, #Attr.3):
let List.596 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.596;
let List.598 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.598;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.579 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.579;
let List.581 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.581;
procedure List.8 (#Attr.2, #Attr.3):
let List.593 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.593;
let List.595 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.595;
procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
joinpoint List.634 List.487 List.488 List.489 List.490 List.491:
let List.636 : Int1 = CallByName Num.22 List.490 List.491;
if List.636 then
let List.645 : U8 = CallByName List.66 List.487 List.490;
let List.637 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.61 List.488 List.645;
let List.642 : U8 = 1i64;
let List.643 : U8 = GetTagId List.637;
let List.644 : Int1 = lowlevel Eq List.642 List.643;
if List.644 then
let List.492 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.637;
let List.640 : U64 = 1i64;
let List.639 : U64 = CallByName Num.51 List.490 List.640;
jump List.634 List.487 List.492 List.489 List.639 List.491;
joinpoint List.636 List.489 List.490 List.491 List.492 List.493:
let List.638 : Int1 = CallByName Num.22 List.492 List.493;
if List.638 then
let List.647 : U8 = CallByName List.66 List.489 List.492;
let List.639 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.61 List.490 List.647;
let List.644 : U8 = 1i64;
let List.645 : U8 = GetTagId List.639;
let List.646 : Int1 = lowlevel Eq List.644 List.645;
if List.646 then
let List.494 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.639;
let List.642 : U64 = 1i64;
let List.641 : U64 = CallByName Num.51 List.492 List.642;
jump List.636 List.489 List.494 List.491 List.641 List.493;
else
dec List.487;
let List.493 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.637;
let List.641 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.493;
ret List.641;
dec List.489;
let List.495 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.639;
let List.643 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.495;
ret List.643;
else
dec List.487;
let List.635 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.488;
ret List.635;
dec List.489;
let List.637 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.490;
ret List.637;
in
jump List.634 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
jump List.636 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.294 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -6,80 +6,80 @@ procedure Bool.2 ():
let Bool.24 : Int1 = true;
ret Bool.24;
procedure List.101 (List.484, List.485, List.486):
let List.583 : U64 = 0i64;
let List.584 : U64 = CallByName List.6 List.484;
let List.582 : [C {}, C {}] = CallByName List.80 List.484 List.485 List.486 List.583 List.584;
ret List.582;
procedure List.102 (List.486, List.487, List.488):
let List.585 : U64 = 0i64;
let List.586 : U64 = CallByName List.6 List.486;
let List.584 : [C {}, C {}] = CallByName List.80 List.486 List.487 List.488 List.585 List.586;
ret List.584;
procedure List.23 (#Attr.2, #Attr.3, #Attr.4):
let List.604 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListMap2 { xs: `#Attr.#arg1`, ys: `#Attr.#arg2` } #Attr.2 #Attr.3 Test.15 #Attr.4;
let List.606 : List {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListMap2 { xs: `#Attr.#arg1`, ys: `#Attr.#arg2` } #Attr.2 #Attr.3 Test.15 #Attr.4;
decref #Attr.3;
decref #Attr.2;
ret List.604;
ret List.606;
procedure List.232 (List.571, List.233, List.231):
let List.601 : Int1 = CallByName Test.1 List.233;
if List.601 then
let List.603 : {} = Struct {};
let List.602 : [C {}, C {}] = TagId(1) List.603;
ret List.602;
procedure List.234 (List.573, List.235, List.233):
let List.603 : Int1 = CallByName Test.1 List.235;
if List.603 then
let List.605 : {} = Struct {};
let List.604 : [C {}, C {}] = TagId(1) List.605;
ret List.604;
else
let List.600 : {} = Struct {};
let List.599 : [C {}, C {}] = TagId(0) List.600;
ret List.599;
let List.602 : {} = Struct {};
let List.601 : [C {}, C {}] = TagId(0) List.602;
ret List.601;
procedure List.56 (List.230, List.231):
let List.580 : {} = Struct {};
let List.572 : [C {}, C {}] = CallByName List.101 List.230 List.580 List.231;
let List.577 : U8 = 1i64;
let List.578 : U8 = GetTagId List.572;
let List.579 : Int1 = lowlevel Eq List.577 List.578;
if List.579 then
let List.573 : Int1 = CallByName Bool.2;
ret List.573;
procedure List.56 (List.232, List.233):
let List.582 : {} = Struct {};
let List.574 : [C {}, C {}] = CallByName List.102 List.232 List.582 List.233;
let List.579 : U8 = 1i64;
let List.580 : U8 = GetTagId List.574;
let List.581 : Int1 = lowlevel Eq List.579 List.580;
if List.581 then
let List.575 : Int1 = CallByName Bool.2;
ret List.575;
else
let List.574 : Int1 = CallByName Bool.1;
ret List.574;
let List.576 : Int1 = CallByName Bool.1;
ret List.576;
procedure List.6 (#Attr.2):
let List.570 : U64 = lowlevel ListLen #Attr.2;
ret List.570;
let List.572 : U64 = lowlevel ListLen #Attr.2;
ret List.572;
procedure List.6 (#Attr.2):
let List.598 : U64 = lowlevel ListLen #Attr.2;
ret List.598;
let List.600 : U64 = lowlevel ListLen #Attr.2;
ret List.600;
procedure List.66 (#Attr.2, #Attr.3):
let List.597 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.597;
let List.599 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.599;
procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
joinpoint List.585 List.487 List.488 List.489 List.490 List.491:
let List.587 : Int1 = CallByName Num.22 List.490 List.491;
if List.587 then
let List.596 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.487 List.490;
inc List.596;
let List.588 : [C {}, C {}] = CallByName List.232 List.488 List.596 List.489;
let List.593 : U8 = 1i64;
let List.594 : U8 = GetTagId List.588;
let List.595 : Int1 = lowlevel Eq List.593 List.594;
if List.595 then
let List.492 : {} = UnionAtIndex (Id 1) (Index 0) List.588;
let List.591 : U64 = 1i64;
let List.590 : U64 = CallByName Num.51 List.490 List.591;
jump List.585 List.487 List.492 List.489 List.590 List.491;
joinpoint List.587 List.489 List.490 List.491 List.492 List.493:
let List.589 : Int1 = CallByName Num.22 List.492 List.493;
if List.589 then
let List.598 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.489 List.492;
inc List.598;
let List.590 : [C {}, C {}] = CallByName List.234 List.490 List.598 List.491;
let List.595 : U8 = 1i64;
let List.596 : U8 = GetTagId List.590;
let List.597 : Int1 = lowlevel Eq List.595 List.596;
if List.597 then
let List.494 : {} = UnionAtIndex (Id 1) (Index 0) List.590;
let List.593 : U64 = 1i64;
let List.592 : U64 = CallByName Num.51 List.492 List.593;
jump List.587 List.489 List.494 List.491 List.592 List.493;
else
dec List.487;
let List.493 : {} = UnionAtIndex (Id 0) (Index 0) List.588;
let List.592 : [C {}, C {}] = TagId(0) List.493;
ret List.592;
dec List.489;
let List.495 : {} = UnionAtIndex (Id 0) (Index 0) List.590;
let List.594 : [C {}, C {}] = TagId(0) List.495;
ret List.594;
else
dec List.487;
let List.586 : [C {}, C {}] = TagId(1) List.488;
ret List.586;
dec List.489;
let List.588 : [C {}, C {}] = TagId(1) List.490;
ret List.588;
in
jump List.585 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
jump List.587 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -38,119 +38,119 @@ procedure Decode.26 (Decode.105, Decode.106):
let Decode.122 : {List U8, [C {}, C Str]} = CallByName Decode.25 Decode.105 Decode.123 Decode.106;
ret Decode.122;
procedure List.1 (List.104):
let List.619 : U64 = CallByName List.6 List.104;
dec List.104;
let List.620 : U64 = 0i64;
let List.618 : Int1 = CallByName Bool.11 List.619 List.620;
ret List.618;
procedure List.1 (List.105):
let List.621 : U64 = CallByName List.6 List.105;
dec List.105;
let List.622 : U64 = 0i64;
let List.620 : Int1 = CallByName Bool.11 List.621 List.622;
ret List.620;
procedure List.101 (List.484, List.485, List.486):
let List.628 : U64 = 0i64;
let List.629 : U64 = CallByName List.6 List.484;
let List.627 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.484 List.485 List.486 List.628 List.629;
ret List.627;
procedure List.102 (List.486, List.487, List.488):
let List.630 : U64 = 0i64;
let List.631 : U64 = CallByName List.6 List.486;
let List.629 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.486 List.487 List.488 List.630 List.631;
ret List.629;
procedure List.2 (List.105, List.106):
let List.610 : U64 = CallByName List.6 List.105;
let List.607 : Int1 = CallByName Num.22 List.106 List.610;
if List.607 then
let List.609 : U8 = CallByName List.66 List.105 List.106;
dec List.105;
let List.608 : [C {}, C U8] = TagId(1) List.609;
ret List.608;
procedure List.2 (List.106, List.107):
let List.612 : U64 = CallByName List.6 List.106;
let List.609 : Int1 = CallByName Num.22 List.107 List.612;
if List.609 then
let List.611 : U8 = CallByName List.66 List.106 List.107;
dec List.106;
let List.610 : [C {}, C U8] = TagId(1) List.611;
ret List.610;
else
dec List.105;
let List.606 : {} = Struct {};
let List.605 : [C {}, C U8] = TagId(0) List.606;
ret List.605;
dec List.106;
let List.608 : {} = Struct {};
let List.607 : [C {}, C U8] = TagId(0) List.608;
ret List.607;
procedure List.26 (List.197, List.198, List.199):
let List.621 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.101 List.197 List.198 List.199;
let List.624 : U8 = 1i64;
let List.625 : U8 = GetTagId List.621;
let List.626 : Int1 = lowlevel Eq List.624 List.625;
if List.626 then
let List.200 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.621;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.623 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.102 List.199 List.200 List.201;
let List.626 : U8 = 1i64;
let List.627 : U8 = GetTagId List.623;
let List.628 : Int1 = lowlevel Eq List.626 List.627;
if List.628 then
let List.202 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.623;
ret List.202;
else
let List.201 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.621;
ret List.201;
let List.203 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.623;
ret List.203;
procedure List.38 (List.340, List.341):
let List.587 : U64 = CallByName List.6 List.340;
let List.342 : U64 = CallByName Num.77 List.587 List.341;
let List.586 : List U8 = CallByName List.43 List.340 List.342;
ret List.586;
procedure List.38 (List.342, List.343):
let List.589 : U64 = CallByName List.6 List.342;
let List.344 : U64 = CallByName Num.77 List.589 List.343;
let List.588 : List U8 = CallByName List.43 List.342 List.344;
ret List.588;
procedure List.4 (List.121, List.122):
let List.597 : U64 = 1i64;
let List.596 : List U8 = CallByName List.70 List.121 List.597;
let List.595 : List U8 = CallByName List.71 List.596 List.122;
ret List.595;
procedure List.4 (List.122, List.123):
let List.599 : U64 = 1i64;
let List.598 : List U8 = CallByName List.70 List.122 List.599;
let List.597 : List U8 = CallByName List.71 List.598 List.123;
ret List.597;
procedure List.43 (List.338, List.339):
let List.577 : U64 = CallByName List.6 List.338;
let List.576 : U64 = CallByName Num.77 List.577 List.339;
let List.571 : {U64, U64} = Struct {List.339, List.576};
let List.570 : List U8 = CallByName List.49 List.338 List.571;
ret List.570;
procedure List.43 (List.340, List.341):
let List.579 : U64 = CallByName List.6 List.340;
let List.578 : U64 = CallByName Num.77 List.579 List.341;
let List.573 : {U64, U64} = Struct {List.341, List.578};
let List.572 : List U8 = CallByName List.49 List.340 List.573;
ret List.572;
procedure List.49 (List.416, List.417):
let List.615 : U64 = StructAtIndex 1 List.417;
let List.616 : U64 = StructAtIndex 0 List.417;
let List.614 : List U8 = CallByName List.72 List.416 List.615 List.616;
ret List.614;
procedure List.49 (List.418, List.419):
let List.617 : U64 = StructAtIndex 1 List.419;
let List.618 : U64 = StructAtIndex 0 List.419;
let List.616 : List U8 = CallByName List.72 List.418 List.617 List.618;
ret List.616;
procedure List.6 (#Attr.2):
let List.642 : U64 = lowlevel ListLen #Attr.2;
ret List.642;
let List.644 : U64 = lowlevel ListLen #Attr.2;
ret List.644;
procedure List.66 (#Attr.2, #Attr.3):
let List.603 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.603;
let List.605 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.605;
procedure List.70 (#Attr.2, #Attr.3):
let List.594 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.594;
let List.596 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.596;
procedure List.71 (#Attr.2, #Attr.3):
let List.592 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.592;
let List.594 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.594;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.575 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.575;
let List.577 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.577;
procedure List.8 (#Attr.2, #Attr.3):
let List.589 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.589;
let List.591 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.591;
procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
joinpoint List.630 List.487 List.488 List.489 List.490 List.491:
let List.632 : Int1 = CallByName Num.22 List.490 List.491;
if List.632 then
let List.641 : U8 = CallByName List.66 List.487 List.490;
let List.633 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.61 List.488 List.641;
let List.638 : U8 = 1i64;
let List.639 : U8 = GetTagId List.633;
let List.640 : Int1 = lowlevel Eq List.638 List.639;
if List.640 then
let List.492 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.633;
let List.636 : U64 = 1i64;
let List.635 : U64 = CallByName Num.51 List.490 List.636;
jump List.630 List.487 List.492 List.489 List.635 List.491;
joinpoint List.632 List.489 List.490 List.491 List.492 List.493:
let List.634 : Int1 = CallByName Num.22 List.492 List.493;
if List.634 then
let List.643 : U8 = CallByName List.66 List.489 List.492;
let List.635 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.61 List.490 List.643;
let List.640 : U8 = 1i64;
let List.641 : U8 = GetTagId List.635;
let List.642 : Int1 = lowlevel Eq List.640 List.641;
if List.642 then
let List.494 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.635;
let List.638 : U64 = 1i64;
let List.637 : U64 = CallByName Num.51 List.492 List.638;
jump List.632 List.489 List.494 List.491 List.637 List.493;
else
dec List.487;
let List.493 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.633;
let List.637 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.493;
ret List.637;
dec List.489;
let List.495 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.635;
let List.639 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.495;
ret List.639;
else
dec List.487;
let List.631 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.488;
ret List.631;
dec List.489;
let List.633 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.490;
ret List.633;
in
jump List.630 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
jump List.632 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.294 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,32 +1,32 @@
procedure List.18 (List.156, List.157, List.158):
let List.570 : U64 = 0i64;
let List.571 : U64 = CallByName List.6 List.156;
let List.569 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.89 List.156 List.157 List.158 List.570 List.571;
ret List.569;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.6 (#Attr.2):
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
let List.582 : U64 = lowlevel ListLen #Attr.2;
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.579 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.579;
let List.581 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.581;
procedure List.89 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.572 List.159 List.160 List.161 List.162 List.163:
let List.574 : Int1 = CallByName Num.22 List.162 List.163;
if List.574 then
let List.578 : [<rnu>C *self, <null>] = CallByName List.66 List.159 List.162;
inc List.578;
let List.164 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.160 List.578;
let List.577 : U64 = 1i64;
let List.576 : U64 = CallByName Num.51 List.162 List.577;
jump List.572 List.159 List.164 List.161 List.576 List.163;
procedure List.90 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : [<rnu>C *self, <null>] = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.572 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.574 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.4 (List.121, List.122):
let List.572 : U64 = 1i64;
let List.570 : List I64 = CallByName List.70 List.121 List.572;
let List.569 : List I64 = CallByName List.71 List.570 List.122;
ret List.569;
procedure List.4 (List.122, List.123):
let List.574 : U64 = 1i64;
let List.572 : List I64 = CallByName List.70 List.122 List.574;
let List.571 : List I64 = CallByName List.71 List.572 List.123;
ret List.571;
procedure List.70 (#Attr.2, #Attr.3):
let List.573 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.573;
let List.575 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.575;
procedure List.71 (#Attr.2, #Attr.3):
let List.571 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.571;
let List.573 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.573;
procedure Test.0 ():
let Test.2 : List I64 = Array [1i64];

View file

@ -1,16 +1,16 @@
procedure List.4 (List.121, List.122):
let List.572 : U64 = 1i64;
let List.570 : List I64 = CallByName List.70 List.121 List.572;
let List.569 : List I64 = CallByName List.71 List.570 List.122;
ret List.569;
procedure List.4 (List.122, List.123):
let List.574 : U64 = 1i64;
let List.572 : List I64 = CallByName List.70 List.122 List.574;
let List.571 : List I64 = CallByName List.71 List.572 List.123;
ret List.571;
procedure List.70 (#Attr.2, #Attr.3):
let List.573 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.573;
let List.575 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.575;
procedure List.71 (#Attr.2, #Attr.3):
let List.571 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.571;
let List.573 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.573;
procedure Test.1 (Test.2):
let Test.6 : I64 = 42i64;

View file

@ -1,25 +1,25 @@
procedure List.3 (List.113, List.114, List.115):
let List.572 : {List I64, I64} = CallByName List.64 List.113 List.114 List.115;
let List.571 : List I64 = StructAtIndex 0 List.572;
ret List.571;
procedure List.3 (List.114, List.115, List.116):
let List.574 : {List I64, I64} = CallByName List.64 List.114 List.115 List.116;
let List.573 : List I64 = StructAtIndex 0 List.574;
ret List.573;
procedure List.6 (#Attr.2):
let List.570 : U64 = lowlevel ListLen #Attr.2;
ret List.570;
let List.572 : U64 = lowlevel ListLen #Attr.2;
ret List.572;
procedure List.64 (List.110, List.111, List.112):
let List.577 : U64 = CallByName List.6 List.110;
let List.574 : Int1 = CallByName Num.22 List.111 List.577;
if List.574 then
let List.575 : {List I64, I64} = CallByName List.67 List.110 List.111 List.112;
ret List.575;
procedure List.64 (List.111, List.112, List.113):
let List.579 : U64 = CallByName List.6 List.111;
let List.576 : Int1 = CallByName Num.22 List.112 List.579;
if List.576 then
let List.577 : {List I64, I64} = CallByName List.67 List.111 List.112 List.113;
ret List.577;
else
let List.573 : {List I64, I64} = Struct {List.110, List.112};
ret List.573;
let List.575 : {List I64, I64} = Struct {List.111, List.113};
ret List.575;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.576 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.576;
let List.578 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.578;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,24 +1,24 @@
procedure List.2 (List.105, List.106):
let List.575 : U64 = CallByName List.6 List.105;
let List.571 : Int1 = CallByName Num.22 List.106 List.575;
if List.571 then
let List.573 : I64 = CallByName List.66 List.105 List.106;
dec List.105;
let List.572 : [C {}, C I64] = TagId(1) List.573;
ret List.572;
procedure List.2 (List.106, List.107):
let List.577 : U64 = CallByName List.6 List.106;
let List.573 : Int1 = CallByName Num.22 List.107 List.577;
if List.573 then
let List.575 : I64 = CallByName List.66 List.106 List.107;
dec List.106;
let List.574 : [C {}, C I64] = TagId(1) List.575;
ret List.574;
else
dec List.105;
let List.570 : {} = Struct {};
let List.569 : [C {}, C I64] = TagId(0) List.570;
ret List.569;
dec List.106;
let List.572 : {} = Struct {};
let List.571 : [C {}, C I64] = TagId(0) List.572;
ret List.571;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.66 (#Attr.2, #Attr.3):
let List.574 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.574;
let List.576 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,10 +1,10 @@
procedure List.6 (#Attr.2):
let List.569 : U64 = lowlevel ListLen #Attr.2;
ret List.569;
let List.571 : U64 = lowlevel ListLen #Attr.2;
ret List.571;
procedure List.6 (#Attr.2):
let List.570 : U64 = lowlevel ListLen #Attr.2;
ret List.570;
let List.572 : U64 = lowlevel ListLen #Attr.2;
ret List.572;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,30 +1,30 @@
procedure List.2 (List.105, List.106):
let List.575 : U64 = CallByName List.6 List.105;
let List.571 : Int1 = CallByName Num.22 List.106 List.575;
if List.571 then
let List.573 : Str = CallByName List.66 List.105 List.106;
inc List.573;
dec List.105;
let List.572 : [C {}, C Str] = TagId(1) List.573;
ret List.572;
procedure List.2 (List.106, List.107):
let List.577 : U64 = CallByName List.6 List.106;
let List.573 : Int1 = CallByName Num.22 List.107 List.577;
if List.573 then
let List.575 : Str = CallByName List.66 List.106 List.107;
inc List.575;
dec List.106;
let List.574 : [C {}, C Str] = TagId(1) List.575;
ret List.574;
else
dec List.105;
let List.570 : {} = Struct {};
let List.569 : [C {}, C Str] = TagId(0) List.570;
ret List.569;
dec List.106;
let List.572 : {} = Struct {};
let List.571 : [C {}, C Str] = TagId(0) List.572;
ret List.571;
procedure List.5 (#Attr.2, #Attr.3):
let List.577 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
let List.579 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
decref #Attr.2;
ret List.577;
ret List.579;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.66 (#Attr.2, #Attr.3):
let List.574 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.574;
let List.576 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,30 +1,30 @@
procedure List.2 (List.105, List.106):
let List.575 : U64 = CallByName List.6 List.105;
let List.571 : Int1 = CallByName Num.22 List.106 List.575;
if List.571 then
let List.573 : Str = CallByName List.66 List.105 List.106;
inc List.573;
dec List.105;
let List.572 : [C {}, C Str] = TagId(1) List.573;
ret List.572;
procedure List.2 (List.106, List.107):
let List.577 : U64 = CallByName List.6 List.106;
let List.573 : Int1 = CallByName Num.22 List.107 List.577;
if List.573 then
let List.575 : Str = CallByName List.66 List.106 List.107;
inc List.575;
dec List.106;
let List.574 : [C {}, C Str] = TagId(1) List.575;
ret List.574;
else
dec List.105;
let List.570 : {} = Struct {};
let List.569 : [C {}, C Str] = TagId(0) List.570;
ret List.569;
dec List.106;
let List.572 : {} = Struct {};
let List.571 : [C {}, C Str] = TagId(0) List.572;
ret List.571;
procedure List.5 (#Attr.2, #Attr.3):
let List.577 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
let List.579 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
decref #Attr.2;
ret List.577;
ret List.579;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.66 (#Attr.2, #Attr.3):
let List.574 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.574;
let List.576 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,23 +1,23 @@
procedure List.5 (#Attr.2, #Attr.3):
let List.570 : U8 = GetTagId #Attr.3;
joinpoint List.571 List.569:
ret List.569;
let List.572 : U8 = GetTagId #Attr.3;
joinpoint List.573 List.571:
ret List.571;
in
switch List.570:
switch List.572:
case 0:
let List.572 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.4 #Attr.3;
let List.574 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.4 #Attr.3;
decref #Attr.2;
jump List.571 List.572;
jump List.573 List.574;
case 1:
let List.573 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.6 #Attr.3;
let List.575 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.6 #Attr.3;
decref #Attr.2;
jump List.571 List.573;
jump List.573 List.575;
default:
let List.574 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.8 #Attr.3;
let List.576 : List U8 = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.8 #Attr.3;
decref #Attr.2;
jump List.571 List.574;
jump List.573 List.576;
procedure Num.19 (#Attr.2, #Attr.3):

View file

@ -1,25 +1,25 @@
procedure List.3 (List.113, List.114, List.115):
let List.570 : {List I64, I64} = CallByName List.64 List.113 List.114 List.115;
let List.569 : List I64 = StructAtIndex 0 List.570;
ret List.569;
procedure List.3 (List.114, List.115, List.116):
let List.572 : {List I64, I64} = CallByName List.64 List.114 List.115 List.116;
let List.571 : List I64 = StructAtIndex 0 List.572;
ret List.571;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.64 (List.110, List.111, List.112):
let List.575 : U64 = CallByName List.6 List.110;
let List.572 : Int1 = CallByName Num.22 List.111 List.575;
if List.572 then
let List.573 : {List I64, I64} = CallByName List.67 List.110 List.111 List.112;
ret List.573;
procedure List.64 (List.111, List.112, List.113):
let List.577 : U64 = CallByName List.6 List.111;
let List.574 : Int1 = CallByName Num.22 List.112 List.577;
if List.574 then
let List.575 : {List I64, I64} = CallByName List.67 List.111 List.112 List.113;
ret List.575;
else
let List.571 : {List I64, I64} = Struct {List.110, List.112};
ret List.571;
let List.573 : {List I64, I64} = Struct {List.111, List.113};
ret List.573;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.574 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.574;
let List.576 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,11 +1,11 @@
procedure List.28 (#Attr.2, #Attr.3):
let List.571 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
ret List.571;
let List.573 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
ret List.573;
procedure List.59 (List.326):
let List.570 : {} = Struct {};
let List.569 : List I64 = CallByName List.28 List.326 List.570;
ret List.569;
procedure List.59 (List.328):
let List.572 : {} = Struct {};
let List.571 : List I64 = CallByName List.28 List.328 List.572;
ret List.571;
procedure Num.46 (#Attr.2, #Attr.3):
let Num.291 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.105, List.106):
let List.591 : U64 = CallByName List.6 List.105;
let List.588 : Int1 = CallByName Num.22 List.106 List.591;
if List.588 then
let List.590 : I64 = CallByName List.66 List.105 List.106;
dec List.105;
let List.589 : [C {}, C I64] = TagId(1) List.590;
ret List.589;
procedure List.2 (List.106, List.107):
let List.593 : U64 = CallByName List.6 List.106;
let List.590 : Int1 = CallByName Num.22 List.107 List.593;
if List.590 then
let List.592 : I64 = CallByName List.66 List.106 List.107;
dec List.106;
let List.591 : [C {}, C I64] = TagId(1) List.592;
ret List.591;
else
dec List.105;
let List.587 : {} = Struct {};
let List.586 : [C {}, C I64] = TagId(0) List.587;
ret List.586;
dec List.106;
let List.589 : {} = Struct {};
let List.588 : [C {}, C I64] = TagId(0) List.589;
ret List.588;
procedure List.3 (List.113, List.114, List.115):
let List.578 : {List I64, I64} = CallByName List.64 List.113 List.114 List.115;
let List.577 : List I64 = StructAtIndex 0 List.578;
ret List.577;
procedure List.3 (List.114, List.115, List.116):
let List.580 : {List I64, I64} = CallByName List.64 List.114 List.115 List.116;
let List.579 : List I64 = StructAtIndex 0 List.580;
ret List.579;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.64 (List.110, List.111, List.112):
let List.575 : U64 = CallByName List.6 List.110;
let List.572 : Int1 = CallByName Num.22 List.111 List.575;
if List.572 then
let List.573 : {List I64, I64} = CallByName List.67 List.110 List.111 List.112;
ret List.573;
procedure List.64 (List.111, List.112, List.113):
let List.577 : U64 = CallByName List.6 List.111;
let List.574 : Int1 = CallByName Num.22 List.112 List.577;
if List.574 then
let List.575 : {List I64, I64} = CallByName List.67 List.111 List.112 List.113;
ret List.575;
else
let List.571 : {List I64, I64} = Struct {List.110, List.112};
ret List.571;
let List.573 : {List I64, I64} = Struct {List.111, List.113};
ret List.573;
procedure List.66 (#Attr.2, #Attr.3):
let List.584 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.584;
let List.586 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.586;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.574 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.574;
let List.576 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.293 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,25 +1,25 @@
procedure List.3 (List.113, List.114, List.115):
let List.578 : {List U64, U64} = CallByName List.64 List.113 List.114 List.115;
let List.577 : List U64 = StructAtIndex 0 List.578;
ret List.577;
procedure List.3 (List.114, List.115, List.116):
let List.580 : {List U64, U64} = CallByName List.64 List.114 List.115 List.116;
let List.579 : List U64 = StructAtIndex 0 List.580;
ret List.579;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.64 (List.110, List.111, List.112):
let List.575 : U64 = CallByName List.6 List.110;
let List.572 : Int1 = CallByName Num.22 List.111 List.575;
if List.572 then
let List.573 : {List U64, U64} = CallByName List.67 List.110 List.111 List.112;
ret List.573;
procedure List.64 (List.111, List.112, List.113):
let List.577 : U64 = CallByName List.6 List.111;
let List.574 : Int1 = CallByName Num.22 List.112 List.577;
if List.574 then
let List.575 : {List U64, U64} = CallByName List.67 List.111 List.112 List.113;
ret List.575;
else
let List.571 : {List U64, U64} = Struct {List.110, List.112};
ret List.571;
let List.573 : {List U64, U64} = Struct {List.111, List.113};
ret List.573;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.574 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.574;
let List.576 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,7 +1,7 @@
procedure List.5 (#Attr.2, #Attr.3):
let List.569 : List [<rnnu>C List *self] = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
let List.571 : List [<rnnu>C List *self] = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.2 #Attr.3;
decref #Attr.2;
ret List.569;
ret List.571;
procedure Test.2 (Test.5):
let Test.6 : List [<rnnu>C List *self] = UnionAtIndex (Id 0) (Index 0) Test.5;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.105, List.106):
let List.591 : U64 = CallByName List.6 List.105;
let List.588 : Int1 = CallByName Num.22 List.106 List.591;
if List.588 then
let List.590 : I64 = CallByName List.66 List.105 List.106;
dec List.105;
let List.589 : [C {}, C I64] = TagId(1) List.590;
ret List.589;
procedure List.2 (List.106, List.107):
let List.593 : U64 = CallByName List.6 List.106;
let List.590 : Int1 = CallByName Num.22 List.107 List.593;
if List.590 then
let List.592 : I64 = CallByName List.66 List.106 List.107;
dec List.106;
let List.591 : [C {}, C I64] = TagId(1) List.592;
ret List.591;
else
dec List.105;
let List.587 : {} = Struct {};
let List.586 : [C {}, C I64] = TagId(0) List.587;
ret List.586;
dec List.106;
let List.589 : {} = Struct {};
let List.588 : [C {}, C I64] = TagId(0) List.589;
ret List.588;
procedure List.3 (List.113, List.114, List.115):
let List.578 : {List I64, I64} = CallByName List.64 List.113 List.114 List.115;
let List.577 : List I64 = StructAtIndex 0 List.578;
ret List.577;
procedure List.3 (List.114, List.115, List.116):
let List.580 : {List I64, I64} = CallByName List.64 List.114 List.115 List.116;
let List.579 : List I64 = StructAtIndex 0 List.580;
ret List.579;
procedure List.6 (#Attr.2):
let List.576 : U64 = lowlevel ListLen #Attr.2;
ret List.576;
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
procedure List.64 (List.110, List.111, List.112):
let List.575 : U64 = CallByName List.6 List.110;
let List.572 : Int1 = CallByName Num.22 List.111 List.575;
if List.572 then
let List.573 : {List I64, I64} = CallByName List.67 List.110 List.111 List.112;
ret List.573;
procedure List.64 (List.111, List.112, List.113):
let List.577 : U64 = CallByName List.6 List.111;
let List.574 : Int1 = CallByName Num.22 List.112 List.577;
if List.574 then
let List.575 : {List I64, I64} = CallByName List.67 List.111 List.112 List.113;
ret List.575;
else
let List.571 : {List I64, I64} = Struct {List.110, List.112};
ret List.571;
let List.573 : {List I64, I64} = Struct {List.111, List.113};
ret List.573;
procedure List.66 (#Attr.2, #Attr.3):
let List.584 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.584;
let List.586 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.586;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.574 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.574;
let List.576 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.576;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.293 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -29,159 +29,159 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.101 (List.484, List.485, List.486):
let List.652 : U64 = 0i64;
let List.653 : U64 = CallByName List.6 List.484;
let List.651 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.484 List.485 List.486 List.652 List.653;
ret List.651;
procedure List.102 (List.486, List.487, List.488):
let List.654 : U64 = 0i64;
let List.655 : U64 = CallByName List.6 List.486;
let List.653 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.486 List.487 List.488 List.654 List.655;
ret List.653;
procedure List.18 (List.156, List.157, List.158):
let List.596 : U64 = 0i64;
let List.597 : U64 = CallByName List.6 List.156;
let List.595 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.596 List.597;
ret List.595;
procedure List.18 (List.158, List.159, List.160):
let List.598 : U64 = 0i64;
let List.599 : U64 = CallByName List.6 List.158;
let List.597 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.598 List.599;
ret List.597;
procedure List.18 (List.156, List.157, List.158):
let List.608 : U64 = 0i64;
let List.609 : U64 = CallByName List.6 List.156;
let List.607 : List U8 = CallByName List.89 List.156 List.157 List.158 List.608 List.609;
ret List.607;
procedure List.18 (List.158, List.159, List.160):
let List.610 : U64 = 0i64;
let List.611 : U64 = CallByName List.6 List.158;
let List.609 : List U8 = CallByName List.90 List.158 List.159 List.160 List.610 List.611;
ret List.609;
procedure List.26 (List.197, List.198, List.199):
let List.645 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.101 List.197 List.198 List.199;
let List.648 : U8 = 1i64;
let List.649 : U8 = GetTagId List.645;
let List.650 : Int1 = lowlevel Eq List.648 List.649;
if List.650 then
let List.200 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.645;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.647 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.102 List.199 List.200 List.201;
let List.650 : U8 = 1i64;
let List.651 : U8 = GetTagId List.647;
let List.652 : Int1 = lowlevel Eq List.650 List.651;
if List.652 then
let List.202 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.647;
ret List.202;
else
let List.201 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.645;
ret List.201;
let List.203 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.647;
ret List.203;
procedure List.4 (List.121, List.122):
let List.594 : U64 = 1i64;
let List.593 : List U8 = CallByName List.70 List.121 List.594;
let List.592 : List U8 = CallByName List.71 List.593 List.122;
ret List.592;
procedure List.4 (List.122, List.123):
let List.596 : U64 = 1i64;
let List.595 : List U8 = CallByName List.70 List.122 List.596;
let List.594 : List U8 = CallByName List.71 List.595 List.123;
ret List.594;
procedure List.49 (List.416, List.417):
let List.636 : U64 = StructAtIndex 1 List.417;
let List.637 : U64 = StructAtIndex 0 List.417;
let List.635 : List U8 = CallByName List.72 List.416 List.636 List.637;
ret List.635;
procedure List.49 (List.418, List.419):
let List.638 : U64 = StructAtIndex 1 List.419;
let List.639 : U64 = StructAtIndex 0 List.419;
let List.637 : List U8 = CallByName List.72 List.418 List.638 List.639;
ret List.637;
procedure List.52 (List.431, List.432):
let List.433 : U64 = CallByName List.6 List.431;
joinpoint List.643 List.434:
let List.641 : U64 = 0i64;
let List.640 : {U64, U64} = Struct {List.434, List.641};
inc List.431;
let List.435 : List U8 = CallByName List.49 List.431 List.640;
let List.639 : U64 = CallByName Num.75 List.433 List.434;
let List.634 : {U64, U64} = Struct {List.639, List.434};
let List.436 : List U8 = CallByName List.49 List.431 List.634;
let List.633 : {List U8, List U8} = Struct {List.435, List.436};
ret List.633;
procedure List.52 (List.433, List.434):
let List.435 : U64 = CallByName List.6 List.433;
joinpoint List.645 List.436:
let List.643 : U64 = 0i64;
let List.642 : {U64, U64} = Struct {List.436, List.643};
inc List.433;
let List.437 : List U8 = CallByName List.49 List.433 List.642;
let List.641 : U64 = CallByName Num.75 List.435 List.436;
let List.636 : {U64, U64} = Struct {List.641, List.436};
let List.438 : List U8 = CallByName List.49 List.433 List.636;
let List.635 : {List U8, List U8} = Struct {List.437, List.438};
ret List.635;
in
let List.644 : Int1 = CallByName Num.24 List.433 List.432;
if List.644 then
jump List.643 List.432;
let List.646 : Int1 = CallByName Num.24 List.435 List.434;
if List.646 then
jump List.645 List.434;
else
jump List.643 List.433;
procedure List.6 (#Attr.2):
let List.619 : U64 = lowlevel ListLen #Attr.2;
ret List.619;
jump List.645 List.435;
procedure List.6 (#Attr.2):
let List.621 : U64 = lowlevel ListLen #Attr.2;
ret List.621;
procedure List.66 (#Attr.2, #Attr.3):
let List.605 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.605;
procedure List.6 (#Attr.2):
let List.623 : U64 = lowlevel ListLen #Attr.2;
ret List.623;
procedure List.66 (#Attr.2, #Attr.3):
let List.617 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.617;
let List.607 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.607;
procedure List.66 (#Attr.2, #Attr.3):
let List.619 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.619;
procedure List.68 (#Attr.2):
let List.632 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.632;
let List.634 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.634;
procedure List.70 (#Attr.2, #Attr.3):
let List.573 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.573;
let List.575 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.575;
procedure List.71 (#Attr.2, #Attr.3):
let List.571 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.571;
let List.573 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.573;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.638 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.638;
let List.640 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.640;
procedure List.8 (#Attr.2, #Attr.3):
let List.630 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.630;
let List.632 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.632;
procedure List.80 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
joinpoint List.654 List.487 List.488 List.489 List.490 List.491:
let List.656 : Int1 = CallByName Num.22 List.490 List.491;
if List.656 then
let List.665 : U8 = CallByName List.66 List.487 List.490;
let List.657 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.488 List.665;
let List.662 : U8 = 1i64;
let List.663 : U8 = GetTagId List.657;
let List.664 : Int1 = lowlevel Eq List.662 List.663;
if List.664 then
let List.492 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.657;
let List.660 : U64 = 1i64;
let List.659 : U64 = CallByName Num.51 List.490 List.660;
jump List.654 List.487 List.492 List.489 List.659 List.491;
procedure List.80 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10):
joinpoint List.656 List.489 List.490 List.491 List.492 List.493:
let List.658 : Int1 = CallByName Num.22 List.492 List.493;
if List.658 then
let List.667 : U8 = CallByName List.66 List.489 List.492;
let List.659 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.157 List.490 List.667;
let List.664 : U8 = 1i64;
let List.665 : U8 = GetTagId List.659;
let List.666 : Int1 = lowlevel Eq List.664 List.665;
if List.666 then
let List.494 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.659;
let List.662 : U64 = 1i64;
let List.661 : U64 = CallByName Num.51 List.492 List.662;
jump List.656 List.489 List.494 List.491 List.661 List.493;
else
dec List.487;
let List.493 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.657;
let List.661 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.493;
ret List.661;
dec List.489;
let List.495 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.659;
let List.663 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.495;
ret List.663;
else
dec List.487;
let List.655 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.488;
ret List.655;
dec List.489;
let List.657 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.490;
ret List.657;
in
jump List.654 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
jump List.656 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10;
procedure List.89 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
joinpoint List.598 List.159 List.160 List.161 List.162 List.163:
let List.600 : Int1 = CallByName Num.22 List.162 List.163;
if List.600 then
let List.604 : Str = CallByName List.66 List.159 List.162;
inc List.604;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.230 List.160 List.604;
let List.603 : U64 = 1i64;
let List.602 : U64 = CallByName Num.51 List.162 List.603;
jump List.598 List.159 List.164 List.161 List.602 List.163;
procedure List.90 (#Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14, #Derived_gen.15):
joinpoint List.600 List.161 List.162 List.163 List.164 List.165:
let List.602 : Int1 = CallByName Num.22 List.164 List.165;
if List.602 then
let List.606 : Str = CallByName List.66 List.161 List.164;
inc List.606;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.230 List.162 List.606;
let List.605 : U64 = 1i64;
let List.604 : U64 = CallByName Num.51 List.164 List.605;
jump List.600 List.161 List.166 List.163 List.604 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.598 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
jump List.600 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15;
procedure List.89 (#Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9, #Derived_gen.10):
joinpoint List.610 List.159 List.160 List.161 List.162 List.163:
let List.612 : Int1 = CallByName Num.22 List.162 List.163;
if List.612 then
let List.616 : U8 = CallByName List.66 List.159 List.162;
let List.164 : List U8 = CallByName TotallyNotJson.183 List.160 List.616;
let List.615 : U64 = 1i64;
let List.614 : U64 = CallByName Num.51 List.162 List.615;
jump List.610 List.159 List.164 List.161 List.614 List.163;
procedure List.90 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.612 List.161 List.162 List.163 List.164 List.165:
let List.614 : Int1 = CallByName Num.22 List.164 List.165;
if List.614 then
let List.618 : U8 = CallByName List.66 List.161 List.164;
let List.166 : List U8 = CallByName TotallyNotJson.183 List.162 List.618;
let List.617 : U64 = 1i64;
let List.616 : U64 = CallByName Num.51 List.164 List.617;
jump List.612 List.161 List.166 List.163 List.616 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.610 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10;
jump List.612 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
procedure Num.127 (#Attr.2):
let Num.298 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -81,81 +81,81 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.18 (List.156, List.157, List.158):
let List.596 : U64 = 0i64;
let List.597 : U64 = CallByName List.6 List.156;
let List.595 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.596 List.597;
ret List.595;
procedure List.18 (List.158, List.159, List.160):
let List.598 : U64 = 0i64;
let List.599 : U64 = CallByName List.6 List.158;
let List.597 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.598 List.599;
ret List.597;
procedure List.18 (List.156, List.157, List.158):
let List.636 : U64 = 0i64;
let List.637 : U64 = CallByName List.6 List.156;
let List.635 : {List U8, U64} = CallByName List.89 List.156 List.157 List.158 List.636 List.637;
ret List.635;
procedure List.18 (List.158, List.159, List.160):
let List.638 : U64 = 0i64;
let List.639 : U64 = CallByName List.6 List.158;
let List.637 : {List U8, U64} = CallByName List.90 List.158 List.159 List.160 List.638 List.639;
ret List.637;
procedure List.4 (List.121, List.122):
let List.634 : U64 = 1i64;
let List.633 : List U8 = CallByName List.70 List.121 List.634;
let List.632 : List U8 = CallByName List.71 List.633 List.122;
ret List.632;
procedure List.4 (List.122, List.123):
let List.636 : U64 = 1i64;
let List.635 : List U8 = CallByName List.70 List.122 List.636;
let List.634 : List U8 = CallByName List.71 List.635 List.123;
ret List.634;
procedure List.6 (#Attr.2):
let List.607 : U64 = lowlevel ListLen #Attr.2;
let List.609 : U64 = lowlevel ListLen #Attr.2;
ret List.609;
procedure List.6 (#Attr.2):
let List.649 : U64 = lowlevel ListLen #Attr.2;
ret List.649;
procedure List.66 (#Attr.2, #Attr.3):
let List.607 : [C {}, C {}] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.607;
procedure List.6 (#Attr.2):
let List.647 : U64 = lowlevel ListLen #Attr.2;
procedure List.66 (#Attr.2, #Attr.3):
let List.647 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.647;
procedure List.66 (#Attr.2, #Attr.3):
let List.605 : [C {}, C {}] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.605;
procedure List.66 (#Attr.2, #Attr.3):
let List.645 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.645;
procedure List.70 (#Attr.2, #Attr.3):
let List.613 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.613;
let List.615 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.615;
procedure List.71 (#Attr.2, #Attr.3):
let List.611 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.611;
let List.613 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.613;
procedure List.8 (#Attr.2, #Attr.3):
let List.648 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.648;
let List.650 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.650;
procedure List.89 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
joinpoint List.598 List.159 List.160 List.161 List.162 List.163:
let List.600 : Int1 = CallByName Num.22 List.162 List.163;
if List.600 then
let List.604 : [C {}, C {}] = CallByName List.66 List.159 List.162;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.230 List.160 List.604;
let List.603 : U64 = 1i64;
let List.602 : U64 = CallByName Num.51 List.162 List.603;
jump List.598 List.159 List.164 List.161 List.602 List.163;
procedure List.90 (#Derived_gen.23, #Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27):
joinpoint List.640 List.161 List.162 List.163 List.164 List.165:
let List.642 : Int1 = CallByName Num.22 List.164 List.165;
if List.642 then
let List.646 : [] = CallByName List.66 List.161 List.164;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.230 List.162 List.646;
let List.645 : U64 = 1i64;
let List.644 : U64 = CallByName Num.51 List.164 List.645;
jump List.640 List.161 List.166 List.163 List.644 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.598 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
jump List.640 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27;
procedure List.89 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31, #Derived_gen.32):
joinpoint List.638 List.159 List.160 List.161 List.162 List.163:
let List.640 : Int1 = CallByName Num.22 List.162 List.163;
if List.640 then
let List.644 : [] = CallByName List.66 List.159 List.162;
let List.164 : {List U8, U64} = CallByName TotallyNotJson.230 List.160 List.644;
let List.643 : U64 = 1i64;
let List.642 : U64 = CallByName Num.51 List.162 List.643;
jump List.638 List.159 List.164 List.161 List.642 List.163;
procedure List.90 (#Derived_gen.40, #Derived_gen.41, #Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
joinpoint List.600 List.161 List.162 List.163 List.164 List.165:
let List.602 : Int1 = CallByName Num.22 List.164 List.165;
if List.602 then
let List.606 : [C {}, C {}] = CallByName List.66 List.161 List.164;
let List.166 : {List U8, U64} = CallByName TotallyNotJson.230 List.162 List.606;
let List.605 : U64 = 1i64;
let List.604 : U64 = CallByName Num.51 List.164 List.605;
jump List.600 List.161 List.166 List.163 List.604 List.165;
else
dec List.159;
ret List.160;
dec List.161;
ret List.162;
in
jump List.638 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31 #Derived_gen.32;
jump List.600 #Derived_gen.40 #Derived_gen.41 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
procedure Num.127 (#Attr.2):
let Num.310 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -2,80 +2,80 @@ procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.23;
procedure List.101 (List.484, List.485, List.486):
let List.587 : U64 = 0i64;
let List.588 : U64 = CallByName List.6 List.484;
let List.586 : [C U64, C U64] = CallByName List.80 List.484 List.485 List.486 List.587 List.588;
ret List.586;
procedure List.102 (List.486, List.487, List.488):
let List.589 : U64 = 0i64;
let List.590 : U64 = CallByName List.6 List.486;
let List.588 : [C U64, C U64] = CallByName List.80 List.486 List.487 List.488 List.589 List.590;
ret List.588;
procedure List.26 (List.197, List.198, List.199):
let List.580 : [C U64, C U64] = CallByName List.101 List.197 List.198 List.199;
let List.583 : U8 = 1i64;
let List.584 : U8 = GetTagId List.580;
let List.585 : Int1 = lowlevel Eq List.583 List.584;
if List.585 then
let List.200 : U64 = UnionAtIndex (Id 1) (Index 0) List.580;
ret List.200;
procedure List.26 (List.199, List.200, List.201):
let List.582 : [C U64, C U64] = CallByName List.102 List.199 List.200 List.201;
let List.585 : U8 = 1i64;
let List.586 : U8 = GetTagId List.582;
let List.587 : Int1 = lowlevel Eq List.585 List.586;
if List.587 then
let List.202 : U64 = UnionAtIndex (Id 1) (Index 0) List.582;
ret List.202;
else
let List.201 : U64 = UnionAtIndex (Id 0) (Index 0) List.580;
ret List.201;
let List.203 : U64 = UnionAtIndex (Id 0) (Index 0) List.582;
ret List.203;
procedure List.38 (List.340, List.341):
procedure List.38 (List.342, List.343):
let List.581 : U64 = CallByName List.6 List.342;
let List.344 : U64 = CallByName Num.77 List.581 List.343;
let List.571 : List U8 = CallByName List.43 List.342 List.344;
ret List.571;
procedure List.43 (List.340, List.341):
let List.579 : U64 = CallByName List.6 List.340;
let List.342 : U64 = CallByName Num.77 List.579 List.341;
let List.569 : List U8 = CallByName List.43 List.340 List.342;
ret List.569;
procedure List.43 (List.338, List.339):
let List.577 : U64 = CallByName List.6 List.338;
let List.576 : U64 = CallByName Num.77 List.577 List.339;
let List.571 : {U64, U64} = Struct {List.339, List.576};
let List.570 : List U8 = CallByName List.49 List.338 List.571;
ret List.570;
procedure List.49 (List.416, List.417):
let List.573 : U64 = StructAtIndex 1 List.417;
let List.574 : U64 = StructAtIndex 0 List.417;
let List.572 : List U8 = CallByName List.72 List.416 List.573 List.574;
let List.578 : U64 = CallByName Num.77 List.579 List.341;
let List.573 : {U64, U64} = Struct {List.341, List.578};
let List.572 : List U8 = CallByName List.49 List.340 List.573;
ret List.572;
procedure List.49 (List.418, List.419):
let List.575 : U64 = StructAtIndex 1 List.419;
let List.576 : U64 = StructAtIndex 0 List.419;
let List.574 : List U8 = CallByName List.72 List.418 List.575 List.576;
ret List.574;
procedure List.6 (#Attr.2):
let List.578 : U64 = lowlevel ListLen #Attr.2;
ret List.578;
let List.580 : U64 = lowlevel ListLen #Attr.2;
ret List.580;
procedure List.66 (#Attr.2, #Attr.3):
let List.601 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.601;
let List.603 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.603;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.575 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.575;
let List.577 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.577;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.589 List.487 List.488 List.489 List.490 List.491:
let List.591 : Int1 = CallByName Num.22 List.490 List.491;
if List.591 then
let List.600 : U8 = CallByName List.66 List.487 List.490;
let List.592 : [C U64, C U64] = CallByName Test.3 List.488 List.600;
let List.597 : U8 = 1i64;
let List.598 : U8 = GetTagId List.592;
let List.599 : Int1 = lowlevel Eq List.597 List.598;
if List.599 then
let List.492 : U64 = UnionAtIndex (Id 1) (Index 0) List.592;
let List.595 : U64 = 1i64;
let List.594 : U64 = CallByName Num.51 List.490 List.595;
jump List.589 List.487 List.492 List.489 List.594 List.491;
joinpoint List.591 List.489 List.490 List.491 List.492 List.493:
let List.593 : Int1 = CallByName Num.22 List.492 List.493;
if List.593 then
let List.602 : U8 = CallByName List.66 List.489 List.492;
let List.594 : [C U64, C U64] = CallByName Test.3 List.490 List.602;
let List.599 : U8 = 1i64;
let List.600 : U8 = GetTagId List.594;
let List.601 : Int1 = lowlevel Eq List.599 List.600;
if List.601 then
let List.494 : U64 = UnionAtIndex (Id 1) (Index 0) List.594;
let List.597 : U64 = 1i64;
let List.596 : U64 = CallByName Num.51 List.492 List.597;
jump List.591 List.489 List.494 List.491 List.596 List.493;
else
dec List.487;
let List.493 : U64 = UnionAtIndex (Id 0) (Index 0) List.592;
let List.596 : [C U64, C U64] = TagId(0) List.493;
ret List.596;
dec List.489;
let List.495 : U64 = UnionAtIndex (Id 0) (Index 0) List.594;
let List.598 : [C U64, C U64] = TagId(0) List.495;
ret List.598;
else
dec List.487;
let List.590 : [C U64, C U64] = TagId(1) List.488;
ret List.590;
dec List.489;
let List.592 : [C U64, C U64] = TagId(1) List.490;
ret List.592;
in
jump List.589 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.591 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;