roc/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt
2025-01-09 13:53:01 -06:00

107 lines
4.1 KiB
Text
Generated

procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.23;
procedure List.116 (List.563, List.564, List.565):
let List.693 : U64 = 0i64;
let List.694 : U64 = CallByName List.6 List.563;
let List.692 : [C U64, C U64] = CallByName List.80 List.563 List.564 List.565 List.693 List.694;
ret List.692;
procedure List.26 (List.213, List.214, List.215):
let List.686 : [C U64, C U64] = CallByName List.116 List.213 List.214 List.215;
let List.689 : U8 = 1i64;
let List.690 : U8 = GetTagId List.686;
let List.691 : Int1 = lowlevel Eq List.689 List.690;
if List.691 then
let List.216 : U64 = UnionAtIndex (Id 1) (Index 0) List.686;
ret List.216;
else
let List.217 : U64 = UnionAtIndex (Id 0) (Index 0) List.686;
ret List.217;
procedure List.38 (List.401, List.402):
let List.685 : U64 = CallByName List.6 List.401;
let List.403 : U64 = CallByName Num.77 List.685 List.402;
let List.675 : List U8 = CallByName List.43 List.401 List.403;
ret List.675;
procedure List.43 (List.399, List.400):
let List.683 : U64 = CallByName List.6 List.399;
let List.682 : U64 = CallByName Num.77 List.683 List.400;
let List.677 : {U64, U64} = Struct {List.400, List.682};
let List.676 : List U8 = CallByName List.49 List.399 List.677;
ret List.676;
procedure List.49 (List.477, List.478):
let List.679 : U64 = StructAtIndex 1 List.478;
let List.680 : U64 = StructAtIndex 0 List.478;
let List.678 : List U8 = CallByName List.72 List.477 List.679 List.680;
ret List.678;
procedure List.6 (#Attr.2):
let List.684 : U64 = lowlevel ListLenU64 #Attr.2;
ret List.684;
procedure List.66 (#Attr.2, #Attr.3):
let List.707 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.707;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.681 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.681;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.695 List.566 List.567 List.568 List.569 List.570:
let List.697 : Int1 = CallByName Num.22 List.569 List.570;
if List.697 then
let List.706 : U8 = CallByName List.66 List.566 List.569;
let List.698 : [C U64, C U64] = CallByName Test.3 List.567 List.706;
let List.703 : U8 = 1i64;
let List.704 : U8 = GetTagId List.698;
let List.705 : Int1 = lowlevel Eq List.703 List.704;
if List.705 then
let List.571 : U64 = UnionAtIndex (Id 1) (Index 0) List.698;
let List.701 : U64 = 1i64;
let List.700 : U64 = CallByName Num.51 List.569 List.701;
jump List.695 List.566 List.571 List.568 List.700 List.570;
else
dec List.566;
let List.572 : U64 = UnionAtIndex (Id 0) (Index 0) List.698;
let List.702 : [C U64, C U64] = TagId(0) List.572;
ret List.702;
else
dec List.566;
let List.696 : [C U64, C U64] = TagId(1) List.567;
ret List.696;
in
inc #Derived_gen.0;
jump List.695 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.284 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.284;
procedure Test.3 (Test.4, Test.12):
let Test.13 : [C U64, C U64] = TagId(0) Test.4;
ret Test.13;
procedure Test.0 (Test.1):
let Test.10 : U64 = 0i64;
let Test.11 : {} = Struct {};
let Test.2 : U64 = CallByName List.26 Test.1 Test.10 Test.11;
let Test.9 : U64 = 0i64;
let Test.7 : Int1 = CallByName Bool.11 Test.2 Test.9;
if Test.7 then
ret Test.1;
else
let Test.6 : List U8 = CallByName List.38 Test.1 Test.2;
ret Test.6;