Merge remote-tracking branch 'origin/main' into walk-with-index

This commit is contained in:
Richard Feldman 2023-08-17 00:08:50 -04:00
commit d63144489a
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B
50 changed files with 2087 additions and 1891 deletions

View file

@ -16,146 +16,146 @@ procedure Encode.26 (Encode.105, Encode.106):
ret Encode.108;
procedure List.18 (List.145, List.146, List.147):
let List.548 : U64 = 0i64;
let List.549 : U64 = CallByName List.6 List.145;
let List.547 : List U8 = CallByName List.86 List.145 List.146 List.147 List.548 List.549;
ret List.547;
let List.549 : U64 = 0i64;
let List.550 : U64 = CallByName List.6 List.145;
let List.548 : List U8 = CallByName List.86 List.145 List.146 List.147 List.549 List.550;
ret List.548;
procedure List.26 (List.172, List.173, List.174):
let List.574 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.96 List.172 List.173 List.174;
let List.577 : U8 = 1i64;
let List.578 : U8 = GetTagId List.574;
let List.579 : Int1 = lowlevel Eq List.577 List.578;
if List.579 then
let List.175 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.574;
let List.575 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.96 List.172 List.173 List.174;
let List.578 : U8 = 1i64;
let List.579 : U8 = GetTagId List.575;
let List.580 : Int1 = lowlevel Eq List.578 List.579;
if List.580 then
let List.175 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.575;
ret List.175;
else
let List.176 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.574;
let List.176 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.575;
ret List.176;
procedure List.49 (List.389, List.390):
let List.566 : U64 = StructAtIndex 0 List.390;
let List.567 : U64 = 0i64;
let List.564 : Int1 = CallByName Bool.11 List.566 List.567;
if List.564 then
dec List.389;
let List.565 : List U8 = Array [];
ret List.565;
procedure List.49 (List.390, List.391):
let List.567 : U64 = StructAtIndex 0 List.391;
let List.568 : U64 = 0i64;
let List.565 : Int1 = CallByName Bool.11 List.567 List.568;
if List.565 then
dec List.390;
let List.566 : List U8 = Array [];
ret List.566;
else
let List.561 : U64 = StructAtIndex 1 List.390;
let List.562 : U64 = StructAtIndex 0 List.390;
let List.560 : List U8 = CallByName List.72 List.389 List.561 List.562;
ret List.560;
let List.562 : U64 = StructAtIndex 1 List.391;
let List.563 : U64 = StructAtIndex 0 List.391;
let List.561 : List U8 = CallByName List.72 List.390 List.562 List.563;
ret List.561;
procedure List.52 (List.404, List.405):
let List.406 : U64 = CallByName List.6 List.404;
joinpoint List.572 List.407:
let List.570 : U64 = 0i64;
let List.569 : {U64, U64} = Struct {List.407, List.570};
inc List.404;
let List.408 : List U8 = CallByName List.49 List.404 List.569;
let List.568 : U64 = CallByName Num.20 List.406 List.407;
let List.559 : {U64, U64} = Struct {List.568, List.407};
let List.409 : List U8 = CallByName List.49 List.404 List.559;
let List.558 : {List U8, List U8} = Struct {List.408, List.409};
ret List.558;
procedure List.52 (List.405, List.406):
let List.407 : U64 = CallByName List.6 List.405;
joinpoint List.573 List.408:
let List.571 : U64 = 0i64;
let List.570 : {U64, U64} = Struct {List.408, List.571};
inc List.405;
let List.409 : List U8 = CallByName List.49 List.405 List.570;
let List.569 : U64 = CallByName Num.75 List.407 List.408;
let List.560 : {U64, U64} = Struct {List.569, List.408};
let List.410 : List U8 = CallByName List.49 List.405 List.560;
let List.559 : {List U8, List U8} = Struct {List.409, List.410};
ret List.559;
in
let List.573 : Int1 = CallByName Num.24 List.406 List.405;
if List.573 then
jump List.572 List.405;
let List.574 : Int1 = CallByName Num.24 List.407 List.406;
if List.574 then
jump List.573 List.406;
else
jump List.572 List.406;
jump List.573 List.407;
procedure List.6 (#Attr.2):
let List.546 : U64 = lowlevel ListLen #Attr.2;
ret List.546;
let List.547 : U64 = lowlevel ListLen #Attr.2;
ret List.547;
procedure List.66 (#Attr.2, #Attr.3):
let List.557 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.557;
let List.558 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.558;
procedure List.68 (#Attr.2):
let List.544 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.544;
let List.545 : List U8 = lowlevel ListWithCapacity #Attr.2;
ret List.545;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.563 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.563;
let List.564 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.564;
procedure List.8 (#Attr.2, #Attr.3):
let List.542 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.542;
let List.543 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.543;
procedure List.80 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen.11, #Derived_gen.12):
joinpoint List.583 List.452 List.453 List.454 List.455 List.456:
let List.585 : Int1 = CallByName Num.22 List.455 List.456;
if List.585 then
let List.594 : U8 = CallByName List.66 List.452 List.455;
let List.586 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.189 List.453 List.594;
let List.591 : U8 = 1i64;
let List.592 : U8 = GetTagId List.586;
let List.593 : Int1 = lowlevel Eq List.591 List.592;
if List.593 then
let List.457 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.586;
let List.589 : U64 = 1i64;
let List.588 : U64 = CallByName Num.19 List.455 List.589;
jump List.583 List.452 List.457 List.454 List.588 List.456;
joinpoint List.584 List.453 List.454 List.455 List.456 List.457:
let List.586 : Int1 = CallByName Num.22 List.456 List.457;
if List.586 then
let List.595 : U8 = CallByName List.66 List.453 List.456;
let List.587 : [C {U64, Int1}, C {U64, Int1}] = CallByName TotallyNotJson.189 List.454 List.595;
let List.592 : U8 = 1i64;
let List.593 : U8 = GetTagId List.587;
let List.594 : Int1 = lowlevel Eq List.592 List.593;
if List.594 then
let List.458 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.587;
let List.590 : U64 = 1i64;
let List.589 : U64 = CallByName Num.51 List.456 List.590;
jump List.584 List.453 List.458 List.455 List.589 List.457;
else
dec List.452;
let List.458 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.586;
let List.590 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.458;
ret List.590;
dec List.453;
let List.459 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.587;
let List.591 : [C {U64, Int1}, C {U64, Int1}] = TagId(0) List.459;
ret List.591;
else
dec List.452;
let List.584 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.453;
ret List.584;
dec List.453;
let List.585 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.454;
ret List.585;
in
jump List.583 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
jump List.584 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
procedure List.86 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.550 List.148 List.149 List.150 List.151 List.152:
let List.552 : Int1 = CallByName Num.22 List.151 List.152;
if List.552 then
let List.556 : U8 = CallByName List.66 List.148 List.151;
let List.153 : List U8 = CallByName TotallyNotJson.215 List.149 List.556;
let List.555 : U64 = 1i64;
let List.554 : U64 = CallByName Num.51 List.151 List.555;
jump List.550 List.148 List.153 List.150 List.554 List.152;
joinpoint List.551 List.148 List.149 List.150 List.151 List.152:
let List.553 : Int1 = CallByName Num.22 List.151 List.152;
if List.553 then
let List.557 : U8 = CallByName List.66 List.148 List.151;
let List.153 : List U8 = CallByName TotallyNotJson.215 List.149 List.557;
let List.556 : U64 = 1i64;
let List.555 : U64 = CallByName Num.51 List.151 List.556;
jump List.551 List.148 List.153 List.150 List.555 List.152;
else
dec List.148;
ret List.149;
in
jump List.550 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
jump List.551 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
procedure List.96 (List.449, List.450, List.451):
let List.581 : U64 = 0i64;
let List.582 : U64 = CallByName List.6 List.449;
let List.580 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.449 List.450 List.451 List.581 List.582;
ret List.580;
procedure List.96 (List.450, List.451, List.452):
let List.582 : U64 = 0i64;
let List.583 : U64 = CallByName List.6 List.450;
let List.581 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.450 List.451 List.452 List.582 List.583;
ret List.581;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.301 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.301;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.299 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.299;
let Num.293 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.293;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.295 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.295;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.298 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.298;
let Num.299 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.299;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.300 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.300;
let Num.301 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.301;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.296 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.296;
let Num.297 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.297;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.300 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.300;
procedure Num.94 (#Attr.2, #Attr.3):
let Num.294 : U64 = lowlevel NumDivCeilUnchecked #Attr.2 #Attr.3;