update mono tests

This commit is contained in:
Folkert 2022-07-08 02:57:00 +02:00
parent 98c55ba30c
commit e6977986c9
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
17 changed files with 239 additions and 209 deletions

View file

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

View file

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

View file

@ -1,22 +1,22 @@
procedure List.2 (List.75, List.76):
let List.285 : U64 = CallByName List.6 List.75;
let List.281 : Int1 = CallByName Num.22 List.76 List.285;
if List.281 then
let List.283 : {} = CallByName List.60 List.75 List.76;
let List.282 : [C {}, C {}] = TagId(1) List.283;
ret List.282;
procedure List.2 (List.77, List.78):
let List.289 : U64 = CallByName List.6 List.77;
let List.285 : Int1 = CallByName Num.22 List.78 List.289;
if List.285 then
let List.287 : {} = CallByName List.60 List.77 List.78;
let List.286 : [C {}, C {}] = TagId(1) List.287;
ret List.286;
else
let List.280 : {} = Struct {};
let List.279 : [C {}, C {}] = TagId(0) List.280;
ret List.279;
let List.284 : {} = Struct {};
let List.283 : [C {}, C {}] = TagId(0) List.284;
ret List.283;
procedure List.6 (#Attr.2):
let List.288 : U64 = lowlevel ListLen #Attr.2;
ret List.288;
let List.292 : U64 = lowlevel ListLen #Attr.2;
ret List.292;
procedure List.60 (#Attr.2, #Attr.3):
let List.287 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.287;
let List.291 : {} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.291;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.188 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,6 +1,16 @@
procedure List.4 (#Attr.2, #Attr.3):
let List.279 : List U8 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.279;
procedure List.4 (List.88, List.89):
let List.286 : U64 = 1i64;
let List.284 : List U8 = CallByName List.65 List.88 List.286;
let List.283 : List U8 = CallByName List.66 List.284 List.89;
ret List.283;
procedure List.65 (#Attr.2, #Attr.3):
let List.289 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.289;
procedure List.66 (#Attr.2, #Attr.3):
let List.288 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.288;
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.279 : U64 = lowlevel ListLen #Attr.2;
ret List.279;
let List.283 : U64 = lowlevel ListLen #Attr.2;
ret List.283;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.190 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,37 +1,37 @@
procedure List.2 (List.75, List.76):
let List.294 : U64 = CallByName List.6 List.75;
let List.290 : Int1 = CallByName Num.22 List.76 List.294;
if List.290 then
let List.292 : I64 = CallByName List.60 List.75 List.76;
let List.291 : [C {}, C I64] = TagId(1) List.292;
ret List.291;
procedure List.2 (List.77, List.78):
let List.298 : U64 = CallByName List.6 List.77;
let List.294 : Int1 = CallByName Num.22 List.78 List.298;
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;
else
let List.289 : {} = Struct {};
let List.288 : [C {}, C I64] = TagId(0) List.289;
ret List.288;
let List.293 : {} = Struct {};
let List.292 : [C {}, C I64] = TagId(0) List.293;
ret List.292;
procedure List.6 (#Attr.2):
let List.295 : U64 = lowlevel ListLen #Attr.2;
ret List.295;
let List.299 : U64 = lowlevel ListLen #Attr.2;
ret List.299;
procedure List.60 (#Attr.2, #Attr.3):
let List.293 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.293;
let List.297 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.297;
procedure List.9 (List.201):
let List.286 : U64 = 0i64;
let List.279 : [C {}, C I64] = CallByName List.2 List.201 List.286;
let List.283 : U8 = 1i64;
let List.284 : U8 = GetTagId List.279;
let List.285 : Int1 = lowlevel Eq List.283 List.284;
if List.285 then
let List.202 : I64 = UnionAtIndex (Id 1) (Index 0) List.279;
let List.280 : [C Int1, C I64] = TagId(1) List.202;
ret List.280;
procedure List.9 (List.205):
let List.290 : U64 = 0i64;
let List.283 : [C {}, C I64] = CallByName List.2 List.205 List.290;
let List.287 : U8 = 1i64;
let List.288 : U8 = GetTagId List.283;
let List.289 : Int1 = lowlevel Eq List.287 List.288;
if List.289 then
let List.206 : I64 = UnionAtIndex (Id 1) (Index 0) List.283;
let List.284 : [C Int1, C I64] = TagId(1) List.206;
ret List.284;
else
let List.282 : Int1 = true;
let List.281 : [C Int1, C I64] = TagId(0) List.282;
ret List.281;
let List.286 : Int1 = true;
let List.285 : [C Int1, C I64] = TagId(0) List.286;
ret List.285;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.188 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,6 +1,16 @@
procedure List.4 (#Attr.2, #Attr.3):
let List.279 : List I64 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.279;
procedure List.4 (List.88, List.89):
let List.286 : U64 = 1i64;
let List.284 : List I64 = CallByName List.65 List.88 List.286;
let List.283 : List I64 = CallByName List.66 List.284 List.89;
ret List.283;
procedure List.65 (#Attr.2, #Attr.3):
let List.289 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.289;
procedure List.66 (#Attr.2, #Attr.3):
let List.288 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.288;
procedure Test.0 ():
let Test.2 : List I64 = Array [1i64];

View file

@ -1,6 +1,16 @@
procedure List.4 (#Attr.2, #Attr.3):
let List.279 : List I64 = lowlevel ListAppend #Attr.2 #Attr.3;
ret List.279;
procedure List.4 (List.88, List.89):
let List.286 : U64 = 1i64;
let List.284 : List I64 = CallByName List.65 List.88 List.286;
let List.283 : List I64 = CallByName List.66 List.284 List.89;
ret List.283;
procedure List.65 (#Attr.2, #Attr.3):
let List.289 : List I64 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.289;
procedure List.66 (#Attr.2, #Attr.3):
let List.288 : List I64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.288;
procedure Test.1 (Test.2):
let Test.6 : I64 = 42i64;

View file

@ -1,27 +1,27 @@
procedure List.3 (List.83, List.84, List.85):
let List.282 : {List I64, I64} = CallByName List.57 List.83 List.84 List.85;
let List.281 : List I64 = StructAtIndex 0 List.282;
inc List.281;
dec List.282;
ret List.281;
procedure List.3 (List.85, List.86, List.87):
let List.286 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.285 : List I64 = StructAtIndex 0 List.286;
inc List.285;
dec List.286;
ret List.285;
procedure List.57 (List.80, List.81, List.82):
let List.288 : U64 = CallByName List.6 List.80;
let List.285 : Int1 = CallByName Num.22 List.81 List.288;
if List.285 then
let List.286 : {List I64, I64} = CallByName List.61 List.80 List.81 List.82;
ret List.286;
procedure List.57 (List.82, List.83, List.84):
let List.292 : U64 = CallByName List.6 List.82;
let List.289 : Int1 = CallByName Num.22 List.83 List.292;
if List.289 then
let List.290 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.290;
else
let List.284 : {List I64, I64} = Struct {List.80, List.82};
ret List.284;
let List.288 : {List I64, I64} = Struct {List.82, List.84};
ret List.288;
procedure List.6 (#Attr.2):
let List.280 : U64 = lowlevel ListLen #Attr.2;
ret List.280;
let List.284 : U64 = lowlevel ListLen #Attr.2;
ret List.284;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.287 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.287;
let List.291 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.291;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.188 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,22 +1,22 @@
procedure List.2 (List.75, List.76):
let List.285 : U64 = CallByName List.6 List.75;
let List.281 : Int1 = CallByName Num.22 List.76 List.285;
if List.281 then
let List.283 : I64 = CallByName List.60 List.75 List.76;
let List.282 : [C {}, C I64] = TagId(1) List.283;
ret List.282;
procedure List.2 (List.77, List.78):
let List.289 : U64 = CallByName List.6 List.77;
let List.285 : Int1 = CallByName Num.22 List.78 List.289;
if List.285 then
let List.287 : I64 = CallByName List.60 List.77 List.78;
let List.286 : [C {}, C I64] = TagId(1) List.287;
ret List.286;
else
let List.280 : {} = Struct {};
let List.279 : [C {}, C I64] = TagId(0) List.280;
ret List.279;
let List.284 : {} = Struct {};
let List.283 : [C {}, C I64] = TagId(0) List.284;
ret List.283;
procedure List.6 (#Attr.2):
let List.288 : U64 = lowlevel ListLen #Attr.2;
ret List.288;
let List.292 : U64 = lowlevel ListLen #Attr.2;
ret List.292;
procedure List.60 (#Attr.2, #Attr.3):
let List.287 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.287;
let List.291 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.291;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.188 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,10 +1,10 @@
procedure List.6 (#Attr.2):
let List.279 : U64 = lowlevel ListLen #Attr.2;
ret List.279;
let List.283 : U64 = lowlevel ListLen #Attr.2;
ret List.283;
procedure List.6 (#Attr.2):
let List.280 : U64 = lowlevel ListLen #Attr.2;
ret List.280;
let List.284 : U64 = lowlevel ListLen #Attr.2;
ret List.284;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.188 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;

View file

@ -1,26 +1,26 @@
procedure List.2 (List.75, List.76):
let List.285 : U64 = CallByName List.6 List.75;
let List.281 : Int1 = CallByName Num.22 List.76 List.285;
if List.281 then
let List.283 : Str = CallByName List.60 List.75 List.76;
let List.282 : [C {}, C Str] = TagId(1) List.283;
ret List.282;
procedure List.2 (List.77, List.78):
let List.289 : U64 = CallByName List.6 List.77;
let List.285 : Int1 = CallByName Num.22 List.78 List.289;
if List.285 then
let List.287 : Str = CallByName List.60 List.77 List.78;
let List.286 : [C {}, C Str] = TagId(1) List.287;
ret List.286;
else
let List.280 : {} = Struct {};
let List.279 : [C {}, C Str] = TagId(0) List.280;
ret List.279;
let List.284 : {} = Struct {};
let List.283 : [C {}, C Str] = TagId(0) List.284;
ret List.283;
procedure List.5 (#Attr.2, #Attr.3):
let List.287 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
ret List.287;
let List.291 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
ret List.291;
procedure List.6 (#Attr.2):
let List.289 : U64 = lowlevel ListLen #Attr.2;
ret List.289;
let List.293 : U64 = lowlevel ListLen #Attr.2;
ret List.293;
procedure List.60 (#Attr.2, #Attr.3):
let List.288 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.288;
let List.292 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.292;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.188 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,28 +1,28 @@
procedure List.2 (List.75, List.76):
let List.285 : U64 = CallByName List.6 List.75;
let List.281 : Int1 = CallByName Num.22 List.76 List.285;
if List.281 then
let List.283 : Str = CallByName List.60 List.75 List.76;
let List.282 : [C {}, C Str] = TagId(1) List.283;
ret List.282;
procedure List.2 (List.77, List.78):
let List.289 : U64 = CallByName List.6 List.77;
let List.285 : Int1 = CallByName Num.22 List.78 List.289;
if List.285 then
let List.287 : Str = CallByName List.60 List.77 List.78;
let List.286 : [C {}, C Str] = TagId(1) List.287;
ret List.286;
else
let List.280 : {} = Struct {};
let List.279 : [C {}, C Str] = TagId(0) List.280;
ret List.279;
let List.284 : {} = Struct {};
let List.283 : [C {}, C Str] = TagId(0) List.284;
ret List.283;
procedure List.5 (#Attr.2, #Attr.3):
inc #Attr.2;
let List.287 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
let List.291 : List Str = lowlevel ListMap { xs: `#Attr.#arg1` } #Attr.2 Test.3 #Attr.3;
decref #Attr.2;
ret List.287;
ret List.291;
procedure List.6 (#Attr.2):
let List.289 : U64 = lowlevel ListLen #Attr.2;
ret List.289;
let List.293 : U64 = lowlevel ListLen #Attr.2;
ret List.293;
procedure List.60 (#Attr.2, #Attr.3):
let List.288 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.288;
let List.292 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.292;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.188 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,27 +1,27 @@
procedure List.3 (List.83, List.84, List.85):
let List.280 : {List I64, I64} = CallByName List.57 List.83 List.84 List.85;
let List.279 : List I64 = StructAtIndex 0 List.280;
inc List.279;
dec List.280;
ret List.279;
procedure List.3 (List.85, List.86, List.87):
let List.284 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.283 : List I64 = StructAtIndex 0 List.284;
inc List.283;
dec List.284;
ret List.283;
procedure List.57 (List.80, List.81, List.82):
let List.286 : U64 = CallByName List.6 List.80;
let List.283 : Int1 = CallByName Num.22 List.81 List.286;
if List.283 then
let List.284 : {List I64, I64} = CallByName List.61 List.80 List.81 List.82;
ret List.284;
procedure List.57 (List.82, List.83, List.84):
let List.290 : U64 = CallByName List.6 List.82;
let List.287 : Int1 = CallByName Num.22 List.83 List.290;
if List.287 then
let List.288 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.288;
else
let List.282 : {List I64, I64} = Struct {List.80, List.82};
ret List.282;
let List.286 : {List I64, I64} = Struct {List.82, List.84};
ret List.286;
procedure List.6 (#Attr.2):
let List.287 : U64 = lowlevel ListLen #Attr.2;
ret List.287;
let List.291 : U64 = lowlevel ListLen #Attr.2;
ret List.291;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.285 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.285;
let List.289 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.289;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.188 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,16 +1,16 @@
procedure List.28 (#Attr.2, #Attr.3):
let List.282 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
let List.286 : 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.282;
ret List.286;
else
decref #Attr.2;
ret List.282;
ret List.286;
procedure List.54 (List.196):
let List.280 : {} = Struct {};
let List.279 : List I64 = CallByName List.28 List.196 List.280;
ret List.279;
procedure List.54 (List.200):
let List.284 : {} = Struct {};
let List.283 : List I64 = CallByName List.28 List.200 List.284;
ret List.283;
procedure Num.46 (#Attr.2, #Attr.3):
let Num.188 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.75, List.76):
let List.299 : U64 = CallByName List.6 List.75;
let List.295 : Int1 = CallByName Num.22 List.76 List.299;
if List.295 then
let List.297 : I64 = CallByName List.60 List.75 List.76;
let List.296 : [C {}, C I64] = TagId(1) List.297;
ret List.296;
procedure List.2 (List.77, List.78):
let List.303 : U64 = CallByName List.6 List.77;
let List.299 : Int1 = CallByName Num.22 List.78 List.303;
if List.299 then
let List.301 : I64 = CallByName List.60 List.77 List.78;
let List.300 : [C {}, C I64] = TagId(1) List.301;
ret List.300;
else
let List.294 : {} = Struct {};
let List.293 : [C {}, C I64] = TagId(0) List.294;
ret List.293;
let List.298 : {} = Struct {};
let List.297 : [C {}, C I64] = TagId(0) List.298;
ret List.297;
procedure List.3 (List.83, List.84, List.85):
let List.283 : {List I64, I64} = CallByName List.57 List.83 List.84 List.85;
let List.282 : List I64 = StructAtIndex 0 List.283;
inc List.282;
dec List.283;
ret List.282;
procedure List.3 (List.85, List.86, List.87):
let List.287 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.286 : List I64 = StructAtIndex 0 List.287;
inc List.286;
dec List.287;
ret List.286;
procedure List.57 (List.80, List.81, List.82):
let List.305 : U64 = CallByName List.6 List.80;
let List.302 : Int1 = CallByName Num.22 List.81 List.305;
if List.302 then
let List.303 : {List I64, I64} = CallByName List.61 List.80 List.81 List.82;
ret List.303;
procedure List.57 (List.82, List.83, List.84):
let List.309 : U64 = CallByName List.6 List.82;
let List.306 : Int1 = CallByName Num.22 List.83 List.309;
if List.306 then
let List.307 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.307;
else
let List.301 : {List I64, I64} = Struct {List.80, List.82};
ret List.301;
let List.305 : {List I64, I64} = Struct {List.82, List.84};
ret List.305;
procedure List.6 (#Attr.2):
let List.306 : U64 = lowlevel ListLen #Attr.2;
ret List.306;
let List.310 : U64 = lowlevel ListLen #Attr.2;
ret List.310;
procedure List.60 (#Attr.2, #Attr.3):
let List.307 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.307;
let List.311 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.311;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.304 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.304;
let List.308 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.308;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.190 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;

View file

@ -1,43 +1,43 @@
procedure List.2 (List.75, List.76):
let List.299 : U64 = CallByName List.6 List.75;
let List.295 : Int1 = CallByName Num.22 List.76 List.299;
if List.295 then
let List.297 : I64 = CallByName List.60 List.75 List.76;
let List.296 : [C {}, C I64] = TagId(1) List.297;
ret List.296;
procedure List.2 (List.77, List.78):
let List.303 : U64 = CallByName List.6 List.77;
let List.299 : Int1 = CallByName Num.22 List.78 List.303;
if List.299 then
let List.301 : I64 = CallByName List.60 List.77 List.78;
let List.300 : [C {}, C I64] = TagId(1) List.301;
ret List.300;
else
let List.294 : {} = Struct {};
let List.293 : [C {}, C I64] = TagId(0) List.294;
ret List.293;
let List.298 : {} = Struct {};
let List.297 : [C {}, C I64] = TagId(0) List.298;
ret List.297;
procedure List.3 (List.83, List.84, List.85):
let List.283 : {List I64, I64} = CallByName List.57 List.83 List.84 List.85;
let List.282 : List I64 = StructAtIndex 0 List.283;
inc List.282;
dec List.283;
ret List.282;
procedure List.3 (List.85, List.86, List.87):
let List.287 : {List I64, I64} = CallByName List.57 List.85 List.86 List.87;
let List.286 : List I64 = StructAtIndex 0 List.287;
inc List.286;
dec List.287;
ret List.286;
procedure List.57 (List.80, List.81, List.82):
let List.305 : U64 = CallByName List.6 List.80;
let List.302 : Int1 = CallByName Num.22 List.81 List.305;
if List.302 then
let List.303 : {List I64, I64} = CallByName List.61 List.80 List.81 List.82;
ret List.303;
procedure List.57 (List.82, List.83, List.84):
let List.309 : U64 = CallByName List.6 List.82;
let List.306 : Int1 = CallByName Num.22 List.83 List.309;
if List.306 then
let List.307 : {List I64, I64} = CallByName List.61 List.82 List.83 List.84;
ret List.307;
else
let List.301 : {List I64, I64} = Struct {List.80, List.82};
ret List.301;
let List.305 : {List I64, I64} = Struct {List.82, List.84};
ret List.305;
procedure List.6 (#Attr.2):
let List.306 : U64 = lowlevel ListLen #Attr.2;
ret List.306;
let List.310 : U64 = lowlevel ListLen #Attr.2;
ret List.310;
procedure List.60 (#Attr.2, #Attr.3):
let List.307 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.307;
let List.311 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.311;
procedure List.61 (#Attr.2, #Attr.3, #Attr.4):
let List.304 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.304;
let List.308 : {List I64, I64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.308;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.190 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;