update mono tests

This commit is contained in:
Folkert 2022-07-08 22:14:16 +02:00
parent e8530eaca5
commit 02fa2eb086
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
17 changed files with 233 additions and 233 deletions

View file

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

View file

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

View file

@ -1,22 +1,22 @@
procedure List.2 (List.77, List.78):
let List.297 : U64 = CallByName List.6 List.77;
let List.294 : Int1 = CallByName Num.22 List.78 List.297;
if List.294 then
let List.296 : {} = CallByName List.60 List.77 List.78;
let List.295 : [C {}, C {}] = TagId(1) List.296;
ret List.295;
procedure List.2 (List.78, List.79):
let List.300 : U64 = CallByName List.6 List.78;
let List.297 : Int1 = CallByName Num.22 List.79 List.300;
if List.297 then
let List.299 : {} = CallByName List.60 List.78 List.79;
let List.298 : [C {}, C {}] = TagId(1) List.299;
ret List.298;
else
let List.293 : {} = Struct {};
let List.292 : [C {}, C {}] = TagId(0) List.293;
ret List.292;
let List.296 : {} = Struct {};
let List.295 : [C {}, C {}] = TagId(0) List.296;
ret List.295;
procedure List.6 (#Attr.2):
let List.299 : U64 = lowlevel ListLen #Attr.2;
ret List.299;
let List.302 : U64 = lowlevel ListLen #Attr.2;
ret List.302;
procedure List.60 (#Attr.2, #Attr.3):
let List.298 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.298;
let List.301 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.301;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.257 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.4 (List.88, List.89):
let List.294 : U64 = 1i64;
let List.293 : List U8 = CallByName List.65 List.88 List.294;
let List.292 : List U8 = CallByName List.66 List.293 List.89;
ret List.292;
procedure List.4 (List.89, List.90):
let List.297 : U64 = 1i64;
let List.296 : List U8 = CallByName List.65 List.89 List.297;
let List.295 : List U8 = CallByName List.66 List.296 List.90;
ret List.295;
procedure List.65 (#Attr.2, #Attr.3):
let List.296 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.296;
let List.299 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.299;
procedure List.66 (#Attr.2, #Attr.3):
let List.295 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.295;
let List.298 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.298;
procedure Test.20 (Test.22):
let Test.34 : {U8} = Struct {Test.22};

View file

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

View file

@ -2,40 +2,40 @@ procedure Bool.7 (#Attr.2, #Attr.3):
let Bool.9 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.9;
procedure List.2 (List.77, List.78):
let List.306 : U64 = CallByName List.6 List.77;
let List.302 : Int1 = CallByName Num.22 List.78 List.306;
if List.302 then
let List.304 : I64 = CallByName List.60 List.77 List.78;
let List.303 : [C {}, C I64] = TagId(1) List.304;
ret List.303;
procedure List.2 (List.78, List.79):
let List.309 : U64 = CallByName List.6 List.78;
let List.305 : Int1 = CallByName Num.22 List.79 List.309;
if List.305 then
let List.307 : I64 = CallByName List.60 List.78 List.79;
let List.306 : [C {}, C I64] = TagId(1) List.307;
ret List.306;
else
let List.301 : {} = Struct {};
let List.300 : [C {}, C I64] = TagId(0) List.301;
ret List.300;
let List.304 : {} = Struct {};
let List.303 : [C {}, C I64] = TagId(0) List.304;
ret List.303;
procedure List.6 (#Attr.2):
let List.307 : U64 = lowlevel ListLen #Attr.2;
ret List.307;
let List.310 : U64 = lowlevel ListLen #Attr.2;
ret List.310;
procedure List.60 (#Attr.2, #Attr.3):
let List.305 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.305;
let List.308 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.308;
procedure List.9 (List.205):
let List.299 : U64 = 0i64;
let List.292 : [C {}, C I64] = CallByName List.2 List.205 List.299;
let List.296 : U8 = 1i64;
let List.297 : U8 = GetTagId List.292;
let List.298 : Int1 = lowlevel Eq List.296 List.297;
if List.298 then
let List.206 : I64 = UnionAtIndex (Id 1) (Index 0) List.292;
let List.293 : [C Int1, C I64] = TagId(1) List.206;
ret List.293;
procedure List.9 (List.206):
let List.302 : U64 = 0i64;
let List.295 : [C {}, C I64] = CallByName List.2 List.206 List.302;
let List.299 : U8 = 1i64;
let List.300 : U8 = GetTagId List.295;
let List.301 : Int1 = lowlevel Eq List.299 List.300;
if List.301 then
let List.207 : I64 = UnionAtIndex (Id 1) (Index 0) List.295;
let List.296 : [C Int1, C I64] = TagId(1) List.207;
ret List.296;
else
let List.295 : Int1 = true;
let List.294 : [C Int1, C I64] = TagId(0) List.295;
ret List.294;
let List.298 : Int1 = true;
let List.297 : [C Int1, C I64] = TagId(0) List.298;
ret List.297;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.257 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.4 (List.88, List.89):
let List.294 : U64 = 1i64;
let List.293 : List I64 = CallByName List.65 List.88 List.294;
let List.292 : List I64 = CallByName List.66 List.293 List.89;
ret List.292;
procedure List.4 (List.89, List.90):
let List.297 : U64 = 1i64;
let List.296 : List I64 = CallByName List.65 List.89 List.297;
let List.295 : List I64 = CallByName List.66 List.296 List.90;
ret List.295;
procedure List.65 (#Attr.2, #Attr.3):
let List.296 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.296;
let List.299 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.299;
procedure List.66 (#Attr.2, #Attr.3):
let List.295 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.295;
let List.298 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.298;
procedure Test.0 ():
let Test.2 : List I64 = Array [1i64];

View file

@ -1,16 +1,16 @@
procedure List.4 (List.88, List.89):
let List.294 : U64 = 1i64;
let List.293 : List I64 = CallByName List.65 List.88 List.294;
let List.292 : List I64 = CallByName List.66 List.293 List.89;
ret List.292;
procedure List.4 (List.89, List.90):
let List.297 : U64 = 1i64;
let List.296 : List I64 = CallByName List.65 List.89 List.297;
let List.295 : List I64 = CallByName List.66 List.296 List.90;
ret List.295;
procedure List.65 (#Attr.2, #Attr.3):
let List.296 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.296;
let List.299 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.299;
procedure List.66 (#Attr.2, #Attr.3):
let List.295 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.295;
let List.298 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.298;
procedure Test.1 (Test.2):
let Test.6 : I64 = 42i64;

View file

@ -1,27 +1,27 @@
procedure List.3 (List.85, List.86, List.87):
let List.295 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.294 : List I64 = StructAtIndex 0 List.295;
inc List.294;
dec List.295;
ret List.294;
procedure List.3 (List.86, List.87, List.88):
let List.298 : {List I64, I64} = CallByName List.57 List.86 List.87 List.88;
let List.297 : List I64 = StructAtIndex 0 List.298;
inc List.297;
dec List.298;
ret List.297;
procedure List.57 (List.82, List.83, List.84):
let List.300 : U64 = CallByName List.6 List.82;
let List.297 : Int1 = CallByName Num.22 List.83 List.300;
if List.297 then
let List.298 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.298;
procedure List.57 (List.83, List.84, List.85):
let List.303 : U64 = CallByName List.6 List.83;
let List.300 : Int1 = CallByName Num.22 List.84 List.303;
if List.300 then
let List.301 : {List I64, I64} = CallByName List.61 List.83 List.84 List.85;
ret List.301;
else
let List.296 : {List I64, I64} = Struct {List.82, List.84};
ret List.296;
let List.299 : {List I64, I64} = Struct {List.83, List.85};
ret List.299;
procedure List.6 (#Attr.2):
let List.293 : U64 = lowlevel ListLen #Attr.2;
ret List.293;
let List.296 : U64 = lowlevel ListLen #Attr.2;
ret List.296;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.299 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.299;
let List.302 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.302;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.257 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,22 +1,22 @@
procedure List.2 (List.77, List.78):
let List.297 : U64 = CallByName List.6 List.77;
let List.294 : Int1 = CallByName Num.22 List.78 List.297;
if List.294 then
let List.296 : I64 = CallByName List.60 List.77 List.78;
let List.295 : [C {}, C I64] = TagId(1) List.296;
ret List.295;
procedure List.2 (List.78, List.79):
let List.300 : U64 = CallByName List.6 List.78;
let List.297 : Int1 = CallByName Num.22 List.79 List.300;
if List.297 then
let List.299 : I64 = CallByName List.60 List.78 List.79;
let List.298 : [C {}, C I64] = TagId(1) List.299;
ret List.298;
else
let List.293 : {} = Struct {};
let List.292 : [C {}, C I64] = TagId(0) List.293;
ret List.292;
let List.296 : {} = Struct {};
let List.295 : [C {}, C I64] = TagId(0) List.296;
ret List.295;
procedure List.6 (#Attr.2):
let List.299 : U64 = lowlevel ListLen #Attr.2;
ret List.299;
let List.302 : U64 = lowlevel ListLen #Attr.2;
ret List.302;
procedure List.60 (#Attr.2, #Attr.3):
let List.298 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.298;
let List.301 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.301;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.257 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,10 +1,10 @@
procedure List.6 (#Attr.2):
let List.292 : U64 = lowlevel ListLen #Attr.2;
ret List.292;
let List.295 : U64 = lowlevel ListLen #Attr.2;
ret List.295;
procedure List.6 (#Attr.2):
let List.293 : U64 = lowlevel ListLen #Attr.2;
ret List.293;
let List.296 : U64 = lowlevel ListLen #Attr.2;
ret List.296;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.257 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,26 +1,26 @@
procedure List.2 (List.77, List.78):
let List.297 : U64 = CallByName List.6 List.77;
let List.294 : Int1 = CallByName Num.22 List.78 List.297;
if List.294 then
let List.296 : Str = CallByName List.60 List.77 List.78;
let List.295 : [C {}, C Str] = TagId(1) List.296;
ret List.295;
procedure List.2 (List.78, List.79):
let List.300 : U64 = CallByName List.6 List.78;
let List.297 : Int1 = CallByName Num.22 List.79 List.300;
if List.297 then
let List.299 : Str = CallByName List.60 List.78 List.79;
let List.298 : [C {}, C Str] = TagId(1) List.299;
ret List.298;
else
let List.293 : {} = Struct {};
let List.292 : [C {}, C Str] = TagId(0) List.293;
ret List.292;
let List.296 : {} = Struct {};
let List.295 : [C {}, C Str] = TagId(0) List.296;
ret List.295;
procedure List.5 (#Attr.2, #Attr.3):
let List.298 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
ret List.298;
let List.301 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
ret List.301;
procedure List.6 (#Attr.2):
let List.300 : U64 = lowlevel ListLen #Attr.2;
ret List.300;
let List.303 : U64 = lowlevel ListLen #Attr.2;
ret List.303;
procedure List.60 (#Attr.2, #Attr.3):
let List.299 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.299;
let List.302 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.302;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.257 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,28 +1,28 @@
procedure List.2 (List.77, List.78):
let List.297 : U64 = CallByName List.6 List.77;
let List.294 : Int1 = CallByName Num.22 List.78 List.297;
if List.294 then
let List.296 : Str = CallByName List.60 List.77 List.78;
let List.295 : [C {}, C Str] = TagId(1) List.296;
ret List.295;
procedure List.2 (List.78, List.79):
let List.300 : U64 = CallByName List.6 List.78;
let List.297 : Int1 = CallByName Num.22 List.79 List.300;
if List.297 then
let List.299 : Str = CallByName List.60 List.78 List.79;
let List.298 : [C {}, C Str] = TagId(1) List.299;
ret List.298;
else
let List.293 : {} = Struct {};
let List.292 : [C {}, C Str] = TagId(0) List.293;
ret List.292;
let List.296 : {} = Struct {};
let List.295 : [C {}, C Str] = TagId(0) List.296;
ret List.295;
procedure List.5 (#Attr.2, #Attr.3):
inc #Attr.2;
let List.298 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
let List.301 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
decref #Attr.2;
ret List.298;
ret List.301;
procedure List.6 (#Attr.2):
let List.300 : U64 = lowlevel ListLen #Attr.2;
ret List.300;
let List.303 : U64 = lowlevel ListLen #Attr.2;
ret List.303;
procedure List.60 (#Attr.2, #Attr.3):
let List.299 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.299;
let List.302 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.302;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.257 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,27 +1,27 @@
procedure List.3 (List.85, List.86, List.87):
let List.293 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.292 : List I64 = StructAtIndex 0 List.293;
inc List.292;
dec List.293;
ret List.292;
procedure List.3 (List.86, List.87, List.88):
let List.296 : {List I64, I64} = CallByName List.57 List.86 List.87 List.88;
let List.295 : List I64 = StructAtIndex 0 List.296;
inc List.295;
dec List.296;
ret List.295;
procedure List.57 (List.82, List.83, List.84):
let List.298 : U64 = CallByName List.6 List.82;
let List.295 : Int1 = CallByName Num.22 List.83 List.298;
if List.295 then
let List.296 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.296;
procedure List.57 (List.83, List.84, List.85):
let List.301 : U64 = CallByName List.6 List.83;
let List.298 : Int1 = CallByName Num.22 List.84 List.301;
if List.298 then
let List.299 : {List I64, I64} = CallByName List.61 List.83 List.84 List.85;
ret List.299;
else
let List.294 : {List I64, I64} = Struct {List.82, List.84};
ret List.294;
let List.297 : {List I64, I64} = Struct {List.83, List.85};
ret List.297;
procedure List.6 (#Attr.2):
let List.299 : U64 = lowlevel ListLen #Attr.2;
ret List.299;
let List.302 : U64 = lowlevel ListLen #Attr.2;
ret List.302;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.297 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.297;
let List.300 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.300;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.257 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.28 (#Attr.2, #Attr.3):
let List.294 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
let List.297 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
let Bool.9 : Int1 = lowlevel ListIsUnique #Attr.2;
if Bool.9 then
ret List.294;
ret List.297;
else
decref #Attr.2;
ret List.294;
ret List.297;
procedure List.54 (List.200):
let List.293 : {} = Struct {};
let List.292 : List I64 = CallByName List.28 List.200 List.293;
ret List.292;
procedure List.54 (List.201):
let List.296 : {} = Struct {};
let List.295 : List I64 = CallByName List.28 List.201 List.296;
ret List.295;
procedure Num.46 (#Attr.2, #Attr.3):
let Num.257 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.77, List.78):
let List.307 : U64 = CallByName List.6 List.77;
let List.304 : Int1 = CallByName Num.22 List.78 List.307;
if List.304 then
let List.306 : I64 = CallByName List.60 List.77 List.78;
let List.305 : [C {}, C I64] = TagId(1) List.306;
ret List.305;
else
let List.303 : {} = Struct {};
let List.302 : [C {}, C I64] = TagId(0) List.303;
ret List.302;
procedure List.3 (List.85, List.86, List.87):
let List.295 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.294 : List I64 = StructAtIndex 0 List.295;
inc List.294;
dec List.295;
ret List.294;
procedure List.57 (List.82, List.83, List.84):
let List.312 : U64 = CallByName List.6 List.82;
let List.309 : Int1 = CallByName Num.22 List.83 List.312;
if List.309 then
let List.310 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.310;
else
let List.308 : {List I64, I64} = Struct {List.82, List.84};
procedure List.2 (List.78, List.79):
let List.310 : U64 = CallByName List.6 List.78;
let List.307 : Int1 = CallByName Num.22 List.79 List.310;
if List.307 then
let List.309 : I64 = CallByName List.60 List.78 List.79;
let List.308 : [C {}, C I64] = TagId(1) List.309;
ret List.308;
else
let List.306 : {} = Struct {};
let List.305 : [C {}, C I64] = TagId(0) List.306;
ret List.305;
procedure List.3 (List.86, List.87, List.88):
let List.298 : {List I64, I64} = CallByName List.57 List.86 List.87 List.88;
let List.297 : List I64 = StructAtIndex 0 List.298;
inc List.297;
dec List.298;
ret List.297;
procedure List.57 (List.83, List.84, List.85):
let List.315 : U64 = CallByName List.6 List.83;
let List.312 : Int1 = CallByName Num.22 List.84 List.315;
if List.312 then
let List.313 : {List I64, I64} = CallByName List.61 List.83 List.84 List.85;
ret List.313;
else
let List.311 : {List I64, I64} = Struct {List.83, List.85};
ret List.311;
procedure List.6 (#Attr.2):
let List.313 : U64 = lowlevel ListLen #Attr.2;
ret List.313;
let List.316 : U64 = lowlevel ListLen #Attr.2;
ret List.316;
procedure List.60 (#Attr.2, #Attr.3):
let List.314 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.314;
let List.317 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.317;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.311 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.311;
let List.314 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.314;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.259 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.77, List.78):
let List.307 : U64 = CallByName List.6 List.77;
let List.304 : Int1 = CallByName Num.22 List.78 List.307;
if List.304 then
let List.306 : I64 = CallByName List.60 List.77 List.78;
let List.305 : [C {}, C I64] = TagId(1) List.306;
ret List.305;
else
let List.303 : {} = Struct {};
let List.302 : [C {}, C I64] = TagId(0) List.303;
ret List.302;
procedure List.3 (List.85, List.86, List.87):
let List.295 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.294 : List I64 = StructAtIndex 0 List.295;
inc List.294;
dec List.295;
ret List.294;
procedure List.57 (List.82, List.83, List.84):
let List.312 : U64 = CallByName List.6 List.82;
let List.309 : Int1 = CallByName Num.22 List.83 List.312;
if List.309 then
let List.310 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.310;
else
let List.308 : {List I64, I64} = Struct {List.82, List.84};
procedure List.2 (List.78, List.79):
let List.310 : U64 = CallByName List.6 List.78;
let List.307 : Int1 = CallByName Num.22 List.79 List.310;
if List.307 then
let List.309 : I64 = CallByName List.60 List.78 List.79;
let List.308 : [C {}, C I64] = TagId(1) List.309;
ret List.308;
else
let List.306 : {} = Struct {};
let List.305 : [C {}, C I64] = TagId(0) List.306;
ret List.305;
procedure List.3 (List.86, List.87, List.88):
let List.298 : {List I64, I64} = CallByName List.57 List.86 List.87 List.88;
let List.297 : List I64 = StructAtIndex 0 List.298;
inc List.297;
dec List.298;
ret List.297;
procedure List.57 (List.83, List.84, List.85):
let List.315 : U64 = CallByName List.6 List.83;
let List.312 : Int1 = CallByName Num.22 List.84 List.315;
if List.312 then
let List.313 : {List I64, I64} = CallByName List.61 List.83 List.84 List.85;
ret List.313;
else
let List.311 : {List I64, I64} = Struct {List.83, List.85};
ret List.311;
procedure List.6 (#Attr.2):
let List.313 : U64 = lowlevel ListLen #Attr.2;
ret List.313;
let List.316 : U64 = lowlevel ListLen #Attr.2;
ret List.316;
procedure List.60 (#Attr.2, #Attr.3):
let List.314 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.314;
let List.317 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.317;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.311 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.311;
let List.314 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.314;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.259 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;